Тёмный

Clojure (the first talk) - Rich Hickey at LispNYC (2007) 

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

This was the first public talk given by Rich Hickey to introduce Clojure. It was hosted at LispNYC on Nov 13, 2007. It's remarkable how close this is to Clojure as it is still used today.
MANY thanks to LispNYC and Heow Goodman for unearthing this original audio (we're not aware of any existing video for this talk).
lispnyc.org/History#section-Hi...

Наука

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

 

27 июн 2022

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 14   
@FergalByrne
@FergalByrne 2 года назад
Wow, thanks to all for putting this together, such a moment where nobody knew what would come of it. Another one for the playlist!
@vvvvaaaacccc
@vvvvaaaacccc 2 года назад
it's nice to know that Fred and Ethel have been a part of Clojure since 2007.
@chillbro2275
@chillbro2275 Год назад
lolol. wish i would've given Clojure some time in 2007 or so.
@nbme-answers
@nbme-answers 2 года назад
now this is cool! thanks for sharing it! ☺️
@chillbro2275
@chillbro2275 Год назад
I think I recognize some of Clojure's (and Lisp's, in general) triumphs now only because i've programmed in VBA for so many years, and even some C#. Never wanna see those languages again.
@septic7
@septic7 2 года назад
Some of the info is outdated but otherwise such a great presentation of the language :)
@a0um
@a0um 2 года назад
What info, please?
@blidi666
@blidi666 2 года назад
Thank you for sharing. I think the part about VM not OSes as target platforms did not age well with the age of containerization. Even Java and Scala try to compile to native nowdays to avoid the overheads of the JM in containerized environments.
@alurma
@alurma 2 года назад
Interesting observation. But I don't agree with your conclusion. Virtual machines provide you a big toolchain not available on the target OS. Well, OS could be also considered a VM, as well as C++ standard (it describes C++ as a VM). So I don't think that it matters whether applications written for JVM actually compile to bytecode and not native (i.e. via Graal). I think what Rich Hickey meant is that C ABI and its ecosystem is not a good enough environment to build a language for, but JVM and other VMs are. And, you can look at Rust and its ecosystem as a counterexample of this :)
@alurma
@alurma 2 года назад
For another case of success of VMs, look at JavaScript, environment around it and languages built on top of it
@a0um
@a0um 2 года назад
Maybe we can remove the OS too. I’m thinking of the Unikernel approach: embedding only the functionality of the OS you need (eg the TCP/IP stack) directly in your app (aka micro/service), leaving out what you don’t need (eg a shell, device drivers, process schedules, etc). You get an executable that is launched by the Hypervisor, which is what cloud apps run on usually. mirageOS is a notable example of this approach. It’s been developed by Xen and later bought by Docket. Maybe worth considering what role the JVM/GraalVM and the standard library could play to achieve this goal.
@akaalkripal5724
@akaalkripal5724 Год назад
Graal offers the best of both
@raianmr2843
@raianmr2843 Год назад
Reality is somewhat more complicated. The JVM's recent advancements (e.g., green threads, value types, AOT compilation) are actually a response to Go and Rust whether people like to admit it or not. These changes are necessary because people are using the JVM for things it wasn't made for i.e., it's not the general purpose VM we've come to believe it to be. In other words, the issues are specific to the JVM, not the general concept of VMs or runtimes. Modern runtimes are really performant and the containerized world you've hinted at is actually going full-throttle at near-native-performing WebAssembly runtimes. WASI is the new C ABI, and is ushering in a new age of interoperability between basically every major ecosystem in existence. Once WASM runtimes mature (get their own GC and so on), it's going to be pretty natural for languages new and old alike going forward to race towards first-class support for it.
@NoahBogart
@NoahBogart 2 года назад
Here's working celsius code, running in Clojure 1.11, so you can compare: (import '(javax.swing JFrame JLabel JTextField JButton) '(java.awt.event ActionListener) '(java.awt GridLayout)) (defn celsius [] (let [frame (new JFrame "Celsius Converter") temp-text (new JTextField) celsius-label (new JLabel "Celsius") convert-button (new JButton "Convert") fahrenheit-label (new JLabel "Fahrenheit")] (. convert-button (addActionListener (reify ActionListener (actionPerformed [this evt] (let [c (. Double (parseDouble (. temp-text (getText))))] (. fahrenheit-label (setText (str (+ 32 (* 1.8 c)) " Fahrenheit")))))))) (doto frame (.setLayout (new GridLayout 2 2 3 3)) (.add temp-text) (.add celsius-label) (.add convert-button) (.add fahrenheit-label) (.setSize 300 80) (.setVisible true)))) (celsius)
Далее
A History of Clojure by Rich Hickey with Q&A
1:07:02
Просмотров 30 тыс.
Why Clojure? - Derek Slager
41:59
Просмотров 61 тыс.
Best KFC Homemade For My Son #cooking #shorts
00:58
Просмотров 16 млн
Homoiconicity It Is What It Is - Stuart Sierra
30:40
Просмотров 12 тыс.
Maybe Not - Rich Hickey
1:03:29
Просмотров 156 тыс.
Solving Problems the Clojure Way - Rafal Dittwald
1:02:26
"Simple Made Easy" - Rich Hickey (2011)
1:01:39
Просмотров 65 тыс.
Effective Programs - 10 Years of Clojure - Rich Hickey
1:14:52
"Design in Practice" by Rich Hickey
1:00:46
Просмотров 36 тыс.