DEV Community

Discussion on: Language Features: Best and Worst

Collapse
 
cad97 profile image
Christopher Durham

I think the main thing that people look for in a modern "alternative" language is convenience and clarity.

Some specific possibilities:

  • Pick a "host" language and offer first-class interop. Immediate library ecosystem! (If non-idiomatic.)
  • Along the same lines, first-class project build and dependency management. Either integrate with an existing tool or make it as or more convenient than your favorite.
  • REPL. Almost a must-have for quickly understanding a new tool today.
  • LSP host and Jupyter kernel. Between the two you can support every development environment and awesome tooling in O(1) effort.

And the fun part, some anti-features:

  • Syntax overload. You'll pick up a language faster if you don't have to relearn everything.
  • Syntax uncanny valley. If it's too similar to a more popular language, people will just use that instead (or accidentally try to use it instead of yours).
  • Near-miss paradigms. Similar to your Java number hiearchy, adopting a paradigm almost everywhere but having some concessions in some corner cases just makes everything feel rougher.

And one more thing: I think there's the most available space around asynchronous-by-default. Play with an async runtime once you're up and running. There's potential there I haven't seen anyone fully hit.

Collapse
 
awwsmm profile image
Andrew (he/him)

REPL is a good shout. That will definitely go hand-in-hand with developing the language at the beginning.