4 ms·
I have tinkered with dozens of languages, yet, when I can choose a programming language and money is on the line, I always ask the following questions: - Does
by TurboHaskal 7y ago
I have tinkered with dozens of languages, yet, when I can choose a programming language and money is on the line, I always ask the following questions:
- Does it have a standard and a good track record for backwards compatibility?
- Is it memory safe? (Bound checking, no pointer arithmetic, etc.)
- Does the runtime have automatic memory management in the form of a tracing GC? How tweakable is it?
- Does it have kernel thread support?
- Does it have a centralized package repository?
- If typed, will the type system assist me in defining the business domain? Does it have type inference?
- If dynamic, will the development experience allow me to experiment, inspect and redefine stuff at runtime?
- Can I distribute my programs as a binary or dump everything onto an image?
- Can I go low level when it matters? How's the FFI experience and overhead?
- Does it run on the major operating systems?
Things I don't care about: Syntax, static vs dynamic typing / OOP vs FP religious wars, community size or "niceness", library count, logos, on-boarding experience aka the possibility of hiring cheap juniors.
Cute mascots are nice though. We need more of that.
- tom_mellior 7y agoWhat answers do you come up with for these questions?
- TurboHaskal 7y agoNo perfect answer yet but I am mostly programming in Go and Common Lisp these days. I am looking forward to multicore OCaml and maybe I give F# a go.