|
![](/i/fill.gif) |
On 8/4/2011 8:02, Invisible wrote:
> Once upon a time, I did sit down and try to learn Lisp. What I found was a
> language with a simple and reasonably elegant idea, then swiftly buried
> under several miles of clutter and junk. No thanks.
Well, that's what happens when you take something that has evolved in
several different directions for a few years, then mushed it back together.
> Suffice it to say, I /still/ don't get why anyone would want to use Lisp.
> But hey, whatever.
You want to learn Forth? Here's what you can do with Forth:
http://www.reddit.com/r/programming/comments/iyb2d/freeform_a_meta_language_that_allows_defining_and/c27ojnx
> (Although they also tacked on Design By Contract, which isn't strictly
> anything to do with OO.)
If you didn't understand why DbC is fundamental to "perfect" OOP, you've
missed a major point of the development of it. DbC *is* the OO. The actual
bodies of the methods are an implementation detail. :-)
> A perfect language... shame the implementation sucks arse, eh?
True. The first time I tried it, and this is like version 5.2 or so, you
started a new project and it gave you a Hello World skeleton to start from.
If you started a new project, then clicked "compile" without touching
anything else, the compiler bombed out.
> Maybe it's "the best" in the same way as TeX. The output of TeX is quite
> simply the most beautiful thing I've ever seen.
Hopefully they've improved it. TeX is probably OK as long as you don't use
it with metafont files, but the output with metafont is pretty sucky.
> Or perhaps it's "the best" in the same way that Unix is: It's ancient and
> basically obsolete, but nothing can match it for reliability, flexibility
> and compatibility with a large library of existing stuff.
I'd argue that Windows may have better flexibility (modulo not actually
having the source to it, and not counting "portability" as "flexibility")
and a larger library. It's certainly not a slam dunk for Unix. Plus, Unix
isn't really all that reliable, either.
> Suffice it to say, Emacs is /ancient/. From what I can gather, it's even
> older than Unix
The first versions were. I don't think it was called emacs at the time. It
was also originally developed on an OS other than Unix, so the "meta" key
was actually a separate key from "alt".
> Similarly, the cursor isn't called a cursor, it's called "point".
The two are different things. The point is where text is inserted. The
cursor is an indication on the screen. The two aren't necessarily the same
thing.
> Ctrl+A ("aahhh... wuh??").
Because Ctrl-H is help, you see.
That's the thing that always killed *me* about Emacs. The key mappings were
half mnemonic and half abbreviation and half based on keyboard position. On
the other hand, Wordstar I still remember every keystroke, in spite of not
having used it since 1982 or so.
> Interestingly, while Ctrl+F moves the cursor one character forward, Alt+F
> moves it one /word/ forward. (And similarly for Ctrl+B vs Alt+B.) I've never
> seen a text editor that can do that.
Really? Even notepad does that: ctrl-rightarrow. Every editor does this.
> (But then again, it's not exactly a feature you'd bother looking for.)
Of course it is, especially if you're editing text.
> I'm kinda curious as to what Emacs
> considers to be a "word", but as best as I can tell be experiment, it just
> moves the cursor to the next non-alphabetic character.
It depends on the mode. A "word" is one token.
> In a similar way, Alt+A and Alt+E move by "sentence". Again, not sure how
> Emacs decides what constitutes a sentence. It seems to be going by
> punctuation or by line ends or something.
Again, it depends on the mode. If you're editing a program, it's one
statement, one s-expr, etc.
> (Presumably because on a
> VT100 there's no way to turn off the cursor. :-P )
No, it's because VT100s don't have scrollbars. Emacs didn't have scrollbars
until after windowed operating systems with scroll bars were common. Heck, I
suspect emacs predates the invention of the scroll bar.
> Apparently by typing Ctrl+U 8 Ctrl+F, I can move the cursor exactly 8
> characters left. I'm left wondering why in the name of God I would *ever*
> want to do this.
Because you want to draw a line of 30 hyphens across the screen. Or you want
to skip to line 287 in your file.
> There's a section on "when Emacs is hung". What, you're actually expecting
> that to happen?
If you're writing your own code, or you hand it a few megabytes and say "go
indent this".
> Now, get this: Apparently a very rare operation such as "search" is Ctrl+S,
> but an extremely common operation like "save" (arguably the single most
> important command that any file editor can ever have) is Ctrl+X Ctrl+S.
I'm not sure why you think you'd save a file more often than you search. It
boggles my mind to think you think searching for text in a file is highly
specialized and uncommon. Oh, wait, this from the guy who doesn't use
google. ;-)
> I notice that the window titlebar provides no indication of what file you're
> editing. (It just says "Emacs" and then the DNS name of the PC. Yeah, that's
> very useful information. :-P ) Only by actually looking at the Emacs window
> can you see this. Oh, and if you have several buffers visible, the buffer
> name is at the /bottom/ of the display, not the top where you would
> logically expect to find it. Great!
Again, you're cutting on emacs for being a program written and popular
before windowing OSes were common? Before the Mac and MSWindows established
the standards of title bars and scroll bars and where status lines go and
what they're called?
> ...which seems reasonable, although some of their decisions about what
> constitutes "common commands" are /highly/ dubious!
That's why you can remap the keys as you like. ;-)
> Having tried the incremental search I discovered something quite nice: it
> actually /highlights/ everything on the page that matches your search. A
> trivial feature, but one which I haven't seen in any other software.
Damn, man, you gotta get out more. I haven't seen any decent editor since
Win95 that doesn't do that. Sure, not notepad, but everything else.
> same deal. But if I open an HTML file that contains JavaScript... nothing
> happens. The HTML is recognised, the JavaScript isn't. So here is where
> Emacs fails, and SciTE succeeds.
Nobody uber enough to use emacs would stoop to editing web pages with
embedded javascript. ;-)
Really, the code that recognises that stuff just needs to be updated.
> The HTML highlighting is actually nicer than most.
You should check out VIM if you want a somewhat more rational editor that
does all this stuff emacs does.
> In short, after spending a few days playing with Emacs, I'm still not
> finding anything that makes me to "wow!" Yes, it has a tetris
> implementation. And yes, it's the ugliest, least entertaining tetris you've
> ever seen in your life. Big deal.
Many of the nice features of emacs become redundant in an environment with
windows, and especially in an environment with IDEs customised for the
specific languages you're using.
> Don't believe me? mgetty. "Modem-aware get TTY". That's TTY as in
> teletypewriter. Still think Unix is part of the modern era?
Sadly, Unix *is* part of the modern era, because we are still doing things
like we did in 1970.
> You can make the final display look like anything you want. It's just so
> much /hassle/ to get there. In a real GUI program, this stuff is all trivial.
Me, I usually use VIM, and open each VIM in a separate window. If you
actually want to do emacs-y like stuff, like run the compiler over the
buffer that you just typed, and then write code to jump from error number to
error number in your source code, I expect that would be much more difficult
with emacs.
> I suspect you could probably make something /like/ Emacs, but with a modern
> design, and it would work well.
Yes. They call it an IDE. ;-) Or "a windowed desktop."
--
Darren New, San Diego CA, USA (PST)
How come I never get only one kudo?
Post a reply to this message
|
![](/i/fill.gif) |