Learning the C languages
Posted by Justadudewitha@reddit | learnprogramming | View on Reddit | 14 comments
I am thinking about learning a new programming language. I have a good level of Python. I want to learn the C language, but I am not sure in what order would be best if I wanted to learn specifically C, C#, and C++.
I do want to get more into web development, robotics, and wearable tech. If that helps.
BeginningOne8195@reddit
I’d probably go C → C++ → C# since learning C first makes a lot of the lower-level concepts click, and then C++ feels more natural afterward.
Justadudewitha@reddit (OP)
That makes sense, thank you. I’ll have to look for places to learn it for free. Do you know any?
neveralone59@reddit
Cs50 for c. Then cpp is kind of Pandora’s box. Nobody really knows and utilises all of the language, it has so many features as it’s maintained by a committee. So do c then figure out what you want to do with cpp, once you know that then you’ll know what style of cpp you need to learn. For example operating system features in cpp are written very differently to mathematics/finance code.
Justadudewitha@reddit (OP)
That makes alot of sense, thank you for the explanation, and I'll check out cs50.
oclafloptson@reddit
I may catch hell for this... You're already familiar with Python. Dig into Cpython and parley that into exploring C. You'll see how familiar concepts relate to the lower level. Assuming that this is a hobby level interest... Otherwise seek a more professional C learning program.
Unrelated, but you might be surprised by how much you can accomplish in web dev, robotics, and wearables with just (or mostly) Python
Justadudewitha@reddit (OP)
I’ll look into Cpython I haven’t really heard about it.
neveralone59@reddit
He means looking into the source code for cpython I assume. It’s the interpreter that translates your python code to lower level code.
Justadudewitha@reddit (OP)
ohhh that I can do.
liquidanimosity@reddit
C is a subset of C++ so learning C++ you'll kinda cover both but you may not be able to tell what was added or what exist in C unless you do C first.
C# is really close to java, but what you can do with it has become it has gotten a lot better since it became open source. I've used it a lot on project pre and post dotnet 4.8. and there is very little I can't do with it. And the few things I can't I use C++.
What do you want to make?
Webapps, game logic scripting, cloud apps go C#. There are some good Frameworks / templates spectre.console and Avalonia. You can make cross platform desktop app or really nice looking Tuis with these two.
But if you're looking to create something like a game engine or need some low level work. C/C++
Justadudewitha@reddit (OP)
What about a small messaging app would you use C# for that?
ninhaomah@reddit
Web, robotics and IoT ..
For hobby ?
Justadudewitha@reddit (OP)
Yeah just graduated and I have a lot of free time now so I’m trying out new things.
neveralone59@reddit
C# is a very different thing to c and cpp. It’s more like Java than anything else.
ArchuFlutterBuilds@reddit
For your goals — start with C first, it builds the foundation for everything else. Then C++ for robotics and wearable tech — most robotics frameworks like ROS use C++. Skip C# for now unless you specifically want Unity game development or Microsoft ecosystem. For web development honestly C family is not the best choice — Python you already know pairs better with web frameworks like Django or FastAPI. Learn C → C++ in that order and you will be well set for robotics and wearable tech.