Hacker Newsnew | past | comments | ask | show | jobs | submit | hawkeyedan's commentslogin

A little more context… This is a real decision I’m making with Common Lisp, Guile and Janet as my current leading options.

But … I feel like documenting all the thoughts in an essay/blog form may be helpful to others.

(And my post history will show I’ve gone down this path before. Trying again. Since last time I gave up due to the paradox of choice.)


With Lisp the paradox of choice is especially unwarranted since moving between lisps is even easier than say moving between dynamically typed scripting langauges.

Learning Guile for 4 weeks and then do CL for 2 leaves you no worse than doing CL for 5.

If you care about practical first and foremost, CL and Clojure both beat Guile by a landslide.

Guile is marginally prettier and more fun.

Clojure has perhaps the strongest FP emphasis and you may view the JVM more favourably than I do. Rich Hickeys talks are a gem whether you pick Clojure or not.


Pick the real world programming task that you'd want to tackle and experiment, there's a point of diminishing returns from just reading stuff. You can also then get better advice on forums based on questions or problems that you run into.


Thanks, that’s a very helpful insight. You’ve put my mind a significant ease.


In my case, web-based just means "it is a piece of software you access via the web." Web application, website, SAAS, whatever.

And you're right, I should have considered Gambit. Dang, now I have a ternary decision to make.


The FFI with JavaScript is nice. Have a look at this paper, in particular the examples that can be copy-pasted to https://try.gambitscheme.org:

https://www-labs.iro.umontreal.ca/~feeley/papers/BelangerFee...


While I’ve got you… What’s the state-of-the-art story for package management in Gambit?


Gambit supports the R7RS module system and has a decentralized module system that can automatically download libraries from git repositories. Take a look at the "Libraries" section of the online REPL's tutorial for a few examples, or just type at the REPL:

  > (module-whitelist-add! '(github.com/feeley))
  > (import (github.com/feeley/roman demo))
This paper might be helpful if you want to know why it was designed that way:

https://www.iro.umontreal.ca/~feeley/papers/HamelFeeleyELS20...


Just to be clear: yes, there are other Lisps.

Yes, Clojure is cool.

Yes, LFE is a thing that exists. Yes Elixir is Lisp-adjacent.

Yes, any of those would give me access to a larger ecosystem and the resources of a well used, well supported VM.

I may be an idiot (it's been said), but I'm not a stupid idiot. I've ruled each of those out for good-ish reasons.


> I've ruled each of those out for good-ish reasons.

And what would those reasons be?


LFE lacks it’s own robust web app development stack … and translating between documentation in Elixir (Phoenix) and Lisp all day will make my head hurt.

Clojure is a tougher call. For this project it might be good.

However, I want to include some CLI scripts … and the JVM adds deployment complexity for those.

ClojureScript is tempting, but I don’t see a great story about the server piece for rapid web app development there.


Do you want scripts as in "i want text files run by an interpreter" or "i can package my scripts as single executables"? In Clojure land Babashka and Graal native image can do those respectively.


Text run by an interpreter. Different strokes.


Any reason why Common Lisp is not considered?


It’s not in my mix because it’s a fairly “big” language, which is a huge bonus once you’re proficient but makes it a poor choice for me to dive into Lisp(s). For someone else, that might not be true. But I like to be able to hold things in my head.

In the long run, CL is a great option. My theory is that it’s a place I could go if/when I’m up and running in another Lisp.


To be precise, applets were an early application of Java. But Sun Microsystems actually developed it in the long-standing dream of the “universal binary.”

The project began in 1991 targeting set-top boxes. [source](https://web.archive.org/web/20100210225651/http://www.java.c...)

WASM is another iteration of the same noble idea done with different technologies at a different moment.

Java and the JVM have been incredibly successful. WASM has the potential to bring the dream of a universal binary even farther.


>But Sun Microsystems actually developed it in the long-standing dream of the “universal binary.”

Never heard of UCSD Pascal?


History is rewritten one faulty comment at the time.


This is a pretty great tool, despite the limitations of existing in iOS-land.

It obviously has the same problem any Tor browser has though, you run into bot blocking on a very large % of the regular (non .onion) interwebs.

Worth consideration for putting on your daily driver phone.


Arguments about the “superiority” of Python vs Ruby always sound a bit like arguments about the “superiority” of Italian vs Spanish. If you squint a bit they’re basically the same.

(By that simile, Lisp would be Sanskrit?)


True, but 85 million Italian speakers vs 500 million Spanish speakers so that tells you something. Sure the Roman Empire was big back in the day but the time has passed.


And yet I can only read Dante’s original work in Italian!


So funny that Rails has gone from “exciting” to “boring” in (relatively) the blink of an eye. But boring is good, nice to see it embraced.


Best post I’ve read on this so far!


This is a really important story. I think about all the requests government agencies make for backdoors to things ... then I read something like this ... Ick.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: