6 ms·
If someone enjoys scripting but doesn't like CS, it is probably the CS curriculum that should change.
by palehose 16y ago
If 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.
- jessedhillon 16y agoIf it doesn't solve any challenging or interesting problems, in what sense is it well written then? In other words if it's easy to write, it's easy to write well. (I hope we are talking about something more substantial than consistent braces and spacing style here.) I have a difficult time imagining that OP enjoys doing some of the more difficult things that are part of the programming universe: seems like he is interested in applying just enough script to Make It Go. You mentioned web development: I'm sorry but the majority of what's called web development is writing WordPress themes or Drupal modules, and most of this work is leveraging some API in tedious and uninteresting ways. Create this content type, do this when you save it, make this form, validate it like that, blah blah. A person who writes a plugin in WordPress to do the Nth most routine thing in the world (say, list posts in a particular order, for example) -- something that I have to do from time to time, just like anyone else who writes web-based software -- is merely connecting tubes. (Something I wrote elsewhere.) The point is this: to be a programmer means a specific thing, and it means more than stringing together statements in a language. My mom who can write `SUM(A1:A10)` in Excel is not a programmer, even though she can do some fairly complex things in a high-level language. And most kinds of contract web dev out there is writing the exact same functionality for the Nth time (or integrating someone else's plugin for the Nth time), by typing out the correct sequence of API calls against a commodity CMS. Or the frontend equivalent: embedding some off-the-shelf Javascript slideshow or a Facebook like button. If this is programming then we have a linguistic deficiency, because it's not even in the same category as the kind of work that goes on at the most innovative startups.
- IsaacL 16y ago" I'm sorry but the majority of what's called web development is writing WordPress themes or Drupal modules, and most of this work is leveraging some API in tedious and uninteresting ways. Create this content type, do this when you save it, make this form, validate it like that, blah blah. " You're correct that lots of web development is simple. However, a very large assemblage of simple components is not simple, and lots of web apps are very large. For example: one of the first web projects I worked on was a game written in PHP and MySQL. At first, it went much faster than expected, as writing a basic CRUD app in PHP is very simple. However, as it grew, it turned into an unmaintainable mess, and I got my first lesson in some basic coding standards. My friend had a good distinction - there's "difficult" projects and "complicated" projects. Something that is difficult might require some clever algorithms and maybe more time spent with a pen and paper than at the keyboard/ Something that is complicated requires a lot of coding, and thus a lot of effort spent in organising that code.
- fuzzmeister 16y agoI feel the same way. While creating a cool piece of engineering is satisfying, it is nowhere near as satisfying as seeing real people enjoy the end product. For me, coding is a means to an end, rather than an end itself.
- wisty 16y agoWhat has solving simplistic little 1-line problems like "Given f(x) = a, what is x?" got to do with mathematics? Sure, there's other things. I could think of a few bad analogies for recursion, pointers, algorithms, and architecture; but architecture is often badly taught, and the rest are probably easier to grasp if you can do the first step - solving simple problems.
- haneac 16y agoThe relationship between Software Engineering (60% of the most used languages are "scripting" languages) and "running cable," is that they are both concerned with creating direct utility to people. I fully understand and respect that the completely theoretical side of CS might seem more difficult and therefore superior (?) to engineering, just as coding might seem more advanced than "running cable," but I could never see dismissing "running cable" as inferior to writing code. I would also point out that the top 5 U.S. CS programs, for whatever misguided reason, are all very much interested in creating direct utility to people -- through HCI, Software Development, even bad code: http://hci.stanford.edu/research/opportunistic/ http://hci.stanford.edu/research/opportunistic/
- kenjackson 16y agoNo one said that running cable was inferior to writing code. I spent some good afternoons running cable at my house. But it's not computer science. Would you ask any prominent computer scientist about their opinion running cable? At best maybe a EE professor to understand signal dropoff, but it's just not computer science. It's not about superior/inferior. It's if it is part of CS. Running cable isn't. Writing scripts generally isn't. That's it.
- RodgerTheGreat 16y ago"If someone enjoys soldering but doesn't like electrical engineering, it is probably the EE curriculum that should change." Do you see why this is a silly thing to say?
- palehose 16y agoWhen I graduated with a CS degree in 2003, all of my programming experience was in C/C++. After graduating, I went into web development using scripting languages that were never taught in school. I would have loved to have had classes focused on web development with scripting languages rather than take classes on operating systems and computer architecture. There is nothing silly about that.
- jerf 16y agoIf you're bashing together some web scripts for your local HR department in a company of 100 people, yeah, OS and computer architecture isn't very useful. If you're a professional web developer that is creating web sites that need to be reliable, need to interact with other computer systems, and need to be performant even under heavy load, you will if anything find that your operating systems and computer architecture courses were merely the beginning of what you really needed. You need everything you can get when you're trying to make a web page that doesn't take 4 seconds to load. Learning another language isn't really the hard part of the problem.
- RodgerTheGreat 16y agoAnd perhaps more importantly, a CS education is applied to programming. Computer Science is a theoretical discipline heavily rooted in mathematics. Computer Science should not be confused with software engineering.
- reubenyeah 16y agoAt my university, Software Engineering is a more theoretical course than CS, with no compulsory programming, and indeed no option for programming in year two, except for a Java module in year one, you do have to build a piece of non-trivial software for your final project though.