Earlier quoted context omitted.
>I sometimes wonder why Lisp has not been more popular in the technology industry. Is it the lack of sufficient marketing? In the late 70s, cheap computers (IMSAI, Altair) were almost unable to run Lisp for useful purposes. Too little memory. Minicomputers (DEC PDP /etc) were able to run full Lisp implementations but it worked slower than using other languages. Lisp Machines (MIT CONS, etc) were able to run Lisp fast…
> but it worked slower than using other languages minus Maclisp > Enter the late 80s; Lisp ran great on personal computers but implementations AFAIK were mostly commercial, so reserved to big budgets. CLISP, CMUCL, AKCL, XLisp, ... all were no cost. > SBCL and CCL SBCL is a fork of CMUCL which was started in 1981 as Spice Lisp. That was always no cost and several other projects took code and documentation from CMUCL.…
Common Lisp homepage
241–250 of 313 posts
Re: Common Lisp homepage
#242So much innovation has happened since the CLHS that to put up a fluff site feels like an effort of "resurrection". When in reality the Lisp family has continued to evolve since then. To limit yourself to just CL, as I did, for a long time, results a bit of a 'losing my religion'. You'll be confounded by things long since solved, and in the end perhaps write all of "Lisp" off. Do yourself a favor and keep and open mind to the family, and not one common incarnation that predates some developers.
Re: Common Lisp homepage
#243At the request of John McCarthy, Lisp’s creator, no single language that is a member of the Lisp family is to be intended to be the definitive dialect; that is, none is to be called just “LISP.” So much innovation has happened since the CLHS that to put up a fluff site feels like an effort of "resurrection". When in reality the Lisp family has continued to evolve since then. To limit yourself to just CL, as I did, fo…
Seriously, the web site is a very informative site about "Common Lisp" - a specific dialect of Lisp. It's right there when you click the link, big letters - "Common Lisp" - you can't miss it.
You could argue about the URL "lisp-lang.org" - but why?
Re: Common Lisp homepage
#244Earlier quoted context omitted.
>You quoted two companies using Lisp when there are millions of Java devs. So what? I was a Java dev myself. What does this mean? There are even more millions of Javascript users. What does this mean, really? >ABCL, FRANZ, ALLEGRO, SBCL, CLISP, GNU CL, Clozure might all be common lisp, but they are different implementations with different tools that will confuse a new person and several cost money. Fear, Uncertainty…
My point is simply that niche languages are harder to hire for and find a job in. Most people aren't okay with that. There is a feedback loop here as less people use it and less libraries are written. That doesn't mean the language is inferior to Java in any way, but a new developer has to stay relevant by learning languages and frameworks that people use in-house. This is a major reason it isn't popular. I have 300…
> less libraries are written.
Given that Sturgeon was an optimist[0], that is hardly a problem. The only reason why most OSS libraries are using is because people don't do the due diligence of vetting their dependencies. There are more than enough libraries of adequate quality for common tasks.
[0]: “And folks, let’s be honest. Sturgeon was an optimist. Way more than 90% of code is crap.” – Al viro
Re: Common Lisp homepage
#245Earlier quoted context omitted.
From the dynamic languages the SBCL compiler is something you might want to try. The compiler tells you the usual (?) stuff like missing args, wrong named arguments, missing functions, undefined variables, syntax errors, etc. But Common Lisp has also a (relatively primitive, compared to something like Haskell) type system and the SBCL compiler can make use of type declarations (for compile time type checking and for…
Type declarations in Common Lisp are unsafe. Violating a declaration at runtime is UB. What SBCL is doing to Common Lisp is similar to what C compiler vendors did to C. In order to win at benchmarks, C compiler vendors started to use UB as a license to miscompile optimized code, which got them better benchmarks. Common Lisp has very little UB, so the C strategy is harder to execute. SBCL basically first needs to suck…
> There has been some confusion about the difference between type checking for the purposes of compiling traditional languages, and type checking for the purposes of ensuring a program's correctness. [0]
Lisp type system is mainly designed for the former. Abstract data types are useful for the later use.
Re: Common Lisp homepage
#246Earlier quoted context omitted.
Common Lisp has: generic functions, homo-iconic macros written in Common Lisp, reflection, multiple dispatch, closures, optional typing, correct implementation of lexical scope, dynamically scoped variables, a metaobject protocol, conditions & restarts, and a compiler that is available for customization. One or a few of these have made it into other languages in some form or another - but not all together. Common Lis…
At least optional typing and macros are not considered to be universal benefits for programming. Having a ton of features has been proven in many occasions to be counterproductive. Paradox of choice, higher learning curve, etc.
They are, if they use them enough.
Some body mentioned in this post that number of programmers from the 1980s has gone up from probably a million to 20 million or so.
What happened is that we had to lower the bar to entry, such that we now have many novices and a few experts. Most people want to just come in coast 9 - 5 and go home, so you have very few people who want to push the limits of their tools.
Re: Common Lisp homepage
#247Earlier quoted context omitted.
Python code rarely looks like this For things like optional arguments you usually use None with an "if l is None" parameter Meanwhile you can't iterate over None, so [x for x in None] blows up Closure (to my understanding) allows a null value in the place of any empty seq. This seems like a major bug swallower to me
> Python code rarely looks like this Using implicit truthiness to test for empty sequences is idiomatic Python, for better or worse.
Re: Common Lisp homepage
#248Earlier quoted context omitted.
>First, syntax. "But it's easy! In fact, it's the easiest!" you reply. But for the vast majority of programmers, Lisp syntax is not easy. You could argue that they just need to be trained. But the syntax is different enough that they are reluctant to try. Could be more of NIH syndrome, since most of them would have learned another language first, which had an Algol-family or other-than-Lisp syntax (IMO). And regardin…
Don't have the link handy, but I think I read somewhere that someone calculated the number of characters or punctation (things like parens vs. braces, etc.) for some code using Lisp vs. C-style languages, and showed that (at least for some examples), Lisp code actually took less characters (or punctuation) in total.
Also if most developers have to learn lisp, there have to be enough jobs.
Re: Common Lisp homepage
#249Any advantage to learning Lisp instead of something like Elixir today? I find Elixir to be modern, a large amount of libraries, larger and active community, BEAM VM, has macros also... Can`t think of a reason to invest time in Lisp at the cost of mastering something Elixir, but maybe I am wrong.
Re: Common Lisp homepage
#250Earlier quoted context omitted.
Common Lisp mostly superseded Lisp 1.5 and Maclisp. Interlisp went away - Xerox included Common Lisp into Interlisp-D and later sold the product to a tiny vendor, renaming the product to Medley. Most Interlisp users were switching to Common Lisp - including Xerox. Xerox even was a driving force behind the Common Lisp Object System (CLOS) and its Meta-Object Protocol. Xerox paid for much of the research that went into…
> Racket was renamed from DrScheme (IIRC), to avoid being directly associated with Scheme. See: a laudably reasonable behavior.