Live data from Hacker News

Fulcro Developers Guide: Single-page full-stack web applications in clj/cljs

book.fulcrologic.com

11–20 of 66 posts

Re: Fulcro Developers Guide: Single-page full-stack web applications in clj/cljs

#12
post #7

As an alternative, modern web framework for Clojure, I recommend Coast https://coastonclojure.com/ (I have no other affiliation to this project other than using it myself).

Coast is a framework that focus on traditional server app and rapid development similar to Rails or Django. I don't find it "modern" tbh.

Re: Fulcro Developers Guide: Single-page full-stack web applications in clj/cljs

#13
post #11

Clojure is awesome. But refactoring a big project without a type system is very hard and error-prone, and clojure error messages are very difficult to understand.

In my experience the new spec system (a sort of gradual typing) greatly helps in both refactoring and both surfacing and explaining errors, if you havent worked with clojure 1.10 I’d recommend to give it another go.

Also spec is still in alpha so it will keep getting better.

Re: Fulcro Developers Guide: Single-page full-stack web applications in clj/cljs

#14
post #11

Clojure is awesome. But refactoring a big project without a type system is very hard and error-prone, and clojure error messages are very difficult to understand.

Recently Clojure error messages have vastly improved: http://insideclojure.org/2018/12/17/errors.

As well, Clojure has an opt-in solution to type issues: https://clojure.org/about/spec

Re: Fulcro Developers Guide: Single-page full-stack web applications in clj/cljs

#15
post #11

Clojure is awesome. But refactoring a big project without a type system is very hard and error-prone, and clojure error messages are very difficult to understand.

Error messages have improved since v1.10. Regarding type, Clojure offers spec.

Re: Fulcro Developers Guide: Single-page full-stack web applications in clj/cljs

#16
post #11

Clojure is awesome. But refactoring a big project without a type system is very hard and error-prone, and clojure error messages are very difficult to understand.

Recently Clojure error messages have vastly improved: http://insideclojure.org/2018/12/17/errors . As well, Clojure has an opt-in solution to type issues: https://clojure.org/about/spec

In fact spec is also the reason of those better error messages!

Re: Fulcro Developers Guide: Single-page full-stack web applications in clj/cljs

#17
post #11

Clojure is awesome. But refactoring a big project without a type system is very hard and error-prone, and clojure error messages are very difficult to understand.

I'm a static typing person, too, but considering how wildly popular dynamic languages are for Web development, it's hard to take blanket criticism like this seriously.

As far as large projects go, my own experience has been that the dirty truth is that, past a certain size, nothing is statically typed, anyway. Either it's decomposed into a bunch of smaller services that communicate using a weakly-typed messaging system, or it's a monolith that resorts to some sort of stringly typed mechanism for communication among the major components. I know the speakers at tech conferences say we're supposed to keep it strongly typed and use a ports and adapters pattern to limit the scope of impact for type changes, but that just doesn't seem to be how it ever happens in practice.

It makes me think that the Clojure folks might really be on to something, and that, for large business applications, static typing is trying to solve the wrong problem. I'd personally love to get a chance to take its specs system for a spin.

Re: Fulcro Developers Guide: Single-page full-stack web applications in clj/cljs

#18
post #11

Clojure is awesome. But refactoring a big project without a type system is very hard and error-prone, and clojure error messages are very difficult to understand.

In my experience the new spec system (a sort of gradual typing) greatly helps in both refactoring and both surfacing and explaining errors, if you havent worked with clojure 1.10 I’d recommend to give it another go. Also spec is still in alpha so it will keep getting better.

Honest question (as I've been out of the Clojure world for a little bit): which refactoring tools integrate with or use spec?

Re: Fulcro Developers Guide: Single-page full-stack web applications in clj/cljs

#19

Earlier quoted context omitted.

In my experience the new spec system (a sort of gradual typing) greatly helps in both refactoring and both surfacing and explaining errors, if you havent worked with clojure 1.10 I’d recommend to give it another go. Also spec is still in alpha so it will keep getting better.

Honest question (as I've been out of the Clojure world for a little bit): which refactoring tools integrate with or use spec?

Look at https://github.com/clojure-emacs/clj-refactor.el

Re: Fulcro Developers Guide: Single-page full-stack web applications in clj/cljs

#20

Earlier quoted context omitted.

Honest question (as I've been out of the Clojure world for a little bit): which refactoring tools integrate with or use spec?

Look at https://github.com/clojure-emacs/clj-refactor.el

Thank you!
Post reply on HN