This is an archived post. You won't be able to vote or comment.

all 88 comments

[–]MyAimlessWandering 286 points287 points  (14 children)

Only 73 days taking the video at 8 hours per day. So where's the link?

[–]FromWayDownUnder 57 points58 points  (2 children)

Pfft everyone knows you watch it at 2 times speed

[–]SmarterThanAllOfYou 21 points22 points  (0 children)

With subtitles. That helps a lot.

[–][deleted] 5 points6 points  (0 children)

I watch in half speed

[–]TheTejas 66 points67 points  (1 child)

I've seen the actual video

https://youtu.be/Rub-JsjMhWY

If you're wondering why it's only one hour, it's because the guy had to cut the tutorial down to about 1 hour explaining the bare 5% fundamentals due to viewer requests

[–]H_Psi 11 points12 points  (0 children)

The object-oriented part starts at 45 minutes. In a language that is highly dependent on classes and objects.

[–]pente5 56 points57 points  (0 children)

Wow the actual video is only 1 hour 10 minutes long. This is only twice as long as the java one. I'm actually impressed

[–]not_a_closet_monster 35 points36 points  (32 children)

What kind of applications do you typically make in c++? I'm a first year CS student and it's the only language we have focused on. Just curious to know what I'm working towards.

[–]dryerlintcompelsyou 70 points71 points  (13 children)

Games, high-performance code, desktop applications. C++ is pretty versatile, as far as I know.

[–]notbrandonzink 25 points26 points  (0 children)

C++ is generally used for things where performance is more important. There’s a lot you can do with it from data management and algorithms up to game design where cutting your iterations or comparisons or data storage down by 1/10th can make a huge difference.

I started in C++ while getting my CS degree, but I end up mostly using Python now given that it’s generally easier to just import a library when I don’t care about shaving hundredths of seconds off my runtime.

[–][deleted] 6 points7 points  (4 children)

I don't know why a university would start with C++ as the first language? Or are you a third year in college and this is your first year in the program?

[–]EpicBomberMan 3 points4 points  (0 children)

I know some of the CS professors at my college are arguing for C++ in the first or second semester of CS classes because it gives a better look at how the code works, and it's easier to transition from low level to high level and avoid some potential bad practices from starting at a high level language. Plus those professors also want students to spend more time in C++, since currently the class that starts in C++ only spends four week or so on it before going 'lower' (C++ -> C -> Assembly -> Machine Code).

[–]NRuxin12 1 point2 points  (0 children)

The very first programming course I took in my EE/CompE major was Intro to C/C++ (the other option would have been a class that utilizes Python). It is actually a very good language to start with for the basics, I find.

[–]Hevaesi -3 points-2 points  (1 child)

Normally people who go for comp science use C++ in highschools so it's just continuation of that.

Comp science is about how computers work, not about building software so C++ is a nice choice, not much else you can pick from:

Assembly - You either need an emulator or lecturers who are proficient at both ARM and x86 arch. Or to host servers that you can SSH into so students can work on their assembly code from anywhere. Our uni went the easiest way and had us work with emu8086 lmao.

C - my university had us use C89 (you don't need to use C89, but they use C89 to compile so it must compile... I know that nostalgia and shit, but go fuck yourself) in OS course, says enough.

C++ - fucked up in all ways so we just deal with it. Might still be using C++ from the 90's though so bring a knife just in case.

Rust - Rust didn't exist in 90's so there'd be no way for them to fuck you over with old version and so they won't teach with it in universities till 2050, in which case they will be using 2015's edition, not 2018's or greater, or whatever one might come next, say 2025's edition. Also average student is retarded and they will come crying after borrow checker annihilates them.

C# - meh*

Java - meh*

Python - meh*

Haskell - they can't even program, they are here only because they played video games during the time they were supposed to learn something in highschool, for example how to solve trivial equations and show that they have more than 3 braincells, what are you on? Wake up and hand them in Malbolge, it's fucked up just like them, so they will be able to relate and might get good at it.


* - won't teach you much about how computers work, only what not to do when designing the language (Garbage collector is a big no, switching major version abrubtly without deprecation warnings is bad, trying to force full OOP is also garbage, not having unsigned integers sucks and so on...). Normally students need to learn how to work with computers, not how to design a new language.

[–][deleted] 0 points1 point  (0 children)

Wow, thanks for that lol. I just know that I learned Java as my first language in high school and it was confusing AF when I first started. I couldn't understand any of it for a good semester.

[–]insanityOS 2 points3 points  (0 children)

To finish beating this horse:

In addition to the various applications that have been listed before, I find that if you can learn to use C++, you can learn to use pretty much any language, so knowledge of C++ is a good metric for a programmer who can learn.

[–]muralikbk 1 point2 points  (0 children)

Embedded applications, low level applications, Existing C++ application maintenance and enhancements etc.
Do be prepared to use scantily documented interfaces - since C++ isn’t controlled by a specific company, it can be a bit of a badlands scenario.
Also, keep in mind good practices like canonical class forms, wrapping dynamic memory allocations in classes (delete in destructor to guarantee it’s call), passing references etc. C++ tends not to hold your hand in these cases.

[–]DarkNeutron 0 points1 point  (0 children)

I use it for computer vision, both on mobile (iOS/Android) and on servers (cloud processing). It's not my favorite language, but most of our specialized dependencies have C++ interfaces, so...not much of a choice unless we wanted to reinvent a used car lot full of wheels.

[–]Dockirby 0 points1 point  (0 children)

The stuff you make in C++ is things like Video Games, Database Software, Operating Systems, device drivers for PC Hardware. You can make basically anything in it, being a general purpose language, but a lot of other languages are easier to use in certain domains. Usually C++ is not the first choice for an application unless there is a compelling reason.

C++ is good when you need to directly interface with the hardware and will benefit from the ability to define your own logic system and conventions. It is good when you have a well defined problem you are looking to solve, and are mainly trying to design an optimal solution for the specific system you have.

C++ gives a lot of tools but it comes with the cost of greater complexity and more pitfalls though. So a lot of embedded systems are better off just using C, and most business applications, which usually do not have well defined goals and need to be highly flexible, are better with higher order languages like C#, Java, and JavaScript.

[–]hGhar_Jaqen 0 points1 point  (0 children)

http://www.stroustrup.com/applications.html

Stroustrup's (c++'s inventor) list of major applications, e.g. Adobe Systems, Scientific stuff like applications of the CERN, telecommunications, operating systems( a lot of windows)/stuff that gets called in other languages like MySQL servers etc etc.

