[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y ] [Search | Free Show | Home]

Hi /g/, can anyone share their journey learning C++ step by step?

This is a blue board which means that it's for everybody (Safe For Work content only). If you see any adult content, please report it.

Thread replies: 54
Thread images: 3

File: c-logo.png (33KB, 600x400px) Image search: [Google]
c-logo.png
33KB, 600x400px
Hi /g/,
can anyone share their journey learning C++ step by step?
I really don't want to waste time with resources that are bad so please share your experiences.
>>
>>55671763
read programming principles and practice using c++ 2nd edition then effective modern c++
>>
>>55671763
As much time as you are going to waste trying to curate the "right" resources you could instead just read through some of them and make something. What you're doing is procrastinating. Just read The C++ Programming Language or C++ Primer Plus - the more important part is actually writing though, and we can't do that for you.
>>
I learned about computer architectures and their specifications and then figured in how one might control that piece of hardware and what constructs serve a logical piece of that puzzle.

A monad, for instance, would be a switch case without any calls to `break`. Or a function created with a byte that uses `and` and `or` expressions to evaluate a result.
>>
>>55671835
upvoted
>>
>>55671763
Literally a complete and utter waste of time. Learn a more useful language, like Python or even Java for fuck's sake. C++ is dead.
>>
>>55672686
that is debatable
>>
>>55672686
idiots abound
>>
>>55672686
C++ > Java

The only reason to use java is to program enterprise software quickly with cheap CS graduates.

>>55671803

This. Also Exceptional C++ but it is in an older style.
>>
>>55672756
>>55672787
>>55672868
You sound like fucking retards with no experience in the job market. Where are you looking for jobs?

Unless you're interested in maintaining legacy software at miscellaneous bulge bracket banks in Melville doing $35/hr corp2corp for the remainder of your dreary and miserable years, I'd recommend abandoning the C++ community.

Perhaps you should consider cobol as well. What major tech companies are using C++, honestly? There's literally no growth potential unless you're interested in high frequency trading, and even then the demand for quant devs in C++ is dwindling....
>>
>>55673046
not everyone wants to be a macfag web "developer"; Some people want to do something that's not useless.
>>
>>55673046
>What major tech companies are using C++, honestly

is this bait?
>>
Why are you learning it? Pick a project and do it, learn it that way.
>>
File: autism.png (292KB, 791x353px) Image search: [Google]
autism.png
292KB, 791x353px
>>55673046
>What major tech companies are using C++, honestly?
You mean, everything, apart from webdev, banking and insurance business?
>>
>>55673071
I'm confused - what are all of those C++ devs to whom you're referring working on that has actual substance?

>>55673094
top kek, lad. Check out google's stack when you get a chance. Or maybe Microsoft's. How about Amazon's? Languages with higher levels of abstraction are actually useful as it turns out - who would have thought?
>>
>>55673154
>Check out google's stack when you get a chance. Or maybe Microsoft's.
most of google's code is c++/java
like everything microsoft does is c++
>>
>>55673046
Which web browser are you currently using?
>>
>>55673046
OP asked about a path for learning C++. If you don't like C++, why don't you just fuck right off and go post in another thread? I don't see how you have anything to contribute to this thread, pajeet.
>>
>>55671763
deep copy two maps containing pointers to classes which also contain pointers, then you are ready.
>>
>>55674149
what does that even mean
>>
>>55673453
Learn to distinguish "widely used" with "currently in demand". A vast majority of tech companies have legacy C++ code - unsurprising, as C++ was highly in demand at one time. TODAY, very few companies are actively seeking C++ talent to launch new, state-of-the-art products. There was a time when this was certainly the case, but making a conscious effort to become a solid C++ developer rather than adopting more contemporary languages is a poor decision. C++ is not the future, don't bother. There's no money there, there's no growth. I don't care about your language preferences - this is practical advice, not linguistic nitpicking.
>>
How applicable is c++ to c#?
>>
>>55674845
Not very. Java to C# is more applicable....
>>
What is this huge memory leak? Let's try to write our own garbage collector.

SEGMENTATION FAULT
Fine fuck the heap we'll do it all on the stack
STACK OVERFLOW


FUCCK
>>
>>55674615
I don't recall anyone suggesting that OP not learn other languages. How do you know OP doesn't know 10 other meme, "currently in demand" languages and simply wants to expand his horizons? I know I certainly do, and yet I still enjoy writing elegant code in C++. Not everything is always about money, senpai.
>>
My journey was reading C++ Primer (not Primer Plus) then Effective C++ (Myers), then working on a project.

