Stanford University Dumps Java as Introductory Programming Language

Megalith

24-bit/48kHz
Staff member
Joined
Aug 20, 2006
Messages
13,000
In an effort to make programming more accessible to its students, Stanford University is dumping Java for Javascript in its Programming Methodology course (CS 106J). The move was spearheaded by professor Eric Roberts, who believes that Java is showing its age: his ultimate goal is to transition to Javascript completely for his CS 106 course series, being that it has become the “language of the internet.”

Although Java currently holds the top spot when it comes to programming languages, making it easier for students to learn programming will encourage them to acquire these skills. Java is being used to program applications for Android amongst other things, which makes it a requirement when working in the programming field. But this change is mainly there to help students get into the concepts behind programming, instead of drowning them in “Public Static Void”-like jargon.
 
In an effort to make programming more accessible to its students, Stanford University is dumping Java for Javascript in its Programming Methodology course (CS 106J). The move was spearheaded by professor Eric Roberts, who believes that Java is showing its age: his ultimate goal is to transition to Javascript completely for his CS 106 course series, being that it has become the “language of the internet.”

Although Java currently holds the top spot when it comes to programming languages, making it easier for students to learn programming will encourage them to acquire these skills. Java is being used to program applications for Android amongst other things, which makes it a requirement when working in the programming field. But this change is mainly there to help students get into the concepts behind programming, instead of drowning them in “Public Static Void”-like jargon.


Wait, I'm confused;

Java is the top programing language in use.
Most applications for Android are in Java and virtually a requirement for the programing field.

But they aren't going to teach Java anymore ?

Am I getting that right?
 
I think this is about a quick win. May be a mistake but they'll feel good about themselves. Think attention span.
 
Wait, I'm confused;

Java is the top programing language in use.
Most applications for Android are in Java and virtually a requirement for the programing field.

But they aren't going to teach Java anymore ?

Am I getting that right?

As someone learning programming I am a little confused by this. I started learning both Python and Java and think I will stick to Java because it seems like it will develop better habits vs Python. I've only done a beginner youtube course on both so I'm not that deep into either. Is Java worth continuing or what? My major thought was I figured it could be cool to make little apps for my Android phone so I was pretty set on the Java train.
 
Wait, I'm confused;

Java is the top programing language in use.
Most applications for Android are in Java and virtually a requirement for the programing field.

But they aren't going to teach Java anymore ?

Am I getting that right?

This is for intro courses that are generally based on something that's in wide use. JS is indeed the language of web clients and doesn't have type constraints of Java which make it I think a better intro language to learn. This is a subject that's always been debated but Javascript is certainly a fine first language to learn these days.
 
As someone learning programming I am a little confused by this. I started learning both Python and Java and think I will stick to Java because it seems like it will develop better habits vs Python. I've only done a beginner youtube course on both so I'm not that deep into either. Is Java worth continuing or what? My major thought was I figured it could be cool to make little apps for my Android phone so I was pretty set on the Java train.

I'm not a developer so I am no authority on the subject. All I can say is that I still get headhunters calling me for java developer jobs because the word java was in an old resume that's still on some job search site somewhere.
 
Wait, I'm confused;

Java is the top programing language in use.
Most applications for Android are in Java and virtually a requirement for the programing field.

But they aren't going to teach Java anymore ?

Am I getting that right?
No. I'm assuming Java would be moved to a required level 2 course instead of being the intro course. Java is not exactly a good language to learn the basics on if you have no prior programming experience.
 
I'm not a developer so I am no authority on the subject. All I can say is that I still get headhunters calling me for java developer jobs because the word java was in an old resume that's still on some job search site somewhere.

Java is widely used in enterprise business apps, along with Python and C# these days. But anyone doing web development is going to deal with Javascript in any environment. Being an interpreted and loosing typed language makes it more approachable for beginners.
 
I think as long as you get a strong understanding of OOL programing and fundamentals it doesn't matter what you start with. Start with something widely used and you can get sort of instant gratification then move on. The second language and so on, yeah should be something that's going to be your foundation.
 
As someone learning programming I am a little confused by this. I started learning both Python and Java and think I will stick to Java because it seems like it will develop better habits vs Python. I've only done a beginner youtube course on both so I'm not that deep into either. Is Java worth continuing or what? My major thought was I figured it could be cool to make little apps for my Android phone so I was pretty set on the Java train.

