Dear interwebs, what language am I describing?

Chris Davies
HackerNoon.com
Published in
2 min readMay 10, 2017

--

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

  • e.g. Not Java, C#, and other OO languages which encourage hiding data so that it is frustrating to figure out the shape of a data structure and how to get at it and/or change it.

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!

--

--