Slashdot Mirror


RedMonk Identifies 2017's Most Popular Languages: JavaScript, Java, And Python (redmonk.com)

Twice a year the tech analysts at RedMonk attempt to gauge adoption trends for programing languages based on data from both GitHub and Stack Overflow. Here's their top 10 list for 2017: JavaScript, Java, Python, and PHP, followed by a two-way tie between C# and C++, a two-way tie between Ruby and CSS, and then C at #9, and Objective-C at #10. But their GitHub data now counts the number of pull requests rather than the number of repositories. An anonymous reader quotes their report: Swift was a major beneficiary of the new GitHub process, jumping eight spots from 24 to 16 on our GitHub rankings. While the language appears to be entering something of a trough of disillusionment from a market perception standpoint, with major hype giving way to skepticism in many quarters, its statistical performance according to the observable metrics we track remains strong. Swift has reached a Top 15 ranking faster than any other language we have tracked since we've been performing these rankings. Its strong performance from a GitHub perspective suggests that the wider, multi-platform approach taken by the language is paying benefits...

Of all of the top tier languages, none jumped more than TypeScript on our GitHub rankings, as the JavaScript superset moved up 17 points.... PowerShell moved from 36 within the GitHub rankings to 19 to match TypeScript's 17 point jump, and that was enough to nudge it into the Top 20 overall from its prior ranking of 25... One of the biggest overall gainers of any of the measured languages, Rust leaped from 47 on our board to 26 â" one spot behind Visual Basic.

Swift and Scala and Shell all just missed out on the top 10, clustering in a three-way tie at the #11 spot.

