Тёмный

"Running With Scissors: Live Coding With Data" by Stuart Halloway 

Strange Loop Conference
Подписаться 82 тыс.
Просмотров 20 тыс.
50% 1

There are few novel features of programming languages, but each combination has different properties. The combination of dynamic, hosted, functional, extended Lisp in Clojure gives developers the tools for making effective programs. Less well understood are the ways in which Clojure's unique combination of features can yield a highly effective development process.
Over more than a decade, we have developed an effective approach to writing code in Clojure whose power comes from composing many of its key features. As different as Clojure programs are from e.g. Java programs, so to can and should be the development experience. You are not in Kansas anymore!
This talk presents a demonstration of the leverage you can get when writing programs in Clojure, with examples, based on my experiences as a core developer of Clojure and Datomic.
Speaker: Stuart Halloway

Наука

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

 

17 июл 2024

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 11   
@francisst-amour646
@francisst-amour646 Год назад
This presentation is great. I think we need more explanation of how to work with lisps like this one. I always end-up explaining to newcomers that most experienced lispers don't use the repl per-se, but use key bindings to send pieces of code from a file to a repl.
@shipper66
@shipper66 5 лет назад
at 26:53 function called "keys-named" has a hardcoded string "id" inside, I think there should be parameter n instead.
@indigo0086
@indigo0086 5 лет назад
Love the comment blocks suggestion, I always have intermediate things I evaluate, and always throw them away, this is a good little practice,
@mikl2345
@mikl2345 4 года назад
Reminds me very much of Paul Graham's description of bottom up programming, in the first Chapter of "On Lisp". Also, when coming from any non-lisp language, understanding what is meant by "the lisp image" is central here. There are a few which have something similar, one being Smalltalk.
@EcksteinNorman
@EcksteinNorman 3 года назад
Every day I'm forced to program in another programming language than Clojure feels like a lost day!
@lightpad1360
@lightpad1360 3 года назад
I'm a happy app written by a happy Clojure developer.
@AlexRodriguez-gb9ez
@AlexRodriguez-gb9ez Месяц назад
Can you use reactive variables instead of functional for good repl based development. Reactive variables are like getter/setters that notify their dependents to update themselves based on a formula.
@DmitryFomin
@DmitryFomin 5 лет назад
name/last looks strange for me :/ May be if this is an analog of table-field. For example, how then should look terms "principal amount, overdue amount, accrued interest amount, principal account, overdue account". Is it like this :amount/principal, :amount/accrued interest and :account/principal ? And why not opposite like :principal/amount ? and what if one level of "struct" is not enough? then keyword ns doed not suite. And if then we have to use nested maps then why we need ns? Sometimes the lack of node.node.node.leaf notation in Clojure is confusing me
@bengrabow
@bengrabow 5 лет назад
There is one name, with two sub-parts: last and first. So the sub-parts are organized together under the same parent node. For the other terms you list, there's not one single amount; there are several different amounts so we wouldn't categorize them all under an :amount node. We could say :account/principal :account/accrued-interest :account/overdue since a single account has multiple quantities associated with it. I find "amount" redundant, but you could write :account/principal-amount if you like.
@iterationzero5570
@iterationzero5570 5 лет назад
You can use keywords any way you want. To be able to distinguish names globally, there is one convention, though: They should be unique. But that still leaves you with a lot of options: my-org.my-program.names/last-name for example. Or, if you want to completely ignore the namespace part: my-org.my-program/last-name (consider my-org and my-program to be placeholders for actual names). That way you can use the same namespace for every keyword in your data but still ensure that your keywords will be distinct from everybody else’s. I dont fully understand what problem you describe in the second part of your comment, but here is an example of keywords in nested maps: {:my-org.my-program.person/name {:my-org.my-program.person.name/last-name “some name” :my-org.my-program.person.name/first-name “some name”}} To retrieve the respective nested values, assuming the map is assigned to a symbol called “person”: (get-in person [:my-org.my-program.person/name :my-org.my-program.person.name/first-name])
@IanKjos
@IanKjos Год назад
Nice talk. I'm a bit leery of your worry about "perfectly good facts" being mistaking for incomplete structures in a "slot" language. SQL is a slot-language, in some sense, but if you take a selection (projection, mathematically speaking) you just get a relation with fewer keys. Where's the fire? (By contrast, I usually want to exclude misspelled keys because the computer can't spell.)
Далее
Stuart Halloway - Narcissistic Design
37:15
Просмотров 27 тыс.
13+ 2 серия
8:17
Просмотров 281 тыс.
Редакция. News: 60-я неделя
41:13
Просмотров 1,7 млн
Кто поёт хит Буратино🤔
0:11
Просмотров 121 тыс.
Keynote: Transparency through data by James Reeves
47:16
REBL - Stuart Halloway
33:06
Просмотров 24 тыс.
"Transducers" by Rich Hickey
45:00
Просмотров 108 тыс.
Debugging with the Scientific Method - Stuart Halloway
49:09
Здесь упор в процессор
18:02
Просмотров 346 тыс.
Wylsa Pro: опять блокировка YouTube?
17:49
Choose a phone for your mom
0:20
Просмотров 7 млн
ЗАКОПАЛ НОВЫЙ ТЕЛЕФОН!!!🎁😱
0:28
Colorful Vulcan w rtx 4070ti Super
13:30
Просмотров 60 тыс.
😮Новый ДИРЕКТОР Apple🍏
0:29
Просмотров 41 тыс.