3 ms·
I very much agree that this is a broken line of argumentation. However, I find the opinion to be correct: Scripting languages might not be a good first program
by arghwhat 8y ago
I very much agree that this is a broken line of argumentation.
However, I find the opinion to be correct: Scripting languages might not be a good first programming language for a CS bachelor, where priority is deep learning of programming. I'd also argue that JavaScript would be a bad candidate, as it is a very "unclean" language, being a poor way to teach language/compiler theory.
As a first practical programming language for a non-CS bachelor, scripting languages are fine. Without CS courses to support you, other approaches might be too difficult, while scripting languages often let you get (terrible) programs up and running (ish) while ignoring basically all CS aspects during the learning phase (only while you're not making anything big, though—the "high level" illusion breaks down fast as things grow).
(Also, yes, you can write a DBMS or an Office suite in a scripting language. I can't possibly comprehend why you'd want to do something like that, but it's very much possible. Bringing OS's into things is cheating, as most compiled languages can't be used there either, and those that work often only work with a subset of the full language.)
- chrisseaton 8y ago> for a CS bachelor, where priority is deep learning of programming The priority is deep learning of computer science, not of programming. I think JavaScript is a fine language for teaching a lot of CS basics. For example you could run a course based on SICP using JavaScript instead of Scheme, I believe.
- cgh 8y agoI get the depressing feeling that a lot of Javascript programmers have no formal CS education at all.
- geofft 8y agoYou can't deeply learn programming in a language like assembly or even C. You don't have enough expressiveness to tackle large-scale problems (like office suites or DBs!) within the scope of what one person can work on in one semester; you'd be spending your time thinking about how to implement a hash table instead of how to use one. One of the nice things about so-called scripting languages is the breadth of library support. If you want to put together a GUI that displays some word-wrapped text, you can do that within the first hour of using the language, if you have some homework instructions you're following. At that point you can think about the interesting parts of writing a word processor, and not just how to put a window on screen (which tends to be more about docs and APIs and not about actual computer science). Also, importantly, at that point you've successfully done something, which is pretty important for the learning process.