Hacker News new | ask | show | jobs
by insertcredit 2650 days ago
One persistent problem I see in the Common Lisp (love the language!) space is the wide availability of crapware that not only doesn't bring something new to the table but is actively damaging to the community since it's diluting the set of good libraries and making it harder for new users to tell the wheat from the chaff. Lem is crapware. The problem it's supposed to solve, writing CL without configuring Emacs, is not a problem since there exists Portacle [1]. Lem is inferior to Emacs/SLIME/Sly in every way especially for writing Lisp. Lem has no future. But it exists and may act like a strange attractor to those who don't know better.

A question I'd really like to find the answer to: Why is there so much crapware for CL?. Why doesn't the community come together behind the few, really good, libraries but instead almost everyone goes out and does his own thing, the end result being an ocean of crap.

[1] https://portacle.github.io/

8 comments

The first Emacs was written on top of TECO.

The came young students who had access to a brand new Lisp Machine in the MIT AI Lab (thanks to the welcoming spirit of Marvin Minsky and others). They implemented EINE (EINE is not Emacs) and ZWEI (ZWEI was EINE initially) and then Zmacs. -> Weinreb and McMahon. Bernard Greenberg wrote an Emacs in Maclisp for Multics. Hemlock was written in Spice Lisp. From then on a bunch of editors were written in Lisp.

Don't let you be discouraged. Learning to write well architectured programs is best done by writing programs.

I applaud those who put their thoughts between nested parentheses and turn them into working code...

I agree with this comment totally, specially in this part:

> Don't let you be discouraged. > Learning to write well architectured programs is best done by writing programs. > I applaud those who put their thoughts between nested parentheses and turn them into working code...

We should appreciate jobs like lem! They are trying, thinking! And this HN section??? JUST COMPLAINING! What are you doing for helping? WTF.

Sorry to hijack the thread but congrats on Lem. It's nice to see how far it's progressed. You even have an XCB binding in there!

Lemonodor-fame is but a hack away!

You haven't actually told us anything except what you think is “crap”. Could you please be more informative and less rude in your comments?

> Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something.

https://news.ycombinator.com/newsguidelines.html

I mentioned the problem Lem claims to solve and proved that there are existing solutions to that problem. I also put forth that Lem is inferior to Emacs/SLIME/Sly when writing Lisp which should be obvious to anyone with Emacs experience. Then I made additional points which at least two people found of interest and tried to provide answers to.

I'm pretty sure all of that does not translate in me not telling you anything.

There can be multiple solutions to one problem, there's nothing wrong with experimentation. You seem to think it's OK to call any Emacs competitor crapware?
I defined crapware as something which dilutes the space of good libraries, offers nothing new and pretends to solve non-existing problems. I made my case.
The problems GNU Emacs does not solve for a CL programmer is its generally clunky user interface, lack of GUI features, its non-reusability in a Common Lisp program and its non-source-compatibility with Common Lisp. GNU Emacs will always be an extra component to a CL program and rarely will be the right user interface for a CL program - even though the program might need editor functionality.

One can get very far with it, but for some the combination of above is enough reason to look for alternatives.

By this logic, every new Linux distro, window manager, text editor, programming language, or anything else that competes with existing software is “crapware” that is “actively damaging” by “diluting the set of good [software]”. Competition is good! The community has never “come together” in any space (case in point: systemd), even outside of Common Lisp.

Corporations and small teams sometimes create software that is more cohesive and might be what you’re looking for, but this has never happened for a “community” of any reasonable size.

I agree with your point and disagree with the OP’s but I do believe that the proliferation of Linux DEs and recreation of basically the same software can often go beyond what is good.

One of the biggest things holding Linux behind today is the lack of a common vision. I think it’s no coincidence that Linux on the desktop really took hold only after Canonical started promoting Ubuntu. With Cqnonical retreating into the server space and basically abandoning desktops, I fear we are about to enter another era of Linux desktop stagnation at a time when arguably we need it most (OSX and Windows are increasingly becoming tied down, and the fastest growing OS is ChromeOS which isn’t just tied down but is also potentially a privacy nightmare).

That’s part of the reason that I’m an OpenBSD user, because there is a much smaller development team that has more of a cohesive vision. However, that doesn’t get in the way of user freedom. I’m just of the opinion that another desktop environment or window manager (or text editor, etc) that doesn’t take off isn’t an issue at all and it often pressures the incumbent to innovate and adopt new features.

Competition and a common vision don’t need to be mutually exclusive.

What a terrible vision about developing software. I hope you can change your mind in the rest of your life. Legacy software is not the end of all things.
I think the Lem developers would appreciate if you filed issues that caused you to believe what you do about the project, so they have a chance to improve the state of affairs.
beneath the invective there is an interesting point.

look at the context. its easy to understand in todays environment why someone would write a somewhat-finished personal project, put it on github, and try to get it noticed. personal itch, self-teaching, self-marketing, etc

whats less clear is how you get together enough time and bodies to spend the substantial effort to make something well documented, tested, and more broadly useful. especially in a lesser-used language.

open source has definitely 'won', but i dont think that issue has been adequately tackled. the story seems to be that you get to step #1, and get enough traction that you can hopefully build a functioning set of contributors.

[as aside lisp also has a reputation, unfounded or not, for encouraging people to develop a bespoke private universe thats hard for other people to get a handle on]

It's been an issue for a long time.

http://www.ccs.neu.edu/home/shivers/papers/sre.txt

...give nodejs a try and see if you change your mind about "crapware" :)
That was fast. Just because something is not popular, it's not crapware. Nodejs libs are worse: they are proud to develop crapware software and have a extreme popularity by doing that.

Why we should support this type of software and attitude? There is something wrong with it.

> Why doesn't the community come together behind the few, really good, libraries but instead almost everyone goes out and does his own thing, the end result being an ocean of crap.

This is the Lisp Curse:

http://www.winestockwebdesign.com/Essays/Lisp_Curse.html#mai...