4 ms·
I’ve used Clojure to complete coding challenges that ended in getting hired for full-stack engineering positions, twice. So it’s shown some value there. Aside:
by notduncansmith 8y ago
I’ve used Clojure to complete coding challenges that ended in getting hired for full-stack engineering positions, twice. So it’s shown some value there.
Aside: If you let yourself get spoiled by Clojure’s efficient data structures and concise functions for manipulating them, it can be really frustrating to work in other languages that aren’t so data-oriented. It feels like it takes forever to “get to the point” when reading most traditional web application code.
On the other hand, if you have some flexibility with the program design, you can get many of the same benefits of Clojure in traditional languages by applying Clojure’s data-oriented architecture lessons (it feels almost as good as doing Clojure at work). Even frameworks like Ruby on Rails can be bent with minimal strain to fit the data-first paradigm; it does, however, require some departure from convention.
Finally, you can always use Clojure as a secret weapon at your own startup. One of the primary benefits of Clojure is the extreme simplicity of design, and conceptual compression you can achieve as a result. This allows small, even single-person, teams to build and manage an impressive degree of functionality with decent performance. Keep at it part-time, and you’ll grind out a solid MVP in a few weeks.
- cutler 8y agoClojure is my favourite language by far but the community's apathy towards web frameworks continues to do serious damage to its chances of widening adoption. There is Luminus but it's at best a curated list of libraries and the community refuses to throw its weight behind it. It's good as far as it goes but it will never compete with Rails or Django. There's a kind of smug pride in the Clojure world that "we don't do Rails", prefering instead to build everything from the ground up with libraries. Good luck with that one. Look at how few Clojure jobs there are at Indeed.com or Angle.io. Maybe, just maybe, this attitude might have something to do with it.
- grzm 8y agoDHH wrote Rails. An individual. Not a community. Granted, a community grew up around Rails, but it took one person to get it started. The "DHH of Clojure" position is there for the taking. Are you the one to do it? A community is a group of individuals. If you would like to see something like Rails in Clojure, there's nothing stopping you from writing it. "We don't do Rails" is as much a number of individuals not finding a use for a Rails-like framework as it is someone not having written one yet. This isn't language or community specific. If there's something you want to see, write it! Expecting others to meet your needs smacks of entitlement. I find it much more empowering to think of areas for improvement as opportunities, rather than expecting everything to be handed to me. As for job opportunities, some people value ease of getting a job, while others favor working in a language they prefer. Recognizing which you prefer is important, as is recognizing that others may not share the same priorities you do.
- cutler 8y agoThat's fine if you don't mind Clojure remaining a niche language with little to no mainstream adoption.
- grzm 8y agoSounds like you're not fine with that. What are you actively doing to change the situation? I saw your comment from yesterday and was prompted to respond when you made the same complaint again today. I sympathize with the frustration that it's not everything you want it to be, but it won't change unless the individuals who make up the community work to change it. Believe me, I have my own list of things I want to see improved. But I think it's more useful to dig in and try to make those improvements: if nothing else I learn a lot in the process. I encourage you to join in improving the situation :)
- cutler 8y agoIt's pointless if the community ethos is working against you. What good is one man's efforts if the community isn't interested in a full-featured framework? There was a lot of noise about Arachne a year or two ago and that died a death. The Clojure community lacks ambition in that they're content to work in a libraries-only niche and let the jobs go to other languages. Fair enough but that's not where I want to spend my time.
- grzm 8y ago> "What good is one man's efforts if the community isn't interested in a full-featured framework?" The community that grew around Rails didn't exist in the Ruby community prior to its release. Many discovered Ruby via Rails, not vice versa. IIRC, I was first exposed to Clojure though the extended Ruby community, having been exposed to Rails. I also recognized that while Rails was useful for some things and introduced me to some good practices that spread through the Ruby community, I also came to think that the MVC pattern encouraged by Rails is actually an anti-pattern: one that works well in some cases but doesn't actually encourage one to learn better application design, that one molds the application to the framework. Applying that to Clojure, I personally haven't seen a great way to make a generalized framework that does encourage good application design. Just porting Rails MVC framework from Ruby to Clojure isn't something that interests me. But that's just me. I don't expect others to necessarily share my opinions. If I see something I want improve, I write a library or submit a patch. Again, I hear you blaming the Clojure community for something that individuals need to do. Have you hired or contracted someone to design such a framework? Is it something that you would use personally? What would such a framework look like to you? I was glad to hear about Arachne, although what I heard didn't sound like something I personally would enjoy using. I've found some success using Pedestal. One of the reasons I think Rails was successful is that it was extracted from a successful project. What I hear comments such as your doesn't necessarily reflect this, that it almost expects something written ex nihilo. In my experience, those generally aren't as successful. When I hear "The Clojure community lacks ambition", I frankly see that reflected in your own comment. Where's your ambition? Why expect that of others and not yourself? I guess I'd ask you to be part of the solution rather than pepper comments with complaints, asking things of the community rather than being an active participant. Be the change you want in to see in the world.
- Cool_The_Death 8y agoHaving used clojure for quite a while now I both agree and disagree. I agree that these very productized, opinionated, monolithic libraries/scaffoldings are great in getting people to use your language and clojure lacks them. OTOH I think it does lacks them mostly for the right reasons. Libraries just being a bunch of functions/macros you can use anywhere you want is what's great about lisp/clojure. Personally I hope the clojure community puts less emphasis on ever becoming a mainstream language and instead focuses on making sure it's THE modern viable lisp for years to come.