this post was submitted on 28 Mar 2024
156 points (95.3% liked)
Technology
59534 readers
3195 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
Microsoft released Garnet last week. Which is meant to be a drop in replacement with 10x the performance, written entirely in C# (incredibly accessable vs C++).
MIT licence, like most of the rest of their tools/libs/frameworks.
Nice part here is that they dog food it, since it's used at scale. So problems tend to get patched quickly by paid devs, while the FOSS community gets to bake in the features they want.
What do you mean by C# is "accessable" vs C++? Do you mean it as readability? Or the software availability (compiler, and the tooling behind the language)?
Accessible to new developers. As in, easy to pick up and code with.
That really depends on the teacher/mentor. C and C++ can be just as accessible. For someone who is learning by themselves however, I agree.
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."
It's a high level memory managed language. Usually this by itself means it's an accessible language.
Combine that with .Net being one of the better if not the best standard libraries/frameworks out there, and it being one of the top five most popular languages in the world, means it's highly accessible to new and experienced programmers.