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

  Рет қаралды 26,650

GOTO Conferences

GOTO Conferences

Күн бұрын

Пікірлер: 25
@pedrocarreras2601
@pedrocarreras2601 2 жыл бұрын
Thanks for sharing, Excellent presentation!
@kristiyanivanov7414
@kristiyanivanov7414 2 жыл бұрын
Great talk, thank you!
@hungngo2857
@hungngo2857 10 ай бұрын
God level of perception
@marcusrehn6915
@marcusrehn6915 Жыл бұрын
I whole heartedly agree that university teachers should have practical experience.
@Average-Lizard
@Average-Lizard 3 жыл бұрын
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 3 жыл бұрын
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 3 жыл бұрын
@@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.
@user-bj4lp3fr1o
@user-bj4lp3fr1o 2 жыл бұрын
I like goto’s. Find them easy to follow.
@janegwaww
@janegwaww 4 жыл бұрын
great job
@janegwaww
@janegwaww 4 жыл бұрын
ok
@ds-fm9tb
@ds-fm9tb 4 жыл бұрын
38:03 OOP did not begin with Smalltalk-76 🤔
@HughOBrien
@HughOBrien 4 жыл бұрын
True. worrydream.com/EarlyHistoryOfSmalltalk/#p4
@neunmalelf
@neunmalelf 3 жыл бұрын
I agree with 90% of what has been said, except: Massive Machine Learning IS NEW!
@arjob
@arjob Жыл бұрын
By NEW you mean large scale? The basis of all ML and NN is in the 1960s.
@Bonomax85
@Bonomax85 3 жыл бұрын
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 3 жыл бұрын
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 2 жыл бұрын
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.
Andy Hunt - The Pragmatic Programmer (Spacewalk 2020)
24:32
All Things Open
Рет қаралды 21 М.
Agile is Dead • Pragmatic Dave Thomas • GOTO 2015
40:39
GOTO Conferences
Рет қаралды 1,4 МЛН
VIP ACCESS
00:47
Natan por Aí
Рет қаралды 30 МЛН
When you have a very capricious child 😂😘👍
00:16
Like Asiya
Рет қаралды 18 МЛН
Sigma Kid Mistake #funny #sigma
00:17
CRAZY GREAPA
Рет қаралды 30 МЛН
Why Scaling Agile Doesn't Work • Jez Humble • GOTO 2015
51:02
GOTO Conferences
Рет қаралды 259 М.
Best of CES 2025
14:50
The Verge
Рет қаралды 632 М.
"Uncle" Bob Martin - "The Future of Programming"
1:18:21
Paul Stringer's Mobile Tech
Рет қаралды 1,7 МЛН
'OXYGEN LEAK!'' Elon Musk Revealed WHY Starship Flight 7 Exploded...
11:01
The Art of Code - Dylan Beattie
1:00:49
NDC Conferences
Рет қаралды 4,7 МЛН
#107 The Joy of Programming with Dave Thomas
1:09:50
Happy Path Programming
Рет қаралды 90