Slashdot Mirror


Top 10 Dead (or Dying) Computer Skills

Lucas123 writes "Computerworld reporter Mary Brandel spoke with academics and head hunters to compile this list of computer skills that are dying but may not yet have taken their last gasp. The article's message: Obsolescence is a relative — not absolute — term in the world of technology. 'In the early 1990s, it was all the rage to become a Certified NetWare Engineer, especially with Novell Inc. enjoying 90% market share for PC-based servers. "It seems like it happened overnight. Everyone had Novell, and within a two-year period, they'd all switched to NT," says David Hayes, president of HireMinds LLC in Cambridge, Mass.'"

23 of 766 comments (clear)

  1. Some of the list looks good by Sycraft-fu · · Score: 5, Insightful

    But C? Really? I guess that the fact that nearly every game, every OS, almost every high performance computation tool and so on are written in it (or C++ which I keep under the same heading) doesn't count. While it certainly isn't the be-all, end-all, it is still widely used. Even games that make extensive use of scripting languages, such as Civilization 4, are still C/C++ for the core functions.

    Until there's enough spare processor cycles that it really doesn't matter how much CPU time you use, or a managed language gets as good at optimizing as a good C compiler/programmer combo (unlikely) I don't think C is going anywhere.

  2. Wait, there IT people who specialize this much? by Rakishi · · Score: 5, Insightful

    I mean, this is IT where things change quickly and at times unexpectedly. If you don't have at least a number of diverse skills then I can't say I feel sorry for you when your job gets axed. I may not be a guru in any one language but at least I won't be unemployed when that language dies out.

  3. C? You must be kidding by Ckwop · · Score: 5, Insightful

    As the Web takes over, C languages are also becoming less relevant, according to Padveen. "C++ and C Sharp are still alive and kicking, but try to find a basic C-only programmer today, and you'll likely find a guy that's unemployed and/or training for a new skill," he says.


    What the web can now allocate memory and talk to my hardware? Even if you're not a kernel programmer, the web has sucked and still sucks for application development. It will continue to suck for years, due to Internet Explorer. It's misleading to claim AJAX will solve all these problems because it won't. In fact, it might even cause a few problems of its own. For example, do you really think all that AJAX is secure? In short, I think the web is taking over what naturally comes to that medium. It is wrong to say its displaced C.



    Does this guy forget that all of the GNU/Linux Kernel base system is written in C? You know, the operating system that powers most web-servers? I'll tell you one thing, C will still be here in twenty years time when Ruby on Rails is talked about much in the same was Blitz Basic is today. C is here to stay; it's immortal.



    Simon


  4. 10 more dying computer skills by Anonymous Coward · · Score: 5, Insightful

    1. secure software coding
      2. data management theory
      3. data modeling
      4. usability
      5. interface design
      6. use of testing, version control, refactoring, and other best practices
      7. space or time efficient algorithms
      8. general communications skills
      9. basic business concepts like ROI
    10. business ethics

  5. dovetail by Anonymous Coward · · Score: 5, Informative

    No better place to dovetail than first post.

    Here's a link to the print version for those who dislike clicking 18 times to read a news piece.

    And for those not wanting to feed the gossiping trolls altogether, here's the (pointless) "Top 10" list in short form.

    1. Cobol
    2. Nonrelational DBMS
    3. Non-IP networks
    4. cc:Mail
    5. ColdFusion
    6. C programming
    7. PowerBuilder
    8. Certified NetWare Engineers
    9. PC network administrators
    10. OS/2

    You may now return to the /. index in search of better things to quibble over.

    1. Re:dovetail by MightyMartian · · Score: 5, Insightful

      I don't think you can justify C and Cobol. There are millions upon millions of lines of code in these two languages, and despite all the sexy new ones that have come along, these two still reign supreme; C is incredibly prevalent on dedicated systems and within a lot of operating systems, and mainframe Cobol code can still be found throughout the business world (though often cleverly disguised these days). I doubt a skilled Cobol programmer will be at risk of starving any time in the near future.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
  6. Re:LaTeX by serviscope_minor · · Score: 5, Funny

    You're the lazy one. You know, avoiding all that tracking of cross references, mindless reformatting, applying styles, and doing battle with the (still) inadequate equation editor. Slacker.

    --
    SJW n. One who posts facts.
  7. It's not C. It's the C only programmer. by khasim · · Score: 5, Insightful

    They phrased it very badly. C isn't going anywhere. But if all you know is C, then you are very rare.

    Most programmers who know C also know at least one other language.

    In any event, putting that on the list was just stupid.

  8. I disagree with some of the list. by jd · · Score: 5, Interesting
    Cobol has died back as much as it's going to, same as Fortran. It won't reduce in scale any further, because of maintenance requirements, so it is meaningless to say it is "dying". It's a stagnant segment, but it's a perfectly stable segment.

    Non-IP networks are dying? Must tell that to makers of Infiniband cards, who are carving out a very nice LAN niche and are set on moving into the WAN market. Also need to tell that to xDSL providers, who invariably use ATM, not IP. And if you consider IP to mean IPv4, then the US Government should be informed forthwith that its migration to IPv6 is "dead". Oh, and for satellite communication, they've only just got IP to even work. Since they weren't using string and tin cans before, I can only assume most in use are controlled via non-IP protocols and that this will be true for a very long time. More down-to-earth, PCI's latest specs allows for multiple hosts and is becoming a LAN protocol. USB, FireWire and Bluetooth are all networks of a sort - Bluetooth has a range of a mile, if you connect the devices via rifle.

    C programming. Well, yes, the web is making pure C less useful for some applications, but I somehow don't think pure C developers will be begging in the streets any time soon. Device driver writers are in heavy demand, and you don't get far with those if you're working in Java. There are also an awful lot of patches/additions to Linux (a pure C environment), given this alleged death of C. I'd love to see someone code a hard realtime application (again, something in heavy demand) in AJAX. What about those relational databases mentioned earlier in the story? Those written in DHTML? Or do I C an indication of other languages at work?

    Netware - well, given the talk about non-IP dying, this is redundant and just a filler. It's probably right, but it has no business being there with the other claim. One should go.

    What should be there? Well, Formal Methods is dying, replaced by Extreme Programming. BSD is dying, but only according to Netcraft. Web programming is dying - people no longer write stuff, they use pre-built components. Pure parallel programming is dying -- it's far more efficient to have the OS divide up the work and rely on multi-CPU, multi-core, hyperthreaded systems to take care of all the tracking than it is to mess with very advanced programming techniques, message-passing libraries and the inevitable deadlock issues. Asynchronous hardware is essentially dead. Object-Oriented Databases seem to be pretty much dead. 3D outside of games seems to be dead. Memory-efficient and CPU-efficient programming methods are certainly dead. I guess that would be my list.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  9. Then Pay the Market Wage by Anonymous Coward · · Score: 5, Insightful

    If you pay the market (equilibrium) wage, then you will find plenty of workers. However, most companies, just like your company, refuse to pay the market salary. They then cry, "There is a shortage of workers!"

  10. Re:c ? really? by tha_mink · · Score: 5, Insightful

    'C' will never die. Period. It has so many uses from PC's & 'big iron' to embedded systems. What is 'C'? Is that a language? Like latin?

    I'm kidding, but only partially. I was a COBOL developer for lots of years, and I thought that COBOL would never die either. I would say "Too many companies are too invested ..." blah blah blah. I think that I actually even used the 'big iron' quote too when telling my friend how secure COBOL was. Um...I was wrong. I found that out with plenty of time to learn other stuff like Java and so forth but of course it's going to die. Just like C++ will die, just like Java will die, et al. If you've been in our business long enough, you should know better. Everything dies, it's just a matter of time. And if you think you're going to get 30 years out of the technologies that are new now, then you're wrong there too. That's the double edge sword that is the IT business. Keep learning, keep growing or start flipping burgers.
    --
    You'll have that sometimes...
  11. Re:c ? really? by Chainsaw · · Score: 5, Insightful

    C produces fast, tight code that so far, C++ and C# can't even begin to match. C++ is just C with a lot of baggage, a great deal of which you can implement in C in a completely controllable, transparent and maintainable manner.

    Wow. You must have had some really shitty software engineers. It's very likely that you can create C++ code that is as fast or faster than C. Yes, I said it. Implementing virtual inheritance and method overloading in plain C is doable, but it will be very complex. Templates? Don't even want to think about it.

    C++ is easier to write, almost as portable, but produces applications with large footprints, inherited, unfixable problems inside non-transparent objects (like Microsoft's treeview, to name one), and a considerable loss of speed as compared to a coder who has a good sense of just what the C compiler actually does (which usually means a C coder that has assembly experience, intimate knowledge of stacks and registers and heaps and so on.)

    I have no idea what the MS Treeview problem is, but once again - the programmers that you have worked with must have sucked balls. I'm an old C coder, with some solid x86 assembler knowledge. As you say, it's possible to get very high performing applications using C. However, why would I do that, when I can create code that is just as fast and much more readable by using C++? Yes - even for embedded development, which is my dayjob.

    --
    War is one of the most horrible things a human can be exposed to. And one of the worlds largest industries.
  12. Re:c ? really? by Penguinshit · · Score: 5, Funny

    Or do what I did and move into management...

  13. Re:c ? really? by WrongSizeGlass · · Score: 5, Insightful

    And if you think you're going to get 30 years out of the technologies that are new now, then you're wrong there too. I've been coding in 'C' for 24 years, and unless OS's, drivers, embedded systems, et al, stop caring about performance I think 'C' will out last me in this industry (and probably out live me, too).

    That's the double edge sword that is the IT business. Keep learning, keep growing or start flipping burgers. I've coded in over 20 languages in my career, from assembly languages to proprietary 4GL's and everything in between, on more platforms than I have fingers. My library has programming texts older than most coders today. Keep learning? Great advice. Give up on 'C'? That's another story entirely ...
  14. Comment removed by account_deleted · · Score: 5, Interesting

    Comment removed based on user account deletion

  15. I'm more concerned with dead USER skills by sootman · · Score: 5, Insightful

    1) knowing what extensions are
    - Both the fact that that they exist in the first place AND what the different ones mean--"ooh, should I click on hotsex.jpg.doc.exe.scr.pif?"

    2) looking at the URL in the status bar before clicking on a link
    - Apple: I love you, but you SUCK for having the status bar off by default in Safari.

    3) knowing where downloaded files go
    - Every phone-based support call I've ever made:
    a) Painfully (see #4) navigate to a URL.
    b) Painfully (see #5) instruct user to download a file.
    c) Spend 5 minutes telling them where that file is on their computer

    4) the difference between \ and /
    - these people saw a backslash ONCE in their lives while using DOS about twenty years ago, and now every time I tell them an address, it's "Is that forward slash or backslash?" (Despite the fact that I've told them a million times that they'll pretty much NEVER see a \ in a URL.) This is usually followed by the question "Which one is slash?" God damn you, Paul Allen.

    5) the difference between click, right-click, and double-click
    "OK, right click on My Computer... no, close that window. Now, see the mouse? Press the RIGHT BUTTON..."

    6) the concept of paths, root directories, etc.
    - I why do I have to explain fifty times a day how to get from example.com/foo to example.com?

    Admins can get whatever skills they want--they picked the career, thy can accept the fact that things change. The backends are usually handled by people with some know-how. It's the end-users that cause all the problems. It'd be like driving in a world where people didn't know how to use turn signals, didn't check their blind spots, didn't know they shouldn't talk on the phone while making complicated maneuvers--oh, wait, bad example.

    --
    Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
  16. Re:c ? really? by Anonymous Coward · · Score: 5, Insightful

    Several times I've been told "nobody does assembler anymore", and yet I still keep needing to use it. I'm not writing whole applications in assembler of course. But the same reasons I keep having to do assembler are some of the same reasons that C is used. C and assembler may be less commonly used than in the past, but unlike COBOL, modern computer systems are still very heavily dependent upon them. Until we get a radically new form of computer architecture, which doesn't seem likely anytime soon, demand will remain for people who can write and maintain the guts of what happens underneath the applications. And you can't do that in Java or C# or Ruby.

    Computerworld Magazine, being an IT rag, is concerned about IT, not computer science or engineering. Thus it worries about product names, not categories. So the point out skills in SNA or Novell Netware that aren't needed so much anymore, even though computer networking skills are even more popular and vital today than in the past. COBOL may be virtually dead, but dry and dusty applications for business purposes are alive and well and written by people who still wear ties.

  17. Re:Ha! C != performance by v01d · · Score: 5, Informative

    You sounds trollish, but I'll bite anyway.

    I've coded some fairly complicated high performance multi-threaded applications in C. It's not easy, but it's not easy in C# or Java either. There have been many minor improvements to the required syntax, but that has never been the hard part of multi-threaded development. Parallelizing (sp, I know) the problem is a conceptual problem unrelated to language.

  18. Re:c ? really? by 644bd346996 · · Score: 5, Insightful

    Sure, some things still need to be done in assembly, but they are always wrapped in a C api. And that is why C will not die until computer architectures change drastically. C is close enough to the hardware that you really know what is going on, and you can control it directly. Languages like Java, which eschew pointers and mandate that all code be in a class, can never replace C.

    In fact, no language that isn't pretty much C can replace C. If it doesn't give you the control over pointers and memory allocation that you have with C, it won't work as a replacement. If it does have those thing, it is not going to replace C unless it is a backwards compatible extension like C++ or Obj-C.

  19. Re:c ? really? by fishbowl · · Score: 5, Insightful


    >I'm surprised that Fortran didn't make the list.

    I would have been, but working in scientific research I've discovered a couple of things that are surprising:

    1. People actually do calculus on the whiteboard for reasons other than taking a math class.

    2. Lots of people actually use FORTRAN. Even people whose Java, C, C++, Perl, Ruby, etc. skills are such that I look up to them -- and they have solid arguments for using FORTRAN, at least for certain kinds of numerical computing.

    But here's the thing: There are separate worlds. In one world, the idea of using calculus on a daily basis is simply never a consideration. You learn enough to finish college, and that's the end of it. Likewise, there's a world where numerical computing and arbitrary precision and optimized complex arithmetic are actually primary considerations and not just hypothetical things.

    I never understood this until I found myself in that world. And I wouldn't have believed you if you told me that people who know other languages, choose FORTRAN even when given a choice.

    But what I take from it, is that there are requirements that are met by FORTRAN which are not met by languages that offer more comfortable grammars.

    People (myself included) will argue that, for instance, C can do anything that FORTRAN can do, in a much happier grammar (opinion, mine, widely shared), but the thing is... while that's strictly true, a lot of the things that seem tangential or irrelevant, turn out to be *crucial*, where seriously optimized math support is the core of the application. FORTRAN makes guarantees on the kinds of things that are implementation dependent in C.

    Anyway, there's no shortage of FORTRAN programmers. It's quite easy for a skilled programmer to learn FORTRAN, once you get past the 'WTF' factor and can accept that it's relevant in todays world, at least when your problem space is a good fit for the language.

    COBOL or PL/1 and the like, make another story entirely. My experience has been that the role of COBOL has been replaced by the combination of transitions to modern RDBMS, decentralized business processes as a side-effect of the whole ubiquitous "PC" adoption, and the adoption of, for example, Enterprise Java. That covers one end of the spectrum, and the other end (the big corporate end) is covered by the evolution of vertical systems providers (e.g., Peoplesoft, SAP, SAIC).

    Back on topic: If there's a university CS program that gives degrees without courses in Operating System and Compiler design taught in C, I'd love to hear about it. No way are C programmers in decreasing supply. If nothing else, the million or so open source projects have created a whole generation of self-taught folks who know C.

    --
    -fb Everything not expressly forbidden is now mandatory.
  20. Re:c ? really? by Kjella · · Score: 5, Insightful

    Any programmer worth his salt can pick up a new language in a couple hours.

    If you mean whether it's curly braces or brackets or none at all and the syntax of basic control flow, then yes. If you mean being familiar with the standard library, the development tools and all the specific bits (Java generics, C++ templates, take your pick)? No.

    --
    Live today, because you never know what tomorrow brings
  21. BAH - 10 already-dead skills... by bscott · · Score: 5, Insightful

    0. Tweaking IRQs on PC clones to let soundcards work with any other card
    1. Knowing how to drop certain types of home comupter to re-seat the chips
    2. Inserting 64k RAM chips with your bare hands to expand memory
    3. Cutting a notch in 5-1/4" floppies to use the other side
    4. Adjusting graphics by hand to NTSC-legal colors for decent video output
    5. Editing config.sys to push drivers into HIMEM in order to free up memory
    6. Crimping your own RJ45 connectors to save money
    7. PEEK and POKE locations to do cool stuff on the Commodore 64
    8. Manually configuring a SLIP connection to connect to the Internet (in pre-Winsock days)
    9. Removing adjectives and punctuation from code comments to fit into 1k of RAM

    --
    Perfectly Normal Industries
  22. Re:I agree totally.... BUT by Alioth · · Score: 5, Informative

    No it's not cheaper to implement for a 16 core space heater. The majority of computers sold today are not the mini tower room heater that you may have beside you, but embedded devices. ARM cores outsell x86 by a large margin. Atmel and Microchip sell billions of 8 bit devices every year. Zilog still manufactures the Z80, as well as microcontroller style Z80 chips. For every space heater PC, there are ten other devices that use a small processor (washing machines, microwaves, phones, cars, televisions etc.)

    You _have_ to write efficient code for those. The laws of physics say that these small processors will *not* get substantially faster, because they need to be very low power and have very small die sizes, so you can't just throw MHz and extra transistors at them to compensate for software bloat. Anybody working with embedded computers still has to write efficient code, and get as close to the metal as they can. This means assembly language or C.

    The cost of developer time in an embedded device that will ship millions of units is trivial compared to having to use a more powerful microcontroller to compensate for bloated code. In the PC world, of course, the opposite holds true - since the software developer is only shipping a software device, they can just rely on the customer to buy beefier hardware at no cost to the software developer. Embedded developers cannot push the cost of bloat onto their customers without losing out to their competitors.