this post was submitted on 25 Jun 2023
22 points (100.0% liked)
Programming
13376 readers
1 users here now
All things programming and coding related. Subcommunity of Technology.
This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
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
Another C# gang comment here.
I'll try not to repeat what others said.
C# has one of the best debuggers in the industry. Debugger is a thing that lets you stop your program at a set state and investigate values of variables in that state. Very useful for education. The thing is incredibly easy to set up in Visual Studio right out of the box and is a matter of installing another extention in VS Code.
C# is in C syntax family, which includes C, C++ and Java. While you'll have to learn some syntax quirks to switch languages, they are not as drastically different as Python, for example. If your intention is getting into game development, setting a base for C++ is a nice bonus.
C# is strictly-typed. Unlike Python, Lua or JS that I saw in this thread, C# requires you to specify types of your variables. While it may sound as a disadvantage at first, it is actually extremely useful catching silly mistakes. Like if you make a string and pass it to a method that expects integer, C# simply won't compile, you'll have to explicitly convert your string to integer. JS is notorious for it's
('b' + 'a' + + 'a' + 'a').toLowerCase()
>"banana"
, which is extremely hard to follow if you're learning the language IMO.If you're trying to build games with big game engines like Unity or Unreal Engine, C# is a no-brainer, as they support it natively. Godot has it's own language, but it has an option to switch to C#, so, you can cover all of them with one language.
Windows Forms. It's a package for developing GUI applications on Windows. Visual Studio comes with it and has a designer for it. If you want to learn how to make a simple GUI application, that's one of the easiest routes. Worth noting, if you're not on Windows, that thing is not that easy to use.
Here is an official "get started" guide: link.
Another great point about C# is the Documentation Microsoft provides. It covers concepts, most functions and types, is detailed and has mostly good example code. There are also a lot of good tutorials around.
The dependency management is a bit less intuitive than it is for python, but still less work that for C++.