My first languages were C# and Python, so we got a similar start. I'd agree that Java/C# encourage better habits and are better stepping stones to lower level languages. However, I also think every beginner should try a little Python, if only to drill into them the importance of proper goddamn indenting.
 
I'm a MS ITM student at UTD and currently in core curriculum Java class.

Neat, huh?
 
I think that Java and Javascript both share the biggest problem.

Which is that you can technically learn the language, and both fields have gone so far off into frameworks and such that you cna learn the core langauge and be able to do jack shit with most of the existing code out there. Learning a framework is all well and good, but discombobulatiing mixed frameworks for later maintenance once shit has gone stale is incredibly fucked.

When I did my degree, they started you with pascal, which was used nowhere, but was a good combination of demanding and forgiving in the right places to learn the fundamentals udnerpinning data structures, algorithms and complexity analysis.

IMO Python is probably the closest to that, and is actually useful. It also lets you move on into object oriented design paradigms reasonably well.
 
Well that's unfortunate.

At least they weren't giving up completely and switching to PHP.
 
Java isn't even that hard to pick up... Way easier than Assembly language, which was required for my CS degree. If picking up java is too hard, maybe CS/development is not the correct career choice for these people. As is, there were already way too many dumb fks in 3rd year of their degree that couldn't code themselves out of a box, and are just trying for a CS degree because it makes all teh monees.....

And to think, a good portion of these tards graduated and are possibly getting jobs in the field.... No wonder we have so much buggy insecure IOT garbage coming out these days.
 
What no pushing of overpriced programming packages that they happily give free to universities but once you get out in the real world you better hope the company you work ponies up that money for the licenses.

As I found out when a teacher (not even a fricking programming course) taught us how to use IDL to run some astrophysics simulations, not C++, Fortran, or any other free to use programming language. As a result, yeah I was limited when I went to grad school and they didn't have IDL on the campus computers... bleh
 
When I got my CS degree, I had several classes that used different languages: C, C++, ADA. Assembler, had Pascal in high school, one VB class, and possibly a few other languages I've forgotten. Since then, I have done Java development, a little C#, Objective C, PHP, some JavaScript/python, etc. As someone else mentioned, once you learn how to program in one language, it's not a huge leap to learn another one. The hard part is guessing what is going to stick.
I talk to job recruiters - they are ridiculous. I'm all about staying current, but there are too many languages to stay on top of all of them.
 
This is for intro courses that are generally based on something that's in wide use. JS is indeed the language of web clients and doesn't have type constraints of Java which make it I think a better intro language to learn. This is a subject that's always been debated but Javascript is certainly a fine first language to learn these days.
I havne't done tons of Javascript, but I found it to be much harder to work with than Java. Obviously Java is more of a back end language, while Javascript is front end, but I found Java a much easier language for non-trivial programming.
 
I havne't done tons of Javascript, but I found it to be much harder to work with than Java. Obviously Java is more of a back end language, while Javascript is front end, but I found Java a much easier language for non-trivial programming.

I get your point. JavaScript is designed to work within the context of a web browser and with various frameworks, so it wouldn't be the language to open say a local file. But it would be used to design the front end of a web application or interact with restful services.
 
Web applications are big business now, probably about half the programming jobs out there are for web applications. I'm a web developer and the current trend in web development is moving more towards JavaScript. All the fancy new web technologies, which are normally referred to as HTML5 are based in JavaScript and pages are gaining a lot more scripting than they used to have. Some pages are "single-page applications" which are more like apps written in JavaScript that occasionally communicate with the back-end web server, and we're likely to see more of that. Also, thanks to Node.js we can now write back-end code on JavaScript, which makes it a good choice for a teaching language. There are even frameworks to write entire desktop or mobile apps in Javascript. As a high-profile example, Spotify's app is a hybrid of JavaScript and C++ code. The interface is all JavaScript and HTML and the playback code is C++. JavaScript has a fairly simple syntax that's similar to C, C++, C# and Java, which makes it a good first language.

