Тёмный

Spec-ulation Keynote - Rich Hickey 

ClojureTV
Подписаться 29 тыс.
Просмотров 124 тыс.
50% 1

Наука

Опубликовано:

 

17 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 31   
@endogenic6913
@endogenic6913 7 лет назад
Glad somebody prominent and influential is able to see and say this.
@ChadStovern
@ChadStovern 7 лет назад
An instant classic. Rich, always gives well designed (see what i did there) talks tackling big ideas related to things we as an industry aren't questioning and should be.
@rast4ndy
@rast4ndy 7 лет назад
Many examples of decade+ compatibility: - Unix APIs - Java - HTML - Clojure - Emacs I added the notable example of Emacs just because ;-) Such a great talk from Rich! As always. Thank you man and thank you to the Clojure community as a whole! It's such a great pleasure and an honor to be in this community. I owe you so much!
@jansamohyl7983
@jansamohyl7983 6 лет назад
Add IBM mainframe (and things like JCL, Cobol, CICS, IMS..) to the list.. compatibility for 30, 40, 50 years.
@wotwot6868
@wotwot6868 4 года назад
3 years and only 27 comments. Seems like the future will look at this video just like we look at old Lisp ideas that we adopt now (if statements, garbage collection).
@weeheavy6672
@weeheavy6672 7 лет назад
Just wow.
@6006133
@6006133 7 лет назад
Changes in packages using Semantic Versioning don't cascade up as far as I can tell. Even when they are breaking they do not. In that case packages that use them _directly_ need to have a new release that specify they are also compatible with the new version if they want their users to be able to use that new version. Packages that depend indirectly do not need to care. (And if they do, they actually depend directly and should define themselves as such.) Hence no cascade. Even in case of breaking changes, which should be rare, the only packages that might want to update (don't need to) are those that directly use it.
@MartinClausen
@MartinClausen 7 лет назад
Postel's law: "TCP implementations should follow a general principle of robustness: be conservative in what you do, be liberal in what you accept from others."
@manandearth
@manandearth 5 лет назад
1:07:52 - I am afraid of other people. Genius.
@TerjeDahlT
@TerjeDahlT 7 лет назад
Wow! An amazing talk. I will be watching it again. Very inspiring. Speaking of versioning,,, didn't Rich some time ago talk about version control at the function level? What happened to that?
@wmhilton-old
@wmhilton-old 7 лет назад
Is there a name for this Accretion, Relaxation, Fixation paradigm? Like A.R.F. versioning or growth-based development?
@nyrtzi
@nyrtzi 4 года назад
Yep. I ran into the same problem as well. What if I have an app which has multiple REST and WebSocket APIs, and I'd need to change some of them? The only approach that seems to make sense is to give each separate API its own version number even if they operate on the same stuff in the backend. In the end for things to be uniform I'd have to version every thing which serves as a dependency. Perhaps the point is that each module or component that gets reused either via network as a library needs a version of its own even if that versioning doesn't imply what semver implies i.e., the level of risk of breakage when for upgrading. As far as treating a spec change as a completely new thing that's what the Go people are doing. Yes, they use semver but the point here is that a new major version is forced to have a different package name. That allows using multiple major versions in parallel for easier transitions and makes sure that the compile breaks too if you try to use the wrong version's interface.
@Siftsta
@Siftsta 9 месяцев назад
One thing I wonder about regarding maven central being immutable is: if a package is found to straight up malware, is it removed, making maven not immutable after all? More commonly a package is found to be insecure, and it seems like we keep providing it for backwards compatibility, maybe with a big warning. Then again nothing is perfectly secure I suppose.
@JT-mr3db
@JT-mr3db Месяц назад
1:06:40 What I don't quite understand is that versions of software is a way of letting someone continue to use `foo`. If your on 1.0.0 and I release 2.0.0, you can still enjoy your holiday in Bermuda right? Just update when you see fit.
@disconnectedkooten
@disconnectedkooten 7 лет назад
What I don't understand is: there's adding, removing but what about altering the behavior within a function? The output becomes different due to the implementation? I feel like that has not been covered, and won't as easily covered by the system he imagines that would check dependencies automagically.
4 года назад
Maybe I understand wrong, but I think whats he's saying is that if you need to change a function (foo1), then you create a new funtion (foo2). Because if you change foo1 you break everything linked with it. So in this case there's a bunch of people using foo1 and foo2 at the same time and nothing breaks.
@wotwot6868
@wotwot6868 4 года назад
He did mention that Functional programming; and that means pure functions. You will have to understand what that means first. Also, you just have to think about Java libraries and how they don't break. Running java code you wrote 20 years ago will still run today with Java 8. They did not break the old methods; they only introduced new methods; either by new classes or new packages.
@WilkerLucio
@WilkerLucio 4 года назад
If you need alter, than you are removing the previous, that means you need a new function
@truefaceofevil
@truefaceofevil 3 года назад
Sorry for the necro, but that's one of the things he talks about, basically calling something different the same name.
Далее
Effective Programs - 10 Years of Clojure - Rich Hickey
1:14:52
13+ 2 серия
8:17
Просмотров 281 тыс.
Raymond Hettinger, Keynote on Concurrency, PyBay 2017
1:13:53
"Design in Practice" by Rich Hickey
1:00:46
Просмотров 36 тыс.
The Language of the System - Rich Hickey
1:02:50
Просмотров 162 тыс.
Don't Contribute to Open Source
9:55
Просмотров 223 тыс.
"Simple Made Easy" - Rich Hickey (2011)
1:01:39
Просмотров 87 тыс.
What do I ACTUALLY do as a Software Developer?
8:35
Просмотров 283 тыс.
Hammock Driven Development - Rich Hickey
39:49
Просмотров 288 тыс.
Datomic with Rich Hickey
51:22
Просмотров 18 тыс.
Wylsa Pro: опять блокировка YouTube?
17:49
Треш ПК за 420 000 рублей
0:59
Просмотров 253 тыс.