As someone with an odd relationship with programming, I suspect we have different definitions of simple. Though in fairness the problem with some languages (that I'd call simple) for me is with performance particularly when parallelism can't really be used, and I guess you could say that I expect too much.
The most programming I've done (admittedly, not a lot) was with Nim-lang because that seems to be the only thing I've seen that has style+performance that I want. I'm sure if you look inside the machines it's not simple for a lot of reasons, but it can be used simply if you pretend those things don't exist (particularly if you didn't know of them in the first place) and just make something script-like. And even stuff like memory management is tunable and optional. So yeah, a language that's simple-to-use and simple-to-maintain (create? understand? or just minimalist in general?) seem different to me. To take it to an extreme, something like Brainfuck seems like it'd the best example of a simple/small interpreter without being simple to read.
This is an example of the last code I tinkered with (input text example). I like the different ways of doing things (or just something like UFCS), maybe that's not simple for the language but it allows me to make my code simpler.
EDIT: Also watching an explainer for Gleam maybe it's less about flexibility but just some of the things looking odd (/not intuitive), which for sure could largely be on me. (maybe that would be a preference thing even for people who understand it)
Personal note, I stopped there because I wasn't quite sure on usage/implementation with different polygon types. Plus, part of me wanting the language to get out of the way would be for supplemental editors to exist (like a game engine) so I could do basic things (art, animations, GUIs) visually and save the code for actual logic. Still no bindings for Godot 4 (Godot 3 had production-ready bindings) which I suppose is due to Nim being niche. I could possibly use Raylib (or Godot 3) with 3D instead, but I have less motivation to do so (esp. learning/using Blender, though maybe I should given details). For context, this animated eye is an example of the aesthetic I'd go for (if it were viable, which it might not be). Also if that link looks broken, for whatever reason for me it loads as expected in a private window.
It seems Rabbit has followed several of these principles...
The Koka language has a stated goal to be as simple as possible. The language definition even has something like scheme's "feature on top of feature" verbiage. However it's a very different language than you're thinking of.
I honestly don't think there's a single language out there that's more approachable and straightforward than PHP - it has the perfect amount of built in functionality... it's not overwhelming like Java but also doesn't make you constantly reinvent the wheel like C++ - both Go and Python have similarly right-sized STLs.
The stand out though (which I admit is becoming less relevant) is in its natural habitat. It was a language designed to produce HTML and it is extremely trivial to casually start programming in it. Do you have a table and want to splat out 10 trs without writing them one by one - write it once and wrap it in <? for($i = 0; $i < 10; $i++) { ?> and a closing brace and, well, look ma I'm a hacker!
It is amazingly accessible and a large number of people had their first programming experience messing around with PHP.
You have to manually explain to the computer how to count to ten, in 2024, and you call that simple? Simple would be something like
<? 10.times { ?>
Even simpler is repeat 10 { }
} just stands for done.
Programming Languages
Hello!
This is the current Lemmy equivalent of https://www.reddit.com/r/ProgrammingLanguages/.
The content and rules are the same here as they are over there. Taken directly from the /r/ProgrammingLanguages overview:
This community is dedicated to the theory, design and implementation of programming languages.
Be nice to each other. Flame wars and rants are not welcomed. Please also put some effort into your post.
This isn't the right place to ask questions such as "What language should I use for X", "what language should I learn", and "what's your favorite language". Such questions should be posted in /c/learn_programming or /c/programming.
This is the right place for posts like the following:
- "Check out this new language I've been working on!"
- "Here's a blog post on how I implemented static type checking into this compiler"
- "I want to write a compiler, where do I start?"
- "How does the Java compiler work? How does it handle forward declarations/imports/targeting multiple platforms/?"
- "How should I test my compiler? How are other compilers and interpreters like gcc, Java, and python tested?"
- "What are the pros/cons of ?"
- "Compare and contrast vs. "
- "Confused about the semantics of this language"
- "Proceedings from PLDI / OOPSLA / ICFP / "
See /r/ProgrammingLanguages for specific examples
Related online communities
- ProgLangDesign.net
- /r/ProgrammingLanguages Discord
- Lamdda the Ultimate
- Language Design Stack Exchange