Slashdot Mirror


GitHub's Four Most Popular Programming Languages Remain: JavaScript, Java, Python, and PHP (thenewstack.io)

A recent TechCrunch article claimed to have identified the best indicator of programming language popularity: GitHub's annual "State of the Octoverse" reports. So Austin-based technology reporter Mike Melanson explored the new verdict in GitHub's 2018 report: It felt to me like the overarching theme of the numbers was one of quiet stasis for the year past, at least when it comes to those languages deemed the cream of the crop. One of the first graphics offered in the post shows the top languages according to the number of repositories created and we see that everything seems to be flowing along, just as it has for the last decade. While GitHub points to a "steady uptick" for JavaScript after 2011, it looks like this list of languages hasn't changed much over time. [The graphic shows the four most popular languages -- every year since early 2014 -- have been JavaScript, Java, Python, and PHP.]

When we look at the top languages according to the number of contributors, we see a similar story, with the top four languages mirrored. In this chart, of course, we see that Ruby is on a steady decline, while Typescript is on a steady rise. The only surprise to be seen here is that C, after a brief uptick in popularity, has taken a bit of a nosedive over the past year. Either way, seven of 10 languages have the same exact ranking....

Finally, beyond the language rankings themselves, GitHub offers a wonderful analysis of just what it is that makes a particular language popular in 2018, boiling it down to three key characteristics: thread safety, interoperability, and being open source.

GitHub's report also identifies its fastest growing languages over the last year -- including Kotin, TypeScript, Rust, Python, and Go. "This year, TypeScript shot up to #7 among top languages used on the platform overall, after making its way in the top 10 for the first time last year," the report notes.

"TypeScript is now in the top 10 most used languages across all regions GitHub contributors come from -- and across private, public, and open source repositories."

