Old Man Yells At Cloud
On 16/09/2017 19:00, Stefan Ram wrote:
> Steve D'Aprano <steve+python at pearwood.info> writes:
>> "Hi, I've been programming in Python for what seems like days now, and here's
>> all the things that you guys are doing wrong.
> I never ever have written a line of Python 2. I started with
> Python 3.6.0. Yet a very frequent mistake of mine is the
> imission of parentheses after ?print?.
> WRT my other common errors, It thought of writing
> a program that autocorrects my source code as follows:
> Whenever the next line is indented more, add a colon:
> abd def ghi
> jkl mno pqr
I've used Komodo in the past and that editor works other way round, type
a ':' at the end of a line and the next line is indented. I would
presume other language aware editors take the same approach.
Your idea would require considerable inteligence in the editor,
1. Otherwise the previous line would print with a ':'
2. That would frustrate me.....
> abd def ghi:
> jkl mno pqr
> Whenever the next line is indented more, add "def" to
> what looks like a call (and does not start with ?class?
> or ?def?;
> f( x ):
> return x * x
> def f( x ):
> return x * x
> Whenever a line starts with "print" and no parentheses
> are following, add them:
> print x, 2
Strangely I find it irksome to have to write print as a function call in
Python 3. Must reflect those long ago days when I started to program
(oops, I mean code - programming came later). Come to think of it
there's something irksome about every language I've ever used. Python
probably the least.....
> print( x, 2 )
> Implementing algorithms from "The Art of Computer
> Programming" might sometimes be difficult in Python, since
> those algorithms IIRC often use ?goto?.
Good point. I also have a copy of that work of art (and the fascicles -
I must get out more). Sadly little work these days requires diving into
them. In fairness to Knuth his pseudo code is a high level assembler
fully described in Vol:1 and done as such so folk from any high level
language background could follow the algorithms. Back then many like
myself, or indeed most coders, had a hardware background and well used
to assembler. The nearest thing most silicon has to structured
programming is call and return, gotos are everywhere.
I always think one of the reasons Basic became so popular was its /goto
/statement. The other was the run command, no need to compile.
See /http://entrian.com/goto// for a Python implementation from many
years ago. No idea if it still works. To be honist never needed it -
Python has exceptions.
Also there was a interesting thread '/"Goto" statement in Python/' in
April this year (not the 1st). Although mainly interesting for its
references to gotos in 'C' which I use daily now. err 'C' that is. . . .
Used to wind up colleagues by saying loudly "Great, I can use a /*goto
*/here.....". This attracted considerable verbal abuse from purists in
earshot and instruction from the boss NOT TO which I pretended to
ignore. After all Python programming is supposed to be fun!