Programming Language Learning

hey Sup Forums

whats the best (free) way to learn c++? Is there a specific textbook or online course you would recommend?

Thanks.

Other urls found in this thread:

stroustrup.com/programming.html
youtube.com/watch?v=0pUSOi5e5_c
clicktocontinue.com/books/Apress.Accelerated.C.Sharp.2010.Jan.2010.pdf
learncpp.com/cpp-tutorial/
twitter.com/SFWRedditVideos

the best way to learn is to not write shit code like in your op

just a google stock photo lol

You shouldn't learn C++ but if you insist, Absolute C++ is a good book, has a pie on the front I think

what language would you suggest?i only say C++ because generally friends/family have told me its the most useful/rigourus

Languages are petty. Learn how to program. Learn algorithims, data structures, etc. You need a language to do this, I suggest Java.

learn a language like basic/python, get fairly proficient with them first.

You'll get a good grasp of the overall concepts like datatypes, if/then/else/while/for loops, select/switch statements, arrays, structures/classes, functions, the difference between passing variables by reference or by value.

That way you have familiarity with general programming concepts, without getting frustrated or overwhelmed and giving up.

Once you move into c/c++ and start managing memory directly, creating your own datatypes and data structures using pointers you'll be glad your familiar with the other general shit that applies to just about all programming languages instead of choking on all of it at once.

thanks allot!

also would you say after i learn Python i should learn C++ or Java?

in terms of syntax, java is almost identical to c++.

with java you have to deal with swing and the encyclopedia of built in libraries and mile long carpal tunnel inducing function/library names.

in c++ you either have to third party libraries, or write your own shit.

Both wouldn't hurt. Both are widespread, c/c++ is a deep fucking rabbit hole if you really wanna dig in.

c/c++ may wind up leading to picking up a bit of assembly and banging out a pet OS and copious amounts of unix beard.

Java will probably lead to a decent paying but miserable job, and possible murder charges after you beat your asshole manager to death who couldn't write hello world in python tells you a week before the deadline that everything you've done the last 6 months has to be completely rewritten.

To be fair, that happens in a lot of programming jobs, but java developers tend to be grumpy hard drinking motherfuckers.

>in terms of syntax, java is almost identical to c++.
managed vs unmanaged is infinitely more important here to point out than syntax
>with java you have to deal with swing and the encyclopedia of built in libraries and mile long carpal tunnel inducing function/library names.
java has decent tooling to deal with this. someone with BTFO with their sick tooling in another language or platform, but the point is, java developers know this and have tools to deal with it.
>in c++ you either have to third party libraries, or write your own shit.
jdk might as well be 3rd party with it's documentation so it's even there
>Both wouldn't hurt. Both are widespread, c/c++ is a deep fucking rabbit hole if you really wanna dig in.
I would say C++ is deep with "features". understanding C as a language shouldn't take long. It's
>c/c++ may wind up leading to picking up a bit of assembly and banging out a pet OS and copious amounts of unix beard.
maybe c, not C++ which to me is a different animal. you keep using them interchangeably. They are not
>Java will probably lead to a decent paying but miserable job, and possible murder charges after you beat your asshole manager to death who couldn't write hello world in python tells you a week before the deadline that everything you've done the last 6 months has to be completely rewritten.
This is professional software
>To be fair, that happens in a lot of programming jobs, but java developers tend to be grumpy hard drinking motherfuckers.
professional software is diametric. either you become smug, or drink

managed vs unmanaged: sort of covered that in the pointers and memory management in my previous reply. But op is looking to start, managed vs unmanaged is a bridge that won't be crossed for quite a while.

>maybe c, not C++ which to me is a different animal. you keep using them interchangeably. They are not

c++ is an extension of . Most likely you're not going pick up exclusively c++.

Some of the darker wizardry in c++ involves a working knowledge of some of the dirty ugly things you can do in c.

> professional software
Pretty much. professional software or unix beard & toy os, basically.

No. Learn C and assembly, unless you want to do something specific with C++ or Java.

How the fuck can someone expect that to be a good photo to resemble coding?
There is seriously about no sort of structure to it at all.

webfags stripping out spaces and newlines to cut down on bandwidth.

stock art fag found out about "view source"

It's a Sup Forums meme that C++ is too hard.

>recommending java
>ever

You're a horrible person.

>You'll get a good grasp of the overall concepts like datatypes, if/then/else/while/for loops, select/switch statements, arrays, structures/classes, functions, the difference between passing variables by reference or by value.

