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

  Рет қаралды 289,534

CppCon

CppCon

Күн бұрын

Пікірлер: 202
@claudiotheobaldo3630
@claudiotheobaldo3630 4 жыл бұрын
Egoless teaching is so important! I love the fact that he touched on it!
@BogdanSerban
@BogdanSerban 5 жыл бұрын
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 жыл бұрын
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.
@morrisonbrett
@morrisonbrett 7 жыл бұрын
I can listen to him talk all day! Great presentation.
@projectjt3149
@projectjt3149 6 жыл бұрын
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 жыл бұрын
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 Жыл бұрын
"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.
@DanielFBest
@DanielFBest 3 жыл бұрын
This man is so knowledgeable, and I could listen for hours.
@ac130kz
@ac130kz 7 жыл бұрын
let's hope for the bright future of C++
@kuhluhOG
@kuhluhOG 4 жыл бұрын
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 жыл бұрын
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 3 жыл бұрын
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
@regal_7877
@regal_7877 5 жыл бұрын
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
@akioasakura3624
@akioasakura3624 Жыл бұрын
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 8 ай бұрын
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 ❤
@viraatchandra8498
@viraatchandra8498 6 жыл бұрын
I started a club which uses the Raspberry Pi platform to teach coding to my peers in school after listening to this talk.
@leesoo-ahn
@leesoo-ahn 6 жыл бұрын
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 жыл бұрын
c man where are you from?
@kobe4460
@kobe4460 3 жыл бұрын
My uni literally said c++ is python but with a different syntax lmao
@computer1889
@computer1889 3 жыл бұрын
@@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.
@porky1118
@porky1118 5 жыл бұрын
I got inspired to use C++ again instead of rust.
@Engoneer
@Engoneer Жыл бұрын
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 Жыл бұрын
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.
@amolaspatas
@amolaspatas 4 жыл бұрын
Enlightening way beyond the technical scope of the presentation.
@michaelpowell1308
@michaelpowell1308 7 жыл бұрын
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.
@267praveen
@267praveen 5 жыл бұрын
There is a new series coming from CrashToSmash Modern C++ . Hope that covers latest features
@noeldillabough2153
@noeldillabough2153 7 жыл бұрын
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 6 жыл бұрын
Everything should be made as simple as possible, but not simpler.
@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.
@codycrank3465
@codycrank3465 7 жыл бұрын
CppCon 2017 YAY!!!
@porky1118
@porky1118 5 жыл бұрын
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.
@arturoordonez-hernandez1534
@arturoordonez-hernandez1534 7 жыл бұрын
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 7 жыл бұрын
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.
@piaopiaokeke
@piaopiaokeke 7 жыл бұрын
Damnit, I am in Seattle right now. I want to go to CppCon so bad! :(
@porky1118
@porky1118 5 жыл бұрын
The only courses, where I had to use C++ at university was about graphics programming and OpenGL
@Ptr-NG
@Ptr-NG 5 жыл бұрын
"Nobody can do everything... but do something.."
@LewisCowles
@LewisCowles 6 жыл бұрын
~ 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 жыл бұрын
The topic doesn't matter. if Bjarne stroustrup is presenting, I have to watch.
@michaelpowell1308
@michaelpowell1308 7 жыл бұрын
55:44 Yes, INDEED! In fact, not only have I cast the PERIOD, but also at times the REPRESENTATION! ABSOLUTELY!
@WinslieLeon
@WinslieLeon 6 жыл бұрын
... 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 7 жыл бұрын
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".
@Tinfoilpain
@Tinfoilpain 7 жыл бұрын
Been waiting all week for these.
@numv2
@numv2 7 жыл бұрын
Been waiting one year
@nngogol244
@nngogol244 6 жыл бұрын
24:50 OHhh, that's very importante moment.
@Mike.Garcia
@Mike.Garcia 7 жыл бұрын
cant wait to learn the new c++20 and read your new books... I got nothing else to do! lol
@kgsphinx
@kgsphinx 3 жыл бұрын
Learn Rust. Please.
@pasotee9617
@pasotee9617 5 жыл бұрын
Did anyone start such a library? I would be really interested to contribute!
@Cpt.Zenobia
@Cpt.Zenobia 6 жыл бұрын
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 .
@hasanbataineh6300
@hasanbataineh6300 4 жыл бұрын
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 !
@MikaelLAOhman
@MikaelLAOhman 7 жыл бұрын
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.
@annaoaulinovna
@annaoaulinovna 6 жыл бұрын
All we know c++ is the best. i can program from chips to workstations or gpu farms with c++ language.
@joe-ti8rz
@joe-ti8rz 6 жыл бұрын
Thank u stroustrup. Art for programmers.
@joe-ti8rz
@joe-ti8rz 6 жыл бұрын
Smartest man of computers.
@sistemasembarcados9361
@sistemasembarcados9361 7 жыл бұрын
We are all teachers, we are all students :)
@MarcusAseth
@MarcusAseth 7 жыл бұрын
is Bjarne writing any new books?
@vertigo6982
@vertigo6982 7 жыл бұрын
I imagine he will be updating his current books to a new volume to incorporate C++17 features.
@DanielFBest
@DanielFBest 3 жыл бұрын
I would love the opportunity to meet Bjarne.
@KFlorent13
@KFlorent13 3 жыл бұрын
I can't find the slide by following the link in the description.
@digimikeh
@digimikeh 5 жыл бұрын
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 жыл бұрын
you absolutely do not need to dominate a programming language -.- if those tools fit their needs, then it's a good tool
@maximyanchenko3780
@maximyanchenko3780 7 жыл бұрын
Any recommendations for a good simple GUI or gaming library to teach kids C++?
@numv2
@numv2 7 жыл бұрын
SFML
@maximyanchenko3780
@maximyanchenko3780 7 жыл бұрын
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 7 жыл бұрын
I think FLTK is easier to learn than the big 3 of Gtk+, Qt & wxWidgets.
@MrTargetSan
@MrTargetSan 7 жыл бұрын
I'd not personally try teaching kids C++. A horrendous language for starters.
@numv2
@numv2 7 жыл бұрын
I would start with Perl
@tohopes
@tohopes 7 жыл бұрын
Guy trying to teach his daughter probably got triggered hard when Bjarne suggested what he needed was a library targeted at "non-CS majors".
@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.
@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.
@jacktaylor1516
@jacktaylor1516 4 жыл бұрын
Damn this guy is flatly amazing
@kaipada_
@kaipada_ 7 жыл бұрын
Can somebody link me to the part where he talks about range for loops and why are they better ? Thank you
@Legorz3373
@Legorz3373 Жыл бұрын
51:10 No problem 🐷
@dxshindeo
@dxshindeo 4 жыл бұрын
what an amazing guy...
@DirkArnez
@DirkArnez 3 жыл бұрын
Imagine he teaches me C++... I will never quit
@dimka11ggg
@dimka11ggg 7 жыл бұрын
What's book he means?
@thelonearchitect
@thelonearchitect 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
@joe-ti8rz
@joe-ti8rz 6 жыл бұрын
We can. Please update programming. For me.
@akshayranade8006
@akshayranade8006 7 жыл бұрын
28:40 is soooo relate-able
@yx4292
@yx4292 6 жыл бұрын
Cross-Platform network programming please... 😍
@davidadamson1588
@davidadamson1588 5 жыл бұрын
Please please please
@sivabudh
@sivabudh 5 жыл бұрын
I think network programming support is coming with C++20?
@lakshaysagarrana3965
@lakshaysagarrana3965 6 жыл бұрын
which Swan book is he talking?
@harmonymoyo4420
@harmonymoyo4420 6 жыл бұрын
Lakshay Sagar Rana Programming Principles Using C++ support web: www.stroustrup.com/Programming
@fredthechamp3475
@fredthechamp3475 10 ай бұрын
46:00 so true.
@00Noontide
@00Noontide 4 жыл бұрын
thanks bjarne 🙂
@dimka11ggg
@dimka11ggg 6 жыл бұрын
What's swan book?
@jarosawkaminski8440
@jarosawkaminski8440 6 жыл бұрын
Programming: Principles and Practice Using C++
@michaelpowell1308
@michaelpowell1308 7 жыл бұрын
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?
@tribalfromthetrapdontrappi3030
@tribalfromthetrapdontrappi3030 6 жыл бұрын
I like this!
@thegod3500
@thegod3500 7 жыл бұрын
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 7 жыл бұрын
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 7 жыл бұрын
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 7 жыл бұрын
You should create a PR to add this to github.com/nothings/single_file_libs.
@thegod3500
@thegod3500 7 жыл бұрын
I did it.
@Qizot
@Qizot 6 жыл бұрын
great work
@StevenSmith-qz9zg
@StevenSmith-qz9zg 7 жыл бұрын
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 7 жыл бұрын
Steven Smith I love this suggestion. I was reading the boo for my class. 50% of stuff in there, no one uses
@AaronKoolenBourke
@AaronKoolenBourke 7 жыл бұрын
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 7 жыл бұрын
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 7 жыл бұрын
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 7 жыл бұрын
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.
@zofe
@zofe 6 жыл бұрын
Imperial Units don't even suck!
@drifterx4810
@drifterx4810 6 жыл бұрын
Cant imagine filling out paper made by the creator
@623-x7b
@623-x7b 2 жыл бұрын
It should always be as easy as ./configure make make install
@omfgbunder2008
@omfgbunder2008 5 жыл бұрын
I'm not keen on the packaging idea, cpan and pip already trample my OS package manager
@WinslieLeon
@WinslieLeon 6 жыл бұрын
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?
@clandeszipp4564
@clandeszipp4564 4 ай бұрын
I fucking love him! I wish I was his son!
@kamilziemian995
@kamilziemian995 2 жыл бұрын
I watch this talk and I'm again thinking that I know nothing about C++.
@joe-ti8rz
@joe-ti8rz 6 жыл бұрын
c++ as c with programming skills.
@joe-ti8rz
@joe-ti8rz 6 жыл бұрын
Basics
@joe-ti8rz
@joe-ti8rz 7 жыл бұрын
Goethe, nietzsche wagner. c++ java
@porky1118
@porky1118 5 жыл бұрын
Why should we learn to use IDEs? I don't really like IDEs. Most are not that good, I think.
@dipi71
@dipi71 7 жыл бұрын
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 7 жыл бұрын
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 7 жыл бұрын
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 7 жыл бұрын
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 7 жыл бұрын
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 7 жыл бұрын
@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.
@joe-ti8rz
@joe-ti8rz 7 жыл бұрын
Cout is frensh
@blauerBrunni
@blauerBrunni 7 жыл бұрын
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 жыл бұрын
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 жыл бұрын
Peter Edwards Other languages rely on C not C++. A very big difference.
@TheReferrer72
@TheReferrer72 6 жыл бұрын
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 жыл бұрын
your problem is that you do not like this language and do not want to understand
@joe-ti8rz
@joe-ti8rz 6 жыл бұрын
French and c++ learn about cout.
@joe-ti8rz
@joe-ti8rz 7 жыл бұрын
AND THAN U RIDE!!!!!
@joe-ti8rz
@joe-ti8rz 7 жыл бұрын
Time Just time
@joe-ti8rz
@joe-ti8rz 6 жыл бұрын
Goethe
@joe-ti8rz
@joe-ti8rz 6 жыл бұрын
Topology book. RAII the book people. READ A TOPOLOGY BOOK!!!!!
@21gunsalute10
@21gunsalute10 7 жыл бұрын
i think i'll wait til im bald on top and hair on the back before i attempt learning C++
@ihoryalovetskyi1310
@ihoryalovetskyi1310 6 жыл бұрын
С++ 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 6 жыл бұрын
Only thing lame about QT is it's licensing structure.
@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.
@ravikumar-vr6zm
@ravikumar-vr6zm 5 жыл бұрын
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 жыл бұрын
@ejsvifq mabmip not only legacy code. you need new and delete to make std lib and your own libraries, too
@joe-ti8rz
@joe-ti8rz 6 жыл бұрын
Robots soon. Shittt. wat een strijd.
@joe-ti8rz
@joe-ti8rz 6 жыл бұрын
Apollo was smarter than ur teacher. MEDITATIE AAN APOLLO!!!
@WinslieLeon
@WinslieLeon 6 жыл бұрын
...a man should have a purpose in life ... lmao .....
@joe-ti8rz
@joe-ti8rz 6 жыл бұрын
insaniteit.
@bruceblosser2040
@bruceblosser2040 3 жыл бұрын
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++!
@Turjak_art
@Turjak_art 3 жыл бұрын
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 жыл бұрын
I guess you will enjoy C++ 20 modules
@MarcusAseth
@MarcusAseth 7 жыл бұрын
1:36:20 damn she's hot! o_o Tell me more about Bash Films please o_o
@Braindrain85
@Braindrain85 7 жыл бұрын
@FichDichInDemArsch Big talk for a guy with the nickname "F*** you in the a**" written in bad German.
@Braindrain85
@Braindrain85 7 жыл бұрын
Well, they say don't feed the troll... so I'll stop now. Bye
@jianhuaixie
@jianhuaixie 7 жыл бұрын
这丹麦口音听的好辛苦啊,还各种停顿。要有人工翻译,有大佬出资就好了。
@ScottAyersStuff
@ScottAyersStuff 7 жыл бұрын
I totally disagree with Bjarne on several points. Some of the old style code might look messy. But that's the fault of the developer. Not the language. Plus. It's much easier to read the old style for() and if() type code than the cryptic garbage he's adding now. Furthermore. In modern C++ he keeps adding new ways to do the same task. Forcing us to commit them to memory. Then telling us in the next cycle that they're no longer supported and they changed it again! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! STOP DOING THAT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Examples: Pointers- auto, smart, unique,shared, weak, etc... Concurrency- future, await, etc... Cut out this crap! It makes the language HARDER to use. NOT easier! One pointer and one type of concurrency should work in EVERY case. We shouldn't need to screw around with multiple versions of the same task. The point of a language is to perform a task. Not to have a bazillion confusing ways to do that task! Earth to Bjarne : Modern languages don't ADD more things for developers to learn. They REMOVE them!!! Stop making the language more confusing than it needs to be.
@Qizot
@Qizot 6 жыл бұрын
I can't agree with you, c++ is not a language for normies. It is specialized for harder tasks and the variation of futures and threads etc. gives a great deal of possibilities. Just by simplifying everything to the ground you will end up with another indistinguishable language. And finally you don't have to use all of the features(which in my opinion are not a large group), you can still keep with raw pointers and use just posix threads from C API
@connorhorman
@connorhorman 5 жыл бұрын
No there should not. There should be specialized things. auto_ptr was a failure because we didn’t have move semantics. shared_ptr has few uses, but there are definite places you NEED it. unique_ptr is your best case general scoped pointer type. C++ is a language for useability. And frankly C++20 will make a lot of stupid generic code a lot easier to read and write.
@alexeiz
@alexeiz 7 жыл бұрын
What's with Bjarne's obsession with GUIs? Anyone uses a GUI to install Python, JavaScript, Haskell packages? Anyone uses a GUI to build Cmake projects? You can, but it's much easier done from the command line. Besides, you learn a thing or two while doing it "the hard way." If you want GUIs go with Microsoft products. They have it covered. You won't learn anything beyond clicking GUI buttons though.
@tohopes
@tohopes 7 жыл бұрын
Most college freshmen have no experience doing those things and would find those things hard to relate to.
@Darkimmort4l
@Darkimmort4l 7 жыл бұрын
Yes to all of those questions. Command lines are just memory tests and are only faster for a tiny subset of core commands that can be easily typed and memorised, or if google is on hand for very complex batch operations
@vertigo6982
@vertigo6982 7 жыл бұрын
well if its a big command they can use an alias, or script.
@frydac
@frydac 7 жыл бұрын
GUIs and CLIs have different pro's and con's, not one of them is the best tool in all situations. You do use a browser with a GUI I presume? GUIs can be useful for: (small children), CAD, video editing, car HUD, smart phones, music production, ...
@lockbert99
@lockbert99 7 жыл бұрын
His college students are used to using GUI programs like Word, Firefox, Spotify, etc. They aren't piping find into xargs and grep. But he could also switch to a different language that already comes with a GUI, such as C# or Java or Python (Tkinter).
the balloon deflated while it was flying #tiktok
00:19
Анастасия Тарасова
Рет қаралды 36 МЛН
Players vs Pitch 🤯
00:26
LE FOOT EN VIDÉO
Рет қаралды 122 МЛН
Perfect Pitch Challenge? Easy! 🎤😎| Free Fire Official
00:13
Garena Free Fire Global
Рет қаралды 77 МЛН
Bjarne Stroustrup: C++ | Lex Fridman Podcast #48
1:47:13
Lex Fridman
Рет қаралды 1 МЛН
Generic Programming in C++ - Bjarne Stroustrup
1:57:15
Using std::cpp
Рет қаралды 2,6 М.
Full Interview With the Creator of C++
23:30
Honeypot
Рет қаралды 45 М.
Delivering Safe C++ - Bjarne Stroustrup - CppCon 2023
1:29:16
CppCon 2016: Jason Turner “Practical Performance Practices"
1:00:29
C++17 - The Best Features - Nicolai Josuttis [ACCU 2018]
20:26
ACCU Conference
Рет қаралды 40 М.
Churchill College Annual Computer Science Lecture - Bjarne Stroustrup: C++ Today
36:09
Churchill College, University of Cambridge
Рет қаралды 66 М.