Is Python the Future of Programming? (economist.com)
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."
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."
... 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.
"Lock and load, Brides of Christ!"
Next stupid question.
No
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".
I don't respond to AC's.
I love that the Economist feels it necessary to explain who Kim Kardashian is to their readers.
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.
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
I'd rather go back to Perl.
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".
Mimetics Inc. Twitter
"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!
"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"
10 More people use it.
20 That means more jobs using it, which means more people learning it and teaching it, and more books & courses about it.
30 Goto 10.
GP's fallacy was irrelevant conclusion.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
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 languages such as BASIC, which ran first on my computer, then on a Casio calculator / handheld computer they sold in the 1980s. I'll never forget impressing my friends with a program that consisted of nothing but a loop and set of IF statements. It would prompt you to enter your name via the keyboard, then print in the screen "you're cool" or "you're weird" or whatever based on the name you entered. I think for one name in particular, Casey, it said "you're pretty". A very simple program, by a beginner programmer.
Few new programs today take input via keyboard and print output to the screen. These days, they take input via the Internet, query other resources over the network, and return something over the internet. It's no longer my boyhood crush Casey entering something, it's hackers from all over the world. They attack each program hundreds or thousands of times. Very simple programs by beginning programmers are now vectors for multi-million dollar losses. It's very hard to learn safely these days, because it requires some expertise to design and code software that will be safe against constant attacks. I don't know that I could learn today, it's just too dangerous for beginners to run code exposed to the internet, and today most code is exposed to the internet. Even a super simple programming task like a thermostat -
if (temp desired) {
Hear = on
}
Is now an IoT, and a threat.
This worries me because as we make it easier to create software, more possible for people who don't know what they are doing to expose your systems, we are now having so much exposed by people who haven't studied. You CAN write code without learning much at all. You can, that very much doesn't mean you SHOULD. Not in today's society, where everything is online.
I've recently started learning Python but I'll say this, Python maybe a good starting point for most. However, it needs to looked at like a type of language. Once you learn that language good enough it's time to move on to the next then figure out how to build relationships between the two languages. For example, having Python pull information from SQL. Either way I'm not calling any language the future of Programming unless it's AI programming for a better AI at which point the human is removed from the entire equation. AI then determines that in order for robots to perform better with less issues(like rust or less friction) oxygen must be removed from the planet..... let your imagination run from there...
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 personal project, a mock up, or glue for transferring data between various disparate pieces of software.
The industry I'm in (VFX, Animation) has basically standardized on Python as the scripting language most applications use internally and between themselves (Except for Adobe who have their own personal flavor of Javascript, because, fuck everyone else, build that garden wall)
Hardware trends gravitate towards adding more and more CPU cores and threads in order to increase performance instead of increasing IPC and clocks. AMD will soon release their 64 thread monsters for HEDT and workstations and we're seriously discussing if Python will be the future?
Maybe in very specific niches, but I don't see it utilizing future hardware very well compared to the many other options that are capable of running multiple threads.
Not the future of programming, just a general purpose language future very easy to use, including non-programmers, from various fields of science, economy, sociology etc with an "affordable" as time/effort on a quick learning curve by anyone with some interest in programming. And also more than a toy, allowing development of complex projects, for free and [a language] with a huge user base which can help new users.
Obviously *(no)SQL or Java, C++, C# etc do not fall in the same categories with Python and can't be compared directly. Shortly can successfully open the doors (and mind) to anyone wishing to enter in programming field. Not a replacement.
If only Python were the future of programming...
I had hoped that Prolog would be the future of programming. The horror is that JavaScript is the future of programming.
Tab should have a key-code, but not a ASCII code, like Shift. It has no place in a document, whether it be code or prose
You do realize that tab characters are used in places other than "code or prose"? It's very useful for document/table formatting especially for non-proportional fonts. It's also very useful in UI processing (ie moving between controls in a dialog box).
I don't think what you're asking for is all that modest.
Mimetics Inc. Twitter
cannot be THE future of programming.
Sig ?
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 imagine Pixar using it as they write code for each movie, and are not widely deploying it to end users.
I suspect in a decade scripting is not longer going to be the status quo, and the kids will be learning programming by moving blocks. Don' scoff, it is already happening and all that is needed is to expand and refine the technology.
"She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
Maybe it could be for opensource stuff.
But not for everything.
And, did I already say "no"?
Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
Kim Kardashian probably generates a lot of Python traffic herself with her python boots.
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 success is due to one implementation, and that it keeps changing.
Okay, so I said secure programming is hard, you need to know what you're doing.
You disagree that it's hard, because people who call themselves professionals sometimes can't do it right. Professionals sometimes can't manage to do it, therefore it's easy. Is that right?
I usually don't care much about these discussions, but I feel there might be some room for clarification.
I'm not sure if Python is really the future of programming language, but it definitely provided a glimpse of what a possible future might look like. Whether people like it or not, this programming language lowered significantly the access barrier required to start writing useful and powerful code, without sacrificing functionalities.
It's not C/C++, it's not incredibly memory efficient, and performance is significantly lower than compiled languages, but...
There are professional programmers using it for the most obvious thing (prototyping new code) as well as writing complex programs that were not worth the time investment of writing in C++. Although, the big difference is the democratization of programming for people like me that don't have the time and the resources to build serious programming skills. The lower access barrier allowed many people to implement their ideas, make them work, and spread them around... sure, in a high-level, slow, and memory inefficient language, but do we really care? There are many places where the idea is far more important than the implementation like often in the scientific world, notoriously famous for providing crappy code.
Tons of people have benefited from countless programs doing very complex operations, or just simply scratching long standing itches (matrices operations, 3D operations, data sanitization, etc.).
If your Python code is really useful and needs to be made faster, you can hire a programmer to re-write it in C++, but in the meantime it might have reached a significant critical mass of interest/users that make it possible (getting funding, etc...).
Python is likely how an everyday programming language might look when most of the people will write a program at some time in their lives. On the other hand, if Python is the only reason to define yourself as a professional programmer, then it's obviously a problem.
This might help
(setq-default indent-tabs-mode nil)
If you can't get Python indentations right, you may be in the wrong profession.
Python has its moments. Long scripts can be hard to navigate. The occasional need to understand the difference between deep and shallow copy can be unintuitive. Some of the library routines don't do what one might expect. For example a = sort(my_data) won't do what one probably expects. You probably want sorted, not sort Some of the error messages can be a bit obtuse. UnboundLocalError -- Whaaaa? Why me, God?
But white space? Not a problem for most folks.
You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey
I think that "Python is the future of programming" if it's true at all, is sort of like a century from now, almost everyone on the planet will be able to carry on a rudimentary conversation in one or more of English/Chinese/Arabic and/or Spanish as well as whatever their native language might be. It's not that all, or even most, programming will be done in Python. It's that most everyone who programs at all will be comfortable using Python if they need to.
You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey
Extremely funny (and true. It's always funnier when it's true). I like the way you subtly brought Trump supporters into the argument. I would've "liked" or "voted" for you post, but Slashdot is too mind boggling primitive for that. I'm going back to Reddit now... Catch you later.
Ben in DC
"It's the mark of an educated mind to be moved by statistics" Oscar Wilde
I like the design's philosophy a lot.
At least; I hope not.
Great minds think alike; fools seldom differ.
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.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
Python is the Cobol of Lisps
If you can't get Python indentations right, you may be in the wrong profession.
I second that. The style is a bit unusual, but anybody competent should not need more than a few days to get used to it.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
What does the question "is Python the Future of Programming" mean? So a bunch of noob brogrammers who are Python fanboys think that every other lower level language sucks? And what programming language is their favorite Python interpreter written in? Don't get me wrong, I'm not an anti-Python zealot, Python is awesome when you write web scrapers, glue other low-level components or prototyping something. Python overall has a huge number of useful libraries. But a person must be brain damaged to expect a complex program such as a heavy game, OS or a web browser to be written in Python. Every language has its place.
The future came here a decade ago. If you missed the python bus, think of it like the Fortran or Cobol bus.
Mind you, you can do anything in Brainfuck too.
The world's burning. Moped Jesus spotted on I50. Details at 11.
...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.
Debate is a form of harassment. Do not question my truth.
Ask me again when it makes more sense to write a device driver in Python than in C.
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?
There is nothing wrong whatsoever with stating that the keyboard-detection failed, please plug in a keyboard, and then press F1 as a positive-verification test.
If the hardware cannot handle keyboard hot-plugging, it's a very bad idea for an error message to encourage keyboard hot-plugging. A lot of implementations of the AT and PS/2 keyboard interface did not support hot-plugging; doing so would cause them to permanently stop working.
Keyboard dependence also discourages use of a machine with input devices other than a keyboard, such as headless servers or joystick-driven video game players.
And how exactly would you then print a text document on a traditional line printer?
The tab "character" as in ASCII code, moves the printer head to the next tabulator position, which can be completely arbitrary, usually it is encoded in the first line of the document as ESC sequences or you _manually_ set them at the printer by moving the hardware tab stops.
You have no clue padawan ....
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
Hiring a competent admin can prove more expensive than hiring who's available to you in your city, especially in low-cost-of-living parts of the country or world where time costs an employer far less than 100 USD per hour. The cost to license proprietary software for these 100 machines can also prove substantial.
While the language itself may be nice, the ecosystem surrounding it is rickety at best.
It takes basically zero effort to get the interpreter completely incapable of finding libs that by all accounts should be smack dab in the search path.
On top of that is has contracted the ongoing pox of modern programming, the language specific package manager.
End result is dependency sprawl, as rainbow haired devs just ram another lib into the dep file and pushes to prod when they encounter any "problems" with their "masterpiece"...
I see Python used in the Linux camp for scripting things. I got into a tiny flamewar in another article on PowerShell for Linux on what MS is creating a snap for it and it has to due with half of your servers being hosted in Amazon E3 or Azure. Python also is an excellent scripting resource if you use AMazon E3 apis and want to integrate it to your bash scripting or PowerShell workflow.
Python is object based so sometimes it is needed to do extra tasks and customization. Sure there is puppet but for simple things it is nice to an API to do things.
Perl 18 years ago started to pick up some news as the new hottness outside of Java here on Slashdot but it never took off for a variety of reasons. Python is also easy to whip something together and is used by people in Finance who are tired of VBA as well.
In addition Visual Studio 2015 and 2017 also include Python and for the 90% in the win32 world if it's not in VS it's not there :-) But that is part of the popularity as well.
http://saveie6.com/
Unless you're trying to collaborate with somebody over a channel that mangles leading whitespace. That's the biggest nontrivial criticism of indentation-as-syntax: you can't demangle it with an indenter.
Either Python or "Donald Trump", Google Trends says so. Either those 2 or "Anal Sex", right behind them.
Are you seriously telling me I am going to be the first to invoke: https://en.wikipedia.org/wiki/...
Consider an interface that combines ChatScript, NLTK, Blender3D, InMoov, and Cure. What could one do with a tool like that?
Not sure what you mean but I am sure there have been many people over the years who concluded -- wrongly -- that Java would be the ultimate language and you wouldn't ever need any other. I am not one of them.
obviously, rockstar is the only programming lanuage that has a future.
https://github.com/dylanbeatti...
On a long enough timeline, the survival rate for everyone drops to zero.
The project that you said you were doing right now is mostly using web languages, except for Java, which is compiled. I'm just curious how that fits into your development workflow. Purely out of interest; I'm a web designer, but I like to ask my programming team members how they handle their projects. :)
I'm frustrated that an entire generation of programmers seem to turn to Python for *EVERY* task. It drives me nuts. Python is a scripting language... stop trying to write applications in it that do *really* complex or large scale things. I'm starting to step over so much poorly written python code in my career in places it doesn't belong. We have so many great compiled languages now for big data or complex tasks such as golang and Rust... use the right tool for the job dammit. Get off my lawn.
Oh. Sorry I was being dense.
I use Java on the server side -- a REST interface application implemented with the javax.ws.rs.* class library and running in a Glassfish 5 container.
The kids are taught these days to use node.js on the server side but I like the facilities and frameworks you can get in the OSGI environment Glassfish 5 users. Also I have doubts about a node.js-based server being able to scale up for my application anyway. I might give it a try later and end up with an application Java-less from front to back.
"Language Klingon is the future of all computer science because fuck it"
Luckily all the required glyphs are in Unicode now. No code snippets pasted to Slashdot though...