Get a second monitor, or the physical book, begin by reading the first few chapters to see if it fits your style of learning. Get Code::Blocks, don't bother with other fucking complicated IDEs, sure, Code::Blocks looks like its old as fuck but its simple, and that's what you need when you're learning - Primer uses the GNU Compiler too, so even if Visual Studio wasn't heap of shit nowadays, you'd have a less compatible experience using it.

You have to be prepared to work at a pace that isn't comfortable if you've never learnt a language before, these are baby steps from the very beginning, and the full picture won't be there until you've slotted every peace of the puzzle in place. The good news is that first few steps are the hardest, then it gets easier to learn. You may fail at the first few hurdles a few times and keep coming back again, eventually it will stick and you will make good progress.

Remember that learning a language is not intellectually hard, it is in fact easy - programming languages are by nature logical and their process is designed to be understood. What's hard is having the perseverance and willpower to keep practising and picking up the book day after day. It is a different sort of challenge to the ones that have typically been encountered by young intellectual people, which I assume you are.

Keep at it, there's no easy way unless you're willing to pay thousands to have a tutor tailor his teaching to suit you.

Don't listen to /g/ when they tell you what language to learn or what or why you need to learn the language for. Just learn the language. C++ is an excellent language and can teach you virtually all of the transferable skills needed to be a good programmer in any language. You have made a good choice. Now all you need to do is stick with it.

Good luck.
>>
>>55674994
>>55674994
Actually, this entire argument, in case you just joined the party but still wanted to rave and flail your arms like a loud-mouthed lunatic, all began when several individuals disagreed with me about the current status of C++ in today's job market.

but I grin smugly at your right to compose arcane boilerplate code with unimaginably convoluted syntax.
>>
Unless I am mistaken, you are the dumbass who went off topic and brought up the job market. OP certainly didn't mention it.

And, btw, while you are grinning smugly, I am enjoying having retired at 42 based entirely upon the lovely code I wrote in the 15 years I spent in industry after grad school.
>>
>>55671763
For me it was a combination of college and self-teaching, but really the self-teaching was more for C and the college course was more for the stuff particular to C++. I can recommend that, but it's not very reproducible.

You should make something and come back or just use Google or StackOverflow if you have questions.
>>
/r/ing learning C++ in 20 days or something like that.
>>
>>55674615
What language should I pick? You could give me the top 3 at least.
>>
>>55675564
Python
Swift
Go
>>
File: 1464473378533.png (64KB, 299x288px) Image search: [Google]
1464473378533.png
64KB, 299x288px
>>55675807
Python is slow, and when python isn't slow it's because the module is actually a binding written in C or C++. If you're using python for anyhting other than scientific computing or going from concept to prototype, you're doing it wrong.

Swift is pretty much apple only. The demand is going to be far lower than a language which can compile to more platforms.

Go has a garbage collector

Are you even the guy sperging about c++ or are you just some random memer?
>>
>>55671763
>671763▶>>55671803 >>55671835 >>55672686 >>55674149 >>55675302
>Hi /g/,


What the flying fuck is wrong with you, this isn't some sort of theoretical chemistry test.

C++ is like riding a bike. Get a computer, get a keyboard, find a hello world tutorial. Start there.

Write up hello world, then let your curiosity and creativity force you to make hello world say "hello dick nipples' instead... and then move onto the next tutorial.

There's no 'right' way to learn this, just come up with some wacky idea and look up tutorials to get it done, if you can't spam some shitty board (Not this one pls) on how to do it until some poor fuck replies, do it and move on.


This doesn't even require a textbook or some formal class or even a method of procedure.
>>
>>55675807
>>55676060
Can I get a genuine top 3 then... ?
>>
>>55672686
>C++ is dead.
That's even funnier than the people who claim that C is dead.
>>
Im studying math and the first year we had to learn C++.

I remember our professor very well, he was a reallife autist who had a boner for Linux and hated Windows and Mac.

It was really fun to learn programming, honestly just follow a tutorial or something. I don't think there is one "besr" way to learn programming
>>
Learn c++ by learning C, and manually creating your vtable.
>>
>>55676402
>Can I get a genuine top 3 then... ?
Scientific:
C++
Python

Programmer:
C, C++
Java

Webdev:
Javascript, python/ruby/php/whatever_they_use_nowadays

Games:
>/v/