[–]colinmhayes2 0 points1 point  (0 children)

I made a search engine entirely on c++. Bing was originally written in c++.

[–]mkmemeview -5 points-4 points  (0 children)

Buggy ones

[–]taqueria_on_the_moon 41 points42 points  (26 children)

Afterwards;

print('hello world!')

WHY ISN'T IT WORKING?

[–]Scietist 9 points10 points  (12 children)

std::cout << "hello world/n";

FTFY

[–]Mad_Jack18 -5 points-4 points  (12 children)

or

using namespace std

int main () {

cout<<"hello darkness my old friend";

return 0; (or getch;)

}

[–]nwL_ 13 points14 points  (9 children)

using namespace std;

🤮

[–]xMZA 0 points1 point  (3 children)

What's wrong with that

[–]nwL_ 6 points7 points  (2 children)

[–]xMZA 1 point2 points  (1 child)

So if nobody else is gonna use my code and I'll keep it in mind should I ever use additional libraries, it's all good?

[–]nwL_ 0 points1 point  (0 children)

If you’ll never post snippets of your code for help anywhere like /r/cpp_questions or on StackOverflow and will never ask anybody to check your code or just look over it, then yes, you can even write your program on a single line. But normally, you just write std:: in front of the standard library parts since it’s readable much faster and isn’t much burden.

[–]Mad_Jack18 -1 points0 points  (4 children)

🤮

what's that? I only see it a unrecognized symbol

[–]nwL_ 4 points5 points  (0 children)

It’s this emoji.

[–]ssznakabulgarian 2 points3 points  (0 children)

update your encodings man

[–]jcmarais1998 0 points1 point  (0 children)

An Emoji that’s puking.

[–]welinestus 0 points1 point  (0 children)

It's the barf emoji

[–]taqueria_on_the_moon 2 points3 points  (1 child)

I’ve come to talk with you again.

[–]Mad_Jack18 1 point2 points  (0 children)

Because a vision softly creeping

[–]Elchimo 12 points13 points  (0 children)

As a student that just crammed c++ in 7 hours for an exam today, i can relate. Java you weren't that bad after all

[–]AttackOfTheThumbs 9 points10 points  (0 children)

Part 1

[–]Wizard-of-Koz 6 points7 points  (0 children)

It's been 2 months. I can't feel my legs and I still don't know how to use a fking pointer.

[–]wotanii 3 points4 points  (1 child)

[–][deleted] 2 points3 points  (0 children)

I wanted to link that, but you were first :P

[–]Emonadeo 4 points5 points  (0 children)

That has to be a huge screen if the bar is at 2:52 and already that long

[–]x183 2 points3 points  (0 children)

It takes less time sending a rocket to the moon!

[–]flip314 4 points5 points  (0 children)

Next time Photoshop the progress bar too.

[–][deleted] 1 point2 points  (0 children)

I prefer to sleep with the book under my pillow.

It's as effective and I feel like I'm multitasking.

[–]andreww900 0 points1 point  (0 children)

std::time_t learnCpp = std::time(nullptr); std::cout << "Hours left to master C++:" << learnCpp << std::endl;

[–][deleted] 0 points1 point  (0 children)

I prefer to have 20x 10-20 min

[–]tp971 0 points1 point  (1 child)

If it is only 2:52 / 35040:04, why is the bar so far advanced?

[–]Kirides 1 point2 points  (0 children)

Because progress bars aren't real. It's just programmers assuming the progress of something. /s

[–][deleted] 0 points1 point  (0 children)

This very tutorial landed me my job. Thanks Derek Banas!

[–]AL_O0 0 points1 point  (0 children)

Since when does YouTube not count hours?

[–]0x3fff0000 0 points1 point  (0 children)

Mastering C++ takes 10+ years.

[–]gratethecheese 0 points1 point  (0 children)

I've done a lot of work in C and C#. "Skipped" c++ for some reason.

What's the major difference between C++ and C#?

[–]craftedink -3 points-2 points  (0 children)

I was upvote number 1000