Slashdot Mirror


Is Computer Science Dead?

warm sushi writes "An academic at the British Computing Society asks, Is computer science dead? Citing falling student enrollments and improved technology, British academic Neil McBride claims that off-the-shelf solutions are removing much of the demand for high-level development skills: 'As commercial software products have matured, it no longer makes sense for organizations to develop software from scratch. Accounting packages, enterprise resource packages, customer relationship management systems are the order of the day: stable, well-proven and easily available.' Is that quote laughable? Or has the software development industry stabilized to an off-the-self commodity?"

12 of 641 comments (clear)

  1. Wow! by OverlordQ · · Score: 5, Interesting

    Accounting packages, enterprise resource packages, customer relationship management systems are the order of the day: stable, well-proven and easily available.

    And who made those packages?

    Software don't write itself.

    --
    Your hair look like poop, Bob! - Wanker.
    1. Re:Wow! by daranz · · Score: 5, Funny

      They arrived from lands far away thanks to the magic we call outsourcing?

      --
      This is a sig. It is appended to the end of comments I post.
    2. Re:Wow! by codonaill · · Score: 5, Insightful

      There are 3 other jobs I can see that require CS skills, but are not product development/design jobs.

      1. Who buys it? What skills do Computer Scientists need to differentiate between Brand X and Brand Y billing system? Basically, proper product selection is as tough a job as product design - because you have to beat down sales jargon and work out what a system actually does - generally without unfettered access to the system itself.

      2. Who builds the Middleware/Integration layer? This is so specific to individual companies that you'll never get a solution that fits all the heterogenous parts of your network.

      3. Who builds large networks of products - i.e. works out that Portal solution 1 goes well with reporting solution 2 and alarm system 3. Who breaks down the business flows between these and who keeps track of strategic direction in each area?

      Dunno, still think there's plenty of non-dev jobs out there for CS graduates...

      C.

    3. Re:Wow! by -noefordeg- · · Score: 5, Insightful

      No only that...

      "stable, well-proven ... "
      I've yet to see, say, a well written and stable ERP system.
      In Norway some of the more popular ERP/logistic and sale-systems are CS (Client System), Movex, Visma Unique and IBX. Systems which are just "ok". Terribly modules, inane logic, most likely a lot of bad code all over, but since it's closed source it's impossible to tell. From all the errors (some, really strange), lack up updated documentation and integration specifications, system resources used, and just from looking at the system documentation, you can easily tell that the systems are not "state of the art".

      What most of these complex systems really are, are a collection of small modules of which many are most likely writtin at different times, by different people, for different projects and just barely working together. The companies developing the systems probably have thousand and tens of thousand bugs and points for optimizations which will never be fixed. Any work done on these systems which is not directly connected to a new deployment and paid for by one or many customers are simply a loss for the company.
      Much of the "valuable" experience people get from using such a system, is actually how to use it without breaking it/how to use it despite all bugs, errors and strange quirks and twists.

      What my small company has been busy with the last years, is to move a lot of logic and data outside such systems. Because it's just to expensive to try and "upgrade" these huge behemoths. We develop external databases to store different data feeds, most likely recieved in XML-format which some of these systems is not capable of using. Actually, one of those systems are only capable of importing/exporting data with fixed lenght ASCII-files.

      I don't see any less work needing to be done on these systems in the coming future. Rather, the need for more developers working both inhouse and independent, to patch them up, make small adjustments here and there, and/or write "connectors" for logic/data processing will probably increase.

    4. Re:Wow! by Scarblac · · Score: 5, Insightful

      How about imaging research (stuff like using image processing to learn about the state of food stuffs with infrared cameras), or the hard problems that need to be solved to get to the Semantic Web?

      There is a lot of CS work out there. But it's science work, not programming or product development. That's not CS, that's engineering or just programming.

      --
      I believe posters are recognized by their sig. So I made one.
    5. Re:Wow! by Bill_the_Engineer · · Score: 5, Insightful

      But the work of a software engineer just ain't science.

      My collegues and I, being software engineers in X-Ray astronomy, disagree with you

      Sure some CS majors go on to make a new computer language or new technique for image analysis, but that doesn't make the software engineer less scientific. The systems we develop are used by X-Ray astronomers and would not exist without the Electronic Technician, Electrical Engineers, Mechanical Engineers, Computer Engineers, and Software Engineers.

      It has been my observation that most of the science is done by physicists (and other scientists) who understand enough about computers to code their own small routine to illustrate their point, and hand it off to us software engineers to clean up, make reliable, and integrate in to a complete hardware system that is capable of performing the science work they need.

      When spending millions of dollars on one-of-a-kind hardware, you not only depend on the computer algorithm being correct but also reliable, thoroughly tested, and an integral part of a well engineered system. All of our science is done in unmanned flights, so we can't simply reboot when something goes wrong.

      Before you correct me and say that we are not capable of computational science, my collegue developed a tracking system that calculates vehicle orientation based on images of stars captured by a telescope mounted on the vehicle...

      Anyway my point is that science is more engineering than algorithm these days. I'm not saying pure computer science is not important. I'm saying that we must introduce engineering practices into computer science to tackle the hard problems. This is why I believe that Computer Science is evolving into Software Engineering.

      As for the non-scientific information systems, thats a job for a MIS graduate.. :P

      --
      These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
    6. Re:Wow! by Anonymous Coward · · Score: 5, Insightful

      1. computational science is not the same as pure computer science; if anything, pure CS resembles discrete mathematics.
      2. computer science might be spinning off "engineering" disciplines, but only after certain hard problems are solved; I seriously doubt that in your effort to create your positional system you discovered anything new about graph theory, cryptography, or algorithm analysis.

      I work with people like you everyday who think that because they write highly technical programs to convert their specialized knowledged into something that runs is doing "computer science." That is "applied" CS, and if you wanted to get into it you are really doing an engineering task.

      I have an undergrad in mechanical engineer, a MS in CS, and am working on my PhD in CS right now. I know the difference between real CS and applied CS/software engineering - and it is vast. I'd also argue that MIS people are vastly more useful than people who call themselves computer scientists because they have a formal education in some technical discipline yet work mostly with computers.

  2. dead no, dying? yes by rucs_hack · · Score: 5, Insightful

    Over the last six years I've been increasingly worried by the falling level of ability in CS students.

    I've encountered CS students recently who in their third year are unable to do such basic things as understand memory allocation. As for algorithm design? Well that's simply unknown by the majority. That scares the shit out of me.

    The Mantra is 'don't re-invent the wheel'. This is used as an excuse for students taking off the shelf components for assignments (sorting classes for java being used for sorting assignments for example), or being given virtually complete assignments by lecturers and being walked slowly through the assignment to the point where little or no original thinking is required.

    Now it is true that re-inventing the wheel is a bad move at times. However whilst studying for their qualification, they should learn how to build the wheel in the first place.

    Back to the memory allocation point. I currently know of no final year students with a decent understanding of this topic, and yet it is the main cause of security problems in code. They should at least have a working knowledge.

    The ephasis is more and more on using languages designed to try and remove the main problems in code, but who writes these languages? It sure isn't the people who are only taught to use them, not create them.

    The normal course of action is to blame Java, since it has led to a simplistic approach to CS assignments. I'd love to blame it, I ferkin hate the language, but that isn't the root cause.

    Computer science is a hard topic that they are trying to make simpler to encourage more students. This has the result that CS students are graduating with ever reducing levels of ability, so people no longer see it as a worthwhile topic. Nowadays a CS student who wants to do really well has to work on independent study entirely apart from the course they are attending, and has also to face the unpleasant reality that their education as provided by the university is so poor that they may face years of further study to gain a useful level of ability.

    Post graduate study can reduce this problem, but there are fewer post grads too, and often it is funding, not interest in a topic, that guides the selection of a course.

  3. Pertinent part of the article by mccalli · · Score: 5, Insightful

    From the article:Here at De Montfort I run an ICT degree, which does not assume that programming is an essential skill. The degree focuses on delivering IT services in organisations, on taking a holistic view of computing in organisations, and on holistic thinking.

    ie. not Computer Science. For those not familiar with the UK education set up I should also explain that De Montfort University is the old Leicester Polytechnic. The Polys were set up to provide much more practical education than the theoretical stances of the Universities, and a damned good job many did of it too - I'm certainly not playing the one-upmanship card that some do about the old polys, Leicester Poly was a good place and its successor De Montford has reached even further.

    But the point stands - this point of view is coming from an academic teaching at a more practically-oriented institution and already running a non-science based course. His viewpoint should be considered against that background.

    Cheers,
    Ian

  4. The hard sciences are all dying by SmallFurryCreature · · Score: 5, Insightful

    For that matter so is education in general. I am not a computer scientist, my education is technical instead. (LTS/MTS/HTS for the dutch)

    When I attended the LTS we had real shop class, learning how to work with wood, steel, electricty with real world equipment in an area that looked much like you would expect to find in industry.

    I recently had the occasion to visit a modern school that supposedly teaches the same skills, yet what I found was an ordinary classroom with a very limited and lightweight set of equipment. The kind of stuff you would find at home, NOT at work.

    Yet somehow todays kids are supposed to learn the same skills.

    And as if that ain't enough the number of hours of shop class have been reduced while the number of theory hours has been increased. Worse, the amount of technical theory has decreased as well and instead the amount of soft theory like history and such has taken over.

    This has TWO negative impacts. First young kids coming to work can't hold basic equipment and don't understand the theory behind it and even worse the kinds of kids (like me) that used to select a techincal education because they don't like theory have that choice removed. I myself was far too restless to do a theorectical class, 18 hours of shop class per week however made the remainign theory that much easier to handle and because theory and practice were linked it all made sense.

    Even worse, the modern education is supposed to make kids fit better into society, so how come they are bigger misfits then any generation before them?

    No this is not old people talk. Notice even here on slashdot how the art of discussion is dying out, say anything remotely controversial and be labelled a flamebaiter or a troll by some kid who can't handle the heat. I actually had a 20 year old burst in tears about two years ago because I chewed him out for drilling through the work bench. Modern education is so much about empowerment that kids who think they are the top of the top can't handle suddenly being the lowest of the low when they enter a working life. This is already a shock simply because you just went from being the youngest in school to the oldest in school and now suddenly you are the youngest again.

    Simply put, I think education in general is less and less about turning out skilled proffesionals and more and more about just keeping kids of the job market. Comp Sci ain't the only victim. Just try to get a good welder nowadays. Hell I settle for anyone who can knows the difference between a steel drill bit and a stone one. (And no, that doesn't mean one is made out of stone, rather what it is for drilling into).

    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.

  5. Computer Science "is too hard" by Rik+Sweeney · · Score: 5, Interesting

    That's why people don't do it. When I was at University in the UK (Portsmouth if anyone cares), I did Maths and Computing.

    The first year consisted of learning how to format a floppy disk and write a Word document. Oh, and there was some Java thrown in there, but people found Java too hard and complained. Java then got removed from the curriculum and we did crap like theories in Artificial Intelligence instead.

    We had the option of doing C++ in our final year but this largely consisted of printing out to the console and writing some text to a file. No fancy shit like Pointers or anything like that. Most people didn't elect to do this option as programming is hard work and they just stuck to Matlab instead.

  6. Computing Disciplines by LordLucless · · Score: 5, Insightful

    One problem is that the computing disciplines have become intermingled and are often used interchangeably. Let me outline my definitions:

    Computer Science: This is the theoretical, researchoriented discipline. It deals with developing new algorithms, optimization and that side of things.
    Software Development: This is the application side of Computer Science. It takes the algorithms developed by CompSci and makes useful applications out of them.
    Information Technology: This is the techie discipline. Building computers, setting up networks, administrating systems. I'm not sure why it got that name, but it seems to have.

    The problem that this guy has is that he has conflated Computer Science and Software Development. And it used to be the case that they were pretty much mixed - if you wanted to program, you needed to understand all the theoretical stuff yourself. But in these days of large, freely-available libraries and modular software design, the two have become very distinct disciplines.

    It's not that Computer Science is dying out; it's that it has subdivided into two separate disciplines, and of the two, there is a much greater demand for Software Developers than Computer Scientists.

    --
    Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face