Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Programming Python Java Stats

Python Passes C++ on TIOBE Index, Predicted To Pass C and Java (infoworld.com) 266

Python reached another new all-time high on the TIOBE index, now representing 8.5% of the results for the search query +"<language> programming" on the top 25 search engines. Python overtook C++ this month for the #3 spot, now placing behind only Java (#1) and C (#2).

That's prompted TIOBE to make a bold prediction: If Python can keep this pace, it will probably replace C and Java in 3 to 4 years time, thus becoming the most popular programming language of the world.

The main reason for this is that software engineering is booming. It attracts lots of newcomers to the field. Java's way of programming is too verbose for beginners. In order to fully understand and run a simple program such as "hello world" in Java you need to have knowledge of classes, static methods and packages. In C this is a bit easier, but then you will be hit in the face with explicit memory management. In Python this is just a one-liner. Enough said.

InfoWorld reports: Also on the rise in the June Tiobe index, Apple's Swift language is ranked 11th, with a rating of 1.419 percent. Swift was ranked 15th at this time last year and 18th last month, while its predecessor Objective-C language ranked 12th this month with a rating of 1.391. Tiobe expects Objective-C to drop out of the top 20 within two years.
InfoWorld also notes that Python is already #1 in the Pypl index, which analyes how often language tutorials are searched for on Google. On that list, Python is followed by Java, JavaScript, C#, PHP, and then C/C++.

Python was also TIOBE's fastest-rising language in 2018 -- though in 2017 that honor went to C, and in 2015 to Java...
This discussion has been archived. No new comments can be posted.

Python Passes C++ on TIOBE Index, Predicted To Pass C and Java

