18 ms·
The fact that it’s built on Emacs is a problem, as telling a new user they have to learn Emacs before using SLIME (which is not strictly true) is a signif
by WalterGR 11y ago
The fact that it’s built on Emacs is a problem, as telling a new user they
have to learn Emacs before using SLIME (which is not strictly true) is a
significant artificial barrier to entry.
Yes, it is true. It's ridiculous to expect a person new to a language to also learn Emacs. It is absolutely a significant barrier to entry.
- melling 11y agoIt takes 15 minutes to learn Emacs at a basic level.
- eudox 11y agoI think about three years went by between the first time I opened the Emacs tutorial and when I started using Emacs seriously. So, sure, the barrier to entry doesn't look so high once you're past it, but insurmountable before. Specially when the official tutorial tells new users to move around the file using obscure key combinations and even the standard copy/paste/kill key combinations don't work.
- melling 11y agoThe standard copy and paste work for me. Just use the arrow keys and page up/down keys to navigate. Skip the complicated stuff and pretend you're using Notepad.
- WalterGR 11y agoSkip the complicated stuff and pretend you're using Notepad. No? Being a beginner to Lisp doesn't imply being a beginner to programming. Why would an experienced non-Lisp programmer find being subjected to a Notepad-like development experience worth even the slightest consideration? (EDIT: And non-experienced non-Lisp programmers also have a preferred tool-set, which is likely superior to Notepad.) Emacs can be great - to some people. The "You have to use Emacs to program in Lisp" meme is not great.
- melling 11y agoSo don't use it like Notepad. Give it the full hour. And I doubt if you have to use Emacs to write in Lisp. Let me Google it for you: http://stackoverflow.com/questions/94792/using-vim-for-lisp-development http://stackoverflow.com/questions/94792/using-vim-for-lisp-... https://news.ycombinator.com/item?id=19891 https://news.ycombinator.com/item?id=19891
- pvaldes 11y ago"you have to use Emacs to program in lisp..." You don't. Nobody stops you to use vim and fire a clisp repl instead if you want. Older but much friendly to start than sbcl. Emacs as a barrier to lisp is an interesting concept. To me was exactly the opposite.
- WalterGR 11y agoYou don't. Nobody stops you to use vim and fire a clisp repl instead if you want. Of course. And there could very well be a service that accepts handwritten source code via the post, transcribes it, executes it, and mails you the output. In context, I'm responding to the following: • the article's preference for beginner-friendly suggestions (e.g. don't overwhelm beginners with an abundance of choice) • the specific text I quote in my original comment above, and • the fact that Emacs+SLIME is the de facto standard answer to every Lisp beginner who asks for an IDE.
- pvaldes 11y ago"Emacs+SLIME is the de facto standard answer to every Lisp beginner who asks for an IDE" Is a good advice because emacs is awesome, multipurpose, and free. But, you have choices. You could use also slimv, the "slime for vim" for example. And Vim is also awesome, multipurpose and free. If you are a total beginner that do not want to learn neither vim nor emacs (something that you will regret when you finally learn one of them some years later) just forget all about superior modes, fire a clisp repl in bash and use your favourite text editor to write and copy-paste. If you want a simple plan to start, is pretty simple If you want it more simple, just save some bucks and buy a commercial lisp, like allegro for example that comes with a nice IDE: allegro-composer. You obtain what you pay for.
- masukomi 11y agouse what's possibly the world's most powerful editor... but pretend you're using notepad... ...
- melling 11y agoJust to get started. Many people are intimidated by Emacs because there is so much to learn. If it scares you, start off simple then let your knowledge grow organically.
- fein 11y agoI've been coding in emacs for years and still have no idea what I'm doing. Lisp makes sense, but I'm aware that there are thousands of features in emacs that I'm unaware of. It makes life MUCH worse switching from linux to osx emacs and back though.
- yellowapple 11y ago> Specially when the official tutorial tells new users to move around the file using obscure key combinations If you're a Mac user, they're actually - in all likelihood - not that obscure; you can use the same exact key combinations in pretty much every OS X application. The built-in tutorial is indeed exceissively comprehensive, but those "obscure" keybindings are incredibly useful, particularly C-a and C-e (much faster than using "Home" or "End", respectively), which is why they're covered. And really, the Emacs bindings aren't any harder than the CUA bindings; they're just different, and can be easily gleaned (in graphical Emacs installations, at least) by poking around in the menu and looking at the shortcuts for certain commands, like opening/saving files or killing/yanking. > and even the standard copy/paste/kill key combinations don't work. This is easily fixable by going to Options -> Use CUA Keys, which enables C-x for kill, C-v for yank, and C-c for copy. OS X users can also just use Command-C/V/X like normal, with or without this option enabled.
- vsync 11y ago> And really, the Emacs bindings aren't any harder than the CUA bindings; they're just different, and can be easily gleaned Not only that, they're older (i.e., Emacs was there first).
- engi_nerd 11y ago> If you're a Mac user, they're actually - in all likelihood - not that obscure; you can use the same exact key combinations in pretty much every OS X application. Apple doesn't go out of their way to really point this out. Ordinary Mac users have no idea about this. None!
- na85 11y agoThat's because ordinary Mac users need to be spoonfed.
- na85 11y agoIt's easy to learn C-x C-s to save, C-x C-c to quit, C-x C-f to open a file. That's how I got by with emacs for about 6 months, just because I liked the tab/indent behaviour so much. Then after that it's easy to learn the C-x chords for splitting windows, and you're at about the level where I used emacs for about 5 years, with maybe some C-c C-c to compile things. Honestly emacs is not that hard and you can be pretty productive with just the bare minimum. I still don't use the arcane commands to move the cursor around. I don't even know what they are. I use the arrow keys and pgup/pgdown.
- jacobmoe 11y agoBasic editing does take 15 minutes. In 20 minutes you realize that Emacs out-of-the-box is embarrassingly bad relative to modern editors, and to justify using it you'll have to go deeper. A year later, you start to feel like a somewhat proficient user.
- pvdebbe 11y agoWhat's a modern editor? Newest stable version of Emacs (24.5) is from April 2015, 4 months old. The fresh Emacs 25 is cooking.
- jacobmoe 11y agoI'm an Emacs fanboy, and I'm already using 25. The fact is, if someone is just looking for a text editor and not a new hobby, I would recommend Atom. The editor that you have after using Emacs for 15 minutes is not very good. The editor you have after a year of dedicated use is amazing.
- maehwasu 11y agoOP is getting hate, but I write a lot of Clojure code in Emacs, and I find the following commands cover 97%+ of my usage, maybe more. For config I use Emacs Live out-of-the-box, and remap Command on OSX to be my Ctrl. That's it. C-a, C-e, C-b, C-f, C-p, C-n, C-v, M-v for line/screen maneuvering. C-o for Ace-jump to go to the start of any words I see on the page. C-d to delete. C-s to search for words not on the page. C-k, C-y, and also how to use them with paredit to yank whole s-expression chunks. Buffer switching and killing. File saving and opening. I teach the above to any friends who want to learn Emacs/Clojure/LISP, leaving out a few other features like whole word deletion and more advanced paredit. With halfway decent aptitude and a little practice, they become productive very quickly (within a few hours, which is a pretty good investment relative to "normal" text editors in my book). Also, you can use a lot of the commands for normal OSX text editing, which further improves the investment.
- eudox 11y agoI should have expanded on the 'not strictly true' bit: for a while I wrote code on Sublime Text and used the REPL from SLIME, with the windows side by side, as SublimeREPL was pretty terrible. And I was fairly productive, too. Eventually I just caved and learned Emacs.
- deleted 11y ago[deleted]
- guiomie 11y agoI tried learning lisp with SLIME and I hated it so much (especially compared to Visual Studio) that switched to notepad++ and running SBCL in my console. Eventually I lost interest in lisp, id like to get back to it, but SLIME has really left a bad impression on me.
- informatimago 11y agoI won't argue, slime, like a lot of emacs tools, are not necessarily the right tool for everybody, at all stage. For very beginners, any editor they're familiar with will do (but if they're beginner, how would they be familiar with any editor? Just start with emacs, it's as simple as any other, click and point etc; you can try it anything you do with Notepad, do exactly the same with emacs and you will get the same results). And indeed, using a CL implementation in the terminal (but with rlwrap if you're use a read-line deficient implementation; clisp has it included), for your first steps can be a better learning experience than using sophisticated GUIs. Just like I wouldn't advise to use Xcode or Visual Studio to a beginner starting to learn C or C++: just edit your code with ed(1), and run { cc -o hw hw.c } in the terminal. Be sure to teach in advanced lessons about the ed(1) command: ! cc -o hw hw.c && ./hw RET like: $ ed hw.lisp hw.lisp: No such file or directory i (defun main () (princ "Hello World!") (terpri)) (main) . w 59 !clisp -norc -q hw.lisp Hello World! ! 1,$n 1 (defun main () 2 (princ "Hello World!") 3 (terpri)) 4 (main) q $ Somebody who lacks this experience, cannot understand the benefits of "IDE" or of emacs and slime. But also, the feature of calling out external programs like a compiler from an editor, exists in any good editor, not just emacs. Only it's emacs it's easier because you can customize it much more. It becomes clear when the newbie will have typed a hundred times: !clisp -l myprogram.lisp -x '(main)' RET Then you introduce him to emacs and slime and he will feel you're Jesus came back to save him.
- pvaldes 11y ago> but with rlwrap if you're use a read-line deficient implementation; clisp has it included Big point. The raw sbcl repl really hurts unless you use a superior mode or at least rlwrap.
- rayiner 11y agoIt is a significant barrier to entry for everyone else, no doubt. But what are you going to do? There isn't any money in commercial Lisp environments anymore, at least outside certain niches. And the people who like Lisp enough to write an IDE for it already know how to use Emacs. But you're not everyone else. Individually, it's worth learning for sure! I haven't encountered an environment quite as productive as SLIME/SBCL. I hear Clojure is all the rage these days and it has an IDE, but functional programming with immutable objects is a bit over my head.
- Blackthorn 11y agoOther Lisps (Clojure) don't seem to have this problem, with a variety of great choices.
- rayiner 11y agoClojure can leverage an ecosystem that's mostly built by people who don't write in Clojure.
- bsder 11y agoUm, exactly? I'm trying to figure out if that was a real complaint or a sarcastic comment.
- lispm 11y agoThere is little reason to use Eclipse or Intellij with Common Lisp. That's a non-starter. Editors like vim can be used with Common Lisp just fine. Most people I know just use Emacs/SLIME because it's reasonably advanced and can be used nicely via GUI or a terminal connection. Personally I use the LispWorks for editing code, mostly. It has a Emacs/Hemlock-like editor written in Common Lisp built-in. I also use the Clozure CL on the Mac, which also has a hemlock-derived editor built-in. Where Clojure naturally has better integration into the Java ecosystem (Java IDEs, too), Common Lisp has the better IDEs written in itself.
- deepaksurti 11y agoWhen I started learning CL, I tried Emacs for a week, but then gave up. I was a VIM user already. So this is my development environment and I have been using it ever since, professionally as well. I have one tab in terminal which has VIM, another tab that runs CL REPL (I mostly use LW Professional that allows building a non IDE image or SBCL). I start my REPL as such: rlwrap -D 2 -m " \ " sbcl OR rlwrap -D 2 -m " \ " lw-console Then I my REPL I can just press: [Ctrl + ^] and it opens a temporary VIM Buffer, so I can type away my Lisp expression and when I quit the buffer, the expression is available on the REPL prompt. I have the usual suspects: tagbar and exuberant ctags, to help. I don't use auto complete much (a quirk probably). But the fact that I can save my lisp image and come back later and start where I left is the big difference, which I can't do in Python or C++ (AFAIK). So a simple setup with Vim, rlwrap (with ability to open temp vim buffer) in a Lisp REPL is possible and also productive. Still Vim is another beast, so the rider here is one knows Vim, but may be another text editor should also work.
- Mikeb85 11y agoWhy? When someone learns Java they learn Eclipse or IntelliJ IDEA. When someone learns C++ they learn Visual Studio or QtCreator/KDevelop/CodeBlocks... And so on.
- vladharbuz 11y agoI don't think one can compare the difficulty of learning IntelliJ IDEA with the difficulty of learning Emacs. All of the editors you mentioned use a paradigm of text editing familiar to everyone who has used Notepad. When starting out with Emacs, you even need to learn how to quit it.
- informatimago 11y agoYou mean like, clicking on the File menu, and clicking on the Quit menu item? How alien!
- pvdebbe 11y agoClosing windows using mouse? Sounds alien enough to me :)
- aidenn0 11y agoBy this argument, if I shipped a customized emacs with e.g. C-c for copy C-v for paste and C-q for quit, and slime and sbcl bundled inside, that would make slime as accessible as eclipse/intellij/visual studio? I'm willing to try it (really not that hard to do), but I bet good money that many people would still balk because it's spelled E-M-A-C-S.
- klibertp 11y agoPretty sure that's done already. I never needed this but one or more of these: http://ergoemacs.org/misc/list_of_emacs_starter_kits.html http://ergoemacs.org/misc/list_of_emacs_starter_kits.html should be pretty much exactly this: Emacs with C-c, C-v and other "modern" features. And you're right, these releases don't change much. Programmer's tools tend to be chosen based on fashion and fads, not on their merit.
- informatimago 11y agoIt's also ridiculous for a computer user not to know emacs. What do they teach in kindergarden schools?
- deleted 11y ago[deleted]
- richardjdare 11y agoIt would be nice if there was something like DrRacket[1] for Common Lisp, or maybe something like Haskell for Mac[2] that was on HN yesterday[3]. You could package it with SBCL and a link to "Practical Common Lisp" and newcomers could be typing in code within 5 minutes. I like using Emacs myself, but a lot of people find it intimidating. I know coders who are smarter than me, (vim using C++ finance programmers even!) and I can't persuade them to try SBCL/SLIME. Emacsophobia may be irrational (I didn't find it hard to learn once I stopped expecting to use modern ui conventions) but asking people to face up to their misgivings about a product is a hard sell compared to offering something slick and attractive. [1] http://www.racket-lang.org/ http://www.racket-lang.org/ [2] http://haskellformac.com/ http://haskellformac.com/ [3] https://news.ycombinator.com/item?id=10114767 https://news.ycombinator.com/item?id=10114767
- lispm 11y agoYou can download Clozure Common Lisp (CCL) from Apple's Macintosh Appstore. https://itunes.apple.com/us/app/clozure-cl/id489900618?mt=12 https://itunes.apple.com/us/app/clozure-cl/id489900618?mt=12 It's also available from Clozure: http://ccl.clozure.com/download.html http://ccl.clozure.com/download.html A better environment and more expensive (though there is a limited personal edition) is LispWorks. http://www.lispworks.com/ http://www.lispworks.com/
- agentultra 11y agoThe Hemlock based editor is still heavily based off of Emacs.
- lispm 11y agoThat's totally great. Fits well into Mac OS X, which supports basic Emacs keybindings. It uses a window for each buffer.
- agentultra 11y agoAnd has some neat CCL-specific features like the process window, etc. I'm not knocking it. :) Still a bit of a shot from the "Haskell for Mac" type environment I'm interested in developing.
- pnathan 11y agoIt absolutely is. I have spent some time hacking on the Eclipse Lisp plugin in an effort to remediate this, but I simply don't have the motivation anymore to do it for free - the code is in Java (and the codebase is in disrepair), the Eclipse plugin system is fragile, and I'd not really use the output (I use Emacs... a lot). If someone came to me and said that they'd like to use the tool, or offered to compensate me somehow, I'd go on and make it better.