Пікірлер
@theprantadutta
@theprantadutta 3 күн бұрын
Is there any way to tag all programmers here? Every programmer should know this. Honestly, this guy should write dialogues for hollywood.
@ThePandaGuitar
@ThePandaGuitar Ай бұрын
"It's time to have some drinks" - Creator of Go Meanwhile Rust programmers: "Cannot borrow as immutable"
@shinobi1975
@shinobi1975 2 ай бұрын
This is actually how I do things.. It's way more easier this way to code. It's like I am leading my code to do something structurally. Each worker has a job. That worker only does one job. I never tried any other design pattern in an OOP language. Just the concurrency way because it is easier to understand "which code does this". I just didn't know about pararellism.
@IvanRandomDude
@IvanRandomDude 2 ай бұрын
46:52 Aged like a milk lmao
@edumorangobolcombr
@edumorangobolcombr 2 ай бұрын
Right? SQL is back. NoSQl was 2010s phenomenon
@claustopke892
@claustopke892 3 ай бұрын
Where is the video editor? Forgot conpletly to change the camera as the presenter show new slide. Ouch
@hotsauce1868
@hotsauce1868 3 ай бұрын
who's here watching the video are for operating system assignment?
@StevenOfWheel
@StevenOfWheel 3 ай бұрын
The level of absolute hatred this guy feels towards "state" is sickening, just like his "preaching" style. There are no silver bullets, and everything in any aspect of life, including programming, is a compromise. I used to code high-performance programs for simulating fluid-dynamics in C++, and guess what, without said dreaded "state" and its manipulation it would be impossible to write programs that run in any sort of vaguely reasonable time... There are good ideas in every programming paradigm, and trying to minimize state is surely a goal we can set our eyes on. But the moment it becomes your key metric (just like 10+ layered-abstraction-towers or compulsive encapsulation of all data and logic into classes in OOP), maybe you should take a step back and ask yourself: are you trying to be a philosopher of computer code removed from the real world, or an actual programmer trying to solve an actual problem?
@rushwuy4960
@rushwuy4960 4 ай бұрын
What about employing AI to identify the optimal concurrency structure of an algorithm/program?
@Naeddyr
@Naeddyr 3 ай бұрын
This talk was from eight years ago, long before AI was invented. If you are now typing a response to this to inform me that AI was not in fact invented in the past few years, you make me sad.
@codeconcept
@codeconcept 4 ай бұрын
As a new gopher (mid 2023) I was wondering how to cancel all other requests once one of the servers has responded. Contexts seem to be a good solution. Would you rather use a context.WithCancel() or a context.WithTimeout()?
@utube999ify
@utube999ify 4 ай бұрын
30.43 the result model in the interactor ( data coming back to delivery mechanism) changes to request model at delivery mechanism. I assume this is a typo on the diagram.
@ddstar
@ddstar 5 ай бұрын
He makes an argument why MVC is bad because "they don't remember to keep things separate" and then lays out an entire framework for keeping things separate. This dude is a fraud and is a terrible programmer.
@VeejayRampay
@VeejayRampay 5 ай бұрын
1.25 speed is a must here
@AlbertBalbastreMorte
@AlbertBalbastreMorte 5 ай бұрын
"these ideas are not deep, they're just good". My new favourite quote.
@anwar7257
@anwar7257 6 ай бұрын
Stop interrupting the man shut up and listen
@akshay-kumar-007
@akshay-kumar-007 6 ай бұрын
At 7:48, the codel with 4 gophers runs faster than the one in previous slide with 3 gophers, given the gopher bringing the cart loaded with books, and the gopher that returns an empty cart happen in "parallel" ( meaning there are more than 1 carts) right?
@nomoredarts8918
@nomoredarts8918 8 ай бұрын
Lots of words, not much content
@Nellak2011
@Nellak2011 8 ай бұрын
What was the point of the oxygen tangent at the start?
@phocks64
@phocks64 9 ай бұрын
Hardware caches will go away lol
@fringefringe7282
@fringefringe7282 9 ай бұрын
Managers are idiots.
@asif.haswarey
@asif.haswarey 10 ай бұрын
2:09 : Concurrency is the composition of independently executing processes. 2:23 : It is about *dealing* with a lot of things as once. It is about structure. The goal is to structure things so that you could possibly employ parallelism to do a better job. But parallelism is not the end goal of concurrency. When you structure task/things into pieces, you need to coordinate those tasks/pieces with some form of communication. Ref: Communicating sequential processes (CSP) by Tony Hoare. 2:13 : Parallelism is the simultaneous execution of multiple tasks/things that may or may not be related. 2:27 : Parallelism is about *doing* a lot of things at once. It is about execution.
@akshay-kumar-007
@akshay-kumar-007 8 ай бұрын
10:20 We don't have to worry about parallelism when we're doing concurrency. If we get concurrency right, the parallelism is a free variable that we can decide. 12:04 Concurrent Decomposition: Conceptually, this how you think about parallelism. You don't just think about running a problem statement in parallel. Break the problem down into independent components(that you can separate, understand, and get right), and then compose to solve the whole problem together.
@burgular_the
@burgular_the 10 ай бұрын
Lol he's named the "Commander, Google" at 20:57
@randall.chamberlain
@randall.chamberlain 11 ай бұрын
Shame the video doesn't show the slides at the right times. Had planning for such a good talk
@BryanChance
@BryanChance 11 ай бұрын
Who said that concurrency is parallelism?
@chovuse
@chovuse Жыл бұрын
Its too bad time ran out ! I was enjoying !
@kamilziemian995
@kamilziemian995 Жыл бұрын
Every Gopher should watch this talk.
@markhathaway9456
@markhathaway9456 Жыл бұрын
Why "interface" ? See Modula-3.
@paulfrischknecht3999
@paulfrischknecht3999 Жыл бұрын
Transactions really break the "my application doesn't know it's a (sql) database"... You can definitely isolate very well against the relational model in sql, but I have not found a good way to let an application rely on transactionality of db modifications when the db is not actually transactional...
@ManhPham-fh6on
@ManhPham-fh6on Жыл бұрын
excellent explanation of how go make concurrency work out! Appreciate it!!
@zofrenlepetitkopat2979
@zofrenlepetitkopat2979 Жыл бұрын
So many echoes to my very early career in 2001 and to the architecture issues I encounter on a daily basis nowadays ...
@maxgillman2419
@maxgillman2419 Жыл бұрын
What does "Commander" mean? Is that his job title or nickname? Google is not helping me with this haha....
@ToddDoucet
@ToddDoucet Жыл бұрын
I just assumed it somehow was related to Commander Pike in the original Star Trek TV series pilot. We are of that age. . .
@kanstantsin-bucha
@kanstantsin-bucha Жыл бұрын
It is still straight to the point, in 2023
@ismaelgrahms
@ismaelgrahms Жыл бұрын
amazing talk
@colinrickels201
@colinrickels201 Жыл бұрын
Only a functional dev would claim a recursive function is more safe than a for loop
@Neverrisen
@Neverrisen Жыл бұрын
Mere humans should be allowed to change local variables.
@MrBatraaf
@MrBatraaf Жыл бұрын
The first couple of seconds I feared that I had mistakenly clicked on a Jordan Peterson link, but it turned out to be well worth my time.
@maestbobo
@maestbobo Жыл бұрын
Terrible production value, can barely read the code on the slides.
@dejangegic
@dejangegic Жыл бұрын
😂
@aguilaaudax1362
@aguilaaudax1362 Жыл бұрын
Haha so funny to see how US Tech Empire's sons do not understand their own technologies. This is not a tech problem, this is a poor philosophical system problem that is living under the hood of tech systems. US fall is unavoidable Saludos desde el Imperio adormecido, que está despertando...
@rpo3ge
@rpo3ge Жыл бұрын
is the boundary concrete thing? how is a boundary defined?
@SrikarDurgi
@SrikarDurgi Жыл бұрын
This is profound.
@ZeekWatson
@ZeekWatson Жыл бұрын
The word "concurrent" literally means "same time".
@shxdow9
@shxdow9 Жыл бұрын
At 1:42 he literally said "[...] as it is intended to be used in computer science"
@jonathangjertsen3450
@jonathangjertsen3450 2 ай бұрын
idiot
@modul346
@modul346 Жыл бұрын
22:30 I solved a concurrency issue lately, and part of the solution was to pair up the channel with the request. I'm glad to see that I came up with a solution that the designer of Go considers valid.
@tricky778
@tricky778 Жыл бұрын
youtube transcript around 8:00 says the man was called "Yann Fairburn" but it doesn't sound quite like that. Anyone know the correct name?
@tricky778
@tricky778 Жыл бұрын
Hardware caches are going away but we'll still have software caches? What is a software cache as an alternative to a hardware cache?
@ameyasinha1774
@ameyasinha1774 Жыл бұрын
This guy is good, I think few people may write some code using this new language he's proposing
@matthewkothe80
@matthewkothe80 Жыл бұрын
😂
@user-ij9vc1lw9r
@user-ij9vc1lw9r 3 ай бұрын
sarcasm?
@ameerhamza4816
@ameerhamza4816 2 ай бұрын
@@user-ij9vc1lw9r As an ai model you do not get sarcasm!
@HiddenUsename
@HiddenUsename Жыл бұрын
The IDEs appeared not in 2000s but in late 80s. Borland's Turbo-C and Turbo-Pascal. And then there was a host of desktop DB IDEs like dBase, Foxbase/FoxPro, Clarion, Paradox - beautiful things that propelled dev productivity to never seen before or after. Nothing like those on the market today
@santiagolerin
@santiagolerin Жыл бұрын
I can't believe how long it took youtube to show me this one. Excellent talk 👌👌👌
@ionolaru4086
@ionolaru4086 Жыл бұрын
kzbin.info/www/bejne/hKTNpJywZ6Zso8k
@ionolaru4086
@ionolaru4086 Жыл бұрын
kzbin.info/www/bejne/hKTNpJywZ6Zso8k
@davidjirvinemusic
@davidjirvinemusic Жыл бұрын
"8 gophers on the fly and books being burned at a horrific rate" lol
@aleksandrsavvopulo4510
@aleksandrsavvopulo4510 Жыл бұрын
btw, tdd does not fit startups. its a madness to use tdd when you have short iterations and requirements changing often.
@adm3333
@adm3333 Жыл бұрын
This is completely and totally false. Requirements changing often means you'll be refactoring often, which means you need very strong unit tests, which means using TDD.
@aleksandrsavvopulo4510
@aleksandrsavvopulo4510 Жыл бұрын
@@adm3333 tests adds at least 30% of efforts to the development. You dont need 100% coverage at start. So cheaper solution would be e2e. That will give some guarantee that main functionality works. And that much much cheaper than tdd. Tdd in most cases is overkill.
@adm3333
@adm3333 Жыл бұрын
@@aleksandrsavvopulo4510 I suspect that you have a different definition of unit test. If your idea of a unit testing includes rampant mocking of internal dependencies and directly testing code in modules other than through entry points, then yeah, those tests suck, but they suck regardless of whether you're a startup or not. Proper module-level TDD unit tests are cheaper than E2E tests and more useful to catching bugs quickly.
@aleksandrsavvopulo4510
@aleksandrsavvopulo4510 Жыл бұрын
@@adm3333 Lets clarify things a bit using a fake example. Imagine you have to test user registration case. A positive one. To check controller/service/db layer it is enough to implement one e2e/integrational test case. How many unit tests should be implemented for this scenario? I can assume at least 3.
@hijarian
@hijarian Жыл бұрын
@@aleksandrsavvopulo4510 At the point where you need to test a "user registration case" with three layers, in a proper TDD you'd already have a whole suite of unit tests covering all of controller, service and DB connection code. You would literally not be able to arrive at the 3-layer code architecture without writing all of them. Given all these tests already in place, functional test covering a "user registration" will be pretty straightforward to write and it will not be a *unit* test anyway. TDD assumes completely different kind of automatic tests from what you have in mind based on your comments above.