Live data from Hacker News

(next Rich)

clojure.org

91–100 of 158 posts

Re: (next Rich)

#91
post #75
post #61

Earlier quoted context omitted.

one year ago today. I'm guessing the waiting period is over for Rich edit: not one year ago at all

What year and month are you living in? In my timeline these links are 3 years, 12 days old.

Whoops, yeah my mistake!

Re: (next Rich)

#92

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 r…

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

Re: (next Rich)

#93

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 t…

we see what you did there ;)

Re: (next Rich)

#94

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 w…

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.

Re: (next Rich)

#97
post #92

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 r…

> 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]

Re: (next Rich)

#98
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.

Re: (next Rich)

#99

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 w…

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.

Re: (next Rich)

#100

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 t…

Hah, very fitting way to put it :)

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?

Post reply on HN