Ask HN: What programming language do we use if IQ of whole humanity reach 160?
32 comments
Spoken language?
Early programming was machine code or flipping switches. Then assembly. Then C, Forth or similar low-level languages.
Now many people use scripting languages, Python, Go & other high-level languages.
See the pattern? The general evolution is from machine-friendly to human-friendly. Regardless of programmer's IQ.
The logical endgame is programming your toaster with spoken commands. Or no programming at all. It'll just watch your responses to learn how you like your toast.
Early programming was machine code or flipping switches. Then assembly. Then C, Forth or similar low-level languages.
Now many people use scripting languages, Python, Go & other high-level languages.
See the pattern? The general evolution is from machine-friendly to human-friendly. Regardless of programmer's IQ.
The logical endgame is programming your toaster with spoken commands. Or no programming at all. It'll just watch your responses to learn how you like your toast.
I think many cognoscenti will pick languages for their deep aesthetics. That means things like J, Lisp, Prolog, etc.
Coding outside of the pedestrian languages can be a border line mystical experience. Mind expanding. Life changing. Just not in JavaScript; sorry :-)
Coding outside of the pedestrian languages can be a border line mystical experience. Mind expanding. Life changing. Just not in JavaScript; sorry :-)
Either Lisp or Stoic would work very well if you have a lot of mental stack space to keep track of parameters
ASM
the language to use, it depends what you want to do, right?
I think it is more likely that average human intellect is going to regress in the next few years.
"IQ" is an average, so "the whole of humanity" should by definition be around 100 IQ at any given time, right?
If everybody was half again as smart as they are now, the gleaming perfection of the Ada language would become undeniable and everyone would adopt it immediately.
Seriously, why would "smarter people" not need tools as or more diverse than those in use now? You think that there's "one true language" of programming that is Universally Perfect and only our idiocy has prevented us from implementing it thus far?
If everybody was half again as smart as they are now, the gleaming perfection of the Ada language would become undeniable and everyone would adopt it immediately.
Seriously, why would "smarter people" not need tools as or more diverse than those in use now? You think that there's "one true language" of programming that is Universally Perfect and only our idiocy has prevented us from implementing it thus far?
Technically correct. But not the point of the question. The question is essentially: "What programming language do we use if IQ of whole humanity reaches 160 measured at the 2023 level?"
Cumulatively?
Isn't the answer: https://docs.python.org/3/howto/functional.html
Bearing in mind Kernighan's Law - https://www.laws-of-software.com/laws/kernighan/ - we should then use a programming language designed for people with an IQ of about 80.
I apply this in a different way. Whenever I approach a problem, I find the simplest possible design that could work well. This doesn't stretch my complexity muscles very often, but what it does is allow me to fit more complex problems into my bounded solution space that I could otherwise.
I do agree with limiting the power of languages used. Scala was the cautionary tale I'd experienced. The team can agree to limit themselves to the less complex forms, but it's a slippery slope and many end up adding just a bit until everything the language has to offer gets used somewhere. Then it takes a good chunk of the team to sort out any area on second look, or a new better team to maintain what's been produced.
I think programming languages should have 2 scores: how good it feels to write new code in it; how bad it feels to maintain old code in it.
I do agree with limiting the power of languages used. Scala was the cautionary tale I'd experienced. The team can agree to limit themselves to the less complex forms, but it's a slippery slope and many end up adding just a bit until everything the language has to offer gets used somewhere. Then it takes a good chunk of the team to sort out any area on second look, or a new better team to maintain what's been produced.
I think programming languages should have 2 scores: how good it feels to write new code in it; how bad it feels to maintain old code in it.
[deleted]
All of them at once
binary
So is there an implicit assumption that some languages are only appropriate for geniuses? That Javascript as the such only exist because of low IQ individuals?
I want to assume good intent, but the basis of the question is mildly offensive, no?
I want to assume good intent, but the basis of the question is mildly offensive, no?
Inoffensive. One of the explicit Golang design criteria, as espoused by Rob Pike, was to be usable by "Googlers, fresh out of school, who probably learned some Java/C/C++/Python". The language would presumably look very different if it had been designed for more powerful users.
Rob Pike wasn't talking about how smart the programmers are, though. He was talking about how knowledgeable and/or experienced they are.
They trade off against each other. A language designed for people who can compose primitives, for example, can be used well either by people who have seen all the combinations of primitives before, or by people who can quickly grasp the implications of a new primitive with respect to the others.
Look at it the other way: is Scratch appropriate for adults? Does it only exist because of children? I would say yes.
In a hypothetical world of super-geniuses, existing programming languages would be the new Scratch and adults would use something more advanced.
I don't think it's offensive to consider programming paradigms that would be too difficult for most people to ever wrap their heads around.
In a hypothetical world of super-geniuses, existing programming languages would be the new Scratch and adults would use something more advanced.
I don't think it's offensive to consider programming paradigms that would be too difficult for most people to ever wrap their heads around.
The same ones. Did you think smart people don't go along with the crowd like everyone else? People will use what they have, regardless of how smart, because people are lazy, things are hard, and $x is already shown to work.
Butterflies
They'd each individually roll their own language, compiler, web stack, operating system, editor, etc. Documentation, standards, etc. would be unnecessary, as interoperability is the hobgoblin of small minds.
No offense to anybody, it's just the max length of HN title restricted me to ask questions in a brief but perhaps not friendly way.
I guess what I want to ask is if the popularity of programming languages is related to mankind's cognitive ability as a whole species, or if the designing of programming languages is optimizing towards a certain cognitive level. Or, say if we want to design a programming language only for ChatGPT, what kind of programming language would that look like. I think it's an interesting open end question leading to many directions. Again, no offense.
I guess what I want to ask is if the popularity of programming languages is related to mankind's cognitive ability as a whole species, or if the designing of programming languages is optimizing towards a certain cognitive level. Or, say if we want to design a programming language only for ChatGPT, what kind of programming language would that look like. I think it's an interesting open end question leading to many directions. Again, no offense.
[deleted]
Rust <3
I don't think that what programming languages become popular is related much to the cognitive level of programmers. I think it has more to do with (in order of amount of effect) fashion, intertia, and the fitness of the languages to particular tasks
None. Because at this point humanity is able to avoid all that s**. Or we go down in an epic battle royal.
I’m of the controversial opinion that’s it’s only not used more because of the cognitive overhead of its simplicity. Its few capabilities are so extremely overloaded and productivity very much depends on the savvy of the programmer.
It is also the clearest language I know for writing down thoughts in a computational logic.