AstonJ

AstonJ

What are your tips for language and framework creators?

If you had the ear of a language creator, what would you say - what could they do to make a language that you would use? :upside_down_face:

Most Liked

Phillipp

Phillipp

Two things:

  1. Do NOT do anything that the JS/NodeJS ecosystem did (especially the unusable stacktraces).
  2. Do NOT ever force any form of static typing onto the user. Make it at least opt-in.

:running_man:

hauleth

hauleth

Do not use Markdown/CommonMark for documentation. Use more expressive and configurable format like ASCIIDoc.

This is absolutely trend that I cannot understand. Markdown was designed for writing blogposts with almost not typesetting. Yet for some reason people thought that it will be a great format for documenting code, which need few more additional stuff, that was never a plan for MD (cross document references, math, graphs, tables, definition lists, etc.). Just stop and use ASCIIDoc for gods sake.

Phillipp

Phillipp

Well, someone asked for my opinion and I wrote my opinion.

I worked both with Golang and with Typescript. Golang is just horrible and 95% of my problems are related to the language bitching about some type specific things. It’s just annoying.
In Typescript, I mostly just type my stuff with interfaces but it also often gets in my way. External libs either miss type information or they are just wrong. D3 is especially hard to work with. Also everything that is related to DOM elements. And I cannot even check if a variable matches a certain interface, thus having to have a type property on certain interfaces.

I’ve worked with PHP for a long time and never had any type related issues. The addition of type hints was nice but it was all optional so one could use it in places where it makes sense.

I also love the way Elixir handles it with pattern matching, therefore I do not understand why everyone wants to force a strict type system onto Elixir.

Just my 2 cents. (But I guess we both had the same discussion a few times already on the Elixir forum :smiley: )

Where Next?

Popular General Dev topics Top

AstonJ
If you had the ear of a language creator, what would you say - what could they do to make a language that you would use? :upside_down_face:
New
mjk
TL;DR: words that incorporate negation are acceptable, eg. independent, asymmetric, nondeterministic. An example in the book is to renam...
New
New
New
DevotionGeo
The Odin programming language is designed with the intent of creating an alternative to C with the following goals: simplicity high per...
New
Exadra37
A modern streaming platform for mission critical workloads Redpanda is a Kafka® compatible event streaming platform. No Zookeeper®, no JV...
New
ohm
I just switched jobs to tech lead with a small team of about 6 other developer. This is my first tech lead job. What do I need to know? A...
New
AstonJ
Just wondering whether you have a preference (I know I do!) poll
New
AstonJ
00:00 The Year 2022 00:38 Web3 03:28 Metaverse 05:05 AI 06:22 Databases 07:31 JavaScript 09:58 Other Trends to Know WDYT - what wi...
New
DevotionGeo
Amazon CodeWhisperer is an alternative to GitHub Copilot, and it’s free!
New

Other popular topics Top

AstonJ
A thread that every forum needs! Simply post a link to a track on YouTube (or SoundCloud or Vimeo amongst others!) on a separate line an...
New
AstonJ
What chair do you have while working… and why? Is there a ‘best’ type of chair or working position for developers?
New
ohm
Which, if any, games do you play? On what platform? I just bought (and completed) Minecraft Dungeons for my Nintendo Switch. Other than ...
New
DevotionGeo
I know that these benchmarks might not be the exact picture of real-world scenario, but still I expect a Rust web framework performing a ...
New
Exadra37
Please tell us what is your preferred monitor setup for programming(not gaming) and why you have chosen it. Does your monitor have eye p...
New
DevotionGeo
I know that -t flag is used along with -i flag for getting an interactive shell. But I cannot digest what the man page for docker run com...
New
dimitarvp
Small essay with thoughts on macOS vs. Linux: I know @Exadra37 is just waiting around the corner to scream at me “I TOLD YOU SO!!!” but I...
New
PragmaticBookshelf
Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or...
New
AstonJ
Continuing the discussion from Thinking about learning Crystal, let’s discuss - I was wondering which languages don’t GC - maybe we can c...
New
AstonJ
This is a very quick guide, you just need to: Download LM Studio: https://lmstudio.ai/ Click on search Type DeepSeek, then select the o...
New