C++ and programming

Hey Holla Forums I'm just a kid who finished high school and wants to learn how to program.
I've heard a lot about C++ and I'm thinking about giving it a shot, is that a good choice ? Should I start with something more simple ? Is pick related a good book for starters on c++ ? Are there some good websites to practice ? Are there any good youtube playlists to watch ?
Also is computer science fun?

Other urls found in this thread:

gitgud.io/Midskiller/computer-science
en.cppreference.com
stroustrup.com/programming.html
twitter.com/NSFWRedditVideo

I recommend starting by reading "The Art of Computer Programming" by Donald Knuth. Buy the whole set. Get is used and save some sheckles if possible. It's pure sex.

sage because tbh the first thing you need to learn is how to answer your own questions, and these are questions you could've answered yourself.

gitgud.io/Midskiller/computer-science

How about you start learning it instead of asking random people on the internet about it? Nobody in Holla Forums actually knows how to program outside of shitty webdev and bash.

Just pick a book or youtube series and see where it goes. If you don't like it just pick something else.

Also, you are learning c++, not c with classes. Make sure you know all of the c++11 and c++14 stuff as well, they can solve many of your problems.

en.cppreference.com is your friend, always keep it close by.

I'm not looking for a percise answer to my questions just a vague ideia of what I should expect and some tips on a good way to start based on your experience, also thanks for the book I think I'm going to read that.


This looks super interesting thank you


I just want some advice on how to start, I'll build my way alone just need a direction to start and thanks for the link I'll keep it close

How much do you know about programming already?

If you already know about functions, variables, and other basic stuff you can easily just memorize the basic syntax of c++ and work your way up from there.

If you know nothing about programming other than you want to learn it, I would recommend finding a good youtube series and going on from there.

Just a few tips:

You can't learn programming by memorization, that will just lead to copy paste programming.

If you don't completely understand a section of code or why it works you should figure out why it works.* If you just accept that it works and you memorize how to write it, you are just learning copy paste programming.

Learn by going from project to project. Come up with an idea, even an extremely simple one like a single operation command line calculator. And then figure out the parts and write it. This will teach you more about the language then reading books can. The books and video are to explain the basics parts of programming, you have to use them in a project to actually learn them

*Foot note, when you start out, you will just have to accept that some thing just work, like int main. There is nothing you can do about that. Once you get better, you should try to learn every small detail.

Thanks for the tips I'll keep those in mind, also i don't feel secure enough on what I already know, maybe i'll start searching for a good youtube series, do you have any recommendations?

Why do you want to learn programming OP?
Are there any specific things you want to be able to do?
How hardcore are you willing to go in terms of computer science and maths?

One thing I can tell you is you don't want Knuth's books right off the bat like says. From the preface of the first book: "The following chapters are not meant to serve as an introduction to computer programming; the reader is supposed to have had some previous experience."
It goes on in detail about the exact kind of prerequisites the book has, but it basically boils down to "you have to already know how to program". But that's what happens when you go on a board full of hyper autists. I can't tell if that person is serious or trolling but I wouldn't be surprised either way.

Learn C first. C is the lingua franca of computer programming.

Op asked to learn c++ not c, answer the question

If you actual read the OP, you'd see:


you illiterate faggot.

Thanks for telling about the book, I'm still going to read it though, i'll just wait untill I have more knowledge.
I'm thinking about entering in Computer Science next year and I want to learn as much as possible about programming right now I really have a desire to now more about this topic it just looks so much fun Oh and in the future i would like to make videogames, this might be stupid but that is my dream, to make sucessful video games.


Could you explain me why I should learn C first? Is it really better or should I just go for C++

