Leslie Lamport: Thinking Above the Code

  Рет қаралды 357,582

Microsoft Research

Microsoft Research

Күн бұрын

Architects draw detailed blueprints before a brick is laid or a nail is hammered. Programmers and software engineers seldom do. A blueprint for software is called a specification. The need for extremely rigorous specifications before coding complex or critical systems should be obvious-especially for concurrent and distributed systems. This talk explains why some sort of specification should be written for any software.
www.microsoftfacultysummit.com

Пікірлер: 209
@RIMJANESSOHMALOOG
@RIMJANESSOHMALOOG Жыл бұрын
i'm 44 yr old software developer, I thought I was too old. Good to see this.
@victorrocha9099
@victorrocha9099 Ай бұрын
you are not, you are just on time, keep going!
@meltygear5955
@meltygear5955 8 күн бұрын
I started at 42 haha
@felipevaldes9168
@felipevaldes9168 7 жыл бұрын
Talk starts at 2:15
@srijansharma4170
@srijansharma4170 Жыл бұрын
The approach is incredible… Being fresher and mathematically oriented it’s best to understand the beauty of programming. Thank you for it.
@leif1075
@leif1075 Жыл бұрын
I haven't finished but does it not get boring or tedious?
@eliseulucenabarros3920
@eliseulucenabarros3920 3 ай бұрын
yeah, Category Theory Does That.....
@DeepakKapiswe
@DeepakKapiswe 7 жыл бұрын
One of the best talk , I have ever heard ...... Great !! Thanks !!
@williamdarko1142
@williamdarko1142 Жыл бұрын
He's right about specifications by example not working... I find most of the docs online about some language, or framework, or library, usually just cover the easy obvious "hello world" cases. To do anything meaningful and serious, you'll often spend hours combing through third party docs, or stack overflow posts, or even reddit.
@atlantic_love
@atlantic_love Жыл бұрын
That's the main reasons why I never could keep my interest in programming. I've taken programming courses, bought a shit ton of books, but I never had the luxury of associating with other programmer types, and so it was just me, the books (and their boring ass examples) and the Internet (where most everyone can't find the docs they need).
@youtubered646videos7
@youtubered646videos7 Жыл бұрын
Bingo
@jonatan01i
@jonatan01i 7 ай бұрын
@@atlantic_lovewhat do you think about LLMs?
@atlantic_love
@atlantic_love 7 ай бұрын
@@jonatan01i Honestly I'm not sure I know what LLMS is
@jonatan01i
@jonatan01i 7 ай бұрын
@@atlantic_love chatgpt is an LLM for example (large language model)
@tharollodikgale
@tharollodikgale Жыл бұрын
Excellent talk. This answered my questions and solved most of my difficulties, Thanks.
@tomasgarciapineiro1491
@tomasgarciapineiro1491 Жыл бұрын
Excelente approach. Clarisima introducción a la ciencia de la computación desde lo menos complejo a lo mas complejo. Buenisimo para alumnos con algo de experiencia en ambitos tecnicos y con ganas de entender y ver un vistazo de lo que es el arte de la programación
@StephenPaulKing
@StephenPaulKing 8 жыл бұрын
From the Q&A at the end, Leislie seems to say that specifications are a means to 'understand" that a given piece of code does and how it does it without having to parse and test the code. Spatial logics and temporal logics are orthogonal.
@RafaelCorreaGomes
@RafaelCorreaGomes Жыл бұрын
Amazing Leslie, thank you for sharing it!
@ar_xiv
@ar_xiv 8 жыл бұрын
He's totally right about a spec by example. This is why the majority of coding tutorials end up being not terribly useful.
@VedantFalcon
@VedantFalcon 4 жыл бұрын
The way Leslie's facial expression just falls when he hears the question...xD
@babadook4173
@babadook4173 Жыл бұрын
Agree. We must learn how to think computationally, beyond simply code
@dolphinextreme48
@dolphinextreme48 Жыл бұрын
But it is also important to understand the logic, and for the less mathematically inclined, it is often much clearer what the piece of logic is doing when an example is used. However, one must go beyond and generalize the logic back into math after looking at the example.
@babakabdollahi4123
@babakabdollahi4123 Жыл бұрын
Why this great talk is recorded like this? Leslie has very well prepared slides, but we miss most of it.
@babadook4173
@babadook4173 Жыл бұрын
yep, its wierd
@williamdarko1142
@williamdarko1142 Жыл бұрын
idiots i tell ya
@NadidLinchestein
@NadidLinchestein Жыл бұрын
They really need to take care of the details but the only thing Microsoft knows is how to copy Apple.
@ArturCzajka
@ArturCzajka Жыл бұрын
Slides: www.microsoft.com/en-us/research/wp-content/uploads/2016/07/leslie_lamport.pdf
@spacebuddy5339
@spacebuddy5339 4 ай бұрын
Yea! I'm getting frustrated at this point!
@indrab3091
@indrab3091 Жыл бұрын
I work in a consultant company, coding in many languages for many clients and without writing specs, i loss what i code. So, it is a good practice to write down specs in MS Word of what the requirements and then reread again once u need it. Usually I convert the doc to pdf and open with browser and give some colors. Some peoples are good at thinking when given a paper, others are good at thinking when given a gadget ,and else are good at thinking when having nothing (only brain, and draw the thought as a mental image).
@user-ci7ls5wt5q
@user-ci7ls5wt5q 3 ай бұрын
You always think with no tool first but it gets lost. You want your thinking translated with the shortest distance into a spec. So it doesnt get lost as quickly.
@theultimatereductionist7592
@theultimatereductionist7592 Ай бұрын
I write my math research ideas in MS Word as I do the math.
@davidclark9086
@davidclark9086 Жыл бұрын
Very well made and super informative.
@akaladarshi
@akaladarshi 2 ай бұрын
This is something like a gold mine that nobody(at least most) people are missing out on. Mathematical thinking.
@bismuti
@bismuti Ай бұрын
It only is impressive to non-mathematicians.
@akaladarshi
@akaladarshi Ай бұрын
@@bismuti Yeah, as I said, for most people. Most people aren't mathematicians
@sebastianwapniarski2077
@sebastianwapniarski2077 Ай бұрын
@@bismuti I'm genuinely interested what did you mean by that? I'm no mathematician. Do you mean it's flawed or worthless?
@Kenbomp
@Kenbomp 5 жыл бұрын
Very good talk,. Much of the code out there is like a vortex. Siren code
@marcuswaterloo
@marcuswaterloo Жыл бұрын
Slides: www.microsoft.com/en-us/research/wp-content/uploads/2016/07/leslie_lamport.pdf
@30803080308030803081
@30803080308030803081 Жыл бұрын
Thank you
@rogeliomoisescastaneda7396
@rogeliomoisescastaneda7396 Жыл бұрын
Prolog code resembles TLA+ a lot (conceptually; not syntax-wise), at least when correctly written in declarative form ("pure" Prolog, using CLP, etc). So I think we can say such Prolog programs are both the specification *and* the executable code at the same time. Of course, writing good Prolog has a long learning curve because of the required inherent logical correctness.
@electricimpulsetoprogramming
@electricimpulsetoprogramming Жыл бұрын
Hi i am a beginner in programming, do you have some advice for me?
@MadsterV
@MadsterV 9 ай бұрын
I'm a little late here but: Note how he talks at the beginning about mixing up coding and programming. Keep that in mind, how coding is akin to typing. Next, he says most programmers get stuck on the code and are not thinking, and that to think you MUST WRITE (which is debatable, and I will debate it). Then, he talks about this language he writes his thoughts on before actually coding. Now, remember coding is writing? so programmers that jump straight to coding... aren't they writing down their thoughts already? People don't use the fast version of the QS code not because they're thinking in code, it's because they're thinking in recursion, which is WAY simpler than the iterative version of this algorithm. Even in the slides I'm sure it went over people's heads, while the recursive version never does. There is nothing stopping you from thinking and writing the iterative version straight to code, except that it's harder to think about it, on a napkin, blackboard or terminal. Oh but it's writing in a programming language so it's different? how so? there's PLENTY of work on code generators that take a spec and turn it to code. It's just a domain specific language. There's even a large (and somewhat misguided, admittedly) movement around "the code IS the spec". It seems to me his TLA+ is just a domain specific language where it's easier to express the kind of thoughts that are difficult in other languages, so just as for trivial coding you'll just write it out without much effort, in TLA+ you'll be able to write out a different kind of code in the same fashion, then hand compile it down to the language your sistem is being written in. While it's hard to argue against thinking, I do argue against specs because they tend to be out of sync, just because they are two separate pieces of data. Domain specific languages are really cool and I've used a couple, but they're not easy to integrate. All code should be readable and a DSL could help make the hard code more readable. Until we get there, I'd echo the advice of writing specs for the hard bits, but in comments near the code itself, for future you or some other poor soul that has to maintain what you wrote. And for gods sake, write a user guide for your library, don't make me read a spec (or god forbid, the implementation itself) for basic usage!
@MadsterV
@MadsterV 9 ай бұрын
TL;DR: mathematicians prefer math notation to code and believe it's objectively better.
@charlessmyth
@charlessmyth Жыл бұрын
Excellent talk :-)
@coder_extreme6389
@coder_extreme6389 Жыл бұрын
It's inherent for me to write code before thinking. But the times when I have thought before writing code I got it right at the first attempt.
@slemsvamp
@slemsvamp 2 жыл бұрын
Holy heck, the guy has 9000 slides and clicks constantly and the cameras just won't leave him. Show the darn screen. Was 2014 the stone-age of production value? >:E
@marcuswaterloo
@marcuswaterloo Жыл бұрын
www.microsoft.com/en-us/research/wp-content/uploads/2016/07/leslie_lamport.pdf
@meestyouyouestme3753
@meestyouyouestme3753 Жыл бұрын
>:3
@matthewprestifilippo7673
@matthewprestifilippo7673 Жыл бұрын
chill bruh
@spde
@spde Жыл бұрын
They show the relevant text when he is talking about it... If you want to just download the slideshow on its own, maybe write to him and ask him for it (it has been a while but who knows). He also does not have that many slides - you are probably interpreting the slide overlays as new slides, and even then, he explains literally everything in words. Or pause the video on the slides if you need to.
@marcuswaterloo
@marcuswaterloo Жыл бұрын
@@spde slides above 👆
@codekomali1760
@codekomali1760 Жыл бұрын
"function in math is very different than functions in programming languages..." I used to think so too...but then I met Haskell!
@mehranyousaf4632
@mehranyousaf4632 7 жыл бұрын
"6 Specs are better to understand than a 800 line code..." This is cool...!!!
@chizhang8055
@chizhang8055 2 жыл бұрын
masterpiece thinking!
@problemecstasy1385
@problemecstasy1385 7 күн бұрын
amazing explanations.
@cortexauth4094
@cortexauth4094 Жыл бұрын
23:51 what's the use of performance if you can't provide accurate answers. Nonetheless, using states and behavior does provide more room for performance, tho I think certain formal method maybe requires certain code structure to verify the correctness
@nucleararmeddogg568
@nucleararmeddogg568 2 жыл бұрын
the quickest method for giving yourself away as someone who did not understand a word of what was said here is to compare this to TDD
@AI-xi4jk
@AI-xi4jk Жыл бұрын
That is true except for the property based testing where you basically defining the spec and let the test framework come up with random examples.
@ReveredDead
@ReveredDead 6 күн бұрын
When I envision a mad scientist. A computer master. I envision Leslie Lamport.
@IlyaZub
@IlyaZub 2 жыл бұрын
Is there a link to slides?
@gregrice1354
@gregrice1354 Жыл бұрын
@ 33 min. mark Quick Sort description resembles 7 year old Carl Gauss' devised strategy to quickly sum all integers from 1 to 100, by pairing them - in effect, folding in half, the imagined single-file "stack" of all those numerals. (right?) which it seems is the process described in Mr. Lamport's Partition Procedure in the described Code Specification.
@AI-xi4jk
@AI-xi4jk Жыл бұрын
Maybe only at the first look. He basically devised a formula which can be applied directly, while algorithms usually have to be computed by reducing the problem iteratively, I.e. not in one step. Quick sort is a divide and conquer algorithm which has many similarities with other algorithms of this type.
@bitti1975
@bitti1975 Жыл бұрын
I don't see the relation. The pivot point is basically randomingly chosen. If it falls into the middle that's just by chance. Of course in actual implementations you may find more deterministic ways to select a pivot, but that's not under discussion here.
@meltygear5955
@meltygear5955 8 күн бұрын
@@bitti1975 Because I don't think tradeoffs at pivot choice was the point he was trying to argue for
@mopsyched
@mopsyched Жыл бұрын
What a legend.
@linoj3076
@linoj3076 Жыл бұрын
Here is the slides PDF www.microsoft.com/en-us/research/wp-content/uploads/2016/07/leslie_lamport.pdf
@HoussemBou
@HoussemBou Жыл бұрын
Programming is like the work of a film director when he works on thinking before applying
@gibsonliketheguitar5507
@gibsonliketheguitar5507 Жыл бұрын
wondering how we can write specs for features of a frontend and backend system
@eric321ification
@eric321ification Жыл бұрын
One architectural approach is to use behavior driven development techniques like collectively writing gherkins with the business using a syntax referred to as gherkin. Another is to write your unit and integration tests before you write your code. Review this as a team before coding begins. This is referred to as test driven development. Another is not writing specifications and relying on the team to collectively produce fluent code. This requires group design sessions with one person coding and the rest of the team collaborating. Retroactively note any design decisions in an architectural decision record directly in the code repository.
@gibsonliketheguitar5507
@gibsonliketheguitar5507 Жыл бұрын
@@eric321ification Leslie mentioned that unit test and integration test are "how to code" and implementation details. I'm thinking more along the line with task1, "the what your code to do". We can consider the frontend a complicated state machine especially when using react. This week I will be re reading Joel's Software blog about writing specification. I will be trying to bridge Joel and Leslie's advice on writing "spec" and try to level up my frontend and backend. Will be an interesting challenge
@jimjimakos1101
@jimjimakos1101 Жыл бұрын
Very interesting its something l like it and if l have the opportunity l would like to work to find a job to these computers and math its great l love it
@Gemini3K
@Gemini3K Жыл бұрын
Is this lecture in South Africa?
@muhammaddawood1444
@muhammaddawood1444 Жыл бұрын
why (0,0) was in ordered pairs, for the square function on Natural numbers ? and he also considered 0 in domain.
@bitti1975
@bitti1975 Жыл бұрын
Many Mathematicians include 0 in the definition of natural Numbers since then they form a monoid with the + operation which makes them more useful.
@hunglukenguyen
@hunglukenguyen Жыл бұрын
very easy, go read wiki on math relations (3, 9), 3 is the input, 3*3 = 9 is the output but math write them in a pair . here is many pairs : (0,0), (1,1), (2,4), (3,9). Domain just means a range of input which is left of the pairs above: 0, 1, 2, 3. But I think I got your question about 0. 0 is thought by some to be in natural number. Because you can fold down all fingers and got 0 finger (this could be easily understood naturally 1000+ years ago)!
@jaskelso
@jaskelso Жыл бұрын
The scientific problem in natural systems is that the state variables are seldom known. Or, putting it more positively, have to be discovered.
@MarcCastellsBallesta
@MarcCastellsBallesta Жыл бұрын
Been using LaTeX since 2006 if I remember correclty. I've always thought Leslie was a woman! What a surprise I got today! Also, the talk was way above my level, but it was interesting to listen.
@captivum18
@captivum18 Жыл бұрын
Bookmark: 13:00
@michaelkohlhaas4427
@michaelkohlhaas4427 5 жыл бұрын
*Audience says great talk and then they show they didn't understand a single word. I feel sorry for Lampart. No wonder he exploded in the Q&A session at the end of the talk.*
@robertnew4568
@robertnew4568 Ай бұрын
These ivory tower “thinkers” are ignorant and clumsy sociopaths.😊
@nurlatifahmohdnor8939
@nurlatifahmohdnor8939 Жыл бұрын
The bibliography is cited with symbols. Rare. Page 375 D The Defendant. New York: Dodd, Mead and Co., 1902.
@lam7572
@lam7572 Жыл бұрын
thanks a lot. this is super useful to me.
@Concentrum
@Concentrum Жыл бұрын
how dare you impersonate me!
@sherrysyed
@sherrysyed Жыл бұрын
I didn’t understand it but this guy is awesome!!!
@maxheadrom3088
@maxheadrom3088 8 ай бұрын
He's the guy who gave us confortable condoms, right?
@kayakMike1000
@kayakMike1000 Жыл бұрын
Can I just use your blueprints?
@yash1152
@yash1152 8 ай бұрын
1:41 i didnt expect ms would cention latex in its presentations
@babadook4173
@babadook4173 Жыл бұрын
No royal road to math? I think was Gauss?? XD. Amazing and inspiring talk by the way
@sebastianwapniarski2077
@sebastianwapniarski2077 Ай бұрын
I think Euclid
@dominicdellasera7397
@dominicdellasera7397 3 жыл бұрын
I think I could have done quicksort in terms of iteration. It’s the same as taking an equation that’s true for the principal of mathematical induction and showing it’s equivalent/true for the principal of complete induction. The again I guess most people freeze up when THIS dude is asking.
@Silvertestrun
@Silvertestrun Жыл бұрын
Ty
@MohammedKamil
@MohammedKamil 6 жыл бұрын
I am hooked on TLA+
@jonsnow8543
@jonsnow8543 Жыл бұрын
Lol when that first guy asked about specification by example I IRL facepalmed
@rickr530
@rickr530 Жыл бұрын
I find that experience combined with adherence to common design patterns and "best practices" is enough to avoid the types of architectural defects that Leslie believes we need his formal verification for. Formal specification / modeling and verification is a costly additional layer that makes sense in industries where someone may die if your program has a bug and you can afford to spend the additional time and effort, and it's just not worth it in the rest. The bug is usually in the implementation rather than the architecture anyway, down in a layer much below the specification and where static analysis / LINT tools are going to be much more expedient and helpful.
@maloukemallouke9735
@maloukemallouke9735 Жыл бұрын
for thinking we have to writing
@aaasthaa
@aaasthaa 6 ай бұрын
Can anyone PLEASE help me understand the talk? Even a bit of it?
@handleh
@handleh 4 ай бұрын
There's specification and then there's implementation now you can implement in any language of your choice so don't worry about it first instead we should think first interms of what and how of our program and that thought can be expressed by specifications and TLA+ uses math like syntax for program specification it gives us a bird's eye view of what is happening and how it's happening
@ruixue6955
@ruixue6955 Жыл бұрын
8:32 Functions 10:29 limitations of function
@glenwang1746
@glenwang1746 Жыл бұрын
He is like Steve Jobs, but with a different shirt.
@user-sw6mi7lv6f
@user-sw6mi7lv6f 6 ай бұрын
GOAT
@charlessmyth
@charlessmyth Жыл бұрын
The profit is at the margins [56:35] :-)
@ajk7868
@ajk7868 9 ай бұрын
Well he is a living legend and I have immense respect for him but seriously didn’t expeted this at 23:10 😂
@mikefeldmeier
@mikefeldmeier Жыл бұрын
kzbin.info/www/bejne/Y2W8oWaglM-ebrM - "This is what it looks like in ASCII". Camera shows the slide for 1/10 of a second. Brilliant editing.
@danilodestefanis914
@danilodestefanis914 Жыл бұрын
pensavo bene comunque, la presenza stessa di un qualche servizio qualsiasi è intesa come ordine, anche se sotto forma di ricerca e/o sperimentale, e in particolare talvolta anche in sostituzione di qualcosa di precedente. e qualcuno ha fatto er boom per questo.
@danilodestefanis914
@danilodestefanis914 Жыл бұрын
in quanto tali servizi non erano richiesti da nessuno, manco il finto governo non votato o la chiesa messa là a far finta di leggere i sermoni come se non fosse tutta una struttura di controllo mentale
@danilodestefanis914
@danilodestefanis914 Жыл бұрын
la madonnina che piange per far pietà dopo i suoi errori, ma la madonnina ha stancato, è un clone mal riuscito a far danni non in grado di intendere e di volere in quanto teleguidato, e infatti una bomba ligiamente sulla testina gliè arrivata
@danilodestefanis914
@danilodestefanis914 Жыл бұрын
con educazione, discrezione, tranquillità.
@budiardjo6610
@budiardjo6610 Жыл бұрын
omg, 55:26 this question is really rude after leslie lamport talk for 50 minutes. but yeah leslie handling this with humble attitude.
@milestones5007
@milestones5007 Жыл бұрын
If that xbox360 bug made it to production it could save millions of lives!
@kyuantym
@kyuantym Жыл бұрын
He and Jaron are ❤
@first-thoughtgiver-of-will2456
@first-thoughtgiver-of-will2456 Жыл бұрын
42:05 challenge accepted.
@tophy9865
@tophy9865 Жыл бұрын
55:15 "Most programmers don't use formal specifications anymore" said the PhD in response to a talk about why people *should* use formal specifications. Bruh how did you get a PhD? Do you know how to listen to what someone is saying?
@MrFujinko
@MrFujinko Ай бұрын
Classical activist mentality I suppose. We are tribal entities after all, so his direct challenge is appropriate in the realm of tribalism. But very rude.
@depressivepumpkin7312
@depressivepumpkin7312 Жыл бұрын
thank you sir for inventing microsoft 😌🙏
@zenmaster1958
@zenmaster1958 Жыл бұрын
he didnt invent microsoft wtf
@hugo-garcia
@hugo-garcia Жыл бұрын
Is he Steven Spielberg's brother ?
@sacisco1780
@sacisco1780 Жыл бұрын
gosh i think he should be a god!! hhahahha, i am just starting to code, and really wanted to learn what algorithms are, by that i confused myself and starting to study logarithms, thinking they were algorithms )))
@semiconductor5
@semiconductor5 Жыл бұрын
😂
@Kenbomp
@Kenbomp 5 жыл бұрын
Plus cal 40.20
@tomtuttle919
@tomtuttle919 Жыл бұрын
42
@BLOOMS
@BLOOMS 6 жыл бұрын
yo, this dude was in breaking bad. he's the junk yard guy.
@MrFujinko
@MrFujinko Жыл бұрын
LMAO
@ugendranr3011
@ugendranr3011 Жыл бұрын
15:20 speaks like a mathematician 😂😂
@saadsharif9953
@saadsharif9953 5 жыл бұрын
Preferable speed 1.5
@vladimirpopovic1997
@vladimirpopovic1997 Жыл бұрын
Thank you.
@hankigoe8615
@hankigoe8615 Жыл бұрын
50:30 "...every thing is a patch" lol
@e.galois4940
@e.galois4940 3 ай бұрын
10:47
@rajendralokhande9974
@rajendralokhande9974 Жыл бұрын
The teacher said the domain is 0,1,2,..... and then later he mentioned it as set of Natural numbers. But '0' is not a natural number
@Aa-vw3xr
@Aa-vw3xr Жыл бұрын
Before doubt, you shall at least check.
@achin4140
@achin4140 7 жыл бұрын
please tell sir pleasee tell about Distributed Deadlock Detection: system model, resource Vs communication deadlocks, deadlock prevention, avoidance, detection & resolution, centralized dead lock detection, distributed dead lock detection, path pushing algorithms, edge chasing algorithms. Agreement Protocols: Introduction, System models, classification of Agreement Problem, Byzantine agreement problem, Consensus problem, Interactive consistency Problem, Solution to Byzantine Agreement problem, Application of Agreement problem, Atomic Commit in Distributed Database system
@Rahul_1.618
@Rahul_1.618 7 жыл бұрын
He's come here looking for an explanation for Advanced Operating Systems algorithms lol
@trajanhammonds8507
@trajanhammonds8507 2 жыл бұрын
Leslie’s hawt
@anjakalaba7374
@anjakalaba7374 2 жыл бұрын
Yeah he isss
@rolodexter
@rolodexter Жыл бұрын
24:30 did that intern get a job offer
@johnsmith-ri8ol
@johnsmith-ri8ol 7 жыл бұрын
There is documentation for specifications and not all are think in mathematics.
@sohamjoshi9527
@sohamjoshi9527 2 жыл бұрын
but problem with that is its in words and its not easily verifiable by a tool. Ofcourse documentation is good for a new human user of the system to get started but when it comes to automated verification by a tool the worded documentation is of no use.
@ravindertalwar553
@ravindertalwar553 Жыл бұрын
Almighty God is One And Blesses Everyone
@eeew2691
@eeew2691 Жыл бұрын
There are many gods
@george78779
@george78779 Жыл бұрын
inventing AI we should think before taking over the world…...
@avengenceangel1578
@avengenceangel1578 Жыл бұрын
@Antares27
@Antares27 2 жыл бұрын
function sort(A) { if (A.length < 2) return; const U = [[0, A.length - 1]]; do { const b = U[0][0]; const t = U[0][1]; if (b != t) { const p = Partitions(A, b, b, t); U.splice(0, 1); U.push([b, Math.max(b, p - 1)]); U.push([Math.min(p + 1, t), t]); } else U.splice(0, 1); } while (U.length); } function swap(A, b, t) { const ab = A[b]; A[b] = A[t]; A[t] = ab; } function Partitions(A, p, b, t) { for (let i = b; i < t; i++) if (A[i] < A[t]) swap(A, p, i), p++; swap(A, p, t); return p; }
@paulmazvarira1473
@paulmazvarira1473 Жыл бұрын
Writing requires thinking lol
@MichaelKingsfordGray
@MichaelKingsfordGray Жыл бұрын
Being a real-world safety-critical programmer, (with an Applied Math Degree, and a Computer Science Degree), I have quite a few questions, if not outright dismissals of many of his claims. For instance, he only ever refers to the domain of positive integers! Most of his statements are provably wrong when referenced to Complex numbers, and risibly incorrect when talking about Tensor fields. He has plainly NEVER done any risk-taking work in Défense or Aerospace projects. I have.
@coop4476
@coop4476 7 ай бұрын
He has a ACM A. M. Turing Award. You have?
@ace4base
@ace4base 8 ай бұрын
Why would you put ads on something like this? What a travesty...
@4115steve
@4115steve Жыл бұрын
may stop before the sun explodes LOL
@oneforallah
@oneforallah Жыл бұрын
dude all the bs comments about how useful this lecture is and how much they learnt, I personally did not find it very useful, but I'm very sure that Leslie Lamport is a top notch individual in his fields of concern, for me as a programmer, specifications has not been all that useful.
@stephen2113
@stephen2113 3 жыл бұрын
Big reason why I feel Cardano will be so successful.
@GiyuTomiokaTheOneAndOnly
@GiyuTomiokaTheOneAndOnly 11 ай бұрын
Man needs some serious shaving 🗿
@markuspfeifer8473
@markuspfeifer8473 Жыл бұрын
No monads and categories here, I‘m out
@insighttoinciteworksllc1005
@insighttoinciteworksllc1005 Жыл бұрын
Consciousness is not a program!
@dvhcomments8389
@dvhcomments8389 9 жыл бұрын
LOL - a lunatic once said 'the code is the design' ....
@adise88
@adise88 Ай бұрын
Dude looks like Frank galager 💀
@praoist
@praoist 7 жыл бұрын
so he's describing test driven development?
@Simon-xi8tb
@Simon-xi8tb 7 жыл бұрын
Hell no!!! 52:33 - he almost flips out at the TDD guy :P Poor guy :D
@jacksonlenhartmusic
@jacksonlenhartmusic 7 жыл бұрын
lmao that was savage! Didn't know ol leslie had that in him XD
@praoist
@praoist 7 жыл бұрын
heh, I should be more careful then!
@jojokuki9701
@jojokuki9701 6 жыл бұрын
praoist yup... model driven engineering... model based design...
@adamgm84
@adamgm84 4 жыл бұрын
My side note is that, unit tests should still always be extremely useful for codifying the known lower and upper bounds for some function or behaviour. Perhaps I am describing something outside TDD. I think Leslie is making the point that your initial model specifications help you determine the functions and finite state machines necessary to solve the problem, so TDD is some reality that exists after this is already done, so you can't start there. But he won't be saying you can't still make unit and integration tests that ensure your functions and behaviour are working according to your spec.
@WuIzMe
@WuIzMe 4 жыл бұрын
This seems like the pseudo code version of Test Driven Development
@NareshKumar-mz5nr
@NareshKumar-mz5nr 3 жыл бұрын
Yeah but it isn't pseudo code, but actual verification of defined models.
@sohamjoshi9527
@sohamjoshi9527 2 жыл бұрын
not at all.. it is far from it.. that was the same question by the audience member on specification by example. 10 examples may give a new person on the project a little bit of an idea on what the program is but not the exact specification of it. its like if i give you 10 data points on a sine wave plot would you be able to guess its a sine wave .. its only me who knew it but you will need to spend lot of time deciphering it.
@mescellaneous
@mescellaneous 2 жыл бұрын
i watched this a long time ago and didnt get it. i rewatched it now and it made more sense. understand the quicksort example fully, it is not a tdd example. it's using math and logic to define the spec. though to be honest, im not sure if it's all that practical especially in domains where programmers are asking "so it's just tdd, right?" it's more of an addition to the process of creating software. lamport is saying defining the spec is important enough in some cases that we need tools to do it formally. i have always agreed, and any mathematically minded person would, that tdd is "dumb". we do not define the digits of pi through tdd, it's through math. likewise, tdd may be great when you're not doing hard math. it's a way of building software when the behaviors are trivial.
@vezga
@vezga Жыл бұрын
@@mescellaneous so between not getting it first time and then getting the second , what changed in between ?
@khukonmeya9856
@khukonmeya9856 Жыл бұрын
The foamy guilty arguably rush because postage ironically reject modulo a clumsy spade. third, petite curler
A Philosophy of Software Design | John Ousterhout | Talks at Google
1:01:40
Oral History of Leslie Lamport - Part 1
3:06:49
Computer History Museum
Рет қаралды 29 М.
Самый большой бутер в столовке! @krus-kos
00:42
Кушать Хочу
Рет қаралды 6 МЛН
INO IS A KIND ALIEN😂
00:45
INO
Рет қаралды 16 МЛН
ВИРУСНЫЕ ВИДЕО / Мусорка 😂
00:34
Светлый Voiceover
Рет қаралды 8 МЛН
【獨生子的日常】让小奶猫也体验一把鬼打墙#小奶喵 #铲屎官的乐趣
00:12
“獨生子的日常”YouTube官方頻道
Рет қаралды 61 МЛН
Fast Inverse Square Root - A Quake III Algorithm
20:08
Nemean
Рет қаралды 4,8 МЛН
2021 AM Turing Award Recipient Jack Dongarra Turing Lecture: "A Not So Simple Matter of Software"
1:09:28
Association for Computing Machinery (ACM)
Рет қаралды 25 М.
Why Isn't Functional Programming the Norm? - Richard Feldman
46:09
The High Schooler Who Solved a Prime Number Theorem
5:15
Quanta Magazine
Рет қаралды 2,2 МЛН
How to Speak
1:03:43
MIT OpenCourseWare
Рет қаралды 18 МЛН
The mind behind Linux | Linus Torvalds | TED
21:31
TED
Рет қаралды 6 МЛН
10 weird algorithms
9:06
Fireship
Рет қаралды 1 МЛН
Result of the portable iPhone electrical machine #hacks
1:01
KevKevKiwi
Рет қаралды 7 МЛН
Почему сканер ставят так не удобно?
0:47
Не шарю!
Рет қаралды 826 М.
Такого вы точно не видели #SonyEricsson #MPF10 #K700
0:19
BenJi Mobile Channel
Рет қаралды 2,4 МЛН
Which Phone Unlock Code Will You Choose? 🤔️
0:12
Game9bit
Рет қаралды 6 МЛН
Я Создал Новый Айфон!
0:59
FLV
Рет қаралды 2 МЛН
Start from 0 at any point on the T1 Digital Tape Measure
0:14
REEKON Tools
Рет қаралды 24 МЛН