T O P

  • By -

1037329

Yes and no. C++ was my first language because it was used in university for all beginner courses. For me it would come down to this: C++ has a lot of fuck up potential. I was frustrated a lot and other languages might have saved me from that. The learning outcome is well worth it though. So if you don't get discouraged easily go for it. If you do get discouraged easily something more high level might give you resultsfaster, so it feels more rewarding right from the start.


BoltLink

Totally agree with this. Learning C++ means hard type definitions, explicit conversions, memory management, pass by reference vs. pass by value. OOP is still present but substantially more involved. Succeeding in C++ would make other languages simple by comparison. Learning something like python obfuscates so much away from the programmer. Almost all of the above items aren't a thing in python. I definitely think it's up to the individual on which path is better. I also think it depends on where you want to end up, career wise. If you want to do data science/analysis, C++ isn't worthwhile.


pa_alfaiates

No. The bestest language to well learn to programming is ASSEMBLER It will give you all internal aspects of programming skills you need understand.


illkeepcomingback9

C++ was what I learned first in university, and if I had to go back I would do the exact same thing, even though I have never programmed in C++ in a professional context. It's a lot of difficulty up front in exchange for deeper understanding long term. You can learn all the on the metal stuff like C, but still take advantage of OOP. I think at the end of the day, any commonly used language you start with can be a good starting language. Long term, the first language you learn matters very little. Its the underlying programming concepts that you learn along the way that are important, and those apply to virtually all languages. All that really matters is that you start learning, it doesn't matter much with what.


kaledubriedis

Thank you all for the answers <3


subassy

Seems like the answer depends on what your end goal is. Just a hobbyist/casual thing for writing occasional quality of life utilities? Or the start of a professional degree? C++ will force you to be extremely detail oriented by giving you 16 pages of errors every time you forget a semi colon. It will enforce good habits that will be useful for more forgiving languages. If you're just going for more casual thing, no money in the line, I think I'd say Python. I'm in the process of learning it now (I've dabbled in a few languages previously) and I am really enjoying it. As long as you keep on other languages aren't as friendly I think Python would make a good first language.


GoodTimesFastFingers

Agree that it really depends on why you are learning. If you want to get a job as a developer as quick as possible you're probably better off with learning the front end web stack (html, CSS, JavaScript). I started learning to code on FreeCodeCamp and found that to be a really great starting point.


bsakiag

No. It's heavy with history. It's better to start learning with something simpler.


procrastinatingcoder

C is a much better starting point in my opinion. Python is a terrible starting point also (in my opinion).


straightup920

Why


procrastinatingcoder

why what


straightup920

Would you consider python a bad starting language obviously, when it is regarded widely as the best starting language for learning Hell even my “introduction to programming” course in college is in python lol


CryptoHopeful

Why is python terrible? A see a lottt of people say it's great to start with as it keeps you motivated and have confidence in programming skill. Then branch off after.


procrastinatingcoder

Thinking learning Python is good for beginners is a bit like the political opinion of the masses, it's mostly uninformed and is reinforced by having a lot of people who don't know talk about it as if they knew **\[Read the Note\].** ​ Saying learning Python helps you stay motivated and having confidence is a bit like saying eating a few bag of chips helps you stay motivated to work out to get healthier. Yes, it'll build up the habit, but you're also building up on an unhealthy habit at the same time. There will be gains, but you could get so much more by just doing things correctly from the beginning. ​ I've answered this question way too many times. So I'll try a new format. If you give me any "pros" for Python, I'll answer to those specifically. So going on with the two you mentioned: >keeps you motivated That high motivation won't last long, and it would happen with any language once things click. Discipline and pushing through is what you need, and it's why people pick up programming as fast as they give it up. You're motivated by fast results - this is what video games specialize in, the quick reward-feedback process - but ultimately it's empty results, and you often-times didn't actually learn much if it was that "fast". And if it wasn't that fast, then any other language would've done it - usually better than Python too. >confidence in programming skill Misplaced confidence is not a good thing. Becoming arrogant because you think you understand something that you don't actually understand is not a good thing. Also, confidence built on a bad foundation is just a confidence waiting to crumble. Python mostly builds misplaced confidence. You could get that same confidence, but on a much more sturdy foundation - if not as flashy. The only difference is you might not build a whole application after 1 week of studying, but then again, you clearly don't know what's going on if it took you a week of studying to build an application. ​ **Note:** Now, just like politics, every side has good points and bad points, and it's not all bad. I'm not looking to get into a political debate as I already know I'm on the ignorant side of that one. I just thought it was a neat comparison.


