Live data from Hacker News

Building a Startup on Clojure

wobaka.com

121–130 of 215 posts

Re: Building a Startup on Clojure

#121

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.…

Java has `jshell`.

Just like C++ has automatic memory management because of the existence of smart pointers.

Re: Building a Startup on Clojure

#122
post #114

Greenspun's tenth rule, adopted for 2022: > Any sufficiently complicated TypeScript or Java program contains an ad hoc, > informally-specified, bug-ridden, slow implementation of half of Clojure. Once you grokk the approach and workflow Clojure takes in solving problems, the distance between having an idea and writing a rock solid implementation of that idea is the shortest I've experienced in my ~20 years of program…

Cute, but i'll counter with this one: > Any sufficiently complicated Clojure program contains an ad hoc, > informally-specified, bug-ridden, slow implementation of half of Spring.

Ah, Spring - freeing Java developers from the horror of typing "new" since 2002.

Re: Building a Startup on Clojure

#123

While we are at it, anyone knows what's the Common Lisp story in webdev? Both backend and frontend?

We have a number of libraries that are easy to use together for the backend, no fancy web framework (build your auth page yourself), no fancy client-side lispy libraries. We might have a Fighweel-like tool, but no one is interested (Trident-mode for Emacs).

There's one framework that looks promising to build fully dynamic apps in pure CL with one code base (websockets inside). It provides a GUI-like experience to build all kind of apps (a website, a chat, the snake game…): https://github.com/rabbibotton/clog/

I am using Hunchentoot, a routing library on top (easy-routes), the Mito ORM, and for the client side I am conservative: HTML templates with Djula, interactivity with HTMX, Vue if required, JS.

The great thing is that I can build a standalone binary of my web app, including the static assets, the webserver, the lisp compiler and debugger… for ±28MB unzipped and instantaneous startup times.

https://lispcookbook.github.io/cl-cookbook/web.html

https://github.com/CodyReichert/awesome-cl#web-frameworks

https://lisp-journey.gitlab.io/blog/lisp-for-the-web-deploy-...

Re: Building a Startup on Clojure

#124

While we are at it, anyone knows what's the Common Lisp story in webdev? Both backend and frontend?

Here's a nice interview of a company using CL for their document processing stack: https://lisp-journey.gitlab.io/blog/lisp-interview-kina/ (edit: not a pure CL web stack: Ruby to CL logic via websockets to a lispy client side)

Example apps I can think of:

Screenshot bot: https://github.com/screenshotbot/screenshotbot-oss

Webcheckout: https://webcheckout.net/ (they were hiring recently)

Math Pastebin: https://github.com/susam/mathb

Ultralisp: https://ultralisp.org/ (built with their Weblocks refactoring)

A programmable desktop and bookmark application with CLOG (TEASER) https://www.reddit.com/gallery/w4rj4k (https://codeberg.org/mmontone/mold-desktop/)

Re: Building a Startup on Clojure

#126
What does everybody think here of C#? I've just made foray into it and I like it a lot compared to Python, Java etc. It almost feels like Kotlin, but with certain even cooler properties.

Re: Building a Startup on Clojure

#127
post #82
post #2

If I was choosing a language to base the tech stack for a startup on these days I'd be very reluctant to pick anything that didn't have a local user group. Slightly more esoteric languages that enable you to write better code faster are brilliant, but if you're successful enough to grow quickly, or you can raise funding, you'll need to hire devs relatively early on. If you've chosen a stack that's too esoteric then t…

How long does it take for some non-Python dev to become a Python dev? One week? Two?

Syntax is probably within an hour. Spurious colon in a few places, whitespace deemed more important than lambda. Brief confusion over the scoping rules.

Then the library ecosystem is probably good for a lifetime.

Re: Building a Startup on Clojure

#129
post #80

Earlier quoted context omitted.

The real worst case scenario is facing a competitor that's much faster than you on implementing new features and testing hypothesis. Using an esoteric language might be one of the leverages that this competitor has against your tight mainstream stack.

In 2022 thinking that your esoteric language is going to help you implement new features faster than with a mainstream language is just plain language zealotry.

On the basis that esoteric languages come with fewer libraries and new features largely involve gluing libraries together to make things like other things that already exist?

Re: Building a Startup on Clojure

#130
post #126

What does everybody think here of C#? I've just made foray into it and I like it a lot compared to Python, Java etc. It almost feels like Kotlin, but with certain even cooler properties.

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 and runtime generics. - Cross-platform CLI tooling since .NET Core, now it's just .NET. - Ability to deploy self-contained applications. - Mono version of C# is used for making games. - A continuously evolving cohesive language with minimal competitors (like Groovy, Kotlin, Scala, Clojure, etc... on the JVM) - F# if you want a stricter functional language that interoperates with C# seamlessly. - PowerShell as a way of interactively running any .NET assembly, regardless of how it was compiled.

And many more... C# is one language you can build a career on and also use for hobbying and have fun.

The haters will complain that MSBuild (the default build system) and Visual Studio suck. If you've tried them in the past, you're probably right. Try them again in 2022 and see if your opinion doesn't change.

Post reply on HN