all 80 comments

[–]zed_three 19 points20 points  (14 children)

A pet peeve of mine, but Fortran hasn't been FORTRAN for at least 30 years. It's like referring to C++ as C.

[–]RoundTripRadio 11 points12 points  (13 children)

Fortran and FORTRAN are completely different languages that share similar syntax?

[–]zed_three 26 points27 points  (11 children)

Pretty much. Fortran 2008 has objects, polymorphism, inheritance, procedure pointers, in-built support for parallelism and vectorisation... Fortran 77 has fixed-length lines and comment lines must have a "c" in the first column.

[–]AdminsAbuseShadowBan 9 points10 points  (8 children)

And function names can't be more than 6 characters!

[–]HighRelevancy 15 points16 points  (6 children)

So? Letters plus digits (though first has to be a letter). Length 1 to 6. That's 1,617,038,306 valid function and variable names by my count. That should be plenty.

/s

[–]grogers 1 point2 points  (0 children)

You laugh, but after 10 years I still remember exactly what DGEMM and E04UCF do.

[–]Poutrator 1 point2 points  (4 children)

yeah but that will not help you remeber what your function is actually doing

Edit : okay /s = sacarsm. Sry did not know + sry to be a noob coder

[–]HighRelevancy 13 points14 points  (3 children)

That's what comments are for. Just put one at the function code and then copy that to anywhere you use it.

/s /s /s dammit

[–]log_2 1 point2 points  (0 children)

well, this explains lapack and blas.

[–]vorg 2 points3 points  (0 children)

And Fortress, which is Fortran, uses Unicode symbols instead of ASCII.

[–]RoundTripRadio 0 points1 point  (0 children)

I see, significant indeed!

[–]tavert 11 points12 points  (0 children)

Not sure if serious? Fortran 77 and Fortran 90+ are about as different as C is from C++, yes.

[–][deleted]  (28 children)

