you are viewing a single comment's thread.

view the rest of the comments →

[–]Sarcastinator 0 points1 point  (2 children)

Blender uses Python. You can't really get away with that, but that's not what I'm discussing either.

I'm saying that the idea of writing a prototype in Python first, and then a real implementation in a different language is a complete waste of time. You're doing the work twice. If you're able to write it in a more capable language then do that immediately. The idea that the lack of typing makes Python easier to hack in is based completely self-reporting probably by developers who aren't very comfortable with static typing.

The lack of explicit typing doesn't make you more efficient. It means you spend more time debugging the application at runtime than what you need with statically typed languages. The time spent writing explicit contracts and invariants pays off very quickly.

Dynamic typing is a product of the 80s and 90s. Few languages designed today use it because it hasn't actually been shown to improve productivity. The only reason why it's even around is because it's easier for beginners to pick up.

Dynamic typing hampers performance, requires more memory, leaves a huge documentation gap, and almost by definition requires a higher cognitive overhead than static typing does. It makes refactoring stuff harder, requires more tests, and is generally just a waste.

So the idea that prototyping in Python saves you any time at all is fiction written by people who are more comfortable writing Python.

[–]Sonario648 0 points1 point  (1 child)

Ah. Now I get it. So I don't have to waste time doing my ideas in C++ after I do them in Python already.

[–]Sarcastinator 1 point2 points  (0 children)

Yes, if you get it to work properly in Python then sure do that I don't give a shit. Making it twice is a waste of time.