It sounds like you're serious about this, which is great. In that case you might want to learn Discrete Mathematics, as it's the foundation of any mathematical subject really. Knowing that shit will give you a big leg up in most universities (that aren't shitty "learn how to java and python in 2 years" diploma mills). I came out of my first discrete maths lecture in shock thinking I'd never finish my degree but it's really not that hard and you can avoid that same thing if you learn about it over the summer. If you're really serious you should definitely get into these things even if they seem menial or irrelevant, because it'll be essential for you in the long run.

Anyone else on here probably would have called you a faggot for it but I'm actually a CS student myself who's dreaming of getting into video games, so for me it's gr8. Definitely buy books on programming (game or otherwise) to expand your knowledge during your time in school.

Video games is still a pretty broad field though, there's game logic(what most people think of as "game programming"), computer graphics, physics, AI, engine architecture and a load of other fields. I don't know which one I want to get into myself but I'm going to learn a little bit about all of them.
The most widely used language in games is C++. You should learn C sometime anyway because squeezing every bit of performance out of your machine is paramount in the industry, and C helps you learn a lot about the low-level stuff needed for that.

I'm actually working on sharpening my tutoring skills and I helped two people pass their programming tests before, so I could help you get into programming, give you assignments and feedback, that kind of stuff, if you're up for it.

Thanks for you support, it makes me pretty happy somehow, I have a lot to worry about in this summer, I don't have the best grades and the country where I live in isn't very well known for its universities, however I think I can enter in a decent course. I will definitely try to learn as much as possible about Discrete Mathematics this summer.
I would love to have you guidance at the start, any advice is welcome since I really want to learn as much as possible about this world

You'll be able to learn to program from pretty much anything. Don't worry about the language, unless it's Assembly or COBOL.
What's more important is that you understand the concepts that programming languages are based on. If you know what variables, datatypes, data structures, loops and functions are, you know enough to to be good.

People dream of being a millionaire. People don't dream of painting their house.

Even I, a nobody who has never stepped foot into a college and isn't even close to finishing high school, has made a game engine in c++. It doesn't even suck that bad. It runs extremely fast even with thousands of entities. It even allows making the entire game in lua.

You've taken college classes, just go for it. You don't need to be an autist and spend all of your free time programming for it. Just spend a few hours a week reading SDL documentation and programming.

Why?
I get that it would help programming, I do. My high school trig classes helped a lot in making my engine, but I would never recommend someone's first step to getting into programming is learning trig.

If you want to learn c++ just google up a good book or youtube series on it. There is no reason to beat around the bush.

I don't dream about being a millionaire, I mean I wouldn't mind but that isn't my primary objective, I just want to spend my time in something I enjoy and developing videogames sounds like something really fun and interesting, even though some people take it as a joke.
I just want to learn how to program and I want to learn as much as possible about it because it looks fun.

Becuase i want to gather every single piece of information related to programming that will help me in the future, I don't want just a good book or just a good youtube playlist, I want as much information as I can fit inside my brain.

Excellent, we could exchange contacts if you like then. I've got XMPP and [trigger warning] Skype, whichever you prefer.


Pretty much this, except I would add that the language you pick does matter, but it's more important to pick something and get learning.


I meant in addition to learning whatever language he wants to learn, not necessarily as the first step into programming. He mentioned going to university where he'll need it anyway and it'll be a big advantage to actually be comfortable with most of the mathematical notation.

I also have skype i'll try to add you next morning but right now I can't, I finished my exames last week and i'm drunk as fuck right now I'll post again next morning

You don't need to know C++ to develop video games.

Learn 3D modeling and learn to script an existing game engine, which is usually done in lua, javascript or python these days.

It is very difficult to find work as a beginner C++ developer, however if you are an advanced/world class C++ developer you can pretty much name your price.

You'll need to learn a lot more than just the language, you'll need to know networking, graphics, sound, video, concurrency/multiprocessing issues, physics/maths, and a good deal of algorithms as well.

And I probably won't have time to check on this thread during the day tomorrow so just add me whenever. Skype name is in the e-mail field.

I forgot to ask, how can I add you

Doesn't that apply to pretty much everything in this world ? I don't expect to one day learn the basics of c++ and the next morning get a call from Microsoft

I know that, sound and video are two things that I'll probably have pay to someone to do them for me since I have close to 0 skill. What do I need to know about graphics? Could you be a bit more specific?

Sounds fun thanks for the advice

Kid, you need to lay off the SJW koolaid. You're a young adult.

As far as you're question goes sure, C++ is a good place to start if you're serious about becoming a software engineer as a career. The best, in fact. If you just want to dabble in programming, then Python is a much better choice for a beginner.

However, if you're in the former group then there is really only one correct place to start you're engineering education and that's PPP2:
stroustrup.com/programming.html

Nahhh being an adult means having resposabilities, let me have another 3-5 years of immaturity.

Thanks for the book I'll add it to the list.

...

Learn C++ for starters and then study some C on your own just to see how things can be done without all the abstraction. Taking C to start with will teach you many bad habits. Learn to play core wars. Take at least one class in formal logic (probably in the philosophy department).

Programming is plenty of fun unless you let yourself get sucked into being a career code money

You can actually get hired as a junior developer for many other languages by just knowing the basics. But there's a distinct lack of junior C++ developer positions.


You need to know a few graphics APIs, i.e. OpenGL (or DirectX), SDL, propietary console APIs (each one has its own).

In turn you need to master quite a few graphic concepts before any of those APIs make sense. If you don't know what things like parallax mapping or screen space ambient occlusion mean, you better start reading.

Save yourself a lot of trouble and just learn an existing game engine. You can also start with 2D games first. There's actually a decent job market for able 2D games developers in the mobile market (Cocos2d, Unity and CoronaSDK are the biggest players there).

Ah, one of those "extended adolescence" brats.

I hope someone rapes you in the shitter over and over until you decide to man up enough to put a stop to it.

Good luck with the programming, though.

...

Just learn C and Scheme.

Not if you use sepples