I want to learn ds and algos, I have picked a course. It requires me to know C and C++.
Should I learn c and c++ for that one course
What are the things it is used for?
Machine learning?
Or will it just help me gain more knowledge about some low-level topics?
Or will it help me learn some topics that I wouldn’t learn about in other programming languages?
How will they help basically?
Thanks in advance!!!
If the course requires it, then yes, sort of.
What I mean is that I would assume the course will just walk you through the basics you need to do the course. C/C++ is being used as a teaching language, so you need to know what the course uses, that’s all – you’re supposed to be getting knowledge of data structures and algorithms out of it. The language used isn’t terribly important, the concepts are basically identical regardless of language.
You can use them for anything. But most things are built on top of them rather than them being written directly in C (so for example the Windows, Linux and OSX kernels are written mainly in C, many [most?] languages’ compilers were originally written in C or were written in a language that has a compiler originally written in C). I guess you wouldn’t normally write, say, some ML code in C, but you might use something (Python for example) that in turn uses C. C++ is a superset with a lot (a lot) of extra features on top of C. It’s used for loads of stuff. Often used for programs that need very high performance (eg most 3D game engines).
The languages require you to manage the memory yourself, and that’s an advantage if you need performance because it allows you to tune it. As compared to, say, JavaScript, where you do not need to manage the memory. You don’t need to learn them, you can get what you need from the algorithms course and freely use that knowledge in a different language.
Thanks a lot for taking the time to answer my question, or questions rather.
Thanks a lot!
Ok game development. I got a reason to learn C++.
No, but ok, I know another course for it too. Not very important, but I just said it.
Just need a reason for learning C.
The course uses C as well, don’t really know why.
Just to give you a bit of context:
C and Cpp are mostly used nowadays as system programming languages.
You can think of it as a “foundation” for other tools to work on.
Think of them as the language used to write the software on which other people will write/use software upon. (oversimplified of course)
Browsers are predominately written in C/Cpp, but incidentally web developer uses Javascript to make webpages.
Godot and Unreal Engine are written in Cpp, but you can develop video games using other languages that will run on that engine.
MySQL is written in Cpp, but you don’t need it to use it to run queries into your database.
MacOS is written in Cpp, but you don’t need it to use your Macbook
All this just to give you an idea of the “scope” of the language, hoping you will make a more informed decision
-
They are used for lots of things. Development that is closely tied to hardware is likely to be C or C++. Anything where speed or memory is a top priority is likely to use C or C++.
-
If you have a class that uses it, of course you should learn it. You aren’t going to go deep into the language in a single semester, but putting in a good faith effort to write good code in the target language is going to make a difference in how much you get out of the course.
If your goal is just to learn data structures and algorithms, then I don’t know if I’d want to learn a new language. This class, is it a required school class or just something you found on the internet? If it is the latter case, I might suggest that you could find a course somewhere in a language with which you are more comfortable. Between the two, I think C might be easier to learn, especially just the basic things needed for this. But again, unless you need C or C++ for a job, or unless you have a lot of free time, I’d rather learn in a language I know and strengthen that. When you’re starting out, it’s better to learn a few (or one) languages well rather than dabbling in a bunch of languages.
Yes, C++ can be used for games, but there are other paths.
I know python, is there a course.
A quick google turned this up. I’m sure there are many more - Python is a very popular language.
I heard MIT’s course is good too.
Thanks a lot!
It helped me!
It is also FREE!!
-
Operating Systems
The C language was originally created for system programming, so it is not surprising that it is so heavily used in creating operating systems and software.
Fast and energy efficient, it’s close enough to the hardware layer to work with low-level code.
That’s why it’s ideal for developing operating systems.
Any operating system must run quickly and manage system resources efficiently. For example, Linux, Microsoft Windows, Mac OS are fueled entirely by C, while Android and iOS are partially written in C. -
Game and game engine development
Performance is extremely important for games, so the choice of programming language is limited here. Being the fastest programming language today, C++ proves to be one of the best for 3D, multiplayer and other games.
For example, Counter-Strike, StarCraft: Brood War, Diablo I, and World of Warcraft are all written in C++. Not to mention the Xbox and PlayStation consoles, which are based on C++ programming. -
Developing desktop and cross-platform applications
C++ can also be used to create desktop applications. All thanks to excellent cross-platform development tools (aka frameworks). It allows you to target Windows, Linux, macOS, Android and embedded systems - all with a single code base. So developing applications with Qt turns out to be a great solution for those who want to save on programming time and cost.
This is what I was looking for. Thanks a lot!!!
Isn’t your answer too specific to HP.
HI, as I mentioned C ++ is to create things more behind the scenes, but if you are about to learn Data structure and algorithms, I would recommend that you learn with Python or Js. This is so that you understand better how to implement these tools so that your code is more efficient, since C, in some parts, will not be very clear and it may cost more. And when you master data structure and algorithms in these languages, you can switch to C to do more interesting things.
.
Thanks a lot! I got it.
I’ll learn just enough C/CPP to get through the course. And then rewrite everything in Python.
Thanks!
You’re welcome, my friend