3 ms·
Just for example, the lack of explicit variable defs. I create a variable and update it later. I rename the variable but forget to change it where it is updated
by internetter 1y ago
Just for example, the lack of explicit variable defs. I create a variable and update it later. I rename the variable but forget to change it where it is updated. No errors produced in the IDE because the place where it is updated is now just creating the variable instead so all the references still work. `let` is a good keyword.
It drives me crazy how everything just... blocks. Parallelization is a disaster.
I won't comment much on indentation. All the string formatting syntaxes is crazy. Private names managed by `_`. The type system still mostly sucks. Ect ect.
In my experience it is alright to write short scripts but complexity very quickly balloons and python projects are very often unwieldy.
I would write a script in python, but only if I was positive I would never need to run or edit it again. Which is very rarely the case.
- BeetleB 1y ago> No errors produced in the IDE because the place where it is updated is now just creating the variable instead so all the references still work. `let` is a good keyword. I too would prefer let. But the number of times what you mentioned has bitten me in almost 20 years of programming Python can be counted on in one hand. And these days, just use the "rename" feature in your IDE!
- paulddraper 1y ago> Just for example, the lack of explicit variable defs This is an extraordinarly common feature among scripting languages. In fact, JS is really the odd duck out. Shell, Ruby, Lua, Perl, R, AWK, etc > I rename the variable but forget to change it where it is updated. Type checkers will catch this. (And IDEs will help.) You don't have to use type checking of course, though it sounds like you like to. > It drives me crazy how everything just... blocks. There are comparatively few languages that primarily rely on cooperative multi-threading. > All the string formatting syntaxes is crazy. f"Hi my name is {name}" --- FWIW, you just don't like most scripting languages. Which is fine, but it goes far beyond Python. Python, Perl, Ruby, PHP, Lua, Tcl