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."
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."
It's great.... (Score:5, Insightful)
... 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)
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)
.
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.
Re: It's great.... (Score:3)
hmm, not sure i agree with that. python can do many powerful and complex things you never could with a shell script. some heavy lifting AI and other data analytics spring to mind.
The problem is more one of suitablity to team development and long term maintenance.
Re: (Score:2)
"Duck typing is extremely brittle..." As opposed to Duct Taping. Which is, if you will, what running TensorFlow from Python.
And before you get too down on Duct Taping, remember that's (part of) what got the Apollo 13 astronauts back from the Moon.
Re: (Score:2)
Both of these are true.
If your code is less than screen screens long, Python is OK.
Above that? Get a real language.
PS: Headline ending with a question mark? Betteridge's Law [wikipedia.org].
Re: (Score:2)
I don't think "screens" is a good measure for deciding whether Python is an appropriate language. I have a program with about ten thousand lines of Python code, and it runs just fine, thank you. (It imports an XML file describing the morphology of a language, and spits it back out as finite state transducer code, in under five seconds. The XML files in question tend to be a few thousand lines, generally with one open or close tag per line.) I'd hate to have coded that in any other language (*especially*
Re: It's great.... (Score:3)
I think the real issue with Python is not whether it is suited for large projects or not, but instead is that the package repository is completely blasted with piss poor quality modules.
Most of the Python modules I have attempted to use (thanks to Google and SE telling me I should), I find I spend a great deal of time fixing or rewriting modules and then feeling as if
Re: It's great.... (Score:2)
I dont think anything beats the "undefined is not a function" error message. took me years to get past the "well duh, but stating the obvious doesnt help me" reaction and realise its actually quite sensible. (javascript)
Re: It's great.... (Score:3)
I take that back, the worst error message is and always will be "keyboard error, press F1 to continue"
Re: (Score:3)
the worst error message is and always will be "keyboard error, press F1 to continue"
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. I bet that I have done exactly that rectification at least 500 times since 1981 (although which keyboard connector I use has changed about once each decade).
Re: (Score:3)
Personally, I prefer:
User error: Strike user to continue!
Re: It's great.... (Score:2)
I thnk you mean C is now written in C++
Re: (Score:2)
So you have 600 files. It takes you 30 minutes to write a C program and 4 seconds to run it.
I can write the same program in 10 minutes in Python. The rule of thumb is Python is 100x slower on the CPU, but same speed as far as IO is concerned. So in the worse case it will take 400 seconds, most likely significantly less, since your 7 ms number inc
Re: (Score:2)
Re: (Score:2)
For a competent admin it is no difference if he administers 1, 10 or 100 machines. Especially with modern provisioning tools.
Re: It's great.... (Score:2)
Yup! I regularly do programming that is data analysis of files in the thousands and millions. The files are usually data condensed 500bytes or bulky 300megs (stupid xml) each. Proficient in Python and C.
I don't see much of a difference in C vs Python. Maybe 4x (no, I am not doing it wrong). If I replace the running bottle necks with C, I can easily get 50-90% of that.
BUT, when you consider how easy it is to transform a linear logic flow to work across local and distributed CPUs... Erlang, and C aren't w
Re: (Score:2)
Re: (Score:2)
Of course, it's very hard to compare development times. I'm good in Python, decent in C++, but very rusty with plain C. You're probably the opposite.
Re: (Score:3)
I wish I hadn't already commented on this subject so I could mod this comment up.
Michael Abrash is somebody who LITERALLY wrote the book on writing high performance code. More than one, actually. I also remember his posts on the subject on the late lamented BIX. He is the antithesis of an incompetent programmer.
Re: (Score:3)
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.
Re: (Score:2)
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)
...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).
Re: (Score:2)
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.
Re: (Score:2)
Re: (Score:2)
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
Re: (Score:2)
Re: (Score:2)
If you need a program that runs fast, you use C/C++, but If you need to make a program fast, you use python.
Re: (Score:2, Insightful)
> That was my criticism of Java 30 years ago... and yet...
Wow. You have some amazing psychic powers if you were criticizing Java in 1988!
Re:It's great.... (Score:5, Funny)
To be honest, it's not that great of a coffee.
Re: (Score:2)
It's an interpreted language silly. His criticism of memory and CPU use was even more valid 30 years ago and everyone knew it. Just like JavaScript is making the web a pain like many knew it would since the day it showed up. It's a known trade off of the language.
Re: (Score:2)
Re: It's great.... (Score:4, Insightful)
Re: It's great.... (Score:2)
Management sees it as an unnecessary expense. I was actually speaking to somebody recently who backdated to an old version of Adobe CS2 because it was faster and he realized he never used the newer features. Just backdating ended up being an optimization.
Re: (Score:2)
Re: (Score:2)
Re:It's great.... (Score:4, Insightful)
This has happened multiple times. Last one was species analysis, combining species lists, GBIF distribution data, geonames data, and IPCC climate data.
The reality is that A) some tasks will always require significant performance or memory, and B) not all tasks' footprints are readily discernable when you begin the task.
Python is a real monster with memory in particular. The amount of overhead on every variable and every member of a list or dict is absurd. There are packages like numpy to help with this, but they're not universally applicable and more limited in capabilities than stl structures in C++.
Re:It's great.... (Score:5, Informative)
>>> a=0
>>> sys.getsizeof(a)
24
>>> a=""
>>> sys.getsizeof(a)
49
>>> a=[]
>>> sys.getsizeof(a)
64
>>> a=[0]
>>> sys.getsizeof(a)
72
>>> a={}
>>> sys.getsizeof(a)
288
Re: (Score:3)
Except for the integer, those sizes are comparable to most any language. Strings and arrays all involve at least one pointer and usually a capacity and size. On a 64-bit system, that can be 24 bytes right there. Hash tables are often allocated with some empty slots, so they are usually bigger still in any language. Python might be a little bigger in most cases to handle the overhead of dynamic typing, but it looks like it's within a factor of two.
At any rate, if you're doing any serious number crunching in
Re: (Score:3)
"Except for the integer, those sizes are comparable to most any language"
Really?
int main()
{
char a[1];
printf("%d\n",sizeof(a));
return 0;
}
$ ./a.out
1
Re:It's great.... (Score:4, Insightful)
That's apples and oranges.
The Python integer can hold an unbounded sized value (eventually using even more storage if the value goes over 2^63).
You allocated an array with a single character on the CPU stack (always reported as size "1", but you don't really know how big it is in octets; C doesn't specify). The tradeoff is that you now have several potential bugs/vulnerabilities:
* You can overflow the number if it gets larger than 127 (or maybe it's 255, or even some other limit; who knows? C doesn't specify)
* You need to manage the array size implicitly in your code and make sure you never index past zero.
* The lifetime of your object abruptly and silently ends after you return. You must manually make sure to never store a reference to your array anywhere that could outlast your function.
* You must mentally remember that a is not a null-terminated string, even though most C library functions dealing with characters only use that format.
* If you use any recursion in your program, the stack allocation might fail, possibly without warning, resulting in serious security vulnerabilities. You'd need to manually avoid that possibility.
Re: (Score:2)
Huh? Strcat() is a wheel that was invented a long, long time ago...and it rolls as well as it ever did.
You should never use strcat(). But if you do, you need to reinvent wheels that check at least three things every time you use it: The current size of the source, the current size of the dest, and the total free space in dest. Then you need to do the math to check for buffer overflows. Using strncat() safely is almost as complicated. (If instead, you've figured out static assumptions to guarantee safety, now you have a massive documentation problem for future maintainability.)
But all of that was just for sta
Re: (Score:2)
int main()
{
char a[1];
printf("%d\n",sizeof(a));
printf("%d\n",sizeof(&a));
return 0;
}
Re: (Score:2)
A "char" in C is not the same as an Integer in Python. ....
No idea why you wasted your time to compare a 1 byte structure with a pointer to an object.
Hint: you should at least have used: int64
Re: It's great.... (Score:3)
This. The popularity of CPython is not just because of the language features in my opinion. It is also the easy connection to C. I would even go further and claim the C connection is the most important feature. By writing "the application" in CPython and then rewriting the performance critical parts in C, you can get the best of both worlds.
Excellent libraries like numpy are written in both C and Python. Not either or.
Re: (Score:3)
> The amount of overhead on every variable and every member of a list or dict is absurd. There are packages like numpy to help with this, but they're not universally applicable and more limited in capabilities than stl structures in C++.
Then you Cython the heavily used data structures. But more likely, Python is perhaps not optimal for your use cases. In the end, it is still a glue language. But most of the programs typically written in Python never hit these performance road blocks.
Re: (Score:3)
Maybe I'm more prone to have my programming projects involve data crunching than the average person.
Python is great for a "whip it together quickly" project. Even with data crunching, some slowdown, and gobbling up half your memory, is fine. But push it too far, and everything falls apart gloriously. And knowing in advance whether you'll hit that bound is not always obvious. If I know from the beginning something will be a big project, I start it in C++.
Re: (Score:2)
Yep.
Simple rule: If the program is going to take more than a week to code, start in C++.
Re: (Score:2)
Even with C++17, C++ is the other extreme. There are several other languages that fall nicely in between - almost as fast and efficient as C++, while being as productive as Python. If you memory consumption is an issue I would suggest Nim (like Python), Crystal (like Ruby) or Rust (like ML). They are all quite high level and use very tight data structures and consume little memory.
https://github.com/kostya/benc... [github.com]
Re: (Score:2)
Love C++17.
Python is great because you can write something and there's almost no startup overhead - you just start shoving whatever data into whatever variables you want without having to define classes / structures, pass whatever you want without having to define types, etc - and it's got a great set of packages to work with. You get "out of the gate" a lot faster. But then it nickels and dimes you after that point due to the memory/performance overhead. And trying to work around Python's internal limit
Re: (Score:2)
Heavy data crunching with strict time constraints, automation, HFT, weather forecasting, and big numeric simulations are done with low level languages.
Re: (Score:2)
Re:It's great.... (Score:5, Funny)
Everyone! This guy is trying to shame vampire python programmers! /typicalSJWmoron
Go fork yourself! (Score:4, Interesting)
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.
Re: (Score:2)
No (Score:2, Insightful)
Next stupid question.
Re: (Score:2)
Is Python the Future of Programming? (Score:2)
At least; I hope not.
Popular != Good (Score:5, Insightful)
Python is popular because it's relatively easy to use, not necessarily because it's "The Future of Programming".
The future may not be good (Score:3)
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
Re: (Score:2)
In 1965, McDonald's probably served actual food.
https://www.youtube.com/watch?... [youtube.com]
In 1974 they were still cooking identifiable ingredients with basic kitchen tools.
I'm hungry.
People have trouble with it, therefore it's easy? (Score:2)
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?
Re: (Score:2)
Re: (Score:2)
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
Line numbers? Beats indentation, you cucks! (Score:2, Insightful)
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.
Re: (Score:2)
A reality TV star (Score:5, Funny)
Re:A reality TV star (Score:5, Funny)
She's one of those aliens from Star Trek, right?
Re:A reality TV star (Score:4)
Re: (Score:2)
Clever ;-)
She is making a lot of money though and some people mistake that for quality.
Briefly? No. (Score:5, Insightful)
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.
Re: (Score:3)
"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)
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
The future has yet to be invented... (Score:2)
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
Re: (Score:2)
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.
Another "Language X is the Future" Story? (Score:4, Insightful)
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".
Re: (Score:2)
Wow. The CIA offers some sweet services. (Score:5, Funny)
"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!
Re: (Score:3)
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.
Cleaner, more powerful, more open VB. (Score:2)
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
Single threaded toy language (Score:5, Insightful)
cannot be THE future of programming.
No, it isn't! (Score:2)
Maybe it could be for opensource stuff.
But not for everything.
And, did I already say "no"?
not independent (Score:2)
Kim Kardashian probably generates a lot of Python traffic herself with her python boots [google.com].
what's the question about actually? (Score:2)
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
Personally my current favorite is Julia (Score:2)
Answer = no (Score:2)
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.
Re: (Score:2)
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?
No, the future has been here (Score:2)
Only until... (Score:2)
Of course not. (Score:2)
Ask me again when it makes more sense to write a device driver in Python than in C.
Bad Metric: Rate of Queries (Score:4, Insightful)
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?
Re: (Score:2)
I have to say, Perl does take a real man to code in.......
Not a Modest proposal: Lose Tab its ASCII code (Score:5, Informative)
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.
Re: (Score:2)
(setq-default indent-tabs-mode nil)
Re: (Score:2)
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 spa
Re: (Score:2)
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.
Channels that mangle whitespace (Score:4, Insightful)
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.
Re: (Score:2)
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.
Re: It has a bright future (Score:2, Insightful)
Python is the Cobol of Lisps
Re: (Score:2)
Mind you, you can do anything in Brainfuck too.