Can I start directly with C++ (without relying on AI) if I only have very basic programming experience?
Posted by Banjolino@reddit | learnprogramming | View on Reddit | 36 comments
I’m thinking about getting into programming more seriously, and most of the projects I’m interested in (especially in audio) are typically done in C++.
The thing is, I only have very basic experience from a long time ago (a bit of Python and JavaScript, nothing advanced), so I’m basically starting from scratch again.
One important thing: I’d like to learn without relying heavily on AI, because I want to actually understand what’s going on under the hood, not just generate working code.
I often see people recommend starting with “easier” languages first, but I’m wondering if that’s really necessary if my end goal is C++?
sarajevo81@reddit
Yes. C++ is a very easy and expressive programming language.
ha1zum@reddit
Just do it. And relying to AI to help your study (not to produce code) is okay. They're good enough to pass on informations from concepts and the docs to a more digestible words. Ask them away if you have any confusion. If I may add, stay away from object oriented stuff for now (inheritance, templates, "design patterns"), focus on data types, memory management, and algorithms. Learn OOP only when you need it.
UnfortunateSeeder@reddit
Yes, I started with C++ when I was 15 by reading this book by the creator of C++: https://www.stroustrup.com/programming.html
It doesn't just teach you C++, it also teaches you how computers and programs in general work. It was the most meaningful book I when it comes to programming I ever read.
Achereto@reddit
Yes, watch this short video to get a rough idea on how much you will hate your life if you go the C++ route. :)
Nevyn_Hira@reddit
I mean... sure. When I was learning programming, I went from Basic (didn't learn it terribly well), went to Pascal (course requirement. Honestly kind of fun) and then to C/C++ (LOVED it).
The old "Teach Yourself C++ in 24 Hours" books from Sams Publishing were pretty good. I don't know if they're still in print or new editions exist but honestly, pretty solid way to get through it. I think the only thing I had issues with were pointers (I had to wait for my classes to catch up to me before I understood it). And then you can always ask someone about them.
OReilly_Learning@reddit
We just came out with a new beginner book in March called Introducing C++
yakas_kakashka@reddit
I started with python too, it kinda helped me a bit to understand C++, so I think you can
lifeistoolong_007@reddit
if you want c++ just do c++ bro why waste time learning something else first
yeah its harder but thats the point, you'll understand way more doing it the hard way
just start and figure it out as you go
darkmemory@reddit
Most people suggest easier languages because in actuality, most people also find more engaging practice in writing code over understanding minutia that is advantageous, but also requires more depth and understanding to achieve.
If you can sit around and read theory, hitting knowledge walls, stumbling through pedantic expressions to cultivate efficient code, all while not really feeling much in terms of tangible projects, then sure, start with C++.
If you are actually going for the more "from the ground, up" you should maybe start with C. You could even do some mainstream ASM if you feel you need even more fundamental understanding.
It's just easier to progress when your progression can occur fairly quickly, even if it's higher-level. If you are curious if you want to do it, pick something easier to mess with and get bigger picture concepts down. If you know you are serious and taking serious steps and don't mind the slog and frustration, go more low-level. Realistically, most people avoid C++ as a first language because it tends to offer many attributes of high-level languages, will offering capabilities of lower-level languages as well. But you do you superstar.
Humble_Warthog9711@reddit
Many engineering undergrad programs.s still use c++ as a first language
bigsauce456@reddit
I'd argue it's better to start with C++ and learn the concepts that are usually abstracted in higher-level languages imo. I think you're totally fine to learn C++ and there are many resources out there to understand the language from a basic level (learncpp.com is one of them)
narf007@reddit
Hell yeah, I just scrolled and saw learncpp.com
Glad it's still maintained. It was a great start twenty years ago.
CorrectMasterpiece55@reddit
This is the way I learn C/C++ back in College (circa 1991), same thing with COBOL and Tasm. In that order, then I got Turbo Pascal which was really simple compared to the three first animals
autistic_bard444@reddit
Turbo Pascal was a much more friendly way to learn pointers and memory management before I hit c and c++
And not shatter your mental health and state of being in the process
Banjolino@reddit (OP)
Noted, I'll check learncpp.com out!
bonnth80@reddit
Consider that there was a time when that was the only way people were to start and C++ was a lot of people's first language. AI hasn't always been around. In fact, most would say you're better off not using AI when you learn.
If we did it before, you can do it now. And it's probably the better way to do it.
Banjolino@reddit (OP)
Didn't even realize C++ used to be that common as a first language, good to know it's actually doable then!
narf007@reddit
learncpp.com
It is what for me started 20+ years ago. Still a phenomenal resource and still continues to be maintained and grown.
PineappleWorking227@reddit
Hey sir, i am 16 and it's always been my dream to study programming and to get a job related to it, I'm really bad at managing my schedule so i was just curious how you guys manage time even tho you have to code a lot, like is it true that programming cuts you off from the outside world cuz u have study even tho you already graduated and that you need to adapt because the tech world changes fast. ✌
bonnth80@reddit
Sometimes. It depends.
Programming is a very broad field. The most common programmers today are web application developers, and that field definitely changes a lot. So yes, a lot of time is spent just studying and practicing. The best thing you can do for yourself is find a technology stack and focus on that. Then you can optimize your time.
If you're a game programmer. specialize in one engine.
If you're a device programmer, you won't have to spend too much time studying.
As for time management, I can't help you there. I have very disabling ADHD so I'm the worst person to ask about time management. I have none.
AncientHominidNerd@reddit
I recommend starting with c++ because it has concepts not present in others like Python.
Yeah it’s possible. Just buy an older edition textbook and work based off the examples.
Emotional-Silver-134@reddit
I just started learning c++ the other day and I just drew a house with a sun in nothing but c++ using the SSDL library and minimal to 0 help from AI. I'd say it is very possible to learn C++ as a first language. I'm looking forward to starting chapter 2 in my C++ book to see what I get to make and learn next. In case anyone wants to know, the book is C++ 20 for lazy programmers.
Mursalin_@reddit
If learning C++ aligns with your aim then go ahead.
POGtastic@reddit
C++ was my first language. Most of its real Alexandrescu Sicko Shit difficulty comes later. It's not easy but people act like it's way harder than it actually is.
InspectionFamous1461@reddit
if you want to know whats going on under the hood i recommend the short book But How Do It Know?
Banjolino@reddit (OP)
Thanks for the suggestion, I'll take a look!
Yotipo@reddit
If you're into audio and you're familiar with Python, you can probably find audio libraries that have Python interfaces that wrap more intricate C/C++ libraries.
I don't think you have to omit AI as long as you go in with the intent to learn & fact check docs and online sentiment. Just remind yourself what your goal is in case you get too off track. If you make a sick VST, share it, since it's something I'd always wanted to make but went down the Java/TS webdev career path
Banjolino@reddit (OP)
That's a fair point, I don't want to avoid AI completely, just build a solid foundation first so I actually understand what's going on. For the VST side, I'm currently using HISE to prototype things but I can already see the limits without C++ knowledge, so it'll be a while before I have anything to show haha
YoshiDzn@reddit
What kinds of things can you do without relying on AI, hm?
OskeyBug@reddit
Sure. When I was in school it was all c++ and java.
autistic_bard444@reddit
In regards to starting with easier languages, that is a load of horse shit.
I started when all we had were man files and grumpy admins who harshly said rtfm all day to everyone
Beginning with low levels is the good way to go because once you start moving in any direction out of the back end you already undersrand way more than most people wish they could ever know.
A memory leak? What's a memory leak. As I understand it a lot of university's will not teach pointers to undergraduates any more because it either drives them insane or craters their grade so they drop
As for low levels. The biggest overall problem I faced was getting into gdb and using that effectively to back wash learning into my dumbass brain.
And yes. If you have even a shred of self respect for what you are learning do not use ai at all
May fortune favor your matching brackets and commas
trichotomy00@reddit
My first language was C++ because it’s what the college used . It was difficult but not impossible.
Banjolino@reddit (OP)
Good to know, thanks!
sessamekesh@reddit
It's how generations of programmers learned.
It is more difficult, but I'd argue it's worth it.
SnooBooks007@reddit
People have learned C++ as their first language without AI assistance before, so you can do it too.
forced_lambchop@reddit
You'll be fine to start with c++. If that's the tool you want to use them learn to use it. Manny people have learned c++ as their first language.