5 ms·
Teaching scripting postpones students discovering CS is not for them = Good
- russell 16y ago>> When they do discover that CS isn't for them, they will be stuck with the ability to write scripts and analyze data. >> With all due concern for not wasting students' time, this is a problem we in CS should willingly accept. Or, programming skills are good for you, even if you dont do it professionally.
- jarin 16y agoOr, you can learn programming skills without learning computer science.
- KevinMS 16y agoBut they will be stuck with only the ability to create web apps, iphone apps, word processors, operating systems, video games, network servers, web browsers, text editors, robot control systems, embedded software... oh wait, that's not sounding so bad.
- arethuza 16y agoYou can also work at a high level in CS research without doing any programming.
- al05 16y agoDepends what role obviously. If your doing research into compliers, or programming language semantics or something then programming will be required.
- palehose 16y agoIf someone enjoys scripting but doesn't like CS, it is probably the CS curriculum that should change.
- kenjackson 16y agoWhat does scripting have to do with CS? Scripting is nice, but it has as much to do with CS as running cable (OK, slightly more, but not by much).
- randall 16y agoYeah, I've become acutely aware that I'm a product guy. I don't dream in algorithms. Scripting is really good for me, but CS is something I don't like. Scripting solves a problem for me the same way a camera solves a problem for a photographer. For most people, they'll be able to remember the images they produce, and they won't try to create something that means something the same way a photographer would. I'm similar. I create technology that solves an immediate problem for me, rather than some technological piece of mastery.
- true_religion 16y agoYou don't necessarily have to love algorithms to go through CS. Personally, I always liked the linguistic aspects of CS--parsing, lexing, compiling and language semantics from the basic theoretical level through the practical aspect (e.g. how they relate to best practices, optimization, and design patterns). But when it comes to the fastest way to implement a sort, you shouldn't come bothering me. I won't doubt that low-level algorithms are important, but a pure disinterest in them makes me a pretty poor C programmer.
- jessedhillon 16y agoI don't mean to offend you but it sounds like you might not be a great programmer, although you still enjoy the idea of making stuff that's useful (even if it's not written well or a particularly challenging thing to do from a CS perspective).
- fuzzmeister 16y agoThis sentiment annoys the hell out of me. There are many great programmers (mainly in the web world) that rarely work with algorithms or other traditional CS topics. Just because he says he's product-focused doesn't mean that his code isn't well written.
- noahth 16y agoi've lately been espousing the opinion that colleges should add some scripting and data manipulation to gen ed requirements in order to adequately prepare students for the next generation of white-collar work. then again, i barely remember a thing from my entry-level stats course.
- alinajaf 16y agoThis. My little sister is working at The Economist and will go to Princeton next year to study Developmental Economics. She could work magic with the data she can get from the kiva API or the UK government data website, but she has no easy way to parse it other than nag me (who got a 3rd in CS from UCL) to write a little script in ruby that does it for her.
- adw 16y agoIn part, this is what we're working on solving at Timetric; the skills gap between people who understand the physical nature of data and people who have the domain knowledge to tell you what it means.
- petercooper 16y agoPython and Ruby aren't really "scripting" languages in the modern sense of the term: http://en.wikipedia.org/wiki/Scripting_language#History http://en.wikipedia.org/wiki/Scripting_language#History .. 10-20 years ago, sure. Calling them such does them a disservice. They're just as "general purpose" as Java, say. The distinction made in this post seems to be more about the problem domain and using a realistic language to tackle it rather than the language itself.
- iron_ball 16y agoTrue, but I see it as a defining characteristic of "scripting" languages that they are great at quickly and easily automating everyday computing tasks... Something you would be hard pressed to say about Java. But is there a term that expresses this attribute without seeming to rule out others?
- eru 16y agoPerhaps something about `dynamic languages'?
- calibraxis 16y ago"Scripting languages" fly under the radar, where a corporate regime mandates use of (say) Java. So it's actually a good thing to call something a scripting language. The main downside is it doesn't sound elite, in the programmer hierarchy.
- T-hawk 16y agoIn the business world, there's a significant distinction between a scripting language or not: whether it needs a compiler. This is a very relevant and real distinction for enterprise-scale applications and implementations. Code being in a scripting language means that the "operations" data center folks can tweak and poke it. Need an extra parameter passed in or a magic constant changed? Just do it. But compiled code is no exaggeration often an order of magnitude harder to maintain. A whole chain of change requests must come into being, from whoever found the need back to a "developer" who has the right tools and environment and access to the source and even knowledge of what and where the source is. (We don't see that kind of problem at the scale of a YC startup or a well-managed Google-size tech behemoth, but organizational tech knowledge is a gigantic problem for companies whose primary problem domain is not tech. Like say a bank or medical provider or retailer.) I've written significant amounts of code in SQL stored procedures when C# (we're a Microsoft shop) would be a more appropriate platform, simply because my company's culture is that SQL is accessible and open to the business analysts and managers while C# really has a walled-fortress image. It grates on my sensibilities but "scripting" really does save effort in the long run simply thanks to greater transparency. Back to the original article, it's really just saying that a scripting language has lower barriers to entry and maintainability, which is absolutely true.
- kbutler 16y ago> a significant distinction between a scripting language or not: whether it needs a compiler. The characteristic you're describing is "delivered as executable source code" rather than "needs a compiler". I'm currently dealing with a project (GForge) that delivers some of its PHP code encrypted. Painful. You could also ship Python projects as .pyc files. On the other side of the fence, you can also use interpreted C without a compiler: http://en.wikipedia.org/wiki/Ch_interpreter http://en.wikipedia.org/wiki/Ch_interpreter (But I agree with the main idea - if the project is delivered with executable source code, it's much easier to customize!) kb
- pnathan 16y agoThat's a really great distinction. You've captured the difference well: scripts can be read without a disassembler. That's really good for maintenance for the reason you've stated.
- tesseract 16y agoWhy the "scripting" qualifier? Arguably if you are writing code with the intent that it will ever actually be executed, that's not CS, in the same way that designing a car is not physics. So what, though? What something is called ought to have little to no bearing on whether it's deemed useful, or worthy of being taught.