Earlier quoted context omitted.
To add some detail. Programming languages live and die by their libraries, i.e. vocabulary. The differences in grammar are in my opinion rather small, when we talk about how expressive a clever programmer can be. Can a person be even more expressive in Lisp? Perhaps but it's not essential. The library support on the other hand is essential. You want to stand on the shoulders of giants for the next step. In all modern…
I actually don't think that's the point of the article - it may be true, but it's not supported by the text or background story. This was written in 2002, and the author's tenure at Google was 2000-2001. That was pre-BigTable, I think it was pre-MapReduce, and it may even have been pre-GFS. Plus, Google's known for it's NIH syndrome - while there are a fair number of third-party libraries in use now , there weren't r…
How I lost my faith in Lisp
21–30 of 71 posts
Re: How I lost my faith in Lisp
#22Earlier quoted context omitted.
To add some detail. Programming languages live and die by their libraries, i.e. vocabulary. The differences in grammar are in my opinion rather small, when we talk about how expressive a clever programmer can be. Can a person be even more expressive in Lisp? Perhaps but it's not essential. The library support on the other hand is essential. You want to stand on the shoulders of giants for the next step. In all modern…
I actually don't think that's the point of the article - it may be true, but it's not supported by the text or background story. This was written in 2002, and the author's tenure at Google was 2000-2001. That was pre-BigTable, I think it was pre-MapReduce, and it may even have been pre-GFS. Plus, Google's known for it's NIH syndrome - while there are a fair number of third-party libraries in use now , there weren't r…
If you go into a significant company with any significant developer culture, they would have their own libraries and tools, which you would use because then you can deliver. So when those are written in f.ex. Python you would use it. Sometimes this also means that you use e.g. Eclipse though it has numerous problems because at least those problems are shared with most other developers and you don't have to fight them alone.
Google undoubtedly had great programmers pre-MapReduce et al. so they already had great stuff to use.
Re: How I lost my faith in Lisp
#23Earlier quoted context omitted.
To add some detail. Programming languages live and die by their libraries, i.e. vocabulary. The differences in grammar are in my opinion rather small, when we talk about how expressive a clever programmer can be. Can a person be even more expressive in Lisp? Perhaps but it's not essential. The library support on the other hand is essential. You want to stand on the shoulders of giants for the next step. In all modern…
I think I half-agree with you. I don't think a great library can ever elevate an OK language to great. However, a poor library can certainly drag an OK language down to poor. One of the most complicated decisions in developing any new programming language today must surely be where to draw the line separating standard library facilities from those to be provided externally. Provide too little, and you get a zillion i…
Racket has a decent repository (PLaneT) for libraries and easy ways to wrap C libraries.
Re: How I lost my faith in Lisp
#24Earlier quoted context omitted.
If we consider libraries part of the language, then I would say yes. All lisp implementations lack something for someone. And a language with great libraries may appear to be higher than others in some perspective because they offer a set of great existing tools. As far as limiting your thinking, Lisp in itself does no such thing, the libraries do it. As a thought, I have sometimes wondered, why is it difficult for m…
You have the typicall overthinking problem. You should just start to write useful functions and then when you really see a need for something like multiple dispatch you have it at hand to solve your problem. This way your System will grow into what you want you don't have to design everything upfront thats the wrong we to go about it. (Design is fine but on a much higher level then the object system in your language)
The code I write is usually very high-level code. It can be written like an acceptance test or feature test. I essentially try to model the business domain of the software as cleanly as possible. I might refactor the code until I can express the domain clearly, with DRY etc.
Implementing all the bits of my DSL is often then the actual problem. Often I meet areas of the domain that are tricky because I have never solved such problems before. I think only my the third implementation of some idea can be something usable. So sometimes it takes a long time to get there! :)
This is only a problem in my personal projects because, well, the main goal is to advance my capabilities and thinking and finishing the project is secondary.
Re: How I lost my faith in Lisp
#25TLDR Person found out other people can be immensely productive with other languages. Then person learned languages X, Y and Z with cool libraries and is now very productive and happy using them. TLDR TLDR Libraries make a big difference!
To add some detail. Programming languages live and die by their libraries, i.e. vocabulary. The differences in grammar are in my opinion rather small, when we talk about how expressive a clever programmer can be. Can a person be even more expressive in Lisp? Perhaps but it's not essential. The library support on the other hand is essential. You want to stand on the shoulders of giants for the next step. In all modern…
I should point that the existence of specific libraries can be seen as a library creation with zero effort. So heavy-library-weight Java can be seen as a very productive language, but only when you use already created libs.
The difference between languages shows when you're on your own, when there's no library or tool under your hand. When you cannot find a giant to stand on his shoulders.
Re: How I lost my faith in Lisp
#26Earlier quoted context omitted.
To add some detail. Programming languages live and die by their libraries, i.e. vocabulary. The differences in grammar are in my opinion rather small, when we talk about how expressive a clever programmer can be. Can a person be even more expressive in Lisp? Perhaps but it's not essential. The library support on the other hand is essential. You want to stand on the shoulders of giants for the next step. In all modern…
I actually don't think that's the point of the article - it may be true, but it's not supported by the text or background story. This was written in 2002, and the author's tenure at Google was 2000-2001. That was pre-BigTable, I think it was pre-MapReduce, and it may even have been pre-GFS. Plus, Google's known for it's NIH syndrome - while there are a fair number of third-party libraries in use now , there weren't r…
In my own perspective, "all else considered equal", things like macros, CLOS, dynamic variables and conditions system have enormous advantages over say what Python has. But this advantage can be overwhelmed by other factors, since industry programming is a very cooperative venture. (Not just cooperation with coworkers, but also people you've never met.)
Re: How I lost my faith in Lisp
#27Earlier quoted context omitted.
You have the typicall overthinking problem. You should just start to write useful functions and then when you really see a need for something like multiple dispatch you have it at hand to solve your problem. This way your System will grow into what you want you don't have to design everything upfront thats the wrong we to go about it. (Design is fine but on a much higher level then the object system in your language)
Yes can be. My typical approach is to write down what I want to say in an as idiomatic way as I can. Then I go on to implement the notation that I have come up with. The code I write is usually very high-level code. It can be written like an acceptance test or feature test. I essentially try to model the business domain of the software as cleanly as possible. I might refactor the code until I can express the domain c…
Re: How I lost my faith in Lisp
#28At the end when I read the comment:
> I think that if Lisp does not evolve it will die, and I > don't want to see that happen. I still think Lisp is > great. I also think it can be, and should be, improved.
I wonder what kind of improvements does the author have in his mind! If somebody knows please kindly enlighten me.
Re: How I lost my faith in Lisp
#29In other news, STFU and hack. Enough with Lisp politics posts. It's just a language.
Re: How I lost my faith in Lisp
#30I don't speak for the author, but I had the feeling he would retract those remarks today, based on our exchanges here on HN. In other news, STFU and hack. Enough with Lisp politics posts. It's just a language.