[HN Gopher] (next Rich)
___________________________________________________________________
(next Rich)
Author : poidos
Score : 802 points
Date : 2023-08-04 14:28 UTC (8 hours ago)
(HTM) web link (clojure.org)
(TXT) w3m dump (clojure.org)
| jonahbenton wrote:
| The word congratulations came into English from Latin, where it
| was formed by combining prefix com-, meaning with, to gratulari,
| meaning "give thanks" or "show joy." Gratulari is derived from
| gratus, as is gratitude. Gratus means "pleasing," "thankful."
|
| Having only had the good fortune to meet you in person a few
| times:
|
| Congratulations, Rich. You have my deepest gratitude. It fills me
| with great joy to know you are taking this step. I look forward
| to what your next stage brings.
| tbalsam wrote:
| Few people capture this spirit like the classic
| "Congratulations" video from Big Man Tyrone.
|
| While it has gone through the revolutions from sincere, to
| sarcastic in intent, to back again, I believe the inherently
| joyful attitude underpinning the original video carries the
| buoyishly optimism of sincere joy.
| agumonkey wrote:
| we see what you did there ;)
| culi wrote:
| thanks for the lesson etymonline
| mattdeboard wrote:
| Go watch the classic Simple Made Easy and you'll understand
| the comment.
|
| https://youtu.be/SxdOUGdseq4
| capableweb wrote:
| It might have started with Rich, but by now starting a
| Clojure talk with the destructuring (heh) of a word is
| basically a meme at this point.
| koito17 wrote:
| Quite literally a meme: https://youtu.be/jlPaby7suOc?t=75
|
| One of the funniest Conj talks ever.
| nordsieck wrote:
| > thanks for the lesson etymonline
|
| Perhaps you've never listened to a Rich Hickey talk before
| but he's notorious for riffing on the meaning of words.
| culi wrote:
| I got downvoted heavily but I genuinely do enjoy etymology.
| Wasn't at all a negative remark, just a playful jab
|
| Anyways thanks for the explanation. I wasn't in on the meme
| brundolf wrote:
| Hah, very fitting way to put it :)
| magicinky wrote:
| Agree. For those not familiar with Rich's famous use of
| etymology, see his 2011 presentation "Simple made Easy" as a
| good example: https://www.infoq.com/presentations/Simple-
| Made-Easy/
|
| Side question: Rich seems to use etymology as a tool for
| original thinking and clear explanations. Are there other
| people who do this as well as he does?
| aporetics wrote:
| I don't know about technologists who use it in writing or
| speaking like Rich, but you can trace writers' use of
| etymology to provoke thinking at least back to Plato. More
| recent, prominent examples would be Hannah Arendt's
| acceptance speech in 1975 receiving Denmark's Sonning
| Prize, in which she uses the etymology of "person", and at
| least Martin Heidegger's essay The Question Concerning
| Technology in which he plays with several, including the
| etymology of "technology" itself.
| braza wrote:
| For whom is interested in some of the Rich's talks, this is a
| great compilation[1].
|
| [1] - https://changelog.com/posts/rich-hickeys-greatest-hits
| koito17 wrote:
| Well-deserved retirement! I recall a history of Clojure paper
| mentioning that Rich was using his retirement savings in the
| years spent to build Clojure[0]. This provides a lot of context
| as to why he has wanted to maintain ownership and tight control
| of Clojure. Overall, Clojure is a brilliant piece of work and it
| has made software development fun and productive. Many great
| talks were also given by Rich over the years, and Datomic, though
| the licensing was restrictive up until very recently, has so much
| synergy with Clojure that it's tough going back to Postgres. :)
|
| Congratulations, Rich.
|
| [0] https://download.clojure.org/papers/clojure-hopl-iv-
| final.pd...
| hk__2 wrote:
| Meta: title should be "(next Rich)", not "(Next Rich)"
| jdminhbg wrote:
| HN autocapitalizes the first letter, so dang or another mod
| would have to fix this manually.
| jturolla wrote:
| Problem-solving by Cognitect's standards has transformed Nubank
| and my approach to work. Thank you for your time here, Rich. I
| greatly appreciate the knowledge I've gained while collaborating
| with your Cognitect colleagues.
| buybackoff wrote:
| There are 16 "talks" mentions as of this writing, yet I want to
| reiterate how important, insightful, useful and fun his talks are
| and watching them have been. They move a listener to a (next
| level). Good luck, Rich! Have a nice time in a hammock :)
| JamesLeonis wrote:
| Clojure has changed my whole career, and many of Rich's talks
| directly inspired my thinking about large systems. I hope
| retirement gives Rich the best Hammock Time!
| kaliszad wrote:
| Without Clojure and the immense effort of the community around it
| and ClojureScript, OrgPad would not be possible and the
| individuals on the team would probably be stuck in some academic
| or corporate structures instead of having basically a two-
| families startup/ company. So thank you Rich and thank you to
| everybody else, who supported You on the journey to create
| something that makes coding predictable, productive and almost
| fun instead of laborious work. ;-)
| rryan wrote:
| Thanks for everything, Rich. You inspired me repeatedly.
| ignoramous wrote:
| Don't think Rich Hickey is "retiring" retiring, just that he's
| retiring from Nubank and "commerical software development".
|
| TFA: _I look forward to continuing to lead ongoing work
| maintaining and enhancing Clojure with Alex, Stu, Fogus, and
| many others, as an independent developer once again...
| Retirement returns me to the freedom and independence I had
| when originally developing Clojure. The journey continues!_
| chollida1 wrote:
| I wrote my first trading system in Clojure because a few of the
| libraries we relied on were in java.
|
| It was 2011 and I'd had about 3 years of lisp experience. I got a
| bit of side eye from people when I told them I was using a
| relatively new programming language but the fact that it was
| based on the JVM, which alot of HFT firms were using helped make
| the case.
|
| We didn't use if for more than a few years before it was retired
| and rewritten, though that was due to new requirements that
| included C++ interop.
|
| In the end tracking memory usage and allocations got too hard and
| if you've ever written something that is time sensitive you'll
| know just how slow memory allocation is, so you could argue I
| made a poor choice but for the rewrite was easy to reuse the java
| libraries when we moved to java.
|
| The harder part was porting the algorithm implementation code.
| The reason was that I chose a common lisp trick of first writing
| a DSL in Clojure that was then used to write the algos.
|
| That was the one part that seemed worse in the rewrite as it
| became far more verbose and clunky.
|
| But man was it fun, I learned more in a month than I often do in
| a year now.
|
| Thanks Rich!! It's not often you get to experiment with cool tech
| and make lots of money doing it. I appreciate your work.
| kaba0 wrote:
| > you'll know just how slow memory allocation is
|
| Just a small nitpick, but allocation is definitely not slow in
| case of the JVM, it is often faster than manually managed
| languages. It is a pointer bump only.
|
| All the necessary mechanisms of a GC does have an overhead, so
| your point stands, but not for the mentioned reason.
| [deleted]
| behnamoh wrote:
| > The harder part was porting the algorithm implementation
| code. The reason was that I chose a common lisp trick of first
| writing a DSL in Clojure that was then used to write the algos.
|
| Doesn't it mean that Lisp macros should really be avoided at
| all costs?
| chollida1 wrote:
| Can't say for sure, given that my sample size is one.
|
| The upsides of DSL(Domain specific languages) and macros in
| general is that they cut down on code duplication and give
| everyone using them a common language and set of tools on
| which to build an app. That part is awesome and I think
| really helped to speed up development of the algos that were
| built on top of the DSL.
|
| The downside is, that you need to learn the DSL but that's a
| very small impact in my experience. THe larger downside as
| you and I point out is that those tools aren't really there
| for other languages so if you do plan on porting the code
| base to another language then maybe steer clear of macros.
|
| But again, I wouldn't say I have anywhere near enough
| experience to claim to be an expert in that.
| uxcolumbo wrote:
| So you had to switch to C++ because Clojure / Java wasn't
| performant enough?
| WinLychee wrote:
| For extremely low latency, Clojure can be an awkward fit. By
| default there's a lot of sugar in the syntax, so if you need
| to be precise about the underlying types of your data and the
| exact datastructure, you need to toss out most of the
| standard datatypes and datastructures. It's small details
| like: "I definitely have an array of unboxed integers, and I
| need to be sure this one operation won't accidentally
| allocate a new list of boxed integers, and that this function
| I'm calling doesn't dispatch dynamically" or things like
| that. You start using `deftype` everywhere, sometimes dipping
| into Java, etc. You may as well just write java at that
| point. However from a pure Clojure standpoint, the author of
| Neanderthal has done great work on making Clojure viable for
| high performance numerical computing.
| chollida1 wrote:
| > So you had to switch to C++ because Clojure / Java wasn't
| performant enough?
|
| Clojure yes, java no. Many HFT firms build their systems in
| java and run on the jvm(specialized hardware aside), its
| plenty fast if you avoid memory allocations.
|
| It is also possible Clojure is more than up to the task now
| and its also reasonable to believe that I wasn't a strong
| enough clojure developer to fix those issues at the time and
| a more competent developer could have made it work.
|
| But like almost all things if you chose a very out of the
| mainstream language and start to have issues, most developers
| will point fingers at the language first.
|
| Side note, its a miracle that Jane Street kept using OCaml
| after the first few years and points to how strong their core
| tech team was.
|
| C++ was an external dependency brought on by other systems
| that needed to be integrated and is a far safer language to
| use. I'd imagine that if you say HFT to most developers,
| their first thought would be C++ even if they haven't worked
| in the domain before.
|
| It's like choosing Julia for your machine learning platform
| and then switching to python.
| Jach wrote:
| It's a shame you couldn't have pitched Common Lisp. Maybe
| could have ported your DSL pretty quickly and wound up
| having SBCL output nice compiled assembly instructions and
| shown x% speed improvement without much effort by using a
| "sister language" of sorts? ABCL in 2011 would have been a
| harder sell, it only had its 1.0 release that October.
|
| A few years ago another commenter noted they had developed
| a trading system in Lisp and C
| https://news.ycombinator.com/item?id=25222297 (further
| comments elaborate a bit) before being asked to rewrite it
| in Java. What keeps less popular languages alive at
| companies, when there's no forcing reason to get rid of it
| like really unacceptable performance, is a conviction
| (borne out as far as I can tell) that it's ok to hire
| people who don't know the language -- they'll get up to
| speed more than fast enough.
| jwr wrote:
| > because Clojure / Java wasn't performant enough
|
| Languages aren't "performant". You can write good or bad code
| in most languages, or code that isn't a good fit for a
| language.
|
| That said, there are languages which will make you incur
| certain penalties, as there is a price to be paid for
| automatic memory management with garbage collection, for
| example. These penalties generally do not matter except for
| edge cases (and HFT trading might very well be one!).
|
| There are also languages which help you write much faster
| code, but on a higher level. Clojure transducers are a good
| example: pipelines built of composable transformations, where
| data sequences are not fully realized between the
| transformations. These can provide significant performance
| (and memory allocation) improvements, while still letting you
| write high-level code.
| moomin wrote:
| There is "the expected performance of idiomatic code",
| though, which is what most people mean when they talk about
| the performance of a language.
| nerdponx wrote:
| I suppose you couldn't convince your employer to let you use an
| embeddable Scheme interpreter for the DSL?
| chollida1 wrote:
| Well the performance hit alone would be a non starter.
| the-alchemist wrote:
| Very smart guy, can't wait to see what he comes up with next.
| elamje wrote:
| I, for one, and super excited to see how Rich and Clojure evolve
| post-Nubank. Clojure and Rich's talks greatly inspired me and
| improved my software thinking skills - I can't say thank you
| enough!
| usgroup wrote:
| Best of luck in what follows! Clojure was the first Lisp I had
| ever learned. It was really easy to pick up and be productive
| with. It was data science I tried to use it for where it quickly
| runs into a myriad headwinds but it is a beautiful language all
| the same.
| nXqd wrote:
| with the new wave of languages emerging, and now the return of
| Rich being active with Clojure, I'm super excited and welcome
| back :)
| phillipcarter wrote:
| Rich Hickey's talks inspired me to explore Clojure and functional
| programming in college. That led to a part of my career where I
| got to help advance an FP language (F#). Can't say it was a
| raging success, but it wasn't a raging failure either. Really
| happy things worked out the way they did, though. I still look
| back at my senior project, written in Clojure, from time to time
| and find it elegant in a unique way.
| neoncontrails wrote:
| My experience was similar. I've built far more impactful things
| since then, but at the end of the day, the software that I'm
| most proud of was a calculator, of all things, that I made in
| Clojurescript. It was loosely based on the final chapter of
| SICP, and implemented an hilariously metacircular approach to
| transitioning the state of the register machine. Since the
| implementation was way more interesting than the actual
| application, I used Processing to visualize the register
| machine as if it were a rudimentary ALU (which it basically
| was).
|
| If it hadn't been for Rich Hickey, or Clojure, I'm not sure I'd
| have the slightest inkling of how joyful and creative it can be
| to write software. It was an A+ experience, even if I'd be
| swiftly fired for trying to push logic like that into
| production.
| waffletower wrote:
| I pushed another build of a Clojure service into production a
| few minutes ago. There are companies that use it as a primary
| language you know :)
| pluijzer wrote:
| Second that and just to add, working fulltime with Clojure,
| apart from all the features and practical aspect is, really
| enjoyable.
| owenm wrote:
| FWIW, I started programming F# during your tenure at MS and in
| a couple of years it became a really capable cross platform
| option - partly MS, partly community, but definitely helped out
| by you. Thanks!
| chubot wrote:
| FWIW the original announcements in 2020:
|
| https://cognitect.com/blog/2020/07/23/Cognitect-Joins-Nubank
|
| https://news.ycombinator.com/item?id=23926407
|
| https://building.nubank.com.br/welcoming-cognitect-nubank/
|
| Very interesting story!
| rashkov wrote:
| one year ago today. I'm guessing the waiting period is over for
| Rich
|
| edit: not one year ago at all
| apgwoz wrote:
| What year and month are you living in? In my timeline these
| links are 3 years, 12 days old.
| rashkov wrote:
| Whoops, yeah my mistake!
| fnord77 wrote:
| we used clojure on a pretty big project. We made the decision to
| rewrite in java after it became clear that some fairly big
| libraries we were using weren't being maintained.
|
| It was contentious, but I'm glad we dumped clojure.
|
| No matter how good a project is, it needs loads of support behind
| it
| netbioserror wrote:
| I made two large projects in Clojure: One abandoned startup SaaS
| and one internal system. Both were a damn joy. They taught me the
| immense value of loosely coupled components that exchange simple
| data with each other, from large server components all the way
| down to module-level coupling. I can only ever view gigantic,
| monolithic, opinionated web frameworks with a strong degree of
| skepticism from now on.
|
| Lisp in general was probably the most fulfilling programming
| rabbit hole I ever followed down, and I don't regret a moment of
| it. A true gold mine of skill, ability, and thought training that
| changed the way I program, even in imperative/procedural
| languages.
| cmiles74 wrote:
| Rich presented Clojure to our local software development group in
| 2008, I've been working with Clojure (both as a hobbyist and
| eventually professionally) ever since.
|
| https://www.youtube.com/watch?v=dGVqrGmwOAw
|
| At that time I had been working with Java for years, both the
| conciseness of the code and the interactivity were flat-out
| amazing to me. It's saved me time and made me 100 times more
| productive.
|
| Congratulations to Rich, I am also extremely grateful for his
| work!
| [deleted]
| shove wrote:
| "just slip out the back, Jack Make a new plan, Stan You don't
| need to be coy, Roy Just get yourself free!"
| adamgravitis wrote:
| Orig article has lowercase 'n' in 'next', which makes more
| sense...
| seabass-labrax wrote:
| Agreed; this is a reference to the 'next' function in the
| Clojure language. @dang, please could you change the title?
| Thank you.
| WinLychee wrote:
| Thanks a ton Rich, Clojure is a real breath of fresh air in
| programming languages. I hope it continues to influence
| progamming for years to come, looking forward to seeing what you
| come up with in the future!
| munro wrote:
| Amazing news. I saw a video cast of Rick during a meeting @
| NuBank, and it looked like corporate life had sucked the life out
| of him [1]. So, I'm glad he got out of there, and I hope he's
| able to shake it off like a bad dream. Building something like
| Clojure require radical thinking, and creative freedom. I can
| only imagine how trying to fit that into your weekly scrum sprint
| would be draining. And in the monthly meetings where they recite
| the corporate values.. _shivers_
|
| [1] https://news.ycombinator.com/item?id=34781607
| meeuwer wrote:
| Funny, I too thought of that very video the moment I'd read the
| news. Rich was barely managing to feign just enough engagement
| without appearing rude. Happy he has escaped.
| frou_dh wrote:
| Maybe you're just used to seeing him in "on" mode (giving
| legendary conference presentations) and he's more subdued when
| doing everyday work.
|
| It's a bit distasteful to virtually follow him around and
| speculate about his mental health.
| javajosh wrote:
| Congrats Rich! You've been a big inspiration to go off and try
| new things, and to not be afraid to explain and explore the
| nuanced underpinnings of your design.
| tru1ock wrote:
| Simple made easy is the most impactful talk I have watched. Made
| a very big impact and I still think of it frequently. I never got
| into clojure but I am so glad it is around.
| josefrichter wrote:
| I'm a designer and barely ever write production-grade code (coz I
| suck at it), but Rich has been my inspiration for years and I
| shared his talks available online across pretty much all design
| teams I've ever worked with, because they're just full of
| invaluable experience and wisdom. Excited about Clojure future!
| draw_down wrote:
| I wonder if he'll still give talks. I don't blame him if not, but
| he's really good at it.
|
| "Simple made easy" was a classic even if everyone proceeded to
| ignore the practical advice contained therein. And "Maybe not" is
| my personal favorite, a great discussion of
| requirements/provisions and the downsides of option types.
| colonwqbang wrote:
| This comment didn't really deserve to die, did it?
| Jtsummers wrote:
| It wasn't flagged. The user's comments are all dead for a
| while now.
| draw_down wrote:
| [dead]
| cutler wrote:
| I'll never forget "gem install hairball" during his talk
| "Simplicity Matters" at Ruby Conf 2012 where he basically told
| the Ruby community they were doing it wrong.
| girishso wrote:
| He specifically said in the post that he intends to work on
| next versions of Clojure. Hope we have many more talks to hear
| from him.
| cwilper wrote:
| Yep, the guy has a gift. I've never touched a line of Clojure
| or looked at Datomic, but I'm repeatedly inspired by Rich's
| talks, which I come back to often.
| w-m wrote:
| I think Hammock Driven Development[0] deserves a spot in the
| classics!
|
| [0]: https://www.youtube.com/watch?v=f84n5oFoZBc
| amelius wrote:
| Somehow this reminded me of Joel Spolsky, who apparently is
| still blogging.
| justin_oaks wrote:
| Because of your comment, I watched this for the first time. I
| agree that it deserves a spot in the classics.
|
| For those who haven't seen it, in the presentation Rich talks
| about figuring out the problem before you work on a solution.
| It's definitely something that could be improved in myself
| and in a lot of people and organizations involved in software
| development.
| [deleted]
| adityaathalye wrote:
| This is awesome! One, it reinforces the ongoing maturing of
| Clojure, the language as a team project. Two, it portends cool
| new things to come; the kind that can only come from a place of
| personal liberty. Three, BDFL is retiring _from_ an _employer_ ,
| headlong _into_ his life 's work. I for one am cheering.
|
| (edit: typos, formatting)
| mdaverde wrote:
| This was exactly my take. This language just got a whole lot of
| significant focus behind it
| slifin wrote:
| Rich changed my whole career, I owe him a big debt!
| Jach wrote:
| Well deserved, I'm looking forward to seeing what Rich does next
| in his free time. Clojure made me love programming again the same
| way Python once did (the whole Py3k fiasco soured that). I
| haven't used it in quite a while (switched to Common Lisp) but
| I'll always be happy to see more Clojure success.
| [deleted]
| BaculumMeumEst wrote:
| i'm very grateful to rich for clojure, cognitect's
| libraries/tooling, and datomic. all of these have been well
| maintained, stable, and backwards compatible over the years.
|
| although he's no longer working on datomic, i really hope
| cognitect values growing it. it feels like such an improvement
| over sql to work with.
| __jem wrote:
| Could not disagree more strongly that Datomic is well
| maintained. I'd view it as a significant liability in any
| organization using it without _very_ good reason. My experience
| operationally supporting Datomic at even a moderate scale was a
| total nightmare and soured me on the Clojure ecosystem as a
| whole.
| BaculumMeumEst wrote:
| may i ask what you consider moderate scale in terms of
| daily/concurrent users? i've had no issue with small
| projects, but i'm curious to know where it starts falling
| over
| bjoli wrote:
| I look in envy at what Rich has achieved. I think we all have
| ideas of how we would like a language to be, but actually sitting
| down and doing it to Rich's extent is something else.
|
| As a schemer there are so many small things I would like to
| change that put me off using it for my personal projects, but
| regardless I have really enjoyed contributing to other people's
| Clojure projects. It is not far away from what I would consider a
| good starting position for my own perfect language.
| lawrencehong88 wrote:
| Your work on Clojure and other projects has been truly
| influential, and your talks are some of the best out there. I
| remember watching your "Simple Made Easy" presentation and being
| blown away.
|
| The impact of Clojure cannot be overstated. It's amazing to see
| how far it has come since its inception. You've inspired so many
| developers, including myself, to explore functional programming
| and think differently about software design.
| cfcfcf wrote:
| A lot of people have mentioned Rich's inspiring talks over the
| years. Any particular videos folks would like to share?
| addywaddy wrote:
| Simple Made Easy has to be my favourite:
| https://youtu.be/SxdOUGdseq4
| drewr wrote:
| I was about to give up on a career in software development when I
| found Clojure in 2007.
|
| Rich, I'll always be grateful to you for creating a language and
| community that got to the root of so many problems our industry
| still faces today. I'm confident it will continue to change the
| world as it has my own life.
| nenadg wrote:
| Being an independent developer is much more fulfilling than any
| other personal accomplishment
| runevault wrote:
| I remember being curious about Lisp and then seeing a new Lisp-
| style language was coming out for the JVM. I think back in the
| 0.2 days (unless I'm confusing versions with Phoenix but I feel
| like I started using both at that version number).
|
| I didn't end up sticking with Clojure because I don't enjoy the
| JVM tools/ecosystem, but Rich's talks gave me a lot to think
| about and I've been spending time in more FP and FP adjacent
| languages like Common Lisp and F# because of his thoughts and
| ideas.
|
| Thanks for everything and enjoy your retirement from professional
| development!
| yawaramin wrote:
| I remember Rich talking about how much time and money he put into
| Clojure-some of that money taken out of his retirement funds! I
| hope he has a long and fulfilling retirement with lots of
| happiness.
| brundolf wrote:
| Rich has to be my favorite thinker in this space, absolutely love
| his talks and the way he articulates things, and I often draw
| from his philosophies in my work
|
| But, I've always been turned off to Clojure by the lack of static
| typing (I know spec exists, but it's not really the same thing).
| I did a little project once to try it out, and even there I found
| myself spending time debugging basic issues like passing the
| wrong number or wrong kinds of arguments to functions
|
| Can somebody sell me on it? I feel like I'm the target audience
| delegate wrote:
| It's a matter of habit. Once you get used to it, you quickly
| know how or why it happens and where (especially when you
| follow the correct workflow, see below). Modern editors/IDEs
| help a lot with the typos and wrong number of args.
|
| Some advice I would give myself when I started learning
| Clojure:
|
| Think not in types, but in data. It's a different model that
| requires an 'aha' moment, but it's revelatory when you do get
| it.
|
| If you come from an OO language, think not in objects
| (Elephant), but in information about objects (elephant's
| record, a map).
|
| Clojure is best served REPL driven.
|
| You can technically compile and execute, but this is not how
| the language shows its power. Here's how I use it:
|
| I evaluate code in the REPL as I write it, reload definition on
| every change. Inside a `comment` block, I call the function I'm
| writing with the required arguments. I can quickly test how my
| function behaves in corner-cases. You then construct another
| function, which calls the first. You evaluate/execute the
| function as you write it.
|
| So your program keeps growing, while you keep running/changing
| individual parts of it.
|
| Once you get the hang of immutability and working with
| maps/collections, this process becomes very engaging because of
| the short feedback loop between thought and result.
| Ketan-fullstack wrote:
| yeah REPL driven development is pure joy. Even back when i
| was a JS developer i was developing a lot of my algos in
| devtools and then copying them to code.
|
| It's like having a conversation with your program while you
| are developing it.
| bokchoi wrote:
| clj-kondo helps with catching those types of errors. it works
| really well
|
| https://github.com/clj-kondo/clj-kondo
| kaba0 wrote:
| I am myself not 100% sold on it, except immediately after any
| Rich talk (honestly, that man could sell me anything :D), but
| it was eye opening to me that static typing is not an end goal
| in itself -- it might be a local optimum, but there are many
| more things it _can 't_ express than it can.
|
| Also, in case of Clojure you usually handle FP code with no
| side effects, written in a REPL-driven, interactive style. This
| combination is not as prone to typing errors in my opinion than
| "traditional" dynamic languages like Python and JS.
|
| Another aspect might be the one being touched in the 'Maybe
| Not' talk: Static types operate on a closed-world basis, where
| the sum of all relevant code is available at the same time.
| While this is common for certain kinds of programs, it is not
| really true of _systems_ which have to interoperate with
| services owned by different companies alltogether, having to
| support many different versions of other interfaces at the same
| time. In that case you want to be liberal in what you accept,
| and arguably, dynamic types are better fit for this job. I am
| not 100% sold on this part, mostly just reiterating what I 've
| seen others claim, notably Oilshell's author is a big proponent
| of this thought.
| joshlemer wrote:
| It is difficult to explain why, but there is actually a
| positive case to be made for dynamic typing. Their benefits are
| real but a lot less immediately apparent than the benefits of
| static typing. I think this article from Eric Normand captured
| some of it https://ericnormand.me/article/clojure-and-types. In
| my opinion languages like TypeScript where the type system is
| only a verification system and has no effect on the runtime,
| combined with its emphasis on structural types, existence of
| union/intersection types, etc, go a long way towards reducing
| the downsides of static types but not completely.
| globular-toast wrote:
| As someone who's written at least as much code in dynamically
| typed languages (Lisp, Clojure, Python) as static, I find this
| question interesting because I really don't know how we know
| what types to pass. I think a big part is naming and following
| conventions. But honestly, somehow, I don't think I've ever had
| problems figuring out or passing the wrong types to anything.
| nathanyz wrote:
| Hammock time seems to be when the best ideas come around. Wishing
| Rich much more hammock time to ponder the life, universe, and
| Clojure.
| Clever321 wrote:
| This is probably great news for clojure devs. It sounds like Rich
| just wants his autonomy back. Being able to choose exactly what
| you do, and do not, work on is precious.
| dudul wrote:
| While I never took the time to learn Clojure in depth or use it
| for any serious project, I feel like I've been deeply inspired by
| Hickey's talks. A lot of the principles he promoted helped me so
| much in my career as a developer.
| typon wrote:
| Watching Rich Hickey's talks turned me from a "software is a
| grind" kind of a guy into a "software can be beautiful". Highly
| recommend watching every single one of his talks if you are a
| young programmer. It doesn't matter if you end up using Clojure
| or not - his philosophies and enthusiasm are infectious.
| zengid wrote:
| Hey idk if Rich reads HN but if you do thank you for being a huge
| inspiration to me when I first started programming around 2014.
| You've helped change the world for the better. Cheers!
| datadeft wrote:
| Clojure was hugely inspirational to me and I could finally enjoy
| programming (focusing on algorithms). Rich has many great ideas,
| the database as a value is my all time favorite from him.
| germandiago wrote:
| Rich has become a legend for me. Btw, he is a remarkably good
| person at doing conferences. One of my favorites together with
| Andrei Alexandrescu.
| yayitswei wrote:
| Congrats Rich! I met you at Stu's house during a rousing game of
| Marvel Champions. Thank you for Clojure, Datomic, Cognitect, and
| your talks. Your creations have enriched my life in many ways. I
| hope retirement affords you ample hammock time!
| mrcwinn wrote:
| I am personally grateful to your contributions and talks, Rich.
| Thank you for everything so far.
| smrtinsert wrote:
| I had a lot of fun in Clojure in the years I used it.
| Congratulations on your retirement Rich, well deserved for sure.
| valbaca wrote:
| (inc hammock-time) ; Congratulations!
| aardvark179 wrote:
| Thank you Rich for everything you've done over the years, and I'm
| really happy to see that Clojure continues to have a future.
| jwr wrote:
| Rich, thank you for creating and maintaining a tool that has
| helped me build a successful SaaS business. I could not have done
| this without your work and your insights. I also learned a lot
| from your talks, and I do hope to meet you again at one of the
| Clojure conferences.
| devgoth wrote:
| Curious, what SaaS space are you in where you found Clojure was
| a good fit? Would love to add this info to my brain-base for
| future ideas :)
| [deleted]
| quantum_state wrote:
| Wish you all the best, Rich.
| err4nt wrote:
| Congrats Rich, and thanks for everything you've done, including
| being in inspiration for so many!
| deltree7 wrote:
| May have to do with https://finance.yahoo.com/quote/NU?p=NU and
| vesting periods :)
|
| A true computing thought leader. All the best Rich. My only
| complaint about you was not open-sourcing datomic and making it
| free for developers.
| fndex wrote:
| https://blog.datomic.com/2023/04/datomic-is-free.html
| nightwolf wrote:
| FWIW, Datomic still isn't open-source, but it is free:
|
| - https://blog.datomic.com/2023/04/datomic-is-free.html -
| https://blog.datomic.com/2023/06/datomic-cloud-is-free.html
___________________________________________________________________
(page generated 2023-08-04 23:00 UTC)