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."

280 of 590 comments (clear)

  1. Forth by Tri0de · · Score: 5, Funny

    forth use = if unemployed then

    --
    "Everyone is entitled to their own opinion, but not their own facts."
    1. Re:Forth by SimHacker · · Score: 4, Funny
      forth ?know if honk else forth learn then

      --
      Take a look and feel free: http://www.PieMenu.com
    2. Re:Forth by Junks+Jerzey · · Score: 2

      forth use = if unemployed then

      I know you're trying to be funny, but Forth does get quite a bit of use in certain embedded control circles. That kind of thing is far outside the Slashdot realm of Perl vs. Python kind of programming discussions, though.

    3. Re:Forth by SimHacker · · Score: 2
      I've landed some interesting jobs programming Forth (like a summer internship at Sun in 1987), and used it for many projects (although not recently). Today I use Python instead of Forth, for many of the same reasons, but without most of the problems.

      One of the most widespread contemporary uses of Forth is the Open Firmware boot ROMs used in Suns, Macs and even Linux. It's even defined by IEEE standard 1275-1994.

      It was based on Langston and Perry's Forth83, and developed by Mitch Bradley at Sun, who is a major Forth guru and hardware guy. When you hit L1-A on a Sun, it dumps you into the Forth boot monitor, which let you do all kinds of things to the hardware and nvram configuration.

      The point to having a cross platform bytecode dialect of Forth in firmware, is so hardware devices can have drivers, diagnostics and configuration interfaces in ROM that will execute on any system, no matter what the processor. That was implemented long before Java was ever invented.

      -Don

      --
      Take a look and feel free: http://www.PieMenu.com
  2. Slashdotted by cperciva · · Score: 5, Informative

    That was quick. Here's the important part (without the table tags):

    Number of Job Listings by Programming Language (January 3, 2003)

    monster.com hotjobs.com dice.com %

    Java 2739 1000* 1957 27.82%
    C++ 2103 1000* 1534 22.65%
    Visual Basic 2070 969 1127 20.35%
    Perl 955 517 577 10.01%
    Javascript 925 455 498 9.17%
    C# 290 235* 183 3.46%
    Ada 384 175 57 3.01%
    Fortran 124 68 48 1.17%
    Scheme 39* 138* 46* 1.09%
    Python 58 43 33 0.65%
    Smalltalk 42 27 32 0.49%
    Lisp 12 4 9 0.12%

    9741 4631 6101

    * hotjobs.com changes a search of "C#" to a search of "C", so I averaged monster and dice.

    * hotjobs.com limits the number of results that a query can return to 1000.

    * Searching on the term "scheme" may result in false positives.

    1. Re:Slashdotted by Zeebs · · Score: 5, Funny

      So by this we can tell that companies are first wanting to make software that can run everywhere, and third software that will run no where. Interesting indeed. Looking further at these stats we see that 4th is software no one can read after writing. Further still, 3.46%(C#) of software jobs are with companies who probly want "An XML based .net solution for a dynamicly static problem range to achieve syenergy with other units"(I don't know enough buzzwords sorry)

      --

      Happy Noodle Boy says "F###ing doughnut! Mock me? You fried cyclops!!"
    2. Re:Slashdotted by shaitand · · Score: 3, Insightful

      C wasn't searched, only C++ was, and C++ programmer are not C coders.

    3. Re:Slashdotted by MisterFancypants · · Score: 2
      So by this we can tell that companies are first wanting to make software that can run everywhere, and third software that will run no where. Interesting indeed.

      No you can't. As a professional developer that has written software in C, C++, Java and C#, for every company I've done Java work for the lure was simply increased developer productivity, NOT the promise of run-anywhere.

    4. Re:Slashdotted by thogard · · Score: 3, Informative

      A copy of it is Here

    5. Re:Slashdotted by FyRE666 · · Score: 2

      Still no brainfuck developer jobs out there... [sigh] Damnit, I suppose I'll have to go learn one of these new fangled languages now. I doubt I'll be making 500,000K a year with this "C++" business though...

    6. Re:Slashdotted by Alien54 · · Score: 5, Informative

      here it is, made all pretty:

      monster.com hotjobs.com dice.com %

      Java 2739 1000 1957 27.82%
      C++ 2103 1000 1534 22.65%
      Visual Basic 2070 969 1127 20.35%
      Perl 955 517 577 10.01%
      Javascript 925 455 498 9.17%
      C# 290 235 183 3.46%
      Ada 384 175 57 3.01%
      Fortran 124 68 48 1.17%
      Scheme 39 138 46 1.09%
      Python 58 43 33 0.65%
      Smalltalk 42 27 32 0.49%
      Lisp 12 4 9 0.12%

      9741 4631 6101

      --
      "It is a greater offense to steal men's labor, than their clothes"
    7. Re:Slashdotted by LostCluster · · Score: 2

      "C" would have returned every time the letter is used alone, which would be far too many false positives to even bother trying.

    8. Re:Slashdotted by Anonymous Coward · · Score: 2, Funny

      Hey, if you're ever making 500 million dollars a year, lemme know. I'll take that job.

    9. Re:Slashdotted by shaitand · · Score: 2

      True but nonetheless c coders weren't counted. I do tend to think C is a language that deserves at least mentioning.

    10. Re:Slashdotted by macrom · · Score: 5, Insightful

      This table is completely disheartening if you're a programmer. Monster has over 250 cities/areas you can search (on their US site, that is), making an average of 10 or so jobs for the top 3 languages PER AREA. Yuck. Obviously this won't be the case, but that means some areas will have NO jobs listed for a particular area. With a total of 9741 job listings, that makes a total paper average of ~40 jobs per area. I really hope things start looking better than this.

      Another thing to consider, of the total 20K jobs across all 3 services, how many of those are dupes? Maybe half? More?

    11. Re:Slashdotted by oliverthered · · Score: 2

      Well, I don't know about the US, but in the Uk most jobs arn't 'advertised' there put through agencies.

      --
      thank God the internet isn't a human right.
    12. Re:Slashdotted by GreyyGuy · · Score: 3, Insightful

      Disheartening? Maybe if you own part of Monster.com.

      What percentage of all available jobs do you think are posted on the site? I'd bet good money that it is less then 5% and and I'd even feel pretty good on a bet that it is less then 1%.

      I'm prety confidant that there are more then 9741 job openings for programmers in the U.S.

    13. Re:Slashdotted by macrom · · Score: 2

      I don't disagree, but when I was laid off in April of 2001, I printed out pages and pages of jobs from Monster, ComputerJobs.com, HotJobs, etc. I couldn't keep up with them all. Perhaps people are correct that jobs are not being broadcast through the "normal" channels anymore. Also, it's the first of the year which is traditionally a very slow hiring time anyhow.

    14. Re:Slashdotted by mobiGeek · · Score: 2
      According to a Management Science course I took at UWaterloo, less than 2% of jobs are ever published (print, radio, internet). Most jobs are acquired via "networking" (no, not IRC...or maybe...).

      Of the three jobs I've had to date, I got one from the newspaper (my first...silly newbie) and two via head-hunters (they just happened to catch me on bad days ;-).

      --

      ...Beware the IDEs of Microsoft...

    15. Re:Slashdotted by Daleks · · Score: 2

      Lockhead Martin reposts their software jobs at least once every week on monster.com. There are about 20-30 of them. Also, on a local job board, Washington Mutual reposts their software jobs at least twice a week. There are about 30-40 of them. The saddest part is I see the same job postings week after week, month after month, and yes I am still unemployed. I've even gone out and learn the things some job postings ask for, resubmit my resume, and still nothing. HR is a joke.

    16. Re:Slashdotted by paitre · · Score: 2

      I hate to say this, I really do, since my Dad works for lockheed, but I agree :) Their HR folks -do- really suck.

      Nepotism doesn't even get interviews, and I've -tried-.

      *shrugs*
      Dat's ok. I like working for JHU :)

    17. Re:Slashdotted by Have+Blue · · Score: 2

      All C++ coders are C coders. C++ is a superset of C.

    18. Re:Slashdotted by Lucas+Membrane · · Score: 4, Insightful
      less than 2% of jobs are ever published

      That's not an accurate figure, either. In the US, most substantial governments and many large employers mandate that all jobs go through an open hiring process that does have most or all openings posted, published or advertised. These represent far more than 2% of jobs.

      Small businesses do much more hiring by other means, but they also do far more than their pro-rata share of firings and closings, too. In recent times around here, you cannot advertise a job vacancy for a decent tech job without getting deluged with hundreds of applicants, and if you give a phone number, you are out of business for weeks answering calls. Small businesses can't stand this and find other ways to hire. Of course, the current employment situation for tech workers makes it very likely that anyone needing to hire a tech worker already knows well two or three very qualified candidates needing work. In this situation, building a network of casual acquaintances is less help than one might hope, because everyone not tied up by a formal hiring process is hiring close friends and relatives.

      I have been looking at job openings closely for about three years now. I estimate that advertised tech job openings in my area fell about 75% between 6/2000 and 9/2001 and have fallen another 75% since then. Advertised pay rates are also way down. Find another career.

      For example, Computerjobs.com job openings count for my area is down to around ten jobs from around 150, dice down to around 200 from around 1200 with a much larger percentage of duplicate postings, tech job openings at governments and large employers down about 90%, local classified advertising down about 90%.

    19. Re:Slashdotted by bergeron76 · · Score: 2

      Please quantify your definition of "90%" of computers. Do you mean 90% of _all_ computers (embedded, servers, desktops, phones, calculators, etc?)? Surely not. You're seriously MSFT brainwashed if you do. 90% of computers that do something? 90% of computers that run MS Windows? or 90% of computers that can successfully idle, but otherwise perform no reasonable function?

      Please, if you make a "statement" like that, quantify it. If you don't I'm going to be forced to write your statement off as 100% propaganda and 0% substance.

      --
      Don't think that a small group of dedicated individuals can't change the world. It's the only thing that ever has.
    20. Re:Slashdotted by larry+bagina · · Score: 2, Informative
      All C++ coders are C coders. C++ is a superset of C

      int main(void)
      {
      int new;
      return 20 //* yes this is legal */10;
      }

      g++ that and tell me it ain't so!

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    21. Re:Slashdotted by Lucas+Membrane · · Score: 5, Informative
      Yes, the percentage of new hires made by small companies is high. But don't give the small companies too much credit. The percentage of employment in small companies is much lower, however, as those who work in small companies tend to need to find work much more often.

      The statistics look like this:

      • About 20% of private US employment is in companies with fewer than 20 employees, but about half of that is in firms so small that you have zero chance of getting hired unless you are a good friend or relative.
      • About 20% of private US employment is in firms with 20-99 employees.
      • About 15% of civilian US employment is in the government sector (Fed/State/Local).
    22. Re:Slashdotted by plumby · · Score: 2
      I assume that what you are trying to say is that everyone who knows C++ knows C by default, as C++ includes all of C's syntax, plus a load of extras.

      While this is to some extent true (C++ does subtly change one or two bits of C behaviour), it doesn't mean that a C++ programmer can automatically be a C programmer. There are many techniques that you usually have to use in a C program that are often not used in C++, so the programmer may not be aware of them, or at least how to use them properly (for instance a polymorphic class will often be used in C++ where a function pointer might need to be used in C; a lot of memory management stuff that can be done using STL in C++ isn't there in C etc), which means that just translating your C++ knowledge to C will not make you a real C programmer.

      All C++ programmers should be able to read and understand C, but not all will be able to write it effectively.

      I've programmed in C, C++ and Java in my time (amongst many others), although I've not touched C professionally for about 10 years. The syntax is close enough to the other two (which I have used much more recently) that I could still code in it if I had to (something I can't say for many of the other languages that I've used), but I would no longer call myself a professional C programmer, as I have forgotten many of the nuances of using plain C effectively.

    23. Re:Slashdotted by DunbarTheInept · · Score: 2

      C++ is not entirely a superset of C. C++ has more anti-shoot-self-in-foot features that will cause many C programs to give syntax errors if compiled with a C++ compiler. For example, in C you can assign any pointer to foo into a variable declared as pointer to bar, without a cast. In C++ the cast is mandatory. In C you don't need prototypes for functions - if the values passed in don't match the values the function was written to use, then it compiles but at runtime you get stack corruption as the data pushed on the stack before the call don't match the data popped from the stack by the function.

      Now change "C" to "Ansi C" or "ISO C" and it's a bit closer to being a subset of C++, but even there there are still a few obscure gotchas.

      --

      Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.

    24. Re:Slashdotted by muyuubyou · · Score: 2, Insightful

      I see a lot of problems in this: 1 Where is Cobol? I can tell you it's used more widely than Scheme or Smalltalk or LISP. 2 C and C++ get mangled... usually you're asked for both. Sometimes you are asked for ONE of them, but great expertise. And top level jobs are more C than C++ in my experience. 3 Where is Assembler? (x86, PPC, SPARC, MIPS ...) There are very well paid jobs in reverse engineering, speed-critical appliances and the like. 4 Salaries are not even mentioned. I don't know about you, but there IS a threshold for me - I won't even consider crap jobs.

    25. Re:Slashdotted by Safety+Cap · · Score: 2
      ~ I printed out pages and pages of jobs ~.
      How many of those "jobs" were actual positions at companies as opposed to body shop resume trolling?
      --
      Yeah, right.
    26. Re:Slashdotted by TheLink · · Score: 2

      Yah. All people who can clear minefields using robots or hands can clear mines using their hands alone.

      But I figure most will get tired of getting their limbs blown off on a regular basis. Or spending hours with their noses at dirt level.

      --
  3. 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 pVoid · · Score: 2
      It's sad but if this really is the case, that means most of the industry is only involved in Web apps, and get-to-market-quick web apps at that.

      Which I find sad because that's not really what I consider the nicer forms of programming. All IMHO, of course.

      And don't get me wrong 90% of my work is web oriented. But I just remember a few years ago, saying you were a web developer was kind of degrading.

    2. Re:Java & ASP by Anonymous Coward · · Score: 2, Insightful

      A few years ago a web "developer" was a web designer.
      "Hey look I can code in HTML !"

      That was a shame, but luckily the dot com bust removed a good chunk of those bozos.

      Next came the "e-commerce" guys. A much tougher task than just drawing pretty pictures.

      Nowadays people are spicing up there resumes with things like "Architecting reliable enterpise B2B web services and applications". Whatever.

      A good developer tries to thoroughly understand his task, and uses the right technologies to get it done. Buzzwords be damned.
      Still, its too bad that some of us get labeled "web" this or that because we happen to move data around using tcp/ip

    3. Re:Java & ASP by MillionthMonkey · · Score: 5, Insightful

      It seems to be that companies are moving from VB to .NET, not that Java developers are moving to .NET.

      This is not surprising at all and it's what I've been hearing from everybody. Java code is harder to port to .NET than VB- not because Java is conceptually further away from .NET than VB is (it definitely is not) but because it comes from a different vendor (Sun). That makes it harder for MS to write a good porting tool. And people generally chose Java in the first place because they wanted to deploy their stuff on Unix and Linux servers (thus avoiding the vendor lock-in and security issues associated with Windows) while still being free to develop on their Windows laptops- on which the OS choice is a relatively minor project consideration. So there is that.

      The migration path from Java to .NET isn't as trivial as the VB->VB.net migration. J# gives you Java-like syntax. But while syntax seems like a major issue from a beginner's perspective because it's the first thing you have to learn, it's minor compared to library support. You eventually invest more time learning the library than the syntax. The .NET framework is a completely different animal than the Java libraries that you've learned and that your Java programs have been compiled against. And seriously, who would want to use J# for a new project when C# is available?

      VB and VB.net are both MS creations and MS is exerting pressure on the VB community to switch. A VB programmer can practically feel Microsoft's bayonet in his back pushing him down the VB.net migration path. And the porting tools are relatively straightforward for MS to implement, since they control both technologies. So if you program VB (ASP or not) for a living, I think you'd better learn VB.net ASAP.

      If you're a Java programmer, however, it isn't as clear. The best arguments I can think of for learning .NET are:

      -The obvious conceptual similarity to Java means that you've already mastered at least the fundamentals- even if you still have a lot of studying ahead to learn the .NET framework APIs.

      -Java is generally considered inadequate for Windows client applications. (Unless you're developing on Linux using SWT/gcj and cross compiling to generate a Win32 EXE, or you're just compiling against the SWT library using javac and distributing a JAR and DLL. SWT does give your Java program that nice "C++ feel" you always wanted.) This isn't really Java's fault, it's Sun's for providing horrible GUI APIs like Swing/AWT. They make it way too obvious to everybody that you implemented your program with Java. Even though MS marketing still has its head stuck up its ass with this "XML web services" hype, the relative ease of writing simple desktop applications for Windows is a major thing that .NET brings to the table. Actually, that was a nice thing about J++/WFC a few years ago. Having to choose between VB or C++ w/MFC just sucked. (Although there are certainly alternatives: Python/Tkinter, Mozilla/XUL, etc.)

      -Java/J2EE skills (and server programming skills in general) may turn out to be insufficient for paying the rent/mortgage (tech slump, telecommuters from Calcutta, etc.), and not many people (yet) have .NET on their resumes. Although .NET will quickly succumb to this too. But a programmer who knows both is that much more employable than one who knows only Java. Still, and this cannot be emphasized enough, companies want expertise in their field. Knowing a programming language isn't enough- you should also know the gritty details about a specific industry (trucking, pharmaceuticals, retail, online pornography, accountancy, whatever). If you're a nervously employed Java programmer, learning .NET might not help you as much as becoming an expert in whatever your company does- even if that is the boring part of your job. By gaining industry expertise, you help yourself stick out from all the $7/hr people in India who are itching to replace you.

    4. Re:Java & ASP by Fulcrum+of+Evil · · Score: 2

      This is not surprising at all and it's what I've been hearing from everybody. Java code is harder to port to .NET than VB

      I find this amusing, since C# started life as COOL - a hacked up Java variant. I used to joke that the only reason for it was because MS was enjoined from selling Java. Of course, it's got a few new features. I still don't see how it would be hard.

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

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    5. Re:Java & ASP by Kombat · · Score: 2

      Just an FYI, but it is incorrect to say that companies are moving "from VB to .NET." If they are moving to .NET, then they still must program in either VB or C# (yes, yes, or J#, fine). Since these companies are not likely to retrain their staff in C#, or dump them all and recruit C# coders, they will probably move from ASP in VB to ASP.NET in VB.NET. They'll still be using VB and ASP - just the newest versions of them.

      --
      Like woodworking? Build your own picture frames.
    6. 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. :)

    7. Re:Java & ASP by Kombat · · Score: 2
      No it is not. VB is more popular than C, C#, or C++. It is the most widely used programming language in the world.

      VB.NET and C#.NET both compile to the same intermediate bytecodes. The .NET runtime runs these bytecode classes and can't tell (nor does it care) what language the original code was written in.

      --
      Like woodworking? Build your own picture frames.
    8. 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
    9. Re:Java & ASP by tshak · · Score: 2

      Actually, the parent post is more correct than you may think. To be more specific, VB.NET is a migration path to .NET, where many languges can be used. C# is not only the language that MS uses internally, it's also the language that takes full advantage of the .NET platform. Of course, many other languages, VB.NET included, will do just fine.

      VB.NET and C#.NET both compile to the same intermediate bytecodes.

      Actually, this needs to be more carefully worded in order to be correct. First, the IL is not bytecode. Second, VB.NET and C# both compile to the IL (Intermediate Language) in a fashion that is similar to C++ and Delphi compiling to ASM. Other than writing a simple Hello World app, the resulting IL of VB.NET and C# can differ tremendously, especially when VB.NET's "option strict" is turned off. This is because they are different languages using completely different compilers. They just compile to the same IL, which allows them share the same BCL (the .NET Framework) as well as interoporate regardless of language.

      --

      There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
    10. Re:Java & ASP by __past__ · · Score: 2
      [VB] is the most widely used programming language in the world.
      AFAIK, that award would still go to (the equally enjoyable) COBOL. And it seems to be here to stay; not many banks plan to reimplement the million-line, grown-over-decades custom apps that run their business in either VB or C#. Note also that there are several free COBOL compilers on Sourceforge, and after Java and C++, it is the the third language to be supported by the Eclipse IDE with an "official" project.

      It may well be that most shrinked-wrap GUI apps are written (at least partly) in VB these days. For some reason COBOL isn't really popular in this area ;-)

    11. Re:Java & ASP by j3110 · · Score: 2

      Nice post, but I have a little nit-picking :)

      MS has a porting tool that is supposed to work with 99% of all Java code. It probably won't work well with obscure API's or JNI, but I here it is indeed pretty magical. It makes the conversion process easy enough to play with for small apps. Larger apps will still take some grunt work I'm sure.

      Swing is a nice GUI API, IMO. Like you though, it pains me too see GUI's written in Swing. Not because SWT is better, but because no one takes the time to use layouts properly. The end product is a GUI that looks and feels like VBA by a cheap contractor. I've seen good Swing applications, but they are as rare as good MS products. Maybe Luxor(XUL for Java) or one of it's kin will make UI design as easy as web design. Then only 50% of them will suck. The biggest problem with UI design in Java is that it's done by a programmer that only cares about functionality (a lot like me) and not by an artist (like the Mac UI). Swing isn't what makes apps slow. GC doesn't make Java slow. Poor programming habbits are the #1 cause of sluggish UIs.

      With MS having to carry a decent JVM on the desktop now, you can expect to see a lot more apps for the desktop written in Java. If only SUN would lighten up on the license so it can be included on Linux....

      An interesting side note: Since the judge ordered MS to carry Sun's JVM, does MS have to agree with the license for distrobution? Can they not ship competing technologies like J++ for .Net on Windows?

      --
      Karma Clown
    12. Re:Java & ASP by MillionthMonkey · · Score: 2

      MS has a porting tool that is supposed to work with 99% of all Java code. It probably won't work well with obscure API's or JNI, but I here it is indeed pretty magical.

      You're right, that tool ports code from Java to C# (not J#, like I was thinking) so the API limitation isn't an issue for end users. (Although the porting tool is still more difficult for MS to implement than the one for VB.) Actually, the porting tool sounds like a quick way to learn C# and the .NET framework. Although you might end up writing code that's similar to a porting tool if you learn C# that way.

      Swing is a nice GUI API, IMO.

      Oh the API itself is wonderful (if unnecessarily complicated). There's a lot of things you can do with it because it has so many features. But unless you spend the majority of time tweaking your GUI code (instead of doing other stuff) what you end up with is ugly defaults. Ever see a Swing GUI programmed by a physicist or engineer? UGH. Swing practically demands a dual major in comp sci and art.
      And the performance stinks because there are too many classes to load and initialize. The text editing stuff is the most overengineered part. Documents create too many objects. And Swing apps don't look like other apps on the system. Even if you use the Windows L&F they still stick out. Try changing your XP skin and seeing how your "Windows" Swing apps react.

      I've seen good Swing applications, but they are as rare as good MS products.

      I like IntelliJ IDEA. Well done Swing apps can be quite impressive. In the way that a 747 built out of Legos is impressive.

      The biggest problem with UI design in Java is that it's done by a programmer that only cares about functionality (a lot like me) and not by an artist (like the Mac UI).

      Are all Mac programmers artists?

      Swing isn't what makes apps slow. GC doesn't make Java slow. Poor programming habbits are the #1 cause of sluggish UIs.

      Actually, all three of those things can contribute.

    13. Re:Java & ASP by Oink.NET · · Score: 2
      I find this amusing, since C# started life as COOL - a hacked up Java variant.

      Actually, the history of C# doesn't have as much of a direct link to Java as you might have expected.

  4. PHP??? by Reservoir+Penguin · · Score: 4, Insightful

    Where is it? PHP has become the defacto standard for developing new websites. There are certainly more PHP jobds then Python ones. It would also be interesting
    to learn about employment oportunities for ppl with older skills like Cobol, Fortran, Assembler.

    --
    US-UK-Israel: The real Axis of Evil
    1. Re:PHP??? by the+eric+conspiracy · · Score: 3, Informative

      Where is it? PHP has become the defacto standard for developing new websites.

      If it has, it surely isn't reflected in available PHP jobs. Last time I looked on Dice there were 50 Java and 25 ASP jobs for every 1 PHP job.

    2. Re:PHP??? by JimDabell · · Score: 5, Informative
    3. Re:PHP??? by sql*kitten · · Score: 2

      No one uses PHP at an enterprise level, nor is it ready to be used in such a manner

      Agreed. PHP users neither hire significant numbers of programmers nor pay significant salaries. That's a fact and I defy any Slashbot to prove otherwise. C++, Java PL or T SQL and COBOL is where it's at, and I don't see that changing for the next 10 years.

    4. Re:PHP??? by Morgahastu · · Score: 2

      I was not trolling, or atleast I did not intend to.

      What I should (and ment) to say was that a small percentage of large critical sites uses php.

      Yes Yahoo! does plan on using php but that is only one large site that I know. PHPs main usage is on small to medium sized sites usually with a small crew of developpers.

      I'd like you to point out a large retailer that uses php for its online store, or an online banking site.

      JSP is the main approach used by developpers for large critical sites.

    5. Re:PHP??? by g4dget · · Score: 2
      Yahoo's decision to switch makes sense: developing web sitesin PHP is generally easier than in C++ or Java.

      But the article gets the reasons all wrong. It presents C++ as proprietary language with "variants", against open source PHP. That's, of course, complete nonsense. C++ is standardized and has multiple open source implementations.

    6. Re:PHP??? by Malcontent · · Score: 4, Informative

      "I'd like you to point out a large retailer that uses php for its online store, or an online banking site."

      I am not sure where you are getting at with this. If you mean it's not possible to build a large, complex and busy site using php you need to look no further then sourceforge. Now sourceforge is not a commercial site but I bet it gets more use then 99% of the commercial sites on the net.

      I don't know why it's so special to have a commercial site in php but I know of several. Here are just a few companies that I have dealt with which use php on their web sites.

      Nonetheless if you insist on an example of a large online store using php look at
      Insight.com or catalog.com

      --

      War is necrophilia.

    7. Re:PHP??? by Billly+Gates · · Score: 4, Insightful
      Like ASP, PHP pages have the engine compilied as a module that loads with the HTTP Server. This makes it lightening fast like asp. I would think in heavy websites that php would be alot better then interpretive languages like Java or Perl. I do not understand your argument on why php is used by only a small to medium websites. It frankly can scale quite high and maybe the only solution available besides ASP for really high end websites.

      Retailers have been on the web since the dawn of the web browser in the mid 1990's. They already standardized on their development tools years before php became what it is today. Like Perl and Java before it, it will take some time before it takes over.

      For a new website php is a compelling language to choose. For an existing website it may not be worth it due to the costs of retraining the developers as well as redeveloping all of the website code. As recent as the late 1990's the vast majority of websites still used only dynamic html and javascript with a few experimenting with asp.

      This happened even though perl and java EE were already out and capable. Infact Perl using cgi and Java EE are now just starting to become standard in the corporate community even though they have been ready for years. Its because companies like what they have and do not want to change. Same argument for php applies here.

      In 5 years I bet at least %25 of the big web sites will use php. That is unless trusted computing aka pallidium takes over where asp will be the only thing that will be accepted when doing commerce on the web. *shudder**

      p>Php is advanced and certainly is enterprise ready with loads of libraries and features. It is used on quite a few commercial websites already.

  5. 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.

    1. Re:At what price? by njdj · · Score: 2

      I'de be willing to bet that while Java is real popular, you would get much higher pay for fortran.

      Well, duh. You'd have to pay me a lot more bucks to agree to undergo the torture of programming in fortrash than in any of C++/Java/C etc.

    2. Re:At what price? by anonymous+loser · · Score: 2

      You mean as the supply diminishes, the price increases????

      Gee, way to point out a basic law of microeconomics.

      I'd like to remind you that there is also a demand curve, where the price decreases as demand decreases. If there are only a few positions available but many applicants, there will price competition between the applicants resulting in a lower salary.

  6. Trends; what I've seen by Lumpish+Scholar · · Score: 2

    There's some web site somewhere that has been keeping track of this ever month (week?) over the past few years. (Sorry, I've forgotten the URL, and can't find it with Google.)

    My recent experience is that, for every C++ job, there are between two and two-and-a-half Java jobs.

    --
    Stupid job ads, weird spam, occasional insight at
    1. Re:Trends; what I've seen by Arandir · · Score: 2

      My recent experience is that, for every C++ job, there are between two and two-and-a-half Java jobs.

      Yeah, but for every Java job, there are two and a half interesting and challenging C++ jobs!

      Face it, Java is a nice language (better than C++ in most respects), but the jobs that come with it tend to be bottom of the barrel.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
  7. 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.
  8. Can't get to the site... It is slashdotted. by dagg · · Score: 2, Offtopic
    Here's a K5 article in the submission queue that talks about the ethics of slashdotting a site:
    K5 Article

    And on-topic, I hope that Java/Oracle/Perl/Web/Unix relevant languages are popular. If only I could see the list.

    --
    Sex - Find It
    1. Re:Can't get to the site... It is slashdotted. by ergo98 · · Score: 2, Informative

      This would make some marginal sense if it weren't for the fact that the author and maintainer of the page in question submitted the story.

  9. Prior Language Market Data by Baldrson · · Score: 2, Informative

    Don't forget Ted Shieh's prior work tracking jobs for different programming langauges. Its more than a bit out-dated now but anything longitudinal is valuable.

  10. Re:Already slashdotted by shaitand · · Score: 5, Insightful

    This isn't offtopic, it's research into the right buzzwords to get a job. Do you know even one serious programmer who can't code in any language if presented a pocket reference guide? Citing specific languages in a job search is all about buzzwords for resumes.

  11. Ignorant, only PC languages were chosen? by Shivetya · · Score: 4, Insightful

    Gee, typical.

    Lets broaden the search to languages commoningly used in minis and mainframes. Perhaps the results will be more relevant?

    --
    * Winners compare their achievements to their goals, losers compare theirs to that of others.
    1. Re:Ignorant, only PC languages were chosen? by spacefight · · Score: 2

      Right. But at least you can code with C and C++ on the S/390 with the C89 compiler...

  12. Study innaccuracies by kaosrain · · Score: 2

    This was a very unscientifically performed study. Job availability for scheme included entries such as:

    Outside Sales Consultant

    1. Re:Study innaccuracies by __past__ · · Score: 2

      In this light, how do we interpret the result for Smalltalk?

    2. Re:Study innaccuracies by kaosrain · · Score: 3, Funny

      In this light, how do we interpret the result for Smalltalk?

      The same way we interpret CmdrTaco...very carefully.

    3. Re:Study innaccuracies by Anonymous Coward · · Score: 2, Insightful

      This is not a study, nor did the originator state such. It is a compilation of information pulled from various search engines and Web sites, each of which has different search parameters.

      The inclusion of Monster.com alone invalidates any sort of scientific or statistical rules. The contents change daily. Also, in most cases, the people entering job notices are HR types, not the techies that actually use the languages.

  13. Re:Javascript is programming??? by jolujogat · · Score: 4, Insightful

    Perl is a scripting language too, and its up there.. it takes a bit of programming knowledge to write good scripts.

  14. 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.
  15. What lousy methodology. by DeadSea · · Score: 5, Insightful
    Job openings are crammed with requirements that are not necessary. Applicant should have 5 years experience with C#. Applicant should be fluent in Perl, Lisp, Scheme, and Fortran (Yeah I'm sure you'll use all those).

    Furthermore, the searcher omitted C. C is still a very popular language for embedded applications. Everybody I know around here that got hired recently got hired to write C or assembly for hubs, cell phones, TVs or printers. I program almost entirely in C for work but I program in Java for fun.

    These job sites are not the way to go. I'd say a survey of recent CS grads, and people that recently got new jobs would give much different results. Even a slashdot survey saying "Which language do you use most at work?" would be better.

    1. Re:What lousy methodology. by Monkelectric · · Score: 2
      Exactly! I just applied for a web page design job asking for people with game development experience!

      Also on the same page was a job for an AV technician -- BS in comp sci required...

      --

      Religion is a gateway psychosis. -- Dave Foley

    2. Re:What lousy methodology. by etymxris · · Score: 2

      C was probably omitted due to the difficulty of searching for just that, and not, say, C# or C++. These search engines apparently return anything matching a substring, so "C" will match "C#" or "C++" as well as just "C". You could search for "C AND NOT C++ AND NOT C#", but then this would be inaccurate as well. There may be many jobs that ask for two of these languages, or all three.

      The person posting the query results also ran into this problem with "java" vs. "javascript". Many jobs may ask for both. By only searching for one or the other, you are omitting quite a portion of jobs.

    3. Re:What lousy methodology. by Waffle+Iron · · Score: 5, Funny
      Even a slashdot survey saying "Which language do you use most at work?" would be better.

      Typical data point:

      Which language do you use most at work?

      ( ) C/C++
      ( ) Java
      ( ) Perl ( ) Would you like to supersize that for only 39 cents extra?
      (X) CowboyNeal

  16. These figures aren't useful at all. by wackybrit · · Score: 5, Insightful

    It h-has become a disturbing trend in recruitment circles to advertise jobs you don't actually have, in order to mine résumés for potential employer contacts. I know that this is especially common in the UK. I'd bet that less than half of these jobs are real.

    Another worrying trend is that I know people who've responded to job ads, and even gone for interview, and have been told that the job doesn't exist, but that they wanted a healthy batch of résumés on file for when the economy picks up(!!)

    Th-th-the best people to ask are the freelance workers, the people actually here on Slashdot. What languages are most in demand?

    In the main, as a programmer myself, I find that specific, er, languages are not demanded so much. People want solutions, unh, not languages. That said, from the REAL ads I see (I'm in numerous freelance work groups), PHP and MySQL are way way way at the top of the tree, followed by Java.

    1. Re:These figures aren't useful at all. by wackybrit · · Score: 2, Funny

      Curiously, I'm now in a position to start looking for developers myself.

      Uh oh, this is the worst place you could have said that. I seriously hope you haven't got your real e-mail address on your user page :-)

    2. Re:These figures aren't useful at all. by Elwood+P+Dowd · · Score: 2

      It's not just to keep resumes on file. It's also so that HR can look busy so they'll be less likely outsourced. I have a friend who went in to an interview once, and was told that the company had a policy of requiring outside interviews for all positions, but they were going to hire someone up internally. He just wasted hours of his life on the telephone, in the car, and in the interview room.

      I hate HR.

      --

      There are no trails. There are no trees out here.
  17. damn... by abelaye · · Score: 2, Funny

    ...looks like the site's been slashdotted. i really am curious to know what the numbers are for QBasic.

    bwahahaha!

    that gorilla game kicked ass....wonder if it's been ported?

    -- anthony

  18. 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 certron · · Score: 2

      "C (not ++, not +, not #, just C)"

      This reminds me of a posting I saw once that wanted both C+ and optic-oriented programming. :-)

      I really hope it was an HR drone putting that listing up...

      --

      fair.org counterpunch.com truthout.com indymedia.org salon.com
      eff.org guerrilla.net debian.org gentoo.org
    3. Re:Java way up there? by sql*kitten · · Score: 3, Insightful

      Last but not least, where are some other languages? What about... blah blah, long pointlesss list deleted

      Look, the languages that matter are C++, Java, SQL, FORTRAN and COBOL. I'm sorry the trendy open-source language "de jour" isn't there, and I'm sorry this week's academic favorite isn't either. The fact is, no-one gets paid for their "elite" Haskell or Glish or elisp "skills". Slahsbots can whine about this 'til the sun implodes, it won't make a difference. Learn a corporate standard or, to put it simply, don't bother looking for a job. End of story.

    4. Re:Java way up there? by Anonymous+Brave+Guy · · Score: 2
      This reminds me of a posting I saw once that wanted both C+ and optic-oriented programming.

      Yep, like the ad I once saw for a "veteran pearl programmer"...

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    5. Re:Java way up there? by Anonymous+Brave+Guy · · Score: 2
      Look, the languages that matter are C++, Java, SQL, FORTRAN and COBOL.

      You missed out C and VB, which are easily as important as any of the above, but otherwise, I totally agree.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    6. Re:Java way up there? by iggymanz · · Score: 2

      Of course, instead of using Inheritance, you could learn an OO language and make object methods that set/change private internal function pointer attributes......if I had your philosophy (and I do understand some of the good points of thinking that way, I'd rather have someone design a kernel thinking your way than the OO way) I would do it just for the fun of pissing OO zealots off, would be fun :)

      Of course, my philosophy is the opposite, I like OO languages that even go so far as to "hook" or intercept method calls outside of the inheritance chain...

    7. Re:Java way up there? by miu · · Score: 5, Insightful
      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.

      Do you want your compiler saving registers and setting up stack frames behind your back?

      --

      [Set Cain on fire and steal his lute.]
    8. Re:Java way up there? by /dev/trash · · Score: 2

      well technically, the ad was right.

    9. Re:Java way up there? by cperciva · · Score: 2

      Do you want your compiler saving registers and setting up stack frames behind your back?

      Saving registers and setting up stack frames happens below the level of the language; the code which is inserted to do that will not effect the sequence of lines of code which get executed.

      Inheritance and overriding functions is different: It allows other people to insert their code in the middle of my code. If I want to have people doing that, I'll allow them to pass me a function pointer; but in most cases I want to be able to make internal assumptions about how my code works without having inheritors break them.

    10. Re:Java way up there? by cperciva · · Score: 2

      Anything which you can do with objects, I can do by passing function pointers around. The difference is that I'll be doing it deliberately, and as a result I'll be forced to think about what I'm doing.

      If you know what you're doing, and you're the only person who is going to be using your code, objects are a very powerful tool; otherwise, objects are simply a very powerful way to shoot yourself in the foot.

    11. Re:Java way up there? by the+gnat · · Score: 2

      My impression is that FORTRAN is largely limited to legacy systems and some scientific software, and COBOL is almost entirely relegated to legacy systems and companies that insist on staying with mainframes. I work in scientific computing, and FORTRAN is still alive and kicking, but every job I've seen that requires experience in it first lists C/C++ and usually Java as well, and all of these companies have significant products written in FORTRAN that in most cases have been around for years. I don't think many people are starting *new* projects entirely in FORTRAN.

      As for COBOL, why??? I can understand why people with COBOL knowledge are valuable, but does anyone actually write new COBOL code rather than using a more, um, modern language? Is there anything that COBOL is better for than PL/SQL and Java? Even IBM is pimping Java now, and I thought they were the only manufacturer whose products were used for COBOL. . . or does DB/2 involve COBOL isntead of some proprietary SQL-based language?

      Otherwise, I agree. Anyone competent in C++ or Java ought to be able to pick up Perl or Python in a weekend, and would probably be much better at it than most people who start out in Perl or Python.

    12. Re:Java way up there? by stickb0y · · Score: 2
      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."

      Maybe not, but there are plenty of other reasons why someone would know only C and not C++.

      Just because C++ is (mostly) backwards compatible with C doesn't mean that knowledge of one automatically grants knowledge of the other.

      I know C very well. There are many aspects, paradigms, and even syntactic differences of C++ that I haven't gotten around to learning yet.

    13. Re:Java way up there? by miu · · Score: 2
      Saving registers and setting up stack frames happens below the level of the language; the code which is inserted to do that will not effect the sequence of lines of code which get executed

      Saving registers and setting up stack frames used to be part of the language. The change from pre-structured code to the C stack based implementations made certain types of control stuctures unusable. This type of thing kept game programmers on assembly years after they should have switched to C.

      The levels of abstraction added to C as compared to assembler have some cost. The levels of abstraction added to C++ have some cost, but you have to choose to use them.

      Inheritance and overriding functions is different: It allows other people to insert their code in the middle of my code. If I want to have people doing that, I'll allow them to pass me a function pointer; but in most cases I want to be able to make internal assumptions about how my code works without having inheritors break them.

      C++ does not mean OOP. In C you are exposed to the same problem whenever you use a shared library, you are counting on the library supplier.

      There are plenty of no cost C++ features that are reasons to use C++, even if you are just using it as a "better C".

      --

      [Set Cain on fire and steal his lute.]
    14. Re:Java way up there? by iggymanz · · Score: 2

      I've had the same problems and issues using other people's C code as C++ code.....I also know I do a LOT more typing using C than C++ (and about 1/10 the typing using a Very High Level language like Ruby). But of course I wouldn't want my kernel to be in Ruby or my device drivers in C++...but of course, the assembly language guy is going to say you're not thinking about your register & stack & heap allocations, or layout of your data segment
      My father and brother like to cut auto parts out of solid chunks of steel rather than buy them at the auto store, which is great for the drag strip but not for when their spouses want the family car fixed in a hurry.....and lazy me I just take my car to the shop :)

    15. Re:Java way up there? by MillionthMonkey · · Score: 2

      Inheritance and overriding functions is different: It allows other people to insert their code in the middle of my code. If I want to have people doing that, I'll allow them to pass me a function pointer; but in most cases I want to be able to make internal assumptions about how my code works without having inheritors break them.

      Smart. That way, the client programmers (your frigging users BTW) will pay the extra $$$ to buy the source from you so they can work around the implicit assumptions you made that turned out to be inappropriate, wrong, or moronic. If you were designing cars I bet you'd have the hood welded shut too. Ever consider your users might have more of an idea down the road what changes need to be made than you do at the moment?

      I wrote a program that reads in a JAR file and spits out a copy that clears the ACC_PRIVATE and ACC_FINAL bits on all the class, field, and method declarations. It can also be used as a classloader that doctors the class definition bytes before handing them over to the JVM's primordal classloader. It was a lot of fun actually, but I think JDK 1.4 broke it.

    16. Re:Java way up there? by cperciva · · Score: 2

      There are plenty of no cost C++ features that are reasons to use C++, even if you are just using it as a "better C".

      That depends upon exactly how you define "no cost". I consider overloading (of operators and functions) to be useful for little more than foot-shooting; and I have yet to see anything which can be done with templates which can't be done with either preprocessor code or more function pointers. I don't like exceptions either -- they seem to teach people to not check return codes.

      Ok, anonymous unions are nice, and C++ style comments are sometimes useful. But there aren't many C compilers left which don't support those.

    17. Re:Java way up there? by cperciva · · Score: 2

      Ever consider your users might have more of an idea down the road what changes need to be made than you do at the moment?

      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.

      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.

    18. Re:Java way up there? by miu · · Score: 2
      Ok, anonymous unions are nice, and C++ style comments are sometimes useful. But there aren't many C compilers left which don't support those.

      The features I was thinking of the new casts, scoped local variable decleration at first use, and the STL.

      I agree that you can shoot yourself in the foot with operator or function overloading, but I'd say you are more likely to hurt yourself with a void pointer or switch statement - both of which are supported in C++ but are C idioms.

      I still have mixed feelings about exceptions in C++, I have not used them much in my current environment but I admire the idea (and love them in Python).

      --

      [Set Cain on fire and steal his lute.]
    19. Re:Java way up there? by cperciva · · Score: 2

      As far as your argument with exceptions, if checking return codes is better, people will use that; if exception code is better, why should you force them to check return codes?

      Many libraries report errors only through their return codes. My complaint is that people get used to only checking for exceptions, and then don't check the return codes in places where that is the only indication of errors.

    20. Re:Java way up there? by blamanj · · Score: 2
      Inheritance breaks this -- people need to know how your code works in order to know which functions need to be overridden.

      Nonsense. That's what documentation is for. If you're really paranoid about having your methods overridden, do this:

      final public void mineAllMine() {
      // do stuff
      try { untrustedCode(); } catch (Throwable t) { }
      // do more stuff
      }

      public void untrustedCode() { }

      Then your method is safe but you give the user a hook in. Usually, it's not necessary to be so paranoid, though.

    21. Re:Java way up there? by cperciva · · Score: 2
      Nonsense. That's what documentation is for. If you're really paranoid about having your methods overridden, do this:

      Allow me to present an example from a paper by Jeremy Gibbons because I'm too lazy to come up with my own.

      Consider the class CharArray:
      public class CharArray {
      protected char []chars;
      public CharArray(){
      chars =new char [100 ];
      chars [0 ]='\0 ';
      }
      public String getString(){
      int i;for (i =0;chars [i ]!='\0 ';i++);
      return new String(chars,0,i);
      }
      public void insert (char c,int pos){
      int i;for (i =0;chars [i ]!='\0 ';i++);
      for (;i>=pos;i--)chars [i+1 ]=chars [i ];
      chars [pos ]=c;
      }
      public void prefix (char c){
      insert (c,0);
      }
      }

      Suppose you want to create a subclass CharArrayLength, which adds an attribute "Length", and a method "getLength".

      Which functions do you override? Obviously, you create a new constructor which calls the old constructor and initializes Length to zero; but how do you update Length?

      If you override both CharArray.insert and CharArray.prefix, you'll end up updating Length twice when CharArrayLength.prefix is called; but you have no way of knowing this unless you can see how CharArray.prefix is implemented. Even worse, if someone later changes the implementation of CharArray (for example, to make CharArray.prefix perform the insert itself, instead of calling .insert), it will break your subclass.
    22. 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!

    23. Re:Java way up there? by cperciva · · Score: 2

      To go so far as to lock the black box is ridiculous.

      You seem to be obsessed with the idea that I'm evil. Why?

    24. Re:Java way up there? by MillionthMonkey · · Score: 2

      You seem to be obsessed with the idea that I'm evil. Why?

      Sorry, I didn't realize that's how I was coming across!

      I guess I shouldn't have compared you to our marketing manager- that was uncalled for.

    25. Re:Java way up there? by aminorex · · Score: 2

      I'm a master pearl programmer with 20 years of
      experience.

      You may not know it but "pearl" is slang for
      "clitoris" in Japan.

      --
      -I like my women like I like my tea: green-
    26. Re:Java way up there? by pi_rules · · Score: 2

      I don't think anyone out there goes "I only know C, I don't use C++ because

      I'm wary of anybody that says they "know" a language. I'm also wary of anybody looking to hire me that wants me to "know" a language.

      I don't have a single language in my arsenal that I -really- know. Which means i probably know more about them than the people that -say- they know them. Last time I looked at the 3rd edition of The C++ Programming Language Bjarne himself states that he doesn't consider himself an expert in C++. He learned a lot about how to use the language when writing the book -- other people now knew more about C++ than he did.

      I try and get this point across when interviewing and such. "No, I don't consider myself an expert in X but I can honestly tell you that there's a good chance I've got a better handle on it than most people who would dare say they're actually an expert." Seems to go over well -- I start Monday :).

      The funniest language to really poke at here is HTML -- it's simple compared to an actual programming language. I once actually dared say I -knew- HTML when I was still in college. As I learned more about XML and markup languages in general, it dawned on me that I still didn't get HTML. So, I'm still learning that one 5 years later.

      If you're out there thinking you know HTML -- go grab the spec from www.w3c.org for HTML 4.01, jam 400+ pages of paper in your printer and print it out. I see people that are HTML "experts" doing:

      <table .....>
      <form ....>

      And then VB experts:
      If (objDatabase Is not Null and objDataBase.NoErrors()) Then ...

      E-gads brain.

    27. Re:Java way up there? by aminorex · · Score: 2

      Java, C++, Perl, JavaScript and Visual Basic
      are the ones with market. COBOL and Fortran
      jobs are few and far between. SQL is an adjunct,
      a query language, not a programming language,
      and should be familiar to every Java, C++, Perl
      and Visual Basic programmer.

      --
      -I like my women like I like my tea: green-
    28. Re:Java way up there? by blamanj · · Score: 2

      Well, creating a horrible example that proves your point hardly enhances your position.

      If the implementation is truly opaque, then you can't create a subclass with attribute length, you can only add a new method 'getLength' which calls getString and returns it's length.

      In due time it will be realized how horrible the original code was and the entire thing will be rewritten.

    29. Re:Java way up there? by cperciva · · Score: 2

      I once actually dared say I -knew- HTML when I was still in college.

      Yes, but when you were still in college, HTML was much simpler. ;)

    30. Re:Java way up there? by tshak · · Score: 2

      Wow... my professor told me people like you existed, but I didn't believe him!

      --

      There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
    31. Re:Java way up there? by cperciva · · Score: 2

      Of course it is a contrived example. But the point remains: As soon as you create a subclass which overrides some of the superclass' methods, encapsulation is broken -- you need to have some understanding of how the superclass is implemented, and changes in how the superclass is implemented can break your subclass.

    32. Re:Java way up there? by plastik55 · · Score: 2

      Look, the languages that matter are C++, Java, SQL, FORTRAN and COBOL.

      Exactly zero of these languages are typically used for embedded systems.

      --

      I have a positive modifier on Troll. When I mod someone Troll their karma should go UP!

  19. I've always wondered by Pinball+Wizard · · Score: 5, Insightful
    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.

    But the job ads almost universally ask for knowledge of the specific language. I've worked with C++, Java, VB, Perl, SQL, XML, Javascript, and others, but in my experience knowing what to do with these languages far outweighs knowing the language itself. Why don't recruiters see this?

    --

    No, Thursday's out. How about never - is never good for you?

    1. Re:I've always wondered by Anonymous Coward · · Score: 2, Insightful
      Companies (and recruiters) ask for specific languages because they aren't hiring programmers in a vacuum: most of the time there's already a code base to maintain, or there's a specific project they need a coder for. Programming language is usually chosen and decided long before you even get there.

      Hirers ask "do you know it?" rather than "can you learn it?" because if you don't know the language, there are plenty of people who do. The ability to actually code intelligently is usually considered part of "knowing the language".

      Another thing to keep in mind is that, at least these days in the U.S., most of the job postings you see online are from recruiters and consulting firms. They're the only ones hit harder in the last two years than IT professionals, and every time a new job opens up somewhere, a half dozen firms pounce on it with their absolute best prospects. If you get called by a third-party contractor and asked, "Do you know Java?" and your answer is, "No, but I know C++, they're pretty similar, I think I can learn Java fast." you're going to hear a sharp click as they move onto their next resume.

      In a tech market as tight as today's is in the U.S., there's no room to screw around.

    2. 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

    3. Re:I've always wondered by weiyuent · · Score: 3, Insightful

      While I agree that a solid understanding of computer science theory is what separates a SW engineer from a hacker, you should not dismiss the important of experience in a particular language.

      Different languages are fundamentally different in terms of capabilities, style and design philosophy. Use any one language for long enough and it will fundamentally change the way you think and work, partly due to the realities of the language, partly due to the unique culture of the developer community that surrounds it. Put a bunch of experienced VB, C and Perl developers in the same room and pretty soon the gulf between them will be apparent.

      Furthermore, when a job ad requires 5 years proficiency in C++ on Windows, the implication is that you would be intimately familiar with MFC and Win32 API. It takes a lot of experience to truly harness these beasts effectively, not least because they are so imperfect and unruly! In the real world, developers don't spend all their time implementing the bubble-sort routines they learned in a CS course.

      The "language matters much less than theory" refrain is only true for junior positions where nobody knows anything anyway.

    4. Re:I've always wondered by sql*kitten · · Score: 5, Insightful

      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.

      Problem is, no CS graduates do know this. Sure, they know how to implement a compiler from scratch in 68000 assembly language, but none of them know how to exploit SUNPro or VC++ features properly. Loads of them know about parsers, none of them know how to code to make things easy for a debugger. Loads of them know about fancy research OO databases, none of them know how to design an RDBMS.

      But the job ads almost universally ask for knowledge of the specific language. I've worked with C++, Java, VB, Perl, SQL, XML, Javascript, and others, but in my experience knowing what to do with these languages far outweighs knowing the language itself. Why don't recruiters see this?

      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.

    5. Re:I've always wondered by JaredOfEuropa · · Score: 2

      That really depends on the particular job. On one certain project I'd want experienced coders for a particular language, able to bang out solid code and knowing what they are doing with the language. On other projects I'd be far more interested in quick thinkers and problem solvers, able to think up creative algorithms and solutions, while perhaps only being a so-so coder. Ideally I have both, with one guy doing the algorithms and the other reviewing the code.

      I do agree with you when you're talking design jobs. The conceptual, high level stuff you learn in CS can pay off there, whereas knowing all the ins and outs of the selected language generally doesn't. And, I have seen very few projects fail because of poor coding. Perhaps that is because all our coders are good *grins*, or because of the kind of projects we do here. Our projects mainly fail because of two reasons: poor design at the conceptual level, and poor management of the user or client expectations.

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    6. Re:I've always wondered by Pinball+Wizard · · Score: 3, Insightful
      Well, I wasn't necessarily making the point that people should hire people who know only the concepts but not the languages, but that they shouldn't do the reverse(hire people who know the languages but not the concepts) And I still believe its the concepts that are the most important thing as a result of having learned several languages.

      Another Spolsky article points out the dangers of say, someone who knows Visual Basic, but doesn't know how to get around its limitations. Yes, you should know the language and the API's you are working with. But you should also know whats going on under the hood.

      --

      No, Thursday's out. How about never - is never good for you?

    7. 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...
    8. 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.

    9. Re:I've always wondered by Ars-Fartsica · · Score: 2
      Well, I wasn't necessarily making the point that people should hire people who know only the concepts but not the languages, but that they shouldn't do the reverse(hire people who know the languages but not the concepts)

      Who are these people? I don't know anyone who is a language guru who is not otherwise intelligent and versed in at least some of the conceptual stuff. For example, to be an STL guru you will have to dabble into some complexity analysis. I think you concerns are misplaced.

    10. Re:I've always wondered by sql*kitten · · Score: 2

      My issue with your post is the implication that any knowledge which is not immediately applicable in a trade situation is "crap". Surely, you must know deep down inside, that technology does not come from the magic technology fairy? It comes from long hard theoretical foundations which are built by scientists, turned into something practical by engineers, and then mass-produced by skilled tradesperons.

      If I were a professor looking for grad students to do research, then maybe you'd have a point, but I'm a software engineer hiring people to actually get work done.

    11. Re:I've always wondered by Salamander · · Score: 2
      I don't know anyone who is a language guru who is not otherwise intelligent and versed in at least some of the conceptual stuff.

      I've met plenty of language lawyers (and STL addicts) who really couldn't develop or even analyze an algorithm for themselves, but can only think of ways to reuse what has already been handed to them. Stick around for a while, you'll meet them too.

      --
      Slashdot - News for Herds. Stuff that Splatters.
    12. Re:I've always wondered by GlassHeart · · Score: 2
      Different languages are fundamentally different in terms of capabilities, style and design philosophy.

      This can be true, but many languages are also closely related so that an expert in one can easily pick up another.

      For example, do you really have any doubt that a dedicated and experienced C++ programmer will have any real difficulty learning Java on-the-job? Given the great difference in productivity among programmers, it makes more sense to hire the best programmer, even if he or she doesn't really know your language yet.

      when a job ad requires 5 years proficiency in C++ on Windows, the implication is that you would be intimately familiar with MFC and Win32 API.

      Yes, but this only makes sense if the job is for the short term. If you're hiring for the long term, the person who can actually find and fix the bugs is the one you should hire.

      Secondly, why "5"? What do you have in 5 years that you don't have in 4.5? 4? 3? I need not point out that a suitably exposed engineer will pick up more in 3 years than another picks up in ten years.

      Finally, people who are only familiar with Win32/MFC may produce completely non-portable code for you. In a different Slashdot topic you might lament the lack of games on any other platform. Well, these intimate familiarities are exactly the reason. Take a page from Microsoft, who manages to produce Mac OS X versions of Office, despite owning Windows.

      In my experience, I've only known (personally and via inherited code base) a few good programmers but plenty of bad programmers. The handful of good programmers I do know I will hire with zero experience on a particular language or technology. There is no doubt that they will not only pick it up quickly, but become prized experts in time.

  20. Re:Visual Basic in 3rd? by shaitand · · Score: 3, Funny

    "I've always heard its a crappy language.. really basic (duh)"

    It is.

    "could explain all the crappy bug and exploit ridden software though."

    Not all, but a very huge chunk of it, and that chunk is the worst of the pile. Actually every vb program ever written by anyone, anywhere, for any purpose falls in this category.

    "Am I the only one that's scared because of this?"

    No there are others out there.

  21. Delphi / Kylix ? WTF, where is it? by Viewsonic · · Score: 2

    This should be sitting next to Visual Basic as a lot of companies usually employ both interchanably nearly. I dont even see it mentioned?!

    1. Re:Delphi / Kylix ? WTF, where is it? by aquariac · · Score: 2, Informative

      I duplicated the search techniques on the listed sites for Delphi (but not Kylix, don't use it). The results:
      monster 158
      hotjobs 64
      dice 58
      Avg: 93
      That puts it well behind C# - already! Yikes.

  22. Re:Already slashdotted by Kunta+Kinte · · Score: 5, Insightful
    This isn't offtopic, it's research into the right buzzwords to get a job. Do you know even one serious programmer who can't code in any language if presented a pocket reference guide? Citing specific languages in a job search is all about buzzwords for resumes.

    I strongly disagree with that approach.

    I've picked up a working knowledge of many languages over the years but I'm not to say that I am an expert, or even proficient.

    Expertise in a language implies you know the compiler and runtime environment very, very well. It also implies that you know the common pitfalls, strengths concerning the langauage and you know how to deal with them.

    It's all vague "proficient", "expert", "knows". I'd say what you discribed wouldn't pass for more than "familar", ie. "familar with language x"

    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.

    --
    Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW
  23. Learn Java and then be a whore... by Mike+McTernan · · Score: 3, Insightful

    The results show the demand for people with different language skills, but gives little insight into the type of jobs that are available, or the languges that they use.

    Much more interesting would be a breakdown of the different tech sectors vs languages used, although I'm guessing that most of it would be fairly obvious (Web stuff using mainly php and perl, C for embedded etc...)

    From the question, it sounds like The Viking is trying to work out which language will give him the most job opportunies. My advice would be to select at least a couple of tech sectors to refine the search and then re-generate the stats. It might be that there are lots of very similar opportunities for VB programmers which The Viking would find to be boring as shit. Better to find a language with the maximal spread across different job types :)

    --
    -- Mike
  24. Re:Reap what you Sow by shaitand · · Score: 2

    Actually it's been my experience though there is a mix just like in university grads, the number of skilled coders (or most any other profession I can think of) who are self taught is greater and the average skill level is higher.

  25. 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.

  26. He's missing..... by CSG_SurferDude · · Score: 2

    Let's see.... He's Missing:

    • Forth
    • APL
    • Pascal
    • PHP
    • LISP
    • ADA
    • csh,sh,bash
    • DOS .BAT files
    • Fortran
    • Assorted assembly languages
    • Algol
    • Not to mention several chip specific languages.

    But, I'd say it was a nice first draft. ;-)

    1. Re:He's missing..... by jpt.d · · Score: 2

      ARG!

      Objective-C!

      Objective C rocks and should be promoted more! It beats C++ at gui apps any day.

      --
      What we see depends on mainly what we look for. -- John Lubbock Now search for that bug slave!
    2. Re:He's missing..... by thasmudyan · · Score: 4, Informative

      Forth:
      9 (Monster, search may be incorrect)
      12 (dice)
      Pascal:
      28 / Delphi: 158 (Monster)
      17 / Delphi 58 (dice)
      PHP:
      189 (Monster)
      31 (dice)
      LISP:
      12 (Monster)
      9 (dice)
      ADA
      (search inconclusive)
      Fortran
      123 (Monster)
      49 (dice)
      Assembler
      10 (Monster, search inconclusive)
      Algol
      0 (Monster)
      2 (dice)
      ==================
      Also:

      COBOL
      601 (Monster) !
      547 (dice) !
      Visual-Studio related jobs
      299 (Monster)
      142 (dice)
      Linux-related jobs
      881 (Monster)
      400 (dice)

      ====
      Software Developers total
      3901 (Monster, 2106 "programmer" +1795 (software developer)

    3. Re:He's missing..... by Daleks · · Score: 2

      Among others.

    4. Re:He's missing..... by NortWind · · Score: 2
      You are right, but allow me to add the Hotjobs total to your Delphi totals.
      Delphi:
      • Delphi: 158 (Monster)
      • Delphi 58 (Dice)
      • Delphi: 64 (Hotjobs)
      This puts Delphi ahead of Fortran in popularity, anyway. Since Delphi can go cross-platform with Kylix, it should be seeing some growth as Linux increases in popularity, versus the Visual Studio languages which will be caught in the .Net.
    5. Re:He's missing..... by WasterDave · · Score: 2

      COBOL
      601 (Monster) !
      547 (dice) !


      Whaddya mean "!"? COBOL still holds half the worlds' business systems together, and downturn or no downturn the lights still have to come on. Demand for COBOL is going to remain static (but reasonably low) for some time to come, and supply will only go down.

      You want to work on 30 year old code in COBOL? Exactly.

      Dave

      --
      I write a blog now, you should be afraid.
  27. C# is HOT by rodac · · Score: 3, Insightful

    C# is all the hype now and it is hot.

    Similar to a few months after JAVA was released,
    you can get a GOOD job according to the ads that want people with 8-10years experience with C#

    If you can also say something like "I program XML in C#" then you are all set.

    On a different point, the downturn in IT industry is good. This just means that hopefully only skilled people can work there and no more ex-busdrivers hacking webpages.

    1. Re:C# is HOT by LostCluster · · Score: 2

      First we need to get the ex-busdrivers out of management... C# hasn't been around for 8-10 years!

  28. Improving job prospects... by sterno · · Score: 2

    What would probably make the most sense is to accentuate expertise in one language with some dabbling in other languages. A lot of places, for example, will look for people that have both Java and C++. Really though what will get you the good jobs is the things beyond raw programming skill. That is:

    1) Ability to interact with other humans without scaring them

    2) Familiarity with standard processes for developing and documenting development

    3) An ability to understand the business needs and realities that impact the code

    Code monkeys are cheap and easy to come by, but people with a good head on their shoulders and a breadth of knowledge are what get the good jobs.

    --
    This sig has been temporarily disconnected or is no longer in service
  29. Re:Javascript is programming??? by Zontar+The+Mindless · · Score: 5, Informative
    > (yes, I know you can do fairly large and complicated projects with [JavaScript], but come on... it's very limited as far as what it's able to do... (writing to files etc) )

    That depends on the environment and what objects it exposes for scripting. There are a lot more implementations out there than you'd think:
    1. You can use it (as JScript) serverside in ASP (or J# in ASP.Net) and for system tasks in Windows Scripting Host. (I do nearly all my ASP work using JScript.)
    2. There is (or at least used to be -- haven't checked their site in a while) also a system & server scripting environment called ScriptEase that uses JavaScript and C.
    3. Dreamweaver uses it for interface scripting (I'm talking about the program interface, not the JS/DHTML in DW-generated pages).
    4. Adobe has a JavaScript API for PDFs.
    5. Flash ActionScript is ECMAScript compliant and will look very familiar to anyone who's done clientside JS.
    6. Mozilla uses XML (XUL and XBL, actually) and JavaScript to build its UI.


    There are doubtless other examples.
    --
    Il n'y a pas de Planet B.
  30. Everyone should learn COW.. by BigZaphod · · Score: 2

    This language is clearly the next big thing!

  31. Re:Already slashdotted by pope+nihil · · Score: 2

    Some languages are harder to pick up than others. Sure, any decent programmer given enough time can eventually pick up any new language. I seriously doubt that most programmers who are unfamiliar with perl would be comfortable being thrown into a large perl project.

    Someone who is familiar with C++ shouldn't have a very hard time moving to Java or C#, but I don't think you can generalize that to all languages.

  32. Re:Visual Basic in 3rd? by EvanED · · Score: 2

    I see VB useful for three things:

    a) whipping up quick, 10-minute, run-this-once-and-never-have-to-it-again programs,
    b) ui prototyping, which should be the only thing its used for by professionals, and
    c) getting an intro to event-driven programming. After a couple years of dabbling in VB, i found the transition to writing Windows programs in C (with the API) and C++ (with MFC)--traditionally said to be a very difficult thing to learn--practically effortless.

  33. Re:Already slashdotted by shaitand · · Score: 3, Informative

    On the surface your arguement seems valid, here's the problem with it. Programming is a subject in itself, there are concepts, languages only implement those concepts, that's why a CS course involves learning many languages to illustrate those concepts. If you know the assembler of your target platform or platforms then you know what the code is doing beneath the surface, or more or less, that's the knowledge that helps avoid many glitches and helps improve performance, not the specific dialect you code in. Once you've spent a significant time coding in 4 or 5 structured languages you know how to code in a structured language proficiently, simply being able to comprehend what you read in your pocket reference combined with your knowledge of structured programming and the underlying platform makes you proficient. Specializing in one or two languages makes for a specialist who is a nightmare for any project because the individual cannot grasp the big picture of the programming world.

  34. 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.

  35. Re:Already slashdotted by shaitand · · Score: 3, Funny

    See my response to the other critisism post. But in short, when I say serious programmer I mean one who has learned how to program (be it university or self-taught). Learning C++ does not mean you know how to program. Learning to program isn't about individual languages, it's about learning the basis of various categories of programming languages that your thinking of when you list languages to move to. As far as perl goes, having coded it myself. I think most perl projects would be better off if NOBODY was especially familiar with perl when coding them. Although perl is an interpreted code not a programming language.

  36. Re:Visual Basic in 3rd? by vadim_t · · Score: 4, Informative

    Well, as somebody who writes it for money I thought I'd answer...

    Yes, VB is very basic, although some quite impressive stuff can be done with it. It's perfectly possible to write enterprise management stuff with it for example. If your app only needs to be a pretty interface for a database then VB is a quite good tool for that job. However, it's got a lot of problems.

    There's always important functionality missing. MS has some really incredible knack for releasing a new version of VB that adds 2 or 3 features that you'd find really useful... but still hasn't found time to add unsigned types in VB6.

    Lots of working around is needed. The experts in VB learn to do tricks with undocumented functions like CopyMemory, and calling the WinAPI. There's no way in VB to make a window appear on top of all the others, for example.

    It's hard to use with source control tools. CVS is quite usable though, but not perfect. Just opening a project and closing it changes files, for no good reason.

    And then there's the bug from Hell that sometimes makes it forget about an OCX you included and forces you to muck with project files by hand to fix it.

    But, even regardless of all that people use it. I guess it's because it's really easy to do small things with it. If you need to do a quick tool that queries a database and prints a few reports then it's almost perfect. But if you're planning anything large I'd use anything else instead. Maybe Delphi, or .NET, or C. I'd say that at about 50000 lines it starts getting very annyoing.

  37. 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.

    1. Re:How many of those jobs are real, though? by SpaceRook · · Score: 2, Informative

      The job sites have been contaminated by a bunch of temp agencies looking to hire people part time. I did the whole Monster/Dice/HotJobs dance a year ago, and it just lead to a lot of dead ends. I had much more luck visiting the websites of companies I was interested in and looking at their "Employment" section. Of course, in the end, I actually got a job due to a human contact, which is usually the way it goes...

  38. Sale or no sale? by LostCluster · · Score: 2

    If you have a skill that qualifies you for a job that pays $100,000 a year, but all such positions are filled, do you really have a useful skill?

    1. Re:Sale or no sale? by anonymous+loser · · Score: 2

      Over the years most legacy codes are ported to other, more recent languages and systems for exactly this reason.

      Of course I have seen companies that still maintain codes that were originally written on punch cards, because the guy that wrote it is dead an nobody else fully understands how it works.

  39. PHP vs. "enterprise" by Tablizer · · Score: 3, Insightful

    No one uses PHP at an enterprise level, nor is it ready to be used in such a manner.

    (Warning, karma-killing but truthful rant ahead)

    What the fsck is "enterprise level" anyhow? If that ain't a beaten buzzword, then I don't know what is (besides "XML web services").

    PHP apps tend to use the database for noun modeling and state, not objects (although it can do OOP). Thus, it's "size" depends on the database, not really on PHP itself. Now if you want to define "enterprise level" to mean "big fat bloated objects/classes", then you are right. PHP is not "there". If you want big fat tangled bloated objects/classes, then go with EJB. Perfect mess for job security. See:

    http://www.softwarereality.com/programming/ejb/i nd ex.jsp

    Relational theory and OO are pretty much at odds I have come to conclude, at least WRT to "business modeling". OO fans only want to use the "persistence" feature of relational databases. Beyond that they tend to re-invent the database from scratch in code, hand-coding their own indexes, joins, etc.

    1. 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.

    2. Re:PHP vs. "enterprise" by iggymanz · · Score: 2

      Common LISP openings on dice: 0
      Jobs which mentioned LISP as possible scripting language (must know a scripting language such as Perl, LISP...etc.) 8
      Jobs mentioning AutoLISP, the dialect for the AutoCAD package: 2
      Slashdotters who think you ARE the Mentifex nutter: 543,454

      (last stat was a joke)

  40. Re:Already slashdotted by roman_mir · · Score: 2, Insightful

    I can code in these: Prolog, Lisp, Scheme, ML, C, C++, Java and JSP, Basic, VB and ASP, Perl, PHP, PLSQL, Assembler 86/87, Assembler 68000 Motorolla, JavaScript, Pascal (3-7), Turin and OOT, Fortran, PL1, Cobol, JCL, various shell scripts sh, csh, ksh and I am possibly missing a few others I used. These are only languages and already there are different programming paradigms. Lisp, Prolog, C, Java, C++, Perl - do you see how these languages are different? You better know exactly why you are using one and not another for the job you are doing and you better use it right applying good programming techniques and patterns and using all available libraries and frameworks. Sure you can use C to do all of the stuff you need but if the right tool for the job is Lisp or Java your work will be hindered, your results will possibly be not as maintanable and possibly could not be proven to be correct. A programmer who is unfamiliar with a functional programming paradigm will not be able to use Scheme to his/her advantage. A programmer who is used to the procedural paradigm will not use Java or C++ or Smalltalk or Eiffel effectively because his thinking will be limited to the only paradigm he/she knows/understands.

  41. Because abstract skills aren't as important by Ars-Fartsica · · Score: 4, Insightful
    This isn't a troll. I have found again and again working in industry that it is far more important to be very very good in the language of your code than to have a general grasp of concepts. Chances are your team will not be switching to a new language midstream, or trying to create a sorting routine faster than quicksort. Really, when is the last time you coded up new algorithms of a nontrivial nature? Often knowing the libraries is more important.

    Becoming a language guru will inevitably involve deeper issues anyway, as true language gurus often delve into the implementation tools (compilers, VMs) for their given language.

    "Big thinkers" on the other hand, tend to be just that. Lots of talk and little action. The bottom line is that you are trying to push out code to make money.

    1. Re:Because abstract skills aren't as important by Anonymous+Brave+Guy · · Score: 2
      Really, when is the last time you coded up new algorithms of a nontrivial nature?

      Some of us do it every day, and a basic knowledge of things like complexity theory and good basic data structures and algorithms is essential.

      But, as you say, the good workman still needs to know his tools, as well as having good technique.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    2. Re:Because abstract skills aren't as important by miu · · Score: 2
      True. An engineer who has really specialized in an environment always has a good understanding of theory, while theory types can produce some mean UML.

      You can go too far in the specialization direction. I had a co-worker catch me reading through gcc linker code to work around a weak implementation of a C++ feature I was using (being used to the Sun compiler rather than gcc). The right answer was to step back and come up with a simpler solution that did not use that feature.

      --

      [Set Cain on fire and steal his lute.]
    3. Re:Because abstract skills aren't as important by geekoid · · Score: 3, Insightful

      great way to stay in an ever shrinking box.
      All the best programmers I have ever worked with have one thing in common, the understand the concepts of programming.
      I've seen people pick up and MASTER a new language in a matter of weeks.
      They are ussually the best at getting the job done, as opposed to figuring out how to work with a broken model because they don't know anything about basic concepts.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  42. Re:What about C? by Skapare · · Score: 2

    The whole study is biased based on who happens to advertise for jobs on those boards, or on any boards at all. New jobs tend to be more for newfangled languages, whereas old jobs ... most of which are filled and not turning over, are for older languages, such as C. The funny thing is I do frequently see jobs for C programmers, either for embedded systems, or for kernel drivers, on some boards. Why there is no showing at all is curious. It may be because the jobs get listed as "C/C++" (often times form based choices lump them together incorrectly ... by someone who doesn't know the difference), and so what might be the case is that what is listed as C++ might in fact be C/C++ and therein the C jobs as well as C++ jobs. But I do not know for sure what the case really is.

    Maybe if we categorize the programming jobs by application role, e.g. business logic, web, embedded, driver, systems, etc., as well as language (e.g. a 2-way table), we might get a clearer picture of what is going on. Unfortunately, most job boards do a really screwed up method of categorizing jobs.

    --
    now we need to go OSS in diesel cars
  43. What lousy job ads by LostCluster · · Score: 2

    Job openings are crammed with requirements that are not necessary. Applicant should have 5 years experience with C#.

    That isn't even possible... C# didn't exist in 1998!

    A lot of employers have heard that it's a "buyers market" and forgotten that their dream employee is sometimes a theoretical person who doesn't exist. Those employers who are holding out for the impossible will find themselves still short-staffed when the recovery hits, and will get lapped by a fully staffed competitor who used the slow times to train on the job.

  44. Your example is flawed. by Ars-Fartsica · · Score: 2
    I have two candidates, one guy who knows language X pretty well, but only language X, and has a year or so work experience. I have another guy with 5 years experience, knows W, Y, and Z. I'll probably take the second.

    These indivduals are at different skill, and hence, WAGE levels. You pay for talent. So you wouldn't be an employer for very long, because your strategy appears to be that wage is not an issue.

    Also, if the work is tedious, your highly skilled multi-talented engineer will likely leave or become insanely bored and actually produce less.

    In any case, you are vastly oversimplifying.

  45. Re:Already slashdotted by shaitand · · Score: 2

    I agree 100% actually you've made my point exactly. And I don't know about you, but I don't consider anyone a serious programmer who doesn't make an effort to learn different paradigm rather than languages per say.

  46. Re:Already slashdotted by etcshadow · · Score: 4, Insightful

    No, I'm sorry I have to agree with the guy above (as well as you). It's true that *really* knowing how how to program is more valuable on the whole than being an expert in a particular language... however, on a specific project, and with certain languages (perl is a fairly good example), prior deep experience with the specific language can make a HUGE difference.

    [Just so you understand that I'm not talking out of my ass, I've been programming for 20 years, broken down for the large part (with some overlap) as about 9 C/C++, 7 FORTRAN, 5 BASIC , 4 assembly (various) and 4 Perl (plus a bunch of other pedagogical languages like scheme and so on).]

    I would consider someone a hell of a lot more valuable if they had a lot of experience with several different programming languages, because, as you said above, they are more likely to understand the fundamental concepts of programming. However, I'm working in a Perl shop right now (and unlike these other posters, I DO make hiring decisions), and at this stage, I wouldn't consider anyone for a senior position who didn't have consierable experience with Perl. There are a lot of reasons, but one of the biggest ones is: 3 months to get up to speed or 6 months? Consider how much they're being paid, and the opporunity cost of 3 more months, and its just not worth it.

    Perl is definitely derived from C (as well from shell and various others), but a guy with C and Java and COBOL and whatever else is just NOT gonna be able to run with Perl that quickly, period. Perl is too different in terms of the tools that you actually use (I'm not talking about syntax or silly little idioms and all of the magic variables in Perl). I mean, if you're programming in Perl, and you're not thinking "how would regular expressions and/or hash tables (for example) make this easier?" then you're probably just not doing it right (whatever "it" is). If you're really convinced that isn't how you should be using Perl for this situation, then you probably shouldn't be using Perl anyway. (I love Perl, but it's not the answer to everything).

    Ugh, I'm rambling now... anyway, I'd say that what you said is *mostly* true, but almost every language has things about it that separate it and make partiular expertise valuable (in at least some situations). Hire someone to write C/C++ because they know Java, C#, Perl and Basic? But they've never used a pointer!!!! Hire someone to write Java because they've used C/C++, Fortran, and PHP? But are they really thinking about threads from the get-go? Etcetera... I hope you see my point.

    --
    :Wq
    Not an editor command: Wq
  47. 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.

  48. D) Working with the rest of the MS world by LostCluster · · Score: 2

    One other powerful use of VB is as a high-level controler of ActiveX objects. When factor in that all of the major Microsoft applications expose themselves for automation via ActiveX, and in fact most of them use Visial Basic for Applications as their primary macro language, Visual Basic becomes a very powerful bridge between Microsoft products.

  49. Re:Already slashdotted by netsharc · · Score: 5, Funny

    New poll topic! But I don't think very many would vote for Visual Basic in this site..

    A few months later, in a PHB-meeting: "Apparently there's an innovative language called 'Cowboyneal' that's been very popular.."

    --
    What time is it/will be over there? Check with my iPhone app!
  50. Re:Already slashdotted by shaitand · · Score: 3, Insightful

    I definately see your point, I even agree in general. I definately do not think you should throw a C programmer in a perl project and expect him to roll (whether or not I agree perl should be used for coding anything that could be called a "project" unless it's perl module is another matter).

    As an experienced programmer, when you look at a list like this, are you thinking in terms of jumping into a job with an unfamiliar language if it's number one on the list or are you looking at which language to look more closely at and in relatively short time be able to add it to your resume.

    Where we disagree I suppose is how much time it takes to pick up these things and identify them. For example with perl, it took me less than 24hrs working with it before I was asking myself "how would regular expressions and/or hash tables make this easier". When absorbing a new language the first thing I look at is syntax and basic functionality, then I start to look for the things that are unique or advantageous in that language.

    Basically I guess what I'm saying is this is nothing but a list of buzzwords so you can add them to your resume (even if it does take a month to be able to honestly do it).

  51. Re:Already slashdotted by jerdenn · · Score: 2

    I think most perl projects would be better off if NOBODY was especially familiar with perl when coding them

    Better spoken words I've rarely heard!

    -jerdenn

  52. Coldfusion?? by oneiros27 · · Score: 2

    Cold Fusion may be great for rapid prototyping, but it's lacking many features needed for an enterprise level service. I haven't used MX, so I don't know if this has changed, however, their security model assumes that you have one distinct set of users PER server. From what I've seen of PHP's file uploading in the past, it's not much better.

    And well, from my past experience, CF's proven to be rather unreliable in an enterprise situation. [an average of one unrecoverable crash per day, in which an admin has to manually intervene to bring it back up]. I understand that CF is more stable under Windows, however, we run a Solaris shop as we don't like rebooting the entire machine on that regular of a basis.

    There's plenty of test pre-processors out there that all do mostly the same thing, and you just have to balance what reliability, scalability, functionality and security are best for your purpose. I wouldn't rank ColdFusion above average on 3 of those 4 categories.

    That's not to say that it doesn't serve its purpose in proof of concept, rapid prototyping, or other low usage sites, but I'd definately think about replacing it before it gets heavy usage.

    --
    Build it, and they will come^Hplain.
    1. Re:Coldfusion?? by mgkimsal2 · · Score: 2

      What does HTTP file uploading have to do with a user security model, or distinct user sets on each server?

  53. Re:What about Haskell? by iggymanz · · Score: 3, Insightful

    I feel your pain....only 8 job listings in all of Dice for my favorite language, Ruby (probably 100's in Japan, but none in U.S.). Zero listings for Haskell (just 6 matches for a company that had "Haskell Avenue or something in address). Maybe someday I'll be lucky enough to have a job again where they only care about results, not the language used.

  54. Not just how many jobs - how many applicants? by TekPolitik · · Score: 3, Insightful

    To decide what the best prospects for employment are you need to look at not only how many jobs there are using a particular language, but how many applicants there are for those positions. There's far more Java programmers on the market than anythings else, so that as an employer of people who write in C++, and people who write in Java, I find I can fill the Java position far more quickly.

    Also, a lot of the application space covered by Java competes with the application space covered by Visual Basic rather than that covered by C or C++. That is, Java is being used for pretty end-user stuff, particularly if it's web based or an in-house project, whereas you use C or C++ for applications that require high performance (and these applications do still exist), and for shrink-wrapped software deloyed widely. There is some overlap, and some other things I haven't taken into account here.

    Java is not necessarily used for platform independence. In fact even remaining on the same platform you have to special case things for different versions of the JVM, unless you have control of that, which you probably don't.

    So, the questions are:

    1. What type of software do you want to develop? If a specific type, target the language that is dominant for that type of software
    2. If your primary concern is immediate employability, how many jobs are open for the languages you're considering, and how many applicants are there for those jobs? Choose the one that has the best ratio.
  55. How's he counting? by CaptainCarrot · · Score: 3, Insightful

    I find it very surprising that there are no jobs listed at all for C programmers. Is he perhaps lumping C and C++ into one category?

    --
    And the brethren went away edified.
  56. For better results from Monster.com-Java C++ 5000+ by NZheretic · · Score: 2

    Using the keword search query format
    http://jobsearch.monster.com/jobsearch.asp?q=LANGU AGE
    gets a more acurate number, but still limits the count to a maximum of 5000, for example
    Java = More than 5000
    C++ = More than 5000
    You even can count C# by using this link.
    C# = 446

  57. Re:OT: Stuttering by wackybrit · · Score: 2, Insightful

    Mostly the latter. It's a trend. I'm waiting to see if anyone catches on. Knowing the (balls) mentality of most Slashdot contributors, everyone will be going 'In S-S-SOVIET RU-RU-RUSSIA' within days. Or not :-D

    Besides, Slashdot needs some new trends. Soviet Russia is way (clitoris) past its prime now, and hot grits, Natalie Portman, PROFIT!!, and Beowulf Clusters are truly dead and buried. See my sig.

    Another trend is throwing random porn related words into otherwise insightful posts and seeing if you still (cock) get moderated up.

  58. I think it all depends on you market.. by nurb432 · · Score: 2

    For example, bank jobs or old school automotive would need cobol background...

    While a new fangled web-startup might want PHP..

    But i cant read the page to see what they have to say if they take this into account or not..

    --
    ---- Booth was a patriot ----
  59. 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

  60. Delphi!?!? by cronostitan · · Score: 3, Insightful

    I really miss Delphi/Pascal/Kylix !?!?!? This list is far from complete since these languages are used a lot in rapid development....

    --
    Spelling errors were made for your amusement only...
  61. Gah! That damned myth again by Anonymous+Brave+Guy · · Score: 5, Insightful
    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.

    This is a common argument, and there is obviously some element of truth to it, but it's still flawed for two big reasons.

    1. You can pick up the basics of new languages quickly. Learning a serious language well, including a grasp of its idioms and at least an overview of the major library components, takes a few months, or longer if you don't have good supervision/training.
    2. It's relatively easy to transfer from one language to another where they follow the same paradigms (procedural, OO, functional, whatever) but learning a whole new paradigm also takes months.

    If you think you can take a Java programmer, even one with several years of experience, and get him to program industrial strength C++ with a good book and a couple of weeks of on-the-job practice, I think you're mistaken. He'll write code that compiles, but it won't use the RAII idiom to avoid resource leaks, base classes won't have empty virtual destructors, large class hierarchies won't be divided into a sensible arrangement of files resulting in hideous dependencies at build times, he'll pass random boolean parameters to functions where enumerations are appropriate, etc.

    Similarly, you try taking a guy who's used to C and getting him to write functional code using high-level functions, currying and lazy evaluation. The mindset just isn't there, and takes time to develop, not a copy of Learn This Fab Language In 30 Seconds.

    The experience issue just isn't as straightforward as some (mostly theoretical, with a heavy CS background) people make out. Experience with general programming technique is very important, but experience with the actual tools still counts for a lot, too.

    And before anyone flames, be aware that I'm a professional developer with experience using several diverse languages, and a CS qualification from a well-regarded university, so I don't have any axe to grind against CS here.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:Gah! That damned myth again by Anonymous+Brave+Guy · · Score: 2

      I don't think it's a matter of one set of skills being "more important" than another. If you're going to do software development effectively, you simply must have a knowledge of tools, techniques and practices appropriate to your role in the team.

      You can have all the process in the world, but if you write code using naff algorithms it'll still take forever to finish. You can have the most efficient algorithm in the world, but if you don't code it properly, you'll still get bugs and/or suboptimal performance. And of course, even if you have great background knowledge and technique in your language, it's no good if you don't meet the original requirements.

      If anything, though, I'd say "business process" skills are the most expendable of the three. I've worked in heavy process environments and very lightweight process environments, and the latter have invariably had much better productivity. Process shouldn't play a big role in development, because it wastes time you could otherwise spend developing. Its only purpose in life is to make sure you're developing the right things, and if you get it right, that really takes very little time.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  62. X years in C#? by seangw · · Score: 2, Funny

    I like when employers ask for "10 years experience in C#" when the language hasn't been around that long.

  63. Re:Already slashdotted by jonadab · · Score: 2

    > Programming is a subject in itself, there are concepts, languages
    > only implement those concepts

    Indeed, and different langauges, in the process of implementing the
    various concepts in different ways, emphasise and teach different
    concepts with varying degrees of effectiveness. When I took a class
    in Pascal in high school, it revolutionised the way I wrote BASIC.
    Then I got to college and took other languages. ForTran, QBasic
    (yes, they had a class in that), Visual Basic, C++ -- none of these
    languages really made fundamental changes to the way I thought about
    programming, but each of them did teach me something. After Pascal,
    the next language that did completely change my thinking was Inform;
    in my spare time I read through the Inform Designer's Manual and
    messed around with Inform, which taught me far more about object
    oriented design than any amount of C++ ever could have done. After
    I graduated, I continued to learn yet more languages. Emacs lisp
    once _again_ revolutionised my programming, as did Perl. Since
    Perl I've played with a handful of languages, including Python and
    Javascript. No, not every one of these languages makes me a better
    programmer, but _some_ of them have. The influences of Inform and
    lisp are still with me when I program in Perl.

    So while my resume doesn't claim that I'm fluent in 20 languages,
    it does say that I've had worked somewhat with a number of them,
    and then specifies the specific ones I'm most comfortable with.
    (Not that it probably matters; I'm not really trying to get work
    as a programmer per se.)

    --
    Cut that out, or I will ship you to Norilsk in a box.
  64. Yes, Java really is that widespread by SuperKendall · · Score: 2

    Where I work pretty much the whole IT department uses Java. It is very, very widespread at an enterprise level... some of the things you mentioned are also used internally but generallly will not make it out to job requirement space.

    The need for Lex/Yacc has been all but eliminated by the coming of XML. No longer do you need to build a custom parser on a project, you simply use XML instead and grab whatever parser suits you best (usually Xalan). I used to do all sorts of things with Yacc and haven't touched it for years now.

    Awk/Bash would just come in under general UNIX knowledge, so you'd probably only enounter the phrase "X years of UNIX" or perhaps "UNIX scripting" in a job description.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  65. With all those Monster and Dice, I thought you were trying to write some kind of Role Playing Character Card joke. You know, something like:
    Cobol (Dwarf)
    CSharp (Elf)
    Java (Hutt)
    Perl (Squid Troll)
    RPG (Ent)

    --
    __
    Men with no respect for life must never be allowed to control the ultimate instruments of death.
    GW Bu
  66. Monster.com et al by ellem · · Score: 5, Funny

    The people posting the jobs are insane, incompentent, idiotic or all of the above.

    Favorite post:

    Must have Exchange 2000 on Solaris 8.

    --
    This .sig is fake but accurate.
  67. Re:What about Haskell? by StandardDeviant · · Score: 4, Insightful

    Ever occured to you that perhaps the language(s) used are part and parcel of the results? If you write your code in Haskell, and I write it in Java, assuming identical end functionality and other end-user quality metrics, which is better? The Java codebase. Why? Maintenance. It is *really* dumb from a business perspective to depend on any one person being in any one position. If the Haskell-codebase's maintainer died, quit, got sick for six months, shaved his/her head and became a Hare Krishna dropout, where does this leave the company? Searching desperately for a Haskell programmer, which may take a long time given that the number of really good Haskell developers is epsilon small compared to, say, the number of really good Java developers. [I'm using Haskell and Java as comparative examples here, you can sub in any(rare|common) couplet of languages you want.]

  68. FYI, how PHP fares: by Greedo · · Score: 5, Informative

    PHP 189 224 31 2.12%

    Which would put it somewhere between Fortran and Ada.

    --
    Tuus crepidae innexilis sunt.
  69. 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.

  70. Re:Pity poor programmers: JOBS BY OPERATING SYSTEM by iggymanz · · Score: 5, Informative

    jobs by OS on dice: Windows 2229 Solaris 685 Linux 399 AIX 367 AS/400 or OS/400 287 HP/UX 191 Novell 165 VMS 61 Mac or MacOS or System 7 58 RTOS 58 VM 31 IRIX 18 BSD 18 OS/2 13 SCO 8 Darwin 6 BeOS 0 CHORUS 0 MINIX 0 HURD 0

  71. Java the most popular? by Gary+Franczyk · · Score: 4, Insightful

    Java is just the buzzword that almost all IT managers think that their applicants should have.

    I have seen dozens of job postings for positions like System Administrator and Database Administrator that had NOTHING to do with Java, and yet, somehow, Java finds its way onto the list of requirements. I've seen several of my managers post job openings requesting Java experience while our department did absolutely no Java work whatsoever.

  72. you wouldn't think so by g4dget · · Score: 5, Insightful
    I have found again and again working in industry that it is far more important to be very very good in the language of your code than to have a general grasp of concepts. Chances are your team will not be switching to a new language midstream, or trying to create a sorting routine faster than quicksort. Really, when is the last time you coded up new algorithms of a nontrivial nature? Often knowing the libraries is more important.

    And, right there, you have an explanation of why most software teams fail, most commercial software products suck, and so many people keep buying junk development tools: software teams in industry don't have a clue what they are doing. They are just plugging together a bunch of library routines. They don't know whether to use quicksort or mergesort. They are mystified by what a garbage collector does and how to tune code to perform well. They have no clue what happens when they write "new object". TCP/IP might as well be ESP.

    Thank you for demonstrating this point so clearly for us all. PS: Would you mind telling us where you work, as a warning?

    1. Re:you wouldn't think so by g4dget · · Score: 2
      You're right- there is too much focus on mumbo jumbo theory and little emphasis on knowing tools. If everyone reused the standard APIs in an intelligent way instead of redesigning them incorrectly, they might actually get some code out the door.

      Wrong. There is too much reuse in the software industry, not too little. And the reason is that most programmers couldn't re-implement a library routine if their life depended on it.

      So, they have to reuse, whether it makes sense or not. 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.

      That's not good software engineering. It's reuse taken to the point of absurdity. And it's one of the main reasons why software is so bloated and buggy.

    2. 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.

    3. Re:you wouldn't think so by g4dget · · Score: 2
      Ah yes, I meet guys like you all the time. Convinced they can recode the STL better themselves, the lower bounds proofs not withstanding.

      Using the algorithms with the best lower bounds does not guarantee the best performance on a given problem. Nor, for that matter, does using the algorithms with the best upper bounds or best average case complexities guarantee the best performance on a given problem. This is one of the first things people learn in their algorithms classes.

      If you don't want to join the ranks of out-of-work programmers, I'd recommend seriously brushing up on your CS skills. This sort of thing is basic stuff. While the STL is a tedious and messy piece of code, there should be nothing mysterious or complex going on inside the STL for a competent programmer. If you don't know what's going on inside a library, you can't make effective decisions about when to use it.

      Basically, your comments just keep supporting my point: many working programmers don't know what they are doing, and they use libraries because they have no alternatives.

      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

      Take a look at the Java libraries some time. In fact, the Java standard libraries are so dependent on each other that the whole thing is only distributed as a monolithic 85 Mbyte install.

      Or, if you are a C++ kind of guy, look at the dependencies that using '#include <string>' pulls in; I get 91 distinct include files alone from just wanting to use simple strings.

      Maybe you get those sorts of dependencies in the code you write; I don't.

    4. Re:you wouldn't think so by Ars-Fartsica · · Score: 2
      I get 91 distinct include files alone from just wanting to use simple strings.

      Maybe you get those sorts of dependencies in the code you write; I don't.

      No, what you get is a nonstandard, substandard string implementation class (assuming you are actually using C++ and not just using char arrays).

      What is the change in the resulting binary? Thats all that matters. Over time, as you code in more and more of the standard string class into your own class (and doing so poorly), you will end up with a larger, more inefficient version of what you could have used from day one for free.

      Or, even if you have crafted the ultimate string package with no flaws at all (doubtful), it cost someone somewhere something for you to do this, and the added value to the final product was probably zilch. If it was just about keeping the binary small you would have never used C++ in the first place.

    5. Re:you wouldn't think so by g4dget · · Score: 2
      No, what you get is a nonstandard, substandard string implementation

      Ummm--my response was to disprove your claim that standard libraries don't have a lot of coupling among their components. I wasn't necessarily suggesting writing your own string class.

      Over time, as you code in more and more of the standard [...] class into your own class (and doing so poorly),

      The whole point of implementing one's own version of a library class usually is to implement only a tiny subset of its functionality and/or to change the interface. One doesn't code "more and more of the standard class" over time; if one did, one should just use the library class. It's exactly because a custom class doesn't have to do everything that the library class does that a custom class can be written to be better often with very little effort.

      If it was just about keeping the binary small you would have never used C++ in the first place.

      C++ is widely used for embedded systems programming with very constrained amounts of memory. It was carefully designed so that none of its features have a significant impact on code size or runtime performance unless you actually use them. The only thing that causes C++ code size to bloat is indiscriminate use of libraries, standard or otherwise. And that brings us back to the original point.

    6. Re:you wouldn't think so by Salamander · · Score: 2
      If everyone reused the standard APIs in an intelligent way instead of redesigning them incorrectly, they might actually get some code out the door.

      That's great if what you're writing is totally derivative, but innovative code doesn't get written by sitting around and thinking about how to maximize reuse of existing APIs.

      --
      Slashdot - News for Herds. Stuff that Splatters.
    7. Re:you wouldn't think so by Salamander · · Score: 2

      "The STL is god. Worship the STL, mere mortals." Excuse me while I barf. STL is the worst example I've yet seen in common use of the overdesign that can occur from people spending too much time in CS seminars and not enough time writing something people can actually use. A good API doesn't go out of its way to use every obscure language feature, or demand that users spend weeks or months getting used to the author's coding style, just to do simple stuff like strings and containers. It doesn't have crap like auto_ptr, which is like pointers in only one way but unlike them in many others. That's a leaky abstraction and bad reuse, which is almost as much of a problem as foregoing good reuse.

      --
      Slashdot - News for Herds. Stuff that Splatters.
  73. Re:What about Haskell? by iggymanz · · Score: 2

    oh yes, I know that for more than 99.999999% of the time that is the case. But I once had a job in manufacturing world where one-time data conversions were done from disparate sources into CADD models....and different languages or software tools were the best one in each case...and the stuff NEVER used again, and the original data source compared manually against CADD model at the end, so no one even wanted to see or save or hear about the code.

  74. Java by LadyLucky · · Score: 2
    I've always said to the Java is slow fanatics:

    It's much faster at making me money :-)

    --
    dominionrd.blogspot.com - Restaurants on
  75. Re:No evidence from the PHP-basher by bartok · · Score: 2, Funny

    Probably all the morons who have overtaken this site for a while now.

    Wanna mod me down? Go ahead asshole!

  76. Re:Already slashdotted by russellh · · Score: 2, Insightful
    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.

    Right, but the buzzwords land the interview. The experience section of a resume and the interview ought to cover the details. As an interviewer, you obviously would ask about all those twenty listed languages, and in the process would probably discover a lot. To leave the buzzwords and the even vague descriptive phrases off a resume is dumb.

    --
    must... stay... awake...
  77. Re:Already slashdotted by Radical+Rad · · Score: 2
    A few months later, in a PHB-meeting: "Apparently there's an innovative language called 'Cowboyneal' that's been very popular.."

    Yeh and 'Cowboyneal' would turn up on Monster next week since all the recruiters would start asking for it just to have resumes on hand. It would probably rank right between Dog# and C#.

  78. Re:PHP??? My Ass. by the+eric+conspiracy · · Score: 2

    PHP is a very flexible and powerful language -- very useful for developing applications that need to be easily modifiable, debuggable and portable.

    I agree with that in general (I do find Java debuggers to be significantly better than what is available for PHP, primarily due to the strong IDEs available for Java). However if your throw in maintainable and scalable I start to have real problems with PHP. That's why I said I like it for prototypes etc.

    About 6 months ago my boss asked me to research the use of PHP on larger scale web sites, i.e. more than two servers for a single application. I went to sites like PHP.net, zend,com, etc. and found no such examples. And in fact some of the examples on these sites turned out to be places that had switched to Java since the example was posted. Now maybe these sites were out of date, but....

    I cannot discuss them due to NDA restrictions

    Makes it kind of hard to evaluate what you are saying. In any case I would have to say that I think the current leading edge UI technology is Flash MX using Flash Remoting to either ASP.NET or J2EE. And this is something that isn't supported by PHP at all.

  79. Re:PHP??? My Ass. by mgkimsal2 · · Score: 2, Troll

    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.

    They've already got a cart AND horse and it's been moving along for years.

    Yeah, Java could handle what they need as well, theoretically. In the real world, they already have *thousands* of machines running FreeBSD. Scrapping all of those to move to new hardware and OS just to THEN be able to port everything to Java is extremely costly, both hardware-wise and time-wise. The cost differential must not have been enough to counteract whatever supposed deficincies some people think PHP may have.

    If they're really serious about Java, then can migrate things to PHP, then move those processes over to other platforms (on which Java will perform better) then migrate things to Java. Even if that go that route for some sections, it'll be years before it's complete.

    So, Java is great in theory but when push comes to shove, PHP is the one which is getting the job done.

  80. Re:Already slashdotted by Kunta+Kinte · · Score: 2
    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;

    You missed my point entirely.

    I am not saying one shouldn't learn as many languages as they can. We should. Neither am I saying you should use one tool for all situations. Obviously not.

    My point was to be careful how you classify your knowledge.

    Lots of people to to come off as an Java expert because they 'did a class'. When I did compiler theory class and we each wrote a compiler, from scratch, with the lexer and parser written in Flex and Bison. Does that make me an expert in Flex/Bison? Don't think so. That qualifies as familiar in my view, even together with a few other encounters in miscellaneous projects.

    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?

    My guess is, unless you are in the top 10 percentile of programmers out there, I'd say you can easily shave a few of those off. Geeks often have an overly rosey view of themselves.

    But that's just my guess. I don't know you.

    PS. Try not to take my view as a personal attack. It's just an opinion.

    --
    Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW
  81. Specific language knowledge is hugely important... by edashofy · · Score: 3, Insightful
    I was once given some code by a guy who had been writing code since far before my own birth and was learning Java. In there, I found a table:

    public static final int X_00 = 0;
    public static final int X_01 = 1;
    ...
    public static final int X_FF = 255;

    I asked him what was up with that. His reply? "Java doesn't have hex support built in." My reply: "Uhm, yeah it does. Always did, in fact." His reply: "Oh, well, I never found it."

    Knowledge of the language and its libraries are extremely important.

  82. Re:PHP??? My Ass. by the+eric+conspiracy · · Score: 2

    Scrapping all of those to move to new hardware and OS just to THEN be able to port everything to Java is extremely costly, both hardware-wise and time-wise.

    They are going to have to port everything anyway - their custom development environment is being scrapped. And where do you see evidence they need new hardware? And committing to FreeBSD? It seems to me that there are other platforms that are having a LOT more developer resources thrown at them. Will FreeBSD even be sustainable for a large enterprise 3-5 years from now?

    I think that they are making a decision that is going to hurt bad when it bites them in the ass.

  83. Re:PHP??? My Ass. by mgkimsal2 · · Score: 2

    And where do you see evidence they need new hardware?

    They can't run Java on existing machines due to OS. Assumption on my part - I'd thought I'd read that they'd need to upgrade hardware to move to Java. I assume they *could* just change OS to run Java instead (Linux on same hardware? Or Solaris?).

    The long and short is that at this time they have no cost-effective way to move to anything else except that which can run on their existing FreeBSD systems - PHP fit the bill better than Java or pretty much anything else given their constraints.

    Is it the *best* way to go? Long term you may think not, but I tend to think it'll be fine for them. They've always seemed to be much more technology agnostic, and certainly got pretty far without any big name app servers behind them over the past 6-7 years.

  84. C vs. C++ (was Re:Java way up there?) by Lumpish+Scholar · · Score: 2
    Inheritance breaks encapsulation.
    Whether it does or doesn't ... if you think inheritance is the biggest advantage of C++ over C, then you are (as politely as I can put this) completely ignorant of the language. Take a look at Koenig and Moo's Accelerated C++ (Amazon.com, BN.com); they don't even talk about defining classes until chapter 11, and inheritance is delayed until chapter 13 (in a total of sixteen chapters plus two appendices).

    C++ provides:

    • a string class that's far more resistant to buffer overflows than char*s;
    • powerful data structure mechanisms (built in variable sized arrays and linked lists you no longer have to code yourself, plus sets and associative arrays likely better than you'd throw together),
    • lots of help with memory management,
    • and good ways of abstracting data (and operations) so the design is fairly well communicated by the code itself.
    These can all be big productivity boosts.
    If I want to pass around function points, I'll pass around function pointers
    C++ does not prevent you from doing so. But if you want to do something other than pass around function pointers, there's no way to do so in C that clearly expresses your intent. There are several ways to do so in C++, not even counting inheritance.

    You think inheritance is a fatal disease for software? Fine; don't use it. Don't define a single member as virtual or protected, and it'll be pretty tough for anyone to usefully inherit from your classes.

    [From another posting you made:] I have yet to see anything which can be done with templates which can't be done with either preprocessor code or more function pointers.
    That's an admission of your ignorance, not a valid criticism of the language.

    Can it all be done in C? Sure. Can it be done in assembler? Of course. Can it be done in C++, with less effort, and in a way that better communicates the programmer's intention? In my experience, absolutely.

    People and projects sometimes stumble when moving from C to C++ ... or when adopting any new technology. There are strategies that often work, and others that always fail. Want to talk about them?

    I've read what you've said (here and elsewhere) about C++. You don't see how it can give programmers an advantage. Okay; but then you attack it as if no one should use it, rather than as if you tried to use it and failed. (Honest, there's a tone of aggressive defensiveness in your postings that makes your position come across as more emotional than rational. That tone seriously undermines your arguments.)

    No one's going to force you to program in C++; but no one's going to force managers to hire you for projects using C++. You won't succeed in getting others to be restricted by your limitations. Your choice, your consequences.

    --
    Stupid job ads, weird spam, occasional insight at
    1. Re:C vs. C++ (was Re:Java way up there?) by cperciva · · Score: 2

      if you think inheritance is the biggest advantage of C++ over C, then you are (as politely as I can put this) completely ignorant of the language...

      C++ provides:

      * a string class that's far more resistant to buffer overflows than char*s;
      ...


      I'm a bit confused here. Are you seriously suggesting that the addition of a heap-allocated dynamically-resized string type is more important than inheritance?

      One of them is a few kilobytes of library code; the other is a fundamental change to the language semantics.

    2. Re:C vs. C++ (was Re:Java way up there?) by TheLink · · Score: 2

      I actually agree with him.

      But I'm the infosec sort of person.

      --
  85. So what's the problem? by billstewart · · Score: 2

    HR people often don't know what they're really writing in job ads. Especially in bigger companies (i.e. big enough to have an HR bureaucracy that doesn't actually know the products or the engineers, which seems to happen when Silicon Valley startups reach 200 people, which is also when the HR professionals start saying things like "No, you've got to stop the Friday afternoon beer, that's politically incorrect and exposes us to liability for drunk drivers"), managers trying to hire employees and potential employees trying to find jobs that match their skills have to start working around them. I remember seeing job ads looking for people with 5 years of Java experience early in the boom, back when there was really only one person who could say that he had that much (James Gosling of Sun, the inventor of Java, who wasn't particularly looking for a journeyman programmer job right then...)

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  86. Re:Not suprising.... except by Lucas+Membrane · · Score: 3, Informative

    Search engine searches don't give very good stats. For examples: Many search engines won't search for the # in C#, the ++ in C++; Ada is sometimes a language, sometimes requirements for accessibility for disabled people; most jobs that make dice or Monster are posted multiple times by multiple headhunters. The biggest employers are connected to the greatest number of headhunters and have their positions, using the most mainstream (ie MS) technologies, most widely reposted. Many job postings list languages that are not really part of the job. A large percentage of current postings for Pascal, Delphi, Ada, Cobol, Smalltalk, PL1, Fortran and other formerly popular languages are really for postings for jobs re-implementing systems from such languages into other now hotter languages.

  87. Re:He's missing Ruby by iggymanz · · Score: 2

    Taking Japan by storm, anyway.....too bad not here

  88. RPG? Bletch foo! by billstewart · · Score: 2
    If they'd gone and searched for PC-type jobs only, that might very well skew the results, but if their search was only based on languages, they picked a pretty representative set (except for C, which other people have commented is hard to grep for.) PCs have largely gotten big enough to cover most commercial applications, and Sun and HP machines that aren't running Windows are running Unix versions which mainly use the same languages (obviously more C/C++/Perl and minimal Visual Basic), and there's not much new development in Cobol or RPG (or certainly shouldn't be!) During the Y2K runup, there were a bunch of jobs for Cobol programmers to fix old non-Y2K-compliant systems, but that's over with now, and many of the fixes were to "build glue to extract the data from the legacy system and feed it to Peoplesoft." There's probably a bit of new development, mainly in mainframe shops, but most of those are at places that don't need to do much new hiring.

    I used RPG II for a summer job back in college on an IBM System 34 (yes, that was before many of you were born :-) It had 48K of Semiconductor RAM (not core!) and a 13MB disk drive, and the Apple 2 could kick its butt a couple years later, and RPG was a terribly limiting language to program in, mainly tolerable for the accounting applications that we worked on which were simple accumulate-subtotal-print nested loops. If the machine had had a BASIC interpreter, it would have been much more effective, but it didn't. My father knew a number of people doing chemical system simulations in RPG, which they were doing because they ran on hardware that was affordable by individual departments, somewhat like PDP-8s. But that was then, and even by five years later, there was really no excuse for doing new RPGs.

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  89. Re:Visual Basic in 3rd? by PissingInTheWind · · Score: 2

    Amen to all of this. VB is a great tool to quickly show someone something that doesn't work.

    --

    A message from the system administrator: 'I've upped my priority. Now up yours.'
  90. 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...

  91. 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?
    1. Re:typical job posting by DuctTape · · Score: 2, Informative
      I think that in the past where I've come up short, I've gone ahead and applied anyway, noting the delta, but still showing interest in those deficient areas. At that point, the decision is up to them, and I don't have to lie. Who knows? They might not be able to find anybody, and I'll be in line.

      I've also had the experience of sending my resume out and have people call for a tech interview, and asking me about something not on the resume. Duh.

      I believe that if you lie on a response or a resume, your credibility for other consideration right goes down the tubes. I don't think that it hurts to show interest, or to bone up on it and then put it on a resume as a tech that you have knowledge of, but make sure that you don't have any fake projects where you supposedly used that tech.

      I've had people not be able to talk on things in the front of their tech list, and their resume hits the bit bucket, or goes to the don't-consider-this-person-again list. I've had people apply twice for a job, with their deficiency magically appearing the second time (but one applicant misspelled the key acronym). Bzzt!/i.

      --
      Is this thing on? Hello?
  92. Re:He's missing Ruby by Colonel+Panic · · Score: 3, Insightful

    Taking Japan by storm, anyway.....too bad not here

    Yeah, here in the US I wouldn't exactly say that Ruby is taking the country by storm, but it does seem to be making steady progress. It would be nice if it were going a bit faster...

  93. You haven't been looking hard. :) by rjh · · Score: 2

    The C preprocessor isn't Turing-complete. Try and write the following code in C:

    =====

    #include <iostream>

    template <unsigned long n>
    struct factorial
    {
    const static unsigned long value = n * factorial::value;
    };

    template <>
    struct factorial<0>
    {
    const static unsigned long value = 1;
    };

    int main(void)
    {
    using namespace std;
    cout << "10! = " << factorial<10>::value << endl;
    return 0;
    }

    ===== ... Free hint: it optimizes for an O(1) execution time, at the price of an ungodly compile time. Template metaprogramming rocks. And you can't do it in C. :)

  94. Damn HTML formatting. by rjh · · Score: 2

    Gah. Damn < anglebrackets. The first struct should be

    template <unsigned long n>
    struct factorial
    {
    const static unsigned long value = n * factorial<(n-1)>::value;
    };

  95. Solution to the job shortage... by Colonel+Panic · · Score: 2

    you can get a GOOD job according to the ads that want people with 8-10years experience with C#

    Well, let's see... C# has been around what, a couple of years now. Maybe three. So maybe this is the solution to the job shortage: four of us with 2 years of C# experience could apply for one job that requires 8 years of C# experience claiming that together we have 8 years of combined experience with C#... or even better, 16 of us with six months experience could apply. Wow, this is a real job creator!

  96. Re:Specific language knowledge is hugely important by WasterDave · · Score: 2

    ...Seen it done in C++ too. Made me cry. The only good part of the whole thing was that it was code I was picking up from a guy who had "sadly left the team", as it were.

    Dave

    --
    I write a blog now, you should be afraid.
  97. Total BS... by bubbha · · Score: 4, Insightful

    Problem is, no CS graduates do know this.

    Absolute hogwash. I've been in this business for 20 years and interviewed developers for probably 100 openings. When I see no formal computer science education I put that resume on the bottom of the pile. Not all entry-level CS majors are ready to hit the ground running but at least you know that they have been exposed to a broad range of programming and software engineering topics. And in my experience, it's the physics and EE folks that I have had the most problems with.

    I believe the biggest problem in our industry today is bad IS management. In my experience, IS managers without formal CS education are the reason that IS fails to meet business expectations. And I sense a lot of 'tude from the poster...probably does not have a CS degree and wants to get back at those who do.

    --
    I want to be alone with the sandwich
  98. Are you people really taking this seriously? by eggcozy · · Score: 2, Informative

    This has got to be a joke. Someone types in "java" or "scheme" in monster and tries to play it off as some sort of indication of the ratio of jobs out there? I am suprised so many people are taking this survey so seriously and arguing over it. The probability for inaccuracy is probably .. hehe .. off the chart err pie chart. Large numbers of jobs are not listed on job sites, not to mention the languages this person leaves out ... C as someone mentioned, cobol, peoplcode(although it could be debated whether its really a language, there are jobs out there) .. and I'd imagine a huge number of languages I've never heard of.
    Granted the person who wrote it goes over some of the problems with the study, I somehow feel it was presented and taken a little bit too seriously.

  99. Re:Already slashdotted by aminorex · · Score: 2

    My repetoire is similar to yours, but I can't
    consider my skills current in any but the 5 or 6
    languages that I've been using in the past
    couple of years, whatever they happen to be at
    the time.

    While the ability to recognize
    when a certain model or paradigm is appropriate is
    very useful, it's almost never right to use the
    corresponding language, for several reasons.
    Among these are:

    - Maintainability. You might be happy to use
    Prolog, Haskell, C++ and Java in a single app,
    but pity the manager who has to hire your
    replacement.

    - Evironment. No matter how well an Apache app
    could exploit generators and co-routines, I'm not
    going to be writing it in Icon. Nor will I be
    writing thin client interfaces in Common Lisp.

    In almost every real world situation, the practical
    aspects of engineering process and business
    requirements will preclude using the Right Tool
    For The Job.

    --
    -I like my women like I like my tea: green-
  100. set theory vs. practice by MegaFur · · Score: 3, Insightful

    You're argument is broke.

    Given sets A and B where A is a superset of B, we know: if b is an element in B then b is also an element in A. Or, in other words, all b's in B are also in A. Any element a in A, may or may not be in B.

    But, following this logic, all we would have is that "All C coders are C++ coders.", not "All C++ coders are C coders."

    But even when the statement is written that way, it still doesn't really work in practice. Sure you *could* be a C-only coder and code using a C++ compiler--but you wouldn't like it. Besides, what would be the point of using a C++ compiler with all its complexity if you're only writing C code? Finally, how could you claim to be a C++ coder if you didn't know what a class was?

    --
    Furry cows moo and decompress.
    1. Re:set theory vs. practice by blair1q · · Score: 2


      Beyond which, the C and C++ standards diverge on the C-ish portions of the language. The head of this thread is right. C++ coders are not C coders. Not many of them are really computer programmers, imo.

  101. Re:What about Haskell? by iggymanz · · Score: 2

    Ouch! my other favorite language!

    Oh well, guess I'll continue to make my living with half-assed designed-by-Rube-Goldberg-character-on-crack languages like Java, Perl and C++....and even COBOL sometimes. In the immortal words of Bill the Cat, "Aaacckkpfpfpth! Bleck!"

  102. Re:...and TrollTech's QtScript is ECMAScript as we by Zontar+The+Mindless · · Score: 2

    Thanks for the heads up, I'll add that to the "oh, yes it is" list the next time somebody tries to claim that JS isn't good for anything other than image rollovers.

    (Heads off to TrollTech's site to see what's up with QtScript...)

    --
    Il n'y a pas de Planet B.
  103. 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]
  104. Compiler writing by Lucas+Membrane · · Score: 4, Funny
    Ever tried to write a compiler in FORTRAN, for example?

    The old Citran, Joss, Cal, or whatever time-sharing interpreted language was written in Fortran. (About 5k lines of Fortran II, I think) It was much better than its competitors of the day, ie Basic and Xtran.

    Then, for the real fans of serious programmer cajones, consider this: Realia wrote their COBOL compiler in Realia COBOL, which was a take-no-prisoners, unmitigated, unextended, minimum standard COBOL, ie 1974 version more or less.

  105. My suspicions by inkswamp · · Score: 2
    Remember that in a lot of instances, companies and particularly large corporations use human resource depts. to create the wording of the job listings. Many times, the human resource dept. will consult with management about what sort of programming knowledge is expected in a given job position. It's curious to me that the top five listed here (Java, C++, Visual Basic, Perl and Javascript) also seem to be the most commonly known language amongst people who are peripherally aware of programming or work in an environment where programmers do. I think some of these are ranking high because of buzzword-ish qualities. Consider that Java is going to be well known amongst a lot of management types because of the press it has received during the MS anti-trust trial (and even now, it's making headlines.) And then look at Javascript--the name itself indicates that it's not even a programming language per se. Odd. Something is not quite right. Is Javascript being pushed up higher than it should because it sounds like Java? I've known many people who confuse the two.

    I'm also suspicious that C# makes #6. Does anyone know anybody using it? I tend to think it's gotten that position because of its visibility being associated with MS and therefore has become known to people writing and contributing to job listings.

    I could be way off-base here, but that's my initial feeling about this.

    --
    --Rick "If it isn't broken, take it apart and find out why."
  106. The tail attempts to wag the dog once again by Da+VinMan · · Score: 2

    I agree with you. And let's take this one step further...

    While we're all forced to play "keyword bingo" on our resumes because of the keyword driven searches that companies will use to attempt to find qualified IT personnel, what's really going to matter when you hit the job interview is what you bring to the table for that employer. In other words, if you have specific and valuable experience within a given industry (e.g. geological survey, financial services, etc.), then you're going to have a much better chance than the next guy over who "just knows Perl/VB/whatever".

    I think people should pay attention to the technologies too, but I really think you'll be doing yourself a tremendous favor by learning about and concentrating on a given industry. It's the ultimate compliment to not only pander to your customers' needs, but their interests too.

    --
    Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
  107. You're right, it isn't right by 0x0d0a · · Score: 2

    Read the comment under the graph -- they pointed out that "scheme" frequently turns up false hits.

    Nothing too surprising. Lightweight stuff is done in Java, high load stuff in C++, stuff with a short turnaround time in perl. A large amount of stuff is inexplicably done in Visual Basic, but that's always been true.

    I guess I'm a little surprised that Ada is so high, but maybe that's Office of Homeland Security-type stuff contracts. I can't think of another reason for the government to be suddenly doing development.

  108. The Bottom Line is ... by Lucas+Membrane · · Score: 2

    New programming languages have gained substantial market share quickly, which is not what anyone would have expected new languages to do, given the prominence of C and oncoming rush of C++ about ten years ago. I suppose that means that software is now a fashion industry, subject to sweeping and sudden changes of fashion. Both Java and C# have been very successful. It's now Java, C#, VB, and everything else. A year ago it was VB, C++, Java, and everything else. Most of the lesser languages (not in the top 4) are losing share very quickly. They will hang on in some places, but market share is withering, support will be not easily available, demise follows, etc. For examples, it looks like perl and python have peaked; Powerbuilder, tcl and smalltalk are disappearing; Ada, Eiffel, modula-anything, Fortran, and COBOL are fading back into the triassic period. Two languages, Delphi and SAS, although they have very small market share, seem to be bucking the trend by holding on to what share they have very well.

  109. What they advertise != what they use by DunbarTheInept · · Score: 4, Insightful
    Typically the languages mentioned in the ad for a position are a superset of the languages you actually use in the job. There are several reasons I can think of for why this is done:
    1. The employer thinks they MIGHT begin using some of those other languages in the future and wants someone who could transition if that happened.
    2. The employer is thinking that the more languages the programer knows, the more likely it is that the programmer is competent in general, so listing many languages gets you better applicants (or so the employer thinks).
    3. The employer is trying to woo applicants by putting the latest trendy language buzzwords into the job description regardless of what the job really entails.
    4. ***Big one*** The employer is playing to the one-upmanship resume inflation game, asking for a lot of unreasonable things because the applicant will probably list a lot of unreasonable things as experience. Applicants eggagerate their qualifications and apply to jobs that they aren't really up to, so if you inflate the job requirements to compensate, you get applicants that are right at the level you wanted. But then the applicants exaggerate further, so the employees exaggerate further, and so on and so forth until eventually employers will be asking for N years of experience with language Foo, where N is about three times the typical human lifespan, and Foo is a language first implemented last year.

    That last one bothers me a lot. It means you *have to* become part of the problem in order to get noticed. Being honest on your resume means not getting any calls. Employers assume you are exaggerating whether you are or not, so if you don't exaggerate they picture you being a lot less qualified than you are. At least that's the way it seemed the last time I was looking to change jobs, which admittedly was over six years ago so things may have changed.
    --

    Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.

  110. Re:Already slashdotted by tdelaney · · Score: 2

    I prefer to say that I've *forgotten* most programming languages I've ever used, but give me a week to get back up to speed on any of them and I'll be fine ;)

    As a general estimate, I probably use about 5-10 programming and scripting languages at any particular time. For example, at the moment it's Python, C, C++, VBScript, DOS batch, bash shell scripts, makefiles, and I'm probably missing a couple. Within the last 6 months I've also used Java, (Transact) SQL and PHP. Different tools for different tasks.

    In my life I would estimate that I've used over 50 languages, but most of them aren't current (but see my first statement). I started with Logo; moved onto BASIC; spent a year or two on Pascal. Moving into university I started with things like Modula-2, C, C++, Lisp, Prolog, a couple of assemblers (including one I wrote myself for a Nova II simulator we wrote for my final-year project) ... the list goes on. I've worked with a multitude of languages in my professional career, and a lot of them I don't even remember I've used. I certainly wouldn't bother putting things like "makefiles" in a resume.

    And I'm not quite 30 ;)

    Getting back to the meat of the article ... there tend to be more jobs searching for "Java" and "C/C++", etc for a couple of reasons. Most of them have to do with which terms HR and recruiters are familiar with. In particular, recruiters tend to maintain an internal database independently of what is actually advertised. If your resume matches any of those terms (e.g. Java, Visual Basic, etc) you will be put forward for *any* programming job. Yes, there are some recruiters who are more scrupulous about doing their job, but most aren't. HR knows this is how recruiters work, and so they tailor their requirements to match.

    While I was contracting it was rare to go to an interview and not be told "actually, we need this, this and this, but no one puts that on their resume so we can't put it in the requirements".

    It's a vicious circle.

  111. Re:Already slashdotted by __past__ · · Score: 2

    At least he didn't mention c0b01.

  112. Re:Ruby and Python by PigleT · · Score: 2

    I don't think I've ever worked in a company that uses only one language for everything, anyway. More to the point, none of the developers I've ever met have been one-horse wonders, either. And no surprise: to be a developer is to know how to *program*, which is a language-independent ability. We use all combinations of C, java, PHP, Tcl, and C# - and I was mildly pleased when one of the developers said he understood the point of s-expressions too, to say nothing of me being the in-office Ruby and Perl guy.

    And never mind the linguistic inaccuracies (why didn't the author check each occurrence of `scheme' by hand?!) but what about jobs that are really vapourware to capture more CVs than the competing agencies? Don't they target the big names (VB, VC) more than anything else?

    --
    ~Tim
    --
    .|` Clouds cross the black moonlight,
    Rushing on down to the circle of the turn
  113. Re:Already slashdotted by jonadab · · Score: 2

    I had CoBOL, but I won't claim that it taught me much.

    --
    Cut that out, or I will ship you to Norilsk in a box.
  114. I do this EVERY DAY, and track the results. by mshiltonj · · Score: 3, Interesting
  115. Very american results. by Qbertino · · Score: 2

    These seem to be quite percise results for the american 'market' of PLs. For instance: No way would VB and ADA get such results in Europe

    --
    We suffer more in our imagination than in reality. - Seneca
  116. Re:Already slashdotted by Codifex+Maximus · · Score: 2

    >On the surface your arguement seems valid, here's
    >the problem with it. Programming is a subject in
    >itself, there are concepts, languages only
    >implement those concepts, that's why a CS course
    >involves learning many languages to illustrate
    >those concepts.

    I agree. For example, there isn't alot of difference between Visual Basic and VB.net. Or ASP and VBA for that matter. You read, you process and you write; the syntax usually changes very little. Yet, you can have years of experience programming in Visual Basic but they wont hire you for VB.net for nothing.

    I think I'm gonna take me one of those Dale Carnegie courses... maybe I'll learn to lie or something.

    --
    Codifex Maximus ~ In search of... a shorter sig.
  117. Re:PHP??? My Ass. by Salamander · · Score: 2

    No, perl is the de facto standard used by newbies and children who don't want to learn a real language. Anybody who offers perl as an example of a real language doesn't know shit. It's awk with extra cruft.

    --
    Slashdot - News for Herds. Stuff that Splatters.
  118. Re:PHP??? My Ass. by Etyenne · · Score: 2

    www.horde.org

    BTW, I am mostly programming in Perl.

    --
    :wq
  119. Off-topic by multipartmixed · · Score: 2

    > What would a Beowolf cluster of Jesuses do in Soviet Russia,
    > where all your base are belong to us?

    Pour a LOT of hot borscht down Natalie Portman's pants?

    --

    Do daemons dream of electric sleep()?
  120. Re:You are a CS... check by Anonymous+Brave+Guy · · Score: 2
    Already halfway through I thought that you are a CS. It shows...

    I'm not a CS. I have a postgrad diploma in CS, but my first degree is in a different subject, and my professional career is real world development not academic theory. I simply mentioned the CS qualification to show that I do see value in CS and wasn't having a dig at it or those who choose to study it.

    Look, to me (comp.arch) any language is only a limitation.

    I confess, I don't understand your point. It seems like saying that hammers and pliers are only limited tools, so we should just think in terms of what we can do with our hands.

    Your responses to my specific points, unfortunately, don't actually address the problems, either.

    Looking through the libraries is not sufficient. Not knowing these will slow development down, but not knowing the "best practice" idioms of a language will frequently result in a buggy or poorly performing product.

    And no, there aren't that many common paradigms, but I get really tired of seeing C++ programmers who write pure OO code then thinking they can write a good app in C because the syntax is much the same, even if they have no idea how to do functional decomposition effectively because they've never modelled using it before.

    The only good thing I've seen coming from CS are algorithm skillz.

    Perhaps. But then again, for developing real world solutions to real world problems, that's about the most important thing, possibly the only important thing for many people. Everything else is just an application of whatever algorithms are useful in your particular problem domain. What did you think CS was about?

    I'm going to be charitable, and assume that your post wasn't just some strange effort to slag off CS while claiming that CA gives you L337 Sk1llz. I don't really see your point either way, though.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  121. Re:PHP??? My Ass. by the+eric+conspiracy · · Score: 2

    They've always seemed to be much more technology agnostic, and certainly got pretty far without any big name app servers behind them over the past 6-7 years.

    I am not sure that Yahoo's commitment to FreeBSD is 'technology agnostic'. It seems to me more like they have some powerful internal political forces that are pushing them in this direction.

    Many of the early internet companies like Yahoo put together their own custom development systems. Amazon and EBay are two other examples I'm aware of. As the internet matured, the costs to maintain these custom systems have gotten out of hand and these companies have switched to third party app servers. Both Amazon and EBay have moved to or are moving to Java.

  122. PHP file uploads by oneiros27 · · Score: 2

    Although I haven't used the latest version of PHP (sorry, don't do web development these days, mostly system and database administration), but it would upload all files into one directory, and then move the files into the directory that you requested.

    So, if you have multiple users with access to the system, they have to make sure that they don't ever have a file uploading at the same time with the same name, even if it's being written to a different directory. [Because, well, it was intended for a single user to be used, not a multiuser system]. In my environment (a university), this model just isn't sound. It may work for a long time, but it'll be a bitch to debug when it finally does happen.

    --
    Build it, and they will come^Hplain.
    1. Re:PHP file uploads by mgkimsal2 · · Score: 2

      Untrue - uploaded files are given random names- two samename files won't collide.

  123. yes, 85 Mbytes by g4dget · · Score: 2
    The svelte size of 39 Mbytes is the compressed download.

    The installed JDK is 85 Mbytes; that's what you need for development, which is what we are actually talking about here. The installed JRE is 56 Mbytes.

    Java has become ridiculously bloated.

  124. Re:Has the date by IIRCAFAIKIANAL · · Score: 2

    Correction noted. It still says January 3 so it isn't automatically generated though.

    --
    Robots are everywhere, and they eat old people's medicine for fuel.
  125. Java and Javascript by petree · · Score: 2

    You will notice that the search query he uses to look for java programming positions excludes javascript ("Java AND NOT Javascript") which sounds ok at first, cause he wants to seperate html & javascript positions from java positions. The issue comes up with what I would imagine are a decent number of Java related jobs...something that requires Java -AND- Javascript. So any jobs that are doing web development of Applets might ask for javascript too. Just one other reason to inflate the Java numbers in your head when looking at these comparisons.

  126. Should list what programs they are proud of. by TheLink · · Score: 3, Insightful

    I think people should list examples of most favoured/complex/interesting/noteworthy programs they wrote in each of the languages they say they know.

    That'll be more helpful eh?

    If I see 20 languages with no details I'm tempted to think Hello World level for at least half of them.

    Then again if someone has a single Hello World source which runs in 20 rather different languages... Now that's different :).

    --
  127. Re:Already slashdotted by TheLink · · Score: 2

    Just ask them about noteworthy programs they have written in each of the languages they say they know.

    Then also ask about programs they have modified/hacked in interesting ways.

    I've managed to usefully modify many programs even though I wouldn't claim to be proficient in the language they were written in. Even done a few things vendors said couldn't be done. And fixed a few bugs they hadn't fixed yet. Often you don't even need to know what language the source was, coz the binary is what you hack.

    Yah shouldn't do this often - imagine the documentation or worse - the ISO9002... nah it never happened, just someone's imagination ;).

    --
  128. Re:Already slashdotted by shaitand · · Score: 2

    " However, a "serious C programmer" told to write something in Perl will (initally) write drastically different code than a seasoned Perl programmer"

    Have you ever tried to read the code output of seasoned perl programmers? Being proficient with regex's and hashes is one thing. But beyond that it's generally a bad thing.

    Remember, your pocket reference contains all the information your "learning perl" book will, every bit of it, it just contains it in condensed form and actually covers more.

    "But those are all different programming paradigms. A knoweldgeable manager know that, but HR keyword scanners don't."

    The only point I'm really trying to make is that this is what the article is about, what buzzwords to put on your resume because you expect it to be read by that HR keyword scanner.

  129. Nah. by TheLink · · Score: 2

    Let him do what he does best and make 500M/year.

    I'll just help sysadmin his home network for 0.1%. Not greedy :).

    I might even help carry his golf clubs/bag.

    --
  130. Dumb terminal apps by TheLink · · Score: 2

    Don't forget those apps that companies are still happily running on dumb terminals.

    If a company today wants those sort of apps, web versions could make great sense. A Walmart PC is probably cheaper than a classic dumb terminal ;).

    HTTP/HTTPS can allow you a great deal of network flexibility.

    --
  131. Re:Already slashdotted by shaitand · · Score: 2

    yeah, that does sound like perl being used the right way. Perl is always a champ when you need something Quick, Dirty, Flexible, and involving lots of string manipulation.

    Have you ever considered branding? Just get ya an "L" iron for those lisp clingers. Whenever what he codes starts looking too much like lisp brand him with an "L" when it happens again, brand him somewhere else. I suspect he'll learn very quickly and if he doesn't at least the next person who is about to hire him for a perl project will see the charred "L" on his forehead and know not to hire him ;)

  132. Yes very strange by TheLink · · Score: 2

    Take a look again: perl beat php in most of their benchmarks. And they even said they had legacy perl code.

    YSP = yahoo server pages = mod_perl

    http://public.yahoo.com/~radwin/talks/yahoo-phpc on 2002.htm

    As for perl's lack of maintainability. How is php much better??? Even they said PHP requires discipline.

    Given the results, WHY PHP?

    Very strange indeed. Decision decided before test and results?

    Showing the wrong test? e.g. they used a different test (coder availability etc) for the decision?

    --
  133. Re:Specific language knowledge is hugely important by TheLink · · Score: 2

    I'm not a Java coder, but my ex-colleagues didn't seem to know Java that well.

    They had difficulty finding a neat way of getting the number of rows returned from an SQL select. They could get the number of columns easily, but erm, most times you know that already.

    Another one had problems getting Java web libraries to not strip cookies returned from his server's http connections to other webservers.

    You any idea how they should be doing these things? They must be missing something right?? Coz they resorted to doing yucky things - in my opinion anyway.

    --
  134. Re:PHP??? My Ass. by the+eric+conspiracy · · Score: 2

    One of my best clients has had only requests for PHP/Linux/MySql based solutions.

    LAMP is a worthy technology suite for some applications - however I would much rather work with Poostgresql-Linux-Apache-Tomcat-Eclipse, (PLATE) as a starting point. Then if the customer's business grows you are in a good position to move up to heavier duty solutions.

  135. Re:Already slashdotted by GlassHeart · · Score: 2
    There are a lot of reasons, but one of the biggest ones is: 3 months to get up to speed or 6 months? Consider how much they're being paid, and the opporunity cost of 3 more months, and its just not worth it.

    Programmer A: worth $1,000 a month for 6 months (while learning). worth $8,000 after 6 months.

    Programmer B: worth $1,000 a month for 3 months (has prior experience, so shorter learning curve), then worth $6,000 after that.

    If both programmers are paid the same (say, $5,000 a month), the total worth of programmer A to you will surpass programmer B at some point. Programmer A is somebody with the "x-factor" but no specific experience in your area. Programmer B is a mediocre programmer, worth slightly more than he is paid.

    Put another way, who is more likely to be the one to find that showstopper bug, which allows you to actually ship? How much is that worth?

  136. Re:PHP??? My Ass. by the+eric+conspiracy · · Score: 2

    Ahem. SourceForge.net (supporting > 500,000 users) is written in PHP (+ Perl and Python).

    I could say something snotty like "so that's why it performs so poorly?". Seriously though, SourceForge is not the most reliable web site that I've ever visited. I don't know enough about their issues to say what the cause of the problems are, but they do have problems.

    If they are using a mixed code base of Perl, Python and PHP I feel very sorry for them. I used to have to support an e-commerce site that was mixed Perl/PHP and I found that it was a nightmare - logic duplicated all over the place in two different languages. Very, very bad.

  137. Re:But: Lex and yacc are C tools. by satch89450 · · Score: 2

    Fair statement. Many of the general-purpose scripting tools are "c-like", such as PERL, BASH, and even a little JAVA now and then.

    For one project, though, the "scripting language" I created was a pure rules-based language system. Another scripting language I created for a project was characterized by a colleague as "looking like DNA descriptions" in creating a series of numeric-control sequences. One scripting language was a direct rip-off of OS/360 Assembler's MACRO facility, because it was the best tool for the job and the audience -- banks.

    By the way, LEX and YACC are not C tools. They are language processing tools, with most people emitting C code as the actions of expressions and productions. The underpinnings of Unix implementations of LEX and YACC *are* written in and for C, but that wouldn't stop someone from taking the same language and porting the utilities to target code in COBOL, FORTRAN, ALGOL, or PL/I. Or even LISP. Don't confuse implementation with design.

    Ever think how to design a scripting language to provide metadata to generate control files for BIND? I'm working on one in my spare time because I want better automation of DNS management. I know people who use Excel for the purpose, and it sort of works. A scripting language, married to make, would mean that I make a single change to a script file and let the whole thing rip.

    I wrote one scripting language to generate random text corpus files for studies of text compression in analog modems. This was BNF-like, but includes elements to indicate liklihood of generation percentages so the generate corpus would have characteristics similar to those in real text. My goal was to come up with near-random text that would have the same compression characteristics as real text in the same language (English, French, Russian, and Italian were the target languages).

    I use what works for the job at hand. Free-form syntax (like C, PL/I, ALGOL). Strict line organization (assembler, FORTRAN). Even column-based (RPG, Autocoder).

  138. Re:Already slashdotted by satch89450 · · Score: 2
    I bet you list DOS Batch, huh.

    You mean you didn't look? My resume is posted on-line, after all, and even at the URL shown here on SlashDot.

    Actually, I don't. "Programming languages: extensive experience in Assembler, C, LEX, HTML, PASCAL, PERL, PHP, PL/I, regular text expressions, SQL, UNIX sh, YACC; lesser experience in AWK, BASIC, COBOL, C++, FORTH, FORTRAN, JAVA, JAVAScript, M4, RPG". Missed a bet? I don't think so.

  139. Re:Not suprising.... except by Capsaicin · · Score: 2

    Hmm... do your python tools have a spell checker?

    Yup, a utility by the name of python, checks for spelling errors and syntax errors generally. An important tool for any python programmer. ;P

    --
    Better to be despised for too anxious apprehensions, than ruined by too confident a security. --Edmund Burke
  140. Re:Mod parent UP, not DOWN!! by MillionthMonkey · · Score: 2

    No, whoever modded it as a troll was correct (except I wasn't really trolling). I hadn't done my homework on the MS tool I was talking about- it does a mapping from the Java 2 API to the .NET API and converts your Java code to C#. (I was thinking it went to J#.) So the post has a major factual error.

    Still the original point is the same, that this is much more difficult to do with Java than with the VB->VB.net conversion which is relatively trivial.

  141. Re:Already slashdotted by shaitand · · Score: 2

    I dunno, last I checked the camel would qualify as a pocket reference.

  142. really by g4dget · · Score: 2
    You said, distributed, which means, available for download or other way of getting

    I also said "85 Mbyte install", not "85 Mbyte distribution".

    If you go from this point, you should talk about JRE

    Come on, you are grasping at straws. I didn't make a point about Java being too big for download, I made the point that the Java libraries are very, very interdependent. And Sun likes it that way because it makes it really hard to clone Java. Java isn't alone in this: a lot of runtimes that effectively had only a single codebase during a key period of their development have the same problem: CommonLisp, Smalltalk, Python, etc. And the most popular system like that: Windows. Yes, Java and Windows, sadly, are not all that different.

    To prove your point about libraries, you'd have to dissect JRE and see how much of it, is libraries, and how they really depend on each other (analyzing imports for example).

    Maybe you do, I just run "java -verbose helloworld.java" and notice that it loads 287 classes to get its job done, or that an 11 line Java program that puts up a label window loads 653 classes.

  143. typo by g4dget · · Score: 2

    That's, of course, "java -verbose helloworld".

  144. forth ?know not if up shut then by SimHacker · · Score: 2
    Huh? What dialect of forth are you using: Pigeon-Forth? No wonder you're unemployed!

    In standard Forth-83, the joke would be:

    forth ?use if unemployed then

    But in your case:

    forth ?know not if up shut then

    --
    Take a look and feel free: http://www.PieMenu.com
  145. Interleaved Good, Bad and Ugly by 4of12 · · Score: 2

    It's heartening that Java is so popular being a relatively new language and less ugly than the other top runners. You might think pure technical merits of a language would translate directly into market dominance, but inertial forces are strong.

    A lot of the languages are legacy (no COBOL, though) such as VB, which is kind of ugly but practical like JavaScript, which is semi-detestable in its own right.

    But it reminds me that the IT world is a practical place full of ugly old legacy code that needs to be fixed, maintained and "slightly enhanced"

    Everyone hopes to get a job with a clean sexy new language (designing Ferrari's), but the reality is much different (fixing Chevy's).

    --
    "Provided by the management for your protection."
  146. Re:PHP??? My Ass. by the+eric+conspiracy · · Score: 2

    Show me another system running 50,000 users that performs as well as SF.net.

    There are many sites with far more users than SourceForge. Most of them run much better, too. Simple corporate sites like Macromedia.com have 1-2 millions of users. Sites like Ebay and Amazon are pushing 100 million users.