back to article If you're writing code in Python, JavaScript, Java and PHP, relax. The hot trendy languages are still miles behind, this survey says

The Python programming language continues to find more fans, having tied Java as the second most popular programming language, according to analysis conducted by IT consultancy Redmonk. JavaScript meanwhile has maintained its position at the top of the chart, as measured by the number of StackOverflow tags and the number of …

  1. Anonymous Coward
    Trollface

    Pfft, languages are for wimps, hand coded assembly is for real programmers.

    1. Anonymous Coward
      Anonymous Coward

      Writing it in raw Hex, of course.

      1. Version 1.0 Silver badge

        I've done that, I always found Hex easier than Octal.

        1. jake Silver badge

          Regardless, if you're not flippin' switches the blinkenlights won't work.

          1. TRT Silver badge

            Huh? Wire-wrap for the win.

            1. Will Godfrey Silver badge
              Linux

              Wire? When we were lads we 'ad to spend all our time re-wetting the string.

              1. Michael Wojcik Silver badge

                String? Luxury! Why many's the night I didn't get a wink of sleep, carrying electrons in buckets from one pin t' another.

                But we were happy, though. It was a simpler time.

            2. Will Godfrey Silver badge

              Wire? When we were lads we 'ad to spend all our time re-wetting the string.

              Sorry about this. I'm getting some really weird behavior from El Reg lately, so I'm never sure which posts have actually been sent

              1. Martin an gof Silver badge

                really weird behavior from El Reg lately

                I know this is wildly off-topic, but for a couple of years now I've been having problems with some websites but not others. ElReg was a notable example until recently where (at home) I could browse without problems, but when I tried to compose a reply to a thread it was pot luck whether the "submit" would complete. DDG image search would only load the first screen full of thumbnails, with the rest being blank. Suddenly, about 6 months ago, everything returned to normal for ElReg but other websites were still a problem - though not consistently. Amazon seemed to go through phases of being perfectly fine and perfectly broken. It was fine in the run up to Christmas (thank goodness) but I couldn't get it to work reliably after Christmas, when there were vouchers to be spent.

                I was putting it down to my peculiar mix of NoScript, Privacy Badger etc. until I did a firmware update on my router where I read in the release notes that the default WAN MTU of 1500 bytes could cause problems with "some websites and services" - see "known issues" on the first page here.

                Resetting the thing to 1492 bytes seems (so far) to have magically cured almost everything.

                The near exact same model of modem at work didn't seem to display the same problems, with the only real difference between home and work being that one has BT as an ISP while the other is with a small ISP which re-sells TalkTalk. I can only assume that there's some bit of kit en-route for one but not the other which caused the problems.

                Sorry, probably not at all relevant to your issue but this thing had been bugging me for a very, very long time and I have been so pleased to find what appears to be a cure...

                M.

                1. TRT Silver badge

                  Interesting... sounds like PPPoA vs PPPoE. You know, it's been a few years since I've had to think about that one. IIRC, a setting of 1452(?) instead should improve things further.

            3. Linker3000
              Thumb Up

              Wire-wrap

              Works for me!

              https://github.com/linker3000/Z80-Board

        2. BillG
          Holmes

          Bah. I once had to program an 8-bit 4KByte OTP MCU without a compiler. I wrote out the assembly, translated it into binary according to the user manual, then to a hex file to burn into the OTP.

          Months later a young programmer decided to write the same application using a C compiler after ragging on me for writing code using "bear skins & stone knives". He got code 20x larger than my assembly that was also too big to fit in the available OTP memory.

      2. Dave559 Bronze badge

        raw hex

        You're giving me horrific flashbacks of some of the more complex type-in programs you used to get in various Sinclair Spectrum mags, which had substantially less BASIC than the typical program, and which mostly consisted of data statements to poke the aforementioned hex values into memory...

        I was simultaneously in awe of but also rather disturbed by the idea that some people's minds worked in such a way that they actually could construct programs at such a low-level (I'll freely admit that when I had to do a course in assembler, although I mostly grokked the concepts, I found it hard going, and certainly wouldn't want to (or be able to) write any sort of complex program that way myself).

        With hindsight, it's probably an indication that those particular programmers were probably somewhat further along the autism spectrum than many. It takes all sorts to make the world (no, not that sort of make world), and I guess it just shows how being "neurodivergent" can nevertheless give people certain skills and abilities that others don't have.

        1. Version 1.0 Silver badge

          Re: raw hex

          Once upon a time you could boot an IMSAI or a PDP by loading the bootstrap in binary from the front panel.

          1. lordminty

            Re: raw hex

            "Once upon a time you could boot an IMSAI or a PDP by loading the bootstrap in binary from the front panel."

            Yeah, and a TI-990. In fact I used to have to do that, from multiple sheets of A4 to load the bootstrap loader that could then read a deck of cards, which loaded a program to do a bit level disk clone backup.

            It was a right PITA when you got a few pages in and then messed up the switches. No choice you just had to start all over again.

            Kids today eh?

      3. Mike 137 Silver badge

        "Writing it in raw Hex, of course."

        That's where I started in the '80s - writing the drivers for a disk stack operating system and patching new functionality into free bytes in application EPROMs. Higher level languages certainly do have advantages. However the proliferation of languages is accompanied by ever greater abstraction. Does anyone care any more about the actual executable code? I suspect very few do, but that's why we have so much bloat and so many bugs. Ultimately, whatever language you used in development it's the bytes that count (unless of course it's Java, where it's the virtual machine that counts).

        But I mostly get concerned about these rankings because they don't take into account the different objectives of programming. I suspect JavaScript dominates solely because of the extent of web development, and C is so far down because in proportion to that not a lot of metal level coding is being done by those included in the sample. A better ranking system would make these distinctions and be able to show relevant preferences.

        1. Michael Wojcik Silver badge

          Re: "Writing it in raw Hex, of course."

          Relatively fewer programmers care about the actual executable code than, say, thirty years ago, because the industry is much larger and a much greater portion of development is focused on highly-abstracted work like web UIs.

          In absolute terms, though, the population of hackers and bit-bummers is still robust. Just read sites like Hackaday or publications like PoC||GTFO.

          Even in my neck of the woods, where we're creating quite large software systems - I work primarily on our mainframe-emulation products, so language runtimes + application server + communications server + emulators + all sorts of application features - teams have to be quite sensitive to low-level issues of performance, resource consumption, isolation, robustness, etc. Those parts of the industry may not get the attention of the latest Javascript frameworks or container-orchestration techniques, but they still exist.

    2. Andrew Moore

      Assembly??? Pffffffft- that's what people who can't do Machine Code use...

      1. AndrueC Silver badge
        Joke

        Meh. I use an atomic force manipulator integrated into an scanning electron microscope and modify the RAM and CPU register contents myself.

        1. Anonymous Coward
          Anonymous Coward

          now you're just being silly

        2. Michael Wojcik Silver badge

          You use a physical computer? I just write down a Turing-complete formulation and reduce the problem at hand to one that's known to already be solved.

    3. Spamfast

      What's all this digital nonsense?

      I can wire you up something to solve your problem using a few op-amps and passives - and it'll draw a fraction of the power.

      1. F Seiler

        Nice!

        Apart from the IoT model with wireless REST HTTPS API, do you also offer a HPC variant - maybe as PCI express add-in card with freeBSD, Linux and Windows drivers and SDK with C API and python bindings?

        1. Spamfast

          I can send you a 16mm cine film of the galvanometer readings if you send me a self-addressed jiffy bag.

    4. Anonymous Coward
      Anonymous Coward

      Irony

      That the top 4 are baby languages never intended for anything sophisticated.

      1. joeW

        Re: Irony

        I'm reminded of a famous StackOverflow answer to the question, "What's the difference between Java and Javascript?"

        "One is essentially a toy, designed for writing small pieces of code, and traditionally used and abused by inexperienced programmers.

        The other is a scripting language for web browsers."

        1. streaky

          Re: Irony

          Ouch. Also completely true.

    5. Ima Ballsy
      IT Angle

      LOL ....

      THis thread reminds me of:

      https://xkcd.com/378/

    6. Sgt_Oddball Silver badge
      Gimp

      But true masochists...

      Do it in Regex.

      (I know it's not Turing complete, but I'm sucker for punishment)

      1. AdamWill

        Re: But true masochists...

        pfah, try doing it in wikicode...mediawiki with https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions is similarly close to Turing-complete, but has the exciting bonus of significant whitespace! no indentation for you, sucker.

        (OK, so then they invented https://www.mediawiki.org/wiki/Extension:Scribunto , but that's way less 'fun'!)

      2. Michael Wojcik Silver badge

        Re: But true masochists...

        True regexes aren't Turing-complete (they're equivalent to DFAs), but those "extended" regexes that soft modern programmers are so fond of are.

        Of course a real programmer knows that any physical implementation of a Turing Machine has finite storage and thus is no more powerful than an exponentially larger DFA, so the distinction is really a hardware problem and of no concern to programmers.

    7. bombastic bob Silver badge
      Trollface

      ASSEMBLY? How about BINARY MACHINE CODE!!! And no keyboard - you have to toggle in the 1's and 0's.

      1. Boris the Cockroach Silver badge
        Angel

        When I were a lad , we could'nt afford 1's , so we had to make do with 0's

        Anyway you're not a real programmer if you have never programmed a multi-spindle mill/turn with intergrated robot loader/picker.

        Get that wrong and its a little more expensive than "unknown exception at 1452:56" (and dangerous..... tear the arm off and having it spin round at 4000 rpm sure does make you change your pants ).....

        1. Anonymous Coward
          Anonymous Coward

          I have programmed a control system for a tank cupola.

          Always at the back of my mind was the large piece of inch thick nickel steel welded round the back to deal with the possibility that a bug might cause it to try to rotate more than 180 degrees each way, and the big dents in it, a legacy of the previous programmer. Having your legs taken off by the breech was at least possible.

          That is the kind of case in which assembler, and check the machine code before running live, seemed like a good idea.

          1. TRT Silver badge

            "Always at the back of my mind was the large piece of inch thick nickel steel..."

            Literally.

            1. Anonymous Coward
              Anonymous Coward

              You are assuming that I got to test mods first.

              You are correct.

              If the same approach had been applied to Boeing programmers things might have been different.

        2. jake Silver badge

          You had 0s? Luxury!

          When I were your age, we had to make do with nowt but Whitespace.

          Tell that to kids today ...

      2. Will Godfrey Silver badge
        Facepalm

        Very many moons ago a friend of mine did an OU computing course, and that is exactly what he had to do as part of the course.

        1. Boris the Cockroach Silver badge
          Devil

          If he did the distributed/concurrent computing module, sneak up behind him and say "Jean bacon is the best tech writer ever"..... hopefully he'll still be your friend after the tears and the twitching stops...

    8. Andy 73

      C9 RET

      Burned into my memory

  2. lordminty

    COBOL

    Wot no COBOL?

    Surely in terms of lines of code in active service, COBOL is still leader of the pack?

    Are these languages actually popular, or is this survey of forums a measure of just how unskilled younger code monkeys are, or how user hostile and illogical the 'top' languages are?

    Anyway, you're not really a programmer until you've had to hand code IBM mainframe assembler just to get the system to IPL. Somehow I dont see any Javascript/Java coders going near that.

    1. Anonymous Coward
      Anonymous Coward

      Re: COBOL

      Maybe COBOL developers don't go to StackOverflow the minute they have a problem :D

      1. Andrew Moore

        Re: COBOL

        "Maybe COBOL developers don't go to StackOverflow the minute they have a problem"

        I think that's because their computers lack internet access... IPv4... graphical displays...

        1. jake Silver badge

          Re: COBOL

          I think it's because they are making sure you get paid regularly, and thus don't have time to play with the kiddies.

        2. lordminty

          Re: COBOL

          "I think that's because their computers lack internet access... IPv4... graphical displays..."

          Pah, I was installing the quaintly named Transmission Control Protocol/Internet Protocol on IBM MVS mainframes back in 1991 before it was even an official IBM product for MVS.

          Oh, and we used IBM-compatible PCs (remember them?) running Attachmate 3270 emulator, so arguably we had a graphical display too.

          1. Loud Speaker

            Re: COBOL

            We used IBM-compatible PCs (remember them?) running Attachmate 3270 emulator, so arguably we had a graphical display too.

            Presumably with CGA - "Crap Graphics Adaptor" - I doubt IBM would have given you Herculeses.

            (I wrote a 3270 emulator for the BBC Model B)

            Error at or near line1, column 1

      2. cschneid

        Re: COBOL

        Most of the StackOverflow COBOL questions seem to be from students.

        Two former co-workers were telling me a story about one (a 30 year COBOL veteran) working his way through some CICS COBOL code that used raw sockets to talk to an external provider, with the other (a 20 year Java veteran) looking over his shoulder. The Java vet was having no trouble keeping up with the COBOL vet, somewhat to the mild annoyance and impressed surprise of the COBOL vet.

        COBOL is just another programming language. It's not hard to learn, it's not hard to understand, it's just out of fashion despite being really good for its problem space.

        You don't write a regex engine in COBOL. You don't implement the Quicksort algorithm in COBOL. I mean, you probably could, but that's not its problem space so just don't.

        If you're VISA or American Express doing OLTP and you need serious speed, reliability, recoverability, and securability then COBOL and CICS on a z15 are your jam.

        1. Richard Plinston

          Re: COBOL

          > You don't implement the Quicksort algorithm in COBOL.

          I have done that, in CIS COBOL on 64Kb CP/M. While COBOL does have a SORT verb, at the time it only worked on files and the program needed an array sorted. Since the mid 80s SORT has worked on arrays.

          > but that's not its problem space so just don't.

          Sorting is very much part of COBOL's problem space.

          1. Michael Wojcik Silver badge

            Re: COBOL

            Yeah, Quicksort in COBOL isn't bad.

            I implemented MD5 in COBOL; that was a bit more of a hassle. Still doable, though.

            In any case, as Kolmogorov demonstrated, all Turing-complete programming languages are not only equivalent, but in fact can express any given computable function in a program of at worst the same size plus a relatively small constant - the constant in question being the size of an interpreter for another language.

      3. Munchausen's proxy
        Windows

        Re: COBOL

        "Maybe COBOL developers don't go to StackOverflow the minute they have a problem :D"

        These days, it's more like "... the minute they want another problem."

    2. Charlie Clark Silver badge

      Re: COBOL

      Are these languages actually popular, or is this survey of forums a measure of just how unskilled younger code monkeys are, or how user hostile and illogical the 'top' languages are?

      What's the difference? The answer is both, though RedMonk prides itself on the quality of its data sources. Newer languages that address specific domains tend to be more popular and attract more interest and questions.

      COBOL is all over the place but I'm not sure how much training, questions, etc. it's producing.

      1. Michael Wojcik Silver badge

        Re: COBOL

        How can the answer to three alternatives be "both"?

        In any case, the OP's question is answered by the article, which discusses the RedMonk methodology. Their survey measures the frequency with which languages appear in two domains: StackOverflow and GitHub. That's what it tells you. Whether you want to interpret that as "popularity" is up to you.

        Personally, I don't think "popularity" is a particularly interesting metric in pretty much any domain.

    3. jake Silver badge
      Pint

      Re: COBOL

      I have no idea about pack leaders, but I do know for a fact that I do not know any proficient COBOL programmers who have issues finding work with better than decent pay, benefits and working conditions. I can say the same for Fortran. I can not say the same for any other language, but perl and C/C++ come close. (Many/most jobs that claim to be C++ are actually good ol' C ... but that's a rant for another day.)

      Assembler is handy to have a functional handle on, especially in the embedded world, but that's becoming a specialized field these days. Still, it pays well if you can find a niche to fit into.

      If I buy a round will you stop calling me Shirley?

      1. Mike 125

        Re: COBOL

        >(Many/most jobs that claim to be C++ are actually good ol' C ... ... but that's a rant for another day.)

        It's a worthwhile rant. 'C/C++' is usually a bad indicator for an advertised job. The *appropriate* use case for each is (correctly) very different. OTOH, if it's just a C++ compiler constrained (caged!) to C, that's fine.

        It's one of the first questions I ask these days. The answer reveals a huge amount about whoever's doing the interviewing/ advertising, although not necessarily much about the actual job!

        1. Wayland Bronze badge

          Re: COBOL

          C is a very useful language as an upgrade or interface to assembly language say in small embedded systems. I was using C on a Z80 based embedded system and it was a lot easier than assembler we had been using. C++ is trying to be a proper high level language and there are much better ones for that job.

          1. lordminty

            Re: COBOL

            "I was using C on a Z80 based embedded system and it was a lot easier than assembler we had been using."

            Z80 assembler isn't difficult! You need to try IBM mainframe assembler.

            1. Michael Wojcik Silver badge

              Re: COBOL

              I don't think 370/390/z assembly is particularly difficult. It's not quite as luxurious as, say, VAX assembly, or the TI 64030; but it's a damned sight easier than some of the early RISC instruction sets (simply because they were deliberately constrained and thus made you do a bunch of "extra" work) or Itanium (because writing VLIW instructions by hand is pretty awful, and Itanium has pitfalls for the unwary like trap representations for registers).

      2. disgruntled yank Silver badge

        Re: COBOL

        @jake:

        "I do not know any proficient COBOL programmers who have issues finding work"

        I believe you, but at this point all the COBOL programmers I know are retired..

      3. Michael Wojcik Silver badge

        Re: COBOL

        There's still a lot of legacy 370/390/z assembly application code running on IBM z mainframes, too, and it needs maintenance. We see a fair bit of that at customer sites.

    4. Anonymous Coward
      Anonymous Coward

      Re: COBOL

      "Surely in terms of lines of code in active service, COBOL is still leader of the pack?"

      Likely, yes, but this survey was about produced code. So, not a surprise Cobol is not here, since you even have people in their 50s for which Cobol was already history when they started.

      Of course, its usage got a surge during Y2K, but most people used to it are now retired, therefore low usage.

      1. Wayland Bronze badge

        Re: COBOL

        I'm 55 and when I was a lad we used C and looked down on COBOL as from the stone age. Now I appreciate that different languages are focused on different jobs. C is close to the hardware which is what you want when programming hardware. COBOL is about processing business data and assumes all the technical stuff about the machine it's running on has been handled already. Trying to write business software in C is horrendous because C can do almost nothing without a library. Calling library functions in C is messy.

    5. a_yank_lurker Silver badge

      Re: COBOL

      They missed FORTRASH also. In reality, the 'rankings' give an idea about which languages are popular in large areas but not all. It's not perfect but it gives an idea of what languages might get you a job.

      1. This post has been deleted by a moderator

        1. Richard Plinston

          Re: COBOL

          > lots of dinguses asking stupid questions...

          Yes. These types of rankings may actually list the number of programmers who don't know the languages (ie counting questions asked) or by counting the number of empty desks where currently no one is programming (ie job ads).

      2. lordminty

        Re: COBOL

        "They missed FORTRASH also."

        Yeah, FORTRAN is one of the few languages I've coded where I can claim my work has got a mention in a history book about the company that sold the software to big customers and created an industry from it.

        Actual rocket science.

    6. AdamWill

      Re: COBOL

      From the article:

      "Redmonk's biannual survey of programming language popularity makes no pretense at being a definitive ranking of worldwide popularity or overall industry usage. It's simply a measurement of available data that provides a sense of language trends."

      so, yeah, that.

  3. Dan 55 Silver badge
    WTF?

    Fuchs-ya

    Currently, the operating system can be installed on a 64-bit Intel machine with at least 8GB of RAM, though it's in an unfinished state

    8 Gb of RAM to run a mobile operating system? Something's wrong when any OS, let alone a mobile OS, out-bloats Windows.

    1. This post has been deleted by its author

      1. Dan 55 Silver badge

        Re: Fuchs-ya

        TFA says Go and Rust.

    2. thames

      Re: Fuchs-ya

      That will be the amount of RAM to run the compiler on the host, not to run the resulting Fuscia operating system Most of that will likely be taken up by tables of optimisation data which must be kept live during the build.

      This is not an unusual for large software projects which are compiled from source.

      1. Dan 55 Silver badge

        Re: Fuchs-ya

        I did not click through and took "installed" to mean "installed", not "compiled". Oddly enough now that I've done that the build instructions don't really mention the requirements for running the OS.

        You can run the build on a Pixelbook which has 16Gb of RAM and 512Gb of storage, which is worse than the build machine.

        I am aware of xkcd 303, yes.

        1. eldakka Silver badge
          Coat

          Re: Fuchs-ya

          You can run the build on a Pixelbook which has 16Gb of RAM and 512Gb of storage, which is worse than the build machine.

          That's not bad, 2GB RAM and 64GB storage is pretty constrained these days even for a phone.

          1. Mike 137 Silver badge

            "2GB RAM [...] is pretty constrained these days even for a phone"

            OK, Try a PIC 18F4xxx device - 64kB code space (32k instructions). It's amazing how much you can do in that space with a good optimising C compiler - e.g. TCP/IP over Ethernet plus space to do real work along side. Microchip even provide a ready made library for this.

            I use these devices to create lab instruments and they're typically all that's needed. Just for example, consider the resources used by a Raspberry Pi to do the same job. No aspersions on the Pi - it's just much more complicated than necessary for tasks like this. Simple code has a better chance of being robust and bug free, and sometimes that matters - like when an instrument losing itself live can blow up other kit.

            1. Wayland Bronze badge

              Re: "2GB RAM [...] is pretty constrained these days even for a phone"

              Exactly. A PI is a full blown general purpose computer. It has everything you'd expect from any computer including a file system, networking and a GUI. A PIC is just a processor, RAM and IO. You use firmware to operate the hardware. On a PI you use the hardware to support the software.

            2. eldakka Silver badge

              Re: "2GB RAM [...] is pretty constrained these days even for a phone"

              If you notice the icon, and read the post in relation to @Dan 55's post, the reply is more playing with the fact that @Dan 55 used 16Gb and 512Gb, which is Gigabits, for a notebook, a Pixelbook, which translated into GigaBytes is 2GB and 64GB. Whereas they probably meant - but typo'ed - 16GB and 512GB.

          2. Wayland Bronze badge

            Re: Fuchs-ya

            The operating system would need to be really really useful to require virtually the whole machine's capacity. The idea of the OS is to support the application programs which are the whole point of why you have a computer, not the OS.

  4. Version 1.0 Silver badge

    Failure wins?

    JavaScript meanwhile has maintained its position at the top of the chart, as measured by the number of StackOverflow tags - and what does StackOverflow indicate? Essentially, being at the top of the StackOverflow chart means that people have questions and problems and can't get stuff to work so they post on StackOverflow to complain and plea for help.

    1. Anonymous Coward
      Anonymous Coward

      Re: Failure wins?

      Firstly there is no java in javashit. It's just plain old shit. And Stackoverflow is where the kiddies go and ask their homework questions so all the stats show is that it is the most taught language.

      1. werdsmith Silver badge

        Re: Failure wins?

        Usually on StackOverflow the question has already been asked and answered and will be returned by a well tuned search engine phrase. I suspect that most people, like me, use StackOverflow for a bit of help, but never contribute a question or answer one.

        1. Drew Scriver Silver badge

          Re: Failure wins?

          Most people don't even realize that it makes a difference how the search phrase is constructed. Even if they did I doubt they'd be able to create a well-constructed, effective search term.

          "how do u make python giv ppl a differant anser if ur string is differant from what ppl xpect it 2 b" (sic)

          vs

          "ternary"

      2. Anonymous Coward
        Anonymous Coward

        Re: Failure wins?

        "... so all the stats show is that it is the most taught language."

        ... so all the stats show is what language has the most incompetent programmers.

        FIFY

        1. This post has been deleted by a moderator

    2. thames

      Re: Failure wins?

      What these sorts of lists are intended to do is to sort out are overall trends rather than fine gradations. If you see that language 'x' is backed by a big promotional budget by some company but isn't cracking the top 20 after 5 years then you know it is seeing very little real world adoption outside of the original backer.

      Once you get out of the top 10 in any of these lists you are down into a very statistically noisy area as you are talking about low single percentage point adoption rates or less. If you want to be ahead of the adoption curve for new technologies (e.g. you're looking get in on the ground floor for the next set of lucrative consulting gigs with trendy new technologies) then you need to look at what might drive adoption still higher rather than just current ranking level.

      For example the Redmonk post itself suggests that Go seems to have reached its natural ceiling in the mid teens (so not that relevant) with nothing to drive it higher at this time. On the other hand, Dart is just below the top 20, but has been rising rapidly based on the new Flutter UI toolkit, and so might be a language to keep an eye on as an alternative to something like Electron.

    3. SVV

      Re: Failure wins?

      The fact that CSS is a more popular "programming language" than C according to the list seems to be empirical proof of this. To be able to develop software in C or C++ you really have to know the language and have a solid grasp of all the fundamental concepts of what programming is all about. It just isn't sustainable to try and wing it by copying and pasting fragments from Github and Stack Overflow. Hence the fact that the vast majority of programmers in those languages are able to work out the solutions to problems themselves.

  5. thames

    Java tied for #2

    Larry over at Oracle might really want to think about how being tied for #2 after having been #2 for so long is generally followed eventually by being #3 and then #4, etc., If he wants "his" language to remain relevant in future, he has to find ways of building partnerships with the parts of the IT industry that are actively growing, such as mobile.

    Or perhaps he doesn't care, and just looks at Java as being another "legacy" asset to be milked for cash ruthlessly before being discarded and replaced by some other new acquisition.

    I've drawn my own conclusions based on his actions and will plan accordingly.

    1. bombastic bob Silver badge
      Meh

      Re: Java tied for #2

      The Java language has been #1 on the TIOBE index for a LONG time, occasionally trading places with 'C'. And somewhere WAY down the list, is C-pound... pathetically trying to stay RELEVANT.

      And... because of the HUGE discrepency between TIOBE (which I trust) and THIS list (which I'm skeptical of), I have to wonder who's money is behind THIS one... (stack overflow is an indicator of people having problems, not whether a language is being used by competent developers).

      I mean C-pound being MORE POPULAR than C or C++??? Wishful thinking, for sure!

      A simple summary of TIOBE: #1 is Java, at 17.4%, followed by C at 16.8%, then Python at 9.3%, C++ at 6.2%, and *THEN* C-pound at an unusually large number of 5.9% (I recall it's usually below 5%, down in the low 4's). But C-pound has its occasional spikes. Average over time since 2014, close to 4%.

      So the REAL popular languages have been that way for a LONG time. Java, C, C++, and even Python. Other scripted languages (like PHP and javascript) remain relevant, and ".Not" crap bounces around but remains relatively LOW compared to "the others".

      So for a n00b programmer looking for a language to master, consider Java, C, C++, and Python. And if you are a project manager, and want to develop projects using one of those 4 languages, it's a safe bet you'll find competent coders to do the work.

      post-note - went to redmonk site, saw light grey on blinding white with tiny font web page layout, and it became obvious: the people doing this are ALL UNDER 30!! Because anyone over 40 would have a VERY hard time reading that...

      1. RyokuMas Silver badge
        FAIL

        Apples, oranges (or "lies, damn lies and statistics")...

        "And somewhere WAY down the list, is C-pound... pathetically trying to stay RELEVANT

        According to their site, The [TIOBE] ratings are calculated by counting hits of the most popular search engines. (see the "Ratings" section near the bottom). So TIOBE enter +"[language name] programming" into various search engines and count the results.

        Whereas RedMonk extract their results from Github and Stack Overflow - in their own words, they are trying to rank based on code and traction.

        Hands up who remembers the early days of SEO, when keyword stuffing was still a thing? Okay, search engines are a lot better now, but when you're doing a spider of a results set, that's all the results from the most relevant to the least, and potentially a lot of historical data too - Google-searching for "C++ programming" and jumping to the last page revealed a 2007 book, for example...

        Whether or not TIOBE's system is clever enough to remove these sort of results - well, I can't say. Similarly, I've no idea exactly how clever RedMonk's system is, although since pull requests and Stack Overflow posts/replies have datestamps, I'd imagine they'd filter out historical data. The point is that comparing these two ranking systems is like comparing apples with oranges. And, as TIOBE themselves point out:

        "It is important to note that the TIOBE index is not about the best programming language or the language in which most lines of code have been written"

        So maybe over the last two years more pull requests have been submitted and more Stack Overflow questions have been asked regarding C# than C++ - again, I can't answer that. But given howls of derision when Microsoft bought out Github, and that C# is primarily a Microsoft language, I can see how the knee-jerk "because it's Microsoft" brigade might not be committing so many lines to Github any more.

        Ultimately, it's possible to twist any form of statistics when presenting them: for example, it's very easy to say "ah yes, C# only gets a 4% rating on average", and conveniently overlook the fact that on C# has on average ranked in 5th position on the TIOBE index for the last decade (see the "Very Long Term History" section). I guess it all depends on how strongly the person posting FEELS (as opposed to how rationally they THINK).

      2. Anonymous Coward
        Anonymous Coward

        Re: Java tied for #2

        C pound? It's obviously C++++ (spoken cplusplusplusplus)

    2. Richard Plinston

      Re: Java tied for #2

      > #2 for so long is generally followed eventually by being #3 and then #4, etc

      The ranking is based on the number of people asking questions. To bring a language back to number one just put out a new release with lots of new features that programmers will want to try to use.

  6. karlkarl Silver badge

    "Given that Dart is one of the approved languages for Fuchsia app development, it could become more popular still if and when Google releases a stable, consumer-oriented version of the operating system"

    Not sure, we will probably do what we have always done and sidestepped whatever stupid domain specific language they want us to use for their silly apps and just keep with C and C++ whilst we port our software badly to "yet another non-standard platform" ;).

    It is interesting how these languages differ from the TIOBE index. Do you rekon there are more web developers on stack overflow or just that they ask more questions?

    1. thames

      With respect to the TIOBE index, they use a different methodology drawing from a large number of search engines. As an example of how this can make a difference, if you look at TIOBE's historical graph you will see a huge shift back in 2004 when they made a major change in how they determined the rankings. You can see that over time they are not necessarily even consistent with themselves.

      Redmonk on the other hand use a much simpler method with only two data sources. However, their methodology does try to distinguish between languages that are talked about versus languages that people are actively writing code in.

      TIOBE sell access to their raw data set, so they have an incentive to make it as big and complex as possible.

      Neither method is really "correct" in the sense of counting how much code is being written in which language, but they do provide a general idea of which languages are all hype versus which ones are seeing actual use, and they give an idea of overall trends.

      On either list, once you get out of the top 10 you are looking at languages which are not seeing widespread current use outside of niche applications or else are on their way out.

      1. Anonymous Coward
        Anonymous Coward

        > TIOBE sell access to their raw data set, so they have an incentive to make it as big and complex as possible.

        If I were a customer then I'd want relevancy and comprehensivness. Why buy bad data?

    2. anonanonanon2

      "Not sure, we will probably do what we have always done and sidestepped whatever stupid domain specific language they want us to use for their silly apps and just keep with C and C++ whilst we port our software badly to "yet another non-standard platform" ;)."

      Ah, one of the people responsible for the abomination they call QT for mobile

  7. Spamfast
    WTF?

    What?!

    Where the hell are Malbolge & Brainfuck?

    1. Anonymous Coward
      Anonymous Coward

      I wondered that,I was expecting BrainFuck to rank above Haskell. Which does show how stuck in the mud I was before I retired. I don't know any of the new languages, and, increasingly, I wonder what purpose they really serve other than keeping academics and training companies in business.

      1. Spamfast

        I wonder what purpose they really serve other than keeping academics and training companies in business.

        As the kids almost certainly don't say, "Preach!" *high five*

        I struggle to understand the point of Haskell, Typescript or type hint notation in Python.

        The whole point is loose typing - it's up to the callee to decide what to do with the arguments.

      2. thames

        Technology changes, the market changes, the economics change, and software tools need to change along with them.

        In the end, decisions have to make sense from a business perspective so you have to balance hardware costs with development costs and time to market. As more and more computing devices have come into use in more and more places, the number of niches which need to balance those factors in different ways has also increased. The result has been newer languages which fit those application niches better.

        There has also been a general trend away from the proprietary languages or language dialects of a few decades ago to open source languages. I'm sure you remember for example the proprietary 4GL languages which were supposed to, if you believed the salesmen, take over the market, but which faded from the scene along with the companies that owned them. The proprietary languages have been nearly entirely replaced by open source alternatives as the latter have nearly frictionless adoption paths which lead directly to the people who use them.

  8. james_smith

    Since when has CSS been a programming language?!?

    1. Anonymous Coward
      Anonymous Coward

      https://stackoverflow.com/questions/2497146/is-css-turing-complete

      1. Brewster's Angle Grinder Silver badge

        Everybody is dissing stackoverflow. But that's an example of a page with a couple of really good answers.

        1. Anonymous Coward
          Anonymous Coward

          I'm not dissing StackOverflow. There are some very very clever people contributing to the site, as for example the posts quoted above, and it is very useful

          What we're pointing out is that garbage input data produces garbage results, whatever the media.

          At most, this study shows an estimate of how many people are learning a particular language,

          Certainly not how popular a language is to write production code.

  9. andy 103
    Meh

    JavaScript isn't just client side anymore

    Some observations:

    1. JavaScript - this isn't used purely client side anymore. Node.js amongst other things use server side JavaScript.

    2. Python - trendy, used for "AI" (whatever you think that means). A bandwagon on which many people wish to jump, at the moment.

    2. Java - marmite. Serious shortcomings for web applications, albeit useful for other things. Probably going to be around a while especially given the number of legacy things that have been written in it.

    4. PHP - for years has been used to get around Java's shortcomings in the web application arena. Opinions vary as to how well it does this. PHP doesn't necessarily need a web server (scripts can be executed through a CLI) therefore can be - and is being - used to do all kinds of server side processing.

    The quantity of posts on Stack Overflow is pretty meaningless. I'd be very surprised if it wasn't JavaScript at number 1 given the myriad of frameworks and technologies that now rely on it. Often documented badly, hence the number of questions.

    1. Spamfast

      Re: JavaScript isn't just client side anymore

      Java client-side is a dead end security nightmare.

      Java server-side always ends up being some sort of oh my god I need ten times the compute resources crazy town.

      Java should be taken outside the back of the shed and put down.

      Or if a place is infested, nuke from orbit.

    2. Anonymous Coward
      Anonymous Coward

      Re: JavaScript isn't just client side anymore

      I love PHP. Just sayin'

      1. Spamfast

        Re: JavaScript isn't just client side anymore

        Upvote because in a former life I used to consult on web app development and I found LAMP (or preferably LAPP) way better than, say, ASP/SQL-Server/IIS.

        But I've come to the conclusion that for net server stuff Python is much better. The syntax especially variable notation in PHP feels very clunky these days. Too reminiscent of trying to write production code in bash or Perl.

        I've not tried but Javascript, Ruby etc are probably nice too - anything with sensible syntax and low amounts of punctuation.

        I'm very jaundiced about a lot of the frameworks for JS/TS though - a gazillion lines of boilerplate code just to do the web equivalent of "hello, world" seems a bit OTT.

        But then I come from a 1980s and/or embedded viewpoint - when you care about the RAM & bandwidth you get a bit antsy.

  10. LeoP

    Collecting a few downvotes

    First of all: I appreciate StackOverflow

    This stems to a big part from those nasty bastards that pay my bills: The customers. A lot of our work is replacing outdated/buggy/no-longer-suppported/whatever systems and applications with something more robust that runs on a sane foundation (for varying values of sane). This often includes having to dip into the other system deep enough to make migration easier or sometimes even feasable. StackOverflow has this knowledege.

    As a thank you, I tend to answer a selected "hard" question from time to time - quid pro quo.

    Now the second flame war: There is no inherently bad programming language - and if there is, then neither JS nor PHP. It might be (and likely is) true, that the perceived easyness and accessability of the pair produces an out of proportion amount of inexperienced or just bad developers, but I consider it unwise to blame this on the languages. We create a lot of PHP - but we (at least try to) do it in a sane, controlled and responsibe way.

    I do on the other hand know from personal experience a metric shitton of C{,++,#} code that should never have been allowed to leave the dark cave it was conceived in. And don't get me started on 100MB+ Java processes doing basically a "Hello, World".

    Languages (and more important: Runtimes) are tools. Tools help. Tools do not replace skills.

    1. Anonymous Coward
      Anonymous Coward

      Re: Collecting a few downvotes

      "And don't get me started on 100MB+ Java processes doing basically a "Hello, World"."

      We seem to have met the same awful programmers.

      I encountered one who, when he got stuck (which seemed to happen daily) would start extending classes and adding interfaces to simple things (and probably a Factory) until it was turtles all the way down but he still didn't know how to implement the simple bit of business logic needed. And then he read somewhere that Exceptions were bad things and started trying to eliminate them...

  11. ibmalone Silver badge

    Compiled into Javascript

    "The language, which can be compiled into Javascript."

    Compiled into Javascript.

    Compiled into Javascript.

    Truly, the end times are upon us.

    1. This post has been deleted by its author

  12. Tail Up
    Trollface

    Russian, where?

    Trendy, says you?

    23:16, March 2, 2020 Source: Interfax Reliable source

    Russian President Vladimir Putin submitted draft amendments to the Constitution to the State Duma, Vyacheslav Volodin, speaker of the lower house of parliament, said.

    The draft amendments to the State Duma *database* at the time of writing the news had not been published, but Volodin spoke about some of them.

    So, according to the State Duma speaker, one of the amendments to the Constitution is proposed to add a mention of God. “The Russian Federation, united by a thousand-year history, preserving the memory of the ancestors who transmitted to us the ideals and faith in God, as well as the continuity of the development of the Russian state, recognizes the historical unity of the state,” Volodin read the text of the amendment.

    Another amendment, said Peter Tolstoy, vice speaker of the State Duma, states in the Constitution that marriage is a union of a man and a woman.

    In addition, the amendments proposed by Putin suggest that the Basic Law stipulate that Russia is the legal successor of the Soviet Union, add a provision on the inadmissibility of alienation of parts of the Russian Federation and appeals to it, as well as give the republics the right to establish national languages ​​as state languages ​​along with Russian-state language of the Russian Federation.

    GOOG translated, sry folks, load up ur guns, whatchamaythink of it?

    1. Anonymous Coward
      Anonymous Coward

      Re: Russian, where?

      Those LGBT downvoters...

      (are these the average qty of those of the readers of ElReg?)

      1. jake Silver badge

        Re: Russian, where?

        I didn't downvote it, mainly because I rarely give a thumb about anything ... however, I seriously doubt the thumbs had anything to do with LGBT-anything. I suspect those downvotes were because the rambling pseudo-treatise is completely non sequitur, and not in a good way.

        1. Tail Up
          Pint

          Re: Russian, where?

          " I rarely give a thumb about anything" (-:

          Thank you wholeheartedly for participating, jake, I normally don't give a thumb in the icon field, so have one where it's supposed to be [click Upvote], and

          cheers!

  13. Anonymous Coward
    Anonymous Coward

    Javascript !!!

    Javascript...is that even a language.

    All those fad, no need to think languages.... yet deep down in their core, hidden away, there is always c.

    1. Anonymous Coward
      Anonymous Coward

      Re: !!!

      how DigiRomeAntIQ, anon

  14. Anonymous Coward
    Anonymous Coward

    So popular!

    Sadly, my employer has chosen the most popular Java web service framework on StackOverflow. They lack the experience to know that it's popular because nobody can get the old bloated mess working correctly or efficiently. More modern Java web frameworks have mostly RTFM solutions and no magical features needing superstitious tech support.

    1. Anonymous Coward
      Anonymous Coward

      Re: So popular!

      It is a bit like deciding to buy your new car from the main dealer that has the largest service department.

      1. jake Silver badge

        Re: So popular!

        The largest service department ... populated by 22 year old factory trained Chevy mechanics who wouldn't know the first thing about diagnosing a Ford or a BMW,

  15. Will Godfrey Silver badge
    Linux

    Missing?

    What about GUI toolkits - they use their own languages (in all but name). It's the only way the vast majority of users interact with computers, yet there are only a handful... and they're all pretty dire :(

  16. Anonymous Coward
    Anonymous Coward

    An engr. one will be for a good memory, while, well... just something to follow is a must have. I just feel so.

  17. RegGuy1 Silver badge

    Python and the minus in a filename

    I've had a look at Python but could never work out how to include the minus in a filename. I hate the underscore, and am so used to the fluidity of typing a minus. For example, I find this-is-a-file-name.txt easier to type than this_is_a_file_name.txt. Yet I've never been able to get Python to allow me to do this. Is it really forbidden? I know some numpty said we don't like it but if you are going to go out of your way to stop me coding the way I want, I'm going to ignore you, thanks very much.

    But the core question to me is, can you use a minus?

    1. ibmalone Silver badge

      Re: Python and the minus in a filename

      camelCaseAndStopWorrying

      (Yes I do get bitten by this when I name a file without thinking. Essentially it's not to do with file names, but to do with valid identifiers, as imported filenames are namespace names. a-b is not a valid identifier in C either, or most other sane languages, so I guess you can't always code the way you want after all. To bring it back on topic, stack overflow has some advice if you must do it https://stackoverflow.com/questions/8350853/how-to-import-module-when-module-name-has-a-dash-or-hyphen-in-it)

      1. RegGuy1 Silver badge

        Re: Python and the minus in a filename

        Thanks. I have far too many files over far too many years using the minus. I could create hard links but I still take the view why? Why not have the string 'a-b' as the filename? I can do that in Javascript.

        var file = 'a-b.txt';

        And then use the variable file for the filename.

        CamelCase is no better. You have to press the SHIFT key there too. Using a minus means no shift key -- just press keys. :-)

        I learnt years ago, when working with Lisp, that there was a language that would let you do what you want. Hey, Lisp even lets you have a variable called 3-men-in-a-boat, so (setf 3-men-in-a-boat 'a-b.txt) works! How cool is that?

        Sorry, but if the language is going to be prescriptive to stop me doing what I want, I'm going to ignore it. I already ignore Microsoft for that reason. Python, alas, is in the same boat.

        But thanks for clarifying. At least now I know I can't. Appreciated.

        CL-USER(1): (setf 3-men-in-a-boat 'a-b.txt)

        A-B.TXT

        CL-USER(2): 3-men-in-a-boat

        A-B.TXT

        CL-USER(3):

        1. ibmalone Silver badge

          Re: Python and the minus in a filename

          Okay, I've no idea what you're talking about now. I thought you were referring to the need to use only valid identifiers as file names for source files. But you seem to be saying you think python can't access files with hyphens in the name at all, which is... not true.

          ipython3:

          In [1]: f=open("some-file.txt","w")

          In [2]: f.write("hello world\n")

          Out[2]: 12

          In [3]: f.close()

          In [4]: g=open("some-file.txt","r")

          In [5]: print(g.read())

          hello world

          In [6]: g.close()

    2. Richard Plinston

      Re: Python and the minus in a filename

      > this-is-a-file-name.txt ... Yet I've never been able to get Python to allow me to do this. Is it really forbidden?

      You are talking nonsense. A filename in Python must be in a string, such as in quotes or apostrophes, and thus almost any character is allowed, including hyphens.

      fd = open("this-is-a-file-name.txt", mode)

      is perfectly valid.

  18. IGnatius T Foobar !

    Gotards

    So tired of hearing the Gotards tell us that C is dead. Go is interesting but it is not usable as the one true systems programming language. Neither is Rust, and its evangelists are almost as irritating.

    1. Spamfast

      Re: Gotards

      Thanks. Glad I'm not alone.

      I'm also sick of UML - seems mostly to be a tool for selling expensive graphics packages and training courses.

  19. StuntMisanthrope

    You in gray yet.

    From the other end of the spectrum. The cool kids talk in hex and colour binary. #ganglion

  20. Anonymous Coward
    Anonymous Coward

    Ignored....

    There is a huge area of software development that seems to be ignored... where people don't ask questions on StackOverflow, don't use anything remotely new-fangled (i.e. this millenium) yet write software that keep the world turning and people from dying, and they do it all in none of those languages.... welcome to Ada.

    1. jake Silver badge

      Re: Ignored....

      Ada? Wasn't that the public works project that managed to keep several thousand migrant defense contractor trainees off the streets at night back in the late '70s and well into the '80s?.

      Or was it the programming language that proved exactly why Pascal shouldn't have been designed by committee?

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Biting the hand that feeds IT © 1998–2021