Live data from Hacker News

Building a Startup on Clojure

wobaka.com

201–210 of 215 posts

Re: Building a Startup on Clojure

#201

Earlier quoted context omitted.

As the saying goes, a bad workman always blames his tools. You can make a mess in any language, and Clojure is no exception. There are plenty of ways to mitigate the problems the author describes. A few of these things would be having coding standards to ensure that code is written in a way everyone is comfortable with. This also covers things like adding schemas and documentation for maintainability. Doing pairing a…

You can make a mess in any language, yes. But some languages tend to produce more messes than others. If your tool is mis-used more than other tools, at some point, it's not the fault of the users.

I've certainly seen far worse messes produced in languages like Java than in Clojure myself.

Re: Building a Startup on Clojure

#202

Earlier quoted context omitted.

As the saying goes, a bad workman always blames his tools. You can make a mess in any language, and Clojure is no exception. There are plenty of ways to mitigate the problems the author describes. A few of these things would be having coding standards to ensure that code is written in a way everyone is comfortable with. This also covers things like adding schemas and documentation for maintainability. Doing pairing a…

> As the saying goes, a bad workman always blames his tools. And many times purveyors of a bad tool blame the workman.

If Clojure was a bad tool then people wouldn't be using it in the first place. There is a big barrier to getting started with Clojure because it's semantically different from mainstream languages. The mere fact that people use it and there are successful companies built on it demonstrates that the language does provide value.

Re: Building a Startup on Clojure

#203

Earlier quoted context omitted.

C# is great. You get: - Tons of developers know it - Tons of Java developers can be made to know it with ease - A good default IDE experience within VS and VSCode, and a JetBrains product if you prefer it. - A good LSP implementation with OmniSharp if you don't want to use an IDE. - ASP.NET, a good default Web framework. - NuGet as a package manager with tens of thousands of packages. - Better than java reflection an…

If you want to make lists - you have to - skip a line - between each bullet - item

Thanks! Will do that in the future.

Re: Building a Startup on Clojure

#204
post #153

Earlier quoted context omitted.

C# is great. You get: - Tons of developers know it - Tons of Java developers can be made to know it with ease - A good default IDE experience within VS and VSCode, and a JetBrains product if you prefer it. - A good LSP implementation with OmniSharp if you don't want to use an IDE. - ASP.NET, a good default Web framework. - NuGet as a package manager with tens of thousands of packages. - Better than java reflection an…

Thank you. I tried a JetBrains product and Visual Studio but VS was both faster (on my Mini Mac ARM M1) and the visual aesthetics were better--not to mention the overall IDE experience was very comfy, it felt like VS was strictly made for C#. I do want to branch into F# and FP but i didnt want to miss on the C# train so i tried it and it blew my mind how well the language has been designed (i mean at C# 10, .NET 6).…

I'm glad you liked VS for Mac. I personally do not like it, it's a reskin of the Xamarin IDE that Microsoft acquired. Visual Studio on windows is IMO the real Visual Studio experience for C# and you should try it if you get a chance. There's tons of extensions for the IDE (including a Vim one!) and if you're bought into the MS ecosystem it has widgets for EVERYTHING:

- Azure

- SQL Server

- All the Windows UI frameworks

- Office development

- Windows debugging

- etc...

Re: Building a Startup on Clojure

#205

For me, the killer feature of Clojure is "REPL driven development". The ability to get rapid feedback as you build things up is incredible. I'll make a comment form and evaluate expressions within it to try things out as I go. By the time I've written any reasonably complex function, all of the pieces have been tested on various examples. Once I'm done, the comment form leaves a helpful record of my thought process.…

I kind of agree with you. I used to work with Common Lisp in a Desktop App (Nyxt browser). I had some fun playing with Racket. And I love Emacs. So, I am already into the Lisp idea. But, I was kind of disappointed with Clojure which is new in my life and has been used in my current job. Maybe you have a backend bias in your testimony? I have been working with ClojureScript (re-frame and reagent) on front-end stuff an…

I have basically the same experience doing cljs dev that I do with clj dev, when it comes to being REPL-driven.

