Yeah, I agree, I've also reluctantly come to the conclusion that significant whitespace as the only option can suck a bit - places too many demands on the editing tools, clipboard etc. Definitely a double-edged sword.
For the use-case you're talking about, something like ruby or javascript (!) or a lisp would be better.
But python is nicer to read and has great libraries for a lot of things. Hey-ho. Can't have everything, eh?
I agree with anonymous coward below - I don't see how list comprehensions and generators are clearer than 'map' and 'reduce' (or is there some other reason you think generators and list comprehensions are better?.. more flexible? more concise?)
I use list comprehensions and generators, and it's fine; but frankly they're not that self-explanatory or intuitive. For a language that aspires to be almost pseudo-code, python sure has its share of weirdness and magic.
You just mixed up will and intelligence. I think they are two different things. I guess that an AI will not have human emotions and motivations unless they are designed in. Ergo, the handler should be feared more than the AI at the outset (of course, that may change with accidents and evolution).
Whoever makes the first AI capable of improving itself had damned well better stick to that principle. You know it really isn't funny. It's not the AI you should worry about so much as the people in possession of it. And Google (i.e. USA) are not the only outfit involved in this arms race. Bad, bad, bad. This one could make the Manhattan project look like the work of amateurs.
Surely there are different sorts of errors, which would suggest different approaches for dealing with them?
Programmer error. Should be uncovered during testing; where information about the point of failure and the state of the program at that point is invaluable. However, any remaining code of this sort in a final product should not bother the user with the details, but rather log them for passing back to the developer.
Installer error. Sort of a mix of 3. and 4. below.
System error. A problem with the state of the system (perhaps a network connection is down, or the disk is full): as with a user error, the program should do what it can to continue, and tell the user exactly what is wrong so they can do something about it.
User error. The program should endeavour to continue doing the most sensible thing possible and/or tell the user what they have done, and what they should have done. A user does not want to see Exception messages.
I guess it's pretty hard/futile to deal with most of these issues at a language level, because the appropriate course of action and channels of communication depend on the system. It strikes me that most of this stuff is something a domain-specific framework or API should be handling.
I like python, and use it a fair bit, but the news hardly comes across as an endorsement, does it? To be fair I'm not sure Python is a super-fantastic fit for Google - it may be easy to read, excellent for prototyping, glue, and access to useful (esp. scientific) libraries; but it's not the absolute best language for text processing, web stuff, GUIs or speed.
And the prototype model is more pragmatic and less crazy than the object-fetishists will ever admit. You can do functional-style programming in javascript pretty well too.
Could it be that javascript is a language whose time has come, and the Khan academy have made a smart choice? Let's face it - it wouldn't harm to have more well-trained javascript programmers.
QWERTY is rubbish for one-handed typing, so I can see the advantage of a layout like Dextr (and for one-thumbed-typing, the 3-letters-per-key with predictive is perfect).
However, it *is* annoying as hell when a layout you know is messed around with (ever tried foreign keyboards..?) No compelling reason for QWERTY to be dropped from workstations and laptops.
What's wrong with knowing both? Different tools for different jobs.
just curious
Yeah, I agree, I've also reluctantly come to the conclusion that significant whitespace as the only option can suck a bit - places too many demands on the editing tools, clipboard etc. Definitely a double-edged sword.
For the use-case you're talking about, something like ruby or javascript (!) or a lisp would be better.
But python is nicer to read and has great libraries for a lot of things. Hey-ho. Can't have everything, eh?
I agree with anonymous coward below - I don't see how list comprehensions and generators are clearer than 'map' and 'reduce' (or is there some other reason you think generators and list comprehensions are better? .. more flexible? more concise?)
I use list comprehensions and generators, and it's fine; but frankly they're not that self-explanatory or intuitive. For a language that aspires to be almost pseudo-code, python sure has its share of weirdness and magic.
;-)
kind of answers that one, doesn't it?
perhaps someone ought to fork it and fix it up... http://writeonly.wordpress.com/2010/04/01/whython-python-for-people-who-hate-whitespace/
>>> from __future__ import braces
Creative Suite would be expensive at a tenth of the price.
... obviously! Some things will never change.
You should've named your post "Do No Good" ;-)
You just mixed up will and intelligence. I think they are two different things. I guess that an AI will not have human emotions and motivations unless they are designed in. Ergo, the handler should be feared more than the AI at the outset (of course, that may change with accidents and evolution).
Whoever makes the first AI capable of improving itself had damned well better stick to that principle. You know it really isn't funny. It's not the AI you should worry about so much as the people in possession of it. And Google (i.e. USA) are not the only outfit involved in this arms race. Bad, bad, bad. This one could make the Manhattan project look like the work of amateurs.
Herbert did have a point you know
http://en.wikipedia.org/wiki/Orange_Catholic_Bible
Surely there are different sorts of errors, which would suggest different approaches for dealing with them?
I guess it's pretty hard/futile to deal with most of these issues at a language level, because the appropriate course of action and channels of communication depend on the system. It strikes me that most of this stuff is something a domain-specific framework or API should be handling.
Somebody modded me down for that?
I like python, and use it a fair bit, but the news hardly comes across as an endorsement, does it? To be fair I'm not sure Python is a super-fantastic fit for Google - it may be easy to read, excellent for prototyping, glue, and access to useful (esp. scientific) libraries; but it's not the absolute best language for text processing, web stuff, GUIs or speed.
In my case, was that Google are moving away from Python. Also see the last answer here:-
http://stackoverflow.com/questions/2560310/heavy-usage-of-python-at-google
Perhaps there are some anonymous Googlers out there that are brave enough to comment?
Before you blindly dis' javascript, listen to Crockford
http://www.youtube.com/watch?v=gz7KL7ZirZc
"Lisp in C's clothing"
"Lousy Implementations" to blame
And the prototype model is more pragmatic and less crazy than the object-fetishists will ever admit. You can do functional-style programming in javascript pretty well too.
Could it be that javascript is a language whose time has come, and the Khan academy have made a smart choice? Let's face it - it wouldn't harm to have more well-trained javascript programmers.
in Chrome it just works
QWERTY is rubbish for one-handed typing, so I can see the advantage of a layout like Dextr (and for one-thumbed-typing, the 3-letters-per-key with predictive is perfect).
However, it *is* annoying as hell when a layout you know is messed around with (ever tried foreign keyboards..?) No compelling reason for QWERTY to be dropped from workstations and laptops.
What's wrong with knowing both? Different tools for different jobs.