I’m going to describe my ideal language. What I want to know is: what language is this?
- Cultural proclivity to produce clear, obvious code (like Go)- 1st class server-side web/api development experience- Great REPL experience- Great IDE experience w/ refactoring and intellisense support- Great debugging experience- Immutable first, first-class immutable types- When needed, mutability is not like pulling teeth- Monadic error handling- Ability to say “what is this term?” like (source …) (doc …) in Clojure’s REPL- Data-first development (like Clojure) but with statically enforced guarantees about data shape- No private data*- Good perf analysis tools- No null- Gofmt- Good parallelism- Good concurrency- Simple to deploy/distribute (produces a native binary)- Great cross-platform support- General purpose (can be used to build web apps, native apps, terminal apps, etc)- Welcoming and enthusiastic community- Good package manager- High quality library (or standard library) support for most common scenarios (database connectivity, logging, monitoring, etc)- Low average rate of WTFs-per-line
Hacker Noon is how hackers start their afternoons. We’re a part of the @AMIfamily. We are now accepting submissions and happy to discuss advertising & sponsorship opportunities.
To learn more, read our about page, like/message us on Facebook, or simply, tweet/DM @HackerNoon.
If you enjoyed this story, we recommend reading our latest tech stories and trending tech stories. Until next time, don’t take the realities of the world for granted!