TIOBE Says C Is Declining! |
Written by Harry Fairhead |
Wednesday, 11 September 2024 |
The TIOBE index is always fun and often provides a talking point. This month sees C falling by one place and Java going up by one. What can this mean? The honest answer is probably nothing much, but C is a very special language among today's most used. It is low-level and uses a very light abstraction of the machine it runs on to let you code efficiently without being totally machine-dependent. You could also say that the price of this power is extreme danger, but then - what do you expect? Why might C have fallen so low? Well there has been a long anti-C movement. Often led by programmers who believe C should evolve into something more sophisticated - become a modern language like Java or C++ or C#. Well, it is C++ and Java that have risen higher in the rankings over the years so perhaps these are the standards that C should aspire to. Of course, this is forgetting the fact that C gifted both languages its for loop, not to mention the semicolon. Both Java and C++ are deeply flawed in ways that C is not. Java is verbose and repetitive - something you only realize when you try Kotlin and discover how much less you are writing. C++, well if C is dangerous, C++ is a psychopath. But as it is object-oriented it allows you to use nice object-oriented libraries and these are shiny things that attract the programmer like glitter to a five-year old. It has to be said that objects are best when you are consuming them - not so good when it is down to you to implement them. Then there is the issue of which C++ are we talking about. There is a good core of C++ that you can use to write good programs, but it is surrounded by an overgrowth of additions, amendments and alternatives that reflect its committee-like governance. It is the modern camel designed by a committee with vision, but each member has their own orthogonal vision of what C++ needs next. In addition there is the Rust issue. C isn't safe because it lets you do what you want. Rust is safe because you have to play by its rules and if you don't want to or can't then you have to move outside to an unsafe place. This still isn't so bad as it at least highlights sections of code that you consider as being dangerous and this might focus your mind on the danger in hand. Conversely it isn't so good either but this is the price you pay if you want to program freely - freedom = dangerous code. Don't misunderstand - Rust is a good thing, but it isn't the 100% solution. If you want to write low-level then you have to accept that the buck stops with you - there is a reason that the "Halt and catch fire" command is low-level. If you want to pass the buck then you need to use a higher-level language - one that abstracts away from the underlying machine. Python is fine for this, even though many purists claim that it isn't well designed. I would agree Python is not the language that language theoreticians dream of, but it has many, many practical advantages. A Python program is short and does a lot in a few lines without being obscure. You can't ask for much more of a high-level language - unless you are a language theoretician. So C has taken a fall, but for a language that gets you close to the machine there is none better. Perhaps there should be, but personally I expect C to be quickly restored to the top three. It occupies a major niche which is more than you can say for the upstarts.
More InformationProgramming language C at lowest position ever Related ArticlesPython Strengthens Its Dominance Of TIOBE Index To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.
Comments
or email your comment to: comments@i-programmer.info <ASIN:1871962889> <ASIN:1871962609> <ASIN:1871962617>
|
Last Updated ( Wednesday, 11 September 2024 ) |