Пікірлер
@kyjo72682
@kyjo72682 9 күн бұрын
No. Concurrency and parallelism *are the same thing.* What you call "concurrency" or "composition of independently executable processes" should in fact be called PARALLELIZATION. This is an effort to transform a program - which by default is a single sequence of instructions executed one after another - in such a way that various sub-sequences of it can be efficiently executed by multiple execution units in parallel (concurrently) while minimizing their idle time. I think you needlessly confuse a lot of people with your definitions.
@vxcute0
@vxcute0 4 күн бұрын
its not, concurrency involves running multiple virtual/green threads and switching between them so they appear to run at the same time, but parallelism is actually the multiple things are running at the same time in separate cores, you cannot run multiple things on the same core without doing context switches.
@kyjo72682
@kyjo72682 4 күн бұрын
@@vxcute0 No. What you are describing is not concurrency. That's called multi-tasking, or time-sharing, or multiplexing (in networks). I.e. dividing a single resource like a processing unit or a communication channel into multiple time-pieces so that during some longer time period it seems as if it was available to multiple users "at once". But this is only emulated concurrency. My point was different. I'm saying that terms "concurrency" and "parallelism" have the exact same meaning. Running multiple tasks at the same time = concurrently = in parallel. (This goes beyond computers. It applies to general planning and scheduling of tasks like in factory lines, or even trivial daily tasks.) What he is describing in the video as "concurrency" should NOT be called concurrency, nor parallelism, but paralleliZATION. An act of designing processes in such a way that their sub-tasks that are independent on each other are not prevented from running in parallel. It doesn't matter in this context whether that parallelism is real (on multiple units) or emulated (on a single unit that pretends to be multiple units).
@vxcute0
@vxcute0 4 күн бұрын
@@kyjo72682 I know time-sharing, but in my understanding green threads works the same, also do you have any other reputible resource that defines concurrency as running tasks at the same time ? because this is not the definition I see any were the definition I see is like what rob pike said.
@Pem7
@Pem7 27 күн бұрын
💯% Agree... I mean who am I to Object Rob Pike😅🤞🏾
@kaihusravnajmiddinov5413
@kaihusravnajmiddinov5413 Ай бұрын
SOLID sucks so does Robert C Martin
@theprantadutta
@theprantadutta Ай бұрын
Is there any way to tag all programmers here? Every programmer should know this. Honestly, this guy should write dialogues for hollywood.
@ThePandaGuitar
@ThePandaGuitar 2 ай бұрын
"It's time to have some drinks" - Creator of Go Meanwhile Rust programmers: "Cannot borrow as immutable"
@shinobi1975
@shinobi1975 3 ай бұрын
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.
@claustopke892
@claustopke892 4 ай бұрын
Where is the video editor? Forgot conpletly to change the camera as the presenter show new slide. Ouch
@hotsauce1868
@hotsauce1868 5 ай бұрын
who's here watching the video are for operating system assignment?
@StevenOfWheel
@StevenOfWheel 5 ай бұрын
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 5 ай бұрын
What about employing AI to identify the optimal concurrency structure of an algorithm/program?
@Naeddyr
@Naeddyr 5 ай бұрын
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.
@kyjo72682
@kyjo72682 4 күн бұрын
@@Naeddyr AI was not invented in the past few years. This applies both to AI in general and LLMs specifically. LLMs are a thing for at least 15 years.
@kyjo72682
@kyjo72682 4 күн бұрын
It's not just about the program. It also depends on the machine architecture and the input data. I'd say some optimizations can be done (and have been, although not with LLMs which are a very bad tool for that job) but I doubt that fully optimal structure can be achieved.
@codeconcept
@codeconcept 6 ай бұрын
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 6 ай бұрын
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 6 ай бұрын
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 7 ай бұрын
1.25 speed is a must here
@AlbertBalbastreMorte
@AlbertBalbastreMorte 7 ай бұрын
"these ideas are not deep, they're just good". My new favourite quote.
@anwar7257
@anwar7257 7 ай бұрын
Stop interrupting the man shut up and listen
@akshay-kumar-007
@akshay-kumar-007 8 ай бұрын
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 9 ай бұрын
Lots of words, not much content
@Nellak2011
@Nellak2011 9 ай бұрын
What was the point of the oxygen tangent at the start?
@phocks64
@phocks64 11 ай бұрын
Hardware caches will go away lol
@fringefringe7282
@fringefringe7282 11 ай бұрын
Managers are idiots.
@asif.haswarey
@asif.haswarey 11 ай бұрын
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 10 ай бұрын
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.
@mcdtigo
@mcdtigo Ай бұрын
brilliant! thank you!
@burgular_the
@burgular_the Жыл бұрын
Lol he's named the "Commander, Google" at 20:57
@randall.chamberlain
@randall.chamberlain Жыл бұрын
Shame the video doesn't show the slides at the right times. Had planning for such a good talk
@BryanChance
@BryanChance Жыл бұрын
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 3 ай бұрын
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 5 ай бұрын
sarcasm?
@ameerhamza4816
@ameerhamza4816 3 ай бұрын
@@user-ij9vc1lw9r As an ai model you do not get sarcasm!
@HiddenUsename
@HiddenUsename 2 жыл бұрын
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 2 жыл бұрын
I can't believe how long it took youtube to show me this one. Excellent talk 👌👌👌
@ionolaru4086
@ionolaru4086 2 жыл бұрын
kzfaq.info/get/bejne/hNmapsyrl6ednZs.html
@ionolaru4086
@ionolaru4086 2 жыл бұрын
kzfaq.info/get/bejne/hNmapsyrl6ednZs.html