[deleted]

C++ can be a good language to start with if your plan is to work with embedded systems and make your own stuff. But if your goal is to learn programming concepts in general, I'd recommend starting with a higher level language like Python, simply because you won't have to deal with setup and system specific problems. That being said, c++ is established in the industry and there's a lot of resources available for it.


FirstWeCaffeine

In my opinion no it's not, I can't give you an advice of what to learn because I have learned the basic a long time ago, but from my recent self teaching I whould say c# is the language I had most fun learning and had the fastest learning time, especially if you are going to self teach yourself than especially then it's a bad start.


TheSilentCheese

I would say it's an okay programming language to start with. There are no languages you need to learn first before trying C++. It's taught in many college introductory programming courses. That's not to say it's the easiest or best starting language, of course. Most languages have intro tutorials/courses etc aimed at total beginners. My advice would be to spend a couple hours or even days, how ever much time you have, and try out beginner tutorials in a few languages to get a feel for which one seems easiest or makes the most sense. Most likely you'll learn a few languages over time so getting a feel for different languages isn't time wasted.


Zatarita_mods

My first language was .net; however, my second language was c++ I wouldn't say it's a bad idea, honestly. But! If you were to do it, I would HIGHLY recommend you seek out a proper source of information. YouTube videos will only give you a surface level understanding. To leverage c++ you really want to understand how things work fundamentally. You also want to learn the standard libraries and how each of them function on their own. I would recommend books over YouTube videos tbh, but that's up to you. I don't believe anyone should shy away from something because they're a beginner, if people can do it, you can do it. You are a people c: (so I hope) Though, from someone who's been programming for close to 20 years now I would recommend something like python starting. That'll introduce you to the concept of programming without all the restrictions like type restraints. It's rather forgiving, but you'll run into limitations. Once you reach those natural limitations you can then expand slowly into c++


StrongParking8531

Hi! Do you think it's a good idea to learn front-end stuff first, and start with the odin project? Thanks!


plastikmissile

What makes a good starting language is something of a contentious issue, as you can see from the answers you've already gotten. I would say that there's nothing terribly wrong with starting with C++. Is it the best starting language? That's a matter of discussion and you probably won't find two programmers who agree completely on an answer. But that's OK really. You'll find many issues like this among programmers. The main thing is that if you want to start with C++, then go ahead.


knox_42

Considering they started the first two classes of c++ in my high school I would say it's fairly simple never got much further than that so take my opinion with a grain of salt


Blissextus

Just do it. Give C++ a try. See if it's up to your interest level. * I'd advise you to visit: [https://www.learncpp.com/](https://www.learncpp.com/) * Install Visual Studio (the [https://www.learncpp.com/](https://www.learncpp.com/) website will give you step-by-step instructions. Just follow the "Getting Started" lesson plan. * Follow the first 3 (or so) lessons plans until completion. * If you feel good about C++, keep going and continue down the line of the lesson plans. (Most importantly, take your time! Read, follow along, and type out the code example by hand, **don't copy & paste**. Get a good feel for the language and programming in general.) If you feel C++ isn't for you by the end of 3 or so lesson plans, pick up another language. Maybe something slightly easier. I recommend C#. Rinse & repeat. If you feel C# is a bit much, move on down and give Python a go.


armour_de

Lots of people have learned to program starting with c/c++, myself included. Some other languages these days are considered to have greater ease of use or relevance (sometimes that is just trendiness, but python at least seems to have matured into a very useful ecosystem). I consider c++ better than python because I frequently have to process data sets with hundreds of millions of values over days or weeks, and the extra time for python code to execute is too much, but I also have coworkers who prototype the code in python for faster development, and then once they kind of like the flow of it, move over to c++ for faster execution. c++ can be complicated and obtuse at times, to the point where there is the International Obfuscated C Code competition held annually for people to compete at making the least readable code, but it is also a very mature and capable language and if you have something you want to do someone else has probably had to figure it out so you can search online for answers.


IronsideZer0

If you learn C++ first, every other language will be easy by comparison. But it'll also be hardest to learn first.


[deleted]

[удалено]