imv, we're still missing a C replacement-successor
There should be a language about as simple as c, with a few additional keywords for safety (type and memory), and a modern standard library -- that works basically everywhere C works, and is backwards compatible with C.
ie., we're missing --C++
I think all the supposed successors have approached the problem from the lang-design pov, where for C, it needs to be from-existing-compilers-and-tools pov.
I suspect there's a route to C v2 by starting with the C std, and gcc/clang, then working "forwards". Similar to cppfront for C++.
ie., it needs to compile 99% of all existing C code, it needs to compile to 90% of all in-use platform for C, etc.
I just recently started to dip my feet into golang and it feels like Go could've been something like that. With it's runtime and garbage collection that obviously disqualifies itself, but it's a really simple and fun language, I think. Something like that as a systems programming language with """easy""" memory management would be tremendous (maybe Zig is like that, but I haven't tried that out yet).
This is kind of accurate and funny, but also feels a bit like criticizing the drawing of a 4-year-old kid. :) At least when a language is just someone's hobby project, or some exploration in research.
FWIW, I actually think syntax is sometimes the hard part about programming, especially when not working with a language frequently. I never worked much with C++, but occasionally come across it. Whenever this happens, it feels like things could be more readable, but maybe I'm biased.
I often wonder what it is about the programmer mindset/psychology that curses such constant reinvention(/reinvention?). Is this an unavoidable side effect of Moore's law? Will we settle on just a few languages in the future? Will llms allow easy translation from less popular languages?
To me what’s missing is a functional programming language that is statically typed and has an extreme emphasis on performance. C++ meets Haskell, but not terrible.
That is OCaml. Not that I claim OCaml is extremely fast, but it has a very predictable performance. Which is imho even more important than being the fastest in certain benchmark problems.
what we need is a gradually typed lazy / eager language that helps to combine functional, imperative, concurrent and object-oriented styles, allows functions to use method syntax (and vice versa), with (and without) sigils & twigils, and an entirely new regex syntax that packs a whole ragbag of weird stuff such as unicode graphemes, grammars, junctions, allomorphs, sequences, hyper (>>) and (Z/R) metaoperators, sets, bags and mixes, coercion types and a MOP then we can check all the boxes (aka raku)
21 comments
[ 3.7 ms ] story [ 24.0 ms ] threadThere should be a language about as simple as c, with a few additional keywords for safety (type and memory), and a modern standard library -- that works basically everywhere C works, and is backwards compatible with C.
ie., we're missing --C++
I think all the supposed successors have approached the problem from the lang-design pov, where for C, it needs to be from-existing-compilers-and-tools pov.
I suspect there's a route to C v2 by starting with the C std, and gcc/clang, then working "forwards". Similar to cppfront for C++.
ie., it needs to compile 99% of all existing C code, it needs to compile to 90% of all in-use platform for C, etc.
C but with better safety and additional developer ergonomics would be amazing.
Part of the problem is I think you would need to depart from the traditional C build system to get the most benefits. That will be hard for adoption.
i do think the successor should be src-compt with C
I just recently started to dip my feet into golang and it feels like Go could've been something like that. With it's runtime and garbage collection that obviously disqualifies itself, but it's a really simple and fun language, I think. Something like that as a systems programming language with """easy""" memory management would be tremendous (maybe Zig is like that, but I haven't tried that out yet).
I don’t think backward C compatibility is a good idea, since the C syntax has issues. Instead a transpilation tool from C could be built.
Does C++ / Java / Python really represent the high water mark of programming languages? I sure hope not…
FWIW, I actually think syntax is sometimes the hard part about programming, especially when not working with a language frequently. I never worked much with C++, but occasionally come across it. Whenever this happens, it feels like things could be more readable, but maybe I'm biased.
Love these responses.