If you known 3 of these languages well you'll find a job easily.
>>
>>55673046
When I go to careers fairs at my university, probably something like 45% want Java or C#, 45% want C or C++, and 10% want Haskell or some other functional language.
>>
Learn Rust anon. It's the language of the future. Firefox endorses it.
>>
>>55679691
>future
>Firefox
although desu Go sucks even harder
>>
>learned Java
>learned C and got the memory management concepts
>somehow combined that to get into C++

Before all that I tried to do some C++ stuff and I was able to do some coding but I had no idea what I was actually doing.
>>
>>55678659
>45% want C or C++
WTF? Less than 5% of programming jobs in my region is for C or C++, it's 55% C# or Java (.NET stuff, .NET web stuff [episerver], generic business logic stuff), 15% Python (web backend), 15% JavaScript (web front-end) and the remaining 5% is shared between PHP, Ruby, Erlang, Go (I'm serious), C and C++.

There are more positions available as a hardware developer (VHDL or Verilog) than there are C or C++ developer positions.
>>
>>55676402

C++
Python
Javascript

Learn these and the world is your oyster.
>>
>>55671763
You're making an excellent choice.

I took an intense quarter-long course at my alma mater in C-style C++.
Then, over that summer, I did every exercise in Absolute C++.

>(Intermission: take a break and make a small personal project)

After that, I'd recommend creating your own templated data structures (linked lists, dynamic graphs, vectors, etc.) as an introduction to template programming, if you haven't already done that. Make sure you understand maps, heaps, sets, etc. Review sorting algorithms like merge, quick, shell, bubble. Understand the advantages/disadvantages of each. You can now used <vector>,<list>,<map> etc. without constraint.

>(Intermission: take a break and make use of an external library, such as Qt or SFML, to make a medium-sized project)

Next acquire a more modern C++ knowledge: learn about move semantics, lambda functions, function objects, iterator types, and variadic templates / parameter packs.
Scour through the standard template libraries and understand all that you DON'T have to program when working on an unconstrained project: <algorithm>,<memory>,<functional>,<thread>,<random>, these are all fantastic libraries.

>(Intermission: make a game. This should be a large, week-long project if you work intensely)

It's now time to grab several books:
The C++ Programming Languae, Stroustrup
Effective C++, Meyers
Effective Modern C++, Meyers
Read through these. Congratulations, you have a great understanding of C++. Go watch watch some of those Microsoft STL developer videos and CppCon videos.
>>
>>55671763
>can anyone share their journey learning C++ step by step?
I knew C from before

I read Scott Meyers' books: Efficient C++ and More Efficient C++

I started to fiddle around with it

When C++11 was announced, I started looking into it.

Still struggle a little with templates and constexpr stuff, but got quite a good hang of stuff
>>
>>55679928
Let me also add: avoid online "tutorials," such as codeacademy, for learning, especially in the beginning.
When there is a topic you're interested in, you'll find that actual expostions are much more helpful.
>>
>>55679766
This is accurate. This is true for programming jobs all over the world. The retards in this thread are delusional about the real world usefulness of c++
>>
>>55679960
Even if C++ itself is not frequently desired (which I don't agree with but that's besides the point), learning it is a fantastic experience that will yield a great amount of carryover when learning other language.
>>
>>55679979
I agree that learning C++ is a good thing, but it's hard to get a job as a C++ programmer. I had to work my way up to gain more and more relevant experience in order to get a C++ programming job, and I had to accept the fact that the pay was shitty as hell and the job had virtually no benefits (because there is a high competition over the few available C++ jobs out there).
>>
>>55678634
this

also, for games, they use a lot of C++, and if you are going to use Unity, then C#.

Also, C# can be often used if you are going to do Windows and .NET oriented stuff.
>>
>>55676064
C++ is the least 'trivial' programming language you could possibly learn. There are so many ways to fuck up learning it because its such a clusterfuck that you'd be an idiot not to ask.
>>
>>55680217
I swear, every NEET fucklord on this shitty board for Mongolian cave paintings wants to be a game programmer
Thread posts: 54
Thread images: 3


[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y] [Search | Top | Home]

I'm aware that Imgur.com will stop allowing adult images since 15th of May. I'm taking actions to backup as much data as possible.
Read more on this topic here - https://archived.moe/talk/thread/1694/


If you need a post removed click on it's [Report] button and follow the instruction.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com.
If you like this website please support us by donating with Bitcoins at 16mKtbZiwW52BLkibtCr8jUg2KVUMTxVQ5
All trademarks and copyrights on this page are owned by their respective parties.
Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
This is a 4chan archive - all of the content originated from that site.
This means that RandomArchive shows their content, archived.
If you need information for a Poster - contact them.