- Видео 121
- Просмотров 186 322
Zhang Jian
Добавлен 18 дек 2012
Видео
What Sucks about Clojure and Why You'll Love It Anyway Chas Emerick
Просмотров 13 тыс.4 года назад
from infoq
Web Apps in Clojure and ClojureScript with Pedestal Brenton Ashworth
Просмотров 4,2 тыс.4 года назад
from infoq
Real World Clojure Doing Boring Stuff With An Exciting Language Sean Corfield
Просмотров 3,5 тыс.4 года назад
from infoq
Introducing ClojureScript in ClojureScript Joel Martin
Просмотров 1294 года назад
Introducing ClojureScript in ClojureScript Joel Martin
Macros vs Monads Chris Houser and Jonathan Claggett
Просмотров 2714 года назад
Macros vs Monads Chris Houser and Jonathan Claggett
Functional Infrastructures It's All Fn until You Hit Production Antoni Batchelli
Просмотров 544 года назад
Functional Infrastructures It's All Fn until You Hit Production Antoni Batchelli
Storm Distributed and Fault tolerant Real time Computation Nathan Marz
Просмотров 1644 года назад
Storm Distributed and Fault tolerant Real time Computation Nathan Marz
Exploring Melody Space with Clojure, Overtone, core async and core logic Thomas Kristensen
Просмотров 5954 года назад
Exploring Melody Space with Clojure, Overtone, core async and core logic Thomas Kristensen
Securing Clojure Web Apps and Services with Friend Chas Emerick
Просмотров 1484 года назад
Securing Clojure Web Apps and Services with Friend Chas Emerick
Exploring a Legacy Clojure Codebase Jon Neale, Ragnar Dahlen
Просмотров 424 года назад
Exploring a Legacy Clojure Codebase Jon Neale, Ragnar Dahlen
Down the Clojure Rabbit Hole Christophe Grand
Просмотров 1564 года назад
Down the Clojure Rabbit Hole Christophe Grand
Domain Driven Design with Clojure Amit Rathore
Просмотров 8044 года назад
Domain Driven Design with Clojure Amit Rathore
Clojure in the Wild Web-7 Reflections Ignacio Thayer
Просмотров 664 года назад
Clojure in the Wild Web-7 Reflections Ignacio Thayer
ClojureScript Anatomy Michael Fogus
Просмотров 1,4 тыс.4 года назад
ClojureScript Anatomy Michael Fogus
Nice talk! When was it presented? Not in 2019, I suppose, when Clojure already was a big thing.
www.infoq.com/presentations/Are-We-There-Yet-Rich-Hickey/ it was post in Nov 12, 2009, ten years ago from 2019, 15 years ago from now. The content still considered modern nowadays, almost all popular programming language not provide such utility at language level.
Thanks for posting this - the InfoQ version is missing the slides now!
Brilliant talk!
Too much blah blah makes the talk into a PR campaign
so what?
I’ve learned so much about programming just listening to Hickey talk.
Closure's syntax sucks!
Useful, even for a seasoned pro.
Very good Clojure introduction!!!!
Component API ~= Spring Context for Clojure !
"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, RUclips, 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.
A lot of these talks by Rich Hickey are > decade old so I'd check when this one is from for historical context.
Yes, and that is a VERY BAD state of affairs.
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.
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
diff and delicious delta only for max over-the-wire efficiency
42:25 bookmark
That "Collection Trait" slides is superb 👌 Thanks for sharing.
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.
Not only is it not the same river. It's not the same you.
👍🏻
Great talk but i can't help but notice that this guy has the Captain Disillusion fit
😂
Wow. This is kind of a radical idea, but it makes a lot of sense.
This was really helpful. Thanks for uploading !
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: ruclips.net/video/ScEPu1cs4l0/видео.html
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.
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.
thanks for uploading !
Live coding by Rich Hickey! wow!! Thanks a lot!
20:31 don't hand me an empty bag (~around this timestamp)
yes
Fantastic talk!
No one works harder at being lazy than Rich Hickey.
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.
at 25:00, it is the same word, no problem, because 'map' as noun is datastructure, and 'map' as verb is function
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
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.
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.
Great lecture!
4:53 code starts
Clojure rock!!
Excellent talk, very clear
Clojure superb!! Thanks! ♥
thanks for uploading!
David Nolen talks from 5 years ago guide me to what I should be learning and doing today.
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: - ruclips.net/video/MDgbUCtCKak/видео.html - ruclips.net/video/TQQ1oXM7Nms/видео.html
Go is the first group. It only deceives you to believe it is simple
@@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.
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.
wow! Indeed, "you just wrote a private language for accessing data, that nobody has ever seen..."
A new version of this talk is also available on ClojureTV with a better audio: ruclips.net/video/QCwqnjxqfmY/видео.html
wonderful
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?
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.
Thank you!
Thank you!
Thank you!
Thank you!
Thank you!
Great mic quality! Thank you for the upload!