Live data from Hacker News

Coast on Clojure

coast.swlkr.com

21–30 of 61 posts

Re: Coast on Clojure

#21
post #2

Slightly OT, but whenever I see Clojure projects I think: "I'd love to write something bigger in Clojure one day, experience it, and see if it's all it was promised to be." That said, I don't really have any good use case for it right now, whether at work, or among my side projects.

React and ReactNative in Clojure(Script) are amazing if you work in that area. Honestly, I'd never go back to a JS implementation. Reagent [1] provides a seamless interface for components, classes, hooks, etc. and ShadowCljs [2] is a fantastic build tool for the ecosystem. Re-frame [3] is a popular framework in this space.

[1] https://reagent-project.github.io/

[2] https://github.com/thheller/shadow-cljs

[3] https://github.com/day8/re-frame

Re: Coast on Clojure

#22
post #4

Earlier quoted context omitted.

Agree. There is a lot of value in the "easy, batteries included" solution which is why Rails gets so much love from the start-up community. The problem always seems to be that the same things that makes Rails easy to get started with ( cough ActiveRecord cough ) also make it easy to create foot-guns in the future (provided your start-up lasts long enough to get to that point). Combining a Rails like framework that ma…

To quote Rich Hickey: "gem install hairball"

I like that quote, but it's the Rails idioms and conventions that make hairballs, not the fact that it includes a bunch of batteries.

Re: Coast on Clojure

#23
Unless I missed something in the doc, it seems like it's the "Fullest full stack framework" as long as you're only interested in the "handling web server request and reply with html" part of the full stack.

Any reason why this should be used instead of cooking up ring / hickup / whatever ?

Re: Coast on Clojure

#24
Love to see Coast getting some attention again! I got my start into Clojure with it working with Sean on small web apps written in Coast. I even gave a talk about it at the Berlin Clojure conference

https://youtu.be/24PRtDJGvW8

The first project we built together with it was called magehash, and it was an app to monitor websites for Magecart attacks (code injection stealing credit card data).

That project ended up not working out, but I’m using a lot of the lessons I learned with Sean at my new project (https://www.june.so) which is ironically a Rails app and we keep in touch on Twitter regularly

Re: Coast on Clojure

#25
post #4

Earlier quoted context omitted.

Agree. There is a lot of value in the "easy, batteries included" solution which is why Rails gets so much love from the start-up community. The problem always seems to be that the same things that makes Rails easy to get started with ( cough ActiveRecord cough ) also make it easy to create foot-guns in the future (provided your start-up lasts long enough to get to that point). Combining a Rails like framework that ma…

I am going to butcher this, but my sense is this counter culture against the big heavy opinionated frameworks arose from that generation of programmers who in a sense "grew up" (career wise) on things like Rails. Like others have said, there eventually comes a time where you are fighting the framework more than the framework is providing value, and having learned the value of the abstractions and functionality throug…

> The best of both worlds, in my opinion, is a loosely coupled set of opinionated tools and libraries, but that also has a tool that provides a unifying interface into the "golden path" for using those together to provide some functionality.

This is almost it. A few more things I think one wants:

- Do most of the coupling and plumbing yourself, IoC is evil when applied to things that do too much.

- Control the application state - see above.

- Be free to substitute any major part, be able to compose them freely.

- Re-use and extracting libraries from past work to be convenient, robust and affect past / maintenance-mode projects positively too.

- Be able to defer extracting libraries and generalizing up to the time you actually need to.

- Decouple code organization from artifact deployment.

- Be absolutely free in how you design and write domain logic and information processing - this is the brain of an application.

- Be absolutely free in how you design and write the UI - this is the body of an application.

- Have the tooling/utilities around code that fit your workflows and business needs.

I've come to the conclusion that full-stack frameworks in the style of Rails/Laravel/Django get in the way of some of the above and don't provide enough to make the above possible by themselves. I think the answer is not "use this framework" or even "build this framework".

It starts with your business/domain needs and builds from there - custom and simple. It builds up slowly and steadily like a garden that reflects your team's personality. It takes a careful, comprehensive, holistic approach. There are angles from version control, to project management to deployment that are all incorporated.

Re: Coast on Clojure

#26
post #2

Slightly OT, but whenever I see Clojure projects I think: "I'd love to write something bigger in Clojure one day, experience it, and see if it's all it was promised to be." That said, I don't really have any good use case for it right now, whether at work, or among my side projects.

I did clojure as a hobbyist for years and have only recently taken a job where I'm working full time in Clojure on a large codebase (i.e., first time having to maintain somebody else's Clojure code). It's not a golden hammer by any means, but I'd definitely take it over Java (or Scala) any day.

