From: Xah Lee <xahlee@gmail.com>
To: help-gnu-emacs@gnu.org
Subject: have you read emacs manual cover to cover?; (was Do we need a "Stevens" book?)
Date: Fri, 30 Jul 2010 22:47:21 -0700 (PDT) [thread overview]
Message-ID: <63e9cab8-17da-4f1a-b055-e172a3ffeb47__9699.53240496597$1291860687$gmane$org@o7g2000prg.googlegroups.com> (raw)
In-Reply-To: 35282104-5b51-4ba4-8745-4fae239ce0ee@q21g2000prm.googlegroups.com
cleaned up and extended my previous post. Sentences and ideas made
more precise and detailed.
• Emacs Idolization: Have You Read the Emacs Manual From Cover to
Cover?
http://xahlee.org/emacs/emacs_manual_cover_to_cover.html
plain text version follows:
--------------------------------------------------
Thien-Thi Nguyen wrote:
Why does the search start with Google (and continue with other
downstream, non-terminating, whirlpool-shaped, out of date,
referenda)? Why not go to the source? The Emacs Lisp manual, the
Emacs Lisp code, the Emacs customization facility, the Emacs *scratch*
buffer, the Emacs!
Elena wrote:
Surprisingly enough - or not? - it seems few users do read the
manuals... I'm guilty of this too (and Emacs' manuals will be my
reading on my next vacations).
I always thought of doing this, but it never happened. Not the emacs
manual, nor the elisp manual. Over the past 12 years of using emacs
daily, i have read perhaps 1/3 of the emacs manual and 1/2 elisp
manual, counted in a accumulative way.
However, i have read cover to cover, word for word, systematically in
a continued setting, several programing lang or software manuals. Some
of these software are quite more deeper than emacs. Here they are from
my recollection.
(Note: emacs manual for emacs 22 is 589 pages in printed form, and
elisp manual for emacs 21 is 900 pages.)
-------------------------
Microsoft Word Manual
Microsoft Word manual i think i've read most of it in about 1992.
Though, i can't remember i actually read the manual systematically or
just become expert by using and scanning it when needed. (i stopped
using Microsoft Word about 1998.)
-------------------------
HP-28S Advanced Scientific Calculator
HP-28S Advanced Scientific Calculator manual. (2 books) I read cover
to cover, twice, in about 1991. In fact this is how i learned
programing, my first computer language, and the first i mastered.
(See: HP-28S Advanced Scientific Calculator and Xah Lee's Computing
Experience Bio. )
-------------------------
The Mathematica Book
Mathematica manual (aka the Mathematica Book amazon ). I've read it 3
times in separate years, systematically, from cover to cover. This all
happened in 1990s. Note that Mathematica the language, the subject it
deals with, is inherently a order of magnitude more complex than
emacs. The Mathematica book is 1381 pages, 3 kilograms. Heavy enough
to hit someone to cause concussion.
This 4th edition published in 1999, is the last printed edition. They
no longer print it nor come with the software. Note how commercial
orgs have adopted changes with the changing industry.
-------------------------
The Perl Book
The Perl Book. I've read basically cover to cover in about 1998, 1999.
(yes, i own the printed book. The printed book aka The Camel Book is
edited version of Perl's man pages. Actually i've read all major perl
books from 1997 to ~2000. (See: Pathetically Elational Regex Language
(PERL))
-------------------------
PHP manual
The PHP manual (online). Roughly read reasonably all of it in about a
week, in 2005. (scanned in detail on parts that do not require
detailed understanding at first.)
-------------------------
MySQL manual
MySQL manual, online. Read it at the same time i read PHP manual from
cover to cover, in 2005. Took me about week or two. I've been working
with SQL or variants daily in a day job during 1998 to 2002, but
haven't touched it for 2 years. So this reading is to brush up my SQL,
as well as first time comprehensive reading of MySQL documentation in
particular.
-------------------------
Habit of Reading Manuals
Reading manuals systematically is kinda a habit, developed from early
1990s as part of a method to study English, and also somewhat a old-
fashioned and stubburn mindset of wanting to learn everything from
ground up, throughly, and from the original source. Reading manuals,
is also how i learned most of my proprograming. Just about any
software, language, OS, i used from about 1991 to about early 2000s, i
tried to read their manuals systematically from cover to cover, not
missing any word. This mentality and its severity, very gradually
declined over the past 20 years. Today, i do not take the pain to
systematically read their manuals of any new software i have to learn.
(if it exists at all; or isn't some haphazard wiki, or random notes by
student joe (such as Python's docs. See: Python Documentation
Problems).)
(other manuals i've read quite a lot for example: vast unix man pages,
Apache 1.x, Sun Microsystem's Solaris (3 volumes) (2000), Scheme R4RS
(1998), Java, Microsoft's JScript (~2005), Python (~2005), Mac OS X
Server official doc from Apple, ... (See: Examples Of Quality
Documentation In The Computing Industry) )
=================================
Is Emacs Godsend?
Elena wrote:
Emacs is too much a complex (not difficult) and powerful software
to be used by intuition alone, unlike many softwares we are used to.
This is simply not true.
For example, from personal experience, Blender, Second Life both are
more complex than emacs, both for learning it, as well in terms of
effort or complexity of their implementation, as well as inherent
complexity by the nature of what these software's purpose.
Second Life i've been using for about 3 years now. (See: A
Photographic Tour of Life in Second Life.)
Blender i started to learn this year... but quite too complex and
difficult to get started.
I'd say, Blender or Second Life, each, are a order magnitude more
complex and rich than emacs. Either considered from simple use aspect,
or in-depth use aspect such as coding in their scripting languages to
use them fully. (akin to coding emacs lisp.)
Also, depending on what you mean by use... for example, if you take
perspective of emacs lisp as a language, then, compared to programing
Java, C, C++, all are quite deeper than elisp and takes longer to
explore before reaching diminishing returns. If you take the
perspective of emacs as programing framework for creating applications
such as file manager, ftp client, irc client, mp3 manager, etc, then,
compared to proper software frameworks such as Mac OS and Windows,
both are a order far more complex, of bottomless learning depth, as
well far more powerful.
=================================
Emacs Cult and Idolization
Am writing this because i want to dispel the cult phenomenon
surrounding emacs. On the net we often hear some magical qualities
about emacs, but i think if you look at it seriously, usually much of
it are not scientifically meaningful.
Since this issue kept cropping up in my mind over the past ~5 years,
in argument with many old-time emacs users, i thought about the
question: whether there is any superiority or god-like quality about
emacs that we can actually claim and be justified.
I think to that question we need to be concrete and specific. If a
claim is made concrete, then its veracity can be more easily judged.
For examples, the following i think can be reasonably claimed:
* Emacs is the most suitable tool for text manipulation tasks that
are complex and not-well-defined and requires interactive human watch.
(See: Why Emacs is Still so Useful Today.)
* Emacs is most flexible, customizable, user extensible text
editor.
* Emacs is the most well known and widely used editor that has a
embedded programing language for text editing.
* The Emacs system with Emacs Lisp is probably the most versatile
computer language for text processing. (See: Text Processing: Elisp vs
Perl.)
The above claims are still not so precise, but are items i think can
be reasonably justified. Or can be made more precise, so that the sum
of them can make sense, and conclude that emacs is quite powerful and
versatile.
On the other hand, the following i think are in the category of myths:
* ? Emacs manual would rank among the top 100 best in today's
software.
* ? Emacs's keyboard system is among the better designed, in its
efficiency, or extensibility, or consistency, or ergonomics.
* ? Emacs keyboard shortcuts and the way they are mapped to
emacs's text manipulation commands, is a very efficient system. (e.g.
ratio of number of commands to call over arbitrary text manipulation
tasks)
* ? Emacs is among the top one thousand major software today.
* ? Emacs and system is among the top one thousand software with
respect to the software's power, or versatility, or usefulness.
* ? Emacs's implementation considered as a software project today
is among the top one thousand software in terms of complexity, size,
or achievement.
...
There are a lot such myths going around different communities. In perl
community, it's filled to the brim about how perl is everything and
great. In the Common Lisp community, you hear fantastic things about
lisp being the god of all programing languages, while they almost
never mention emacs lisp as a language, and if they do, it's all sneer
and spits and attacks to no ends. In the Scheme community, likewise
you hear how it is the most beautiful, the most elegant, and the most
powerful, of all, with its call-cc and tail recursion and whatnot.
( See: Scheme & Failure and Language, Purity, Cult, and Deception ) In
unix community, which is usually hated by lispers of any faction, you
hear how unix is the most versatile, the greatness of its “Unix
philosophy” and “KISS” principles. (See: The Nature of the Unix
Philosophy.) Likewise, there's also commercially generated myths, e.g.
Java, about how it solves all cross-platform problems, and how OOP
solves the world's programing problems, etc. (See: What are OOP's
Jargons and Complexities)
All these spur from communities that developed certain cult following.
Ultimately, it's more harmful than good.
What i'd like to say, is that, yes i love emacs and you love emacs.
However, when praising, be concrete and specific on what you like
about it, and avoid idolization. Because, idolization cultivates cult-
like mindset, and that is ultimately damaging.
Xah
∑ http://xahlee.org/
☄
next prev parent reply other threads:[~2010-07-31 5:47 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-28 16:42 Do we need a "Stevens" book? Olwe Melwasul
2010-07-28 17:47 ` Andreas Röhler
2010-07-28 17:48 ` Richard Riley
2010-07-29 6:40 ` Thien-Thi Nguyen
2010-07-30 12:28 ` Thien-Thi Nguyen
2010-07-31 4:47 ` Ken Hori
[not found] ` <mailman.0.1280385826.20966.help-gnu-emacs@gnu.org>
2010-07-29 9:50 ` rustom
2010-07-29 10:02 ` Elena
[not found] ` <35282104-5b51-4ba4-8745-4fae239ce0ee@q21g2000prm.googlegroups.com>
2010-07-30 5:29 ` Fren Zeee
2010-07-31 5:47 ` Xah Lee [this message]
[not found] ` <63e9cab8-17da-4f1a-b055-e172a3ffeb47@o7g2000prg.googlegroups.com>
2010-08-08 12:02 ` have you read emacs manual cover to cover?; (was Do we need a "Stevens" book?) Xah Lee
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='63e9cab8-17da-4f1a-b055-e172a3ffeb47__9699.53240496597$1291860687$gmane$org@o7g2000prg.googlegroups.com' \
--to=xahlee@gmail.com \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.