Stanford CS101 Adopts JavaScript
mikejuk writes "In case further proof were needed that JavaScript shall indeed inherit the earth, we have the news that Stanford has adopted JavaScript to teach CS101 — Introduction to Computing Principles: 'The essential ideas of computing via little phrases of JavaScript code.' You can even try it out for yourself at Stanford's course page."
When I was in school we had to use ECMAScript!
For utter newbs not going into CS, JS is a good choice, because any machine with a web browser is a dev box, but for actual CS students, a debian boot disk is probably more appropriate.
You should have heard the screams of pain in my cobol class many years ago. What, you mean a "dos" application? And the alternative is a AS/400 that doesn't even support telnet? Someone who suffered thru that kind of experience probably went to the other extreme in selecting JS.
JS isn't even all that bad of a language for newbies to learn the basic concepts.
"Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
Does anyone really get admitted into Stanford without being able to program already??
Why wouldn't they use javascript? I think it's a much better learning language than most of the alternatives (java) because not drowning in crufty committee-designed latest-fashion constructs. It's got all of the iterative basics, but it's also got it's lispy functional side. And it's simple.
cs101 without even seeing a compiler? Tragic :)
[curvy bend] Task 4.2.31: Write a LALR parser for MIX in Javascript
Linked lists. Recursion. Calling by reference. Strong typing. Explicit declaration (or at least the need of it). There are some ways around those, but these hacks are even going to warp their minds worse than not learning those things would.
Of all the languages out there, why JS? Aside of VB there's no worse choice to learn programming. Sure, it offers quick satisfaction, but when you hit the wall (and you do soon in JS), you hit it hard because what you learned will not translate well into a more powerful and flexible language.
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
The James Webb Space Telescope - if it's ever actually launched - will run its onboard science operations using scripts written in a tailored version of JavaScript.
Repeat after me: "JavaScript is Scheme in C's Clothing."
Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
It's a reasonable language in its modern form. It has a reasonable, if not great, syntax. (Compare Perl.) Someone wrote that it doesn't support recursion. Yes, it does. It even supports closures. The object model is adequate, if not inspired. It's a memory-safe language. About the only thing it doesn't support is concurrency.
The current generation of JIT compilers do a reasonably good job on performance. Free implementations are easily available. So there's no problem running it.
The problem with Javascript is mostly that the code quality seen on many web pages is appallingly bad. (Or, alternatively, the source code has been run through some obfusicator/compressor.) That's not the fault of the language. Javascript's interface to browsers is also rather clunky; the primitives for manipulating the DOM were ill-chosen. But, again, that's not a language problem.
Oh good glub that brought back some horrible memories.
If I could think of a language with a syntax worse than JS, it would be PL/1. I just LOVE letting programmers use keywords as variable names, throwing up my hands and saying, "let the compiler figure this isht out!"
Excuse me while I go kill myself.
This sig is false.
To clarify, this class is a cursory overview of how computers work, a few basics on whats makes them tick and how to make them do fun things. This class is meant as a general education "learn about computers" effort, this is NOT their intro to CS class. Look at CS106X for programming, CS103X for discrete math, ...
To repeat: Stanford is NOT teaching CS majors javascript, they are showing off what computer can do for humanities students with CS101.
On a side note: I can see why most commenters would not catch this but how did the editors miss this obvious fact? Do a tiny bit of background research (aka click their link) and you will see how this summary is entirely misleading.
Repeat after me: "JavaScript is Scheme in C's Clothing."
Ok, let's test this claim:
Score: 1/4. I call this a failing grade.
Are you adequate?