Live data from Hacker News

From Rails to Clojure, Then to Java, Then Back to Rails

engineering-management.space

151–157 of 157 posts

Re: From Rails to Clojure, Then to Java, Then Back to Rails

#151

Earlier quoted context omitted.

The ecosystem and the community is fantastic. But I have to say, Rust is a harsh mistress. Guess I need more practise.

Rust is a very different beast indeed. The fun clearly doesn't come from the "flexibility/easiness" of the language (compared to Ruby), but really from the feeling that we're all still discovering a new paradigm, new ways to do things using its various features. Building state machines out of the type system is an example. Rust is still kind of a blank canvas just asking to be painted on.

Yes. I think the biggest thing it has going for it is that it is an advanced language offering superior guarantees, but lacks the smell of academic elitism that Haskell and Scala carry. Its a working mans tool, with a welcoming culture that disapproves of intellectual status games and too much jargon.

Re: From Rails to Clojure, Then to Java, Then Back to Rails

#152
post #34

I've tried a lot of different languages over the years including Ruby, Go, Scala, and Haskell. Ruby actually isn't too bad if you don't use Rails. Between Rails and stuff like Spring over in Java-land I've developed a strong hatred of huge frameworks :) Clojure, however, is the one language that just 'clicked' for me almost immediately. In fact, I'm pretty certain I'll be sticking to Lisps as much as possible from he…

I had a similar experience. I felt so strongly about not wanting to go "backwards" anymore and use Go/Scala/Java etc I started my own company so I could dictate the technology decisions, so naturally I used Clojure! I still use Javascript in most of the UX because ClojureScript I felt wasn't ready for primetime production but we'll be phasing that out over the next few years into ClojureScript.

As someone who'd always pick CLJS over Js, for the heck of it I tried to build React / Redux / React-router based app and was blown away at how dev friendly the experience was.

No fiddling with tooling, the entry barrier can't be lower. With CLJS it's always figuring out the latest versions, trying to get Figwheel off the ground is at least a day worth of work for me. What was piggieback again and why don't I have it? Which profiles are loaded implicitly by lein, should I use figwheel-sidecar? Then add building your app to be reload friendly (even though by default it's a good practice)

There's just so much going on even after having built 3-4 projects with CLJS and using the same stack, I am still struggling.

Once you get through the first few days of battling with libs it's breeze.

That's where Js gets behind. Redux / React is all about transforming and shaping your data. You end with lots of boilerplate. Even though ES6 is drastically better with syntactic sugar for manipulating data, it's still far behind Lisp nature of data transforming.

It's a tough choice nowadays. I want to get moving fast and feel strongly inclined towards sticking to Js.

Re: From Rails to Clojure, Then to Java, Then Back to Rails

#153
post #141

Earlier quoted context omitted.

What's wrong with this? What is your expecation?

Depends of course what kind of systems you're building. Just the footprint of an integer is too large in Ruby to do anything fast. I'd expect features such as `days` to be a part of Date library that holds an interface accepting certain kind of objects giving dates back. If I don't need these features, I don't want to hold the functionality at all inside an integer.

Exactly. Right tool for the job. Ruby doesn't give you fast. That's part of its trade-off. Want web apps and scripts? Go Ruby. Want fast? Control over everything? Go native: C/C++. But also become trench into the swamp of memory leaks, stomps, corruption. Fun times.

Re: From Rails to Clojure, Then to Java, Then Back to Rails

#154
Clojure was fun overall. The not so fun part was integrating with necessary Java libraries with crazy/stereotypical abstraction patterns. Necessary because Clojure library offering isn't rich; not to knock on all the beautiful open source work that's out there.

Re: From Rails to Clojure, Then to Java, Then Back to Rails

#155

Earlier quoted context omitted.

I'm agree with you as well except the Rails point. I have used and deploy Go/Elixir/Clojure to some certain success. One thing I feel is that no code is as beautiful as Ruby code to my own eye. What make Rails bad in your opinion? Is its performance? I think Rails is just a framework with many utility/helper to help you out.

I think there's a valid case to be made that Spring and the rails auto-loader are pretty annoying/stupid in larger projects (or anytime you're going against the grain). Every framework has its downsides. Personally I think rails is nice (I am very productive with it).

GP was talking about this Spring: https://spring.io/ not the Rails preloader...

Re: From Rails to Clojure, Then to Java, Then Back to Rails

#156

Earlier quoted context omitted.

I think there's a valid case to be made that Spring and the rails auto-loader are pretty annoying/stupid in larger projects (or anytime you're going against the grain). Every framework has its downsides. Personally I think rails is nice (I am very productive with it).

GP was talking about this Spring: https://spring.io/ not the Rails preloader...

Yes, I meant the Java uberframework beloved by architecture astronauts. I suppose I should have been more clear - I haven't uses RoR since version 3, so my knowledge of that ecosystem isn't very current :)

Re: From Rails to Clojure, Then to Java, Then Back to Rails

#157
post #141

Earlier quoted context omitted.

Depends of course what kind of systems you're building. Just the footprint of an integer is too large in Ruby to do anything fast. I'd expect features such as `days` to be a part of Date library that holds an interface accepting certain kind of objects giving dates back. If I don't need these features, I don't want to hold the functionality at all inside an integer.

Exactly. Right tool for the job. Ruby doesn't give you fast. That's part of its trade-off. Want web apps and scripts? Go Ruby. Want fast? Control over everything? Go native: C/C++. But also become trench into the swamp of memory leaks, stomps, corruption. Fun times.

Or use Rust/Haskell/OCaml/Clojure.
Post reply on HN