"Perhaps this explains why Odin has found such widespread usage and popularity. /s"
What an unnecessarily snark and dismissive comment to make about someone's work. - I'd say within a certain niche Odin is becoming well known and gets its use
- you do realize using an `Odin package` is putting a program into a sub-folder and that's it
- It comes with a rich stdlib + vendor libraries out of the box
- and isn't it kind of up to the creators how to design and promote their language
I'd even argue it's laudable a language doesn't promote itself as a "fixes everything use me at all costs" kind of technology. The creator himself tells people it might not be the right tool for them/their use case, encourages them to try other languages too, sometimes outright tells them Odin doesn't fit their needs and xyz would probably do better. - them breaking something
- a supply chain attack
- them making a change which breaks your program
- you having accidentally relied on a bug or an unintended behavior of their code
(which they may fix at any moment)
- many unneeded LOC in your codebase
- absolution of ownership
- relying on a dependency versus having written it yourself
- in the latter case you'll automatically take responsibility
- think much more about code's security/quality
- have the knowledge to fix it and know exactly where to
(in your 35-lines of code you yourself wrote)
- more burdensome upgrades of your software
- longer compilation speeds
- having to monitor their program
- is it abandoned, ownership transferred to dubious party
- did the maintainer have a late night drunken stupor accepting bad pull requests
- did they react to a CVE or not
- did they change the license
- do they have a license but added their own problematic paragraph
- does the program "develop badly"
(change its target scope in any problematic way)
(take on more and more bloat, more unneeded functionality)
- having worse of an overview of your total dependencies
(since they may themselves rely on further crates you don't expect)
- ...
what's the trade-off now? RAII
Full metaprogramming
Nested functions, nested structs, delegates and lambdas
Member functions, constructors, destructors, operating overloading, etc.
...
Where to draw the line will be different person to person, but D doesn't seem to be a language "in the spirit of C", or a "modern version of it", at all. "originated as a re-engineering of C++"
"influenced by Java, Python, Ruby, C#, and Eiffel"
"design by contract, ranges, built-in container iteration concepts, and type inference"
"array slicing, nested functions and lazy evaluation."
"Java-style single inheritance with interfaces and mixins"
"function overloading and operator overloading"
"supports five main programming paradigms" (including OOP)
... et cetera
Though it does support things like in-line assembly and the like, I'm sure most C programmers would pass on it, as a C-alternative, based on those factoids. was high-quality
was fast
was privacy preserving
had sane defaults
had/provided reasonable support/insight
(forum and developer blog)
had a fair pricing models
(non-subscription, x-years of updates etc)
as in an e-mail client
an office suite
a scheduler
(scheduling learning, tasks, various deadlines, calendar, ...)
photo/video editor
(wouldn't need to be of the scope of a professional suite)
a browser
(earnestly, one that wasn't a mere chrome re-skin, wasn't run by a bloated paid by Google organization like Mozilla, and would take fingerprinting prevention and privacy seriously)
...
or am I underestimating the problem? How many full-time developers working how many hours, building on open-source software where sensible (as in you wouldn't hand-roll your own cryptography, networking protocol implementations, GUI libraries) would it take, for e.g. a good cross-compatible Desktop E-Mail Client? (there's little in terms of software that I hate more than Outlook)
Sites which do this well (just from the top of my head):
Here on red-lang.org... I can barely find a consecutive meaningful chunk of code... ?