Remix.run Logo
glitchc 3 hours ago

Great idea, terrible syntax.

ux266478 2 hours ago | parent | next [-]

Yeah I dislike it. Why are we babyducking sepples attributes? And what I assume to be namespace accessors? Why are logical assertions enclosed in backticks? I "get it", because it's actually kind of difficult to make a backwards compatible derivative of C that doesn't devolve into glyph soup, but this has a massive frankengrammar stink to it. The proof language is eyebrow raising to say the least.

ahknight 2 hours ago | parent | prev | next [-]

I say this about C every day.

rramadass 2 hours ago | parent | prev [-]

What's terrible about the syntax? Using "[[require/ensure/invariant/proof/assert/etc.]]" is actually pretty neat.

And given that almost all C programmers are also C++ programmers, no mere syntax can faze us :-)

binaryturtle 2 hours ago | parent [-]

In my own ranking of favourite programming languages C is at the first place. C++ comes in last. I personally hate it when people write C/C++ as if it's the very same thing. I'm quite sure there's more like me out there. :)

Interestingly Perl comes in second, even I use it rarely (aka not at all) these days. But that's a slightly off-topic side note. :)

cwnyth 6 minutes ago | parent | next [-]

I'm always surprised on here when I see others admin to liking C and Perl. It makes me feel less alone.

ahknight 2 hours ago | parent | prev | next [-]

Perl is just C with less type safety.

And yes, for the most part. C++ as simple shorthand for struct-attached functions and automatic memory management (no, not smart pointers; RAAI) is good. Every single thing added after that is misery and should push a modern developer to Rust, Go, or Zig (roughly in that order) where such things are implemented sanely or not at all.

stvltvs 2 hours ago | parent | next [-]

Funny I think of Perl as Bash with slightly saner syntax plus robust regexp. (said with love)

hnlmorg 2 hours ago | parent | prev [-]

The only thing Perl and C have in common is the curly-brace.

rramadass 2 hours ago | parent | prev [-]

For me, C++ is always in first place. It allows me to do high-level abstractions to low-level hijinks all with total control (i.e. zero-cost abstractions, Templates for compile time programming etc.) across all levels of the software stack and the full spectrum of available hardware.

Furthermore, any C++ programmer who says they do not know C, knows neither C nor C++ (hence my preference in using C/C++ as a shorthand to encompass both and highlight the dependency of the latter on the former). I often see this in novice C++ programmers who started with "Modern C++" and identify it as something like Java/C# because of the now huge set of standard libraries and copious syntactic sugar which only compounds their confusion further.

applfanboysbgon an hour ago | parent [-]

> Furthermore, any C++ programmer who says they do not know C, knows neither C nor C++ (hence my preference in using C/C++ as a shorthand to encompass both and highlight the dependency of the latter on the former).

Right, but this dependency is one-way. There is an entire legion of C programmers who reject C++ (most notably Linus), so claiming that almost all C programmers are also C++ programmers is a bit off.

rramadass 37 minutes ago | parent [-]

What i meant was that almost all C programmers are aware of and know C++ to varying degrees. But they choose to not use it for their application based on needs/expertise/etc.

Linus Torvalds objection to using C++ is perfectly logical for his use-case. I know many embedded programmers who refuse to use C++ even though they understand and agree with the benefits that it can bring to the table. Their C expertise is so good that when they program, cognitively the language just disappears and they "flow" through the problem solution implementation. This is the crux of problem-solving.