> C has significant whitespace. Use spacing to specify the order of arithmetic operations.
and
3 = 3.14! //true
... i think we got a systems language here. It really needs facilities for self modifying code and multiprocessing/ clustering, tho; to be considered a "modern" language. Perhaps make all heap allocations out of some DHT pool?
Annoyingly, SmallTalk actually does this, so they got there first. The reason is that operators are just methods (and numbers are objects) and so arithmetic dispatches left to right unless parens are used, ala (1.+(2)).*(3)
I am disappointed in the incomplete specification here. Dividing by zero returning undefined makes sense but what about dividing zero? It should also be undefined.
Oh. It is hard to get which comment is satire and what's not over text, given there are people who'd actually share the opinions one could think would be satire.
Overall it seems completely reasonable, I'm loving the non-editable yet still reassignable const const vars, the "funct" prefix is stunning, the useless but mandatory react prefixes, all brilliant, and none of this is confusing at all in any way, except for one aspect. The semicolon thing is deeply and utterly disturbing:
> You might be wondering what C uses for the 'not' operator, which is an exclamation mark in most other languages. That's simple - the 'not' operator is a semi-colon instead.
if (;false) {
print("Hello world")!
}
The alternative name could (or should) be Brainfuck++-. Emphasis on "-".
You know what's funny, though? There's zero, I repeat, ZERO, source code in the repository. Thank god. Otherwise you know a bunch of folks would inevitably dip their feet into Brainfuck++-, and said troll feet would immediately disintegrate into ash, for obvious reasons.
I LOL'd at the bit about only being able to create a single instance of each class (but that how most programmers use classes anyway, so not really an issue).
There was a post many years back in a similar vein entitled something like "Abject Oriented Programming". Instead of a language, it was just a set of rules/recommendations to ensure your code was "Abject Oriented". Of course, all of the suggestions were essentially anti-patterns.
The best part was the comments. Most folks were hip, but every fifth comment or so was something like "I agree with #1, #3 and #4, but #2 is wrong..."
62 comments
[ 0.27 ms ] story [ 208 ms ] threadand
... i think we got a systems language here. It really needs facilities for self modifying code and multiprocessing/ clustering, tho; to be considered a "modern" language. Perhaps make all heap allocations out of some DHT pool?Reminds me of EWD1300:
> Surround the operators with the lower binding power with more space than those with a higher binding power.
> horizontal layout: 1+2 * 3 is (1+2) * 3 (merd innovation!)
Edit: Here's a bootleg: https://gist.github.com/mrnugget/49ad3ee4043c746e42187e2820d...
Now I don't know whether I am programming in c++ or C++ anymore.
[1]: https://en.wikipedia.org/wiki/C--
https://github.com/TheFeministSoftwareFoundation/C-plus-Equa...
https://fdiv.net/2012/04/01/introduction-objectivist-c
I am disappointed in the incomplete specification here. Dividing by zero returning undefined makes sense but what about dividing zero? It should also be undefined.
0/3 ==== undefined
> You might be wondering what C uses for the 'not' operator, which is an exclamation mark in most other languages. That's simple - the 'not' operator is a semi-colon instead.
The alternative name could (or should) be Brainfuck++-. Emphasis on "-".You know what's funny, though? There's zero, I repeat, ZERO, source code in the repository. Thank god. Otherwise you know a bunch of folks would inevitably dip their feet into Brainfuck++-, and said troll feet would immediately disintegrate into ash, for obvious reasons.
> delete delete!
I guess having no code is perfectly in line with this concept of perfection: the best line of code is the unwritten one.
- Actual immutability (const const)
- Type inference in declarations (var)
- No reserved names (I'd also take escaped keywords like Kotlin or Rust, but...)
- No manual memory management (garbage collector AND lifetimes)
- Built-in true and false without having to import stdbool
- String interpolation
- Embedded HTML
- Asynchronous functions (sort of)
- "Create C app" for beginners to get started without obscure Makefile knowledge or gcc'ing every file manually
Sigh. So close to the secret python standard... arrays start at -1 and end at -n
Went back and re-skimmed, it does still seem like a joke, but it falls a bit flat for me...
But it could be legit someone's crazy project, there are pretty zany things that end up on here.
Incredible
The best part was the comments. Most folks were hip, but every fifth comment or so was something like "I agree with #1, #3 and #4, but #2 is wrong..."
LOL
But the original (archived) has comments, which is what scott-smith_us may be referring to https://web.archive.org/web/20140529003713/https://typicalpr...
Here they are: https://github.com/TodePond/C/blob/main/Examples.md
Surely index[0.5] should reference the second block, not the third?
list=reverse(list)
list[-1]
list=reverse(list)
Just like python!