3 ms·
Kotlin and Swift are in a different family of languages from Ruby and Python. The whole family that Kotlin and Swift are in — static languages — offers much bet
by solidsnack9000 8y ago
Kotlin and Swift are in a different family of languages from Ruby and Python. The whole family that Kotlin and Swift are in — static languages — offers much better performance and error detection than the family Ruby and Python are in.
Compared to Ruby and Python they doubtless seem a little verbose. Type system features like genetics, which help to make Kotlin and Swift “expressive” in their family of languages, seem pointless from the standpoint of Ruby and Python.
So there are two aspects to this:
* What makes Swift or Kotlin compelling relative to other languages in that family?
* Why use that family instead of languages outside it like Ruby and Python?
People have been promoting dynamic languages as an alternative to static languages for many decades but it doesn’t seem like performance has ever truly caught up enough.
- samatman 8y agoThis is true of the examples of dynamic languages you have chosen. It is not true of LuaJIT, which is as dynamic as languages get. Error detection and correctness, sure; raw performance is not the issue you've made it out to be. Ruby and Python were fair choices, together they must have 10-50x the mindshare Lua does.
- slavapestov 8y agoLuaJIT performs well on certain microbenchmarks which are both heavy on numerics while operating on small amounts of data; while it has a cute design it’s no panacea and really rather simplistic.
- solidsnack9000 8y agoLua and JavaScript are both examples of dynamic languages where the performance is really impressive. Lua (like plain JavaScript) is a more spartan development experience than Ruby or Python. I'm not sure what it is; but languages with rich OO seem to be what get picked up by people who need to build "applications" (windows where people click around in them).
- eatonphil 8y agoCommon Lisp (SBCL anyway) and Chez Scheme are further examples of high performance dynamic languages.