There are downsides, particularly debugging, which can be difficult because JavaScript is dynamic. Code can run slower than native languages or optimized JIT code like Java or .NET too, but that's generally not a big issue unless you're writing apps where performance matters. And as for Java, I think it's on the down-swing after all the security issues that have popped up in the last few years along with Oracle basically trying to run it into the ground since it bought Sun. Oracle doesn't seem to understand why Java is popular and isn't making the right decisions to keep it relevant.
 
I'd start with two semesters of C++. It will teach you the concepts behind memory management. You can easily move to a less complex language later.

BTW, I hate Java too, it's way too verbose, at least in the past you would often get to the point of having to work around the language in order to put your ideas into code. It's much better now with Java 8 and closures, but still... languages like Scala are the future.
 
Gah
JavaScript is a horrible language; scoping is a nightmare.

If they want to move away from Java they should have considered C#. Heck I still prefer C++ as an intro language as it teaches students how memory works.
 
Python is probably best from an intro OoO teaching perspective; C#, due to Visual Studio integration, is a great intro to application development and server-side scripting.

But they're right that JavaScript is pervasive. Neither Python nor C# (nor Java nor C++) are particularly useful in the incarnations that are taught as mainline computer science courses, and JavaScript can be.
 
Despite it's shortcomings Javascript is heavily used, lightweight, and growing in popularity thanks to Google spearheading the Angular framework. No doubt it has shortcomings, but it also doesn't need to be compiled, and thus doesn't require a specific bulky IDE. It's light-weight and versatile, running on any browser out there. And many of the short comings of Javascript have been addressed with ES6, including block scoping, bringing class structures and more strongly typed variables into Javascript, along with other language enhancements.

I'm not saying that Java is a completely awful language (although I much prefer C# to Java), but only that Javascript is improving, and has proven itself to only be growing in popularity and usage, and thus a reasonable alternative. Entire frameworks are being developed for the language, and have been over the last decade now.
 
I learned and wrote my first and only program in BASIC and never wrote another. Well, I rewrote it in an Amiga version of Visual C which was called CanDo if I remember correctly. It was a visual authoring app. It was enjoyable but only because I was working so closely with the client, virtually learning his business as I wrote code to support it. It was a special challenge but I recognized that it was probably more unique of a situation then the norm when it comes to developing code back in the 80s.
 
I'd start with two semesters of C++. It will teach you the concepts behind memory management. You can easily move to a less complex language later.

BTW, I hate Java too, it's way too verbose, at least in the past you would often get to the point of having to work around the language in order to put your ideas into code. It's much better now with Java 8 and closures, but still... languages like Scala are the future.
To each his own. I hate functional languages. There's nothing wrong with a little recursion, but functional languages, as I recall, pretty much forced you to do recursion when a simple if-then-else inside a loop would do. As for C++, it's not a good learning language. I'm not sure if Java is the best first language either. 25 years ago, we started with Pascal, used some language called Modula-2 then after that you used C (though I"m sure that switched to C++).

Truth is, I'd rather have a language that takes care of memory management. Not because I can't do it, but that's one of the most bug prone issues with programming and they can be hard to find. I can remember in College wrtting a simple line editor in C. It worked great. Later I adapted it for a news reader and eventually found out I had a HUGE memory leak (released the pointer to the line, but not the line itself). These days, almost everything I write has built in memory management. There's definitely a place for C/C++, but in business, I don't think Java, C# and other languages with built in memory management are going away.
 
It's a 100 level undergrad course - not too worried. You could use just about anything to just teach basic programming concepts.

Any CS major worth their salt is going to be exposed to a lot of various langauges anyway, and be able to adapt to whatever the job/project/situation requires.
 
I think this is kind of dumb... Object oriented should be first and early. If you can't understand strict typing and the basics of how objects work, you'll be hopeless when it comes to languages that attempt to make variables a wishy washy whatever I feel like I am at the moment type of language. I prefer C# to Java any day of the week, but it does make cross platform work easier, and it's a well established and straight forward language that I used a lot in college. I don't know, PowerShell isn't a horrible language to learn either, but it goes right hand in hand with C#. Maybe if you made students code in TypeScript and then compiled it to JavaScript like we often do in the real world for web I'd get onboard with this more. At least then you wouldn't get students shooting themselves in the foot with type issues.
 
Back
Top