125 comments

  1. I thought it was Rust. by Anonymous Coward · · Score: 0

    Given all of the hype I read about Rust on Hacker News and Reddit, I thought it would have been the top language by a long shot. They make it sound like it's the only language that exists these days.

    1. Re:I thought it was Rust. by Anonymous Coward · · Score: 0

      Rust is popular this week. Perl was all the rage for a while and then everything moved to Ruby and now we have Python. Wonder what the next wave will be?

    2. Re:I thought it was Rust. by thebullshitpatrol · · Score: 2

      It's a very cool and enjoyable language but it's obviously not being used in a ton of major projects right now. Who would have thought that the biggest commercial languages would actually be the most used languages in general?

      Rust is being used in production though. Check out Rust's site. There's a page listing off a good amount of serious projects. SmartThings is even using it, I don't know in what capacity though. Doubtful that it's in an embedded capacity. Probably backend shit.

    3. Re:I thought it was Rust. by Anonymous Coward · · Score: 0

      Fortran, obviously.

    4. Re: I thought it was Rust. by aquabat · · Score: 2

      A good programmer can program Fortran in any language.

      --
      A republic cannot succeed till it contains a certain body of men imbued with the principles of justice and honour.
    5. Re: I thought it was Rust. by Anonymous Coward · · Score: 0

      Neither hacker news nor reddit are representative. First, they tend to have new language fetish. Second, they are people with unusually lot free time.

    6. Re: I thought it was Rust. by Anonymous Coward · · Score: 0

      Mayhaps their use of Rust saves them so much time they're left with all that free time to yap about it whilst you toil away consuming gobs of time with your antique languages?

    7. Re:I thought it was Rust. by Plus1Entropy · · Score: 1

      Honestly, the only place I hear about Rust is people complaining about it on /..

      --
      Only crack the nuts that crack. You don't put the ones that don't crack in the sack.
    8. Re:I thought it was Rust. by DrXym · · Score: 3, Insightful

      Exactly. Java, C++ and C are not going to go anywhere for a long time. Even if Rust is better for a whole raft of systems programming tasks it's not like anyone is going to go out and rewrite code that already works. More likely usage for Rust will grow with IoT since code needs to be performant, reliable and secure and C / C++ really aren't suitable for that task.

    9. Re: I thought it was Rust. by Half-pint+HAL · · Score: 1

      Can a good programmer program Fortran in Fortran? Is it self-hosting?

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    10. Re:I thought it was Rust. by Half-pint+HAL · · Score: 1

      Yeah, this winter it's been utterly wrecking my bike chain.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    11. Re:I thought it was Rust. by angel'o'sphere · · Score: 2

      You should tell that to the mozilla foundation ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    12. Re: I thought it was Rust. by DrXym · · Score: 2

      The Mozilla Foundation are trying to solve problems that would be nigh impossible in c++. Not reimplementation for the sake of it.

    13. Re:I thought it was Rust. by MillionthMonkey · · Score: 1

      With all the complaining about "Rust propaganda" I thought someone was advertising steel corrosion products.

    14. Re: I thought it was Rust. by MrMr · · Score: 1

      I'm not sure about a good programmer, but I could do it in FORTRAN II.

    15. Re: I thought it was Rust. by Stoutlimb · · Score: 2

      Can you elaborate? Not that I doubt you, rather, I'm very curious as to what problems, how, and why.

    16. Re: I thought it was Rust. by Anonymous Coward · · Score: 0

      I think we should bring back Commodore basic.

    17. Re:I thought it was Rust. by Anonymous Coward · · Score: 0

      Who respects Mozilla? They steal our private information in the browser and sell it to google... They should charge for the browser...then I would respect them.

    18. Re:I thought it was Rust. by Anonymous Coward · · Score: 0

      Mis-characterization. Python has been there the whole time. It's not a stylish trend. It's been where the market has been heading for a very long time now.

    19. Re:I thought it was Rust. by dunkelfalke · · Score: 1

      get a new one asap. a rusty chain wears down sprockets much faster and they are usually more expensive and more difficult to replace.

      --
      "It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
    20. Re: I thought it was Rust. by Anonymous Coward · · Score: 0

      Has Python matured yet, or is it still little more than a toy for experiments and non-commercial projects?

    21. Re:I thought it was Rust. by RabidReindeer · · Score: 1

      APL. Why settle for a write-only programming language when you can have a write-only programming language that reads like terse mathematical expressions using special characters. That can be overstruck!!!

    22. Re: I thought it was Rust. by aquabat · · Score: 1

      I think there's a Gödel theorem that applies to this scenario.

      --
      A republic cannot succeed till it contains a certain body of men imbued with the principles of justice and honour.
    23. Re:I thought it was Rust. by haruchai · · Score: 1

      A colleague recently told me he wrote APL for a financial services company a long time ago. When they got acquired, it all had to be rewritten, presumably in a more readable language.

      --
      Pain is merely failure leaving the body
    24. Re:I thought it was Rust. by haruchai · · Score: 1

      Maybe Sprockets should use Logo or something friendlier than Rust?
      http://www.learnwithsprockets....

      --
      Pain is merely failure leaving the body
    25. Re: I thought it was Rust. by Anonymous Coward · · Score: 0

      Memory safety, mainly. Things like buffer overflows, use after free / dangling pointers and the like. The borrow checker can also eliminate certain concurrency bugs.

    26. Re: I thought it was Rust. by K.+S.+Kyosuke · · Score: 1

      While introducing twenty times the original amount of bugs, I'm sure.

      --
      Ezekiel 23:20
    27. Re: I thought it was Rust. by DrXym · · Score: 1
      The current layout engine in Mozilla uses threading selectively and is generally single threaded for any particular thing. It also suffers the usual issues like buffer overflows, races, leaks etc. which are a nuisance in most software but could be exploitable in a browser. In fact a browser has to process and consume a lot of untrusted data in streams and data structures so the chance for corrupt / malicious payloads is far higher.

      So that's what driving the use of Rust. The Rust compiler prevents data races so the design can be far more aggressively concurrent without risking corruption. The compiler also whacks issues like dangling pointers, buffer overflows, null pointer calls etc. by design so it stops a whole raft of common programmer errors. It wouldn't stop a layout engine from suffering application level bugs, like rendering a page badly, getting stuck in a loop, adding stuff to a list without bounds checks etc. so it's not a panacea, but its still better than C/C++.

  2. most popular by Anonymous Coward · · Score: 1

    And we all know the difference between elevator/rap/kiddie-pop music and Mozart/Beethoven/Strauss/Sousa...
    Assembly, C, C++, Pascal, and Fortran still live!

    1. Re: most popular by Anonymous Coward · · Score: 0

      We should appreciate the institutions of the past, many of which were far superior to those of the present day. Just as we should use Fortran more widely, as it has aged well, we should also bring back other institutions of the past like slavery. Our world would be far better if niiggers and towelheads were enslaved. They would actually do useful things again, and the amount of violent crime and terrorism would dramatically decrease. Bring back Fortran and slavery!

    2. Re:most popular by hackwrench · · Score: 1

      So does QuickBASICâin the form of QB64. Things that are external libraries in other programming languages are built into the language and many graphics commands are designed to be distinct from other function calls. It means you can tell what a function is meant to do by looking at it. It still doesn't go far enough in my opinion, but at least it's a start down that approach.

    3. Re:most popular by Rockoon · · Score: 1

      I would argue that it is the IDE that should be highlighting a languages standard library commands.

      I am not a BASIC hater by any stretch, but library calls should use a unified syntax.

      Not requiring ()'s for procedure calls (functions that return no value) is fine, and as far as I am concerned is actually quite beneficial, but it should also apply to the users own procedures because it is also beneficial there for all the same reasons.

      SCREEN 0
      LOCATE 25, 1

      PRINT SIGNATURE$

      --
      "His name was James Damore."
    4. Re:most popular by Anonymous Coward · · Score: 0

      > So does QuickBASICâin the form of QB64

      That standard is 53 years ago.

  3. Counts sharing, not use. Javascript always shared by raymorris · · Score: 4, Informative

    Reading this, perhaps we should keep in mind it is based on pull requests on public Github repositories; that's counting how much these languages are *shared*, not how much they are *used*.

    Since the full source code most Javascript is generally distributed to the public anyway, it's not the language of choice for proprietary applications. You may as well put it on Github, since you're already putting the source code on your web site. Proprietary software is most commonly written for Windows, and therefore written in C#. Github pull requests will over represent Javascript, and under represent C# in terms of actual usage.

    Github also very much over represents new projects that were started in only the last few years, after Github became popular. You won't find Linux or Apache on Github, for example, or most other software that has been around a long time. A lot of software had their development processes in place before Github even existed. Along the same lines, Github is used more by people who choose to newer, "trendier" options versus time-tested methods.

    This survey will therefore under represent older languages and over represent newer, trendier languages.

    Measuring Github pull requests might be a better measure of which languages are popular in recent open source packages, vs overall usage.

  4. This calls for ballot stuffing by Anonymous Coward · · Score: 0

    Modula 2 was Nicklaus Wirth's entry into the object oriented language sweepstakes in the '80s, following the early success of Smalltalk. It competed for buzz against C++, Ada, and Objective C; Modula 2 probably did the worst of the four, vanishing from sight.

    IWBNI we could get Modula 2 on the next hot programming languages chart.

    1. Re:This calls for ballot stuffing by Anonymous Coward · · Score: 0

      Wirth intended Modula 2 to be a student language, like Pascal. Not many people thought either could be used for real projects, but they did try to extend them enough to be useful. That's how we ended up with clumsy languages like Ada and Java.

    2. Re:This calls for ballot stuffing by TechyImmigrant · · Score: 1

      I don't know anyone using Ada but Ada begat VHDL. Lots of people use VHDL, but I doubt many people post their VHDL on github.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    3. Re:This calls for ballot stuffing by Anonymous Coward · · Score: 0

      I hadn't heard that Wirth intended either Pascal or Modula-2 to be student languages. He spent many years working on the specifications for each language, and wrote journal papers defending them.

      It is true that he concentrated on the language cores rather than the libraries needed by a viable programming community. But language creators always start with the core rather than the library APIs.

      I think Wirth got bored and wanted to move on. That's part of what made C++, Perl, and Python successful - their founders didn't move on, but stayed on for decades overseeing the project and helping it to adapt with the times.

    4. Re:This calls for ballot stuffing by Rockoon · · Score: 1

      ADA is used by anyone that likes to have a long list of provable things about the code, like that a function never fails.

      --
      "His name was James Damore."
    5. Re:This calls for ballot stuffing by TechyImmigrant · · Score: 1

      ADA is used by anyone that likes to have a long list of provable things about the code, like that a function never fails.

      If you can prove that for any algorithm written in Ada, you've got a Fields medal in your future.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    6. Re:This calls for ballot stuffing by Anonymous Coward · · Score: 0

      Well, if you believe Wikipedia:

      Pascal was largely, but not exclusively, intended to teach students structured programming.[4] A generation of students used Pascal as an introductory language in undergraduate courses.

    7. Re: This calls for ballot stuffing by Zero__Kelvin · · Score: 1

      You might not have heard it, and I can't speak to Modula 2 but Pascal was absolutely intended to be a "teaching language"

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    8. Re:This calls for ballot stuffing by Pseudonym · · Score: 1

      Modula 2 probably did the worst of the four, vanishing from sight.

      That's not entirely fair, given that Modula 3 is in the top three. Sure, it was given a curly-braces syntax and renamed "Java", but it was basically Modula 3 with a new skin.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    9. Re:This calls for ballot stuffing by RabidReindeer · · Score: 2

      One of the first things that they teach you in Calculus I is the concept of Domain and Range. Actually, if you had the "function machine" concept of New Math, I think it originally gets introduced there.

      Most programming languages have only a limited concept of domain and range. Especially domain. Usually, in fact, it's limited to throwing an exception when you do something that violates the range like divide by zero or get a register arithmetic overflow error.

      Ada allows you to precisely define datatypes and to give them domains and ranges. So A), you cannot pass a value in meters to a function that operates in inches (the best you can do is input a raw number that the function assumes is in inches). And you cannot pass in a value that is outside of the domain. So if I define a POSITIVE_INTEGER as having a vaue of 1..infinity, then passing zero to a function that takes a POSITIVE_INTEGER is a compile-time error.

      As they say, make a system that's idiot-proof and some idiot will prove that it isn't, but Ada puts a lot more protections in at both compile and run times than most languages. It's the opposite extreme from some of the scripting languages where you could spill beer over the keyboard while sneezing and the resulting collection of random characters wouldn't fail until maybe the module got called next Leap Year.

      Ada as a practical language suffered from 2 problems, First, it came out too soon. At a rough guess, a really competent Ada machine requires as much horsepower as Java, and when I studied Ada, merely running the compiler could bring an IBM mainframe of the day to its knees. Secondly, as with Java, any language that pushes most of the development cycle into the design and coding phases because until that part's right, absolutely nothing runs has a hard battle going up against the "instant gratification" of today's popular scripting languages, where the bulk of the work tends to be done chasing the run-time errors slowly emerging because the interpreter couldn't catch them in advance and the program "runs" almost as soon as you start coding.

    10. Re:This calls for ballot stuffing by TechyImmigrant · · Score: 2

      Those the the reasons I like Ada, or rather Ada written in VHDL, what with VHDL being pretty much a superset. It's a superb modeling language. You can easily constrain all state to be what the thing being modeled. But it's a fugly language and only the hard nosed people building chips had the stomach to take it. Which is why we are here today. Pity the people trying to build test benches in Verilog and having to investing in expensive test languages after finding how useless it is. The irony is VHDL is a pretty sucky HDL full of verbosity and boilerplate when you just want to describe binary logic.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    11. Re: This calls for ballot stuffing by haruchai · · Score: 1

      You might not have heard it, and I can't speak to Modula 2 but Pascal was absolutely intended to be a "teaching language"

      Modula-2 was intended to be a systems programming language and Wirth didn't stop there, nor did others.
      There was Modula-2+ which was extended to be Modula-3 by some people from DEC; also Wirth developed Oberon, Oberon-2 and from that came Object Pascal and Component Pascal and derivatives like Zonnon.
      A lot of that stuff seems to have made its way into Delphi

      --
      Pain is merely failure leaving the body
  5. For now, but not for long by Anonymous Coward · · Score: 0

    javascript rides on the distribution model of the web, which is especially good.
    But C will be back, especially as developments like WebAssembly move forward they are bringing native back to the browser.
    No this does not mean the underlying source will remain veiled in mystery, we still have to *debug* whatever code we write.

    1. Re:For now, but not for long by Anonymous Coward · · Score: 0

      I don't think you understand what 'native' actually means.

  6. CSS is a language? by hcs_$reboot · · Score: 1

    Since when?

    --
    Slashdot, fix the reply notifications... You won't get away with it...
    1. Re:CSS is a language? by hcs_$reboot · · Score: 1

      (I mean a *programming* language)

      --
      Slashdot, fix the reply notifications... You won't get away with it...
    2. Re:CSS is a language? by mwvdlee · · Score: 2

      If CSS counts as a programming language, then I'm pretty sure Markdown is the most popular programming language on Github.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    3. Re:CSS is a language? by Anonymous Coward · · Score: 0

      This is SBCL 1.3.11, an implementation of ANSI Common Lisp.
      More information about SBCL is available at .

      SBCL is free software, provided as is, with absolutely no warranty.
      It is mostly in the public domain; some portions are provided under
      BSD-style licenses. See the CREDITS and COPYING files in the
      distribution for more information.
      * (I mean a *programming* language)
      ; in: I MEAN
      ; (I MEAN A *PROGRAMMING* LANGUAGE)
      ;
      ; caught WARNING:
      ; undefined variable: *PROGRAMMING*
      ;
      ; caught WARNING:
      ; undefined variable: A
      ;
      ; caught STYLE-WARNING:
      ; undefined function: I
      ;
      ; caught WARNING:
      ; undefined variable: LANGUAGE
      ;
      ; caught WARNING:
      ; undefined variable: MEAN
      ;
      ; compilation unit finished
      ; Undefined function:
      ; I
      ; Undefined variables:
      ; *PROGRAMMING* A LANGUAGE MEAN
      ; caught 4 WARNING conditions
      ; caught 1 STYLE-WARNING condition

  7. Re:Counts sharing, not use. Javascript always shar by hajile · · Score: 2

    Most serious JS is definitely NOT open to the public. Common libraries certainly are (and the JS community is very aggressive about pushing the programming envelope), but most significant projects are closed source. You could argue that you can see the source anyway, but between babel transformations and minification, the output is obfuscated (to say differently would be similar to arguing that C projects are open because you can disassemble them).

  8. And the most Popular Hamburgers Worldwide by hcs_$reboot · · Score: 4, Interesting

    The most popular hamburgers worldwide are Mac Donald's. Does that make them better?

    --
    Slashdot, fix the reply notifications... You won't get away with it...
    1. Re: And the most Popular Hamburgers Worldwide by zaphirplane · · Score: 2

      Yes it does, because better is an overall rating, taste is a singular attribute so is cost, ease, speed, consistency

    2. Re: And the most Popular Hamburgers Worldwide by Zero__Kelvin · · Score: 1

      Show me the word "better" in the summary. You are the only one confusing popular with better.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  9. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  10. Good point. And also: by Futurepower(R) · · Score: 1

    Maybe JavaScript is not "popular", just used a lot because it is necessary to use it.

    1. Re:Good point. And also: by Anonymous Coward · · Score: 0

      Maybe JavaScript is not "popular", just used a lot because it is necessary to use it.

      tell us more about these languages where it's not necessary to use it, why are they better?

  11. Re:Counts sharing, not use. Javascript always shar by Anonymous Coward · · Score: 0

    I would believe the vast majority of C code is not publicly shared. That was my experience throughout my career.

  12. Cat by Anonymous Coward · · Score: 0

    Excuse me nice gentlemen. I don't mean to interrupt but, I've been searching news articles trying to find my cat. Have you seen my cat?

    1. Re:Cat by hcs_$reboot · · Score: 1

      Found it.

      --
      Slashdot, fix the reply notifications... You won't get away with it...
    2. Re: Cat by Anonymous Coward · · Score: 0
    3. Re: Cat by Anonymous Coward · · Score: 0
  13. Re:Counts sharing, not use. Javascript always shar by hcs_$reboot · · Score: 1

    Most popular among "being used in development" are Javascript, Java, C# and PHP according to stackoverflow tags.

    --
    Slashdot, fix the reply notifications... You won't get away with it...
  14. Re:java by Anonymous Coward · · Score: 0

    Well, if you're writing a big app on linux (cloud or not) that's multi-threaded, forks processes, etc...there is no other option other than Java. JavaScript/Node.js will fucking choke quickly with it's async bullshit running on a single thread. Being strongly typed helps a lot so you don't get surprises at runtime.

  15. Re: java by Anonymous Coward · · Score: 0

    Much better for bigger projects. Much easier refactoring and code navigation. The loud crowd works eithe on small projects that are made and abandoned quickly or on heavy fronted projects.

    Java is not sexy, but get the work done. It has pretty powerful libraries and frameworks which is something I like, but loud crowd hates as they require a little bit of learning before you understand them.

  16. Re: java by xvan · · Score: 1

    Are you trying to argue that the clusterfuck of javascript and PHP are "easier" than Java ?

  17. Because they weren't written in just ten days by raymorris · · Score: 4, Insightful

    > why are they better?

    *Why*, the *reason* they are better, is that the creators had more than 10 days to design, plan, implement, integrate, and test them. Several years, in most cases.

    Netscape very much wanted a client-side programming language built into the browser for their big 2.0 release. The original plan (Scheme) didn't work out, so with just ten days left before the public beta release, Brendan Eich designed and implemented, and integrated Javascript.

    It was a pretty amazing accomplishment - I rather doubt I could do that in ten days. Also, there are many areas where the ten-day schedule is apparent, such as inconsistencies in the naming and format of Javascript functions. In ten days there was no time to have a full complement of types, in fact Javascript can't handle integers. That's a problem because, for example it means 9999999999999999 is equal to 10000000000000000. Floating point comes with all kinds of errors. You're actually not supposed to ever compare to floating point numbers for equality, you're supposed to check whether the difference between them is small. Since JavaScript only HAS floating point numbers, it can't tell whether or not two numbers are equal, in the general case.

    JavaScript generally ignores errors and carries on. If you're driving somewhere and you realize you're going the wrong direction, you'd stop and turn around, right? Not JavaScript. When JavaScript notices it's doing something wrong, it continues full speed ahead, intentionally continuing to screw more and more things up.

    Type coercion in Javascript is nuts. In Javascript, 1 + 2 = 12, sometimes.

    One of the four useable types Javascript does have is Number. But 1 is not a Number.

    Number has properties MIN_VALUE and MAX_VALUE.
    Keep in mind, though, -1 is less than Number.MIN_VALUE, and MAX_VALUE is less than MIN_VALUE.

    Again, I couldn't write a better language in 10 days. Give me 60 days, though, and I might have built something better than Javascript.

    1. Re:Because they weren't written in just ten days by Anonymous Coward · · Score: 0

      Netscape very much wanted a client-side programming language built into the browser for their big 2.0 release. The original plan (Scheme) didn't work out

      Any idea why?

    2. Re:Because they weren't written in just ten days by Waffle+Iron · · Score: 1

      That's a problem because, for example it means 9999999999999999 is equal to 10000000000000000. Floating point comes with all kinds of errors. You're actually not supposed to ever compare to floating point numbers for equality, you're supposed to check whether the difference between them is small.

      To be fair, in most other languages, 99999999999999999999 == 7766279631452241919, or maybe even == 1661992959. No matter what language you're using, you have to be aware of when and how your results may overflow.

      Also, if you do calculations using exact integer values as inputs, assuming you avoid overflow, you can directly compare floating point representations as long as you use operations that stay strictly in the integer subset (such as +, -, *, but not /).

    3. Re:Because they weren't written in just ten days by BlackPignouf · · Score: 3, Informative

      To be fair, in most other languages, 99999999999999999999 == 7766279631452241919

      Which other language, exactly?

      Let's see :
      Not in Ruby.
      Not in Python.
      Not in Java (compiler would complain, needs to be BigInteger).
      Not in C# (same) ...

      Sorry, JS is all alone on the shittyness podium.

    4. Re:Because they weren't written in just ten days by Pseudonym · · Score: 2

      In ten days there was no time to have a full complement of types, in fact Javascript can't handle integers. That's a problem because, for example it means 9999999999999999 is equal to 10000000000000000. Floating point comes with all kinds of errors. You're actually not supposed to ever compare to floating point numbers for equality, you're supposed to check whether the difference between them is small. Since JavaScript only HAS floating point numbers, it can't tell whether or not two numbers are equal, in the general case.

      Oh, dear.

      First off, the main alternative in the scripting world is the union of monotypes model, where a number could be a float, integer, or string depending on context, and the language will silently cast between them as needed. The unpredictability of this model is, in my experience, the cause of far more errors than floating point misuse. JavaScript numbers often aren't what you want, but the vast majority of the time you know exactly where you stand with them.

      Secondly, you can and sometimes should compare floating point numbers for equality, and in JavaScript use it's typically the right thing to do. This is the 21st century, and the screwed-up numerics of x87's 80 bit registers are far behind us. A 32-bit integer fits losslessly in a 64-bit floating point number. If you do ring operations (e.g. the vast majority of what happens in CSS layout computations) and don't overflow, they will behave exactly as an integer would. If they don't, send your compiler or FPU back because something is broken.

      There are many bad design decisions in JavaScript, but this one was smart.

      Keep in mind, though, -1 is less than Number.MIN_VALUE, and MAX_VALUE is less than MIN_VALUE.

      As you probably know, this behaviour was inherited from C, where DBL_MIN is famously greater than zero. Most languages since (with the notable exception of C++; see min() vs lowest() in std::numeric_limits) have corrected this mistake but it's arguable whether or not JavaScript should have attempted to do so.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    5. Re:Because they weren't written in just ten days by Waffle+Iron · · Score: 1

      Java would only complain if you used integer literals that big, but such literals are usually unrealistic. Most often, problems like this happen because of results of calculations.

      The fact is, Java would silently overflow computing an integer value of 99999999999999999999 unless you use BigIntegers or the equally awkward new APIs such as Math.addExact().

      C# would also overflow unless you compiled with non-default settings.

      JavaScript is actually superior in those cases because the floating point result would be approximately correct instead of way off like the integer results.

  18. Exactly, should include Maven and Nuget downloads by Anonymous Coward · · Score: 0

    Any "measure" of language use that doesn't take into account Spring, Hibernate or Apache Commons jar downloads (among others) is not even close to representative of real world "use".

  19. Re:java by j-b0y · · Score: 4, Insightful

    Java has a robust and widely used and robust frameworks for applications so in many cases the developer can focus on the business code; several mature development environments which hook into the reflection capabilities of the language to make coding quite pleasant; a rich set of tools useful for program qa and developer support; a massive developer pool. As a language it's OK, but language wars are so 90s.

    For a business that needs to get stuff done that's pretty important. For projects with lifetimes potentially in decades Java is an easy choice. A good programmer is a good programmer in any language; Java can make mediocre programmers productive. That might sound deeply unsexy to the slashdot crowd, but I think that's the reality of an awful lot of SW development, which is internal or contracted development for businesses.

    --
    Please remain calm, there is no reason to pani... wait, where are you all going?
  20. Re:Counts sharing, not use. Javascript always shar by Gravis+Zero · · Score: 3, Insightful

    You won't find Linux or Apache on Github, for example...

    Linux kernel
    Apache HTTPD Server

    I'm not saying you're wrong, but your examples are wrong.

    --
    Anons need not reply. Questions end with a question mark.
  21. Link by Anonymous Coward · · Score: 0

    https://blog.nondon.net/

  22. This is getting old by Anonymous Coward · · Score: 3

    Every couple of days some random guy who measured programming language popularity by pissing against the wind while spelling the name of the language backwards pretends to have figured out how he future of software development will look like. And every damn time this garbage is getting posted on /.

    1. Re:This is getting old by Anonymous Coward · · Score: 0

      agreed. In the old days of slashdot this would be countered by an army of memers making hilarious fun of it every time it comes up. There's no one clever left on slashdot though. :(

  23. Re: by vasira · · Score: 0

    Currently Python is most popular language as it is very easy to learn. The reason is we don't need to have much experience of coding to learn this language.

  24. Re: java by Anonymous Coward · · Score: 0

    No. What do you think Linux is written in?

  25. That's how these things always go by Sycraft-fu · · Score: 4, Insightful

    Whenever there's a "language popularity" thing online they always do their research by looking at what people are doing online. Either what they are talking about, what they are sharing, etc. Somehow none of them ever consider how horribly skewed this is.

    The simplest counterexample to something like this is embedded software. It is unarguable that there's a lot of development of that going on. Everything today gets controlled with a micro-controller or small CPU. Actual custom designed ASICs/circuits are reserved for only a few applications, most things get a more general purpose device and do it in code. Your car, your cable modem, your microwave, your TV, etc all of them run code.

    Well guess what? That embedded code isn't done in Javascript or Ruby or any of these other trendy languages. Often as not it is done in C/C++ (and sometimes partially or all assembly). It just isn't the sort of things that gets posted about online. First the code is almost always proprietary, so the project itself isn't going to get posted as it is property of the company that paid to have it written and second it is professionals working in teams doing it, not people who are getting started out or playing around. They are likely to get help internally, not talk about it on the Internet.

    So if you want to look at Github to see what is popular on Github, that's cool, but when people try to generalize that to development overall, it is false. To get a feeling for what is really popular in software development you'd have to poll programmers working at a variety of big companies since that's where a lot of the code is being generated.

  26. Popular?? by maroberts · · Score: 2, Insightful

    I do JavaScript development. That does not necessarily mean I like JavaScript

    --

    Donte Alistair Anderson Roberts - hi son!
    Karma: Chameleon

    1. Re:Popular?? by bogaboga · · Score: 1

      I do JavaScript development. That does not necessarily mean I like JavaScript

      Who said it means folks like you like it?

      This is what it means:

      It means folks like you help make it more popular. Do you deny this?

  27. Re:java by Anonymous Coward · · Score: 0

    Welcome to the Kingdom of Nouns!

  28. Re:Counts sharing, not use. Javascript always shar by Anonymous Coward · · Score: 0

    Most popular among people who are inexperienced enough with the language that they cannot find a solution to their problem themselves.

  29. Re:java by K.+S.+Kyosuke · · Score: 1

    Or Chez Scheme. Or Common Lisp. Or Go. I'm pretty sure there's at least two dozen different options, anyway.

    --
    Ezekiel 23:20
  30. Re:Counts sharing, not use. Javascript always shar by fluffernutter · · Score: 1

    Yes because Java is only used by inexperienced people.

    --
    Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
  31. Python by fluffernutter · · Score: 5, Insightful

    I just want to say. Good for Python. I know a lot of people hate it but once you get past the static indents there is a lot to like about the language.

    --
    Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
    1. Re:Python by Anonymous Coward · · Score: 0

      There is a lot to like about pretty much any language.

    2. Re:Python by luis_a_espinal · · Score: 1

      There is a lot to like about pretty much any language.

      Err, have you ever worked with PICK Basic?

    3. Re: Python by Zero__Kelvin · · Score: 1

      Newsflash: AC has no understanding of computer languages and / or the English language.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    4. Re: Python by Anonymous Coward · · Score: 0

      Just saying that Python is not in an exclusive club.

      There are at least 20 members in that club.

    5. Re:Python by BlackPignouf · · Score: 1

      +1.
      Coming from Ruby, I have a few WTF moments with Python, but mostly, the syntax is acceptable and it's really easy to get shit done with Python.
      There are so many cool libraries for everything, programming often feels like cheating now.

  32. Re: by fluffernutter · · Score: 2

    I work in a lot of different languages and it changes from week to week. Maybe what makes a language simple also makes it efficient to change. Unless you can point to something that Python cannot do with simpler source code, why would you want to use the more complex one? I can appreciate the use of objective-c for speed or, well, it took Android awhile to get 'smooth' on Java but it's there now and it has a full complement of libraries. But for the part that needs to be extended and tweaked and retweaked, I think Python is a valid choice. You get a lot done in a simple way.

    --
    Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
  33. Re:Counts sharing, not use. Javascript always shar by Anonymous Coward · · Score: 0

    Yes because Java is only used by inexperienced people.

    Not exclusively, but to a large extent, yes.

  34. Re: java by Anonymous Coward · · Score: 0

    You could use Python, Scala, Erlang. You could probably even do it in Fortran and MPI if you wanted to, but it wouldn't be the most natural fit.

  35. Re:Counts sharing, not use. Javascript always shar by angel'o'sphere · · Score: 1

    I think he meant the thousands of Java projects hosted by http://apache.org/

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  36. Re:Counts sharing, not use. Javascript always shar by Anonymous Coward · · Score: 0

    I have an impression that SO is flooded with people who cannot code their way out of a paper bag, proverbially speaking. Which is what I was referring to with my GP post.

  37. Re: No co-routines = multithreading glass ceiling by Anonymous Coward · · Score: 0

    C++11/14 allows you to do some of the things that needed a fair bit of boilerplate with somewhat fewer lines of, and more readable boilerplate.

  38. Counting pull requests, developent. A copy yes by raymorris · · Score: 1

    They are counting pull requests, development. You won't find the kernel and Apache httpd pull requests on Github.

    Yes somebody uploaded a copy of the code to Github. That's not where development is done, so this survey wouldn't count Apache httpd or kernel httpd development (except for a few people who didn't know the devel process and clicked pull request on Github).

  39. Perfect example by JustAnotherOldGuy · · Score: 1

    A perfect example of how "popular" does not necessarily mean "good".

    --
    Just cruising through this digital world at 33 1/3 rpm...
  40. Delphi Object Pascal in Top 9 (again) by Anonymous Coward · · Score: 0

    Per the TIOBE index http://www.theregister.co.uk/2017/03/10/swift_pops_top_10/ & it never usually goes outta the top 11 iirc there...

    * I used it to build this so users get more speed, security, reliability & anonymity online for less (less resource use & security issues combined vs. other "so-called 'solutions'" that are security issue riddled & slow you (DNS/antivirus/addons) or are 'souled-out' to NOT work anymore (like AdBlock) by default) APK Hosts File Engine 9.0++ SR-7 32/64-bit https://www.google.com/search?hl=en&source=hp&biw=&bih=&q=%22APK+Hosts+File+Engine%22+and+%22start64%22&btnG=Google+Search&gbv=1/

    I chose Delphi over my past favs in MSVC++ & VB in 1997 when I saw in VBPJ (a competing language trade rag) that it nearly TRIPLED C++ in Math & String work (& every program does those).

    APK

    P.S.=> Accept NO substitutes for hosts files OR Delphi people - otherwise, you're shorting yourselves... apk

  41. Re:java by Anonymous Coward · · Score: 0

    There are two things that make Java more difficult and verbose than many other languages:

    1. Java was designed to be run in environments where security (applets in a web browser) and robustness (embedded devices) were of paramount concern.

    2. The designers of Java were heavily influenced by GoF design patterns, which are all about large programming projects with dozens of developers (at least) on multiple programming teams. In fact, the Sun folks came up with new patterns on their own (see the book Effective Java).

    So yeah, simple tasks such as reading text from a file and filtering using a regular expression can involve a profusion of library classes and try/catch blocks, which look ridiculous to a Perl or Python dev. But #1 and #2 are basically the reason. When you write Java code, you have to keep application architecture, security, and run-time robustness in the back of your head at all times, and lose the idea of trying to do something in the least amount of code possible.

  42. Re: by Half-pint+HAL · · Score: 1

    Currently Python is most popular language as it is very easy to learn. The reason is we don't need to have much experience of coding to learn this language.

    I'm not sure that's true in a general. Python is at heart just another generic C-alike.

    Python's strength lies in the fact that it was designed with iterables at its core, and for k in keys: is a lot easier to deal with than for (i=0; i . In a sense, this makes it easier to learn -- iterables just make for more accessible and readily understandable learning tasks -- but at the end of the day, a heck of a lot of teaching syllabuses still assume C-style programming, whether simply because that's the way it was before or because the course organisers want to teach a generic paradigm and want their students to be able to transfer to C easily.

    As I understand it, Python is the most common language used in high school computing classes in Scotland; however, the national curriculum mandates teaching of arrays and the number-controlled for loop. Python doesn't have arrays (the CS curriculum talks about fixed length and all data being of the same type, and kids can quickly find out for themselves that that's not true in Python) and everyone ends up teaching kids to write for i in range(0,len(listname)): and then immediately item=listname[i] rather than for item in listname .

    This sort of contortion hides the logic behind Python and makes programming seem even more arcane and arbitrary.

    --
    Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
  43. Pascal mofos. Represent! by Anonymous Coward · · Score: 0

    Lol. Python is great because I can write something that works on a 15 year old computer or a brand new one.

  44. Re:Trump by Anonymous Coward · · Score: 0

    You are going get your ass chewed on /.!

  45. Re: Trump by Zero__Kelvin · · Score: 1

    To be fair, it's a tiny, tiny little finger ;-)

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  46. Re: java by Zero__Kelvin · · Score: 1

    Yes. I have something to say that is good about it. It scares away incompetent people like you according to you ;-)

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  47. Re: by Zero__Kelvin · · Score: 1

    I started writing C in the late 80s and Python the last 10 years. C is like Python in the same way that dick is like pussy. There are similarities, but it is the differences that make them each have their own place in the world.

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  48. Re: by Half-pint+HAL · · Score: 1

    That suggests to me that you've had a very narrow experience of programming languages, and have stuck to the C-alikes.

    --
    Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
  49. Re:Counts sharing, not use. Javascript always shar by Pseudonym · · Score: 1

    Reading this, perhaps we should keep in mind it is based on pull requests on public Github repositories; that's counting how much these languages are *shared*, not how much they are *used*.

    Oh... so you're saying the several squillion single-function dependencies that are pulled any time you try to do anything nontrivial in node.js are counted separately every time you deploy it on a new machine? Yeah, that would explain it.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  50. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  51. For quickie scripts, vs applications by raymorris · · Score: 1

    > First off, the main alternative in the scripting world is the union of monotypes model, where a number could be a float, integer, or string depending on context,

    True, in languages designed for writing quickie scripts, as opposed to significant applications such as a word processor, typing is sometimes an issue. It doesn't have to be so - even VBScript has a proper type system, as does Python as I recall.

    Anyway, JavaScript is now being used to write office suites, and it's not well suited to such tasks.

    1. Re:For quickie scripts, vs applications by Anonymous Coward · · Score: 0

      Anyway, JavaScript is now being used to write office suites, and it's not well suited to such tasks.

      yes indeed shovels were invented for dirt, but not for shit, so you can't shovel shit

      but of course you are proving me wrong!

  52. Nonsense by ChrisMaple · · Score: 1

    C is a subset of C++. To get a true indication of popularity, add the numbers for those two together, and nothing else is even close.

    --
    Contribute to civilization: ari.aynrand.org/donate
    1. Re:Nonsense by Anonymous Coward · · Score: 0

      C is a subset of C++. To get a true indication of popularity, add the numbers for those two together, and nothing else is even close.

      C is not a subset of C++, as there are valid C programs which are invalid C++ programs.

  53. Re: java by Anonymous Coward · · Score: 0

    Haha, you think multithreaded programming in Python scales.

  54. Re:java by Pseudonym · · Score: 1

    I have heard plenty of bad things, but does anyone have anything good to say about Java?

    Absolutely! Off the top of my head:

    Java broke the logjam in the open source world (though it wasn't called "open source" at the time). Before Java, pretty much everything was in C (and maybe a little Tcl). The Java hype opened up the open source world to all languages. (Note that Perl 5 dates from around the same time as Java 1, and I don't want to discount its relevance, but while Perl and CPAN would have gone on to influence other languages like Perl, it didn't step into C's space like Java did.)

    Java broke a significant logjam in programming language research. Almost every single piece of research that has happened in managed execution environments, modern concurrent garbage collection, JIT compilation, reflective virtual machines, and so on are largely thanks to Java.

    On that note, in 20+ years, there has never (to my knowledge) ever been a security hole in the Java platform which was caused by the JVM or the Classloader. Plenty in the SecurityManager library, but none in the JVM infrastructure.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  55. Re:java by PJ6 · · Score: 1

    Java has a robust and widely used and robust frameworks for applications so in many cases the developer can focus on the business code; several mature development environments which hook into the reflection capabilities of the language to make coding quite pleasant; a rich set of tools useful for program qa and developer support; a massive developer pool. As a language it's OK, but language wars are so 90s.

    "Robust", huh?

    The worst misuse and overuse of design patterns I have ever seen have all come from people who write, or learned to code writing Java.

    Those "robust frameworks" you talk about are a scourge. At best they're cargo-cult engineering, and at worst, deliberate overiengineering make-work to craete job security.

    Java can make mediocre programmers productive

    I'm guessing you and I have very different ideas about what productivity is.