3 ms·
Then why start teaching programming with Java in the first place when understanding those concepts involves an at least mediocre understanding of object orienta
by Longhanks 10y ago
Then why start teaching programming with Java in the first place when understanding those concepts involves an at least mediocre understanding of object orientation?
There are many more languages that implement a "Hello, world!" with one line of code. If explaining "public static void main" is too hard, maybe one is using the wrong tool.
- ticviking 10y agoThis is an idea that many people resist. I think they mistakenly believe that programming languages are genuinely difficult to learn, and students must start on one that is marketable.
- ____nope 10y agoIt's hard to teach an introduction to programming without teaching a particular language. If you have to pick a particular language, it makes sense to choose something the student is likely to use in the future. This is not hard to understand.
- bakadana 10y agoI always assumed that's why Python was so popular in universities. It's OOP & it's low on syntax.
- tormeh 10y agoI don't really approve of this view. CS students are going to be programming in current-gen languages like Java, Python, C/C++ and JS in industry anyway (C is perhaps last-gen...). I think academia should lie a couple steps ahead and introduce students to stuff that will help them advance the industry. Next-gen and maybe experimental/academic languages and tools. Teaching students current industry languages/tools is good for the individual student but bad for the industry as a whole because it causes stagnation. Universities are big enough that they ought to be able to rise above this tragedy of the commons and do something for the greater good rather than think narrowly of the individual student.
- sn9 10y agoThat's silly. If you can reasonably claim to know how to program, the choice of language largely doesn't matter. Someone who knows how to program in [first language] should be able to pick up how to program in any language one is likely to encounter in an industry position. So the first language should be one that gives the student a firm foundation from which one can become that competent. I've personally seen excellent introductions to programming using C (CS50x), Python (Think Python, MIT 6.001), and Scheme (SICP).
- komali2 10y agoThat's a big part of many bootcamps' marketing model. Start in web dev, move on to other things.
- ____nope 10y agoMy point is that you likely learned programming by learning the basics of file I/O in C or Python or something similar. You didn't sit down and learn all about automata theory etc. first. You need the context of what C.S. is used for before these things make sense to you, so you start by learning a bit of programming. Since you must be definition have A first language, why not pick one that is most likely to be used?
- flukus 10y agoBecause it's stuff the will teach eventually and don't want to force students to learn a different syntax a few weeks in. I'm not sure if students can handle the syntax switch or not though. For me and probably many others having it go unexplained was like dangling carrot in front of me. I went home and read more about it.
- kLeeIsDead 10y agoBecause, College Board. I'm so glad I learned Lua before taking APCS, otherwise that class probably would have set me back 6 years.
- taneq 10y agoJava is a terrible first language. Python is even worse. They both require a good understanding of a ton of different topics to understand them as anything but magic incantations.