Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Python Programming

Is Python the Future of Programming? (economist.com) 300

The Economist argues that Guido Van Rossum resembled the reluctant Messiah in Monty Python's Life of Brian. An anonymous reader quotes their report: "I certainly didn't set out to create a language that was intended for mass consumption," he explains. But in the past 12 months Google users in America have searched for Python more often than for Kim Kardashian, a reality-TV star. The rate of queries has trebled since 2010, while inquiries after other programming languages have been flat or declining. The language's popularity has grown not merely among professional developers -- nearly 40% of whom use it, with a further 25% wishing to do so, according to Stack Overflow, a programming forum -- but also with ordinary folk. Codecademy, a website that has taught 45 million novices how to use various languages, says that by far the biggest increase in demand is from those wishing to learn Python. It is thus bringing coding to the fingertips of those once baffled by the subject. Pythonistas, as aficionados are known, have helped by adding more than 145,000 packages to the Cheese Shop, covering everything from astronomy to game development....

Python was already the most popular introductory language at American universities in 2014, but the teaching of it is generally limited to those studying science, technology, engineering and mathematics. A more radical proposal is to catch 'em young by offering computer science to all, and in primary schools. Hadi Partovi, the boss of Code.org, a charity, notes that 40% of American schools now offer such lessons, up from 10% in 2013. Around two-thirds of 10- to 12-year-olds have an account on Code.org's website. Perhaps unnerved by a future filled with automated jobs, 90% of American parents want their children to study computer science.

"The CIA has employed Python for hacking, Pixar for producing films, Google for crawling web pages and Spotify for recommending songs," notes the Economist.

Though Van Rossum was Python's Benevolent Dictator For Life, "I'm uncomfortable with that fame," he tells the magazine. "Sometimes I feel like everything I say or do is seen as a very powerful force."
This discussion has been archived. No new comments can be posted.

Is Python the Future of Programming?

