4 ms·
When you have a system that is at big scale, even a 2x speedup can relieve a huge amount of problems. I think that Go, which is very inexpressive for modern la
by gameswithgo 7y ago
When you have a system that is at big scale, even a 2x speedup can relieve a huge amount of problems.
I think that Go, which is very inexpressive for modern languages, only expanded the code size that much, should make people consider whether we should ever be using interpreted, dynamic typed languages. Perhaps various JITted/compiled and statically typed languages can offer the same productivity on medium to large sized projects while just being a lot faster on top of it.
People who love Python may especially enjoy Nim, or F#
- melling 7y agoIf you like F#, it’s based on OCaml.
- nimmer 7y agoNim is the closest language to Python. Translating to Python is a breeze and you get speeds comparable with pure C.
- downerending 7y agoYou seem like a Nimmer. What would you describe as the biggest downsides of Nim wrt Python? (aside from the fact that it's currently a niche language.)
- nimmer 7y agoThe only two that I can think of are due to static typing: You cannot enforce types only where you want, like mypy. Yet, type inference and automated conversions help quite a bit. There's an unofficial REPL in the compiler but you cannot do dir() or tab-complete methods/procs. You have to rely on documentation, nimsuggests or IDEs instead.
- downerending 7y agoHaving done a significant amount of programming in both Python-like and statically typed languages, I think the idea that they offer similar productivity (i.e., time to correct, maintainable implementation) is simply false. And in a number of cases I've turned an existing program in a language like C or Java into a faster program in Python. One of the benefits of a fluent language is that you can explore more of the possibility space and look for better solutions. That's difficult and costly in static languages.