Number of Jobs by Programming Language 664
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."
Forth (Score:5, Funny)
Re:Forth (Score:4, Funny)
Slashdotted (Score:5, Informative)
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.
Re:Slashdotted (Score:5, Funny)
Re:Slashdotted (Score:3, Informative)
Re:Slashdotted (Score:5, Informative)
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
Re:Slashdotted (Score:5, Insightful)
Another thing to consider, of the total 20K jobs across all 3 services, how many of those are dupes? Maybe half? More?
Re:Slashdotted (Score:3, Insightful)
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.
Re:Slashdotted (Score:4, Insightful)
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%.
Re:Slashdotted (Score:5, Informative)
The statistics look like this:
FYI, how PHP fares: (Score:5, Informative)
Which would put it somewhere between Fortran and Ada.
How many of those jobs are real, though? (Score:5, Interesting)
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.
Re:Slashdotted (Score:3, Insightful)
set theory vs. practice (Score:3, Insightful)
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?
Java & ASP (Score:5, Interesting)
Re:Java & ASP (Score:5, Insightful)
This is not surprising at all and it's what I've been hearing from everybody. Java code is harder to port to
The migration path from Java to
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
-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
-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
-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
Re:Java & ASP (Score:3, Interesting)
This is sort of what J# is, except J# uses the
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.
Re:Java & ASP (Score:3, Interesting)
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.
#1 popular programming job (Score:5, Funny)
PHP??? (Score:4, Insightful)
to learn about employment oportunities for ppl with older skills like Cobol, Fortran, Assembler.
Re:PHP??? (Score:3, Informative)
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.
Re:PHP??? My Ass. (Score:5, Interesting)
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.
Re:PHP??? My Ass. (Score:4, Interesting)
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.
Re:PHP??? (Score:5, Informative)
Please troll elsewhere:
Yahoo Embraces PHP, Expands Open-Source Commitment [theopenenterprise.com]
PHP Usage Stats [php.net]
Re:PHP??? (Score:4, Informative)
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 [insight.com] or catalog.com [catalog.com]
Re:PHP??? (Score:4, Insightful)
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.
PHP vs. "enterprise" (Score:3, Insightful)
(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:
[softwarereality.com]
http://www.softwarereality.com/programming/ejb/
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.
At what price? (Score:5, Interesting)
Maybe the price of the programmers is also affecting which language people are hiring for.
Trends; what I've seen (Score:2)
My recent experience is that, for every C++ job, there are between two and two-and-a-half Java jobs.
This isn't that useful (Score:3, Interesting)
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).
Can't get to the site... It is slashdotted. (Score:2, Offtopic)
And on-topic, I hope that Java/Oracle/Perl/Web/Unix relevant languages are popular. If only I could see the list.
Prior Language Market Data (Score:2, Informative)
Ignorant, only PC languages were chosen? (Score:4, Insightful)
Lets broaden the search to languages commoningly used in minis and mainframes. Perhaps the results will be more relevant?
Quick Mirror (Score:4, Informative)
http://wrongway.mafia.org/mirrorthis.html
what? (Score:4, Interesting)
What lousy methodology. (Score:5, Insightful)
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.
Re:What lousy methodology. (Score:5, Funny)
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
These figures aren't useful at all. (Score:5, Insightful)
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.
damn... (Score:2, Funny)
bwahahaha!
that gorilla game kicked ass....wonder if it's been ported?
-- anthony
Java way up there? (Score:3, Interesting)
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...
Obviously, most aren't serious. The "real" ommisions are in bold. Please no "FoxPro is important you insensitive clod!" replies.
Re:Java way up there? (Score:3, Insightful)
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.
Re:Java way up there? (Score:4, Interesting)
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.
Re:Java way up there? (Score:5, Insightful)
Do you want your compiler saving registers and setting up stack frames behind your back?
Re:Java way up there? (Score:3, Interesting)
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!
Significance of jobs requested? (Score:3, Interesting)
What about pay scale? Who gets paid more, Java developers or Fortran developers?
In the UK (Score:5, Interesting)
The UK graph for Total Demand for Staff is fascinating as well (on the front page, scroll below the fold)
I've always wondered (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.
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?
Because abstract skills aren't as important (Score:4, Insightful)
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.
you wouldn't think so (Score:5, Insightful)
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?
Re:you wouldn't think so (Score:3, Interesting)
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.
Re:Because abstract skills aren't as important (Score:3, Insightful)
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.
Re:I've always wondered (Score:3, Interesting)
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 [joelonsoftware.com]. 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,
-jerdenn
Re:I've always wondered (Score:3, Insightful)
Another Spolsky article [joelonsoftware.com] 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.
Re:I've always wondered (Score:4, Interesting)
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.
Re:I've always wondered (Score:3, Insightful)
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.
Re:I've always wondered (Score:5, Insightful)
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.
Total BS... (Score:4, Insightful)
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.
Gah! That damned myth again (Score:5, Insightful)
This is a common argument, and there is obviously some element of truth to it, but it's still flawed for two big reasons.
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.
Learn Java and then be a whore... (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 :)
C# is HOT (Score:3, Insightful)
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.
Delphi (Score:3, Informative)
Monster 158
Dice 58
Which puts Delphi around the 1-2% range so it deserves to be counted.
How useful is a list for one day anyway, especially one just after the holidays? Showing how the trends change over a year would be more interesting.
Interesting to see where the demand is. (Score:4, Funny)
COBOL (Score:4, Interesting)
I know that it's not a popular language amongst younger programmers. But there are millions and millions of lines of COBOL code running big companies mission critical applications. Trading systems, ledger, customer statements etc.
A lot of the old developers are going to be retiring in the next decade. But the companies are still around, and will still need to run their books every night. COBOL programmers are going to be making a LOT of money soon.
I'm a distributed guy now, but I still do a couple of mainframe projects a year to keep my skills sharp. It's a link to my past, and an investment in my future.
Say what you will about mid range/high end hardware performance these days. Nothing is faster for business processing than good ol' IBM 390 systems (The mainframe for you youngins). And it's not going away. As server level hardware gets faster, the mainframe hardware does the same. It's an older tech, but it's still advancing.
Re:COBOL (Score:3, Funny)
Because no COBOL programmer worth his/her salt would bother with an online job board. It's all word-of-mouth between people whose contacts in the industry stretch back 20-30 years. Make friends with the old geezers... the beers you buy them are worth their weight in gold.
Wait a minute, this isn't what's popular. (Score:5, Insightful)
On the surface this may look like which programming languages are popular, but that's not the case. Rather this a measure of programming languages where demand exceeds the supply of programmers. For all we know there are a billion Algol programmers in the world, and exactly the same number of jobs, so there are no openings.
The data is still interesting, and since when demand exceed supply the price rises (hey, I took economics) this might be useful for people wishing to maximize their income. I wouldn't use it to decide the most popular languages. Total jobs in a language (filled and unfilled), or total lines of code produced each year would be better measures.
Anyone have those numbers?
PL/SQL? (Score:4, Informative)
699 on monster
581 on dice
Looks like we're not alone.
Not just how many jobs - how many applicants? (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:
How's he counting? (Score:3, Insightful)
Delphi!?!? (Score:3, Insightful)
Monster.com et al (Score:5, Funny)
Favorite post:
Must have Exchange 2000 on Solaris 8.
Java the most popular? (Score:4, Insightful)
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.
Specific language knowledge is hugely important... (Score:3, Insightful)
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.
What they advertise != what they use (Score:4, Insightful)
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.
I do this EVERY DAY, and track the results. (Score:3, Interesting)
Re:Already slashdotted (Score:5, Insightful)
Re:Already slashdotted (Score:5, Insightful)
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.
Re:Already slashdotted (Score:3, Informative)
Re:Already slashdotted (Score:5, Interesting)
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.
Compiler writing (Score:4, Funny)
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.
Should list what programs they are proud of. (Score:3, Insightful)
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
Re:Already slashdotted (Score:3, Funny)
Re:Already slashdotted (Score:4, Insightful)
[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.
Re:Already slashdotted (Score:3, Insightful)
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).
Re:Already slashdotted (Score:5, Funny)
A few months later, in a PHB-meeting: "Apparently there's an innovative language called 'Cowboyneal' that's been very popular.."
Study innaccuracies (Score:2)
Outside Sales Consultant [hotjobs.com]
Re:Study innaccuracies (Score:2)
Re:Study innaccuracies (Score:3, Funny)
The same way we interpret CmdrTaco...very carefully.
Re:Not suprising.... except (Score:3, Interesting)
Re:Not suprising.... except (Score:3, Informative)
Re:Javascript is programming??? (Score:4, Insightful)
Re:Javascript is programming??? (Score:5, Informative)
That depends on the environment and what objects it exposes for scripting. There are a lot more implementations out there than you'd think:
There are doubtless other examples.
Re:Visual Basic in 3rd? (Score:3, Funny)
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.
Re:Visual Basic in 3rd? (Score:4, Informative)
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
Re:He's missing..... (Score:4, Informative)
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)
Re:He's missing Ruby (Score:3, Insightful)
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...
Re:Why Visual Basic is Popular (Score:3, Informative)
Re:What about Haskell? (Score:3, Insightful)
Re:What about Haskell? (Score:4, Insightful)
Re:The Boys @ M$ (Score:3, Interesting)
Java is a platform, a set of class libraries and a language. .NET is a platform and a set of libraries but not a language - ergo, you (you meaning "compiler companies") can make other languages run in .NET - there's .NET versions of COBOL, Fortran, Perl, etc. on .NET (too lazy to Google right now).
So .NET did make the list, sorta. Still, for C# to be the sixth most popular language on job search engines and it's not been out of beta for a year, I'd say that that is pretty impressive.
Re:Pity poor programmers: JOBS BY OPERATING SYSTEM (Score:5, Informative)