Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Java Python Programming

Python Overtakes Java To Become The Second-Most Popular Programming Language (techrepublic.com) 103

For the first time in the history of TIOBE's index, Java has slipped out of the top two, leaving Python to occupy the spot behind reigning champion, C. TechRepublic reports: October's TIOBE index had C at No. 1 and Java at No. 2, and historically those two languages have simply traded spaces while the rest of the competition battled it out for the privilege to fall in behind the two perennial leaders. With Python finally overtaking Java in popularity, the future could be one in which everything comes up Python. "In the past, most programming activities were performed by software engineers. But programming skills are needed everywhere nowadays and there is a lack of good software developers," TIOBE CEO Paul Jansen said. "As a consequence, we need something simple that can be handled by non-software engineers, something easy to learn with fast edit cycles and smooth deployment. Python meets all these needs."

Jansen said that he believes this is the case despite claims from others that Python's popularity is due to booms in data mining, AI, numerical computing, and other initiatives that commonly use Python's extensive data processing capabilities. As TechRepublic's R. Dallon Adams wrote in his piece on the October index, Python has been giving Java a run for its money for some time. October saw Python at No. 3 with the largest year-over-year growth percentage in the top 50 languages. Java, still at second place in October, had the largest negative year-over-year growth rate in the top 50 during the same period.
R, Perl, and Go are also all boasting positive growth. "R is in 9th place, the same it occupied last month," reports TechRepublic. "R has experienced explosive growth in 2020, which has led TIOBE to consider it a contender for programming language of the year."
This discussion has been archived. No new comments can be posted.

Python Overtakes Java To Become The Second-Most Popular Programming Language

