Live data from Hacker News

Clojure Turns 15 panel discussion video

youtube.com

51–60 of 226 posts

Re: Clojure Turns 15 panel discussion video

#51
post #39
post #31

Earlier quoted context omitted.

The cljs stack I hear about a lot (and use) is ShadowCLJS with reagent ( https://reagent-project.github.io/ ) and re-frame ( https://day8.github.io/re-frame/ ). ShadowCLJS is more of a build tool, but is really well documented and easy to use. Reagent is basically react but a simpler API, and re-frame is a layer on top of that kinda like redux. It's overkill for some apps but I find it's actually super easy to work w…

Thank you. What about leiningen vs boot vs deps.edn? Did any of this come ahead as a winner in the recent years? It's been a while since I've looked into this.

Boot died, sadly. There was some talk of a Boot 3.0 but it never materialized. I think deps.edn took all the steam out of it. Duplicated a lot of functionality and none of the esoteric-ness.

Re: Clojure Turns 15 panel discussion video

#52

I've started learning Clojure about a year ago, couldn't say it was easy (the fault might be with me and not Clojure) Clojure has a lot a faults (just look at some of the comments here) BUT and it's a BIG BUT for me... Clojure is SUPER FUN :) Over the years(15+), I've been coding in PHP (suck it haters), Go, Rust,Java,Python AngularJS+, Svelte and I can honestly say for me, nothing is more fun that coding in Clojure.…

Clojure user here since 2010(my earliest Clojure project on Github), and while I agree with the fun point, the iceberg wart for me at this point is the inelegance of the interface hierarchy and its structure behind the scenes. Clojure's forward-facing interface (a hundred functions that operate on one data structure) ended up breaking down for me at some point and became 10 functions on 10 data structures and those d…

Lets say that someone wants to improve on Clojure and make a better functional, immutable LISP! What should they start with ? Some things I miss is type support (for easy refactoring, auto documentation and performance), (small) native compilation, support for mobile platforms and their UI's, first-class web-assembly support, real structs and misc things like performant implementations for `first`, `last` and other clojure functions, light-weight concurrency like Go, data-flow analysis and pipelines, etc.

An example of clojure performance issues covered here: https://tech.redplanetlabs.com/2020/09/02/clojure-faster/

All that stuff above should be fixed at the language/stdlib level.

But what is your take on what needs fixing ? What would have been your solution for the N data-structures/ M algo problem you mentioned above ?

Re: Clojure Turns 15 panel discussion video

#53

Earlier quoted context omitted.

> Deps is well documented. > The issue I personally found is that I needed to look at a bunch of OS project's deps.edn to see how people commonly structure things. Other than that it is a simple tool. This seems like a contradiction, because if it was well documented you wouldn’t need to look at other people’s configs to see how to use it. My experience with deps.edn is that every time I start a project and make a de…

The C language is extremely well-documented. It's still helpful to see other people's C code to understand common/useful patterns.

I don't know. I saw tutorials mixing clj -A, -X and -M flags, but what's the difference between them? When do I use each? What's the -r flag do and how do I use it? How do I update my dependencies? How do I build a jar and deploy it?

It just always felt like I was running into things that felt basic and the docs didn't have an answer for them. I would see so many elaborate deps.edn files in people's configs and when I tried to look up how they worked I couldn't find anything.

Re: Clojure Turns 15 panel discussion video

#54
post #48

I've started learning Clojure about a year ago, couldn't say it was easy (the fault might be with me and not Clojure) Clojure has a lot a faults (just look at some of the comments here) BUT and it's a BIG BUT for me... Clojure is SUPER FUN :) Over the years(15+), I've been coding in PHP (suck it haters), Go, Rust,Java,Python AngularJS+, Svelte and I can honestly say for me, nothing is more fun that coding in Clojure.…

I've been working with Clojure for the past decade, and it's still the most enjoyable development experience I've had. Once you experience using an interactive workflow where you can see the results from the code you're writing live, it's really hard to go back.

I physically suffer when I go back to systems like django, where there's no principled underpinnings, no 'protocol' and only a thin way to interact with the system live.

Curse of good languages.

Re: Clojure Turns 15 panel discussion video

#55

Earlier quoted context omitted.

Stage5: All other languages and their syntax now looks ugly and wrong. I'm mean for heavens sake put the parens on the outside ! We are not heathens. Lol only half joking. It really did surprise me how can something I hated some much in the beginning of learning Clojure (all the parens) has now become one of the things I most adore about the language (all the parens)

This is the worldview of all apl developers.

Last time I listed my resume I added "prolog or apl please"

Re: Clojure Turns 15 panel discussion video

#56
post #13

Earlier quoted context omitted.

> deps.edn Deps is well documented. The issue I personally found is that I needed to look at a bunch of OS project's deps.edn to see how people commonly structure things. Other than that it is a simple tool. > socket repl over nrepl I personally use Calva (VSCode) which just starts an nrepl based on deps.edn. When writing babashka scripts I start the repl manually and connect to it. Very pleasant experience so far. >…

> Deps is well documented. > The issue I personally found is that I needed to look at a bunch of OS project's deps.edn to see how people commonly structure things. Other than that it is a simple tool. This seems like a contradiction, because if it was well documented you wouldn’t need to look at other people’s configs to see how to use it. My experience with deps.edn is that every time I start a project and make a de…

> My experience with deps.edn is that every time I start a project and make a deps.edn file, I immediately draw a blank and don’t know how to structure it, so I open ones from other projects to start lifting stuff out of them.

My new project deps file is always literally "{}". I love that that's all I need to do to start doing stuff. I add a couple libraries as needed. Maybe at some point an alias or two.

Re: Clojure Turns 15 panel discussion video

#57

I love Clojure the language but I’ve never seen a more fragmented ecosystem. There seems to be a pattern in the language of “a problem emerges > a community solution gains traction > Cognitect develops their own solution but its weird and undocumented”, like deps.edn over leiningen, spec over malli, pedestal over ring, etc. Many prominent clojurists recommend deps.edn over leiningen and socket repl over nrepl, but I’…

I think your pattern is right except for "its weird and undocumented" - I have found the maintainers are superb at docs - e.g. deps.edn - there is a "Guide" https://clojure.org/guides/deps_and_cli there is a "Getting Started" https://clojure.org/guides/getting_started (it's branded as an overall Clojure getting started but the core of deps is just the clj/clojure command line tool you would use to install clojure) th…

Excellent doc references, and FWIW I share your perspective on the tools.

Re: Clojure Turns 15 panel discussion video

#58
Rich Hickey’s talks may outlive Clojure itself.

In some sense, the principles he taught and aimed for were the ideal. Clojure today wasn’t necessarily the ideal.

I think there could be room for a better Clojure than Clojure, so to speak

Re: Clojure Turns 15 panel discussion video

#59
I have the feeling that after Nubank bought Cognitech, Clojure has gone to stagnation. I mean, i feel that promoting and improving Clojure is no longer a priority. And another think that stinks me everytime Cognitech talks about Clojure they have to bring to the table Datomic. They tried to push Datomic on my company long time ago when they do some consultancy job at my company. You can skip all the talk, because is all about how good Clojure is and that is. No any eta about future features, improvements and fix problems of current Clojure users.

Lot of open source contributors have leave the community, because there is any plan on Clojure. I guess that Rick Hickey is happy with Clojure as it is now, and this is the way is going to stay. And still no Java 8 support for CompletableFuture, lambdas interface, Stream api, java.time, no pattern matching, java records, this group feels like a group of old programmers stuck at Java 6 that cannot move forward.

Re: Clojure Turns 15 panel discussion video

#60

I've started learning Clojure about a year ago, couldn't say it was easy (the fault might be with me and not Clojure) Clojure has a lot a faults (just look at some of the comments here) BUT and it's a BIG BUT for me... Clojure is SUPER FUN :) Over the years(15+), I've been coding in PHP (suck it haters), Go, Rust,Java,Python AngularJS+, Svelte and I can honestly say for me, nothing is more fun that coding in Clojure.…

Same here, started using Clojure pretty much exclusively about a year ago and never looked back. It was rough to get to that comfortable state where I am now, having to find out how Clojure CLI tools work, what Java Classpaths are, how to properly set up my editor (Neovim), how to make sense of Clojure internals like “seq” and when to use which collection type (and when not to care), etc.

But it has also been a fun and liberating experience, after I went down the static type route for some years. I feel like Clojure just doesn’t get in my way and doesn’t force me to follow a certain style or paradigm; it provides many different choices (“providing more” instead of “taking away”) and treats you like an adult who can make responsible decisions on their own.

Although I missed the linguistic art of domain modelling through type definitions, spec gave me some of that back and even provides stuff like generative testing, which is pretty awesome. Of course, it is not meant as a replacement for static typing and has a different philosophy (see Rich Hickeys talks about it), but for me it is the best of both worlds.

The dynamic development style is something that I experienced before through learning Lisp/Scheme and it is also one of the thing that I enjoy most about Clojure. Coding “experimental”, building functions from individual pieces that I iteratively design using the REPL as my assistant (which actually means - as parent wrote - communicating with it from the editor itself, which we mostly do), feels so natural and I would miss it now that I am so used to it.

Post reply on HN