Slashdot Mirror


Number of Jobs by Programming Language

The Viking writes "I was curious about which programming languages are hot with employers, so I did an informal search of several job search engines. The results are interesting (to me, at least). Are these numbers relevant? We can certainly debate whether or not the online job search engines are representative of the actual employment landscape."

25 of 590 comments (clear)

  1. Java & ASP by AppHack · · Score: 5, Interesting

    I work for a computer consulting company which deals with mainly Fortune 500 companies. Java is the most requested language with VB/ASP coming in next. .NET is starting to grow and we anticipate it will continue next year. It seems to be that companies are moving from VB to .NET, not that Java developers are moving to .NET.

    1. Re:Java & ASP by MillionthMonkey · · Score: 3, Interesting

      Hell, why can't you just compile the Java to a CLR and be done with it?

      This is sort of what J# is, except J# uses the .NET framework and not the standard JRE libraries. To compile a Java program to IL code you'd need a bunch of .NET assemblies exposing the same public API as the JRE libraries, and I'm sure there would be legal obstacles to that happening. Also, both languages use a single inheritance model. Java objects extend java.lang.Object and .NET objects extend System.Object.

      There's an obvious market for CLR-JVM integration. I think tools are probably under development to do this kind of thing. I guess in theory you could implement a JVM directly from within a CLR. But the simplest way I can think of to do it would be to just use C++. A CLR could execute some "managed C++" that instantiates a JVM using the JNI invocation API. The communication would then take place through a JNI/managed C++ layer. Sun says you can't have two JVMs running in a single process, but there's no rule that says that a JVM and a CLR can't share one! Except there's probably some fundamental limit on how much bloat you can cram into a single process. :)

    2. Re:Java & ASP by tshak · · Score: 3, Interesting

      Disclaimer: I'm a "Web Application Developer", meaning, the vast majority of software I write is web-based.

      In IT I think that client-server apps are antiquated for all but some very rare exceptions. Sysadmins and helpdesks are sick of dealing with version and client issues, developers are sick of wasting time testing for multiple platforms and dealing with memory leaks and other client issues, and PM's are sick of the additional testing needed which leads to the bottom line, time (money). Web Applications don't have the slick UI (yet) of a traditional software app, but every HR system, Customer Management system, and any business specific utility that I have ever seen makes sense being web based. Sure, MS Word should probably never be web based, but I'm talking about IT/IS based apps.

      --

      There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
  2. At what price? by Qender · · Score: 5, Interesting

    If only we had some numbers on the average pay for each position, I'de be willing to bet that while Java is real popular, you would get much higher pay for fortran.

    Maybe the price of the programmers is also affecting which language people are hiring for.

  3. This isn't that useful by IIRCAFAIKIANAL · · Score: 3, Interesting

    I question the usefulness of this article - it seems to be a snapshot in time and it doesn't even say when these numbers were collected. It could change dramatically next week.

    It would be much more interesting to see these statistics over a wide range of time. Applicability of the languages would be interesting too (ie/ what types of jobs are looking for what type of developers).

    And it doesn't really detail if some languages tend to cluster (ie/ VB coders tend to have to know x as well).

    --
    Robots are everywhere, and they eat old people's medicine for fuel.
  4. Re:Not suprising.... except by jellomizer · · Score: 3, Interesting

    Well it is really a Pitty that Python is not Higher I would at least place it under Perl. I often use Python at work when our customer dont request a certon language and they just want the job done. I found python is a great way of getting code out fast and relitivly clean (Sometimes Java Code for me gets sloppy unless I keep in mind to keep it clean.)

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  5. Java way up there? by MBCook · · Score: 3, Interesting
    The list looks quite logical to me, except for Java being so high up. Is that right? I would expect it to be 2nd or 3rd, 4th at most, but not 1st. I'd say that "java" serches were including "javascript" and that accounted for it, but if you look at his searches they are "java AND NOT javascript", so unless the search script is majorly borked (a technical term ;) I'm still confused.

    Also, it would be very interesting to see C and C++ both, instead of just C++. I bet there are still tons of jobs for C programers. Also, why not search for "c-sharp" along with "c#", you know, do an OR. That might make a difference. And where is objective C?

    Last but not least, where are some other languages? What about...

    • Assembly/machine code
    • Chef
    • Yacc
    • Basic (not visual, just plain 'ol basic ;)
    • Awk
    • C (not ++, not +, not #, just C)
    • Pascal
    • Eiffel
    • BASH
    • (V)HDL
    • Objective-C
    • (Visual) FoxPro
    • VBScript (Javascript is there, so why not?)
    • Brainfuck (ok, just had to include this. Google says it exists)

    Obviously, most aren't serious. The "real" ommisions are in bold. Please no "FoxPro is important you insensitive clod!" replies.

    --
    Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    1. Re:Java way up there? by cperciva · · Score: 4, Interesting

      As for regular C... I don't think anyone out there goes "I only know C, I don't use C++ because I hate OOP and all the new extensions and improvements and such."

      I do. Inheritance breaks encapsulation. If I want to pass around function points, I'll pass around function pointers; I'll not have the compiler doing it behind my back.

    2. Re:Java way up there? by MillionthMonkey · · Score: 3, Interesting

      I'm sure the people using my code will have more of an idea than I of what they want to use it for; however, I'm equally sure that they will have less of an idea than I of how my code works.

      If they can read it (either because you've provided the source, or you wrote it in a language that is easy to decompile and you didn't obfuscate it), they can in principle gain insights into how your code works that even you do not possess. I have to apply bug fixes to other people's code all the time. Half the time I'm fixing something where it's obvious that the author didn't know what they were doing.

      The whole idea behind encapsulation is to allow people to treat your code as a black box -- they don't need to know how your code works. Inheritance breaks this -- people need to know how your code works in order to know which functions need to be overridden.

      You don't work at Sun Microsystems by any chance, do you? Actually this reminds me of a certain marketing manager who used to work at my company. He decided one day (probably after reading one of those stupid magazines they read on the can) that a search function on a website is a sign that the website is badly organized. So you know what he did? He directed the webmaster to remove the search function! He even threatened to fire her if it ever came back! The phones started ringing off the hook because our customers were pissed off and confused, but that "fixed" the problem as far as he was concerned. Thankfully he left the company within a year to sabotage some other company, and our site is now searchable again.

      Encapsulation is a great way to place limits on complexity, and it works well in large projects- up to a point. To insist that it will always work and to deny that there will ever be any circumstances where someone might need to pry your black box open strikes me as rigid and ideological. To go so far as to lock the black box is ridiculous.

      The best laid plans of mice and men go oft astray. If someone is trying to override your functions, it means that the encapsulated code isn't working correctly- either you have a bug, the code conforms to what is now an outdated specification, or some aspect of its behavior needs to be changed. The most common behavior will be to leave the encapsulation intact. People will generally try to honor it and play by the rules with some sort of workaround. But sometimes it needs to be broken. Life isn't perfect.

      In any case, if you're writing a class that is designed to be subclassed, the accessible superclass methods are part of the interface and should be documented just like any other interface methods. If the class is not designed to be subclassed, then just say so in the documentation and let me worry about it from there!

  6. Re:PHP??? My Ass. by the+eric+conspiracy · · Score: 5, Interesting

    PHP is the defacto standard used by newbies and children who don't want to learn a real language like perl or Java. PHP is shit.

    I think PHP has a valid niche in building throwaway code for demos. Things I've used it for include:

    - extremely low cost web sites with limited functionality. A person looking to get a site on the web with a concept can build a php site and put in on a shared server for $10/mo in hosting fees.

    - prototyping - some times it's necessary to put together a prototype of an idea to show to a client in a hurry.

    For serious work, I agree with you.

  7. Re:Blood Suckers by NineNine · · Score: 2, Interesting

    Head hunters kept me in clover for 6 years. Only the clueless work in IT as "permanent" employees.

  8. How many of those jobs are real, though? by Anonymous Coward · · Score: 5, Interesting
    It's been my experience that Monster (don't know about the others) have a shitload of phoney jobs. Descriptions very generic, no name of company, no specific city, maybe the state. I wouldn't be suprised if the top numbers are inflated just because Monster know what people LOOKING for jobs want.

    Since after all, the whole point of signing up for Monster is to start getting INCREDIBLE amounts of spam. That's what happened to myself and the whole department I was in when we got laid off and we'd all signed up with Monster.

  9. Re:I've always wondered by jerdenn · · Score: 3, Interesting

    Why do specific languages seem to be more important to employers than CS concepts. Someone with a good background in CS should be able to work in a number of languages and be able to pick up new ones quickly.

    Seems to me its more important to know algorithms, data structures, how to implement parsers, how to optimize databases(or knowing when its better to use a custom data structure rather than a database), etc.


    I get really tired of hearing this one. Joel Spolsky wrote a bit on this. As you note yourself, "...in my experience knowing what to do with these languages far outweighs knowing the language itself." However, this doesn't usually consist of optimizing sorting algorithms, but more frequently understanding and knowing the details of vendor APIs (ISAPI, MAPI, SAPI, Win32, .NET, Java class libraries, STL, etc). This is something that is only learned through the pain of time spent using these tools. It's not just the language that is being looked at, but experience with the technologies involved.

    -jerdenn

  10. Re:Already slashdotted by satch89450 · · Score: 5, Interesting
    I am very wary of people that list 20 different languages on their resume, or suggest that they know these languages otherwise. Not that I'm in a position to make hiring decisions right now though.

    One of the nice things about knowing and using a number of languages is that you get to pick the right tool for the right job. People like you, Kunta Kinte, seem to believe it's a good thing to limit tools; sometimes just because you have a hammer doesn't mean that everything should resemble a nail. Ever tried to write a compiler in FORTRAN, for example? Ever listen to an MSCE extoll the virtues of a certain company's products for every conceiveable problem?

    Now, on my resume I list the "languages" LEX and YACC (lately more Flex/Bison), because I have found that applications-specific scripting languages can improve quality and make maintenance far easier than trying to do everything in, say, C. Many of the projects I work on are tools, not end-user apps, so providing a scripting language suited for the task makes it easy for my customers to concentrate on their jobs instead of how to get my software to do something they really want to do. Even when the scripting language is used exclusively internally, I have found that the quality of the resulting program is far higher because I've removed opportunities to screw up by using a level of abstraction. C++ and other object-oriented languages try to create a one-size-fits-all version of this, but sometimes it's just easier to think about the problem with a more free-form syntax without worring about inheretance issues, constructor/destructor conflicts, garbage collection, and the other baggage that seems to come with now-"traditional" OO programming.

    How many environments do you work in? I'm equally at home in the embedded space, personal-computer applications, Web applications, secure e-commerce applications, network stuff, and man-rated programming. Each area has its own set of tools -- why shouldn't I mention them as I'm versed in using them?

    Or perhaps you are of the school of "jack of all trades, master of none"? Sorry, I like challanges. I may be 50, but I can still write code. Maybe not as fast, but I'll stack the quality of my code against any person here.

  11. Re:PHP??? My Ass. by Anonymous Coward · · Score: 1, Interesting

    Actually, I work at a company where all of our software solutions (ASP) are centered around PHP. We have created probably the most advanced web-based user interface available and have created a number of breakthrough technologies BASED on PHP (I cannot discuss them due to NDA restrictions). PHP is a very flexible and powerful language -- very useful for developing applications that need to be easily modifiable, debuggable and portable. Without PHP, we estimate our development time to more than quadruple. PHP is one of the greatest tools when used in the right scenario. Like always; the right tool for the right job.

  12. not surprising by Daytona955i · · Score: 2, Interesting

    The only thing that really surprised me was the javascript rank. Other than that I probably would have guessed the top ranking ones.

    I think now that Java isn't as slow as it used to be, it's really catching on. I personally prefer it to C++ because it's typically a lot cleaner. (In my opinion)
    -Chris

  13. Re:PHP??? My Ass. by the+eric+conspiracy · · Score: 4, Interesting

    You should quickly share your insights with the folks over at Yahoo!

    Yahoo is doing some very strange things. They evaluated a bunch of web development technologies, decided J2EE was the best, and then chose to use PHP because FreeBSD has very bad support for threads.

    Now to me that is putting the cart before the horse. First you choose what software you want to run, then you choose the platform you run it on.

  14. Re:I've always wondered by JaredOfEuropa · · Score: 4, Interesting

    A very insightful remark, and I heartily recommend reading Joel Spolsky's article. Knowing the language is just one thing, knowing the APIs, and for some languages (especially VB and VBA) knowing the limitations and bugs, and how to get around them, is key. It is a common oversight when staffing a team, as well. This is where the difference in productivity of good vs average programmers (read: the Mythical man-month) is measured in factors of 10-100! It is, as Joel describes, the difference between solving a freaky bug in 3 minutes vs. 1 hour.

    What has my main frustration been so far, when I held the post of development team leader? Not having a good mix of juniors and seniors! That, or having seniors who do not wish to allocate time to spend with the junior coders, reviewing their code and coaching them. The result? People are re-inventing the frikkin' wheel over and over again. This is most apparent in relation to APIs and the shortcomings of a language... but it applies to conceptual stuff like data structures and algorithms as well. You generally do not need an all-star team to be succesful, but it's worth gold to have one or two developers that know the ins and outs of the language, the database used, and the APIs.

    --
    If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
  15. Re:PHP vs. "enterprise" by Anonymous Coward · · Score: 2, Interesting

    (* When you learn that programming is actually about understanding domain-specific knowledge, you might have something worthwhile to say. *)

    If OO is a better fit for "domain-specific knowlege", I will eat a Java box. The world is not tree-shaped and the viewpoints of users are relative. OO cannot handle relativsm very well. It's "abstraction" tends to be IS-A -- absolute. Each viewpoint tends to muck up and compete with other viewpoints. With relational approaches viewpoint X is pretty much orthogonal to viewpoint Y because the "patterns" are ad-hoc created instead of physical hand-built class code.

    IOW, most domains are:

    1. Not-tree-shaped over the long-haul

    2. Users need relative views such that no one view should trump another.

    If these "lessons" about the real world are wrong, then shoot me.

  16. Re:I've always wondered by mccoma · · Score: 2, Interesting
    Speaking from experience, I always try to hire physics, engineering or philosophy graduates for programming positions. CS graduates are worse than useless because before you can deploy them on a project you have to make them unlearn all the crap their professors (who haven't been in industry for 25 years) have taught them.

    A friend of mine was hired at EDS under the same theory. He turned out to be the right kind of person to be a programmer.

    but...

    I do believe this is a myth. There are good CompSci students and bad CompSci students. People who have a passion for programming generally go into a field dealing with programming and not all CompSci programs are worthless. Most of the people in the field who are worthless have never done a program for themselves in their entire life. I can name very view (three I have the fortune to work with currently) that have successfully made the conversion from non-programmer to programmer.

    I remember an interview question a friend of mine used to use:
    "What was the last program you wrote that was not for work or school?"

    If they had any answer at all, the interview continued. If not, he wrapped it up as quickly as possible while still being polite.

  17. Re:you wouldn't think so by Ars-Fartsica · · Score: 3, Interesting
    And the reason is that most programmers couldn't re-implement a library routine if their life depended on it.

    Ah yes, I meet guys like you all the time. Convinced they can recode the STL better themselves, the lower bounds proofs not withstanding.

    Out of incompetence, they pull in a megabyte of library code, deal with dozens of bugs in "standard" library code, and try to keep several APIs in sync for something that could easily be done in a few dozen lines of code.

    Now you're using a straw man. What are these multi-megabyte libraries? You are referring to cross dependencies that pull in unnecessary code - these sympton usually appear more in hairy locally-crafted libs, and rarely appear in standard libs. This is but another reason people use standard libs.

  18. Multi-skill listings? by NFNNMIDATA · · Score: 2, Interesting

    What about the fact that almost all job listings these days will mention more than one of these skills? There are significantly less jobs than what this chart shows because of that fact, not counting the "spam" jobs. It seems that more often than not any Java post also mentions C or C# these days...

  19. typical job posting by DuctTape · · Score: 2, Interesting
    Hey, boys and girls! Let's take a look at a sample job posting on O'Reilly's XML IT Career Center:

    Required knowledge and experience with the following: Java, JSPs, EJBs, JavaScript, ASPs, VBScript, C/C++, HTML, XML, WebSphere Application Server, UNIX (AIX) platform, Windows 2000/NT platform.

    Alright, there must be a ton of people out there with these credentials, especially all that Java plus VBScript. I can think of only one person that I know that maybe has these. Read on:

    Preferred knowledge and experience with the following: OOA&D, UML, Together/J, Visual Age for Java, Visual Age for C++, DB2/UDB, MQ Series, MS SQL server, Perl and other scripting languages, Interwoven Teamsite. 5-8 years web application development or support in either UNIX or Windows platforms. Bachelor's degree in computer sciences, business or engineering.

    Damn, job's written for me!

    Seriously, who's got these credentials? And if you do, why are you still at the same job? Or are you consulting by now?

    And if you don't have all the required skills, do you apply anyway?

    DT

    --
    Is this thing on? Hello?
  20. at RIT... by MasterSLATE · · Score: 2, Interesting

    I'm currently an RIT student and the IT majors are being taught Java (2 years ago it was VB) while the CS majors are being taught C++. I find it interesting that, according to this guys results, Java is more sought after then C++ Luckily, anyone who knows C++ also *generally* knows Java

    --

    [sig]www.masterslate.org[/sig]
  21. I do this EVERY DAY, and track the results. by mshiltonj · · Score: 3, Interesting