Тёмный

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

CppCon
Подписаться 150 тыс.
Просмотров 287 тыс.
50% 1

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/
*-----*

Опубликовано:

 

28 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 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 6 лет назад
I can listen to him talk all day! Great presentation.
@projectjt3149
@projectjt3149 5 лет назад
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?
@ac130kz
@ac130kz 6 лет назад
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 2 года назад
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
@DanielFBest
@DanielFBest 3 года назад
This man is so knowledgeable, and I could listen for hours.
@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
@Gustavo-ok7jw
@Gustavo-ok7jw 9 месяцев назад
"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.
@porky1118
@porky1118 5 лет назад
I got inspired to use C++ again instead of rust.
@leesooahn6292
@leesooahn6292 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 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.
@amolaspatas
@amolaspatas 4 года назад
Enlightening way beyond the technical scope of the presentation.
@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.
@codycrank3465
@codycrank3465 6 лет назад
CppCon 2017 YAY!!!
@akioasakura3624
@akioasakura3624 9 месяцев назад
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 5 месяцев назад
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 ❤
@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.
@Tinfoilpain
@Tinfoilpain 6 лет назад
Been waiting all week for these.
@numv2
@numv2 6 лет назад
Been waiting one year
@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.
@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.
@piaopiaokeke
@piaopiaokeke 6 лет назад
Damnit, I am in Seattle right now. I want to go to CppCon so bad! :(
@joe-ti8rz
@joe-ti8rz 6 лет назад
Thank u stroustrup. Art for programmers.
@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
@267praveen
@267praveen 5 лет назад
There is a new series coming from CrashToSmash Modern C++ . Hope that covers latest features
@michaelpowell1308
@michaelpowell1308 6 лет назад
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".
@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.
@WinslieLeon
@WinslieLeon 5 лет назад
... 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 ) ...:-)
@porky1118
@porky1118 5 лет назад
The only courses, where I had to use C++ at university was about graphics programming and OpenGL
@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 !
@michaelpowell1308
@michaelpowell1308 6 лет назад
55:44 Yes, INDEED! In fact, not only have I cast the PERIOD, but also at times the REPRESENTATION! ABSOLUTELY!
@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
@pasotee9617
@pasotee9617 5 лет назад
Did anyone start such a library? I would be really interested to contribute!
@jacktaylor1516
@jacktaylor1516 4 года назад
Damn this guy is flatly amazing
@noeldillabough2153
@noeldillabough2153 6 лет назад
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 лет назад
Everything should be made as simple as possible, but not simpler.
@tribalfromthetrapdontrappi3030
I like this!
@dxshindeo
@dxshindeo 3 года назад
what an amazing guy...
@arturoordonez-hernandez1534
@arturoordonez-hernandez1534 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 лет назад
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.
@childhood1888
@childhood1888 2 года назад
The topic doesn't matter. if Bjarne stroustrup is presenting, I have to watch.
@DanielFBest
@DanielFBest 3 года назад
I would love the opportunity to meet Bjarne.
@sistemasembarcados9361
@sistemasembarcados9361 6 лет назад
We are all teachers, we are all students :)
@joe-ti8rz
@joe-ti8rz 6 лет назад
We can. Please update programming. For me.
@KFlorent13
@KFlorent13 2 года назад
I can't find the slide by following the link in the description.
@dimka11ggg
@dimka11ggg 6 лет назад
What's book he means?
@Mike.Garcia
@Mike.Garcia 6 лет назад
cant wait to learn the new c++20 and read your new books... I got nothing else to do! lol
@Idontbelievethehype2
@Idontbelievethehype2 2 года назад
Learn Rust. Please.
@nngogol244
@nngogol244 6 лет назад
24:50 OHhh, that's very importante moment.
@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 🐷
@akshayranade8006
@akshayranade8006 6 лет назад
28:40 is soooo relate-able
@00Noontide
@00Noontide 3 года назад
thanks bjarne 🙂
@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.
@MikaelLAOhman
@MikaelLAOhman 6 лет назад
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.
@MarcusAseth
@MarcusAseth 6 лет назад
is Bjarne writing any new books?
@vertigo6982
@vertigo6982 6 лет назад
I imagine he will be updating his current books to a new volume to incorporate C++17 features.
@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.
@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
@joe-ti8rz
@joe-ti8rz 6 лет назад
Smartest man of computers.
@DirkArnez
@DirkArnez 3 года назад
Imagine he teaches me C++... I will never quit
@annaoaulinovna
@annaoaulinovna 5 лет назад
All we know c++ is the best. i can program from chips to workstations or gpu farms with c++ language.
@dimka11ggg
@dimka11ggg 6 лет назад
What's swan book?
@jarosawkaminski8440
@jarosawkaminski8440 6 лет назад
Programming: Principles and Practice Using C++
@maximyanchenko3780
@maximyanchenko3780 6 лет назад
Any recommendations for a good simple GUI or gaming library to teach kids C++?
@numv2
@numv2 6 лет назад
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 лет назад
I think FLTK is easier to learn than the big 3 of Gtk+, Qt & wxWidgets.
@MrTargetSan
@MrTargetSan 6 лет назад
I'd not personally try teaching kids C++. A horrendous language for starters.
@numv2
@numv2 6 лет назад
I would start with Perl
@Cpt.Zenobia
@Cpt.Zenobia 5 лет назад
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 лет назад
Guy trying to teach his daughter probably got triggered hard when Bjarne suggested what he needed was a library targeted at "non-CS majors".
@drifterx4810
@drifterx4810 6 лет назад
Cant imagine filling out paper made by the creator
@fredthechamp3475
@fredthechamp3475 7 месяцев назад
46:00 so true.
@joe-ti8rz
@joe-ti8rz 6 лет назад
Basics
@yx4292
@yx4292 5 лет назад
Cross-Platform network programming please... 😍
@davidadamson1588
@davidadamson1588 5 лет назад
Please please please
@sivabudh
@sivabudh 5 лет назад
I think network programming support is coming with C++20?
@zofe
@zofe 6 лет назад
Imperial Units don't even suck!
@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?
@623-x7b
@623-x7b 2 года назад
It should always be as easy as ./configure make make install
@joe-ti8rz
@joe-ti8rz 6 лет назад
Goethe, nietzsche wagner. c++ java
@thegod3500
@thegod3500 6 лет назад
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 лет назад
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
@omfgbunder2008
@omfgbunder2008 5 лет назад
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
@joe-ti8rz
@joe-ti8rz 6 лет назад
French and c++ learn about cout.
@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?
@joe-ti8rz
@joe-ti8rz 6 лет назад
AND THAN U RIDE!!!!!
@joe-ti8rz
@joe-ti8rz 6 лет назад
c++ as c with programming skills.
@joe-ti8rz
@joe-ti8rz 6 лет назад
Time Just time
@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
@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
@kamilziemian995
@kamilziemian995 2 года назад
I watch this talk and I'm again thinking that I know nothing about C++.
@StevenSmith-qz9zg
@StevenSmith-qz9zg 6 лет назад
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 лет назад
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 лет назад
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 лет назад
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.
@clandeszipp4564
@clandeszipp4564 25 дней назад
I fucking love him! I wish I was his son!
@joe-ti8rz
@joe-ti8rz 6 лет назад
Goethe
@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!!!!!
@dipi71
@dipi71 6 лет назад
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 лет назад
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 лет назад
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 лет назад
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 лет назад
@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 6 лет назад
Robots soon. Shittt. wat een strijd.
@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.
@21gunsalute10
@21gunsalute10 6 лет назад
i think i'll wait til im bald on top and hair on the back before i attempt learning C++
@blauerBrunni
@blauerBrunni 6 лет назад
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
@ihoryalovetskyi1310
@ihoryalovetskyi1310 5 лет назад
С++ 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 лет назад
Only thing lame about QT is it's licensing structure.
@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 лет назад
insaniteit.
@WinslieLeon
@WinslieLeon 5 лет назад
...a man should have a purpose in life ... lmao .....
@joe-ti8rz
@joe-ti8rz 6 лет назад
Apollo was smarter than ur teacher. MEDITATIE AAN APOLLO!!!
@MarcusAseth
@MarcusAseth 6 лет назад
1:36:20 damn she's hot! o_o Tell me more about Bash Films please o_o
@Braindrain85
@Braindrain85 6 лет назад
@FichDichInDemArsch Big talk for a guy with the nickname "F*** you in the a**" written in bad German.
@Braindrain85
@Braindrain85 6 лет назад
Well, they say don't feed the troll... so I'll stop now. Bye
@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
@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++!
@jianhuaixie
@jianhuaixie 6 лет назад
这丹麦口音听的好辛苦啊,还各种停顿。要有人工翻译,有大佬出资就好了。
@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 месяцев назад
Why are you guys so emotional about languages. They are just a tool, your knowledge is transferable
@alexeiz
@alexeiz 6 лет назад
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 6 лет назад
Most college freshmen have no experience doing those things and would find those things hard to relate to.
@Darkimmort4l
@Darkimmort4l 6 лет назад
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 6 лет назад
well if its a big command they can use an alias, or script.
@frydac
@frydac 6 лет назад
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 6 лет назад
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).
Далее
БАТЯ И ТЁЩА😂#shorts
00:58
Просмотров 4,1 млн
C++20: C++ at 40 - Bjarne Stroustrup - CppCon 2019
1:31:26
Bjarne Stroustrup - The Essence of C++
1:39:11
Просмотров 1,2 млн
Are Lists Evil? Creator Of C++ | Prime Reacts
14:30
Просмотров 97 тыс.
Generic Programming in C++ - Bjarne Stroustrup
1:57:14
Просмотров 1,1 тыс.
The Downsides Of C++ | Prime Reacts
21:23
Просмотров 130 тыс.