Is Web Development Computer Science?
blogs.msdn.com
blogs.msdn.com
Computer science or computing science is the study of the theoretical foundations of information and computation, and of practical techniques for their implementation and application in computer systems.
So software development (and therefore Web Development) is not, in itself, computer science, but builds on computer science concepts and findings (theory, algorithms, etc).
Computer science is not software engineering. It also is not a science and, arguably, is not really about computers.
Software engineering isn't really much of an engineering profession, for that matter.
Grumble.
Theoretical "computer science" is, most of the time, a matter of building abstractions from smaller concepts and making analytical, not empirical, observations of the characteristics of those abstractions. This is much closer to what is generally thought of as "abstract mathematics".
The closest you're likely to get to scientific methodology when programming is when you have to write test code to figure out what the crap this freaking third-party library you're stuck with is actually doing because clearly it isn't what the documentation says it should and... at which point we've moved away from "computer science" and into why "software engineering" is such an embarrassment compared to real engineering disciplines.
If you want to hear someone smarter than myself expound similar ideas, look up some of E. W. Dijkstra's work--the man was a genius, a "computer scientist" par excellence, and he expected software engineers to act like engineers.
Ever opened a book by Knuth? Or heard of Turing and his machines? Or lambda calculus?
(Though one may argue that theoretical computer science is a part of mathematics, and not a natural science.)
I don't understand -- To me, the premise of this article seems to be that these are two different (mutually exclusive) types of programmers. I don't think anyone here would subscribe to that tenuous assertion.
I've worked in web development for many years, doing some pretty complicated stuff, and I've never needed to remember how to do a bubble sort.
In other news, Ben & Jerry recommend a quart of ice cream a day.
UPDATE: I suppose it could be argued that creating new languages is not computer science, either. I reckon it depends on the language itself.
Saying web development is just construction is crazy. Maybe for some brochure-ware sites it is, but not for ebay, amazon, google, etc.. It is like saying building a sky scraper is just construction, just like building a dog house.
There's a lot to be learned about the boundaries between P and NP. For example find polynomial algorithms for linear optimization. Or it would be nice to know, if randomization --- which helps in practice [0] --- really does help in theory, too.
[0] E.g. a quicksort that selects a pivot at random.
1. Does a Web Developer benefit from as educational grounding in the Computer Sciences? 2. Are Web Developers (and by extension Software Engineers) by their very nature also Computer Scientists?
The first question is pretty straightforward to answer. Of course they do. The second one isn't so obvious, though. Furthermore, your interpretation of the "right" answer is going to be colored by your own educational background and experiences with others in the course of your respective academic/commercial career.
I know that while I was in school I was(and still at times) confused about what it all meant - IT, CS, Web Dev, Software Engineering... Although this searcher will likely start to become more comfortable with all of these terms and disciplines as well as begin to understand how they relate and how they differ, it is a bit daunting when you first start out to identify what term actually describes what it is that you actually want to do.
MIS, CS, IT, Web Design, Software Engineering - college programs, that although may describe the overarching discipline, don't really fully represent what niche in the technical industry they serve to address... For example, I have a BSCS, though by far the majority of my project involvement has been done with back end web application development using established frameworks and site design on top of mature platforms - little "Computer Science" being done here (in the 'study of the theory of...' sense).