4 ms·
The article hits rather close to home, as someone who, for better or worse, is committed to improving Common Lisp's ecosystem. I often feel this existential dre
by eudox 12y ago
The article hits rather close to home, as someone who, for better or worse, is committed to improving Common Lisp's ecosystem. I often feel this existential dread of "Is it worth it? Whose lives will it change? Will I spend years labouring in obscurity for nothing?". And while the answer to all those questions is probably not what I'd like to hear, I still do it.
This is why ecosystems are, for most people, more valuable than intrinsic language features: Tribalism along the lines of "We have X thousand people backing us up"/"X thousand devs can't go wrong". People don't care about monads or macros, they care about feeling like they're part of a large community.
- pnathan 12y agoAs someone also invested in Common Lisp, it.... hit really close to home.
- seanmcdirmid 12y agoIts even worse for the PL designer inventing something new without even a small ecosystem in place; I ask myself everyday "is it worth it?"
- freyrs3 12y agoHave to figure it takes 10-20 years to grow an industrial strength language. It takes a lot of faith in an idea or stubbornness ( probably both ) to go through that struggle. I admire people with that kind of dedication and I wish exploring the language design space wasn't such an enormous investment.
- sitkack 12y agoIt is worth it. And your case it isn't the language per se, but spreading the ideas. The language is an ephemeral vehicle.
- tetha 12y agoThe important question isn't necessarily: Is it worth it, without the ecosystem? The more interesting questions is: What does this language add? For example, I need to deal with some unix process management tasks. I'm not crazy enough to do them in straight C, so I'm using python for it's strong C bindings, so I can use system calls in C with python level control flow. However, there's a lot to be desired, because dealing with all this concurrency and inherent raciness of the system in a language like python is a royal pain in the rearside. Similar things with java and performant programming. Some of my major programs at work don't use the java ecosystem outside of log4j, junit, apache commons lang and apache commons collections. They use java, because java is darned fast without being as brittle as C or as nuts as C++. So java adds a lot of really cheap development security. Designing yet another language that puts the existing features together with just a tiny difference doesn't add anything. I've enjoyed looking at experimental languages, and I've enjoyed tinkering around with ideas myself some time ago. But by now, I've accepted I'm not smart or talented enough to make something worthwile, and it will be some time until an interesting new breakthrough occurs.
- seanmcdirmid 12y agoMy languages tend to be very innovative or even inventive; e.g. I recently posted this to HN: http://research.microsoft.com/en-us/people/smcdirm/managedtime.aspx http://research.microsoft.com/en-us/people/smcdirm/managedti... My problem is quite the opposite: when the languages are so different from what already exists, people (and even myself) have trouble thinking about how adoption would even occur, at least in the short term.
- tetha 12y agoA lot of languages have made one major mistake: It's not easy to get a development environment going, and some even wanted me to not use vim. The first step to some kind of adoption is that I can get it running with an "aptitude install crazy-foo-language-dk", maybe after adding a repository. After that, crazy-foo or crazy-fooc should be interpreter and/or compiler, and that's that.
- seanmcdirmid 12y agoYa, well, my languages include their own development environments (I see no different from language and IDE, actually). Smalltalk was great in this regard also, to the chagrin of many developers who wanted to use vim.
- bainsfather 12y agoHi eudox, I would love to use CL for my projects - I've read (most of) Norvig's and Graham's books, written small programs etc. I really like most of the language, especially the 'break into debugger on error'. But, when I came to write CL for a project that needed gui, web scraping, using APIs etc (i.e. I wanted to connect it to the outside world) I was stumped. Unlike in e.g. python, there was no nice gui library that I could just use. Now maybe people will reply telling me that something exists, but compared to python, the difference in ecosystem is massive. (possibly some commercial CL environment has this, but I am unwilling to pay for something that is closed). I really want to use CL for more than just toy programs, but I don't/can't. So, when you are asking yourself "Is it worth it? Whose lives will it change?" - the answer is mine, but only if you think you are able to fix this. Good luck.
- crazypyro 12y agoI've had good luck using Haskell for similar things that you are describing. Hackage has a good variety of packages that do similar things to beautifulsoup, numpy, pandas, etc. Generally, I've found them to be less built up, but they still provide a decent level of abstraction. Cabal hell is real though.
- codygman 12y agoRegarding CL with some quick googling (searched "common lisp html parser" and "common lisp http client") I found: Html Parser: http://www.cliki.net/cl-html-parse http://www.cliki.net/cl-html-parse Http client: http://weitz.de/drakma/ http://weitz.de/drakma/ I'm not sure why you are/were stumped? I could search for qt bindings for you, but I'm sure they exist and are pretty mature.
- bainsfather 12y agoThanks for that. Maybe I will try again some time. I'm not saying it is impossible, rather that it is hard work compared to e.g. python. I recall looking through a few promising google results and finding e.g. that the library is no longer maintained, has bits missing etc. With python, when I use e.g. beautiful soup, it just works - I lose almost no time getting setup. When doing a project that needs many external libraries, that makes a big difference. e.g. the first item on http://www.cliki.net/GUI http://www.cliki.net/GUI has its last news item from 2007, and the mailing list gives 'not found'. But there is a new(er) github page with the comment "I cleaned up the library just in case I needed GUI in Lisp, but it turned out that I did not. Hence, the primary extent of my testing is running test-gtk:gtk-demo application. Bug reports and/or patches are welcome." Since the parent was talking about ecosystems etc, I thought my experiences were worth mentioning - "Python novice uses python to get stuff done" but "CL novice gets lost in old/unmaintained libraries, gives up and sticks with c++ & python". I mean no disrespect to the people who write these libraries etc., I am just describing what I found as a novice in CL.