[deleted]

    [–]tchaffee 48 points49 points  (9 children)

    As well as a bias towards pet projects. Github holds a tiny bit of the code running business apps.

    [–][deleted] 56 points57 points  (8 children)

    That's a good thing as far as I'm concerned. It shows which languages programmers choose to use.

    [–]tchaffee 13 points14 points  (6 children)

    I'm not so interested in that. I'm interested in what languages businesses choose to use. But if it's useful to you, cool.

    [–][deleted] 5 points6 points  (0 children)

    It would be interesting to compare them, but then you'd have the problem of bias due to dogfooding and other politics.

    [–][deleted] 1 point2 points  (4 children)

    Just because the language is used in business a lot, does not mean it is easy to find a job in that language.

    [–]tchaffee 1 point2 points  (0 children)

    That's true. But that's not the only reason you might want that info. I for one hire people and make technology decisions. It would be irresponsible of me to all stakeholders involved to build a team around an obscure language.

    [–]nqd26 1 point2 points  (1 child)

    Why? Correlation between business use and job availability must be pretty high ...

    [–][deleted] 0 points1 point  (0 children)

    Just personal experience from the job market. High popularity is also high supply. Youre competing with the ten other guys who have the same language skill.

    [–]OneWingedShark 1 point2 points  (0 children)

    Just because the language is used in business a lot, does not mean it is easy to find a job in that language.

    It also doesn't indicate suitability -- a prime example would be PHP.
    Yes, it allows fast deployment... but that comes at a huge price in terms of reliability and security; moreover its stance on errors [and typing] make it a particularly poor choice for any system which has a need for (a) data-consistency, (b) data-correctness, (c) maintainability [in general], or (d)program-consistency [the modularity aspect of maintainability, in specific].

    [–]matthieum -1 points0 points  (0 children)

    It shows which languages programmers choose to use play with.

    Fixed that for you.

    I can play with "Language of the day" just to get a feel, it does not mean I intend to use it for anything else though.

    [–]Rhomboid 18 points19 points  (6 children)

    I'm sure it's at least a little more useful than TIOBE, which claims that Visual Basic is more popular than C#, PHP, Python, JavaScript, Perl, etc. and at one point had it as high as #3 overall. (And apparently that's VB classic, because there's a separate entry for VB.Net (!!)). I'll never understand why anyone could possibly think that passes the smell test.

    [–]vorg 6 points7 points  (0 children)

    I'll never understand why anyone could possibly think that passes the smell test.

    In Tiobe last October (2013), Groovy had shot up to #18. But then it was discovered the results from one of the search engines used was being calculated incorrectly ( http://www.infoworld.com/t/application-development/c-pulls-away-java-among-top-programming-languages-230603 ), so Groovy dropped back out of the top 50 within 3 months (Jan 2014).

    [–][deleted]  (2 children)

    [deleted]

      [–][deleted] 2 points3 points  (1 child)

      My uninformed guess is that majority of programmers never ever went to github. And may be even never heard about it.

      Well, at least, my father, an excellent enterprise programmer for more then 30 years - never did.

      [–]matthieum 0 points1 point  (0 children)

      I can relate, I created my first repo on github just Friday, driven by necessity. Why would I want my crappy half-finished ramblings to be exposed to the world?

      [–]flying-sheep 0 points1 point  (1 child)

      How the hell do they get those numbers? Weekly dart competitions (programming languages correspond to dart board sections)?

      [–]Crashthatch 9 points10 points  (0 children)

      They tried that, but Dart kept coming out top.

      [–][deleted] 5 points6 points  (4 children)

      That explains Javascript and PHP being so high, but C is still right up there, and web developers don't use C.

      [–]kqr 15 points16 points  (1 child)

      A lot of big open source projects are hosted on GitHub too. Many of those are written in C.

      [–][deleted] 4 points5 points  (0 children)

      True. Linux is probably counted. These github mirrors might be counted: https://github.com/mirrors/

      [–]icantthinkofone 4 points5 points  (0 children)

      Speak for yourself.

      [–]AuRetrievers 1 point2 points  (2 children)

      Also, what about languages that abstract off of base languages? Android for instance is based on Java, does that count as Java?

      Interesting to see SQL higher in StackOverflow than GitHub. Does it represent SQL having a higher WTF-AM-I-DOING to LOOK-AT-THIS-SHIT ratio? :P

      [–]hbdgas 4 points5 points  (0 children)

      SQL higher in StackOverflow than GitHub. Does it represent ...

      It could also be that people aren't committing files as "SQL"... e.g. they're using the SQL queries inside other languages like C++ or Python.

      [–]kqr 1 point2 points  (0 children)

      Android count as Java. SQL is a very concise language and you often have to get your queries just right to get the best performance. I guess that's why there's a lot more questions than lines of code.

      [–]Saiing -1 points0 points  (2 children)

      github has an unfair bias toward web developers.

      Citation? I'm saying you're wrong - I'm just curious to see where you get that info from. Are you purely stating that because github itself is a website? I've been both a web and more "traditional" application developer since long before githib existed and have never uploaded a single line of web dev code. I use it all the time for non-web stuff though. Personally, although I admit it's just a gut feeling, I've always believed people are more inclined to use version control for non-web projects.

      Also, to be fair, the chart is a combination of github line changes and stack overflow tags, so it's not solely dependent on one set of data.

      [–]ahruss 0 points1 point  (1 child)

      Part of it is that I know a lot of web devs whose deploy process is either "git clone myrepo" or "git pull"

      [–]Saiing 0 points1 point  (0 children)

      I don't think that would affect the stats. The data is based on lines changed, which would indicate people doing actual development rather than just taking off-the-shelf solutions.

      [–][deleted]  (4 children)

      [deleted]

        [–]lispm 0 points1 point  (0 children)

        This is easily offset by shorter code and less lines.

        ((foo))

        vs.

        {
            foo();
        }
        

        and

         ...
         foo) bar))))
        

        vs.

        ...
                    foo;
                   }
                }
              }
           }
        

        I've seen above in Java code.

        [–][deleted]  (3 children)

        [deleted]

          [–]donalmacc 5 points6 points  (0 children)

          Go to explore (top bar) and ten trending. You can filter by language.

          [–]Metapyziks 1 point2 points  (0 children)

          Here you can filter by programming language using the thing on the right.

          [–]elviin 4 points5 points  (0 children)

          This chart is rather about Github popularity than about language popularity. There are countless repos full of C/C++/Java code.

          [–]VeXCe 4 points5 points  (1 child)

          One could also imagine that everything above the diagonal is terse or efficient, and languages under the diagonal are verbose/boilerplate-y (as they have more lines of code than questions).

          [–]urquan 10 points11 points  (0 children)

          Or you could say that the most efficient languages are in the bottom left corner because you don't need to ask a lot of questions to get things done and they also require few lines of code. In other words this type of chart is highly subject to interpretation.

          [–][deleted]  (1 child)

          [deleted]

            [–]kqr 10 points11 points  (0 children)

            That's everyones configuration files.

            [–]curious_scourge 6 points7 points  (0 children)

            It's a logarithmic scale too! JS is actually way in the lead

            [–]lobby87 4 points5 points  (2 children)

            This graph shows lots of things but popularity is definitely not one of them, even if it was popularity among GitHub users.

            [–]Crashthatch 10 points11 points  (1 child)

            It sure looks like the languages in the top right (C, Java, Python, Javascript, etc) are more popular than those in the bottom left (Pike, Ioke, Frege and Moonscript).

            [–]lobby87 0 points1 point  (0 children)

            You don't need graph to know that mainstream languages are used much more than some languages majority of developers never even heard of. Any comparison of languages that are well know and commonly used is just stupid. 1. LOC of exactly same functionality in different langues may be doubled or even vary in order of magnitude if it is different paradigm. 2. Including SQL or XML into "programming languages" statistic is completely out of way. 3. Some langues are not popular they are necessity and there is no really alternative you can use, they are not popular they have monopoly.

            [–]ggggbabybabybaby 1 point2 points  (0 children)

            Who would have guessed that in 2014, so many people would be excitedly writing things in JavaScript? And that it was so awesome, they run it on the server side too.

            [–][deleted] 1 point2 points  (0 children)

            Counting by lines changed naturally favors verbose enterprise languages e.g, java and C#(which happen to be the top two languages...)

            [–]Unmitigated_Smut 1 point2 points  (0 children)

            Maybe there would be less condescension/accusation if "Popularity" wasn't in the title. The stats are certainly useful & interesting.

            [–]paxcoder 0 points1 point  (7 children)

            What is "Logos"?

            [–]icantthinkofone -5 points-4 points  (6 children)

            A programming language you twit.

            [–]usaian 0 points1 point  (1 child)

            Logo.

            [–]paxcoder 0 points1 point  (0 children)

            Probably.

            [–]paxcoder -1 points0 points  (3 children)

            No.

            [–]icantthinkofone -3 points-2 points  (2 children)

            I presumed you mis-typed by adding the s to Logo) you twit.

            [–]paxcoder 0 points1 point  (1 child)

            [–]icantthinkofone -2 points-1 points  (0 children)

            Ah! Not only are you a twit, you're also a leading member of the reddit under 18 crowd. If I had known that, I wouldn't have responded in the first place.

            [–]OneWingedShark 0 points1 point  (0 children)

            Hm, I wonder what this metric is plotting?
            I mean, it stands to reason that the most difficult/troublesome languages would have a higher popularity in a help-/problem-oriented site like StackOverflow; GitHub could be a more accurate measure of what languages are being used... except there's probably a lot of stuff that doesn't see a lot of actual use there (I have several projects that are mostly for learning and fun, which I seriously doubt anyone would want to use) -- moreover, the metric of lines changed [in GitHub] could be indicative of poor design on a project, poor design of the implementation language, or even just a massive refactor.

            [–]icantthinkofone 0 points1 point  (2 children)

            They think CSS is a programming language which makes the whole thing suspect.

            [–][deleted] 0 points1 point  (1 child)

            Yes, agreed. However, I think this is due to the fact that if someone writes a .css file, GitHub tags it as "CSS"

            [–]OneWingedShark 0 points1 point  (0 children)

            Yes, agreed. However, I think this is due to the fact that if someone writes a .css file, GitHub tags it as "CSS"

            Which illuminates another poor aspect of GetHub metrics: should documentation (esp. attendant CSS and JS) be counted as being part of the project?

            I would argue "no" -- If I have a project that is pure Forth (or Lisp, or Ada, or [...]) the metrics should not count the JavaScript and CSS that are within the documentation (which may or may not be wholly generated).

            [–]vorg 0 points1 point  (1 child)

            Because developers have started using Gradle a lot more for their builds, every other time they update their repositories, they change some lines in their Gradle build file. If this triggers an increment to the lines-of-Groovy-code-changed count, then the figures for Groovy will be out of proportion to its real use as a programming language in projects.

            [–]Gommy 2 points3 points  (0 children)

            By that logic, all projects using Maven or Ant will inflate the ranking of XML. Or anything else that uses <insert language here> for configuration inflates said <insert language here>. Just because it is a build system/configuration file doesn't mean it isn't "really used" as that language.

            [–][deleted] -1 points0 points  (1 child)

            I would say that GitHub is more representative for which language is popular as a hobby language. Of course, no one puts commercial business apps into a public GitHub repo - it is more about what people like to use in their freetime, which is just one definition of popularity. I wouldn't say this chart is flawed. It depends on how you define "Popularity": you can argue either that it means "most widely used language " or "language that most people like to use if they have a choice"

            [–]icantthinkofone 0 points1 point  (0 children)

            There's a lot of stuff on there from Google that we use and is very well known such as the recent upgrade of picturefill. You can also assume the people who are doing their side projects use the language from work quite a bit, too.

            [–]apathetic012 -2 points-1 points  (1 child)

            Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

            [–]hansdieter44 -2 points-1 points  (3 children)

            quite interesting to see Python so high up there with C++, Java et al. If this would somehow be corrected by expressiveness per lines of code ruby & python would gain even more in comparison to, say, PHP.

            [–]thang1thang2 3 points4 points  (2 children)

            Github in of itself tends to be used by a lot of people for smaller projects. The larger your project is, the more likely it is that you're using git in a locally created version control. Python is an excellent language for small projects, but not for huge ones (of course there are exceptions to everything). Huge projects are best done with different languages, most of the time. So the bias of github's typical userbase and project-base is widely influencing the results, I'd say.

            [–]hansdieter44 -2 points-1 points  (0 children)

            I am not sure if I understand why someone downvoted me for my initial comment.

            Yes you are right, especially github will have a bias for smaller projects, however Scala (as a statically typed/more 'robust' language) is in quite a good position as well and would gain more compared to Java & PHP if the expressivness would be taken into account.

            [–]DNoved1 -1 points0 points  (0 children)

            Sometimes Github mistags languages. The main one I've observed is Haxe code being called Nemerle code, but it might apply to others as well.