You can do that in literally any language.

>without getting frustrated or overwhelmed and giving up.

is writing
#include
using namespace std;
int main(){
...
}

really too much boilerplate?

>using namespace std;

it's fine for a programming 101 class

stroustrup.com/programming.html

This book is fantastic for beginners. Strictly speaking not a C++ book, but rather a programming book that uses C++ as an example.

Also written by the fucking author of C++ so you know there is no bullshit and bad habits in there like in so many C++ books.

yeah, actually.

having to include shit, just to print things to screen, or manipulate strings or arrays... where python or basic, you can just jump straight in without that shit and just focus on learning programming first instead of language specific bullshit.

using an easier language to get the fundamentals down first and focus on understanding how programming works, and how to structure your programs and data will make things a lot easier.

c++ or java for learning programming its kind of like having a ferrari for your first car. Yes you can do it, but you're apt to fuck up a lot faster.

You have to include shit in python if you want to calculate a sine or use a matrix. Why not start with Matlab where you don't have to include anything?

I agree that people need to be more specific with their namespaces. Instead of namespace std, use namespace herpes or namespace AIDS.

you have to include cmath if you want to do anything beyond third grade math. not even fucking exponents.

>matlab
because general purpose programming, not specialized math specific stuff.

You can do general purpose programming in Matlab.

Can someone tell me this is good to start off with:

youtube.com/watch?v=0pUSOi5e5_c

0:00:01 - 1. Series Introduction
0:04:35 - 2. Installing Visual Studio
0:11:40 - 3. Creating First C# Program
0:24:05 - 4. Dissecting C# Program
0:54:35 - 5. Quick Overview of the Visual Studio IDE
1:24:25 - 6. Declaring Variables and Assigning Values
1:52:10 - 7. Branching with the IF Decision Statement and the Conditional Operator
2:11:25 - 8. Operators, Expressions and Statements
2:25:35 - 9. FOR Iterations
2:38:50 - 10. Creating Arrays of Values
2:57:30 - 11. Creating and Calling Simple Overloaded Helper Methods
3:16:45 - 12. WHILE Iterations and Reading Data From a Text File
3:32:50 - 13. Working with Strings
3:58:40 - 14. Working with DateTime
4:15:05 - 15. Understanding and Creating Classes
4:42:40 - 16. Understanding Object Lifetime
5:00:50 - 17. Understanding Inheritance in the .NET Framework Class Library
5:34:00 - 18. Understanding Namespaces and Adding References to Assemblies
6:00:35 - 19. Understanding Scope and Utilizing Accessibility Modifiers
6:22:40 - 20. Enumerations and the switch Decision Statement
6:41:35 - 21. Gracefully Handling Exceptions
6:58:35 - 22. Working with Collections
7:32:35 - 23. Filtering and Managing Data Collections Using LINQ
7:55:25 - 24. Understanding Event-Driven Programming
8:23:25 - 25. Where to Go from Here

Based on the list alone, and the fact that I watched some of his vids in the past, he's a good place to start if you dont have any other resources or if you lack the competence to learn from a good book.

Just start learning for christ's sake. Leave Sup Forums and watch that entire video, try for at least 30 minutes a day.

I've come through half of this video, I think it's explained quite good, but sometimes he just talks way too fast and I have to rewind 15 times to 'get it'. Sucks also there aren't subtitles, because I have to translate and rewind a lot of times during series.

Just wanted to know if anyone went through this and thought it helped him a lot now that he has progressed, since I'm in the middle of it.

It just sucks that I don't know what I can do with what I'm learning for now. It's like learning alphabet, without even knowing sentances exist.

>but sometimes he just talks way too fast and I have to rewind 15 times to 'get it'.
If this is what you have to do, then continue doing it. The important thing is that you "get it"! I am happy to hear that you are putting in a lot of effort into learning how to program and I hope that you continue to be diligent in your learning.

This might help:


clicktocontinue.com/books/Apress.Accelerated.C.Sharp.2010.Jan.2010.pdf

Im off to bed now gn.

Well yeah, it's something totally new, but I'm going to college for it.

I have serious learning/concentration issues for now with it sometimes and it also doesn't help not knowing where this leads.. but oh well, just gotta believe in it for now.

I guess once I'm far enough to do shit on my own my creative mind will take over. But as I've said, it can be serious pain in the ass sometimes, because you really have to be there 100% and everything he says matters in some way or another. Which is good ofc, but still..

learncpp.com/cpp-tutorial/

Currently doing this one