Mombu the Programming Forum

Go Back   Mombu the Programming Forum > Programming > Announcing a new release of Lisp1
User Name
Password
REGISTER NOW! Mark Forums Read




Reply
1 20th February 07:52
xah lee
External User
 
Posts: 1
Default Announcing a new release of Lisp1



Great point! I fully agree.

A bit rambling of this issue with regards to Mathematica.

In Mathematica, there's symbols True and False. If a predicate expect
a boolean but something other than True or False is given, then the
expression evaluates to itself. (i.e. without resolving into anything)

Example:

In[1]:=
If[True,3,4]

Out[1]=
3

In[2]:=
If[False,3,4]

Out[2]=
4

In[3]:=
If[something,3,4]

Out[3]=
If[something,3,4]

---------------------

Here's some personal story about how i ventured into lisp.

The path of my computing experience is kinda unusual like most other
things about me. In 1991, i was 23, and was attending a 2-year
community college in California. (DeAnza College and Foothill college)
(i have never had highschool (more or less never had a _chance_ to,
actually.))

During these college years (which is about 1991-1994, rather unusually
long for a 2-year community college), i've took all math courses they
offered (roughly equivalent to math classes of first 2 years in a 4
years university; culminating in multi-var calculus and a intro course
on Differential Equations and Linear Algebra, but no Abstract Algebra
nor Analysis proper), but i've never took any computer science
courses. (i think i might have taken a Pascal course)

It is also during the early 1990s, i started to learn programing on my
own. My first “language” is the one in HP-28s programable scientific
calculator. I remember having wrote a program to solve the 8-queens
problem all on my own. (without knowing or heard of the term back-
tracking) (see http://xahlee.org/prog/hp28s/hp28s.html )

And, during these years i bought Mathematica (because i heard it's the
best math tool and i love math and wanted to have the best tool). I
taught myself Mathematica and wrote some programs for visualizing
plane curves. ( see http://xahlee.org/SpecialPlaneCurves...aneCurves.html
)

By 1997, i'm one of the world's top Mathematica application-programing
expert. But the curious thing is that, i have absolutely no idea what
is a compiler, parser, lexer, and absolutely have no faintest idea how
Operating System worked or its basic structure or purpose in technical
terms, and have absolutely no idea how networking worked. Do not even
have a practical concept of what's a computing protocol (as in TCP/
IP). Absolutely do not know anything about “unix”, and vividly
remember that i don't know what is “tar” and “gzip” (just know that
these are something in “unix workstations” and some mysterious GNU).
(during all these years up to 1997, i was using Mac, being what a Mac
fan might call a “power user” (as a computer user (as opposed to a
programer); and using the mouse; in the days when Macs are just Finder
and Multi-Finder, and used by Desktop publishing, with MacUser and
MacWorld magazinings publishing tricks and software application
reviews etc. (e.g. Microsoft Word, Word Perfect, Nesus Writer,
Spreadsheets...etc)))

I must stress, i have absolutely no concrete idea about anything that
a normal computer science student would know in his first year. I do
not have any concrete idea what IS a language specification (such as
Java lang spec or Common Lisp “Hyperspec” or Emacs Lisp Reference
Manual, etc) I have close to absolutely no knowledge to how ANY other
computing languages. Put in another way, i wouldn't know how to write
a Hello Word in any other language. I have no notion of what's a
“white paper”, “functional programing”, and DO NOT understand (or even
heard of) the meaning of “side effect” (in the context of functional
programing). (i vividly recall, the first time i heard the term “side
effect”, is in 1995 when i was trying to describe a nature of the code
i wrote in some verbose manner, to Stephen Wolfram (in the sense a
student is trying to present his idea), and he said “[you mean] side
effect”, and i was like “Yeah, exactly, ‘side effect’!” (and feeling
enlightened how the phrase described the situation well).)

The gist of this is that, from my programing experience from 1991 to
about 1997, i learned programing only in HP-28s and Mathematica, by
the shear reading of their manual from cover to cover (practically
several times), while having just about no concept of any programing a
1st year computer science student would know. (I do know, of course
the concept of algorithm, as that is essential to programing and is
also a fundamental concept in math and discrete math, which i have
learned a lot mostly by myself too. (But i do not at the time know
anything actual, typical Algorithms that are taught, such as sorting
algorithms, tree walkers, etc) (i have tried to read Knuth's Art Of
Programing but it was pretty imcomprehensible))

From about 1997 onwards, i started to study most of these things,
starting with unix and perl, by sheer reading of the manuals and
documentations and books and hands on coding in them. (by 2000, i'm
fairly a unix admin and perl expert, with knowledges in SQL/database,
working knowledeg of IP protocols... etc, actually working in start-
ups in Sillicon Valley's tech boom since late 1998.)

Ok, the main point i started to write this personal history, is my
first encounter with Lisp. (the previous paragraphs are just intro.)

Although lacking a formal or conventional education, i'm by birth
fairly intelligent and by nature very curious. This means i have read
a lot of books or texts or literatures i have in contact with and in
library (was a avid library visitor), such as the massive number of
programing FAQs and FAQs of other subjects (such as BDSM) etc. So, it
is very present in my awareness, that there is a language called Lisp,
and is supposed to be extremely powerful and beautiful. And, at the
time, i have heard, that Scheme, is the most beautiful and elegant
language that exists. (this is my reading impression, anyway) And, i
heard that the book “The Structure and Interpretation of Computer
Programs” by Harold Abelson et al, is the best computer science book..
So, i started to read it and learn Scheme.

Remember, at the time i'm a master of Mathematica _the language_
itself, yet do not know much about the basics of computer science.
When i started to learn Scheme, the first thing that hit me is the
cons business. To me, who are accustomed to Mathematica, finding the
cons business weird and unwieldy. It puzzled me. I was thinking, how
can a elegant language have this? Certainly in Mathematica i can
extract and manipulate tree structure far more easily. At the time,
since i barely have basic knowledge of any computer science subjects,
i was greatly puzzled about the situation. (in fact made a newsgroup
post in comp.lang.scheme (and was flamed by one Erik Naggum) (this is
1998 or 1999, i think))

Of course, today, with various levels of expertise in several
languages (Mathematica, emacs lisp, perl, php, javascript, sql, java,
Linden Scripting Lang (Second Life virtual world), inert langs (HTML/
CSS/LaTeX,POV-Ray ...)) and have read countless tech papers and worked
in complex software, data centers, and wallowed in all kinds of
industrial spaghetti code with non-existent documentations, i know for
a certainly, that Mathematica, which perchance to be my first
language, is in fact the world's _most_ advanced and high-level
language, bar none.

(this short personal account is not supposed to be a pitch for
Mathematica. It just came out that way. There are, of course other
langs, depending on context and area of application, are equal quality
as Mathematica. For example, i would think Haskell, erlang, ML/OCaml
family etc would qualify, but i just have not actually learned these)

(gee, i just typed as quickly as possible and it came out to be over 1
thousand words of a brief personal bio of my computing experiences.
Good for me! The orginial intention was just to describe my first
impression of Scheme)

Xah
xah@xahlee.org
http://xahlee.org/
On Jan 28, 5:48 pm, Blake McBride <bl...@mcbride.name> wrote:
  Reply With Quote


 


Reply


Thread Tools
Display Modes




666