I know that the setup for cljs is a bit more involved and things will break sometimes (putting a browser in the loop will do that). I have dev tools open ... but I use it less and less, between hot-reloading and a data browser (portal or reveal) hooked up to the clojurescript repl I only use dev-tools stuff occasionally (the network tab is still very important of course).

It does sound like you are missing something, I'd try out one of the shadow-cljs example projects or walkthroughs to see what an example setup includes as features to see what you might be missing.

Re: Building a Startup on Clojure

#206
post #32
post #8

I worked at a startup that was built on Clojure. It had trouble finding developers for reasonable salaries at the early mid stage. They decided to switch the stack to python at that point. Just an anecdote!

> for reasonable salaries I think this is the key here. Clojure developers are expensive (see the Stack Overflow charts for how being a Clojure dev essentially guarantees a great salary) — but that's not because of them being Clojure developers, but rather because of them being more experienced, knowledgeable, and flexible than your "average" developer. If you start a business and use Clojure, you should expect to hi…

They are expensive purely because they are a smaller pool. I doubt they are automatically more capable. I did work with many and now write clonjre myself. Doesn't make me, or them automatically better devs imo!

Re: Building a Startup on Clojure

#207

Earlier quoted context omitted.

> As the saying goes, a bad workman always blames his tools. And many times purveyors of a bad tool blame the workman.

If Clojure was a bad tool then people wouldn't be using it in the first place. There is a big barrier to getting started with Clojure because it's semantically different from mainstream languages. The mere fact that people use it and there are successful companies built on it demonstrates that the language does provide value.

You can say that about every language that's ever been used in a successful business. By that argument PHP is about the best language out there.

Re: Building a Startup on Clojure

#208

Earlier quoted context omitted.

> I have mentioned a few times in the past, on HN and Reddit and elsewhere, that my biggest personal dream language wishlist item is “Clojure but with static types”, however, while that’s something I dream of having, it hasn’t held me or the language back in any meaningful way. Sadly, Rich Hickey has always been pretty opposed to typing in Clojure. Enforcing values to be not null is basically table stakes for typed s…

Yeah. By dream of I mean “if I had a on of free time, it’s something I’d love to make because I want it” while knowing it will never happen. I know that Clojure itself will never support it, outside of external projects like Typed Clojure

Are you familiar with Carp [1]?

[1] https://github.com/carp-lang/Carp

Re: Building a Startup on Clojure

#209

Earlier quoted context omitted.

I don't understand, doesn't most languages these days have a REPL?

If you haven't used a lisp or lisp clone, it's hard to describe fully. Still, the fact that you can trivially replace and reload modules in running code or being able to fix a bug in a function and resubmit the input to the function from the stack trace is amazing ergonomically. In the same way that most languages have lambdas, it's very different from being able to trivially compose functions into new functions. (Th…

Do you have any examples of this? Like a video on youtube or similar?

I have used Clojure before very lightly but I didn't really use the REPL in this way. I rather used it the same way I use it for javascript, python or any other language.

Re: Building a Startup on Clojure

#210
post #32

Earlier quoted context omitted.

> for reasonable salaries I think this is the key here. Clojure developers are expensive (see the Stack Overflow charts for how being a Clojure dev essentially guarantees a great salary) — but that's not because of them being Clojure developers, but rather because of them being more experienced, knowledgeable, and flexible than your "average" developer. If you start a business and use Clojure, you should expect to hi…

They are expensive purely because they are a smaller pool. I doubt they are automatically more capable. I did work with many and now write clonjre myself. Doesn't make me, or them automatically better devs imo!

They aren't automatically more capable, it's just a well known and frequently noticed fact that Clojure tends to attract more senior developers, and the community is very senior dev heavy compared to other language communities.

So of course that is interesting, probably says some important things, and moves the average salaries up as well. Everything points to "Clojure tends to attract some subset of better devs" rather than it making them better.

There are clearly also effects from the small pool of available candidates, the high output of experienced Clojure devs, etc but generally being in a smaller ecosystem doesn't drive prices up.

Post reply on HN