Programming Path

Started by Michael_9696, May 07, 2022, 01:08:44 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Michael_9696

Hi there guys, so I thought about starting to learn programming. However, I don't know from where to start. So, after some research I found that a lot of people saying that it's better to learn C programming first to be able to learn other programming language. Now the problem here is, do I need to learn the three C programming languages that are the C++, C, and C#  to be able to learn .NET or I can just learn one of the the C programming language. Moreover, after I thought about it for sometimes I found that I need to learn some programming language that will help me develop some software and also I am interested in scripts. So, I thought that if I need to be a software engineer or developer I need to study C, C++, C# and .NET and if I want to make scripts I need to study Python. So, do I need to learn all the C programming languages or I can just learn one of them?

Geek-9pm

You asked "... study Python"
Yes. It is a good start.  :)

Michael_9696

Quote from: Geek-9pm on May 07, 2022, 06:24:51 PM
You asked "... study Python"
Yes. It is a good start.  :)

So, the Python is used for scripting. But I need to know if I want to make some UI desktop Applications. Do I need to know C# and C++ or I can learn C# only?

nil

If you're going to write desktop apps for Windows, I would recommend starting with C, then moving to C++. C will give you a basic understanding of how to "talk to the machine," and help you understand the fundamentals of C++.

Then I would learn C++, because the majority of Windows software, including the operating system itself is written in C++. It is way more complex than C, providing you with all sorts of tools and programming paradigms that are not included in C. You don't need to learn them all, so try to focus on exactly what kind of applications you want to make. Look for applications that are open-source if possible, and read the source code. Try to determine what libraries and algorithms they use, and use that as a guide for what you should learn in C++.

For learning C, you can't go wrong with the original "K&R" book by Kernighan and Ritchie. This book is very old but still extremely relevant, and it will help you understand C from the ground up.

https://en.wikipedia.org/wiki/The_C_Programming_Language

When you feel like you have a handle on C, get the newest edition of C++ Programming Language by Bjarne Stroustrup. It's still considered the bible of C++:

https://en.wikipedia.org/wiki/The_C%2B%2B_Programming_Language

I hope this helps.
Do not communicate by sharing memory; instead, share memory by communicating.

--Effective Go

Michael_9696

#4
Quote from: nil on May 08, 2022, 08:16:20 AM
If you're going to write desktop apps for Windows, I would recommend starting with C, then moving to C++. C will give you a basic understanding of how to "talk to the machine," and help you understand the fundamentals of C++.

Then I would learn C++, because the majority of Windows software, including the operating system itself is written in C++. It is way more complex than C, providing you with all sorts of tools and programming paradigms that are not included in C. You don't need to learn them all, so try to focus on exactly what kind of applications you want to make. Look for applications that are open-source if possible, and read the source code. Try to determine what libraries and algorithms they use, and use that as a guide for what you should learn in C++.

For learning C, you can't go wrong with the original "K&R" book by Kernighan and Ritchie. This book is very old but still extremely relevant, and it will help you understand C from the ground up.

https://en.wikipedia.org/wiki/The_C_Programming_Language

When you feel like you have a handle on C, get the newest edition of C++ Programming Language by Bjarne Stroustrup. It's still considered the bible of C++:

https://en.wikipedia.org/wiki/The_C%2B%2B_Programming_Language

I hope this helps.

So, can C# help me to create UI desktop apps? Also, which programming language I can use to create UI (User Interface) desktop applications?

BC_Programmer

C,C++, and C# are three completely different languages. C++ is technically a superset of C barring a few features but code written in C++ shouldn't have much direct resemblance to C. C# is a completely different language altogether.

Asking the best way to learn programming is sort of like asking what the best way to read a book is. You aren't going to get through, say, the Lord of the Rings by asking the best way to read The Lord of the Rings, and hemming and haawwing about what the best environment for reading books is. You simply have to start reading it; same for programming. Instead of asking questions about the best way to start programming, you have to dive in.
I was trying to dereference Null Pointers before it was cool.

vikasjkn

No, you don't need to learn C first, for coding in C++ or C#.

You can just learn 1, I will suggest C#/.NET Core, as it is cross platform and easy to learn.

About Python, it is good for Machine learning.

If you want to create desktop or web-application, I will suggest you to learn C# using Visual Studio.