Think of it as a map of the rapidly changing world of computer software.
On Wednesday, GitHub published a graph tracking the popularity of various programming languages on its eponymous Internet service, a tool that lets anyone store, edit, and collaborate on software code. In recent years, GitHub.com has become the primary means of housing open source software—code that's freely available to the world at large; an increasing number of businesses are using the service for private code, as well. A look at how the languages that predominate on GitHub have changed over time is a look at how the software game is evolving.
In particular, the graph reveals just how much open source has grown in recent years. It shows that even technologies that grew up in the years before the recent open source boom are thriving in this new world order—that open source has spread well beyond the tools and the companies typically associated with the movement. Providing a quicker, cheaper, and more comprehensive way of building software, open source is now mainstream. And the mainstream is now open source.
Hmm, Perl has been declining...
(Score: 4, Funny) by Subsentient on Saturday August 22 2015, @04:21PM
C# and Java up, Javascript up, and C and python, my two favorite languages, declining.
Kill it with fire.
"It is no measure of health to be well adjusted to a profoundly sick society." -Jiddu Krishnamurti
(Score: 3, Informative) by N3Roaster on Saturday August 22 2015, @04:37PM
I wonder how much of C is declining is really just GitHub getting better at deciding what's C and what's not. I have a project hosted there that used to be detected as about 90% C when it was really mostly C++. Now it's showing that as only about 16% C (still an over-estimation) and it's estimating JavaScript far too low.
Typica - Free software for coffee roasting professionals. [typica.us]
(Score: 1, Interesting) by Anonymous Coward on Saturday August 22 2015, @04:39PM
C may eventually be replaced by Golang, which was created by some of the same people. Go wasn't on this list because not enough people are familiar with it yet. It probably will be in a few years (Docker, for example, is written in Go).
(Score: 2) by Subsentient on Saturday August 22 2015, @05:45PM
I hope not. In many places, Go lacks features that C has. I do recall pointer arithmetic being among them...
"It is no measure of health to be well adjusted to a profoundly sick society." -Jiddu Krishnamurti
(Score: 2, Insightful) by Post-Nihilist on Saturday August 22 2015, @10:02PM
Pointers arithmetic is something best left to the compiler, you only need to be able to get and set a pointers; even for system programming and GO provides that. When you think about using pointer arithmetic you should be thinking about slice and struct. Go ahead try to find a case where structs and arrays are insufficient...
Be like us, be different, be a nihilist!!!
(Score: 1) by massa on Sunday August 23 2015, @06:18PM
Pointer arithmetic is good to write memory allocators.
Really efficient string manipulations depend on really well-written string allocators (not present today on many "most-used languages", including C++, go, perl, ruby, python, etc. -- and don't get me started on Java...).
But otherwise, yeah, C++-like iterators and for-each are more than good enough to substitute C-like pointer arithmetic.
(Score: 1) by Post-Nihilist on Monday August 24 2015, @12:18AM
Can you point me to an example where the following construct : address_of(array_u8[arithmetic]) would be insufficient? I am curious
Be like us, be different, be a nihilist!!!
(Score: 1) by massa on Monday August 24 2015, @02:25AM
Not insufficent, less efficient. The compiler has to have a clear view that you are doing
for( i = 10; i 20; ++i ) prod *= a[i]
and that it's the same as doing
for( p = a+10; p a+20; ++p ) prod *= *p
(which would translate to a single "repeat 10 times multiply addressed by register with autoincrement" instruction inside the loop -- those things in the core of the loops make the big difference in performance)
(notice that in most cases, yeah, the compiler can do that. But the pointer arith is there to deal with the other :D cases)
(Score: 1) by massa on Monday August 24 2015, @09:22AM
(smart people know that there is a < that was omitted above, on each code example)
:D
(Score: 2, Disagree) by ikanreed on Saturday August 22 2015, @04:54PM
All of those but javascript are languages that have something positive to say about them.
(Score: 1, Informative) by Anonymous Coward on Saturday August 22 2015, @06:10PM
What is wrong with javascript? It does exactly what it was built for, and well. Sure the plain old javascript has a lot more to go, but libraries built for it are making it magic for frontend development. jQuery and now Angular JS have freed legions of frustrated web developers from rendering web content on front end using bulky backend languages. As more and more people realize this, the portion of web code that used to be written in Java/PHP/Python that rendered the front end will be replaced.
(Score: 2) by ikanreed on Saturday August 22 2015, @06:31PM
Yeah, you're right. Pointless digs at javascript don't hold up like they did in 2008.
(Score: 2) by Nerdfest on Saturday August 22 2015, @07:12PM
I remember reading about one of the creators of JavaScript saying that it was not intended for large scripts. They considered something like 1000 lines of code more than it was intended for. I'm not trolling here, I actually do a lot of JavaScript and don't *mind* it if it's written properly, that being with lots of unit tests (QUnit), and use of Require.js for dependency and namespace management. TypeScript is probably worth a look as well, or will be when a bit better tool support is in place.
I really can't imaging people doing anything more than tiny projects without that. Dynamically typed languages require unit testing but I'm the only one I know that actually does it. Without something like Require.js *everything* pollutes the global namespace leading quickly to unmaintainable code.
With those caveats it's not a bad language if you avoid some of the stupid inconsistencies.
(Score: 2) by DNied on Sunday August 23 2015, @05:34AM
Making the web a bloated mess and a security nightmare?
(Score: 1) by massa on Sunday August 23 2015, @07:40PM
What is wrong with javascript?
And the list goes on and on and on... There wouldn't be CoffeeScript, Dart, TypeScript &c if JavaScript was not a deeply flawed language (that gained its traction from the popularity of its vehicle -- the web)
(Score: 2) by meisterister on Saturday August 22 2015, @07:00PM
Welcome to the Glorious Garbage Collected, Interpreted/Jitted Object-Oriented Language Cult... joooiiiin.... usss.
(May or may not have been) Posted from my K6-2, Athlon XP, or Pentium I/II/III.