Settings

Theme

Programming Language Checklist (2011)

mcmillen.dev

45 points by njitram · 21 comments

Reader

9 threads
ivolimmen

Slashdot answer. Like this one: https://tech.slashdot.org/comments.pl?sid=218300&cid=1771910...

Love these responses.

xnx

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?

mjburgess

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.

  • cyco130

    You may find Zig interesting: https://ziglang.org. The language is not C compatible but the tooling can compile C and C++ without hassle.

    • mjburgess

      i'm aware of zig, which is why i included the criteria above that i take to rule it out.

      i do think the successor should be src-compt with C

  • vbitz

    What would be great is a language that does to C what TypeScript did to JavaScript.

    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.

  • dailykoder

    >There should be a language about as simple as 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).

  • pharmakom

    Zig, Odin and Jai are the main contenders.

    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.

  • ramon156

    Carbon was a possible successor, only time will tell

pharmakom

Quite funny, but I want people to advance the state of the art.

Does C++ / Java / Python really represent the high water mark of programming languages? I sure hope not…

EuAndreh

We have "No language spec" and "The implementation is the spec". Sooo, languages with a spec are strictly superior?

BoppreH

I've tried updating it to 2024: https://gist.github.com/boppreh/3b88231b7af15af54d292963f3d7...

blauditore

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.

  • jzm2k

    Isn't this criticizing the discussion of (new) programming languages, not the new languages themselves?

    • blauditore

      Ah, maybe.

      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.

librasteve

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)

pharmakom

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.

  • funcDropShadow

    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.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection