Ask HN: Best Lisp for software development?
41–50 of 138 posts
Re: Ask HN: Best Lisp for software development?
#42The comparison of the need to write C/C++ when using node.js/PHP/python/Ruby is a good one. It almost never happens unless you're doing something very specialized. And better still, the Clojure case is better than many other languages/platforms because via Clojure you can go low-level from Clojure itself (deftype, unsynchronized mutable, etc) without writing any Java code. Again, the cases where you need such low level constructs are very few and far between. Writing your own in-memory data structures comes to mind.
Re: Ask HN: Best Lisp for software development?
#43I assume you don't already have Lisp in production at your current company, because if you did, you would already know which Lisp flavor to start with. In that case, I would try to convince you that introducing Lisp to a company is not a good engineering move, and not a good career move either. What are you going to achieve by running Lisp in production at your company? How would adopting Lisp improve uptime, perform…
How they can sell the app to management is way outside of the scope here I think.
Re: Ask HN: Best Lisp for software development?
#44My personal choice would be Clojure. I learned Racket and Common Lisp but haven't used them build something production-grade yet. I don't even know how to properly build, deploy and monitor a Racket server yet. Racket is good but the toolchain and libraries are far behind Clojure. Especially Cider and Cursive are so great, and for libraries, there are a lot of solid ones like Ring/Compojure, interesting things like D…
Try Clojure. My advise and what wow'ed me the most: install Leinengen the package manager for Clojure and try a hello world web app tutorial that follows Leinengen. Lein will download and install Clojure for you and pull in all the dependencies. Idk any package manager that bootstraps itself like this. All you need is the Lein JAR and obv a JRE installed and you are good to do anything. Also having done both Clojure…
Scala's sbt works in a similar manner.
Re: Ask HN: Best Lisp for software development?
#45Earlier quoted context omitted.
Doesn’t JS have basically the exact same thing going as leiningen vs boot in npm vs yarn?
Not really no. Lein and boot don't read from the same project declaration file and clj adds another way to declare dependencies through dep.edn files. A previous poster was being very optimistic when they said you could switch from one to another in fifteen minutes. On the other hand using yarn or npm is almost completely interchangeable for the vast majority of workflows. The only thing one should be careful about w…
So this means that Gradle, Boot, Lein, Maven, and tools.deps all can consume packages from each other seamlessly, and they all publish to the same repositories in exactly the same format.
The only thing that is different are the way you create build steps and build pipelines. As well as the way you declare your dependencies.
That's why there isn't any friction due to having multiple build tools and dependency managers. Because the package manager is always the same: Maven.
Re: Ask HN: Best Lisp for software development?
#46I assume you don't already have Lisp in production at your current company, because if you did, you would already know which Lisp flavor to start with. In that case, I would try to convince you that introducing Lisp to a company is not a good engineering move, and not a good career move either. What are you going to achieve by running Lisp in production at your company? How would adopting Lisp improve uptime, perform…
The OP was just asking where to start learning. Everything you've told them to ask themselves are things that they won't have good answers to until after they feel they can build a production ready application or honestly weigh the costs of using the tools available with clojure vs. other language and their associated tech. How they can sell the app to management is way outside of the scope here I think.
Re: Ask HN: Best Lisp for software development?
#47Earlier quoted context omitted.
Try Clojure. My advise and what wow'ed me the most: install Leinengen the package manager for Clojure and try a hello world web app tutorial that follows Leinengen. Lein will download and install Clojure for you and pull in all the dependencies. Idk any package manager that bootstraps itself like this. All you need is the Lein JAR and obv a JRE installed and you are good to do anything. Also having done both Clojure…
// Idk any package manager that bootstraps itself like this. All you need is the Lein JAR and obv a JRE installed and you are good to do anything. Scala's sbt works in a similar manner.
Re: Ask HN: Best Lisp for software development?
#48Earlier quoted context omitted.
Not really no. Lein and boot don't read from the same project declaration file and clj adds another way to declare dependencies through dep.edn files. A previous poster was being very optimistic when they said you could switch from one to another in fifteen minutes. On the other hand using yarn or npm is almost completely interchangeable for the vast majority of workflows. The only thing one should be careful about w…
Actually, lein and boot both use maven pom.xml and pom.properties as their declared dependencies format. When you publish or pull a dependency, it resolves it using pom.xml from the Maven repo, and when you push, they generate the pom.xml for publishing to the Maven repo. So this means that Gradle, Boot, Lein, Maven, and tools.deps all can consume packages from each other seamlessly, and they all publish to the same…
And can lein read from your boot file?
Because npm and yarn tag the same input, produce nearly the same output, and can run tasks defined in the same location (the project.json). Does clj tooling do that as well?
Re: Ask HN: Best Lisp for software development?
#49My personal choice would be Clojure. I learned Racket and Common Lisp but haven't used them build something production-grade yet. I don't even know how to properly build, deploy and monitor a Racket server yet. Racket is good but the toolchain and libraries are far behind Clojure. Especially Cider and Cursive are so great, and for libraries, there are a lot of solid ones like Ring/Compojure, interesting things like D…
Plus they plan to deprecate the entire language's syntax in the near future.
Clojure is the way to go. It might not be perfect. But it works for most part.