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
 

Hello friends, the title is mostly self explanatory. I would like to start programming but I also feel like I am not very smart, so I would like a programming language that is easier to grasp than others. That considered I don't hope to be able to learn something "powerful" but it would be nice to still be able to do some useful things. Something I would love to do is make games, I know those are usually made in C, which is a very difficult one, but maybe some simpler games can be made with other languages.

you are viewing a single comment's thread
view the rest of the comments
[โ€“] TwilightKiddy@programming.dev 6 points 1 year ago (1 children)

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.

[โ€“] Klajan 2 points 1 year ago

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++.