Comments Filter:
  • python et al (Score:5, Insightful)

    by Anonymous Coward on Saturday June 15, 2019 @10:37AM (#58767230)

    are not replacements for c++. They're the reason software today is so bloated and slow.

    captcha: lowered (expectations)

    • Re: python et al (Score:5, Insightful)

      by Z00L00K ( 682162 ) on Saturday June 15, 2019 @10:45AM (#58767258) Homepage Journal

      I'm not surprised that Java will be passed considering that Oracle do their best to kill it.

      C will always be relevant though.

      • by Somervillain ( 4719341 ) on Saturday June 15, 2019 @11:13AM (#58767382)
        I think people forget that in most organizations, developers switch projects every 2-5 years, if not leaving the company, leaving for another group or project within the group. Java has too much momentum and too much legacy and as a guy who works with it daily, it has no suitable heir for business development. It has lots to learn from many other languages, but none of them seem to have learned from Java as to how make software easy to maintain as it switches hands from team to team. No other language has the mature set of libraries, build tools, etc. Only C# seems to have similar results and I am not familiar enough with C# to explain why, but I have seen a lot of 10 year old C# and Java projects support large teams, but never a Python one.

        Most modern languages beat Java if you're a 2 person job writing a prototype and have no real users or revenue. Once you have double or triple digit teams, they become very painful, victims to the creativity and idiosyncrasies of individual developers who left the project long ago for various reasons. Oracle isn't really much of an influence in Java, so their actions are harmful, but largely inconsequential. All of us just switched to OpenJDK and didn't notice a difference. Really, look at how terrible theri RDBMS is and how long it's been around. Java will be around just as long.

        Python is a great perl replacement, but I haven't seen it make much of a dent in the server side yet. Most devops people love it and I find it a great scripting language....scripting is not business development. NodeJS is 10 years old now and took a chunk out of PHP, but nearly every Java project I have seen ported to node failed. It really hasn't lived up to the hype. Productivity hasn't increased, reliability hasn't decreased. Most of the project get rewritten back into Java once it is handed off twice.

        Honestly, Python does a lot of things right, but I think the next super language is still unknown. Python is a scripting language and everything that will make it a Java killer will make alienate it's fans. JavaScript is the worst language I've ever worked with (sure, it's great when it's just you...try dealing with collaborators in 8 timezones and 6 countries and see how your project goes).

        Java can do everything and I can quickly get up to speed on any Java project I've ever downloaded. It is very uniform and has a strong culture of consistency and well known, documented, best practices. It has the industry's best development, release, and management tools. It has mature professional-grade libraries for anything you want to do. It is easy to find adequate developers all over the world, including from low-end offshoring firms (I hate that, but it is a benefit). It's performance is better than most of it's competitors on the server side. Java just makes the most sense if you want to invest money in a server-side application and want to get a return on your investment.

        Python has won the scripting world. It won in the scientific community. If competes in a different world that Java, though. Comparing Python to Java is like comparing ebikes to delivery trucks.
        • by Viol8 ( 599362 ) on Saturday June 15, 2019 @11:38AM (#58767460) Homepage

          C++ is still there my friend. It was there before java and itll still be there when everyone has got sick of javas long windedness, endless wheel reinvention and the hassle of maintaining JVMs. Ive developed in both and java is and always was just a poor mans C++.

          • I prefer a poor mans C++ over a poor mans Java any time.
            The first one runs nearly everywhere without a recompile.
            The second one does not even have a standard GUI library ...

            Your pick.

            • by Viol8 ( 599362 )

              ITYM you'd prefer java over C++?

              ANd why would C/C++ have a standard GUI library? They're system programming languages and will support whatever GUI and graphics system the OS supports. They're not a managed language with some slow as fuck lowest common denominator GUI and graphics translation layer sitting on top of the OS's graphics system.

              • by zifn4b ( 1040588 )
                A standard cross-platform GUI C/C++ library is a nightmare to maintain. There have been attempts but none that I know of were successful and/or widely adopted. You have a gazillion different builds with crazy amounts of conditional compilation directives and building Makefiles is awful. I know many companies switch to managed languages to make that a lot less painful. It has a high total cost of ownership. It doesn't make sense for companies to invest in that type of effort unless they absolutely must.
                • high total cost of ownership

                  TCO is and always a bullshit metric. A house brick has a trivial TCO. It costs a dollar to buy and requires essentially no ongoing maintenance. Sure it's worthless, but that's the point: TCO is way to narrow. The metric of use is return on investment.

          • by zifn4b ( 1040588 )
            The solutions to Java's verbosity are: modern JavaScript, Ruby, PHP, Python, etc. Not some compile time language that makes it so you have to re-invent a lot of wheels and do your own memory management.
        • Re: (Score:2, Interesting)

          by Anonymous Coward

          "No other language has the mature set of libraries" == 50 ways of doing the same thing. This is my biggest gripe with Java, other than enormous resource consumption. Yes it's easy. Yes it gets the job done. But man is it big and slow. Swing is far outclassed by packages like Qt. JavaFX tried to go the WPF route (which is terrible).

          At the moment my team is considering moving large parts of our codebase to JNI and using C/C++ because it will be faster and more efficient.

        • I have been building server side Enterprise Java systems for 20 years. I agree that Python is no Java killer. However, your assertion that there is no heir to Java I think is incorrect.

          For the last two years I've been building large scale back end services in Kotlin and am convinced it is finally a solid replacement for Java on the JVM.

          It is similar enough to Java that it's very easy for Java developers to pick up quickly. It has a pragmatic balance of newer languae features. It works absolutely seemlessly

        • I spend a lot of time replacing Java nonsense with C99 libraries plus JNI bindings.

          Companies are frequently replacing their Java prerequisites even when the application itself is intended to remain in Java. This allows more consistent business logic across a variety of related software parts.

          Java used to fill that role, but it is just too hard to hire productive senior programmers to work on the hard bits. You can hire thousands of code drones to fiddle-faddle the user interfaces, but what about the parts t

          • Those programmers can do it in any language, will charge more and leave sooner if they have to do it in Java, and they can provide a better solution in C. Or Golang.
            Care to post some code examples? I can not believe that in your country are no competent Java programmers.

        • by zifn4b ( 1040588 )
          The only problem with Python is performance. It's one of the slower interpreted languages. Ruby is superior in that regard. I still like Python as a language though.
      • by zifn4b ( 1040588 )
        I've programmed in a lot of languages including Java and I have to say that Java is one of the worst both in terms of lack of progress in the language and the environment setup is the worst. It's far easier to set up any of these: modern JavaScript, Ruby on Rails, Python, PHP even a C++ build with Boost for crying out loud. Java JUST recently added var for local type inference, functional programming is way clunky compared to other languages even C#, no package manager. C# as far as I can tell is superio
      • by gweihir ( 88907 )

        C will always be relevant though.

        Indeed. And it will always have a lot of enemies, because it requires actual skill to use it well and it makes incompetence obvious.

    • Re:python et al (Score:4, Insightful)

      by TeknoHog ( 164938 ) on Saturday June 15, 2019 @11:15AM (#58767390) Homepage Journal

      I didn't know Chrome was written in Python. Or things like Windows.

      Python is a great tool if you know when and where to use it. I do pretty heavy realtime graphics processing in Python, but only because the heavy lifting is done on a GPU. Numpy also helps, it facilitates more efficient I/O with the GPU among other things. I have no reason to write the management/glue code in some super fast compiled language.

    • by alexo ( 9335 )

      [python et al] are not replacements for c++

      And BASIC was not a replacement for Assembly, FORTRAN, COBOL, PL/1 (and later Pascal, C, Forth) and others.
      Yet the ability to type 10 PRINT "Hello, World!" on their 1980 home computer and see it run got countless kids into programming.

      • Another great thing about BASIC is that when you start to bump up against the edges of what it can do, you end up writing a bunch of PEEK and POKE stuff, which prepares you for ASM.

    • nobody said python will replace C/C++. Every language has its uses. Use the right tool for the job

    • by zifn4b ( 1040588 )
      C++ is also not a replacement for languages like Python. Interpreted languages with garbage collection often have extensive frameworks that enable all kinds of applications that don't require super high performance like web sites, mobile applications, REST services etc. ffs it took Boost forever to implement an actual HTTP Client in boost::asio. That had been done more than a decade ago by other languages. C/C++ programmers would say "well eh, every programmer should know the socket API and implement th
    • by gweihir ( 88907 )

      Not if you use it right. C modules for the heavy lifting (C++ is pretty bloated itself these days) and Python as glue. That is not something the typical present day cretin-level coder can do though.

  • On what?
    Number of lines of code in git repos?
    I don't give such an evaluation a damn.

    • Re: (Score:2, Informative)

      by Anonymous Coward

      No. It's worse than that.
      Python now has surpassed C++ on number of searches containing both the words "Python" and "programming".

      The idea is, that's a leading indicator of interest in programming languages.

      Though, I think it's actually a lagging indicator -- people do those searches because of job postings requesting a specific programming language.

    • You ask what metric is used, then state your lack of interest? An intelligent person that did have an interest would both to read the linked webpage.
    • On what?

      P>On annual summation of search terms across a basket of search engines. If you had read the FUCKING SUMMARY, you would have known that.

      Slashdot, please give me a mod option (-1, Did Not Read What User Is Responding To).

  • by AlanObject ( 3603453 ) on Saturday June 15, 2019 @11:09AM (#58767358)

    This is something that I have wondered for some time having seen a dozen or more articles like this one. Oboy a horse race and Python is up and coming its gonna win!

    When you are working on a job writing software does it matter to you at all how "popular" the language you are using is? What difference does it make? For some people it seems to be a matter of life and death but I just can't see it.

    In the past 10 years I have used probably 10 or so languages for major projects and what I find most important is the efficacy of the available libraries and frameworks that need to be used. The language choice is made from that not the other way around. At least it should be.

    • Yes, I agree that the availability of libraries is one of the main point in chosing a language for your project.

      (And I mean real libraries. Not the "pull half of github's worth of repositories, each bringing 1-2 useful functions, and be damned it the author of one of this decided to pull out his repo out of your jenga pile of dependencies" kind that has been going on on recently popukar labguages)

      BUT if your project is going to need longterm maintenance, it would be good if it is written in a language for w

    • When you are working on a job writing software does it matter to you at all how "popular" the language you are using is? What difference does it make?

      If you have to give presentations to business types, then it makes a big difference.

      It doesn't make a difference which language you use or how popular it is. The difference it makes is that you have to be able to speak coherently about the choice of language, and to make confident, non-dismissive statements about the choice when people are criticizing the choice based on perceived popularity.

      So it doesn't matter directly, but it matters that you can talk about it as if it is important to choose the right to

  • VB.Net Javascript (Score:5, Informative)

    by ColdCat ( 2586245 ) on Saturday June 15, 2019 @11:10AM (#58767366)
    In Tiobe ranking VB.Net is more popular than Javascript.
    Remember this before writing anything about Python or other languages rankings.
  • In the words of Guido van Rossum, creator of Python: "I've learned a painful lesson, that for small programs dynamic typing is great. For large programs, you have to have a more disciplined approach. And it helps if the language actually gives you that discipline, rather than telling you, 'Well, you can do whatever you want.'""
    • And then he went and added in algebraic type annotations to Python.

      Guido is brilliant because his only horse in the race is building a better langauge, even if that means fundamentally changing how it works as we all collectively gain experience through the decades.

      I started when there wasn't even "structured" programming, and watched the industry at large learn new ways of thinking and working, taking from academia and other industry as needed. It's a sure sign of a good human being when they can reflect o

  • Why all the hate (Score:2, Interesting)

    It was once cool on slashdot as well as Ruby on rails. Is it losing it's hip factor or all these comments written by bitter old gray neck beard c++ coders who feel threatened?

    • I think it's the Rust crowd. ;) </joke>

      I do think it's newer developers though, not older ones. I've been doing this far too long, I still love C, still write various assembly languages, and I also love Python. In my day job, I'm writing Ruby and CoffeeScript mostly.

      Tooling is often fungible from the perspective of an experienced dev. It's the new kids on the block that see more differences than similarities, IMNSHO.

      • I still try hard to avoid writing Python, but when it happens I can't even feel the hate anymore, it is just a tool whose packaging I find ugly.

        I still manage to feel deep revulsion to cmake, though. I'm not saying that autotools is fun, I'm just saying I'd rather write a Makefile by hand for a dozen platforms than get stuck figuring out wtf cmake is actually doing this time.

  • That tells you everything about community and nothing about adoption.
    • by godrik ( 1287354 )

      That tells you everything about community and nothing about adoption.

      Well, it depends what you need to know.
      Adoption is hard to measure in general you could look at github, but that only tell you about public open source.
      Looking at the TIOBE index gives you some idea of how popular/used languages are. If you have a new fancy tool and you want to know to which language to write your bindings; if it is in the top 5 of TIOBE, it is probably useful (and I say say with visual basic.net being number 5). If it is not even top-15, you may be wasting your time, and you may need addit

      • That tells you everything about community and nothing about adoption.

        Well, it depends what you need to know.

        They asked Larry Wall what 5 languages a manager should know about, and he included Haskell because a manager needs to understand that Haskell is mostly popular with "really smart people" and if you get stuck with some software written in Haskell, changes are going to be really expensive.

        I heard that and learned Haskell, and I discovered that almost nobody is actually stuck with software written in Haskell. Worthless skill. Fun language, though. Build system was modified from a medieval torture device.

  • Started poking at Python back in 2006. Back then, half the planet was Python 2 and half was Python 3. I left it for Ruby for my own personal projects. Work was still using C (for device drivers... anyone written a device driver using Java? Yea... I didn't think so.

    Changed jobs and now I'm stuck with Python but its the same. Half the plant is Python 2 and half is Python 3. Oh, yea, sure. Python 2 is not supported but that never stopped people from using it.

    Its just a total piece of shit language. I

  • by casperghst42 ( 580449 ) on Saturday June 15, 2019 @04:58PM (#58768862)
    A language without switch/case can't be taken serious (and I do use Python). Some years ago, I had a lengthy discussion with one of the, then primary developers of python, and was told that a dictionary was way better to use, than switch/case. Needlessly, I deicide to get drunk on good redwine instead of continue to talk to him.

Beware of Programmers who carry screwdrivers. -- Leonard Brandwein

Working...