Stories
Slash Boxes
Comments

SoylentNews is people

posted by cmn32480 on Saturday August 22 2015, @04:03PM   Printer-friendly
from the java-is-in-the-lead-because-of-the-caffine dept.

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...


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 5, Interesting) by DarkMorph on Saturday August 22 2015, @04:49PM

    by DarkMorph (674) on Saturday August 22 2015, @04:49PM (#226302)
    Spent about 3 weeks or so going through 2 popular ebooks I found on Perl. It had always bothered me that I never studied the language despite that it's not far off from turning 30 years old, and given its prevalence on *nix systems. The fact that SN is powered by it and I had trouble figuring out its source code was a bit of an influence too. Now that I have an idea how Perl syntax is structured, it makes me wonder why we have these newer scripting languages that are more popular, particularly PHP. Almost everything about Perl seems better than PHP. About the only thing PHP seems to excel at better is syntax for OO thanks to C++/Java influences. Perl feels like it did not adopt OO principles and design well, but you can achieve it, and there's a popular module Moose to help with that, though I did not look into Moose very much, and focused on the core language feature called blessing. I've also gone through the basics of Python syntax and yet again I question why it became popular when it doesn't seem to surpass Perl. Granted it would require hours of actual coding and usage in each language to truly appreciate their characteristics, I will admit.

    Funny to see Java going strong despite Oracle. There are purely open source JDK/JREs so they may play a role to keep interest and faith in the language's future; compare to MySQL which caused the rise of MariaDB... Admittedly my comment on Java is entirely opinionated.

    I must say that it is odd that C++ is not experiencing a lot of attention. How many devs really paid attention to the additions to the C++ standard in C++11? I've spent time catching up on how the STL has been revised and one way to describe these changes is that it seems to be bridging the gap between what it has to offer and what Java has. Maybe I'm crazy, but based on C++11 I would say the reasons to choose Java over C++ are growing fewer in numbers. If cross-compatibility across OS's is not crucial, that is.

    Javascript's popularity is deeply disturbing. Why is it being forced into a role that Perl is so aptly suited for?
    Starting Score:    1  point
    Moderation   +3  
       Insightful=1, Interesting=2, Total=3
    Extra 'Interesting' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   5  
  • (Score: 2) by ikanreed on Saturday August 22 2015, @05:14PM

    by ikanreed (3164) Subscriber Badge on Saturday August 22 2015, @05:14PM (#226311) Journal

    I can't remember the last script I looked at on Ubuntu that was Perl. It's all python now.

    • (Score: 3, Insightful) by Francis on Saturday August 22 2015, @05:49PM

      by Francis (5544) on Saturday August 22 2015, @05:49PM (#226316)

      And we're all worse off for it. I'm sure it works out fine until the first time when you set things up incorrectly and lose your white space.

      Python is OK if you haven't ever used a proper language, but defaulting to white space as delimiters just shows how little the people designing it know about people. In sane languages, I can look for the delimiter easily. If for some reason I want to squash something onto one long line or stretch it out over several, I have that option without having to do anything other than just type it.

      I also remember from helping people with their Python that the errors are rather ridiculous at times. Trying to find out which bit of code was supposed to be indented or not, isn't terribly fun.

      • (Score: 2) by ikanreed on Saturday August 22 2015, @06:03PM

        by ikanreed (3164) Subscriber Badge on Saturday August 22 2015, @06:03PM (#226323) Journal

        I can't help but disagree. I've been a python developer in the past, and that's not an accurate portrayal of the biggest problems you'll face.

        #1. Dependency resolution can be really awful to debug. This is balanced by the fact that pypi eggs have all the tools to get the right dependencies out of the box.
        #2. There's essentially no such thing as a compile-time error. You have to get code to load-to-execute before discovering syntax errors. There's probably tools available to make this easier, but I don't know what they are.
        #3. Duck-typing can get really problematic. Enforceable interfaces really ought to be an available feature.

        The whitespace is a non-issue after your first week. It's intuitive, natural, and actually harder to mess up than curly braces sometimes are.

        • (Score: 1) by Francis on Saturday August 22 2015, @06:59PM

          by Francis (5544) on Saturday August 22 2015, @06:59PM (#226342)

          White space in this usage is neither natural nor intuitive. And it was one of the most common things that I saw students screwing up. What's worse is that because it's white space, you don't see it. And if it ever gets messed up, you pretty much have to start over. It also means that when you do learn another language you have to learn how to do it anyways, so you haven't really gained anything like that.

          The parentheses, braces and brackets that you see in other languages make a whole lot more sense. You're used to seeing them as pairs with something in the middle. The main thing to learn is what is and isn't allowed inside of them. And Python doesn't even really solve that problem as they do still show up.

          I never said there weren't other problems with it. But, code that's generally unreadable without knowing the language is a really, really bad thing. While we're at it, the complete lack of typing ensures that it's completely worthless as a beginner language. Typing is something that you can dispense with when and if your skills grow to the point where you don't need the safety net. But, at that point, you should know what you're doing anyways.

          • (Score: 1, Flamebait) by ikanreed on Saturday August 22 2015, @07:00PM

            by ikanreed (3164) Subscriber Badge on Saturday August 22 2015, @07:00PM (#226343) Journal

            This sounds like something who's never tried programming in python would say.

            Start over because of a formatting issue? Really? The fuck?

      • (Score: 1) by terryk30 on Sunday August 23 2015, @01:41PM

        by terryk30 (1753) on Sunday August 23 2015, @01:41PM (#226655)

        If for some reason I want to squash something onto one long line or stretch it out over several, I have that option without having to do anything other than just type it.

        A habit I'd gotten into with other languages is to put experimental blocks, snippets or debugging statements at col 0. I at least personally find doing this very readable (and thus effective), and have missed being able to do so in Python.

  • (Score: 1) by Post-Nihilist on Sunday August 23 2015, @05:24PM

    by Post-Nihilist (5672) on Sunday August 23 2015, @05:24PM (#226688)

    C++ is missing a solid dependency, build and artifacts management system.
    For the jvm ecosystem those are Maven/Gradle/SBT and for html5/js those are Grunt/Gulp both can use Artifactory , Nexus or Archiva for artifacts management.
    For Rust it is Cargo and git.

    In C++ you have the tedious autotools/Make/CMake but none of those tools handle dependencies management (well they can check for them but not fetch them from a repository) and you have to resort to had-hoc scripts for application resources (property files, assets and the likes) management. Sure some tools like auto-apt/builddeps/yum-builddep exist but they are not even cross-platform, they are distribution specific...

    When a power-full cross-platform build suite emerge for C++, I am sure that it will attract a lot more developers since the new language features look mindbogglingly powerful and nice. But when your used to the power of Maven/Gulp/Cargo it feels like a big step step backward to switch to Makefiles.

    --
    Be like us, be different, be a nihilist!!!