Тёмный
No video :(

Stuart Halloway - Narcissistic Design 

Reaktor
Подписаться 1,2 тыс.
Просмотров 27 тыс.
50% 1

The software industry changes rapidly, but you can protect yourself from these changes by creating code that is complicated enough that only you can maintain it.
Of course you should not engage in obvious bad practices. The good news is that you don't have to. You can follow idiomatic industry practice and stay buzzword compliant with the latest trends, while quietly spreading complexity throughout systems. Better yet, the symptoms will show up not in your own code, but in other code that uses your code, directly or indirectly. You will be a hero as you lead larger and larger teams burning the midnight oil to keep systems alive.
Practice these principles, and your code will have an infectious complexity that guarantees you will always be needed to maintain it.
Use OO, and don't forget those setter methods!
Prefer APIs over data.
Start with DSLs.
Always connect (and never enqueue).
Create abstractions for information.
Use static typing across subsystem boundaries.
Put language semantics on the wire.
Write lots of unit tests.
Leverage context.
Update information in place.
Stuart Halloway is a founder and President of Relevance. He is a Clojure committer, and a developer of the Datomic database.
Stuart has spoken at a variety of industry events, including StrangeLoop, Clojure/conj, EuroClojure, ClojureWest, SpeakerConf, QCon, GOTO, OSCON, RailsConf, RubyConf, JavaOne, and NFJS.
Stuart has written a number of books and technical articles. Of these, he is most proud of Programming Clojure.
Seen at Reaktor Dev Day 2013
reaktordevday.fi
blog.reaktordevday.fi

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

 

28 авг 2024

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 18   
@Kah0ona
@Kah0ona 7 лет назад
This is gold.
@miro2059
@miro2059 7 лет назад
This is just brilliant. Well done, Stu!
@vitorvitali
@vitorvitali 4 года назад
Very good, wish I could see the slides.
@JaihindhReddy
@JaihindhReddy 6 лет назад
12:50 "You've gotta screw those guys.." cracked me up.
@eugenemosh3658
@eugenemosh3658 2 года назад
Thank you!
@willmcpherson2
@willmcpherson2 5 лет назад
I get all of this except static typing. Why do Closure guys not like it? In my head it makes sense. Maybe I’m wrong.
@sfyire
@sfyire 4 года назад
We use static analysis for dev time feedback (with type inference) and spec for specification, types can end up being all consuming or worse causing slot based programming, you can watch rich hickey talks to get a better sense of this
@acobster
@acobster 3 года назад
@Sydney Bean I have a passing familiarity with modern type systems and I cannot immediately tell that Rich hasn't used one. That sounds like a pretty bad faith argument to me.
@acobster
@acobster 3 года назад
He says the part about "across subsystem boundaries" is important. Different parts of the system are going to have different abstractions because they model the data in subtly different ways, and forcing them to share abstractions can lead to having to explicitly declare every new combination of classes/types. So you end up with classes like "SimpleBeanFactoryAwareAspectInstanceFactory." I personally see a lot of value in certain strategies of static typing (I want a smart friendly compiler), especially gradual typing, but I think that's the essence of the main argument that Rich likes to make.
@rolfen
@rolfen 7 лет назад
SQL databases abstract low-level operations made by the database. How would the query language be replaced by a data model? Would we just feed XML files to the SQL client and get XML back? By the way. There might be another motivation behind adding unneeded complexity. Developers have the task of managing complexity, so by creating complexity to manage, it can be argued that they are creating challenges to practice, exercise, improve their skills. And finally, I like the tone in this video. Thank you.
@AlexanderWhillas
@AlexanderWhillas 6 лет назад
graphQL json in, json out
@sfyire
@sfyire 5 лет назад
Stuart the person who gave this talk is lead developer on Datomic which is a database, compare it with SQL
4 года назад
Really good points, but too "negative" energy: not good for comedy.
@kap4020
@kap4020 7 лет назад
Great presentation, but heard to see the slides. A link, perhaps?
@peterlindberg8276
@peterlindberg8276 7 лет назад
The slides can be found here: github.com/stuarthalloway/presentations/wiki/Narcissistic-Design
@murraynatkie7490
@murraynatkie7490 3 года назад
I'm about 7 minutes in, is this satire?
@elliottcrifasi3143
@elliottcrifasi3143 2 года назад
Yes
@murraynatkie7490
@murraynatkie7490 2 года назад
@@elliottcrifasi3143 thank goodness. It seemed like really bad advice
Далее
I Took a LUNCHBAR OFF A Poster 🤯 #shorts
00:17
Просмотров 9 млн
Solving Problems the Clojure Way - Rafal Dittwald
1:02:26
Maybe Not - Rich Hickey
1:03:29
Просмотров 158 тыс.
Design, Composition, and Performance - Rich Hickey
55:25
Zebras All the Way Down - Bryan Cantrill, Uptime 2017
46:37
Debugging with the Scientific Method - Stuart Halloway
49:09
Babashka Conf 2023: "Do or Do Not Clojure" by Gert Goet
20:57
I Took a LUNCHBAR OFF A Poster 🤯 #shorts
00:17
Просмотров 9 млн