C Programming Language Back At Number 1
derrida writes "After more than 4 years C is back at position number 1 in the TIOBE index. The scores for C have been pretty constant through the years, varying between the 15% and 20% market share for almost 10 years. So the main reason for C's number 1 position is not C's uprise, but the decline of its competitor Java. Java has a long-term downward trend. It is losing ground to other languages running on the JVM. An example of such a language is JavaFX, which is now approaching the top 20."
The news is maybe that objective C are really gaining momentum and are soon on the top 10. With the Ipad coming out and strong mac sales it will continue to become more important.
I expect Java to gain ground again as developers create apps for Android phones.
Although the bare-bones Nexus One hasn't sold in huge numbers, HTC have already produced several superb Android-based alternatives, such as the Legend and the Desire. If/when Android becomes the commonplace operating system in the smartphone market, this will lead to a rise in Java development.
In fact, to join in with the recent Apple-bashing (which I whole-heartedly agree with), I'd suggest that mobile app development will move away from the iPhone, in favour of Android phones. When you are investing time and money in app development, there is simply more certainty in developing apps that will live or die on their merits, as opposed to Apple's 'approval' process.
It is now over 2 weeks since Opera Mini was submitted to Apple for approval:
http://my.opera.com/community/countup/
I'm also curious as to what the point is.
Assuming the numbers are accurate (a big assumption here) all this turns out to be is a big popularity contest. Those have their uses, but none of them are to identify which of something is better. Confounding this further is the very idea of one language being better than another. ( ok, except VB :P ) The simple truth is that programming languages normally come about to fill a niche. Naturally, they are better in that niche.
In the context of the "web" would you argue C or PHP is better? PHP I would wager (excepting truly specific instances, and this whole thing is about generalizing anyways, so that doesn't apply). But you most certainly wouldn't think the same when it comes to systems programming.
Wake me up (so I can wake myself from the nightmare) when replacements for tools such as bash and fdisk are written in PHP.
I pick on PHP, only because it's a good example of this. While I do personally dislike, detest, and disrespect it - that's not my point here.
For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
C and Java are for different things.
C is a great systems language, it lets you get great performance, interact directly with the hardware and still stay fairly portable. Java is a great applications language, it lets you get work done quickly, runs very fast and is extremely portable and secure (which is getting more important everyday as Microsoft's grip on the desktop industry is on a slow but seriously downward trend).
It makes sense that these two would be at the top, popularity wise.
Mod me down, my New Earth Global Warmingist friends!
This symbolizes a shift in control at Google from the engineers to the beancounters. Doing evil will inevitably follow.
I think it's fair to say that, regardless of application or task, PHP is always the worst, unless the task is "programming language that dangerous retards can use". At least with languages like C, Java and even Python, there's a sufficient learning curve at the start that it scares precisely the kind of people who shouldn't be writing code.
The world's burning. Moped Jesus spotted on I50. Details at 11.
As a long time C++ programmer who recently went back to C, I can tell you that C feels like a different language if you use it with all the skills you acquired from other languages. As a language C is almost perfect. It's the libraries that makes all the difference.
C has become the English of computer languages. There are so many derivatives - C++, C#, 'Objective-C', Java, and all those other web scripting languages like Actionscript and PHP -- that I can't even keep track of them all. Their syntax are so similar, yet their libraries are from different planets. As for K&R's C, it is probably like the Queen's English - rarely spoken well and often slurred.
Remember when languages really looked different - COBOL, PL/1, Fortran, Lisp? I date myself.
That was partially my point. Java's security track record for applications is amazing. Look at the current generation game consoles, the only console that has yet to be exploited for piracy in a practical fashion has a Java based security framework.
Java also powers most of the major internet applications available today.
But Java isn't great at everything, C fits in places Java doesn't.
Mod me down, my New Earth Global Warmingist friends!
That'd be the #1 reason on the long list of reasons why Spring sucks. IoC. It's main raison d'être, from the initial release, was to allow the injection of test code, ie, mocks. Why on earth would you ever have "test code" in your production code? Much better to have a test framework instead. Harder to code initially, yes. Less invasively? Immeasurably.
Not only that, it's merely a factory method call that can generally be coded in 4 or 5 lines and be type checked during compilation instead of runtime (a la Spring).
Care to try again and with an actual reason this time?
The cesspool just got a check and balance.
K&R's book on C is wordy. The true classic is the Revised Report on the Algorithmic Language ALGOL-60. In its original typeset form, it is 19 pages.
Languages which need 1000-page books are badly designed.
Test code doesn't end up in production, so I have no idea what you're talking about. Spring is normally used in conjunction with a test framework like JUnit - in fact, Spring contains explicit test harness support (@ExpectedException, JNDI stuff, and so forth).
Spring is good at lots of stuff - annotated transactions, annotated MVC (in Spring 3), etc. etc. IoC is very convenient also, particularly with auto-scanning.
That said, I'm not some huge fan of Java the language. But Java the "ecosystem" (or whatever you want to call it) is pretty amazing.
Spring for Python is interesting too.
You wouldn't be able to either if you were a super-calloused fragile mystic plagued with halitosis...
Robot programming has become very big lately, and the overwhelming number of microcontrollers out there only use C/C++ (well, and Assembly, but that doesn't count).
If the only reason you have the IoC code in your code is to facilitate testing, then the IoC code is test code.
MVC (in Spring3)? Really? You mean MVC in Spring 1.x or Spring 2.x sucked? Say it isn't so! So now MVC in Spring 3 is the cat's meow? Excuse me while I take a pass.
Spring's transactions are a massive headache when you need to alter or overload a specific operation. Yeah, it seems "cool" when a simple annotation will give you a "transaction", but later on, when you need to modify one bit of code somewhere in the stream or if you're really daring, have a transaction with rollbacks across multiple operations that weren't envisioned in the original design.... let's just agree to disagree and you can deal with all the crap that Spring heaps on you while you cut and paste code and debug it a week later when individual operations change due to changing requirements and I'll be at the bar sipping something cold and enjoying myself after an hour or two's work.
You didn't even mention Spring Security (ie, Acegi) which was so horribly broken 1.5 years ago that it is completely unusable in anything resembling a commercial application. Why, you ask? (I just know that was on the tip of your tongue) Because Acegi as of the current release at that time uses a token held by a thread, and limited the ability of a token to be held to a single thread. In layman's terms - there's only a single lane on the highway, folks.
I still stand by my statement of years ago: Spring is a solution in search of a problem and is a source of not so subtle bugs which most will only realize once they're in far too deep to easily pull out. It truly deserves a picture next to the kool-aid in the wikipedia story about project killers.
I will agree that JUnit4 is pretty darn decent all by itself. Without Spring.
And just in case you think I haven't worked with it - I've dealt with 4 separate large projects and analyzed the problems in various external codebases in 3 different companies that bought into the Spring kool-aid all the way back to before Spring 1.0. I shamefully admit I was even a proponent in the early days, before I actually used it in a big project. Now Spring has joined Apache Commons in the list of libraries to remove asap.
The cesspool just got a check and balance.
Google can show different search results in different locations, probably due to its distributed nature and not all servers containing the same version of the data.
If I click the GP's link, I also get Citigroup as the first hit.
They have Java ranked as the number one language in 2000. Maybe the number language for discussion, but I remember there being a relatively tiny number of jobs... the majority were C or C++, and I would say that C++ was the main language for anything started in the previous five years. Java was barely out the gates in 2000, four years after all the (over-)hype about applets in the browser (a Pentium 75 for instance could barely run a Java applet in Netscape). Java was mostly an academic language that didn't feature in the real world.
So no, these rankings are incredible shite if you want to use them as a basis for directing your career.
Meh. When I want to show people how bad perl is, I just open up a text editor. Mash my face against the keyboard a couple of times. Then point out that the resulting gibberish is valid perl.
When I want to show people how bad perl is, I just open up a text editor. Mash my face against the keyboard a couple of times. Then point out that the resulting gibberish is valid perl. And solves their programming problem better than the 2,000 lines of C code they've been working on.
Like MS users get financial help, *nix users get technical information.
"The likes of Facebook and WhatsApp are free to those whose privacy is of zero value."
Delphi, as with Pascal before it, is strong tho. Really.
The language just doesnt dominate a domain. C dominates on the low level, C and Java dominate embedded devices, C++ dominates application space, Java dominates the enterprise. VBA dominates the accounting department.
Delphi doesnt dominate anything, but its got its hands in all of it.
"His name was James Damore."
You've just witness the power of Search History. If you have it enabled (or didn't bother to turn it off) the order will depend on what you have searched before. For me Citigroup is way down there, first thing to come up is C programming, followed by wikipedia articles.
For the web-tier, absolutely nothing beats the Stripes Framework.
No it's not. Companies want desktop-like rich GUI's, and getting web apps to do that and keep them working for browser version N+1 is a pain in the arse. We need some real GUI standards.
Table-ized A.I.