Python is fine as a language I guess
But python programmers give it a bad name. I’ve never seen “well written” python code, it’s always shit that’s been thrown together cos it works.
It badly needs strong typing. And braces.
just put int_ or str_ in front of your variables
problem solved 😌
Doesn’t Python 3 have types? I’ve seen a few well typed codebases and it really made the code much easier to understand. Or is it just that it’s not checking them strongly enough?
The type annotations are just fancy comments. They do not do anything at runtime. If you have a function that takes an int someone can still pass in a list or anything else.
The main advantage of typing for me is static linting.
I think python is good as it is for what it can do, mostly because I have no reason to use it.
What we need is lua with types!
Have you heard of Typescript-to-lua? I used to do Dota modding (which is in lua) with TSTL and it works great!
You write TS code (using Typescript syntax that includes types) and it is compiled into lua.
Wonder if that could be an alternative that can work for you.
How about some
fun
?fun
is the punchable face of keywords. I don’t know why, but I hate it.How about some
(defun)
?How about some
fn
instead?these puns are getting
func
ypub async fn foo() -> Pin>>>>>
oh fuck commonmark cant display the syntax :( well anyone who has done async rust can imagine
Pin<Box<dyn Future<Output=Result<AsyncResponseThatYouWillHaveToAwaitAgain<ActualResultType>, InscrutableErrorTypeThatDoesntImplementDisplay>> + Send + Sync + 'static + 20MillionMoreAutoTraits>>
Exactly, now we are talking
Ewww default exports. Explicit named exports are better! And so it begins
How very dare you share my opinion!
Who doesn’t use arrow functions?
Arrow functions should be used only for callbacks. I hate that people has started defining named functions with arrow functions in JS. Arrow functions are not hoisted and the ordering of your functions is going to get wonky, because you need to define all you functions first before composing them, when it should be the other way around. Start with the most high-level function which calls lower level functions.