Zhang Jian
Zhang Jian
  • Видео 121
  • Просмотров 186 322

Видео

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
Understanding Core Clojure Functions Jonathan Graham
Просмотров 1,8 тыс.4 года назад
from infoq
Ritz, The Missing Clojure Tooling Hugo Duncan
Просмотров 2534 года назад
from infoq
One to Rule them All Aaron Bedra
Просмотров 2734 года назад
from infoq
The Data Reader's Guide to the Galaxy Steve Miner
Просмотров 934 года назад
from infoq
Teach Your Eye to Eat Clojure Mario Aquino
Просмотров 3,8 тыс.4 года назад
from infoq
The Taming of the Deftype Baishampayan Ghose
Просмотров 914 года назад
from infoq
Real World Clojure Doing Boring Stuff With An Exciting Language Sean Corfield
Просмотров 3,5 тыс.4 года назад
from infoq
Programming with Values in Clojure Alan Dipert
Просмотров 1,8 тыс.4 года назад
from infoq
Practical core logic Ryan Senior
Просмотров 9314 года назад
from infoq
The Generative Generation Aaron Bedra
Просмотров 494 года назад
from infoq
Monads Made Easy Jim Duey
Просмотров 5084 года назад
from infoq
Macros Why, When, and How Gary Fredericks
Просмотров 3144 года назад
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
Macros are Hard David McNeil
Просмотров 4704 года назад
Macros are Hard David McNeil
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
SOLID Clojure Colin Jones
Просмотров 3754 года назад
SOLID Clojure Colin Jones
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
Engines of Abstraction Jim Duey
Просмотров 534 года назад
Engines of Abstraction Jim Duey
DSLs in Clojure Jim Duey
Просмотров 5774 года назад
DSLs in Clojure Jim Duey
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

Комментарии

  • @awvalenti
    @awvalenti 8 дней назад

    Nice talk! When was it presented? Not in 2019, I suppose, when Clojure already was a big thing.

    • @zhangjian3654
      @zhangjian3654 4 дня назад

      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.

  • @metadaddy
    @metadaddy 28 дней назад

    Thanks for posting this - the InfoQ version is missing the slides now!

  • @nauz1984
    @nauz1984 2 месяца назад

    Brilliant talk!

  • @kahnfatman
    @kahnfatman 5 месяцев назад

    Too much blah blah makes the talk into a PR campaign

  • @JT-mr3db
    @JT-mr3db 6 месяцев назад

    I’ve learned so much about programming just listening to Hickey talk.

  • @bobweiram6321
    @bobweiram6321 6 месяцев назад

    Closure's syntax sucks!

  • @REMUSE777
    @REMUSE777 7 месяцев назад

    Useful, even for a seasoned pro.

  • @RegisMatsuoka
    @RegisMatsuoka 7 месяцев назад

    Very good Clojure introduction!!!!

  • @satvistayou
    @satvistayou 8 месяцев назад

    Component API ~= Spring Context for Clojure !

  • @hamburgers140
    @hamburgers140 9 месяцев назад

    "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.

    • @stretch8390
      @stretch8390 7 месяцев назад

      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 5 месяцев назад

      Yes, and that is a VERY BAD state of affairs.

  • @almarn
    @almarn 10 месяцев назад

    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 10 месяцев назад

    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 7 месяцев назад

      diff and delicious delta only for max over-the-wire efficiency

  • @nbme-answers
    @nbme-answers 10 месяцев назад

    42:25 bookmark

  •  11 месяцев назад

    That "Collection Trait" slides is superb 👌 Thanks for sharing.

  • @kenneth_romero
    @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
    @7th_CAV_Trooper Год назад

    Not only is it not the same river. It's not the same you.

  • @BodhiTheMovieMaker
    @BodhiTheMovieMaker Год назад

    👍🏻

  • @tankerwife2001
    @tankerwife2001 Год назад

    Great talk but i can't help but notice that this guy has the Captain Disillusion fit

  • @josephpierce8926
    @josephpierce8926 Год назад

    Wow. This is kind of a radical idea, but it makes a lot of sense.

  • @riebeck1986
    @riebeck1986 Год назад

    This was really helpful. Thanks for uploading !

  • @bmillare
    @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: ruclips.net/video/ScEPu1cs4l0/видео.html

  • @Nellak2011
    @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
    @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 2 года назад

    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 11 месяцев назад

      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_Raab
      @David_Raab 3 месяца назад

      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.

  • @Pedritox0953
    @Pedritox0953 2 года назад

    Great lecture!

  • @nbme-answers
    @nbme-answers 2 года назад

    4:53 code starts

  • @eugenemosh3658
    @eugenemosh3658 2 года назад

    Clojure rock!!

  • @loicblanchard2044
    @loicblanchard2044 2 года назад

    Excellent talk, very clear

  • @eugenemosh3658
    @eugenemosh3658 2 года назад

    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: - ruclips.net/video/MDgbUCtCKak/видео.html - ruclips.net/video/TQQ1oXM7Nms/видео.html

    • @apestogetherstrong341
      @apestogetherstrong341 2 месяца назад

      Go is the first group. It only deceives you to believe it is simple

    • @EdouardTavinor
      @EdouardTavinor Месяц назад

      @@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.

  • @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 Год назад

      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: ruclips.net/video/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!