Comments Filter:
  • by nagora ( 177841 ) on Friday November 06, 2020 @05:01AM (#60690722)

    That explains that, then.

    • by jellomizer ( 103300 ) on Friday November 06, 2020 @06:45AM (#60690830)

      Python has a lower entry-level than Java or C. But for experienced software developers who can code well in many languages, python for many is still preferred.

      For me it is because the language is better set towards solving the problem at hand, vs tinkering every nitpick detail under the hood.

      An experienced car driver may still want automatic transmission even if they are proficient at shifting gears. Because on their daily driver they don't need to have that level of control of the car and wants to focus on driving from point A to B

      • by nagora ( 177841 ) on Friday November 06, 2020 @07:42AM (#60690942)

        It is a maintenance nightmare, regardless of the fact that it's a pretty shitty language in its own right.

        • by Z00L00K ( 682162 )

          Here you go: https://www.linkedin.com/pulse... [linkedin.com]

          • by Junta ( 36770 )

            I think the difference from Basic is Python has a bit more room to mix and match 'hard' and 'easy', though the hard part really means 'it's not too bad to create C code and make it callable from python.

            Of course, the number of python projects that adopt that sort of philosophy is small, but when it happens it makes for a nice combination of disciplined code but accessible to a wider audience.

      • by Z00L00K ( 682162 ) on Friday November 06, 2020 @08:27AM (#60691112) Homepage Journal

        I have seen many languages and Python is something that I'd consider for small scale and projects with short lifetime since it's a language that has a high risk for software rot [wikipedia.org].

        When you have a language that's not validating when compiling and linking you will also end up getting the errors during runtime. You can claim that you can resolve that by testing. However if you spend more on building test code than on the actual program you will not have gained anything.

        I think that the change at the top has more to do with the fact that Oracle is making Java a "dirty" language due to association and the fact that they make things more complicated than necessary to access older versions.

        • by theJavaMan ( 539177 ) on Friday November 06, 2020 @10:03AM (#60691462)

          Python is the kind of language that makes easy problems trivial, but harder problems become impossible and unmaintainable.

          • by Toonol ( 1057698 ) on Friday November 06, 2020 @12:57PM (#60692102)
            Sure it has it's place and inappropriate uses, but 90% of my day-to-day problems are easy problems. 'Read this, transform that, write it there'. Just like 90% of the math I do everyday is adding and subtracting.
            • That's true, and a lot of projects start as small easy problems. However, all projects grow over time, and as complexity grows, they stop being small and easy.

              I have an approach to starting a project that can be summed up like this: use the next most powerful platform than you think will be sufficient.

              For example, one frequently used command w/ lots of arguments? Write a shell script. If you think a shell script will do it, choose python. Python is good enough? Go with Java. Java is good enough? Go with Sca

        • Almost every mature Java application I've supported seems to rely on the fully featured Oracle Java SE 8. For a while it has required a paid monthly subscription of $2.50 per-user, per-device. So if you have 2 users who each use 2 computers that's $10/month (assuming a desktop application). Unless of course, the application developer has paid for a license they can bundle and that they update the shipping JRE as part of the application, which requires the developer to negotiate with Oracle. It's messy and
      • Quite. C/C++ is my bread and butter but if I want to smash out a proof of concept or do something DevOps level then python is my go-to. But it's only production ready with LOTS of unit testing to exercise the logic paths, without which there is plenty of risk of it going bang in the field.

        Mind you, C and C++ go bang in the field, but it takes so long to implement the exact same thing that it just appears to happen less frequently ;)

      • Phyton is a scripting language...
        • Don't say that. The clueless will respond that Python is a programming language and that it is "Turing Complete". Misusing a tool is nothing to be proud of. Python should be used as a thin glue for FORTRAN and C objects. The real comparison should be Python vs Bash (well, Bash plus GNU utils or plus busybox).

      • PHP is arguably a better choice for most command-line scripting scenarios. Python has a significant initial startup time as it has to compile the code behind the scenes and store it in a disk cache before it will actually start running the code. That becomes fairly noticeable on underpowered hardware like the Raspberry Pi. Other interpreted languages like NodeJS and Ruby have even worse startup metrics. PHP, on the other hand, was built for startup performance because users of PHP expect total completio

    • by 1s44c ( 552956 )

      It explains a lot. I believe there are maybe 5000 to 20000 good software developers on this planet and maybe a few million bad ones.

      I don't claim to be one of the good ones.

    • AFAIK the metric used by TIOBE is "Which language got the most retweets since we last ran the script?"

      • by 1s44c ( 552956 )

        Did I tell you about my new language? It has nothing going for it at all, but it's called "Trump".

  • by getuid() ( 1305889 ) on Friday November 06, 2020 @05:13AM (#60690738)

    As a consequence, we need something simple that can be handled by non-software engineers, something easy to learn with fast edit cycles and smooth deployment. Python meets all these needs.

    Um, no. It's the opposite.

    I've been doing software development since the late 90s. I'm fairly proficient in C and Python (being my languages of choice), aswell as C++ (my former language of choice), and I know roughly 1-2 dozen other languages to differing degrees.

    I've also managed IT teams with 2-digit number of people for years.

    And: no. If anything, writing maintainable software in Python is, if anything, then more difficult than in other languages, e.g. C.

    This is because Python has a number of super useful, but highly non-trivial concepts, both as a main language language features (lambdas, the whole everything-is-a-list paradigm, generators, ducktyping, object orientation, functionality [as in functional elements] ...) and as side features (PyDoc, indentation, module system). Holding all the balls in the air, using every feature where it's needed, and not overusing it, requires quite a lot of experience.

    Development speed is faster than plain C only for the first ~2 months or so. That is for a fairly simple server-side script, cron-job on steroids or something similar. Everything beyond 3 months takes careful planing and foresight, Python is not going to help. If anything, it's going to give you more to shoot yourself in the foot with, and owing to garbage collection, it will allow you to carry the festering wound for years in your product before anyone notices.

    At least with more "difficult" languages like C, C++, and even Java (because of strong typing), you won't be able to move past a certain point because your software keeps crashing or not compiling once it's obvious you don't know what you're doing.

    • by orlanz ( 882574 ) on Friday November 06, 2020 @06:19AM (#60690810)

      I am sorry what?!? I understand what you said but that is FAR more applicable to C++ and many other languages than Python.

      Most companies have formal or informal code style guidelines that basically blacklist entire feature sets/options/paradigms (ie: memory mgt, templates). The ones for C, C++ [github.io], JavaScript are HUGE compared to others.

      Having done a lot of code reviews, Python [github.io] is one of the simpler languages to understand. With properly restrictive guidelines, Java is a bit easier to understand the connectivity of the big picture. But Python isn't much different than C except the code is easier to read and the guideline is far simpler with far less restrictions (granted most Python includes some complex C; but that's another discussion).

      For most code maintenance, the language itself is mostly irrelevant. It's the guidelines, processes, documentation, and their complexity that drives progress. And Python's relationship processes are more complex but the rest are ridiculously simple compared to most languages (ie: No lambdas, multi assignment, spaces no tabs = most common restriction).

      • Most companies have formal or informal code style guidelines that basically blacklist entire feature sets/options/paradigms [...]

        Very good, and funny, example.

        First to your arguments: who do you think writes your code guidelines? The CEO? Sets them in stone? Hint: it's the developers.

        If you have good developers, you'll have code guidelines as an extra reflecting comon knowledge and helping newcomers. If you have inexperienced developers, you'll have code guidelines as cargo cult because "all the cool guys have them", they'll suck and provide little to no extra insight beyond personal taste of the one who wrote them, and will be gener

        • Most companies have formal or informal code style guidelines that basically blacklist entire feature sets/options/paradigms [...]

          Very good, and funny, example.

          Yep, that certainly brought back some memories. I haven't been in a "Have you seen the size of the guideline file" flamewar since the 1990s.

          The idea that huge swathes of a language should be "blacklisted" comes from when the C++ compilers on non-mainstream platforms were crap and didn't work properly. These days you get g++ on thosel platforms and it all works, or one of the "big company" compilers (eg. on Windows/MacOS) and it all works.

          These days the guides are just code formatting and naming conventions.

        • by orlanz ( 882574 )

          Ok, lets start with a shocking statement. "Developers DO NOT write Coding Styles/Guidelines." Do Employees write HR or Service policies just because they are impacted the most?

          These are usually written by software leads or architects of some sort. Basically, unlike coding which is done by a range of expertise, guidelines are done by experienced folks w/ feedback from the team. Most of the time, its not even "written" but just "known" as defined by the QA/Dev lead. You don't nor should you have your dev

      • by dfghjk ( 711126 )

        " But Python isn't much different than C except the code is easier to read and the guideline is far simpler with far less restrictions (granted most Python includes some complex C; but that's another discussion)."

        There is no "another discussion" because this isn't a discussion at all, it's just an absurd statement by an ignorant person.

        Also, what "blacklisted feature sets/options/paradigms" are there for C? Do you know anything about C?

        • by orlanz ( 882574 )

          The "isn't much different" is in regards to the "big picture" part of it. The amount of processes & controls around a C project in terms of connecting the various independently developed parts is about the same overhead as python projects. The former has static types so you can better automate some checks, but that doesn't go as far as people think it does.

          There is PLENTY of functioality that is shoved off to C in Python programs. Its actually part of the recommended profiling & optimization proc

      • The C++ "style guide" you linked to is to much more than a C++ style guide.

        It covers generalities applicable to almost any language (things like thread local storage, global variables, best way of scoping variables etc). Also, for ever style element, there's a definition, a list of pros and cons and a discussion and conclusion along with the actual rule.

        If you strip put the discussion and just have the C++ specific rules, it's not long.

      • by frank_adrian314159 ( 469671 ) on Friday November 06, 2020 @11:06AM (#60691724) Homepage

        Anybody who talks about Python, C, and C++ in terms of productivity has no idea what they're talking about. Perhaps productivity in hiring because of their ubiquity and availability of programmers, but that's about it. If you're actually looking fir productivity, try Haskell, APL, or one of the Lisps or Smalltalk. There you get actual programming productivity.

    • by gweihir ( 88907 ) on Friday November 06, 2020 @06:20AM (#60690812)

      I completely agree. I have standardized for most stuff I do on Python and embedded C modules for heavy lifting if required after trying quite a few other things.

      Python is very much an expert-only tool. It looks deceptively simple, but it very much is not. It is a tool that gives you tremendous power and rarely stands in your way, but exactly that makes it experts-only. You basically need to understand and have experience with all the different constructs and paradigms in Python or the potential for disaster is quite massive.

      I also agree that C will simply make the incompetents fail very obviously, but in Python the incompetents will create the most unholy mess.

      • Python, as you describe, is a 2-layer arrangement, where you write top-level "glue" code, but where as you say the "heavy lifting" is done in C.

        My preference is for a 3-layer arrangement of scripting language on top, "managed-code" language in the middle with C or other native-code language at the lowest level.

        For some while now, Matlab is such a 3-layer arrangement. For my smug engineering colleagues who say they use Matlab and don't bother with Java, Python or any other programming language, is anyo

    • by Joce640k ( 829181 ) on Friday November 06, 2020 @07:31AM (#60690904) Homepage

      As a consequence, we need something simple that can be handled by non-software engineers, something easy to learn with fast edit cycles and smooth deployment. Python meets all these needs.

      And: no. If anything, writing maintainable software in Python is, if anything, then more difficult than in other languages, e.g. C.

      Yep, and if you want to write code that will be used a decade from now then forget about Python.They break it every couple of years.

      • by Entrope ( 68843 )

        On the other hand, in a decade, CPUs might be fast enough that the Python code is competitive in speed with C or C++ code when the code in question was written.

        • by tttonyyy ( 726776 ) on Friday November 06, 2020 @08:52AM (#60691182) Homepage Journal

          Personally I love micropython on the ESP8266. Network layer with no hassle, roll your own UDP packets to fire off to a docker running grafana/telegraf with ease. Much more painful to do the same in C.

        • Only if the Python interpreter(s) can get rid of the GIL â"otherwise a multithreaded Python program is still no faster than a single-threaded one, which is a big limitation in a world where everything is going multi-core.

          • by DarkOx ( 621550 )

            Nonsense, and the same applies to Ruby. Mutli threading solves 80% of real world problems in both languages. Most applications are I/O bound you are reading a or writing a file, the network, waiting on a database operation, waiting for some backend service to do something, waiting to write a response to a client, etc...

            Its only actual python or ruby statements that can't run with concurrency, but what that means is obj.read(4096) keeps going while code statements run on another thread. This is about as mu

            • by Junta ( 36770 )

              The stupid thing is people doing the later still pick python.

              Well that's still ok... so long as they write the number crunching section in C where they can live outside the GIL and everything.

              This is a key driver of why python can 'grow up' fairly well and there's such a rich ecosystem. Other interpreted languages can do similar, but Python's is pretty easy to glue C and Python together compared to other language implementations of the same concept.

            • Yeah, but with multithreaded applications there is still, in 99.999% of use cases, 1 thread that manages all that concurrency. That "management" thread is where the single core ceiling will dictate scale. The days of "well they'll have faster chips next year" are over, we've hit the limits of physics. Software continues to become more complex while programming language "selection" currently favors less efficient but simpler (so cheaper devs). This is exactly why microservices arose, so clock bound managemen

      • Yep, and if you want to write code that will be used a decade from now then forget about Python.They break it every couple of years.

        That is simply not true.

        • Oh, really?

          https://www.ecosia.org/search?... [ecosia.org]

          • The real problem here is that languages like C and C++ are largely overseen by international standards committees. In one sense, it makes the evolution of these languages painfully slow, and sometimes these languages do feel a bit like they've been constructed by committee, but at the same time there's baselines for implementation of the compilers. Languages like Python, Ruby, PHP and to some extent Java are not constrained in this way, so on the plus side they can evolve quickly, but on the negative side,

          • Really. Python 3 was released in 2008. That is certainly not "a couple of years".
    • Um, no. It's the opposite.

      I've been doing software development since the late 90s. I'm fairly proficient in C and Python (being my languages of choice), aswell as C++ (my former language of choice)

      I'd be interested to know why you'd say that you went from C++ to C. Did you honestly stop using all C++ features?

      • by Junta ( 36770 )

        At least for me, I went to C and other languages because it's much easier to interoperate plain C code in many different languages than it is for C++.

      • I'd be interested to know why you'd say that you went from C++ to C. Did you honestly stop using all C++ features?

        The shortest straight answer I can give you is: I didn't, I (mostly) moved from C++ to Python, simply because the object orientation in Python is more straight-forward to use.

        There are some practical advantages to C and Python, and C++ is not that good that its disadvantages weight those out.

        For example with duck-typing in Python (i.e. "if it quaks like a file, walks like a file, then you can stream data in/out of it") I find it a lot easier to make toolkits interoperate without massive amounts of translati

    • And: no. If anything, writing maintainable software in Python is, if anything, then more difficult than in other languages, e.g. C.
      Well, I have the opposite impression. As 90% of my Python usage is maintaining existing code. I do not find it particular difficult to trace down the occasional bug, even when no one is around knowing the code.

      When you are using "duck typed" languages you have to think more in objects, or their properties than in classes.

      If a project is taking so long, it does not really matter

    • by Somervillain ( 4719341 ) on Friday November 06, 2020 @10:30AM (#60691592)
      Python was a disaster for every project we had that changed hands. It's a great prototyping language, but a terrible for large teams and getting a return on your investment. It's been awesome for young and small projects and a disaster for older ones that make money. We have entire teams dedicated to maintaining code in C, Java, Python, JavaScript...and those are just the ones I am in daily contact with. The Python team is a disaster. They're smart individuals and a top-notch team, but they fail to meet their own estimates more than any other team. They have epic delays and constant issues. Is that Python's fault? Not really. It's not a tool for writing serious software. It's optimized for quick and small projects. In fact, I've found it much easier to work with if I have a week long data analysis project. When your team can fit in a minivan and doesn't have paying customer, you can do great work with any tool

      Here's where it failed. When the team was 4 guys in an office, it was great and probably helped them get a lot more done than Java or any compiled language...then they deployed the product to a cloud infrastructure and suddenly found themselves making money and supporting it on 20 nodes...not too difficult yet. Then investors loved what they saw and the company staffed up...then all the advantages started disappearing. Now the people who remember what they did are in meetings all day and hard to get ahold of. Now the new team is terrified to touch entire modules of code and because the start up founders were not great at commenting the code (let's face it, few are) they end up with giant blobs people are avoiding maintaining at all costs.

      Now we acquire the company and they're no longer 20 people in Silicon Valley, but 100s of people in 8 timezones contributing. It's an epic disaster. They had to migrate from Python 2 to Python 3. They estimated 6 months. We're at 18 months and it's still not done and they keep giving whiney excuses at every staff meeting about how hard it was. We have like a dozen teams working in Java doing similar work. They meet their estimates or only exceed it by about 25%. The python team is better educated, quite smart and talented, very impressive when you talk to them, but they just can't make their product work. Every small change that sounds so simple to a Java programmer has a shockingly high estimate to complete and almost always exceeds it.

      Java is boring and you may dislike it, but once you master it, it's very smooth and predictable. Code is very uniform and easy to understand because of the underlying Java culture and extensive documentation of best practices. Python leverages local libs, so I've been handed code that works great on Mac, but then requires a day to port to Ubuntu...then a half day to port to Centos. Java works consistently on all platforms, by design. Because it is compiled and strongly typed, it catches most of the common errors that occur as code evolves. There's also a strong culture towards test driven development that ensures that most bugs the developer thought of don't make it on a server. For our Java team, we never get HTTP 500 errors. The vast majority of our errors found by QA are missing requirements...either that the developer didn't notice, misunderstood, or an edge case the entire chain missed. Software errors hitting customers are largely unheard of...because the code is older...it is easy to work with and hand off to new employees. It is consistently structured and well documented. There is a well understood culture of how to test code and what are best practices that nearly very senior Java programmer agrees on (we find things to disagree on, but it's usually very trivial details about style). The compiler and frameworks themselves also catch a lot of the errors that come along as codebases age and libs have to be updated.

      Most working devs are great at getting prototypes out. Not enough think about what happens if their project actually succeeds, has to staff up, and ma
    • Holding all the balls in the air, using every feature where it's needed, and not overusing it, requires quite a lot of experience

      That's true of just about everything in software development these days. People feel compelled to learn and use every feature to be ready for the next interview. "Resume Oriented Programming". I don't blame them, if you hire based on quantity of buzzwords, then people will maximize the quantity of buzzwords they know.

      Stacks get bloated with microservices, async/await, "pretty" URL

    • by Anonymous Coward

      Um, no. It's the opposite.

      I've been doing software development since the late 90s. I'm fairly proficient in C and Python (being my languages of choice), [...] Development speed is faster than plain C only for the first ~2 months or so. That is for a fairly simple server-side script, cron-job on steroids or something similar. Everything beyond 3 months takes careful planing and foresight, Python is not going to help. If anything, it's going to give you more to shoot yourself in the foot with, and owing to garbage collection, it will allow you to carry the festering wound for years in your product before anyone notices.

      At least with more "difficult" languages like C, C++, and even Java (because of strong typing), you won't be able to move past a certain point because your software keeps crashing or not compiling once it's obvious you don't know what you're doing.

      Perl seems like the obvious choice. It's fast, powerful and leads to the writing of easily maintainable code. It can scale from simple cron scripts all the way to some of the largest sites on the internet like Slashdot.

  • It's used in too many places in the UNIX ecosystem, and far too few in the Windows ecosystem, but for what it's intended (a good scripting language), it's the best of the bunch, easily. When I need to quickly whip something up of even moderate complexity, I reach for Python, not shell. I have a lot of little .py utility scripts in my network drive for just this reason.
    • by PPH ( 736903 )

      It's used in too many places in the UNIX ecosystem

      I don't know about that. It might make a nice replacement for all those init shell scripts.

  • by fleeped ( 1945926 ) on Friday November 06, 2020 @05:52AM (#60690766)

    Look at Slashdot history, it's like clockwork, few days give or take. Are there really no more interesting tech/programming news, and this has to repeat? Is it because language tribalism generates comments/content? Who care about the state of this "index" on a monthly basis?

    • Was just going to say the same thing, it's like some locker-room dicksize war, look mine's fractionally longer if you pull the foreskin down a bit. How many more times do we need to read about this crap?
    • by 1s44c ( 552956 ) on Friday November 06, 2020 @07:20AM (#60690878)

      I strongly agree. There is too much of various kinds of tribalism in IT. A good programmer won't waste time telling strangers his X is better than your Y.

      • by Tom ( 822 )

        A good programmer won't waste time telling strangers his X is better than your Y.

        Except, of course, if one of them is vi and the other emacs.

      • A good programmer won't waste time telling strangers his X is better than your Y.

        Why bring gender into it? And I think you have your X and Y swapped.

        • by 1s44c ( 552956 )

          I just knew someone would go on about X and Y chromosomes a second after hitting post.

          Feel free to substitute X with I and Y with J if it helps.

    • Oh I do miss the Emacs or VI days.

      We've done this for years, why stop now?

    • ^^^ mod parent up

      a monthly list of languages sorted by search popularity, and that's news?

      • Widely used and popular are not the same. I cite Java as evidence.

        Loads of people use Java. Not many of the actually like using it. Its their job.

        Please let me know when Perl is dead, so I can dance on its grave.

    • Yep.

      The TIOBE data is crap (where doe they get the numbers from) and lacks a variable which multiplies by the number of decades a language has survived for.

      Who cares if the language-du-jour gets more tweets? (or whatever metric they use this month).

  • Pointless stats are pointless. Who care, Soon enough all the Python programmers till be dead of extreme old age and the next generation will be all precious about what ever language they use.... It all a pointless cycle..
  • by cjonslashdot ( 904508 ) on Friday November 06, 2020 @07:29AM (#60690896)
    when all the young python programmers get older theyâ(TM)ll realize how valuable type safety is :-)
  • Unfortunately non devs thinking they can write code because they once wrote some lines of Basic is a problem because they often write appalling code which is not only badly written but also full of obvious bugs that any half decent dev would never have made in the first place. I doubt many scientists or researchers believe a developer could come in and make a reasonable fist of their job yet they seem to think programming is a secondary task they they're a match for because they have a science or economics

  • Java Speed (Score:1, Funny)

    by Anonymous Coward

    This post was brought to you by JavaFirstPostBot 0.91, the fastest open-source Java JIT-compiled posting bot ever written! Please donate or subscribe to my patreon for further speed improvements.

  • Comment removed based on user account deletion
  • Everyone drifts to an easier to use language when you don't have others around you to ask how to solve issues for you.
    • That's not true, stack overflow will give you a copy-paste for any problem, be that some crazy C++ lambda or a phythonic way of converting to network byte order.

      Asking your colleagues just means you're less exposed to GPL litigation later when scanning tools spot your code block in everyone else's projects as well ;)

  • drank the coffee
  • by Anonymous Coward
    It's not that Python's getting better, it's that Java's getting worse. I used to love Java, wrote a number of renderers and game systems in it, but I cringe whenever I find out one of our customers is using it on a new project.
    • Java and JVM have diverged. I don't think the JVM is going away in a long time, but I can see a good JVM language taking over Java.

  • As a crusty C/C++/Java developer my company has been shifting to cloud services/web tech. While the initial push was in Java for rapid server deployments on top of Apache, we've accelerated into microservices which run better with scripted languages. You can use Java there too - but with AWS' stuff you have longer cold start times. So the remaining common options are .NET, Javascript and Python and my team went with Python and were successful with out first project. That led us to getting more projects

  • by bradley13 ( 1118935 ) on Friday November 06, 2020 @10:28AM (#60691586) Homepage

    I really don't quite see why articles like this keep popping up. Why is it important? Languages have different strengths and weaknesses, which suit them to different tasks. I would never write an ERP system in Python - Java is the better language for that. I would never write a device driver in Java - C is the better language for that.

    People who only ever use one programming languages are like carpenters who only have a hammer in their toolbox.

    • It's fascinating because the story hasn't changed since the 70s when it was BASIC+Assembly instead of Python+C.

  • by ubergeek65536 ( 862868 ) on Friday November 06, 2020 @10:47AM (#60691646)

    McDonald's burgers are popular. That doesn't mean they are any good.

  • by Seven Spirals ( 4924941 ) on Friday November 06, 2020 @10:52AM (#60691670)
    Python is ugly, top heavy, used by very annoying people, and turns to slag (organizationally) after your code grows beyond about 30k lines. It's (much) slower than C (and several other superior languages). It's much more complex than C all-features-considered. The only advantage it holds is that you can get started slightly faster in Python. Don't be fooled, because once you become a Python weenie it'll just delay you that much more in doing what you should have just done from the start: learn C. Prototyping in Python is often touted. Experienced devs know that also just wastes time because you'll eventually have to re-implement the same logic path in C when the Python code becomes a hot mess. Lots of scripting languages get a few years in the sun. Perl had it's time, Ruby had a moment, Java was attractive to some for a while, but they all end up falling out of fashion and then we look back and say "what were we thinking?" However, C stands. Code long enough and you'll understand why. It strikes the right balance in a lot of dimensions. I've noticed the people who hate it are usually the ones who are scared of digging in and putting in the work.
  • Suck it Larry.

  • There are far fewer big apps, just ask yourself why Google, FB, Ebay, Amazon and friends dont use Python. The answer is obvious typeless languages suck except for quick and nasty jobs and somethibng a bit bigger.
  • I have written many languages for automation (scripting) (DOS batch PowerShell, Bash/Korn Shell, Perl, now Python) I much prefer Python for automation stuff. It is cross platform and I have never had "system updates" break my Python scripts. Python is a very powerful language IMHO. Does it need some improvements - yes, but what language doesn't. I have done less Java programming and more Python in the last few years. I like it's JSON support, I think it's really easy to manage JSON with Python. I use it to
  • I've been running my own language popularity index for a few months now the results are very different to TIOBE. I didn't believe it myself and had to manually check to make sure. It seems if you look mostly at the number of job postings (people actually wanting to pay someone to use the language), Java is by a far the most popular (at this moment in time), with Python and Javascript in 2nd and 3rd. Popularity has shuffled a fair amount over the few months though. https://softwareengineer.live/... [softwareengineer.live] I would

The unfacts, did we have them, are too imprecisely few to warrant our certitude.

Working...