Re: Coast on Clojure

#27
post #2

Slightly OT, but whenever I see Clojure projects I think: "I'd love to write something bigger in Clojure one day, experience it, and see if it's all it was promised to be." That said, I don't really have any good use case for it right now, whether at work, or among my side projects.

Same here! I wanted to learn it and Overtone years ago, tried to, realised my brain was just not prepared ;p.

I have a bit of time now and I am diving in again and am more determined this time!

I got clojurescript going with react native, and having fun so far. If you need inspiration check out Rich Hickleys talks. He keeps me going through the hard times!

Re: Coast on Clojure

#28
post #2

Slightly OT, but whenever I see Clojure projects I think: "I'd love to write something bigger in Clojure one day, experience it, and see if it's all it was promised to be." That said, I don't really have any good use case for it right now, whether at work, or among my side projects.

React and ReactNative in Clojure(Script) are amazing if you work in that area. Honestly, I'd never go back to a JS implementation. Reagent [1] provides a seamless interface for components, classes, hooks, etc. and ShadowCljs [2] is a fantastic build tool for the ecosystem. Re-frame [3] is a popular framework in this space. [1] https://reagent-project.github.io/ [2] https://github.com/thheller/shadow-cljs [3] https://…

This is exactly what I just set up! Super cool - coming from doing Redux sagas and hooks and redux and all that stuff on RN it's been really interesting. Would you recommend Shadow vs Krell? I have tried both and so far Shadow was the most seamless, but Krell seems the most lightweight.

If you care to share, i'd love to learn what you are building with it.

Re: Coast on Clojure

#29
post #2

Slightly OT, but whenever I see Clojure projects I think: "I'd love to write something bigger in Clojure one day, experience it, and see if it's all it was promised to be." That said, I don't really have any good use case for it right now, whether at work, or among my side projects.

I'm a year and change into my job at metabase (metabase.com) writing clojure all day every day and I am still terribly surprised that basically it is all that it's promised to be. That said, you do need to actually use the repl and be repling all the time because the startup times suck and the stack traces are gigantic all the time. That's pretty much it for complaints. You would expect things that aren't apparent in…

Oh wow yeah I forgot about the stack traces. Clojure was the second programming language I ever learned, after self-teaching ruby. lmao ruby does not prepare you for a 700-line stack trace full of java classes you've never even heard of because they're deep in the implementation.

Does it still do that? I remember "better error messages" being a supposedly-coming-soon thing for the couple years I was using it. I eventually got used to it but damn what a hostile experience. In retrospect I'm pretty surprised I stuck with it. For better or worse I don't have that same tolerance & resilience now.

Re: Coast on Clojure

#30
post #20

I loved Coast and wrote at least one production app with it (and very quickly and pleasantly at that), but it needs to be said that swlkr is the only developer, and he seems to have mostly moved on to Janet ( https://janet-lang.org/ ). Case in point, the last real updates to Coast were 2 years ago, and - unlike other Clojure libraries - not because this project was /finished/.

Yeah, I did move on, but if someone were to pick up the torch, I would help out any way I can!
Post reply on HN