The Pragmatic Programmer 20 Years Later • Pragmatic Dave Thomas • GOTO 2020

  Рет қаралды 25,041

GOTO Conferences

GOTO Conferences

3 жыл бұрын

This presentation was recorded at GOTOpia Europe 2020. #GOTOcon #GOTOpia
gotopia.eu
Dave Thomas - Author of "The Pragmatic Programmer" @pragdave
ABSTRACT
Dave Thomas and Andy Hunt conquered the world in the late 90s with the best-selling book The Pragmatic Programmer, which quickly became a staple for every programmer.
This book came straight from the programming trenches, cutting through the increasing specialization and technicalities of modern software development to examine the core process - taking a requirement and producing working, maintainable code that delights its users
20 years later, they are back with a new edition that has major revisions and new material reflecting changes in the industry since its first release.
Dave will take us through the world of software in the light of [...]
Read the full abstract here:
gotopia.eu/2020/sessions/1475...
RECOMMENDED BOOKS
Dave Thomas & Andy Hunt • The Pragmatic Programmer • bookshop.org/a/9452/978013595...
/ gotocon
/ goto-
/ gotoconferences
#PragmaticProgrammer #Programming
Looking for a unique learning experience?
Attend the next GOTO conference near you! Get your ticket at gotocon.com
SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
kzbin.info...

