8 ms·
A really nice idea ... but why, oh why did they have to choose a language that has a lot of extra scaffolding like Java instead of something simpler like Python
by aroberge 14y ago
A really nice idea ... but why, oh why did they have to choose a language that has a lot of extra scaffolding like Java instead of something simpler like Python, or Ruby?
- rz2k 14y agoPerhaps their next project will be a game that teaches kids how to smoke.
- exabrial 14y agoJava is a great choice for CS. It's similarity to C/C++ is handy for those who need to transition high performance computing or move to work on low level systems (kernels, drivers, embedded systems, etc). The JVM is also a great target for learning about virtual machines, since the JVM itself is quite an amazing virtual machine by it's own regard. The JVM can also be used to study a 'real life' implementation of stack machines, and Java bytecode can be used as a [gentler] introduction to assembly. So yes, while you're startup may choose Python or Ruby or the latest language of the day, Java is a great system to teach a lot of fundamental computer science topics with. Besides, Google uses it.
- aroberge 14y agoThis is aimed at elementary and high school students, not at CS students. Java may be an acceptable choice for introduction to programming in CS programs, but that is not the purpose of that software which aims to introduce programming, not computer science.
- USNetizen 14y agoCS _is_ programming. Just more in-depth.
- dragonwriter 14y ago> CS _is_ programming. Just more in-depth. CS to Software Engineering to Programming is as Physics to Aerospace Engineering to Aircraft Maintenance Related, but not the same thing.
- USNetizen 14y agoCS teaches the fundamental theories that form the mathematical basis of programming. It is true, to be a mediocre programmer you only need a few intro lessons or just a couple weekend hackathons, but to master it you need that theoretical CS background which covers it much more in depth.
- zb 14y agoSubstitute technical drawing for aircraft maintenance and I would probably agree with you.
- mratzloff 14y agoSo yes, while you're startup may choose Python or Ruby or the latest language of the day, Java is a great system to teach a lot of fundamental computer science topics with. Are you implying that Python (1991) and Ruby (1995) are some sort of flavor of the day compared to Java (1995)? :-) import java.util.LinkedList; import java.util.List; public class Pets { private List<String> pets; public Pets() { this.pets = new LinkedList<String>(); this.pets.add("cat"); this.pets.add("dog"); this.pets.add("bird"); } } or whatever may be great for transitioning people to C++ later on (not exactly where all the jobs are...), but pets = ["cat", "dog", "bird"] is probably a gentler introduction for elementary school students.
- USNetizen 14y agoGentler for a weekend hacker, but not for a student. Java is verbose for a reason - safety and reliability. Things enterprises value. Students need to learn what is most pervasive in the field they plan to enter. That being Java. Starting them out on a "lite" version of a programming language simply because it is easier is just setting them up for failure.
- mbillie1 14y agoI don't agree with the Java hate (why not teach kids to use Java? it's rather condescending if you think they can't learn it), but I will say: having learned to program on my own, I found it both easy and rewarding (lots of immediate, rapid growth and feedback) learning with Python for a few weeks before getting into Java. For some people, and maybe kids are NOT this group (but the group exists), the initial syntax barrier for the complete novice is much more intimidating in Java than it is in Python (or Ruby). I mean, arguably even C has an easier-to-grok-for-the-total-noob 'Hello, World!' than Java... [insert examples of runnable 'Hello, World!' and 'Hello, <name>!' programs in Python v Ruby v Java here]
- deleted 14y ago[deleted]
- mratzloff 14y ago
- kyllo 14y agoI'm guessing it's because "CSE 8A. Introduction to Computer Science" at UCSD is taught in Java. A lot of universities start their CS students off with Java these days.
- marblar 14y agoI've seen this in a couple places, but I'm not sure I understand why. Does anybody know of a good reason for teaching java first?
- jckt 14y agoIt's in the interest of the big companies. From what I know, some smaller schools like Harvey Mudd start off with other languages, like Scheme and Prolog.
- jlgreco 14y agoThat used to be The Way To Do It(tm). MIT switched away, though to python iirc which isn't terrible. Northeastern still uses Scheme first though.
- andrewflnr 14y agoIIRC, Harvey Mudd starts off with Python, in the intro class everyone takes. I just looked through their course listing, but I'm not 100% sure I'm thinking of the right class.
- ww520 14y agoWhy not?
- USNetizen 14y agoThere are a few big reasons schools still teach Java primarily - adoption, scalability, and maturity. According to almost every Tiobe language survey, Java has been and is still either #1 or #2. It is pervasive in just about every enterprise IT environment throughout the entire world (whether you realize it or not), running on a ~billion devices and, now, Android phones as well. Furthermore, it has very mature support for everything from GUIs (Swing) to web development (Servlet) to high-powered concurrency to advanced data structures. There are literally thousands of libraries and frameworks for every need and a wealth of talent and knowledge out there. Its performance is also orders of magnitude better than interpreted languages like PHP, Python or Ruby. It simply scales better in just about every way and is universally supported almost everywhere. So, to summarize, for all the reasons listed above Java is the bread and butter of enterprise software. Personally, I prefer Python and C#, but Java is unavoidable if you want a good paying job or are serious about building a high-performance, platform-independent, scalable application.
- jennyjenjen 14y agoUCSD + Java = a love affair we may never be able to disrupt
- chubbard 14y agoThere it is. I wondered how far I'd have to read before we had a Java hate comment. Never fails.
- aroberge 14y agoIt`s not a Java hate comment: I'm writing this as an educator with 20 years teaching experience who has learned that some languages are better teaching ones than others. Java has its place ... but another language would be better suited there.
- deleted 14y ago[deleted]
- dsfasfasf 14y agoRight before opening this page I knew this type of comment was going to be one of the top comments and was not disappointed. Why oh why can't the whining stop?
- kristianp 14y agoThis whole thread about their use of Java completely misses the point of this project. Maybe people shouldn't be so hung-up about what language is being learnt? I'm sure the students will be learning a whole range of languages.