News for hackers. Stuff that matters.
Re:TIOBE : C overtakes Java as the No.1 programming language by Aedan on Monday April 09, 2012 @11:14AM (#3817292)
Excuse my apparent ignorance, but people are still programming in C?

Why? On which fields? Is there something C can do better than Java or C#?

Re:TIOBE : C overtakes Java as the No.1 programming language by sophacles on Monday April 09, 2012 @11:38AM (#3817426)
Off the top of my head, big important projects written in C, which are still actively developed:

* Linux

* GNU

* Apache

* Ruby

* Python

* nginx

* mysql

* posgresql

* Redis

* VMWare

* OpenSSL

* Almost everything "embedded"

Because C allows extreme control and performance. Anecdotally, a lot of people write in higher level languages, then rewrite critical bits in C for that speed boost. In many cases they just start at C if they know it requires certain levels of performance, for instance code on massive super computers or super low latency communications packages.

Re:TIOBE : C overtakes Java as the No.1 programming language by octopus on Monday April 09, 2012 @01:35PM (#3818116)
As a side note a lot of codes ported to C for running on HPC clusters will end up re-implemented in Fortran (I'm talking about Fortran 95/2003/2008 ... ).
Re:TIOBE : C overtakes Java as the No.1 programming language by Aedan on Tuesday April 10, 2012 @08:00AM (#3821750)
I'm aware of almost all of that, but my point wasn't about things already written in C, I'm talking about why keep writing in C. Extreme control and performance are unique traits of C? Being a relic of the past, it lacks greats thing modern languages take for default (like, I don't now, memory management, for example). That's where my point was heading. Can't new languages in the multicore age address this issue in a more elegant, modern and less "protocolary" way?
Re:TIOBE : C overtakes Java as the No.1 programming language by sophacles on Wednesday April 11, 2012 @08:02PM (#3830278)
When every bit of speed and space management actually counts, C (or it's derivatives like C++ or objective C) are still king. Half of those above projects were written when JVM, .Net and python/ruby/etc were mature widely used solutions.

Think about what a gc pause would do to an OS - it could kill performance for every single process on the system, cause issues with input buffers overflowing, and other related issues. A microsecond here and there in call latency may not matter most of the time, but in thousands of syscalls or in low level network processing have large cumulative effects.

Don't get me wrong, I love my high level languages and modern GC runtimes, but there are days and places when microseconds and bytes still matter, and for those, I still grab C. Just like the nailgun hasn't fully replaced the hammer, or the vacuum hasn't fully replaced the broom, there is a good reason C still exists and finds acceptance.

Maybe Go or Rust will start to creep even more into the C space than JVM etc already have, but I really don't see it fully going away, it is just too useful and a well understood proper tool for some jobs.

Re:TIOBE : C overtakes Java as the No.1 programming language by st3fan on Monday April 09, 2012 @01:08PM (#3817880)
'GNU' is not a project. At least not like the others in your list.
Re:TIOBE : C overtakes Java as the No.1 programming language by Turing_Machine on Monday April 09, 2012 @01:25PM (#3818028)
Sophacles probably meant http://www.gnu.org/software/software.html#allgnupkgs Looks projecty to me. :-)
Re:TIOBE : C overtakes Java as the No.1 programming language by sophacles on Monday April 09, 2012 @01:28PM (#3818053)
Nor is one about embedded systems. The core GNU tools are written in C and actively maintained, and are commonly referred to as the "GNU project".

I'm not sure why you are pointing this out.

Re:TIOBE : C overtakes Java as the No.1 programming language by w0utert on Monday April 09, 2012 @11:34AM (#3817403)
Embedded, low power, real-time, drivers, high performance computing, low-level kernel, legacy, and so on...

The alternatives you give are not really the best examples either. C# is only a viable development platform for serious/professional work if you're targeting Windows, and if there is one language that doesn't do anything better than the many alternatives that compare favorably to it, it would be Java.

Re:TIOBE : C overtakes Java as the No.1 programming language by stephencanon on Monday April 09, 2012 @11:43AM (#3817445)
> Is there something C can do better than Java or C#?

I write systems code in C and Assembly for a living. I couldn't possibly do my job using Java or C#. In fact, as an experienced C programmer, I honestly can't imagine choosing to use C# or Java to do anything -- I'd rather be writing either in C or in something "higher level".

Re:TIOBE : C overtakes Java as the No.1 programming language by kev009 on Monday April 09, 2012 @03:28PM (#3818756)
Both of these actually strike some good balances for the vast majority of "business programming" -- be it desktop apps, web apps, or mobile. C# is actually getting pretty high level (DSL stuff like LINQ). Java, not as fast but Scala goes way beyond that.

Python, Ruby, Perl, PHP.. these are overused (except for solo work, prototypes, toys, glue) and in my experience fall down in teams.. but dynamic typing now seems completely asinine to me after slinging Scala for the past handful of months.

Re:TIOBE : C overtakes Java as the No.1 programming language by cageface on Monday April 09, 2012 @09:35PM (#3820254)
I think dynamic typing is a transitional technology. Designing a strong but sufficiently flexible type system is very difficult, so while we've waiting for the FP community to do the hard design work, we're more productive in Python or Ruby than in Java.
Re:TIOBE : C overtakes Java as the No.1 programming language by ajb on Monday April 09, 2012 @11:26AM (#3817360)
Java and C# have 'managed' runtimes; it the language manages memory for you. This memory management bit cannot itself be written in the 'managed' language. Also, an operating system can't either[1].

Also, systems with hard real time requirements, such as audio/video, the signal processing code in your phone, wifi router, etc, are incompatible with almost all managed runtimes.

[1] Okay, I know there are academic ones that are. As far as I know, no productions systems are.

Re:TIOBE : C overtakes Java as the No.1 programming language by pjmlp on Monday April 09, 2012 @05:16PM (#3819278)
Funny, because there are research compilers that do exactly that.
Re:TIOBE : C overtakes Java as the No.1 programming language by super_mario on Monday April 09, 2012 @12:32PM (#3817701)
Compilers and interpreters for almost all other languages are written mostly in C or C++. Most of OS kernels, APIs, shells, command line utilities, my favorite editor etc are all written in C. Not a day goes by that I don't download C code, make and install it on my system. So, I think C will remain one of the most popular languages around.
Re:TIOBE : C overtakes Java as the No.1 programming language by tosseraccount on Monday April 09, 2012 @11:19AM (#3817317)
You're favorite virtual machine and OS are probably written in C (or some dialect thereof).
Re:TIOBE : C overtakes Java as the No.1 programming language by jgw on Monday April 09, 2012 @11:30AM (#3817379)
Linux, UNIX variants, all their drivers, tons of embedded software & firmware in tiny devices like wireless chipsets, all the way up to the "real" IOS that runs Cisco switches.

It's a good option for low-level work.

Re:TIOBE : C overtakes Java as the No.1 programming language by ncarlson on Monday April 09, 2012 @11:35AM (#3817404)
Most cross-platform libraries are written in C. Consider the multitude of C libraries that are available in Python or Ruby.
Re:TIOBE : C overtakes Java as the No.1 programming language by BrandonM on Monday April 09, 2012 @02:29PM (#3818460)
Most languages' canonical implementations are written in C, including Java, Python, and Ruby.
Re:TIOBE : C overtakes Java as the No.1 programming language by signa11 on Monday April 09, 2012 @12:47PM (#3817767)
lot's of code running on almost all networking gear is 'C'. examples would be ios (csco), junos (jnpr) etc. etc. starent-networks (acquired by csco) which is a pretty significant player in mobile-wireless is also 99% 'C' based.
Re:TIOBE : C overtakes Java as the No.1 programming language by derleth on Monday April 09, 2012 @01:42PM (#3818168)
> 'C'

Why the quotes?