Comments Filter:
  • It's great.... (Score:5, Insightful)

    by Rei ( 128717 ) on Saturday July 21, 2018 @09:38AM (#56985092) Homepage

    ... until you discover that your program is butting up against performance or memory limitations, since Python gobbles both, and then you have to go back and redesign the whole bloody thing.

    • Re:It's great.... (Score:5, Insightful)

      by 0100010001010011 ( 652467 ) on Saturday July 21, 2018 @09:50AM (#56985156)

      Rule of Optimization

      Developers should prototype software before polishing it. This rule aims to prevent developers from spending too much time for marginal gains.

      Not everything needs to be the best, most optimized way to do something.

      We're constantly automating away boring tasks at work with Python and they're all 'good enough' to finish and move on to the next problem. We *could* do them in C but it'd be marginally faster with longer development time.

      • Re:It's great.... (Score:5, Insightful)

        by DCFusor ( 1763438 ) on Saturday July 21, 2018 @10:54AM (#56985432) Homepage
        Burn mod points or point out that this is a fad, there are other glue languages that work fine, and even make it far easier to optimize just the part you want into some inline::C or inline:your_language_of_choice.
        .

        Due to some half decent grunt work done in python for the things it's fine for - say device drivers for slow stuff on a raspberry pi - and the difficulty refactoring one loosely typed language into another with slightly different rules, particularly where bit-fiddling is involved, I've recently written several programs using all of perl, python, and C. No sweat with "use Inline"....
        .

        The only issues I've had is poor python drivers where instead of checking a ready bit, the easy fractional sleep was used, making it utterly non portable even on the same machine (since perl's inline compiles python - while the sleeps are the same speed, the rest is now faster than native and oops, not ready....). Your basic "earnest beginner" mistake, tuning the sleep to go as fast as it would in testing, rather than actually doing the work to do it properly. Some languages attract beginners, and those are also the ones with the most google or stack overflow or whatever - searrches. The popularity, or how good a language is, might be better measured some other way. You could make the case that the more questions, the goofier the language, after all.
        .

        Yeah, I know, ,it's popular to diss perl for many of the same reasons - people too easily impressed with their own cleverness looking for job security by writing impossible to read code is blamed on the language, which would actually apply well to almost any of them. But you don't have to write bad or hard to read code. I've had people ask me what C(++) syntatic sugar templates I'm using to make my code so clear. I'm writing for myself and the poor maintainer who'll have to look after it later is me. I like me...so I make it easy. Freedom is always a doubled edged deal.

    • by isj ( 453011 )

      And if you start out with, say, C++ then you may discover your developers is not developing fast enough.

      Both interpreted and compiled languages have their place.

      I frequently make prototypes/experiments in python, and then when it comes to making the actual program I may switch to C++ or Java if the performance wouldn't be good enough in Python, or if I need special libraries for dealing with something, or there are some unusual constraints.

      • by djinn6 ( 1868030 )

        I frequently make prototypes/experiments in python, and then when it comes to making the actual program I may switch to C++ or Java

        I like to think I'm doing the same thing, but in reality those performance problems rarely comes up, and when they do they're usually not CPU-bound. So most of them are still in Python.

        Eventually someone will implement a faster Python interpreter and the problem will be moot.

    • Re:It's great.... (Score:5, Insightful)

      by jma05 ( 897351 ) on Saturday July 21, 2018 @10:07AM (#56985242)

      ...which is when you are supposed to profile to identify your performance bottle necks and write those in a native extension. Python was meant to be used with occasional supplementation by a fast programming language, not replace those. That is how most use it. Python even chose to sacrifice true multi-threading to simplify writing native extensions. If you have a lot of number crunching, you use a GPU math library from Python, not code straight in it.

      That aside, the main reason I use Python today is the ecosystem. I started using Python almost 2 decades ago, when it wasn't that popular - back then, I had to explain that it was just a nicer Perl, to people who had never heard of Python. Back then, the high performance languages just weren't very productive to use. Today though, things have changed. There are several programming languages that are almost as performant as C/C++, and yet are very easy to use with several high-productivity features. My favorite is Nim. Rust and Scala are also quite nice. But it is the libraries, not the language that still keeps me in Python. They cover just about everything. Most of the time, performance is the least of my concerns. Time to produce is (research analytics - quick disposable programs).

    • by sjames ( 1099 )

      If you've done things sensibly, the python program IS your design. You now just have to IMPLEMENT (not re-design) all or part of it in a language that stores things in a more compact form.

    • machines are big these days, and there is a lot of code that doesn't need performance, but say we take you at your word, it's still not python's fault: you designed it wrong. Python makes it as easy as possible to implement algorithms, and the result is readable, so they can be discussed and changed. If it doesn't go fast enough for your needs, then you did not figure out an appropriate solution. I have replaced C code with python, where the python ran 10x faster. This happens because people writing in m
    • by gweihir ( 88907 )

      Not really. If you know what you are doing, just add some really optimized modules in C. Python is great for glue code and prototyping though and the interface to C is exactly the same as for Python classes. For the other way round (embedding the scripting in C), Python is not so great, but Lua is a somewhat Python-like replacement that is really easy to embed.

      That said, no language is "the future of programming". All languages that have stood the trial of time have something going for them and have their p

    • by Joviex ( 976416 )
      .....as a prototype. If you are making huge systems in Python, I question your ability in the first place. Its meant for quick scripts, quick code, and prototypes.
    • by Z80a ( 971949 )

      If you need a program that runs fast, you use C/C++, but If you need to make a program fast, you use python.

  • No (Score:2, Insightful)

    by Anonymous Coward

    Next stupid question.

  • Popular != Good (Score:5, Insightful)

    by DogDude ( 805747 ) on Saturday July 21, 2018 @09:42AM (#56985116)
    If popularity was a determinant of goodness, McDonald's is the best restaurant in the US, and Wal-Mart is the best retailer in the US.

    Python is popular because it's relatively easy to use, not necessarily because it's "The Future of Programming".
    • In 1965 someone asked "is McDonald's the future of American restaurants?" The answer was yes, regardless of whether most restaurants were better.

      Is Python the future? That's scary, but it may be so. Why do I say it's scary? I wouldn't have said so 30 years ago. When I started programming, Python would have cool. Something very important happened in the mid 1990s. Something that completely freaked out Microsoft's programming tools team.

      When I started programming, I started by writing very simple programs in

    • It could be "The Future of easy to use Programming"...
    • Python is popular because it's relatively easy to use

      To me, Python is the default language for starting something if I don't have a good reason to do otherwise. It has a very nice set of libraries for everything and then some, and it's quick to test throwaway ideas. It's a bit like going into some weird foreign country, not knowing what's safe to eat, but then there's McD where you know what you'll get. For most specific tasks, there are better languages, but Python to me is the ultimate all-round language.

      I'm personally OK with the whitespace thing, but I

  • by Patrick May ( 305709 ) on Saturday July 21, 2018 @09:44AM (#56985126)
    I love that the Economist feels it necessary to explain who Kim Kardashian is to their readers.
  • Briefly? No. (Score:5, Insightful)

    by AlanObject ( 3603453 ) on Saturday July 21, 2018 @09:45AM (#56985132)

    It seems we will never get tired of "language X is the future of all computer science because Y it" tropes.

    In the past, X can be replaced with Ada, C, C++, Java, Javascript, Python, Erlang, or whatever. The list is endless.

    The term Y can be replace with "I like it," "I really like it," "I really really like it," or "I don't know what is going on but the StackOverflow numbers seem to mean something.

    Jeez. Can't we just all accept that some careers or individual software gigs involve programming in just one language. Most careers and gigs require multiple languages.

    Right now I am doing an Angular project that includes HTML, CSS, TypeScript, Javascript, and Java all at the same time. Is that the "future?" I have no reason to believe so. I am just trying to get a job done.

    There will always be another language to learn and there were always be another up-and-coming language on a hockey stick. That's not a bug that's a feature.

    • by dmomo ( 256005 )

      "It seems we will never get tired of "language X is the future of all computer science because Y it" tropes."

      "Language Klingon is the future of all computer science because fuck it"

    • Re: (Score:3, Interesting)

      by fermion ( 181285 )
      I consider Python like Pascal. Some of it's popularity is simply due to the fact that it is used as a teaching tool so a lot of people are familiar with it. It can do a lot, but ultimately what makes it good as a teaching tool makes it not so good for production code.

      Java and VB are the most popular languages right now. Java is taught to every high school AP computer science student. VB has the entire marketing of MS behind it.

      I use python for personal projects, which are simple and direct. I can imag

  • Unlike hardware, software programming has no future. Witness the demise of coding into skilled trade, software salary i.e. wage slavery and artificial intelligence creating self-correcting code, auto algorithms, ad infinitum

    • by gweihir ( 88907 )

      Bullshit. Sure, you need to do it a the top end, but with all the nil-whits churning out bad code these days, that is not so far out of reach. And there will not be any "artificial intelligence creating self-correcting code" or "auto algorithms" anytime soon, if ever. That is a myth.

  • by mykepredko ( 40154 ) on Saturday July 21, 2018 @09:57AM (#56985180) Homepage

    This type of story is even less useful than "What is today's most popular programming language?" stories that pop up here every week or so.

    Python is an excellent language and well worth knowing and being competent in programming in. But, so is Javascript as all developers tend to need to do some intelligent web UIs. Then there's C/C++, in which most of the world's system programming is written in. VBA is important to have to be able to work with databases/spreadsheets. And, of course you can't do anything without Rust and Go and Perl is great for doing something quick and dirty.

    How about an article pointing out that to have a successful career as a software engineer (ie "coder") you must be willing to pick up skills in different programming languages (and environments) and avoid latching on to what the pundits tell you is "THE PROGRAMMING LANGUAGE OF THE FUTURE".

    • Agree almost 100%, until you try and use VBA on a DB on linux - the most popular big production opsys. Then we use...it depends but perl is easier for me.
  • by dmomo ( 256005 ) on Saturday July 21, 2018 @10:00AM (#56985196)

    "The CIA has employed Python for hacking, Pixar for producing films, Google for crawling web pages and Spotify for recommending songs," notes the Economist.

    I didn't know the CIA uses Pixar to produce their films. And, I'm glad that they're in the business of recommending songs!

    • by Entrope ( 68843 )

      The important thing is that they avoided using the passive voice. They could have written "Python has been used by ..." and had no problems with the parallel construction they used. I would guess that's what the original author really wrote. Then someone came along with a grudge about the passive voice and butchered the sentence.

  • I've never been a professional coder.
    I did some pascal and VB6 in highschool, I took some programming classes in college, but my career is in art and design.

    It has always been useful to know a bit of programming, picked up Flash when I needed, wrote some tools to optimize my workflow in Photoshop with Javascript, and recently started helping out with the broader pipeline at the studio using Python and Qt.

    You may never write an OS, or a large higher-performance application in it, but it's great for a persona

  • by zm ( 257549 ) on Saturday July 21, 2018 @11:09AM (#56985500) Homepage

    cannot be THE future of programming.

  • Maybe it could be for opensource stuff.
    But not for everything.
    And, did I already say "no"?

  • Kim Kardashian probably generates a lot of Python traffic herself with her python boots [google.com].

  • Most people worry about "future X" mostly to plan, so that part is easy: yes, if you work with computers and want to program, Python is one of the best and most useful first languages you can learn. Yet, at the same time, it has serious limitations. On the other hand, if you want to be a professional, you need to know other languages as well and you need to understand the limitations of Python.

    Furthermore, planning for the future, you need to be aware that Python is not a standardized language, that its suc

  • I like the design's philosophy a lot.
  • Until the first three layers of OSI are perfected, ain't SHIT the future of programming.

    Which means Python is NOT the future of programming and will never be, because no company has any interest in doing the first three layers of OSI properly in the first place. Intel already made that loud and clear.

    • by JustNiz ( 692889 )

      What does the OSI have to do with it? You realise there's actually far more programming going on than just internet-based stuff right?

  • The future came here a decade ago. If you missed the python bus, think of it like the Fortran or Cobol bus.
  • ...someone comes up with a new and improved programming language called something like Boa Constrictor or Anaconda. Programmers can be suckers for the latest fashions in languages.
  • Ask me again when it makes more sense to write a device driver in Python than in C.

  • by blavallee ( 729704 ) on Saturday July 21, 2018 @04:37PM (#56987004) Journal

    Having contributed a hundred searches in the last week, it's another BAD metric claiming how popular python is.
    Last time, it was that python had the most questions on Stack Overflow.

    When a search does not answer a question, when Stack Overflow does not have the answer, it does not mean python is popular.
    It indicates that python is the most frustrating!

    I spent hours trying to get python to use syslog. Any may other languages it's simply syslog().
    To do it with python, search for it yourself. You'll find a dozen ways to do it, but which will work for you?

Technology is dominated by those who manage what they do not understand.

Working...