Hacker News new | ask | show | jobs
by 0x445442 2552 days ago
The lack of a really good open source IDE or IDE plugin is a real road block for a number of people. Pointing folks to Emacs or an Emacs derivative is is not the solution. I know there is a couple of IDE plugins for Clojure and I think it would help if there were similar options for Common Lisp.

I know there used to be a plugin for Eclipse (Cusp) but that appears to have died.

4 comments

On my computers I use a commercial system with its own editor (Mac/Linux) and a free one (Clozure CL on Mac), also with its own editor.
why is emacs not a solution? the link provided by parent is excellent beginner friendly environment ( http://portacle.github.io/).
I'm not slamming Emacs. I'm just pointing out that there are millions of developers that won't use it and making it a, more or less, requirement to get into Common Lisp is not good.
> I'm just pointing out that there are millions of developers that won't use

You are just stating it. Without any reason. One can't argue against a statement, you have to provide reasons behind your statement for there to be an argument.

For example: "Asking people to use an editor where C-c doesn't copy and they have to relearn the keybindings is an unnecessary barrier of entry". I would agree with that and note that as a stop measure they can use the mouse for most tasks so they can postpone learning Emacs until they have learned CL.

If you are on OSX CCL has an alternate IDE that's pretty good. Otherwise you can pay Lispworks or Allegro. Yeah it would be awesome if there were a multitude of IDEs, but people are not going to write IDEs for environments they don't use for free, it is unreasonable to expect that.

I've never heard people say 'it is unreasonable to ask people to use Android Studio to develop for Android' so I'm not inclined to agree that it is unreasonable to ask people to use a Emacs to develop for CL. Especially after Shinmera has gone to great lengths to package a pre configured version. I know of a recent lisper that just uses Emacs for CL without previous Emacs exposure. It is an unnecessary barrier, but not more than a hump.

>You are just stating it. Without any reason. One can't argue against a statement, you have to provide reasons behind your statement for there to be an argument.

Not really - he already gave both. The argument is the already stated one "Emacs is not the solution to the problem of people coming to Lisp needing a good programming environment". And the reasons are what he wrote above: "because there are millions of developers that won't use it".

Now you might agree or not with the latter (I for one am in the category that wont bother to use Emacs), but it's a full argument.

>I've never heard people say 'it is unreasonable to ask people to use Android Studio to develop for Android'

People still say that, but that's beside the point.

Android Studio is a typical modern IDE, so not much of a barrier to entry. Emacs are much more arcane and idiosyncratic (and doubly so outside the Unix world, e.g. for the huge majority of Windows and OSX based devs).

it is unreasonable to ask people to use Android Studio to develop for Android

Obviously interesting platforms can get away with much more ridiculous requests such as "buy a Mac" or "program in JavaScript".

I won't use Emacs because I want a smart editor or IDE, not an editor construction toolkit. I have no interest in micro-optimizing my editor.
> I won't use Emacs because I want a smart editor or IDE, not an editor construction toolkit. I have no interest in micro-optimizing my editor.

Pretty much all "smart editors or IDEs" that are available are editor construction toolkits bundled with add-ons which make completed editors using the toolkit for a variety of special purposes, and with an ecosystem (first party and/or community) of additional add-ons available. Visual Studio, Visual Studio Code, Eclipse, IntelliJ and its various cousins, etc., all fit the model.

Emacs fits in with the rest in this regard (in fact, its one of the earliest inspirational models for what the field has become, probably the earliest example of the now-dominant model that is still actively maintained and widely used.)

To be honest, when you install Visual Studio or IntelliJ, you have all you need to develop code in the language you chose, with 0 extra customization. Of course, some amount of extra customization will usually follow, but that can come after you are more confident with the environment.

The same is definitely not true for VSCode, Emacs or vim, though perhaps bundles like portacle can offer a similar experience. I say this as an Emacs & IntelliJ user.

The difference between Emacs and those other tools is that some other people already used the tools to build things for me. With Emacs I have to build it myself, 90% of the time.

It's cool, it's interesting, it's tinkering and I don't want to do it :-)

until very recently emacs was the only editor that felt "smart". visual studio didn't really recognized grammar the same way. emacs semi parsing meant that TAB was a way to syntax check my code on the fly (50% of why I kept using emacs in college)
Eclipse has had incremental Java compilation since at least 2007. That's 12 years.
There are millions of developers who won't use Windows, and millions who won't use MacOS.

I guess neither of those is worthy of using either because of this.

Because it's 2019 and most developers don't want to use a UI from the 1970s.
Until they do
See the "editor-support" link: there's the Dandelion plugin for Eclipse, although basic; I said Atom support is getting very good. There's Vim, a basic plugin for VS Code, and Lem, a self-contained editor ready to use for CL and many other languages (though it is "emacsy", same keybindings by default, vim-mode included). There's a Jupyter kernel and a terminal-friendly ipython-like repl.
Dandelion doesn't run on linux
I tried it on Linux though.
I watched a fascinating presentation and when I saw the speaker typing (lambda ...) and having it change to (λ ...) and not having to deal with parens.. I was jealous.

Does emacs do this?

EDIT: the presentation:

William Byrd on "The Most Beautiful Program Ever Written"

https://www.youtube.com/watch?v=OyfBQmvr2Hc

Yes, M-x prettify-symbols-mode, it's very cool. For parens, there's the built-in electric-pair-mode, paredit, smartparens, and lispy.
Some languages understand λ directly (and in all lisps that support unicode, you can explicitly alias it) - I've occasionally mapped AltGr+L to λ, when playing with those. It's really nice.

APL perhaps goes a little far, but I'd like to see more standardized symbols in programming languages. Imagine how nice it would be to succinctly use things like the actual outer-product operator ⊗...

> APL perhaps goes a little far

When I learned APL long ago in a languages course, it was on a dedicated APL setup with an APL keyboard.

In that context, it was a "how SHOULD things be" sort of design decision. I know I started off quickly thinking in terms of math and the language, not composing symbols.

Of course, APL keyboards have gone the way of the dodo and so the language has a higher barrier to entry.