this post was submitted on 28 Mar 2024
156 points (95.3% liked)
Technology
59381 readers
3043 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I disagree, but not to be combative. C++ maybe but C not so much. Even with a good teacher assembly isn’t as accessible as C, neither is machine more than assembly. There is a scale and even with a great teacher C, while an awesome language, is going to take more work. Debatable I guess and nothing wrong with starting with C; quite the opposite, but up-to-speed time will be a bit higher in my view.
Assembly sure, since it will differ from ISA to ISA. But C is still a "high" level language in the sense that you can write once run "anywhere". Also, more work to do something is expected since C is such a "bare" language to simplify. But again, it doesn't count as it not being as accessible to get new developers started, but it is and will be more cumbersome to work with (in the context of redis like software).
So yeah, maybe it depends on how you would define accessible is. I think if it is defined as just "how easy it is to get started and understand how it works, and how to work with it", C and C++ is quite accessible with a good teacher/mentor. The teacher/mentor is important in C and C++ because unlike C# which has Microsoft as its main authoritative source and the big influencer in the language, C and C++ doesn't have those so the resource on learning it can vary wildly.
I guess the main problem here is using a very imprecise word with arbitrary meaning, “accessible”, that may mean something different to each of us. All I’m saying is there is a continuum of some sort, and along it first is C, then C++, then C++ ++.
I think C is way more accessible than C++. It's such a simple language that there are only so many footguns. C++, on the other hand, is a behemoth, and there are so many different opinions on "the right way" that it can be quite confusing. And with C++, you get all the baggage of C, and a bunch more.
With C#, you don't need to worry about memory as much, virtual tables are more sane, templates are more sane, etc. Basically, C# is what happens when someone adds a GC to C++ and cleans house. It's still complex, but there are far fewer footguns and a vibrant community. The C++ community is large, but I wouldn't call it "vibrant."