Тёмный
Zhang Jian
Zhang Jian
Zhang Jian
Подписаться
One  to Rule them All  Aaron Bedra
1:00:31
4 года назад
Practical core logic  Ryan Senior
50:03
4 года назад
The Generative Generation  Aaron Bedra
18:56
4 года назад
Monads Made Easy  Jim Duey
52:46
4 года назад
Macros are Hard  David McNeil
44:58
4 года назад
SOLID Clojure  Colin Jones
40:16
4 года назад
Engines of Abstraction  Jim Duey
37:26
4 года назад
DSLs in Clojure  Jim Duey
24:58
4 года назад
ClojureScript Anatomy  Michael Fogus
44:26
4 года назад
Комментарии
@kahnfatman
@kahnfatman Месяц назад
Too much blah blah makes the talk into a PR campaign
@JT-mr3db
@JT-mr3db 2 месяца назад
I’ve learned so much about programming just listening to Hickey talk.
@bobweiram6321
@bobweiram6321 3 месяца назад
Closure's syntax sucks!
@REMUSE777
@REMUSE777 3 месяца назад
Useful, even for a seasoned pro.
@RegisMatsuoka
@RegisMatsuoka 4 месяца назад
Very good Clojure introduction!!!!
@satvistayou
@satvistayou 5 месяцев назад
Component API ~= Spring Context for Clojure !
@hamburgers140
@hamburgers140 5 месяцев назад
"We don't do that on the web. You ask for the page, you get the whole page. You get the entire value." That hasn't been true for some time. The concept of "web pages" is pretty much dead. From Github, RU-vid, search engines, down to the smallest blog, there is no "page", there is only scaffolding and hundreds/thousands of micro requests interfacing through multiple programming languages to project an approximation of a final result that may or may not be relevant, and that's not even counting the additional injected third-party content and region/language/device-specific mutations. Immutable value? Far from it, I can't so much as read an API function descriptor on Microsoft via a known URL without it being forcibly translated into an incorrect spoken language because of my IP address.
@stretch8390
@stretch8390 3 месяца назад
A lot of these talks by Rich Hickey are > decade old so I'd check when this one is from for historical context.
@benisrood
@benisrood Месяц назад
Yes, and that is a VERY BAD state of affairs.
@almarn
@almarn 6 месяцев назад
JVM is a terrible choice...looking at BEAM for Erlang as an example. It was a shortcut to get libraries ready to run....I was looking at the Clojure market and it is at a 1.5 % in 2023....Nubank bought Cognitect to save their skin....being heavily invested in Clojure development. Macro are a disaster for maintenance and reading programs made by other peoples....Syntax is horrible...we have now at least 2 competitors for leiningen...maintaining and changing programs are the most important software life cycle activities. Airline industry is a model for documentation and should be a model for the software industry. if you look at clojure libraries documentation is poor, few real users in production mode. When you design a plane, documentation is 50 % of the total cost.
@nyahhbinghi
@nyahhbinghi 6 месяцев назад
You don't need to return the whole db; just a subset of the data as long as it's immutable all the turtles down
@REMUSE777
@REMUSE777 3 месяца назад
diff and delicious delta only for max over-the-wire efficiency
@nbme-answers
@nbme-answers 7 месяцев назад
42:25 bookmark
7 месяцев назад
That "Collection Trait" slides is superb 👌 Thanks for sharing.
@kenneth_romero
@kenneth_romero 8 месяцев назад
4 years later and more people hate downloading apps, so now website performance and accessibility is more important than ever. pretty great talk, half way through but that browser section really was a great prediction.
@7th_CAV_Trooper
@7th_CAV_Trooper 8 месяцев назад
Not only is it not the same river. It's not the same you.
@BodhiTheMovieMaker
@BodhiTheMovieMaker 9 месяцев назад
👍🏻
@tankerwife2001
@tankerwife2001 9 месяцев назад
Great talk but i can't help but notice that this guy has the Captain Disillusion fit
@josephpierce8926
@josephpierce8926 9 месяцев назад
Wow. This is kind of a radical idea, but it makes a lot of sense.
@riebeck1986
@riebeck1986 9 месяцев назад
This was really helpful. Thanks for uploading !
@bmillare
@bmillare 10 месяцев назад
Personally, this talk really opened the world to new types of thinking. Even ignoring the Epochal Time Model, his exposition on how to think about our tools and habits has a lot of good life lessons there. I put my spin on it in my reaction to it: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-ScEPu1cs4l0.html
@Nellak2011
@Nellak2011 10 месяцев назад
If this is the worst parts of Clojure then I am sold. The issues are not even that bad when compared to what I am used to in JS and especially Java.
@aoeu256
@aoeu256 Год назад
Is there a way you can code lisp and closure itself so that each function or module had its entire history in sexpression diffs, and if your program wasn’t working it could go back to a past version. You have to redefine def, and all the different types of vars.
@riebeck1986
@riebeck1986 Год назад
thanks for uploading !
@eugenemosh3658
@eugenemosh3658 Год назад
Live coding by Rich Hickey! wow!! Thanks a lot!
@nbme-answers
@nbme-answers Год назад
20:31 don't hand me an empty bag (~around this timestamp)
@nbme-answers
@nbme-answers Год назад
yes
@vernongrant4710
@vernongrant4710 Год назад
Fantastic talk!
@nbme-answers
@nbme-answers Год назад
No one works harder at being lazy than Rich Hickey.
@ryanleemartin7758
@ryanleemartin7758 Год назад
I don't care what year it's from.. A Rich Hickey talk never dissapoints! I don't even program in Clojure, I just love his ideas and his ability to express them brilliantly.
@rastislavsvoboda4363
@rastislavsvoboda4363 Год назад
at 25:00, it is the same word, no problem, because 'map' as noun is datastructure, and 'map' as verb is function
@victor_rybin
@victor_rybin Год назад
28:45 OOP offers reusability in comparison to Procedural programming, bot not in comparison to Functional Programming. in comparison to FP, OOP offers higher speed. what a sly peddler of functional paradigm😅, exposing "lies" his first example of what "IT" is - is also confusing: the word "Information" in "IT" can be about a place, e.g.: a basket in a shop can be represented by a "place", in which you "add" products - it is "information", you don't have to represent it as a _"copy of the previous state of the basket with +1 product"_ , in order for it to be "facts". he gives an impression of an advertiser, doing sophistry, to push his product by all means. not the best way of presenting a great thing which functional programming is
@lordzilch
@lordzilch 7 месяцев назад
Not at all. A basket where you can add products is a place, it is not a value or a fact. A value or a fact would be 'a basket with 4 products', 'a basket with 16 products', 'a basket with 10 products' etc. Contrary to that a 'basket where you add products' is just a 'basket with I don't know how many products', which is kind of worthless. That is exactly his point.
@Pedritox0953
@Pedritox0953 Год назад
Great lecture!
@nbme-answers
@nbme-answers Год назад
4:53 code starts
@eugenemosh3658
@eugenemosh3658 Год назад
Clojure rock!!
@loicblanchard2044
@loicblanchard2044 Год назад
Excellent talk, very clear
@eugenemosh3658
@eugenemosh3658 Год назад
Clojure superb!! Thanks! ♥
@aleksandrpasharin7776
@aleksandrpasharin7776 2 года назад
thanks for uploading!
@michaelnardell991
@michaelnardell991 2 года назад
David Nolen talks from 5 years ago guide me to what I should be learning and doing today.
@horridohobbies
@horridohobbies 2 года назад
Chas didn't really explain why we'll love it anyway. On the more general note, I believe programming language philosophy is bifurcated into two groups: 1) those who believe a good programming language is chockful of "good" features, regardless of the complexity that may result; and 2) those who believe a good programming language is small, simple, easy to learn, easy to use, flexible, extensible, and productive. The software industry has obviously followed the first group. That's why we have large complex languages like C++, Java, JavaScript, C#, Scala, Rust, Swift, etc., and fairly complex languages like Python, Ruby, Clojure, Kotlin, TypeScript, Dart, etc. I prefer the second group which enjoy small simple languages like Smalltalk, Scheme, Go, Lua, etc. My favourite small, simple, easy to learn, easy to use, flexible, extensible, and productive programming language is Smalltalk. It's a timeless classic. In fact, this year Smalltalk celebrates its 50th anniversary: - ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-MDgbUCtCKak.html - ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-TQQ1oXM7Nms.html
@a0um
@a0um 2 года назад
20:16 “when you create a Java class how many clients in the world can access that class API… zero.” This is gold, I wish I meditate on this 20 years ago.
@GopinathSadasivam
@GopinathSadasivam 11 месяцев назад
wow! Indeed, "you just wrote a private language for accessing data, that nobody has ever seen..."
@a0um
@a0um 2 года назад
A new version of this talk is also available on ClojureTV with a better audio: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-QCwqnjxqfmY.html
@nbme-answers
@nbme-answers 2 года назад
wonderful
2 года назад
27:12 I can't understand that assertion: "In traditional Java programs you have a variable and it points to something but the thing it points to isn't a value". What does it mean it isn't a value?
@zhangjian3654
@zhangjian3654 2 года назад
A value means something that can not change(immutable), Java objects' field is variable, but not value. you evaluate a variable you may get different contents, it can be value(say primitive type float/integer) or object reference. So we say variable is mutable. That's the source of complexity: you don't know who change the content inside variable when you use the variable as a foundation.
@eugenemosh3658
@eugenemosh3658 2 года назад
Thank you!
@eugenemosh3658
@eugenemosh3658 2 года назад
Thank you!
@eugenemosh3658
@eugenemosh3658 2 года назад
Thank you!
@eugenemosh3658
@eugenemosh3658 2 года назад
Thank you!
@eugenemosh3658
@eugenemosh3658 2 года назад
Thank you!
@alrightsquinky7798
@alrightsquinky7798 2 года назад
Great mic quality! Thank you for the upload!
@BhaveshKakwani
@BhaveshKakwani 2 года назад
This kind of thinking takes an extreme open-mindedness about the nature of the universe. We have to let go of notions of identity/self and treat the whole universe as "connected"/"one", which is especially hard with the Western/individualist ideas many of us are ingrained with. And then...start coding....haha. VSauce also has some great philosophical youtube videos that play with these ideas of "objects", compound objects, and so on...Check out his "Are chairs real" for an example
@rursus8354
@rursus8354 2 года назад
This is not about practical programming. It is about everyone hugging their favourite paradigm and sobbing hysterically if anyone does anything that contradicts their paradigm. In real programming every paradigm is broken, violated and circumvented, just because there is an easier way to solve the problem.
@damienstanton
@damienstanton Год назад
It’s my opinion, but I think you’re failing to appreciate how old this talk is. At the time, FP was considered interesting but “not fit for production” in many places. In the intervening time, the change in essentially all major programming languages towards immutability, value-based concurrency, and scalability via composition have all borne out that Rich was exactly right.
@chimpskij
@chimpskij 8 месяцев назад
To the contrary, this is precisely about practical programming, and not at all about "paradigm for paradigm's sake" or any such thing. Furthermore, it's about how to do things so that it's easier to solve problems, and how to prevent various misguided practices (including "paradigms") from making things needlessly complex and complicated.
@kitkarson4226
@kitkarson4226 2 года назад
some code samples could have made this better. now it looks like high level theory.