CppCon 2017: Bjarne Stroustrup “Learning and Teaching Modern C++”

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ก.ค. 2024
  • CppCon.org
    -
    Presentation Slides, PDFs, Source Code and other presenter materials are available at: github.com/CppCon/CppCon2017
    -
    We - attendees at CppCon - are all teachers. Some teach for a living; many occasionally teach a course or give a lecture; essentially all give advice about how to learn C++ or how to use C++. The communities we address are incredibly diverse.
    What do we teach, and why? Who do we teach, and how? What is “modern C++”? How do we avoid pushing our own mistakes onto innocent learners?
    Teaching C++ implies a view of what C++ is; there is no value-neutral teaching. What teaching tools and support do we need? Consider libraries, compiler support, and tools for learners. This talk asks a lot of questions and offers a few answers. Its aim is to start a discussion, so the Q&A will be relatively long.
    -
    Bjarne Stroustrup - Managing Director,, Morgan Stanley
    C++: history, design, use, standardization, future; performance, reliability; software developer education; | distributed systems
    -
    Videos Filmed & Edited by Bash Films: www.BashFilms.com
    *-----*
    Register Now For CppCon 2022: cppcon.org/registration/
    *-----*

ความคิดเห็น • 202

  • @BogdanSerban
    @BogdanSerban 5 ปีที่แล้ว +125

    I started learning programming in high school, but it was always simple maths or sorting algorhytms. At the university I started learning PRACTICAL programming on microcontrollers, databases or GUIs, and only then I got an understanding of how everything works.
    You have to have a purpose, otherwise it's useless and you'll probably forget everything anyway.

    • @THExRISER
      @THExRISER 4 ปีที่แล้ว +14

      Can confirm,I'm currently learning to code,and I find it really hard to make progress or remember what I' actually learning if I'm not learning it while working on a project,no matter how small it may be.

  • @claudiotheobaldo3630
    @claudiotheobaldo3630 4 ปีที่แล้ว +41

    Egoless teaching is so important! I love the fact that he touched on it!

  • @morrisonbrett
    @morrisonbrett 6 ปีที่แล้ว +140

    I can listen to him talk all day! Great presentation.

    • @projectjt3149
      @projectjt3149 5 ปีที่แล้ว +2

      Glad to see that the creator of C++ is so interested in how to properly teach something that's very loaded. Too bad a lot of teachers aren't following his advice.

    • @josephlagrange9531
      @josephlagrange9531 ปีที่แล้ว

      Brett, why do you all count Stroustroup good designer? May be he is just good Lobbyist?

  • @danieldixon5944
    @danieldixon5944 6 ปีที่แล้ว +40

    Thanks Bjarne for this video. Even at age 62 I still find myself as a Student. I am old C programmer and I found myself stuck on a problem and your advice on this video helped me guide in solving a coding problem. It does help to review the programming tools you use. Thanks again.

    • @josephlagrange9531
      @josephlagrange9531 ปีที่แล้ว

      Why do you all count Stroustroup good designer? May be he is just good Lobbyist?

  • @Gustavo-ok7jw
    @Gustavo-ok7jw 9 หลายเดือนก่อน +1

    "One of the problems with education, by the way, is that the previous occupation of most professors was student, and that, I don't think is just the right background for teaching people how to do". Finally someone to back me up.

  • @ac130kz
    @ac130kz 6 ปีที่แล้ว +52

    let's hope for the bright future of C++

  • @DanielFBest
    @DanielFBest 3 ปีที่แล้ว +6

    This man is so knowledgeable, and I could listen for hours.

  • @regal_7877
    @regal_7877 5 ปีที่แล้ว +4

    His accent and calm & expressive presentation made it really easy to concentrate for 1 1/2 hours. Contrary to my uni lectures where I doze off after 15 minutes

  • @kuhluhOG
    @kuhluhOG 4 ปีที่แล้ว +26

    1:29:00 I as someone how programs now for just over a year, can approve of this.
    At school, we don't do pointers or anything decently close to the hardware, which results that my classmates have a hard time getting arrays, classes etc. I taught myself basic (and with basics I mean just the basics) of C and a bit of C++, resulting in understanding other things actually quite quickly. Also, when we did arrays (after about 2 weeks of doing them some still didn't get it) I explained them what a pointer is and how things are saved in RAM (and what references are)...afterwards they understood it and all of that took about 30min...
    Please, to all teachers, don't start with object-orientated programming (which includes Java in general), if your students have never written even one line of code. They will just go and ask "What does public mean?", "What does class mean?", ... and because they are at a state where they don't even know what "if" means, they will just have either an information overload, or think of you (as a person) poorly (the latter is probably the worst which could happen btw, especially my generation will just make a fool out of you in such cases like this, but in a way you can barely punish them for it).
    Just start procedural (C is actually a good choice because you can teach them basic abstractions, if you write an own library you can also do VBA in for example Excel (drawing lines up and down, left and right to be exact).
    But for your students sake don't start object-orientated, most either will look stuff, where you say "You don't need to know that for now.", up anyway after class (and have a information overload) or drop out after some times (mostly because they are fed up with it, they don't want to feel treated like a child).

    • @Spero_Hawk
      @Spero_Hawk 3 ปีที่แล้ว +4

      I've been learning C++ for about 6 months on my own and I think this is great advice. My roommate is learning c# on his own by watching videos while I'm learning through a guide (learncpp) and his chief complaint is when they say "don't worry about this for now, just do it this way." Of course you can copy their code and it will work but you won't understand how or why, so when you change it even a little bit or try to implement it on your own it won't work anymore. The way I'm learning is step by step, building a foundation so that when I use something I know why it works, how it works and how it truly affects the code. How to do that while keeping interest and not overloading with information, now that is truly the difficult question. I think it is of utmost importance however.

    • @KFlorent13
      @KFlorent13 2 ปีที่แล้ว +1

      Kate Gregory has a great talk "Stop teaching C" precisely about how it's not necessary to know C before teaching C++.

    • @chastitywhiterose
      @chastitywhiterose ปีที่แล้ว

      I have been doing C programming for over 20 years and I only recently began to understand and use structures. I’m still planning to learn C++ but previous attempts have failed because classes are just hard for my linear brain. I’m interested in what C++ has to offer but not object oriented programming because I hate it with a passion.

    • @chastitywhiterose
      @chastitywhiterose ปีที่แล้ว

      And pointers are incredibly essential to know in game programming especially with SDL. I refuse to use languages which want to hide the fact that pointers exist.

    • @jackgame8841
      @jackgame8841 ปีที่แล้ว

      this is the way i am learning. c language is the best. and try to implement your own hashmap is the best project to understanding for me

  • @viraatchandra8498
    @viraatchandra8498 6 ปีที่แล้ว +5

    I started a club which uses the Raspberry Pi platform to teach coding to my peers in school after listening to this talk.

  • @porky1118
    @porky1118 5 ปีที่แล้ว +10

    I got inspired to use C++ again instead of rust.

  • @leesooahn6292
    @leesooahn6292 6 ปีที่แล้ว +26

    I swear all programmers must watch his speeches, also this video too. He knows the wrong of all the books and lectures that teach only syntax. That's why half of students who majoring in CSE know syntax, but had problem on programming, at least in my country.

    • @fangjunkuang5061
      @fangjunkuang5061 5 ปีที่แล้ว +1

      c man where are you from?

    • @kobe4460
      @kobe4460 3 ปีที่แล้ว +2

      My uni literally said c++ is python but with a different syntax lmao

    • @computer1889
      @computer1889 2 ปีที่แล้ว

      @@kobe4460 do you know what, i really thought if you are in higher grade level it means all teachers are more expert... now my thought about it changes overtime as I am learning this real world lol. Just like before when I was in Elementary like Grade 5 or 6? I wonder what would Grade 9 and Grade 10 teachers would be like, they are for sure strict, expert, hard lessons, but after I got there it seems just harmless haha. Of course maybe if you are in a reputable high standard university maybe for sure all the teachers there are expert really.

  • @akioasakura3624
    @akioasakura3624 9 หลายเดือนก่อน +1

    1000% greatest of all time. Pure REAL humbleness and passion. If only more ppl were like him society would be much better. And man why is nobody laughing at his jokes 🙁🙁 he’s so funny, good jokes without being annoying and straight to the point😂😂Thank u for sharing!!

    • @devon9374
      @devon9374 4 หลายเดือนก่อน

      I agree! I used to hate programming. This was after using Matlab in school and trying to learn Python with "automate the boring stuff" but it left me uninspired. Eventually, I landed on the Swan book (Programming Principles and Practice) and it all just clicks. His philosophy on programming and practicality is inspiring. Now I love programming ❤

  • @amolaspatas
    @amolaspatas 4 ปีที่แล้ว +2

    Enlightening way beyond the technical scope of the presentation.

  • @codycrank3465
    @codycrank3465 6 ปีที่แล้ว +28

    CppCon 2017 YAY!!!

  • @Engoneer
    @Engoneer 9 หลายเดือนก่อน

    I'm teaching 7 of my friends and this is exactly what I have been looking for. I've been trying to teach through the experience of fun stuff rather than nitpick stuff

  • @BbB-vr9uh
    @BbB-vr9uh ปีที่แล้ว +1

    The cpp I learned in school, and that I used in my first job, was largely on the cpp98 standard. Even though I started college 2015 lol. This introduced me to a lot of nice, new features of the language.

  • @Tinfoilpain
    @Tinfoilpain 6 ปีที่แล้ว

    Been waiting all week for these.

    • @numv2
      @numv2 6 ปีที่แล้ว +1

      Been waiting one year

  • @michaelpowell1308
    @michaelpowell1308 6 ปีที่แล้ว

    1:29:30 Couldn't agree more. The fundamentals are of CRITICAL importance; if, as Mr. Stroustrup said, for nothing more than to appreciate, we do not necessarily need to be make those mistakes all over again.

  • @k1awdttt
    @k1awdttt 5 ปีที่แล้ว

    Love his goofy and dry humor. I think that not just for C++, but every Computer Science/Engineering professor should watch this vid so that they would suck less.

  • @joe-ti8rz
    @joe-ti8rz 6 ปีที่แล้ว +2

    Thank u stroustrup. Art for programmers.

  • @Ptr-NG
    @Ptr-NG 5 ปีที่แล้ว +6

    "Nobody can do everything... but do something.."

  • @porky1118
    @porky1118 5 ปีที่แล้ว +6

    In school we used java for programming, and we never touched stuff of the standard library. Instead we spent most of the time to learn about and implement linked list and other similar data structures in an inefficient, object oriented, non-generic style based on inheritance.

  • @piaopiaokeke
    @piaopiaokeke 6 ปีที่แล้ว +6

    Damnit, I am in Seattle right now. I want to go to CppCon so bad! :(

  • @michaelpowell1308
    @michaelpowell1308 6 ปีที่แล้ว +1

    55:44 Yes, INDEED! In fact, not only have I cast the PERIOD, but also at times the REPRESENTATION! ABSOLUTELY!

  • @267praveen
    @267praveen 5 ปีที่แล้ว +4

    There is a new series coming from CrashToSmash Modern C++ . Hope that covers latest features

  • @WinslieLeon
    @WinslieLeon 5 ปีที่แล้ว +1

    ... and hey the teachers on the internet, especially the guys, it is not a head start ..... thats the best thing about you guys ... it is head first!! (Rufus, that makes two of us ) ...:-)

  • @michaelpowell1308
    @michaelpowell1308 6 ปีที่แล้ว +1

    1:30:40 It is a difficult thing to comprehend for someone younger, I think it comes with age, and a bit of learned wisdom over the years. We don't know what we don't know. Does not mean the problem defies solution or cannot be solved; but there may already be a solution out there just waiting to be "found".

  • @LewisCowles
    @LewisCowles 6 ปีที่แล้ว +4

    ~ 1:33:00 the question about the smart person in the room is to ask them to independently research it and present in 10 minutes. They'll opt-out at the next class

  • @childhood1888
    @childhood1888 2 ปีที่แล้ว +1

    The topic doesn't matter. if Bjarne stroustrup is presenting, I have to watch.

  • @noeldillabough2153
    @noeldillabough2153 6 ปีที่แล้ว +30

    One of the biggest risks in a development project is what I call "Swelled Head Syndrome"...where a programmer writes something that is simply cool/intricate...but you could have written it much simpler. I've been guilty for sure!

    • @michakryszak9536
      @michakryszak9536 5 ปีที่แล้ว +4

      Everything should be made as simple as possible, but not simpler.

  • @tribalfromthetrapdontrappi3030
    @tribalfromthetrapdontrappi3030 6 ปีที่แล้ว

    I like this!

  • @dxshindeo
    @dxshindeo 3 ปีที่แล้ว

    what an amazing guy...

  • @porky1118
    @porky1118 5 ปีที่แล้ว +3

    The only courses, where I had to use C++ at university was about graphics programming and OpenGL

  • @jacktaylor1516
    @jacktaylor1516 4 ปีที่แล้ว

    Damn this guy is flatly amazing

  • @hasanbataineh6300
    @hasanbataineh6300 3 ปีที่แล้ว

    As a physicist I took introductory cpp course and then took computational physics course in python, its so easy to start working in guis using python simply import tkinter numpy matplot libraries...etc anything i wish to install just pip install...i wanted to try wxwidgets in cpp using code blocks, its really hard to set up !

  • @akshayranade8006
    @akshayranade8006 6 ปีที่แล้ว

    28:40 is soooo relate-able

  • @arturoordonez-hernandez1534
    @arturoordonez-hernandez1534 6 ปีที่แล้ว +6

    I think the Unity engine is a great tool for teaching programming. It doesn't have to specifically be a video game application, but Unity is simple enough to add 2D sprites and create an interesting simulation without having to go over the details of how Unity is making everything work. If I ever teach an intro to programming course, I would probably use a tool like Unity where I would first start off with 2D applications, and I'd try to generalize things without going into too much detail. Although Unity provides C#, JavaScript and Boo, and not C++, my goal would be to teach students to see a language as a tool; rather than using one language over all others because it's "easier to learn". A good programmer isn't someone who is really good at one language, or even someone who is better than everyone at using C++ (whatever that means). A good programmer is someone who is willing to help others who are struggling with problems to think through their code and figure out the bugs, no matter what their skill level, as well as seek help when necessary. We can't know everything, life is too short for that.

    • @arturoordonez-hernandez1534
      @arturoordonez-hernandez1534 6 ปีที่แล้ว +1

      In fact, even if you're a novice yourself, if you are able to help someone figure something out, then you yourself are already improving.

  • @nngogol244
    @nngogol244 6 ปีที่แล้ว +7

    24:50 OHhh, that's very importante moment.

  • @sistemasembarcados9361
    @sistemasembarcados9361 6 ปีที่แล้ว +2

    We are all teachers, we are all students :)

  • @pasotee9617
    @pasotee9617 5 ปีที่แล้ว +3

    Did anyone start such a library? I would be really interested to contribute!

  • @00Noontide
    @00Noontide 3 ปีที่แล้ว

    thanks bjarne 🙂

  • @Mike.Garcia
    @Mike.Garcia 6 ปีที่แล้ว +47

    cant wait to learn the new c++20 and read your new books...
    I got nothing else to do! lol

  • @DanielFBest
    @DanielFBest 3 ปีที่แล้ว

    I would love the opportunity to meet Bjarne.

  • @joe-ti8rz
    @joe-ti8rz 6 ปีที่แล้ว +2

    Smartest man of computers.

  • @fredthechamp3475
    @fredthechamp3475 7 หลายเดือนก่อน

    46:00 so true.

  • @annaoaulinovna
    @annaoaulinovna 5 ปีที่แล้ว +15

    All we know c++ is the best. i can program from chips to workstations or gpu farms with c++ language.

  • @kaipada_
    @kaipada_ 6 ปีที่แล้ว

    Can somebody link me to the part where he talks about range for loops and why are they better ? Thank you

    • @Legorz3373
      @Legorz3373 10 หลายเดือนก่อน

      51:10 No problem 🐷

  • @Cpt.Zenobia
    @Cpt.Zenobia 5 ปีที่แล้ว +18

    He is right about people think its a good thing to not understand how the underlining system works or how the library works.
    especially people that write web stuff most annoying people i've met .

  • @tohopes
    @tohopes 6 ปีที่แล้ว +22

    Guy trying to teach his daughter probably got triggered hard when Bjarne suggested what he needed was a library targeted at "non-CS majors".

  • @MikaelLAOhman
    @MikaelLAOhman 6 ปีที่แล้ว +4

    Amen to the build and package system. My job as a sysadmin for a HPC cluster involves building tons of scientific software. Save for a handful of relatively well behaved codes, it's a total crapshoot of build methods, compile time options/configurations, patching and hacking that keeps this fragile mess together.

  • @KFlorent13
    @KFlorent13 2 ปีที่แล้ว

    I can't find the slide by following the link in the description.

  • @davidb2210
    @davidb2210 ปีที่แล้ว

    I currently have a professor for a couple programming centric classes, and it seems he watched this video, and decided to purposely do the opposite of what is suggested here 😂 although I suppose that the archetype described here is a result of many professors choosing to teach in this way.

  • @joe-ti8rz
    @joe-ti8rz 6 ปีที่แล้ว

    We can. Please update programming. For me.

  • @dimka11ggg
    @dimka11ggg 6 ปีที่แล้ว

    What's book he means?

  • @kavorka8855
    @kavorka8855 3 ปีที่แล้ว

    Can someone help out: Dr Bjarne in his book "A Tour of C++" says:
    "Interface inheritance: An object of a derived class can be used wherever an object of a base class is required. That is, the base class acts as an interface for the derived class."
    Is this really what he meant? Shouldn't not be: the derived class acts as an interface to base class ?

    • @AG-ld6rv
      @AG-ld6rv 2 ปีที่แล้ว

      The base class contains the interface, which is a list of methods (functions) that must exist to turn that abstract listing of methods (that has no code implementing them) into a concrete object that actually implements those methods. Shapes are commonly discussed in education. You could have a base class called AbstractShape that has a method double calculateArea(). The abstract AbstractShape has no code associated with that interface. A derived class then inherits from AbstractShape, implementing the interface. For example, you could derive a Square class and provide the implementation double calculateArea() { return s*s; }. In this example, you can deal with an AbstractShape in your code, which could actually be a circle, a square, a triangle, etc.

  • @DirkArnez
    @DirkArnez 3 ปีที่แล้ว

    Imagine he teaches me C++...
    I will never quit

  • @joe-ti8rz
    @joe-ti8rz 6 ปีที่แล้ว

    Basics

  • @MarcusAseth
    @MarcusAseth 6 ปีที่แล้ว +12

    is Bjarne writing any new books?

    • @vertigo6982
      @vertigo6982 6 ปีที่แล้ว +4

      I imagine he will be updating his current books to a new volume to incorporate C++17 features.

  • @michaelpowell1308
    @michaelpowell1308 6 ปีที่แล้ว

    53:53 I use this case study ALL-THE-TIME, as a $300M (or something like that) program that UTTERLY FAILED, literally BURNED UP in the Mars atmo, all on account of what? A stupid UNIT CONVERSION ERROR somewhere between ground control and one of the integrated APIs. That so say: I like to learn from my industry's and forebears mistakes. 55:00 I'm not sure I TOTALLY agree they didn't deliver ANYTHING. They delivered this: how you MUST be PRECISE, in not only VALUE, but also in UNITS OF MEASURE. It's like saying to someone; see you in a few. A few what? Nanoseconds?

  • @zofe
    @zofe 6 ปีที่แล้ว

    Imperial Units don't even suck!

  • @joe-ti8rz
    @joe-ti8rz 6 ปีที่แล้ว

    AND THAN U RIDE!!!!!

  • @lakshaysagarrana3965
    @lakshaysagarrana3965 6 ปีที่แล้ว

    which Swan book is he talking?

    • @harmonymoyo4420
      @harmonymoyo4420 6 ปีที่แล้ว +1

      Lakshay Sagar Rana
      Programming Principles Using C++
      support web: www.stroustrup.com/Programming

  • @maximyanchenko3780
    @maximyanchenko3780 6 ปีที่แล้ว +5

    Any recommendations for a good simple GUI or gaming library to teach kids C++?

    • @numv2
      @numv2 6 ปีที่แล้ว +3

      SFML

    • @maximyanchenko3780
      @maximyanchenko3780 6 ปีที่แล้ว

      numv2 is it ok for an absolute beginner kid to start his programming journey with this library? Our he should learn a great deal of C++ first?

    • @lockbert99
      @lockbert99 6 ปีที่แล้ว +1

      I think FLTK is easier to learn than the big 3 of Gtk+, Qt & wxWidgets.

    • @MrTargetSan
      @MrTargetSan 6 ปีที่แล้ว +2

      I'd not personally try teaching kids C++. A horrendous language for starters.

    • @numv2
      @numv2 6 ปีที่แล้ว

      I would start with Perl

  • @thelonearchitect
    @thelonearchitect 5 ปีที่แล้ว +5

    C++ : we should be as simple as possible
    Also C++ : yeah so that's a const pointer to a const value but things change given the position of the damn asterisk and good luck with that

  • @623-x7b
    @623-x7b 2 ปีที่แล้ว

    It should always be as easy as
    ./configure
    make
    make install

  • @dimka11ggg
    @dimka11ggg 6 ปีที่แล้ว

    What's swan book?

    • @jarosawkaminski8440
      @jarosawkaminski8440 6 ปีที่แล้ว +1

      Programming: Principles and Practice Using C++

  • @joe-ti8rz
    @joe-ti8rz 6 ปีที่แล้ว

    Goethe, nietzsche wagner. c++ java

  • @drifterx4810
    @drifterx4810 6 ปีที่แล้ว

    Cant imagine filling out paper made by the creator

  • @thegod3500
    @thegod3500 6 ปีที่แล้ว +4

    By the way, here is my C++11 super easy, very convenient, header only library for random
    (wrapper over C++11 stuff)
    github.com/effolkronium/random

    • @ricky6565
      @ricky6565 6 ปีที่แล้ว

      Thanks for this wrapper around , makes it really easy as you said. I recommend that you propose the library for Boost and the ISO C++ committee.

    • @thegod3500
      @thegod3500 6 ปีที่แล้ว

      Thanks for you attention.
      I created the library for my game, where i had to use a lot of randomized stuff. It save a lot of time for me, and made my code clean and readable, that's why i decided to make a finalized open sourse version of the library.
      I did not think about standardization to boost or ISO, but that would be for real cool!
      I'll try to do it in the future

    • @PrasadSilva
      @PrasadSilva 6 ปีที่แล้ว +2

      You should create a PR to add this to github.com/nothings/single_file_libs.

    • @thegod3500
      @thegod3500 6 ปีที่แล้ว

      I did it.

    • @Qizot
      @Qizot 6 ปีที่แล้ว

      great work

  • @digimikeh
    @digimikeh 5 ปีที่แล้ว +8

    I need to say it.. today, education on University is making student some lazy, those high level language programming they are using to teach do not convinced me, I think a true engineer NEEDs to dominate C or C++, this language is not dead, is growing a lot, is so much important...

    • @ASCENDANTGAMERSAGE
      @ASCENDANTGAMERSAGE 4 ปีที่แล้ว +2

      you absolutely do not need to dominate a programming language -.-
      if those tools fit their needs, then it's a good tool

  • @yx4292
    @yx4292 5 ปีที่แล้ว +3

    Cross-Platform network programming please... 😍

    • @davidadamson1588
      @davidadamson1588 5 ปีที่แล้ว

      Please please please

    • @sivabudh
      @sivabudh 5 ปีที่แล้ว +1

      I think network programming support is coming with C++20?

  • @WinslieLeon
    @WinslieLeon 5 ปีที่แล้ว

    I cant say it if is a glass ceiling or stake out in the opposite building really ...I'd go with the glass celing :-) Teachers over the internet really get you started and leave you respectful at them, their compassion, motivation and knowledge. But finally it is application....nice though ....the snoots pointing me to the Billionaire's Pledge are trolleys ...... leave me hell and priority jiffy .....:-) ... why is that one looking at me?

  • @omfgbunder2008
    @omfgbunder2008 5 ปีที่แล้ว +2

    I'm not keen on the packaging idea, cpan and pip already trample my OS package manager

  • @joe-ti8rz
    @joe-ti8rz 6 ปีที่แล้ว

    Cout is frensh

  • @clandeszipp4564
    @clandeszipp4564 22 วันที่ผ่านมา

    I fucking love him! I wish I was his son!

  • @joe-ti8rz
    @joe-ti8rz 6 ปีที่แล้ว

    Time Just time

  • @joe-ti8rz
    @joe-ti8rz 6 ปีที่แล้ว

    French and c++ learn about cout.

  • @joe-ti8rz
    @joe-ti8rz 6 ปีที่แล้ว +1

    c++ as c with programming skills.

  • @joe-ti8rz
    @joe-ti8rz 6 ปีที่แล้ว

    Goethe

  • @StevenSmith-qz9zg
    @StevenSmith-qz9zg 6 ปีที่แล้ว +20

    I do think C++ should just get completely overhauled and re-written with all the best features thus far included, with easy support for additional features in the future, and an easy way to add or subtract libraries, perhaps through 'packages' or whatever they decide to call it. It's unlikely the very low level mechanics of computer programming are going to change, only the speed of hardware and quantity of memory, unless quantum computing actually takes off, of course. :D

    • @suhaibN
      @suhaibN 6 ปีที่แล้ว +3

      Steven Smith I love this suggestion. I was reading the boo for my class. 50% of stuff in there, no one uses

    • @AaronKoolenBourke
      @AaronKoolenBourke 6 ปีที่แล้ว +4

      There's certainly a lot of problems with it, my biggest bugbear being template and how they have been abused to get everything we do nowadays. Concepts are looking like they are going to address some issues and hopefully it will make writing and mentally parsing generic code a little easier. "beginner-intermediate" c++ has come a long way and is such a better language than it was before c++ 11, 14 and now 17.

    • @StevenSmith-qz9zg
      @StevenSmith-qz9zg 6 ปีที่แล้ว +4

      Yes, but it's all so patched together for backwards compatibility, it takes way too much "tribal knowledge" for a new user. If it were me, I would probably look into having a separate set of libraries for any code written on or before a certain date for a particular widely accepted standard so one can use the libraries IF they are creating something for old projects, and create an entire new set of libraries for anything written AFTER that date. Make a clear distinction between, say, Pre-2011 C++, and POST 2011 C++. That way you can define more realistic, less confusing, and more descriptive names. If you want people to use your product, you have to make it simple to use, understand, and get. Not many have time to take a 4 year course in CS just to use ONE language, even if it is the fastest, best, and possibly most efficient language to date. :)

    • @StevenSmith-qz9zg
      @StevenSmith-qz9zg 6 ปีที่แล้ว

      My biggest pet-peeve and bugbear in computer science in general is the way it started, and how everyone wanted their own proprietary system and just started doing stuff before getting anything officially standardized, leading to tons of code that was utterly useless on all but ONE system or perhaps set of systems. Of course, that's capitalism, but a massive headache for anyone starting out from the next generation. Just look at HTML and CSS. Great example of doing before thinking, but I know.. nobody had time to think anything through.. everyone really wanted to start automating their jobs ASAP. Darn lazy programmers. ;)

    • @thoren_1928
      @thoren_1928 6 ปีที่แล้ว

      Steven Smith Why are you so harrased by the features of c++. When you dont use them then you dont have to delete them may another programmer need this functions.

  • @kamilziemian995
    @kamilziemian995 2 ปีที่แล้ว

    I watch this talk and I'm again thinking that I know nothing about C++.

  • @porky1118
    @porky1118 5 ปีที่แล้ว

    Why should we learn to use IDEs? I don't really like IDEs. Most are not that good, I think.

  • @joe-ti8rz
    @joe-ti8rz 6 ปีที่แล้ว

    Topology book. RAII the book people. READ A TOPOLOGY BOOK!!!!!

  • @21gunsalute10
    @21gunsalute10 6 ปีที่แล้ว

    i think i'll wait til im bald on top and hair on the back before i attempt learning C++

  • @ravikumar-vr6zm
    @ravikumar-vr6zm 5 ปีที่แล้ว +1

    C++ is complex and confusing. There are several reason as follow:-
    1. To do same Task 10 million option available.
    2. Traditional thinking .. delete keyword cause for memory leak so Why u not remove this from C++ compiler.

    • @alexge50
      @alexge50 5 ปีที่แล้ว +1

      @ejsvifq mabmip not only legacy code. you need new and delete to make std lib and your own libraries, too

  • @dipi71
    @dipi71 6 ปีที่แล้ว +10

    1:05:18 Criticizes unsafe bloatware and asserts that »the world« won’t accept unsafe bloat - yet, uses Microsoft as guide, positive example and reference. *smh*
    (Edited to add: gave the video a thumbs-up because of valuable rules mentioned.)

    • @dipi71
      @dipi71 6 ปีที่แล้ว +5

      Oh no? Have you looked at the size of any Windows installation recently (not even talking about vendor crapware), Nick? Or Office? Or developer studio? Some of Microsoft’s creations keep »bloating« even after installing them, e.g. Windows Vista/7/8/10. Why? Because Microsoft decided to keep file of every update around, and not to ever shrink the registry even when it’s safe to delete major amounts of data. Month for month, installations keep growing, making provisioning (e.g. for backups virtual storage) harder, slowing down the system, making it unmanageable. The only remedy: fresh install. Needless to say that Linux and macOS aren’t like that: while a year-old Win10 or Windows-Server install easily grows to 10-15 GiB in size, GNU/Linux with Gnome or KDE keeps under 2GiB and macOS under 4GiB, arguably providing more functionality and security.
      Microsoft always was messy (hey, blame marketing & shipping deadlines, right?), and it doesn’t seem to get better, if you look at its current state.
      Oh well, choose your poison, I guess.

    • @dipi71
      @dipi71 6 ปีที่แล้ว +2

      The ability to download a subset of Visual Studio etc is most welcome, I’m sure. Also good to know that you use Linux for game servers, very cool!
      About the ease and usability of setting up a productive environment, I doubt that Windows is really at any advantage there. First, Microsoft wants your data, your registration, your connectivity data, whenever you need to download/update whatever. Developing for multiple dot-Net and DirectX versions isn’t anything I would want to deal with either.
      One the other side, freely and anonymously install your favourite Linux, then have your favourite package manager install Gimp, ImageMagick, Audacity and QtCreator (the stuff Valve has been using for most of their Linux ports, including the Steam app; see the developer talks they uploaded on their channel), and you are good to go - no strings attached. (-;

    • @blipman17
      @blipman17 6 ปีที่แล้ว +1

      Deepee Ayadges The problem with that is that while you will most likely claim it to be an easy task it turns out that manny people find it difficult to move to a linux stack because there are tons of ways things can be done but just a few will work on your operating system. I'm not saying linux is trash, I really like it in fact but it is generally not useable for the average consumer because of the complexity with all the choices and don't have the time or patience to find out what they beed. So they stick to one they know will work. Which is windows.

    • @dipi71
      @dipi71 6 ปีที่แล้ว

      Consumer-oriented distros like Mate or Ubuntu or openSuSE make it their job to reduce complexity and simplify choices. But I do agree, the inertia of Windows users, the habit to stick to an inferior and partly defunct platform even if it’s hurting their privacy and personal freedoms - this inertia a difficult thing to overcome. I still have similar inertia using MacBooks for non-home uses like commute, but I’m working on it, and the Linux-based alternatives aren’t half-bad nowadays.

    • @radosawcybulski9643
      @radosawcybulski9643 6 ปีที่แล้ว +1

      @Deepee
      Visual Studio is light years ahead of QtCreator. Especially the newest 2017. It's only problem is partial c++17 support, luckily for me its minor issue. I also use linux and windows (first at work, second at home) and windows wins most of the time. On top of that my win 10 doesnt grow - i've installed it on 128 gb ssd and i've around 20-30 gb free space since my migration from win 7 to win 10. Linux's problem is huge lack of any sort of standard. Without serious standarization process desktop linux will be only for tech guys.

  • @dachd
    @dachd 6 ปีที่แล้ว

    I feel I ruined myself studing in university. The last year !! cmon I can finnist it.. But already 25yo and know so less :"(

    • @franciscogerardohernandezr4788
      @franciscogerardohernandezr4788 4 ปีที่แล้ว

      Do not give up. If you want something, go for it!! Feel the pain of giving that extra which gives you tha real powa. Peace out.

  • @blauerBrunni
    @blauerBrunni 6 ปีที่แล้ว +12

    In my experience C++ is in most cases much too complicated to solve a user-centered-problem. And this talk shows, that it is a language from the past.
    If you have ever used other languages and you see how easy it is to get a library and install it and it works on any OS/Architecture.
    In C++ everybody tends to solve each problem again, as it is too hard to build a libary, which depends on other libraries without having issues, when updating libraries to a new version or having conflicts. Don't get me started about static vs shared, debug symbols, conventions for naming of header files etc.
    Now take a look at JavaScript: If you start a simple Angular4 project you already have a project which automatically downloads and updates >1000 NPM libraries from the Internet, without any problems. (Each library sometimes contains only a few small classes/functions which solve one problem, e.g. array-egal github.com/component/array-equal or content-type-parsing www.npmjs.com/package/content-type-parser )
    Every modern programming language has a good packaging/build system (which is also supported by local artifact servers like nexus/artifactory):
    - JavaScript / TypeScript etc. -> NPM / Bower www.npmjs.com/
    - Python -> PyPi
    - GoLang -> GoPM etc. github.com/golang/go/wiki/Projects
    - Java/Scala/Kotlin/Groovy -> Maven, Gradle, SBT, Ant, Ivy mvnrepository.com/
    - C# -> NuGet www.nuget.org/packages
    - Dart -> Pub pub.dartlang.org/packages
    - Julia -> Julia PDK pkg.julialang.org/
    - Perl -> CPAN
    - Lua -> LuaRocks luarocks.org/
    see www.modulecounts.com/
    For C++ there is:
    - CMake, which is really helpful but also some kind of workaround
    - Conan, which is in a very early state: Most of the libraries you find there are only working on windows OR linux, not all compiler flags work etc.
    - OS specific versions: e.g. apt-get, brew or vcpkg by Microsoft
    - The developers of C++ libraries tend to make it very hard for the user to use it. They don't provide Conan / VCPKG packages.
    So my advice for everyone: Make sure, that you really need C++ to solve your problem (e.g. CUDA stuff) or if you could use another language.
    Performance of JIT compiled languages can be very good as well especially without performance tuning knowledge.

    • @TheReferrer72
      @TheReferrer72 6 ปีที่แล้ว +5

      Your joking? most of those other languages rely on underling C++ libraries to do all the interesting stuff. C++ is also a very easy language when written new software just pick the parts you need.

    • @pha1994
      @pha1994 6 ปีที่แล้ว +1

      Peter Edwards Other languages rely on C not C++. A very big difference.

    • @TheReferrer72
      @TheReferrer72 6 ปีที่แล้ว +4

      C++ is C, with extra libraries bolted on, C is a subset of C++ , there is nothing to stop programmers writing programs without classes in C++ I do it a lot. And you will find that lots of libraries are written in C++ not plain vanilla C. Now if you said the C linking interface to other languages is ubiquitous....

    • @real5lyfer851
      @real5lyfer851 5 ปีที่แล้ว +1

      your problem is that you do not like this language and do not want to understand

  • @joe-ti8rz
    @joe-ti8rz 6 ปีที่แล้ว

    Robots soon. Shittt. wat een strijd.

  • @ihoryalovetskyi1310
    @ihoryalovetskyi1310 5 ปีที่แล้ว +3

    С++ and GUI? I don't think they are from the same World. Qt is lame. I would use for it C#, JS whatever, but not C++!

    • @TheReferrer72
      @TheReferrer72 5 ปีที่แล้ว +1

      Only thing lame about QT is it's licensing structure.

  • @joe-ti8rz
    @joe-ti8rz 6 ปีที่แล้ว

    insaniteit.

  • @MarcusAseth
    @MarcusAseth 6 ปีที่แล้ว +4

    1:36:20 damn she's hot! o_o Tell me more about Bash Films please o_o

    • @Braindrain85
      @Braindrain85 6 ปีที่แล้ว +3

      @FichDichInDemArsch Big talk for a guy with the nickname "F*** you in the a**" written in bad German.

    • @Braindrain85
      @Braindrain85 6 ปีที่แล้ว +2

      Well, they say don't feed the troll... so I'll stop now. Bye

  • @WinslieLeon
    @WinslieLeon 5 ปีที่แล้ว

    ...a man should have a purpose in life ... lmao .....

  • @Turjak_art
    @Turjak_art 3 ปีที่แล้ว +1

    Unfortunately C++ uses the same messimporting system like C do. I have to waste too much time on this preprocessor-include bullshit. Especially if I split files in header and source. In my opinion Stroustrup and co should take a look at Python importing system. Ofc it's not the best compare. But that signals that preprocessor can be a pain in the ass to deal with. Instead of focusing in coding.

    • @not_ever
      @not_ever 3 ปีที่แล้ว +3

      I guess you will enjoy C++ 20 modules

  • @jianhuaixie
    @jianhuaixie 6 ปีที่แล้ว +1

    这丹麦口音听的好辛苦啊,还各种停顿。要有人工翻译,有大佬出资就好了。

  • @joe-ti8rz
    @joe-ti8rz 6 ปีที่แล้ว

    Apollo was smarter than ur teacher. MEDITATIE AAN APOLLO!!!

  • @bruceblosser2040
    @bruceblosser2040 3 ปีที่แล้ว +1

    Numpy more or less negates all fears of python being slow, and means you don't have to spend half your damn time writing idiotic boiler plate code, as you must do in C++!

  • @larsahlstrom5771
    @larsahlstrom5771 6 ปีที่แล้ว

    This guy is perhaps a inventor of a mainstream taste developed from a BASIC, cobol, fortran or whatever background into the flavor C++... But talk about talking a LOT of zero containing bubbles...
    I just wonder what happened to the flavor that more highly intelligent person turned to; Delphi? Not much b.s. there, no. Not much of anything, Why, you may ask. Yes. Why?

  • @Idontbelievethehype2
    @Idontbelievethehype2 2 ปีที่แล้ว

    C++ needs to retire and make way for Rust. Sorry, but it has been resuscitated four times at least and now has admittedly, even by the original author’s standard, become too complicated to reasonably understand best practice even for a well motivated college level student. Still dangling pointers, ownership, and multi threading all are problems, not to mention the build system, and a well defined repository of modules or libraries. Just stop writing fresh C++ people. Maintain it if you must, but learn Rust and live better lives.

    • @drew21t
      @drew21t 2 ปีที่แล้ว

      Way to just pick and chose things he said completely out of context to push a no one cares language.

    • @alang.2054
      @alang.2054 11 หลายเดือนก่อน +1

      Why are you guys so emotional about languages. They are just a tool, your knowledge is transferable