87 of 144 comments (clear)

  1. Web languages by Actually,+I+do+RTFA · · Score: 4, Insightful

    So, a website with programming tools is primarily used by people who use web technologies. Shocking. Meanwhile, most C++ people are probably just all self-hosting repos.

    --
    Your ad here. Ask me how!
    1. Re:Web languages by AmiMoJo · · Score: 4, Informative

      I know a lot of C/C# people use GitLab and BitBucket because they give you free private repos. With GitHub free accounts can only make public repos.

      Web developers are used to doing everything in public, because everyone gets to see their code and most of it is using public frameworks anyway.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    2. Re:Web languages by angel'o'sphere · · Score: 2

      So, a website with programming tools is primarily used by people who use web technologies.
      It is not a "web site", it is a source code repository, aka version control system.

      And the only thing you could remotely call web related "technologies" are JavaScript and PHP ... Python is a language and a platform, so is Java.

      Meanwhile, most C++ people are probably just all self-hosting repos.
      Yes, and shockingly the C++ crowed produces probably not much open source code ... or it would be in public accessible repos ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  2. Kotlin by nyet · · Score: 2

    It's kotlin.

    Taking bets on how long /. will take to fix the typo. My bet is "after the heat death of the universe".

  3. Where is C??? by mallyn · · Score: 1

    I feel left out. First there was darkness. Then there was C. Then there was the kernel. Then there was Linux. Then there was Android. Then, finally, there was light. Through the gift of C, the world can now see!

    --
    Most Respectfully Yours Mark Allyn Bellingham, Washington
    1. Re: Where is C??? by jd · · Score: 1

      Well, before C there was B, before which there was BCPL (the language MUD 1 was written in - making BCPL the most important language in the universe). Before that was CPL. And before that, darkness.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  4. Python is popular by Rosco+P.+Coltrane · · Score: 2

    not because it's such a great language - it's good alright, but no better than a lot of others - but because when you need to do something, you can be almost certain there's an easy-to-use module to do exactly what you need out there.

    --
    "A door is what a dog is perpetually on the wrong side of" - Ogden Nash
    1. Re: Python is popular by Joce640k · · Score: 1

      lest perhaps embedded and mobile.

      ...or anything that needs to be used six months from now. By then there'll be a new, slightly incompatible version.

      --
      No sig today...
  5. Re:JAVA What? by Rosco+P.+Coltrane · · Score: 2

    Nah... Since they turned it into a script, it's gotten much better. Get with the times man!

    --
    "A door is what a dog is perpetually on the wrong side of" - Ogden Nash
  6. Need a reference guide... by Crash+Dummy+Redux · · Score: 1

    PHP7 caught my attention, looking like a Python wannabe with generators and anonymous functions. Can't find a decent reference guide to get myself up to speed. Where is O'Reilly when you need them?

    1. Re:Need a reference guide... by Joce640k · · Score: 1

      Try Javascript.

      (it probably isn't what you think it is...)

      --
      No sig today...
    2. Re:Need a reference guide... by Crash+Dummy+Redux · · Score: 1

      I haven't tried server-side Javascript yet.

    3. Re: Need a reference guide... by reanjr · · Score: 1

      Writing a reference to how PHP works is like writing a reference to how the law works. It's not designed with any cogent theory of operation; it's more of a mish-mash. If you need to know the details, you need to wade through the tangled mess of design.

  7. Popularity !== Best by UnknownSoldier · · Score: 4, Insightful

    By this retarded logic McDonalds is gourmet food with the *billions* it serves. Hint: It isn't.

    Likewise, shit languages like Javascript and PHP, are popular because any code monkey can use them. But ignoring a problem doesn't make it go away. i.e. Memory management. To paraphrase JWZ, "Now you have two problems." This attitude of just throw more hardware at it is naive and non-scalable for certain problems.

    Almost no one cares about performance, minimal code libraries, and non-bloated apps. The lower the bar for programming the worst this is going to get.

    It's no surprise that "Worse is Better" W.R.T. programming languages has taken off. This has been happening for 30+ years.

    1. Re:Popularity !== Best by Tablizer · · Score: 2

      JavaScript and PHP are fine if they are used how they were intended to be used: glue languages handling events and HTML templating. If you write OS's or entire GUI engines in them, or try to make them replace RDBMS, you deserve to be fucked.

    2. Re:Popularity !== Best by phantomfive · · Score: 2

      Javascript isn't popular because "any code monkey can use them." It's popular because people are forced to use it. That is all.

      PHP has a good paradigm: when people criticize it, they always criticize the details of the implementation, not the overall concept. Admittedly there are enough implementation mistakes to ruin the cake.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:Popularity !== Best by AuMatar · · Score: 1

      Its popular because its the easiest thing to use for a rank beginner. Want to learn C? You need a compiler and you'll be doing console apps for a long time. Want to learn Java? You need to deal with the JDK, and you need to write console apps or make ugly Swing apps. Want to learn Python? Compiler again, and I don't even know if there is a ui library. Then we have build systems.

      Want to learn javascript? You need a browser, and can jump right into a graphical app. If your goal is to learn how to program from scratch, its cheaper, easier, and feels like you're moving faster than you actually are.

      That's why everyone these days starts learning with Javascript. And since some never learn a 2nd language, it becomes the most popular.

      As for PHP- plenty of people crap over the concept. The idea of embedding code and UI like that with half of it front end and half of it backend is horrible.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    4. Re:Popularity !== Best by Anonymous Coward · · Score: 4, Insightful

      APL: âOE/(^/0=Aâ.|X)/AâââOES/Xâ

      Awk: 'function gcd(p,q){return(q?gcd(q,(p%q)):p)}{print gcd($1,$2)}'

      Dc: [dSa%Lard0] [dup rollup rem] while pop.

      K: gcd:{:[~x;y;_f[y;x!y]]}

      Perl 6: my &gcd = { ($^a.abs, $^b.abs, * % * ... 0)[*-2] }

      R: %gcd%" - function(u, v) { ifelse(u %% v != 0, v %gcd% (u%%v), v)}

      Scheme: (define (gcd a b) (if (= b 0) a (gcd b (modulo a b))))

    5. Re:Popularity !== Best by grungeman · · Score: 1

      Nice. I did not know there are other cool languages on the market :)

      --

      Signature deleted by lameness filter.
    6. Re:Popularity !== Best by Joce640k · · Score: 4, Insightful

      Likewise, shit languages like JavaScript and PHP, are popular because any code monkey can use them.

      No, they're "popular" because that's all there is.

      In a web browser? What can you use that isn't JavaScript?

      On an ISP-hosted web server? What do they give you except PHP?

      Plus: Most JavaScript/PHP is written in the form of unimportant little snippets, that's why it ends up on GitHub.

      --
      No sig today...
    7. Re:Popularity !== Best by Joce640k · · Score: 1

      Most of those look like there was noise on the modem when you typed them.

      --
      No sig today...
    8. Re:Popularity !== Best by Joce640k · · Score: 1

      Weird that somebody who cares about "maintenance and re-use" would choose Python, a language famous for it's non-backwards compatibility.

      --
      No sig today...
    9. Re:Popularity !== Best by Joce640k · · Score: 1

      All those programming languages are perfectly fine if used correctly. You're mixing up shit languages with shit programmers.

      Some languages are much better than other when it comes to expressing your exact intent as a programmer.

      --
      No sig today...
    10. Re:Popularity !== Best by Njovich · · Score: 1

      Likewise, shit languages like Javascript and PHP, are popular because any code monkey can use them. But ignoring a problem doesn't make it go away. i.e. Memory management. To paraphrase JWZ, "Now you have two problems." This attitude of just throw more hardware at it is naive and non-scalable for certain problems.

      I've seen plenty of code monkeys writing C and Java. The languages are by themselves hardly more complicated than PHP, yet are far more vulnerable to the 'just buy a bigger server' paradigm.

      PHP solves memory management by throwing away all your memory after every request (in effect forcing you to write stateless code and preserve any state outside of memory, which really isn't such a bad model for a web server). A skilled C developer will have a hard time keeping up with any PHP developer if it comes to memory leaks with the same amount of string handling your average PHP script does. It's a solution that works for the problem domain. If you really want to spent 50% of your development time doing memory management, you are still free to write a web service in C. If memory efficiency and runtime performance are so important to you as you claim, it's pretty non-trivial to do any better in similar languages like Ruby or Python - and for any language you'll likely spend most time in IO anyway. Personally, I prefer Go, but PHP is a tool and it gets the job done. Ask Wikipedia, Facebook, etc.

    11. Re:Popularity !== Best by Anonymous Coward · · Score: 1

      Weird that somebody who cares about "maintenance and re-use" would choose Python, a language famous for it's non-backwards compatibility.

      There is exaggeration, there is wild exaggeration, then a lot of space, and then there is this statement. The Python developers decided to fix a few small but painful issues in the language, backported the fixes to the old version, supported both versions for about a decade, documented it well, and now Python is `famous for it's non-backwards compatibility'?

    12. Re:Popularity !== Best by angel'o'sphere · · Score: 1

      JavaScript is actually a very fine language.

      It only has two flaws: historically bad integration into browsers, aka incompatible ideas how the DOM should work/be accessed and handling of primitive types. E.g. automatic coercion.

      If you think otherwise, you are a programmer who has not much clue about programming languages. are popular because any code monkey can use them. This actually indicates clearly that you have no clue about programming languages ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    13. Re:Popularity !== Best by angel'o'sphere · · Score: 1

      Swing apps are not ugly. They look usually like your OS GUI. If you use an ugly OS ... your problem.
      There are plenty of C interpreters ... no need for a compiler.
      Python is not compiled, it is either run by an interpreter or in an REPL environment.
      Javascript easily runs standalone ... just use Rhino or Node or any other JavaScript interpreter.
      In PHP it is as easy as in any other language to separate GUI code from back end code. But for toy projects it is easier to mix it and unfortunately toy projects have the bad habit to grow into mainstream usage.

      No idea why people are so full of stupid ideas and misconceptions about programming languages ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    14. Re:Popularity !== Best by cascadingstylesheet · · Score: 1

      By this retarded logic McDonalds is gourmet food with the *billions* it serves. Hint: It isn't.

      Likewise, shit languages like Javascript and PHP, are popular because any code monkey can use them.

      Who said they were "gourmet"? The summary said they were most popular, on a repository website.

      Anyway, different strokes for different folks. Being usable by people outside of a guild is actually a feature. Maybe not a feature that you are interested in, but a feature nonetheless.

    15. Re:Popularity !== Best by gtall · · Score: 1

      You could knock that out in APL from the 60's.

    16. Re:Popularity !== Best by MightyMartian · · Score: 1

      The primary criticism of PHP these days is the library. Yes, a lot of work has gone into cleaning things up, but PHP is weighted down by a lot of legacy cruft. This is true of most languages as they evolve, but PHP's beginnings were so mucky, that supporting legacy code has bequeathed to PHP programmers a gawdawful set of core libraries. But if you stick to the modern feature set, it's no better and no worse than many scripting languages.

      I still have a thing against Javascript. I find it tiresome and inelegant, but it's the way you're going to code interactivity in a browser, so there are you are.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    17. Re:Popularity !== Best by Srin+Tuar · · Score: 1

      People who shit on javascript are nearly universally poor programmers, its almost a reliable indicator.

      All languages have quirks and foibles; but javascript is an amazingly flexible and powerful little language. Its as near a perfect unification of LISP and C++ as you could ask for, all wrapped up in a beautiful async event loop.

    18. Re: Popularity !== Best by jd · · Score: 1

      proc gcdE {a b} {expr {$b==0? $a: [gcdE $b [expr {$a%$b}]]}}

      Tcl is important in this debate as it was an early rival to Javascript, being incorporated into a number of web browsers as opposed to merely being something that could be included.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    19. Re: Popularity !== Best by jd · · Score: 1

      However, if you had access to sufficient libraries for underlying functions and some helper macros, you could program in Python without ever leaving C.

      Or you could use a source to source compiler to translate Python into equivalent C.

      In either case, you get things done, but then have a single environment rather than many. Every interpreter and every standard library you rely on is a potential source of bugs, so if the machine only ever sees one, you've got a major advantage.

      And that's without you, personally, doing anything differently. You'd still write in exactly the same way, it would read to you in exactly the same way, but underneath all of that, your Intel/Green Hills C compiler takes care of it all and generates one set of binaries in a homogeneous environment.

      Maybe there's a reason that's not done at your place, but can you see that there's no technical objection to it?

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    20. Re: Popularity !== Best by jd · · Score: 2

      Not necessarily.

      A language that isn't type safe is inherently going to have a higher defect density unless the programmer is using strict software engineering methodology. It is also less capable of optimizing, as it cannot determine if the constraints necessary are met.

      They also have certain limitations. I'd hate to see the NAG or Netlib libraries rewritten in Javascript. Rewriting OpenMPI or HDF5 in Python might be doable, but would the result be useful?

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    21. Re: Popularity !== Best by jd · · Score: 2

      Any browser that supports plugins could theoretically support other languages.

      https://www.tcl.tk/software/pl...

      Such as this one.

      https://webperl.zero-g.net/

      Or this one.

      But web programmers show no serious interest in either. That could be because of install base, but then that's because of install base and not because the options aren't there.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    22. Re: Popularity !== Best by reanjr · · Score: 1

      Since no one uses those languages for those things, then JavaScript and PHP must be fine languages.

    23. Re:Popularity !== Best by UnknownSoldier · · Score: 1

      Yes, console game devs, HFT (High Frequency Trading), and HPC (High Performance Computing), are some of the exceptions. That's why I put the qualifier: Almost

  8. The web folks embrace new ... by Qbertino · · Score: 4, Insightful

    ... solutions and methods of development within hours.

    I'm a relatively conservative developer in the web camp and it amazes me day in and day out how the web folks just automate away truckloads of menial tasks with some new tool that came along last week. A first look into npm has everyone joking but a second look reveals how they use their tools at hand to automate just about everything and get to go home early every other day. Example: many web centric repos on GitHub are actually used as distribution servers with a completely automated process for end-user software updates attached. And while many would think "OMG, how could you?"this is actually pretty smart. Another thing is this newfangled NoSQL fad which should better be called "We don't do relations and normalization". However, think about how often one-to-many is resolved outside of its original relational trail (almost never) and suddenly these super flat high speed data dumps aren't that stupid an idea.

    Conclusion: That the web camp basically owns and drives development methodologies and PLs these days doesn't surprise me the least and if you're some C++ snob I'd be careful to judge too quickly.

    My 2 eurocents.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:The web folks embrace new ... by Tablizer · · Score: 1

      Another thing is this newfangled NoSQL fad which should better be called "We don't do relations and normalization". However, think about how often one-to-many is resolved outside of its original relational trail (almost never) and suddenly these super flat high speed data dumps aren't that stupid an idea.

      Unless you are a really big org, why can't regular RDBMS be used for the same thing? (And RDBMS are getting "scale-ier" over time.) That way when you do need something that RDBMS already provide, you don't have to reinvent the wheel.

    2. Re: The web folks embrace new ... by jd · · Score: 1

      NoSQL is a very old concept. MUMPS has a hierarchical database built into it. DB4 and GDBM are arguably just as NoSQL as Memcached. OODBMS predate Memcached as well.

      Web developers don't drive anything, just as change directory developers didn't drive the BBS scene, although those were the most common utility.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  9. "Javascript" isn't really just one language by Anonymous Coward · · Score: 1

    The problem with these sorts of studies is that the definition of what a "language" is has changed radically over the past 10 years.

    React, Angular, Vue and other frameworks may have their roots in Javascript, but the programming experience can be radically different and the code may look alien and indecipherable to those unfamiliar with each flavor. If we're going to use the linguistic metaphor of "languages" to describe code, then we must consider these to be new languages as they are not understandable by all "speakers".

    1. Re:"Javascript" isn't really just one language by AuMatar · · Score: 1

      No we don't. That's like claiming C++ for linux and C++ for windows are different languages. An argument like this is just foolish, nobody would agree with that. A language is a set of syntax. A bunch of libraries and frameworks you use doesn't change that. Its still all Javascript.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    2. Re:"Javascript" isn't really just one language by Hognoxious · · Score: 1

      The framework adds its own vocabulary. One has a call for this, another one has a call for that, they both have a call for the other but use different names. Once the frameworks start taking over they might as well be different languages.

      Cockney rhyming slang and valspeak are both technically English, but I suspect speakers of one have trouble understanding the other. Or medical jargon and legalese.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    3. Re: "Javascript" isn't really just one language by jd · · Score: 1

      Is Jython the same language as Java?

      If no, then a hosted language is not the same as the hosting language.

      As for C++, suggest comparing a Visual Studio 6 C++ program or even a VS2015 C++ program with a GCC C++ program, an Intel C++ program or a Green Hills C++ program.

      They are not the same. Those five compilers all support stuff that the others cannot run. Porting between them is a serious pain.

      Even just porting between VS6 and VS2015 is agony. And what's with this "oh, we deprecated POSIX"?

      No, if you don't support POSIX, you're not the same language as is supported on systems that do.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  10. Common misconception by Narcocide · · Score: 1

    ... assuming other languages aren't made out of C++

  11. Flawed metric, IMHO by aglider · · Score: 2

    > the top languages according to the number of repositories created

    In the web and mobile days you will obviously see more and more stuff in PHP, Python, Java and the likes.
    And fewer in C, C++.

    IMHO you'd not even just count *all* projects.

    Because a project like Linux (99.999% C) cannot count the same as a python-based or java-based toy project.

    You'd better count the overall number lines of code. Or, better, the overall number of modified lines of code at any time.

    Then you'd discover the real truth.

    --
    Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
    1. Re:Flawed metric, IMHO by Balthisar · · Score: 1

      Github's defaults probably contribute to this. You have to setup a repo according to Linguist.

      For example, I have a Github repository that's a whole lot of C and Objective-C. However my help documentation is written in HTML/CSS, and uses Apple's JavaScript. There's a little bit of XSLT used for generating documentation, and the end result, if I don't configure Linguist, Github reports my project as being HTML and JavaScript.

      The most important part of the project is pure C, but unless I manually configure things, my repo would be considered JavaScript.

      --
      --Jim (me)
    2. Re:Flawed metric, IMHO by swilver · · Score: 1

      So, you'd favor verbose languages or languages that are so unreadable it's better to rewrite the whole unit?

    3. Re: Flawed metric, IMHO by aglider · · Score: 1

      Bad programming is language agnostic.

      --
      Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
    4. Re: Flawed metric, IMHO by aglider · · Score: 1

      Look around where?

      --
      Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
  12. Like Joe Armstrong used to say by dschiptsov · · Score: 1

    We have completely fucked software.

  13. Re:JAVA What? by AuMatar · · Score: 5, Informative

    Have an Android device? YOu know, the smartphone owned by over 80% of the world? Over 90% of the apps on there are written in Java.

    Work with servers? A large amount of backend webservices are still written in Java. Especially large scale ones.

    It isn't used much for desktop apps, but its used pretty much everywhere else.

    --
    I still have more fans than freaks. WTF is wrong with you people?
  14. Strawman by Hognoxious · · Score: 2

    Nice try, but neither the title nor the article state that those languages were the best.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  15. C++ disappeared up its own backside by Viol8 · · Score: 3, Insightful

    The language is now so large and complicated because the ISO committee just won't leave well alone, that its a virtual cliff face for newcomers to climb in order to learn it. So thats the next generation lost. And even the current generation of C++ coders such as myself have given up learning the latest drafts of esoteric garbage that have been shoe-horned into it by people who clearly have too much time on their hands. I stopped at the 2011 iteration of the language, 2014 and 2017 have passed me by because it appears to be a law of dimishing returns leaning the new stuff and frankly I have better things to do with my free time.

    1. Re:C++ disappeared up its own backside by angel'o'sphere · · Score: 1

      You are lucky that you have projects that use C++11 ... my Java projects usually feel like being stuck around 1995 ...

      Well, lambdas in the new C++ standards are likely a good thing ... but I don't have a full catalog of 2014 and 2017 features in my mind anyway :D (I mean: I don't even remember what all got added, but I always read up the new changes ... double & ... what exactly was that for again?)

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    2. Re:C++ disappeared up its own backside by Viol8 · · Score: 1

      "You are lucky that you have projects that use C++11 ... my Java projects usually feel like being stuck around 1995 ..."

      Thats the problem - you can't just learn the new stuff, you have to learn *everything* because any C++ program you work on might have syntax from the 80s up to the latest draft.

      You have the opposite problem in java - a fairly stable syntax with only useful stuff added now and then, but libraries and frameworks that breed like rabbits with a new one along every year thats going to be The New Way.

    3. Re:C++ disappeared up its own backside by GuB-42 · · Score: 1

      The mistake is to think that you need all of C++, you don't, especially not if you are a beginner.

      You can write C++ like you write C if you want, or on the opposite, go all smart pointer and not write a single "delete" yourself. You can completely ignore templates except for the minimum requited to use the STL (that's if you are using the STL). Not using exceptions is totally fine, a lot of projects don't. And if you want you can use lambdas but no classes.
      Each feature is a tool for a job, but you don't have to use the entire toolbox at once. But it is good to have them for when you are faced with a specific problem, and then you learn to use it, and get better. Ideally, in a team, there should be an expert with a good grasp on what the language has to offer in order to give directions but having a whole team of experts is in no way required.

    4. Re:C++ disappeared up its own backside by angel'o'sphere · · Score: 1

      Well,
      most recently added language features should have been there from the beginning.
      But some SUN idiots claimed: "to beat MS we need to have a simple language" ... so no closures, no templates ... oops we have no generics, and half the planet does not grasp the difference between generics and templates ...

      More is better. Yes. Because the things we have now "more" were a serious lack before. Languages like Kotlin, Groovy, Scala exist for a reason: pure Java simply sucked till Java 9 extremely badly!

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    5. Re:C++ disappeared up its own backside by Viol8 · · Score: 2

      Thats all nice in theory, but in practice in a job you'll be working on all styles of C++ and you DO need to know all of it to be effective. Ditto when it comes to interviews. "Yeah, I'm no beginner but whats dis lambda shit? You not needin that bro!" isn't going to get you a job.

    6. Re:C++ disappeared up its own backside by Viol8 · · Score: 1

      Given that everything in java inherits from Object templates are not required. They were simply put it to keep some purists happy and serve little practical purpose other than to have some errors occur at compile time rather than runtime.

    7. Re:C++ disappeared up its own backside by angel'o'sphere · · Score: 1

      Given that everything in java inherits from Object templates are not required.
      Perhaps you want to read up what a template is. Inheritance and "macros" are two completely different concepts and if used properly work orthogonal.
      Your argument would make a limited amount of sense if Java would work like SmallTalk and had dynamic message dispatch instead of static compiled method calls.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  16. Re:JAVA What? by angel'o'sphere · · Score: 3, Insightful

    Work with servers? A large amount of backend webservices are still written in Java. Especially large scale ones.
    If they are not written in Java then in Groovy, Scala or Kotlin, running on the JVM, using the Java infrastructure like web serves such as Tomcat or Jetty, running big data frameworks/tools like Hadoop, Spark or Cassandra.

    The snobs out there simply don't realize that 90% of their daily computer interaction that involves something else than their own computer or tablet reaches out to backends written (partly or completely) in Java, may it be FB, Amazon, Twitter, or their bank, booking a ticket for a plane or a theatre.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  17. Ruby Decline by coop247 · · Score: 1

    So the programming language for people who dont know how to code isn't doing well. Who would have thought?

    --
    //TODO: Insert catchy phrase
    1. Re: Ruby Decline by jd · · Score: 1

      But then all the other languages for people who don't know how to program are doing well.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  18. Re:Interesting: No C++ by DrXym · · Score: 2
    Vastly more likely is that fewer and fewer C++ projects are starting because its lunch is being eaten by other languages. If speed / memory are not critical then a higher level language (e.g. Java, Python, Go etc.) is more appropriate. And if speed / memory is critical then a language like Rust has a distinct advantage in a number of regards.

    I write C and C++ everyday but if I were contemplating writing something new and without some incredibly good reason I would be hard pressed to convince myself to use either.

  19. They're still not bundled with the OS by tepples · · Score: 1

    Want to learn C? You need a compiler

    There are plenty of C interpreters ... no need for a compiler.

    Let me try to guess what grandparent is really getting at: Neither a C compiler nor a C interpreter ships with the operating system included with most desktop and laptop computers. You typically must install Visual Studio or Xcode.

    Python is not compiled, it is either run by an interpreter or in an REPL environment.

    A Python interpreter does not with the operating system included with most desktop and laptop computers. You typically must download and install Python at Python.org, and a stand-alone executable created by bundling the interpreter, standard library, required third-party modules, and your program was in the tens of megabytes last I checked.

    Javascript easily runs standalone ... just use Rhino or Node or any other JavaScript interpreter.

    Node has the same disadvantage as C and Python: you have to install the interpreter. Both Edge and Safari can run script embedded in a web page, and they are included with the operating system. Besides, what UI library can Node use other than Electron, which is a separate copy of Chromium (Chrome with the proprietary parts stripped out) just for your application?

    1. Re:They're still not bundled with the OS by tepples · · Score: 1

      Most people who already own a perfectly good PC that happens to run Windows aren't going to spend $799 for a new Mac mini to run one application.

    2. Re:They're still not bundled with the OS by angel'o'sphere · · Score: 1

      My Mac came with Python, gcc and PHP preinstalled.
      No idea what a modern Ubuntu will install by default, though.

      Windows ... oh yeah.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    3. Re:They're still not bundled with the OS by tepples · · Score: 1

      First, macOS has for a long time shipped some ancient version of Python, often even older than what Debian or Ubuntu LTS ships. (Ubuntu 18.04 currently comes with Python 3.6.) This has confused users who saw, for example, a SyntaxError when a program uses with (program written for 2.5 -2.6 when macOS was shipping 2.4), a "command not found" when a program's shebang line specifies python3 (Python 3.x when macOS was shipping only 2.x), or await (introduced in 3.5). Users have ended up having to install Xcode in order to use Homebrew in order to use more recent Python.

      Second, as you appear to have ended up realizing, many developers of applications for desktop and laptop computers feel they must support use on Windows in order to remain relevant.

    4. Re:They're still not bundled with the OS by tepples · · Score: 1

      GNU/Linux distros come with Python. macOS comes with possibly outdated Python. But the lion's share of desktop and laptop install base is Windows. Last I checked, Windows came with PowerShell and cscript (a JavaScript interpreter), not Python.

    5. Re:They're still not bundled with the OS by tepples · · Score: 1

      > Python.org installer packages for macOS

      I stand corrected: one can obtain recent Python for macOS the same way one obtains Python for Windows. However, that still doesn't mean developers can count on recent Python being shipped with macOS.

  20. Re:JAVA What? by tk77 · · Score: 1

    It is a nightmare to upgrade and 80% the upgrade breaks the software and you have to work with the developer for a week to fix it.

    My company used to be all PHP and we made the switch to mostly Java a few years ago (we still maintain some php stuff on the admin side). In our experience your statement applies more to PHP then Java. We started at Java 1.6 and are now on 11. It was slightly rocky going from 8->10 but it just involved adding libraries that were split out of the JDK (it took all of a few minutes on Google to figure this out, no where near a week of fixing). Even targeting the latest version was basically just updating the version number in our pom files and rebuilding. Sure some libraries had to be updated but that's pretty normal for any language. The biggest thing slowing us down was switching the GC from CMS to G1GC, and even that wasn't so bad. Just involved a bunch of testing to make sure performance wasn't hit.

    I can understand the issue with purchasing software that may not get updated often and then not being able to update. We haven't purchased much, but of what we have, they all come bundled with their own JRE's which get updated as the software is updated, so that also hasn't been a problem.

  21. Do ISPs still bundle web hosting? by tepples · · Score: 1

    In a web browser? What can you use that isn't JavaScript?

    HTML and CSS. And if you absolutely need interaction beyond link navigation, form submission, and checkbox collapse/radio tabs, you can use any language that isn't JavaScript but transpiles to JavaScript or compiles to WebAssembly. Or you can skip a web browser and provide a set of native applications for the end user to download, optionally audit, optionally compile, and install.

    On an ISP-hosted web server? What do they give you except PHP?

    I wasn't aware that home ISPs were still bundling web hosting now that most subscribers were putting their work in silos such as Blogspot, Tumblr, Facebook, Gab, Twitter, deviantART, and the like. Otherwise you might as well get a $10/mo virtual private server (VPS) from Amazon or any of several other providers and install whatever language you want. Buy your domain and hosting, configure your VPS to run a webserver and get its TLS certificate from Let's Encrypt, and you're set. And if you can't afford that much, third-party shared hosting providers such as DreamHost and WebFaction offer Python and other languages.

  22. Re:JAVA What? by EasyRhino · · Score: 2

    There is a huge amount of server-side application and server code written in Java. Consider all the Java application servers available on the market (e.g. from IBM, Oracle, Red Hat, etc.) in addition to more lightweight servlet containers (e.g. like Apache Tomcat). There's also a huge community around Spring. Java is not dead. Even if all new development on Java stopped now the existing code-base would keep Java relevant for years.

  23. Re:JAVA What? by MightyMartian · · Score: 1

    If you think Java is dead and no one programs in it, then you must have an extremely small circle of programmers.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  24. Misleading by jd · · Score: 2

    There are many ways of measuring popularity.

    Would a thousand copies of a change directory utility be one project or a thousand?

    Would a thousand line tightly-written program that has a million users be considered equal to a thousand line badly-written program with five users including the programmer's mother?

    Does a verbose language get counted the same way as a clean language?

    Does a language that inspires errors and thus fixes count as being as active as a language that inspires trust?

    How would you differentiate fixes from upgrades?

    These are serious questions. You could develop an AI to examine language characteristics, type of use,and unique addresses of downloads, but I see no obvious way to use any such metric and no serious possibility of such a metric being accepted. You'd get just as many arguments.

    We all look at metrics to tell us something profound. In truth, you're going to get a better answer from CowboyNeil.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  25. Re: These aren't programming languages by jd · · Score: 1

    I'd probably not have used quite such coarse language, but ultimately you're correct. A scripting tool is not a language, it is a scripting tool.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  26. Java is perfectly... adequate. by jd · · Score: 1

    If you're developing a web application, use Java if you want people to know what you're doing. It'll be slow but it'll generally work and it'll be portable.

    For faster web apps, you might want to use Wt and C++, but expect it to be hell to maintain.

    For robotics, Java was specifically created with that application in mind.

    So there are domains where you should use it.

    Upgrading us a pain, yes. That's why you put unstable features into a support library. Then you never update the app, you only update the support code.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  27. Re: Grumpy old men stick to Cobol by jd · · Score: 2

    Not really. I just see some impressive circles.

    Python is just BASIC with libraries, just as BASIC is Fortran without libraries.

    Everything old is new again. That's why it's called a revolution.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  28. Interesting breakdown by reanjr · · Score: 1

    Each problem space is likely to settle on its own most popular tool. Java fills the role of megalithic system design suitable for huge teams and projects. PHP dominates at generating web pages. Python has several niches in academia, control systems, and online news media. JavaScript runs the web front end, and also is the goto for writing network code to tie together web services et al.

    New languages need to fill a niche better than the current crop in order to become dominant.

  29. Re: Interesting: No C++ by jd · · Score: 1

    You must also consider age and stability.

    If a program is mostly stable, large numbers of forks are unlikely.

    If a program is very old, it's more likely to be still in a Perforce, Arch, Hg, CVS or SVN repo.

    There are other sites (sourceforge, gforge, bitbucket, gitlab, and so on), which older source is unlikely to migrate from unless there's obvious need.

    And then there's the Microsoft Take-over.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  30. Re: "Just fix the hardware problems in software" by jd · · Score: 1

    Whether or not that's true, you agree that it's a new language albeit hosted.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  31. Re:Healthy Dental by NormalVisual · · Score: 1

    Wonder what this bot was coded in.

    --
    Please stand clear of the doors, por favor mantenganse alejado de las puertas
  32. Re:Interesting: No C++ by labnet · · Score: 1

    You forget the micro controller space where code is 99% C and C++

    --
    46137
  33. Python 2, Python 3, the whole shebang by tepples · · Score: 1

    I think MacOS ships with some scripts that require that older version of Python, so it's really there to support the system, not user development.

    Then it's an implementation detail of macOS, much as msvcrt.dll is on Windows. In any case, it weakens the claim that Apple ships an environment for running downloadable applications written in mainstream Python.

    I still don't get why they didn't make the Python 3 interpreter backward-compatible with a switch at the top of the script.

    Currently #!/usr/bin/env python launches the legacy (Python 2) interpreter if installed, and #!/usr/bin/env python3 launches the modern Python interpreter if installed. On Windows, the .py extension is associated with py.exe, a short program that reads the shebang line and execs the appropriate interpreter as defined in PEP 397.

  34. Re:Interesting: No C++ by DrXym · · Score: 1

    That may be true, but it's kind of a niche. I'd point out that Rust is encroaching there too. C and C++ are not dead by any stretch but they are certainly becoming marginalized in a lot of problem domains.

  35. Oxford comma by slipped_bit · · Score: 1

    I'm just posting to thank the submitter and/or EditorDavid for using the Oxford comma.