4 ms·
hello world is outdated i think this alone probably turns away the majority of would be computationally literate individuals as i was being taught programming
by justifier 11y ago
hello world is outdated
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
- mastax 11y ago> hello world is outdated 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.
- chris11 11y agoI disagree. "Hello World" as a problem is completely uninteresting. But it can be a part of a great introduction. I'd expect most "Hello World" tutorials to quickly tell me how to go from reading text in my browser to running code on my pc. And that is really useful.
- chjohasbrouck 11y agoIt's definitely useful, but if we can do that and also be interesting, wouldn't that be better? 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.
- nikdaheratik 11y ago"Hello World" is basically the bare minimum you need to demonstrate that you got the computer to run the program and do something (so it's setup and configured correctly, and you understand some of the syntax). It also demonstrates how much of the way programmers actually communicate with each other is through conventions and not more formal standards. AFAIK there isn't a programming language with a specific built-in "Hello World" function, but, like Goldilocks and the Three Bears, everyone Just Knows About It. 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.
- justifier 11y agoi really like this mythos argument that the first lesson is about communication to enforce the convention that languages should communicate 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 machine i 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