Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course
-
@jaredbusch said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
@scottalanmiller said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
@worden2 said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
@jaredbusch said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
Python needs to die in nuclear fire along with Fax machines and most politicians.
It might be a nice language but because it is whitespace delimited for code blocks it can go to hell.
You've crystalized my number one problem with Python as "whitespace delimited", but I don't agree with the "holocaust hell" aspect.
Other than not copying the standard C format, what's the actual negative to whitespace delimiting? It's there for a reason and, I feel, especially important in an educational setting. I actually see this as a positive.
I don't care about the standard C format. I jsut hate space delimiting. I want my stuff in brackets or something. I don't want to be required to use a 3 lines for an if that I can write on a single line.
non space delimited languages can be used by the advanced or the learner.
The learner should be taught by the teacher to hit enter and tab everything.
But the advanced user should not be required to do so.
As someone who has worked a job dealing exclusively with "learner's code", trust me, it has a value in the educational setting.
-
For the record you can write a simple if in one line since Python 2.5.
x = 4 if b > 8 else 9
-
@romo said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
For the record you can write a simple if in one line since Python 2.5.
x = 4 if b > 8 else 9
ternary
https://stackoverflow.com/questions/394809/does-python-have-a-ternary-conditional-operator
it is frowned upon in python by some though apparently. I'm not a huge python user though so just looked at this for the fun of it.
-
@worden2 said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
@kooler said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
@mlnews said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
In a bit of a surprise move in the educational space, computer science bulwark Stanford University has chosen to remove Java and replace it with JavaScript in their Intro to Computer Science class. Java has been the language of this somewhat famous class since 2002, a run of fifteen years. They say that Java is showing its age, although to be fair JavaScript is nearly as old. Java itself is 22 years old this year. Since being purchased by Oracle, interest in Java has slowly fallen from its lofty peak during stewardship under Sun.
Anybody who's starting with anything except assembly language is WRONG!!! If somebody doesn't know how CPU works he can't make a decent software engineer: he'll use bloatware, write things in interpreted languages and bring file systems to kernel from user-land.
As a matter of purity or getting down to basics when introducing concepts, I agree. But, when you're talking about trying to introduce CS concepts to people new to the field assembly is a nightmare. I had some simple assembly as part of intro CS when in college, but it almost soured me completely on programming. Of course, what really killed my nascent interest in programming (in college) was having to learn Cobol... Perhaps it's safe to say that the closer you get to the kernel the more you need assembly?
Nope, modern kernel is developed in C and some C++ mostly.
Its really about basics: if you don't know how hardware works and how expensive f.e. thread content switch is you'll write something looking very cool and simple and it actually crinkles and mangles on a real hardware.
-
@kooler said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
@worden2 said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
@kooler said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
@mlnews said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
In a bit of a surprise move in the educational space, computer science bulwark Stanford University has chosen to remove Java and replace it with JavaScript in their Intro to Computer Science class. Java has been the language of this somewhat famous class since 2002, a run of fifteen years. They say that Java is showing its age, although to be fair JavaScript is nearly as old. Java itself is 22 years old this year. Since being purchased by Oracle, interest in Java has slowly fallen from its lofty peak during stewardship under Sun.
Anybody who's starting with anything except assembly language is WRONG!!! If somebody doesn't know how CPU works he can't make a decent software engineer: he'll use bloatware, write things in interpreted languages and bring file systems to kernel from user-land.
As a matter of purity or getting down to basics when introducing concepts, I agree. But, when you're talking about trying to introduce CS concepts to people new to the field assembly is a nightmare. I had some simple assembly as part of intro CS when in college, but it almost soured me completely on programming. Of course, what really killed my nascent interest in programming (in college) was having to learn Cobol... Perhaps it's safe to say that the closer you get to the kernel the more you need assembly?
Nope, modern kernel is developed in C and some C++ mostly.
Its really about basics: if you don't know how hardware works and how expensive f.e. thread content switch is you'll write something looking very cool and simple and it actually crinkles and mangles on a real hardware.
Eyyyyy!!!! Now that's what I'm talking about :). Those are my favorite languages!
-
Something to keep in mind, CS and SW are different programs. For CS, I agree that assembly and C (but not C++) are the languages to learn eventually. But for an intro course, I think Python remains.
For SE, Assembly is unneeded and C should be cursory. But this is a CS program. So JS makes zero sense.
-
Unless you are learning web development, I don't think js is necessary for anything else.
-
@nerdydad said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
Unless you are learning web development, I don't think js is necessary for anything else.
JS is a key language for server side application building today. It is in no way limited to web, web tech, user interfaces or anything like that. JS is a very important server side language today.
Sodium is JS, for example. As is NodeBB. So is the Visual Studio Code development environment. So is Rocket.Chat.
-
@scottalanmiller said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
@nerdydad said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
Unless you are learning web development, I don't think js is necessary for anything else.
JS is a key language for server side application building today. It is in no way limited to web, web tech, user interfaces or anything like that. JS is a very important server side language today.
Sodium is JS, for example. As is NodeBB. So is the Visual Studio Code development environment. So is Rocket.Chat.
Can verify Sodium is JS even backend. (excludiing the agent system)
-
@quixoticjeremy, the agent being python so it's platform agnostic to a large degree I would assume? Further fuel for the first person stating python would have been a better replacement for Java than JS.
Though, to play devil's advocate, can node.js not handle the same tasks that python is doing for the agent? On windows it appears it's just a wrapper around a slew of wmi calls.
-
@manxam said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
@quixoticjeremy, the agent being python so it's platform agnostic to a large degree I would assume? Further fuel for the first person stating python would have been a better replacement for Java than JS.
I agree. Python isn't just one of the most important software engineering languages, it is the most important systems administration language in both the snowflake and devops spaces!
-
@manxam said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
Though, to play devil's advocate, can node.js not handle the same tasks that python is doing for the agent? On windows it appears it's just a wrapper around a slew of wmi calls.
Node is not built around the same concepts as Python and cannot be deployed and maintained in the same way. Python is trivial to install universally, Node is not. Using Node as the basis for a deployed app is possible, but vastly more complex and would make you likely spend more time trying to get Node working than deploying the item in question. But Python is already universal and rock solid.
-
@scottalanmiller also python is way more general purpouse. Hell I've written the entire code of a machine vision industrial app in python (with binds) and it was production code not lab stuff.
Even the CNC part was wrapped with python (controller was pure c from the linux cnc project) and the damn thing was really good!
If you ask me it will be my language of choice along with c/c++
-
@matteo-nunziati said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
@scottalanmiller also python is way more general purpouse. Hell I've written the entire code of a machine vision industrial app in python (with binds) and it was production code not lab stuff.
Even the CNC part was wrapped with python (controller was pure c from the linux cnc project) and the damn thing was really good!
If you ask me it will be my language of choice along with c/c++
It's seriously a great language. Decently fast, insanely well supported, runs everywhere, enforces practices to encourage being easier to share between team members, talks to everything, is easy to pick up and learn, is broadly used already all over the place, etc.
-
JavaScript is, at the very least, very broadly useful. I'll agree it's not the best language to use for starters. But they at least picked something that basically everyone needs to know and be aware of. Far from the worst choice.
-
Looks like Harvard has followed suit and is blindly following Stanford into moving their CS program closer and closer to just being relabeled software engineering.