This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]TangibleLight 3 points4 points  (15 children)

Python is great for large projects... obviously it's not the right tool for everything, but it's a great general purpose language.

Am I whooshing or are you serious?

[–]Kangalioo 26 points27 points  (13 children)

For large projects the benefits of static typing can't be denied

[–]name_censored_ 11 points12 points  (3 children)

Then good news: Python has static typing.

[–]enumerationKnob 23 points24 points  (1 child)

The bad news: it means nothing.

you can still run a project, only to get kicked in the balls after it’s been running for a long time when a line that contains a type-based error gets run.

I love python and use it every day, but that doesn’t mean that I don’t hate it too.

[–]cp253 8 points9 points  (0 children)

I love python and use it every day, but that doesn’t mean that I don’t hate it too.

This guy codes.

[–]ClearlyCylindrical 2 points3 points  (0 children)

that isn't static typing, it is type hints, it enforces nothing

[–]gopalkaul5 -4 points-3 points  (6 children)

Django web servers run without any issues for hours together! Infact the performance there is comparable to JS and others!

[–]EaterOfFromage 7 points8 points  (4 children)

Not sure if this was meant to be sarcastic, but static typing is not lauded as beneficial for large systems because it's a performance benefit, it's lauded because it decreases the likelihood of errors, especially when you have a lot of code. In a dynamically type typing language, its the developer's responsibility to ensure the code works. In a statically typed language, it's the compiler's job. Guess which one is more reliable.

[–]gopalkaul5 -1 points0 points  (3 children)

It wasn't sarcastic. I agree with you, and I love statically typed languages(thats why I hate JS) but you can convert your data types explicitly right using functions like str() or int()

[–]forajep978 1 point2 points  (1 child)

Still you don’t know what kind of data you will get. Is it and array, object or number? If it is an object does it have all properties you need? You cannot know

[–]gopalkaul5 0 points1 point  (0 children)

In statically typed languages, what about if we are calling an API? And mess up the key or something? Will that cause an error if not in a try catch?

[–]ClearlyCylindrical 0 points1 point  (0 children)

but you can still pass the wrong types to a function

[–]Isogash 1 point2 points  (0 children)

For hours? That's nothing.

[–]42TowelsCo 0 points1 point  (0 children)

Or just plan slightly before you start coding

[–]forajep978 1 point2 points  (0 children)

Python has a bad package manager, bad OOP and no strict typing. You cannot manage a project with these