Пікірлер: 25
@pedrocarreras2601
@pedrocarreras2601 2 жыл бұрын
Thanks for sharing, Excellent presentation!
@kristiyanivanov7414
@kristiyanivanov7414 Жыл бұрын
Great talk, thank you!
@hungngo2857
@hungngo2857 2 ай бұрын
God level of perception
@marcusrehn6915
@marcusrehn6915 10 ай бұрын
I whole heartedly agree that university teachers should have practical experience.
@user-bj4lp3fr1o
@user-bj4lp3fr1o Жыл бұрын
I like goto’s. Find them easy to follow.
@bransonS
@bransonS 2 жыл бұрын
The point that apprenticeship over university/bootcamp is so obvious, and so evident in the experience of nearly everyone I talk to. But, how do we transition people towards this? It seems that university is almost necessary to get started right now.
@MrApplewine
@MrApplewine 2 жыл бұрын
This would likely require some architectural changes to our employment laws, high school and university university timetables, caricula, and funding. Because you have to create both parts of that apprenticeship, not just push the aptentice into apprenticeships which do not exist and cannot exist due to the incentives under the current system.
@TheOtherBradBird
@TheOtherBradBird 2 жыл бұрын
@@MrApplewine "Electricians and tradesmen manage to handle apprenticeships, why can't we?" Is a question you will need to answer and one I'm curious about as well.
@janegwaww
@janegwaww 3 жыл бұрын
great job
@janegwaww
@janegwaww 3 жыл бұрын
ok
@ds-fm9tb
@ds-fm9tb 3 жыл бұрын
38:03 OOP did not begin with Smalltalk-76 🤔
@HughOBrien
@HughOBrien 3 жыл бұрын
True. worrydream.com/EarlyHistoryOfSmalltalk/#p4
@neunmalelf
@neunmalelf 2 жыл бұрын
I agree with 90% of what has been said, except: Massive Machine Learning IS NEW!
@arjob
@arjob 11 ай бұрын
By NEW you mean large scale? The basis of all ML and NN is in the 1960s.
@Bonomax85
@Bonomax85 2 жыл бұрын
I like the romantic vision. but in the real world of business. they do not tolerate any error or "experiment" the want result. fast cheap and painless.
@TheOtherBradBird
@TheOtherBradBird 2 жыл бұрын
That's a symptom caused by how hyper-centralized our tech markets are, not a true business maxim. Right now though, it might as well make no difference. Starlink might change that some though once talent is not tied to location. It will be a culture shock.
@ifstatementifstatement2704
@ifstatementifstatement2704 3 жыл бұрын
Doesn't the entire programming community hate the goto statement? Lol. It's so handy for exiting nested loops though.
@EmmanuelIstace
@EmmanuelIstace 3 жыл бұрын
Why would you nest loops when you have goto's? those new fancy shiny structured stuffs will kill software one day. (btw, please, don't write gotos, unless you target a 6502 or need to cut holes in cardboard to execute your [shitty] code, there's no reason to, rewrite that stuff, kindly, your colleagues)
@ifstatementifstatement2704
@ifstatementifstatement2704 3 жыл бұрын
@UCumkOlHv-Kvj8F_H7OqSDsw Because in game development you will need to do something like this: bool inObjectArea = false; for (int objectXCnt = objectInteractableArea.x; objectXCnt < objectInteractableArea.x + objectInteractableArea.w; ++objectXCnt) { for (int objectYCnt = objectInteractableArea.y; objectYCnt < objectInteractableArea.y + objectInteractableArea.h; ++objectYCnt) { for (int characterXCnt = characterGridArea.x; characterXCnt < characterGridArea.x + characterGridArea.w; ++characterXCnt) { for (int characterYCnt = characterGridArea.y; characterYCnt < characterGridArea.y + characterGridArea.h; ++characterYCnt) { if (characterXCnt == objectXCnt && characterYCnt == objectYCnt) { inObjectArea = true; goto exitCheckInteraction; } } } } } exitCheckInteraction:
@EmmanuelIstace
@EmmanuelIstace 3 жыл бұрын
@@ifstatementifstatement2704 I honestly felt my pulse get too high... :p but, without wanting to "teach" or give advices to someone who didn't called for it, even more coming from a random on ytbe, but I think this would be beneficial, you can totally refactor that to avoid the 4 nested loops and avoid the usage of a go to, even without touching the loops, you don't need a goto, just encapsulate the code in a function and return a bool, passing as arguments the objects you want to check for collision, passing them "through" an interface most of your "game objects" certainly implement that provide 2D coordinates vector. it's kind of less worst. I'm not sure I would encapsulate the collision checking logic within the game object, instinctively I would, but that object would end up doing tons of stuffs, but the game object (or the object that handle his associated shape) might have to be responsible for telling what type of collision checking method is required for him, so maybe encapsulate them in a dedicated classes and inject them uppon construction. I'm probably wrong in the details regarding your particular codebase, but might be worth considering and testing. Also, I might have figured out wrong what you do, but do you need to iterate over each pixels of each borders ? Can't you just take one line and check if it intersect with another ? something like this: www.geeksforgeeks.org/check-if-two-given-line-segments-intersect/ It may end up being a bit more "verbose", but is more reusable and would cost less cpu time imho, but I didn't tested myself, maybe worth checking ^^ Also, take a look at clean code, it's old, but still gold, and still loved, worth the time, have a nice day :) EDIT: I continued to search 5min, considering the previous wouldn't handle an object contained by another but not colliding on the borders, this article present few solutions you might want to take a look at ^^ www.toptal.com/game/video-game-physics-part-ii-collision-detection-for-solid-objects
@ifstatementifstatement2704
@ifstatementifstatement2704 3 жыл бұрын
@@EmmanuelIstace I see what you mean. A lot of elements that need to be iterated over are not of the same type and therefore I would need to create several functions each with their own parameters of the data type I need. I don’t want to use the auto data type, who knows what additional code that’s running to get the matching data type defined/declared. That function I pasted is iterating over tile coordinates which 8 x 8 pixels. So it has to iterate through 4 x 4 tiles most of the time. Also because the tiles make up sprite images that can have their coordinates changed by more than 1 pixel at a time, depending on the velocity the sprite is moving at, if I make it check only one line it may not detect a collision because it would have moved too far past the collision point. But yeah I could refactor that. I started programming in basic, in 1997 when I was 12 so not using goto for me is weird but since I found out it’s considers bad practise I avoid using it. I read online though that using goto to exit nested loops is acceptable. I’m self-taught. Never officially studied programming. But have been doing it for 24 years at home and work.
@BryonLape
@BryonLape 3 жыл бұрын
The only change over the last 20 years is programming has become worse.
@kahnfatman
@kahnfatman 2 жыл бұрын
Software developers should be trained like Jedis and Siths. Let them fight to death -- for certain ideologies. HAR HAR HAR...
@Thembisile13
@Thembisile13 Жыл бұрын
Peace is a lie. There is only Passion. Through passion, I gain strength. Through strength, I gain power. - therefore I am Sith!
@WuzzupWhitey
@WuzzupWhitey 3 жыл бұрын
People should have personal responsibility for the choices they made, no need to take this responsibility from them and put it on the person, who gave them this choice options, it sounds like a socialism to me.
One Rule to Rule Them All • Pragmatic Dave Thomas • YOW! 2022
51:14
GOTO Conferences
Рет қаралды 12 М.
Andy Hunt - The Pragmatic Programmer (Spacewalk 2020)
24:32
All Things Open
Рет қаралды 20 М.
Glow Stick Secret 😱 #shorts
00:37
Mr DegrEE
Рет қаралды 122 МЛН
Who enjoyed seeing the solar eclipse
00:13
Zach King
Рет қаралды 137 МЛН
How to -10x Engineer Correctly
22:22
ThePrimeTime
Рет қаралды 469 М.
Why Scaling Agile Doesn't Work • Jez Humble • GOTO 2015
51:02
GOTO Conferences
Рет қаралды 252 М.
One Rule to Rule Them All • Pragmatic Dave Thomas • GOTO 2023
49:56
GOTO Conferences
Рет қаралды 20 М.
"I Hate Agile!" | Allen Holub On Why He Thinks Agile And Scrum Are Broken
8:33
GPT-4o Deep Dive: the AI that CRUSHES everything
28:11
AI Search
Рет қаралды 42 М.
The Do's and Don'ts of Error Handling • Joe Armstrong • GOTO 2018
45:31
How To Think Like A Programmer
1:00:07
Coding Tech
Рет қаралды 2 МЛН
Пленка или защитное стекло: что лучше?
0:52
Слава 100пудово!
Рет қаралды 1,6 МЛН
Introducing GPT-4o
26:13
OpenAI
Рет қаралды 3,3 МЛН
СЛОМАЛСЯ ПК ЗА 2000$🤬
0:59
Корнеич
Рет қаралды 2,3 МЛН