What would your ideal programming language be like?

Always interested in hearing people’s thoughts on what’s next or what’s possible! What would your ideal programming language be like?

  • OOP?
  • Functional?
  • A mix?
  • What type of concurrency model would it have?
  • What kind of syntax?

I wonder if we could make a Devtalk / DT language :joy: (Just kidding!)

1 Like

Lisp, a strongly typed lisp, lol.

Really though, Lisp is the language that can be become anything, gain any feature or capability, in any way you can really imagine, including gaining any syntax you could possibly want (read-macro’s are wonderful, you can have a python syntax, C, whatever you want to make a parser for, lol).

I wish it were more popular, but two things conspire against it:

  1. It was originally conceptually tied to the original ‘AI’ movement in the 70’s/80’s, and when it died it brought down Lisp with it (Lisp was used because it was the best language that was expressive enough for that work).
  2. A lot of people fear parenthesis explosion, even though it’s really not bad at all once you get used to it. ^.^
1 Like

I’d use LISP and wouldn’t complain but as I’ve said on other places (ElixirForum) I fear that people inevitably get sucked into “my own favourite DSL” hell where a project becomes un-maintainable by anyone except the original creators. You can definitely abuse macros! And I’ve met several people who couldn’t resist that temptation. (Of course, they might have done it deliberately for job security reasons as well.)

I do really like homoiconic languages but I wonder how can we guarantee maintainability.

Failing that, I’d go for OCaml without a few things like OOP, and making the mutability mechanics work like in Rust (namely with a lot of compiler nagging).

Elixir I definitely love but the lack of static typing and the quirkiness of Dialyzer’s typespec syntax is… not nice.

2 Likes

Don’t think of the objects in OCaml as being like OOP, they are row-typed records (unlike normal records that are nominal records), and thinking of them like that should make their usages clear. :slight_smile:

But oh yes please an OCaml with no GC and rust-like lifetime management, maybe go full on refined or even dependent typing, and for the algebraic effects system to finally get finished and merged in! All that would be so nice, lol.

2 Likes