←back to thread

111 points teleforce | 2 comments | | HN request time: 0.001s | source
Show context
usrbinenv ◴[] No.43800544[source]
I constantly feel like inferior languages are picked up, while superior languages are discarded. It's almost as if the universe had a law: "inferior technology is always preferred no matter how hard you seethe".

Examples:

  * Python preferred over Ruby
  * TypeScript preferred over Dart or even JavaScript (which is fine and, as a bonus, doesn't require compilation step like TS)
  * Go is preferred over Crystal and D.
While Python, TypeScript and Go are quite alright, there is no doubt in my mind that their alternatives are absolutely superior as languages. Yes, in case of Dart, Crystal and D the ecosystem doesn't have the abundance of well-tested libraries, but as languages they are simply better. The Go argument that it's popular because it's simpler is absurd in the sense that no one really forces you to write complex code and use classes or other advanced OOP features in D.
replies(10): >>43800688 #>>43800728 #>>43800902 #>>43801262 #>>43801977 #>>43802028 #>>43802144 #>>43802418 #>>43804822 #>>43804929 #
old-gregg ◴[] No.43800728[source]
Languages do not matter as much as you think. Ecosystems are everything. Twice in my life I started companies (the first one took all my life savings) and in both cases the right call was what you called an "inferior language".

I actually liked D very much, and WB had been a personal hero of mine when I was in college. But I am not betting my career on an ecosystem built around by a single brilliant guy. For high-stakes projects, a wise decision is building on a platform with several deep-pocketed backers.

And for toy/personal projects... do you even need a language anymore? Just ask your favorite LLM to generate you an executable which does what you want (partially joking here).

replies(2): >>43800944 #>>43802432 #
WalterBright ◴[] No.43800944[source]
D's ImportC feature makes it super easy to access C libraries from D code. That means D fits right in with a C ecosystem, as it's no longer necessary to attempt to translate the .h files into D.

It's not perfect, as some people cannot resist using the C preprocessor for some bizarre constructions.

I used to write those bizarre things myself in C, and was proud of my work. But one day I decided to remove them all, and the code was better.

replies(4): >>43801234 #>>43801238 #>>43801278 #>>43801554 #
1. zerr ◴[] No.43801554{3}[source]
Any plans to implement Swift like C++ interop?
replies(1): >>43805569 #
2. WalterBright ◴[] No.43805569[source]
D can do C++ interop when the C++ code is "C with classes" style. Some templates are supported. But then things get so complicated with C++ that it's impractical to go further.