News for hackers. Stuff that matters.
Re:The German School of Lisp (2011) by solarkraft on Saturday November 12, 2022 @08:38AM (#33572930)
I still don't get Lisp. Why does there need to be an endless amount of dialects? Doesn't this completely needlessly fracture the ecosystem into hundreds of pieces making it impossible to effectively support?

Isn't the point of Lisps to be endlessly customizable, making the invention of a new dialect less necessary?

The only Lisp I'd consider for a real project is probably Clojure and I'd even be hesitant about that. Sure, you can make a simple web project with Arc (HN), but it seems like you get 0 libraries, 0 interfaces with other systems and 0 tooling. Why would I bother with that?

Re:The German School of Lisp (2011) by nonrandomstring on Saturday November 12, 2022 @08:44AM (#33572975)
> Isn't the point of Lisps to be endlessly customizable, making the invention of a new dialect less necessary?

A great question. Maybe everything should have been built on Scheme once . and . for . all But people and the world aren't like that. We are restless souls.

Re:The German School of Lisp (2011) by sph on Saturday November 12, 2022 @08:55AM (#33573068)
When they sort out the spec issue (R7RS) we will reach programming nirvana and world peace. But I doubt humanity will live long enough to see that day.
Re:The German School of Lisp (2011) by JonChesterfield on Saturday November 12, 2022 @01:20PM (#33575553)
Scheme's macro system is way more complicated than it should be.
Re:The German School of Lisp (2011) by mtreis86 on Saturday November 12, 2022 @08:45AM (#33572976)
There is an endless amount of Lisps because the core to get one working is one page of code. So many people make one as a pet project. Aside from the small unused versions, the rest of the dialects have a lot of differences between them, some of which would be difficult to implement in an existing implementation. Common Lisp is a fairly complex specification to achieve, so few even approach it, and of those that do most aren't fully compliant.
Re:The German School of Lisp (2011) by pfdietz on Saturday November 12, 2022 @10:52AM (#33574168)
For some definition of "getting one working".

Getting a Lisp to run efficiently and effectively is more difficult than just writing an interpreter. I consider work on this problem to still be incomplete. For example, it should be possible to implement generic functions even more efficiently in Common Lisp implementations than is currently the case, in a way that preserves the ability to redefine the functions (and the classes they work with) dynamically. Robert Strandh has been working on general mechanisms supporting this and other improvements.

http://metamodular.com/SICL/call-site-optimization.pdf

Re:The German School of Lisp (2011) by izhak on Saturday November 12, 2022 @08:51AM (#33573024)
You could change the “Lisp” in your comment to “Programming Language” to make the answer less unobvious.
[dead]
Re:The German School of Lisp (2011) by ludston on Saturday November 12, 2022 @10:10AM (#33573760)
No, you can. It's like asking, "why make c# when Java already exists. Isn't it just another algol dialect with gc?"

The answer is, "because somebody made it because they weren't happy with what already existed"

Re:The German School of Lisp (2011) by Jtsummers on Saturday November 12, 2022 @10:29AM (#33573961)
A large factor in the push for C# was that MS was sued by Sun for their not-totally-compliant Java dialect, Visual J++, and had to drop it as part of a settlement.

They also had Visual J# which ran on .NET, allowing Visual J++ and Java programs to target that platform.

Re:The German School of Lisp (2011) by skissane on Saturday November 12, 2022 @10:52AM (#33574171)
There is also a non-Microsoft open source implementation of Java on top of .NET, IKVM.NET - I was sad to see it die when its original developer lost interest (although I just learnt it has since been revived by others)
Re:The German School of Lisp (2011) by gus_massa on Saturday November 12, 2022 @10:11AM (#33573767)
Are Java and C# different languages, or just a trick with the name by Microsoft to avoid the requirements of Sun?

(I think that the difference between Java and C# is similar to the difference between Common Lisp and Scheme.)

Re:The German School of Lisp (2011) by tmtvl on Saturday November 12, 2022 @03:15PM (#33576583)
So once upon a time they were very similar but over the years they drifted apart until they were as different as whales and elephants?
Re:The German School of Lisp (2011) by vasirian on Saturday November 12, 2022 @10:21AM (#33573867)
s/Lisp/Programming Language/g not `a programming language`.
Re:The German School of Lisp (2011) by skissane on Saturday November 12, 2022 @10:29AM (#33573960)
> How many dialects of C++ are there

Dozens. The standard language has been through numerous revisions (C++ 2.0, 98, 03, 11, 14, 17, 23), with no doubt many more to come - each version is a dialect. And there have been dozens of compilers, all of which define extensions to the standard - some of those extensions are copied by other compilers (and may eventually end up in the standard), others are unique to that implementation - so each compiler (even each of its successive major releases) can be viewed as a dialect. And then there are dialects defined, not by the core language features, but by which features are used, by which external libraries are used, etc. One C++ programmer is addicted to esoteric template metaprogramming, another avoids templates and treats C++ as a slightly improved version of C. One C++ programmer uses every Boost library they possibly can, another refuses to use any third party dependencies. Aren’t those effectively different dialects, even if they are both using the exact same version of the same tools?

And then there are entire languages defined as extensions of C++, such as Apple’s Objective C++, or Microsoft’s Managed Extensions for C++ and then C++/CLI - and also more modest extensions such as OpenMP

Considering C++ is an object-oriented extension to C, it belongs alongside other such extensions - most notably Objective C and D, but there have been other attempts at that which weren’t successful - aren’t they all (in a sense) C dialects?

Re:The German School of Lisp (2011) by sph on Saturday November 12, 2022 @08:51AM (#33573027)
Why are there multiple programming languages?

Why are there multiple dialects of real-world languages?

LISP is pretty minimal and simple. It's less of a language than a set of constructs for computation. Computers are made of abstractions on top of abstractions, so it makes sense for Lisp-based languages to evolve continuously. No one is better than the other, each target to their own niche. Just like other prog. languages, or real-world dialects.

Re:The German School of Lisp (2011) by vindarel on Saturday November 12, 2022 @08:57AM (#33573079)
For the same reason as there are many algol-like languages.

The production-ready lisps are:

- Common Lisp: this one is standardized and the ecosystem is NOT fractured. Many implementations exist and work in parallel: SBCL, CCL, LispWorks, ECL, ABCL…

- Clojure (though there is also ABCL and I keep hearing good things about LispWork's Java interface)

- Schemes: some coming from university, with a fractured ecosystem.

Of course, nobody uses Arc for serious stuff (but we can have its syntax in CL and probably in Racket too).

Re:The German School of Lisp (2011) by weatherlight on Saturday November 12, 2022 @09:49AM (#33573562)
There's also LFE which is rock solid and production ready.

(Lisp Flavored Erlang)

https://github.com/lfe/lfe

https://en.wikipedia.org/wiki/LFE_(programming_language)

Re:The German School of Lisp (2011) by jonjacky on Saturday November 12, 2022 @01:49PM (#33575834)
For the same reason as there are many algol-like languages.

I remember in the 1980s someone remarked that C and Pascal were more similar than Maclisp and Interlisp.

Re:The German School of Lisp (2011) by javajosh on Saturday November 12, 2022 @09:18AM (#33573250)
It's another example of the ~800 volume work titled "Where the indirection go?" A solid 90% of the variation you see in the programming world is moving indirection higher or lower, inside or outside, like moving food around on a plate. When you compound these choices, you get a combinatorial explosion that's both intimidating and absurd. And the clearest indication yet that, despite our pretensions, software engineering is, in fact, software alchemy awaiting systemization. We need Lavoisier and Mendeleev for software, stat!
Re:The German School of Lisp (2011) by billfruit on Saturday November 12, 2022 @11:28AM (#33574549)
May be Linneaus and Cuvier as well.
Re:The German School of Lisp (2011) by h9n on Saturday November 12, 2022 @05:16PM (#33577700)
How about a taxonomy by associated sexual pathology?

https://youtu.be/mZyvIHYn2zk

Re:The German School of Lisp (2011) by aidenn0 on Saturday November 12, 2022 @10:00AM (#33573662)
Why is there Fortran and Algol and B and BCPL and C and Algol and Pascal and Simula and Modula and objective C and C++ and Ada and...
Re:The German School of Lisp (2011) by mikelevins on Saturday November 12, 2022 @01:29PM (#33575639)
There are a lot of dialects because its core is one of the easiest programming languages to understand and implement, and once implemented, it's one of the easiest languages to extend. That's all there is to it, pretty much.

Anyone who is interested in the design of prgramming languages will find it easy to make their own Lisp and try out any ideas that seem congenial to them. The natural and obvious consequence is a lot of Lisps.

Creatives gotta create.

Re:The German School of Lisp (2011) by kazinator on Saturday November 12, 2022 @01:54PM (#33575868)
I think there are lots of dialects because it's the easiest programming language to misunderstand.

Somehow, someone who makes a scripting language with C syntax , like Awk or Javascript, instinctively knows that it isn't C and not to call it that.

Re:The German School of Lisp (2011) by johnlorentzson on Sunday November 13, 2022 @01:21PM (#33585752)
That sounds about right. It's very easy to make something resembling a Lisp, and even easier to call the result a Lisp.
Re:The German School of Lisp (2011) by kazinator on Saturday November 12, 2022 @01:49PM (#33575828)
> Why does there need to be an endless amount of dialects?

Because any time someone makes an (operator arg1 arg2 ...) language, they either put Lisp in the name, or else state elsewhere that it's a Lisp dialect.

Why does there need to be an endless progression of C-like dialects? They don't get called C, or rarely so.

The semantic differences between things called Lisp can be as large as between C++, Java, Javascript and Awk.

Many programming languages have been modeled on Algol; why are there so many Algols and why aren't they called that way? A lot of it is because of syntactic differences.

In the Lisp world, there are some mainstream languages that have the most users; if that's important to someone, they can stick with those and pretend the rest don't exist.