Nice talk! When was it presented? Not in 2019, I suppose, when Clojure already was a big thing.
@metadaddy22 күн бұрын
Thanks for posting this - the InfoQ version is missing the slides now!
@nauz19842 ай бұрын
Brilliant talk!
@kahnfatman5 ай бұрын
Too much blah blah makes the talk into a PR campaign
@apestogetherstrong341Ай бұрын
so what?
@JT-mr3db6 ай бұрын
I’ve learned so much about programming just listening to Hickey talk.
@bobweiram63216 ай бұрын
Closure's syntax sucks!
@REMUSE7776 ай бұрын
Useful, even for a seasoned pro.
@RegisMatsuoka7 ай бұрын
Very good Clojure introduction!!!!
@satvistayou8 ай бұрын
Component API ~= Spring Context for Clojure !
@hamburgers1409 ай бұрын
"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, KZbin, 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.
@stretch83907 ай бұрын
A lot of these talks by Rich Hickey are > decade old so I'd check when this one is from for historical context.
@benisrood4 ай бұрын
Yes, and that is a VERY BAD state of affairs.
@almarn10 ай бұрын
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.
@nyahhbinghi10 ай бұрын
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
@REMUSE7776 ай бұрын
diff and delicious delta only for max over-the-wire efficiency
@nbme-answers10 ай бұрын
42:25 bookmark
11 ай бұрын
That "Collection Trait" slides is superb 👌 Thanks for sharing.
@kenneth_romero Жыл бұрын
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 Жыл бұрын
Not only is it not the same river. It's not the same you.
@BodhiTheMovieMaker Жыл бұрын
👍🏻
@tankerwife2001 Жыл бұрын
Great talk but i can't help but notice that this guy has the Captain Disillusion fit
@love-thuggerАй бұрын
😂
@josephpierce8926 Жыл бұрын
Wow. This is kind of a radical idea, but it makes a lot of sense.
@riebeck1986 Жыл бұрын
This was really helpful. Thanks for uploading !
@bmillare Жыл бұрын
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: kzbin.info/www/bejne/iZSogahnmNhnopI
@Nellak2011 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
thanks for uploading !
@eugenemosh3658 Жыл бұрын
Live coding by Rich Hickey! wow!! Thanks a lot!
@nbme-answers Жыл бұрын
20:31 don't hand me an empty bag (~around this timestamp)
@nbme-answers Жыл бұрын
yes
@vernongrant4710 Жыл бұрын
Fantastic talk!
@nbme-answers Жыл бұрын
No one works harder at being lazy than Rich Hickey.
@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 Жыл бұрын
at 25:00, it is the same word, no problem, because 'map' as noun is datastructure, and 'map' as verb is function
@victor_rybin2 жыл бұрын
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
@lordzilch11 ай бұрын
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.
@David_Raab2 ай бұрын
you add products to your basket. But at some specific time, when you picked up the basket, it probably was empty. You cann put stuff into your basket, and take them out, but during that events time also has moved forward. After you have put 10 items in your basket. Does it has affect the past and was your basket always full with all your items? No. When you picked it up, it was empty. This is a fact that never will change.
@Pedritox09532 жыл бұрын
Great lecture!
@nbme-answers2 жыл бұрын
4:53 code starts
@eugenemosh36582 жыл бұрын
Clojure rock!!
@loicblanchard20442 жыл бұрын
Excellent talk, very clear
@eugenemosh36582 жыл бұрын
Clojure superb!! Thanks! ♥
@aleksandrpasharin77762 жыл бұрын
thanks for uploading!
@michaelnardell9912 жыл бұрын
David Nolen talks from 5 years ago guide me to what I should be learning and doing today.
@horridohobbies2 жыл бұрын
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: - kzbin.info/www/bejne/g3XKk4h5qah-l80 - kzbin.info/www/bejne/ioK0YqKOgpyBo9U
@apestogetherstrong3412 ай бұрын
Go is the first group. It only deceives you to believe it is simple
@EdouardTavinor29 күн бұрын
@@apestogetherstrong341 why do you say that? i find go to be a small, simple language, particularly when you start doing concurrency. every other language i've tried has seemed to offer lots of non-orthogonal functionality for this.
@a0um2 жыл бұрын
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 Жыл бұрын
wow! Indeed, "you just wrote a private language for accessing data, that nobody has ever seen..."
@a0um2 жыл бұрын
A new version of this talk is also available on ClojureTV with a better audio: kzbin.info/www/bejne/h3TaoqGgrdaZo7s
@nbme-answers2 жыл бұрын
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?
@zhangjian36542 жыл бұрын
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.