4 ms·
Clojure is real boring stack. No abstract singleton proxy factories, just plain scripting. I have web application in production using plain Ring API, without fr
by ungzd 10y ago
Clojure is real boring stack. No abstract singleton proxy factories, just plain scripting. I have web application in production using plain Ring API, without frameworks. Like good old days of CGI and PHP but more sane.
- edwinnathaniel 10y ago> No abstract singleton proxy factories I barely see this in the code that I wrote given that I've been writing Java code for ... 8 years? (unless you're writing Spring framework itself) Can we please drop this?
- kelnos 10y ago> Can we please drop this? I would love to agree with that, but I don't think we can. I've been writing Java (well, more recently Scala) for 14+ years, and I still see otherwise great programmers succumb to Java class-itis.
- lacampbell 10y agoI see a lot of bad C# code, but I don't feel the need to make snide comments about C# whenever I see or hear it mentioned. It's pretty clear to me it's not the languages fault. There's nothing in Java forcing you to make deep class hierarchies or leaky abstractions.
- kelnos 10y agoNothing that forces you, sure. But when you have a culture following that language for so long that encourages that, and have existing 3rd-party libraries and an ecosystem that makes it easier to do that... well, that's what happens. Not sure about the GP of my original comment, but I'm not trying to be snide; I just see it everywhere, and it really frustrates me. I don't see it with Scala/C++/python/ruby programmers, so what's the common denominator? The language.
- ungzd 10y agoI even see such constructs in Ruby periodically, including discussions that it's proper engineering that all serious people do. And Angular 1.x is famous example of this in JS. I used Play framework that especially opposes these practices in Java but I felt like language resists such riot attempts.
- petagonoral 10y ago"..from Clojure to Java" Having used Clojure for a production environment, I really would have a hard time recommending it for anything but the most trivial application. It's just not mature enough for anything that is going to be worked on by more than a small team and alive for more than a couple years, both in ecosystem & language maturity.
- grzm 10y agoI think a lot of people would like to hear about your experience. I know I would. Do you have a blog post or similar describing it?
- petagonoral 10y agoStill a bit to go on articulating & better structuring my thinking.
- cutler 10y ago"... trivial application ..." You mean something like the testing system for the Boeing 747? https://news.ycombinator.com/item?id=11511695 https://news.ycombinator.com/item?id=11511695
- dismantlethesun 10y agoWith enough effort and stubbornness, you can build any system in any turing complete language. Whenever people point out massive projects done by Fortune 500s, I do recall this and think "yes, Boing can do that, they also used Ada before for the same thing", and "yes Google can mesh 5 different languages within the same company, 2 of them invented there". Does that mean my company can do that? No. We'd burn our capital stake long before we get to the point of seeing returns versus taking the 'boring' well trodden route that everyone is already experienced in.
- cutler 10y agoI'd say more "effort and stubbornness" is required to get a Java/C# app out the door in decent time compared with Clojure. There was a study not long ago in which Clojure won hands down for least number of bugs and lines of code. I think Rich Hickey got a few things right so don't write-off Clojure too hastily. There's also Clojure Spec round the corner so you'll be able to have your types and eat it too. Win, win surely, no?