I agree with this sentiment in the general case. But it reminded me of something from when I was in high school
I was taking some sort of electronics class that had rudimentary programming and the first assignment was to just get the computer to print your name. I was working with another student and this student was amazed when it worked. Amazed just that they got the computer to do anything. I was baffled by this, so much that I still remember it.
If this was a marketing course and the assignment was to sell people on the idea of learning to program, "Hello World" introductions would get a failing grade.
What's distinct about Hello World is that it's a ritualized version of learning how to write a print statement. Teachers sell it as an important rite of passage, but that just isn't how students feel about it (and they shouldn't). I think this disconnect only causes students to disengage.
Granted, if the rest of the course was just like it, I agree it would be terrible, but the first lesson itself is actually not that bad.
this is interesting
and trying to dream up languages that fail, or refuse, or do anything else but communicate, is fascinating.. what would a language like that look like, what would it be capable of?
i do like the idea that conventions supersede standards, but hello world seems even counter intuitive to the programming convention of efficiency
print("hello world")
demonstrates communication, but also has the individual typing 20 things to print 11 thing out of the same editor thae typed into print(2**71)
demonstrates communication and running code, as well as having the potential to elicit awe at the capabilities of a collaboration with this machinei said in the original comment that i think programming should be folded into mathematics education, in time parallel
stead trying to compartmentalise education into disparate parts we should be showing everything's interconnected nature
And how connected do you think computer science and mathematical education should be? I think they should definitely be different subjects, but they are definitely related. I'd be really surprised if I found a cs student from a decent program who graduated without realizing how connected they are. I'd expect the average cs student to have more programming experience than the average math major. But I think most math majors have some of the same general skill sets, and would have done well in cs classes.
i think this alone probably turns away the majority of would be computationally literate individuals
as i was being taught programming i was so ridiculously underwhelmed by a program writing out hello world
here i am on this machine that can play my favourite movie, entertain me with a beautiful interactive gaming experience, and connect me to the world's information and i am supposed to be wowed by 'hello world'
i only understood the power of hello world when i became interested in embedded systems
so much time setting up the ide and connections and circuits and somehow i managed to make this previously idle pile of organised metals print hello world
that was a a profound experience but this was years after i had become a competent programmer and had the understanding of physics to appreciate what was happening
if you want to teach programming then you have to show people that the process can help them do something they want to do
there used to be classes to solely teach typing without looking
everyone i knew hated it, it was a pain for everyone in the class, then instant messenger came out and suddenly everyone was a professional typist banging out 60wpm
if social media was only available to people through bash scripts i assure you everyone would be able to program in a few weeks
because that is what people want to use a computer for right now
but that would be regressive at this point
so i'd suggest the future of programming education should be folded into mathematics education
learning times tables? write a script to express that table
even better would be to pull problems from a web api, solve, and post