Live data from Hacker News

UCSD Computer Scientists Develop Video Game that Teaches How to Program in Java

jacobsschool.ucsd.edu

31–40 of 74 posts

Re: UCSD Computer Scientists Develop Video Game that Teaches How to Program in Java

#31

Earlier quoted context omitted.

There 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 suppor…

Yes, but teaching java before graduation is different than teaching it first . You can get all the benefits you mentioned of learning Java even if it's the second or third language while using something nicer for the first one (python? Scheme? SML?).

Not so. Learning on an interpreted language is akin to learning how to fly a plane by simply riding in one. There is a lot to learn in a CS program, and it really requires a single language from start to finish. Python doesn't have some of the advanced capabilities and adoption of an enterprise-class language like Java. Believe me, I love Python - I've created a ton of apps with it, but I also have a CS degree and have seen the practicality of using a single language from start to finish.

How are you going to reinforce the notion of how a compiler works with an interpreted language? How would you teach and force the use of static types on a dynamically typed language? How would you teach true concurrency and thread safety with a language that is limited by a global interpreter lock (GIL)? These are introductory things a CS student would take in their first year.

Re: UCSD Computer Scientists Develop Video Game that Teaches How to Program in Java

#32
post #8

Earlier quoted context omitted.

Java 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 stac…

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. 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 pets; public Pets() { this.pets = new LinkedLi…

Gentler 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.

Re: UCSD Computer Scientists Develop Video Game that Teaches How to Program in Java

#33

Earlier quoted context omitted.

Yes, but teaching java before graduation is different than teaching it first . You can get all the benefits you mentioned of learning Java even if it's the second or third language while using something nicer for the first one (python? Scheme? SML?).

Not so. Learning on an interpreted language is akin to learning how to fly a plane by simply riding in one. There is a lot to learn in a CS program, and it really requires a single language from start to finish. Python doesn't have some of the advanced capabilities and adoption of an enterprise-class language like Java. Believe me, I love Python - I've created a ton of apps with it, but I also have a CS degree and ha…

Very few first year CS students do any concurrency your first year. Your first year you're just learning Java.

Re: UCSD Computer Scientists Develop Video Game that Teaches How to Program in Java

#34

Earlier quoted context omitted.

There 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 suppor…

Yes, but teaching java before graduation is different than teaching it first . You can get all the benefits you mentioned of learning Java even if it's the second or third language while using something nicer for the first one (python? Scheme? SML?).

Class is short, you get one shot. Scheme or Java, not both.

Re: UCSD Computer Scientists Develop Video Game that Teaches How to Program in Java

#35
post #3

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?

Right 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?

Re: UCSD Computer Scientists Develop Video Game that Teaches How to Program in Java

#36

Earlier quoted context omitted.

There 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 suppor…

Yes, but teaching java before graduation is different than teaching it first . You can get all the benefits you mentioned of learning Java even if it's the second or third language while using something nicer for the first one (python? Scheme? SML?).

Is seems quite practical to each one of the most used languages in the world. You can then go and pick almost any other language.

Re: UCSD Computer Scientists Develop Video Game that Teaches How to Program in Java

#37

Earlier quoted context omitted.

Yes, but teaching java before graduation is different than teaching it first . You can get all the benefits you mentioned of learning Java even if it's the second or third language while using something nicer for the first one (python? Scheme? SML?).

Not so. Learning on an interpreted language is akin to learning how to fly a plane by simply riding in one. There is a lot to learn in a CS program, and it really requires a single language from start to finish. Python doesn't have some of the advanced capabilities and adoption of an enterprise-class language like Java. Believe me, I love Python - I've created a ton of apps with it, but I also have a CS degree and ha…

[deleted]

Re: UCSD Computer Scientists Develop Video Game that Teaches How to Program in Java

#38
post #8

Earlier quoted context omitted.

Java 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 stac…

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. 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 pets; public Pets() { this.pets = new LinkedLi…

List pets = Arrays.asList("cat", "dog", "bird");

You were saying?

Re: UCSD Computer Scientists Develop Video Game that Teaches How to Program in Java

#39
post #38

Earlier quoted context omitted.

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. 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 pets; public Pets() { this.pets = new LinkedLi…

List pets = Arrays.asList("cat", "dog", "bird"); You were saying?

It's telling that you feel that is actually a counter example.

Re: UCSD Computer Scientists Develop Video Game that Teaches How to Program in Java

#40

Earlier quoted context omitted.

Yes, but teaching java before graduation is different than teaching it first . You can get all the benefits you mentioned of learning Java even if it's the second or third language while using something nicer for the first one (python? Scheme? SML?).

Class is short, you get one shot. Scheme or Java, not both.

Plenty of schools still use C++ instead of Java.
Post reply on HN