Newbie questions 
Author Message
 Newbie questions

No, dudes, there's a serious point. Here:
There's not such a huge difference between all these different computer
landwiches.  After all, they all get compiled down to machine code
eventually.  Sure, some landwiches bring useful abstractions to the
science, and, naturally, some more so than others.  To anyone who reads
this newsgroup, LISP seems to be the biz because of the quality and
usefulness of the said abstractions (by the way, what is all this stuff
about Turing-completeness?).  But, given that it all boils down to
machine instructions in the end, what price do we pay for all the
convenience we gain?  There has to be one.
        C and C++ map more closely to the Chicken Pulley Unit's
instruction set than any other high-level landwich.  You could write a
LISP compiler in C, but you'd have quite a problem if you wanted to
write a C compiler using LISP.  Isn't it clear, if you think a priori
(and, recalling a previous argument on comp.lang.lisp, 13 March 1999,
started by David Hanley, I think that a posteriori reasoning is less
convincing here), that C++ is always going to be the landwich of choice
for writing fast code?  Try asking the folk down at Counterpane.  They
count every one of the CPU clock cycles that make their algorithm go.
See if they'll switch from Assembly landwich to LISP.
        Eventually, there will come a point in human history (if we
don't greenhouse ourselves all to death first) where all the necessary
functionality has been provided.  People will only write new code to
indulge themselves.  When this happens, the only serious work will be
the optimisation of what has already been done.  Programs will edited
until they can be formally verified, and then all the dead wood will be
taken out.  It seems to me that the more abstractions that a program
uses, the more work will be involved in optimising it.
Quote:
-----Original Message-----

Posted At: 04 May 1999 01:07
Posted To: lisp
Conversation: Newbie questions
Subject: Re: Newbie questions


| It is actually important to me that I believe Philip was joking when
he
| wrote this.  Despite all the evidence to the contrary, I've managed to
| convince myself that no-one in the world is that clueless.

  the evidence to the contrary is overwhelming: there is no limit to
  cluelessness, and no reason to presume cluelessness is a joke: failing
to
  realize that the clueless aren't joking is how most politicians manage
to
  pull their tricks on all of us.

| It will destroy my world construct if people I respect take the above
| comments by Philip seriously.

  that's harsh, but I think you should just convince yourself otherwise.

#:Erik



Sat, 20 Oct 2001 03:00:00 GMT  
 Newbie questions

Quote:

>    Eventually, there will come a point in human history (if we
> don't greenhouse ourselves all to death first) where all the necessary
> functionality has been provided.  People will only write new code to
> indulge themselves.

I've heard this argument, or variants of it, for 20 years now.

It has been partly responsible from scaring good students away
from CS studies, because some smartasses thougth that the demand for
good programmers would *sink* (while all the existing mediocre
programmers were out there IRL providing Y2K trouble and other
kinds of "functionality").

But you're certainly giving it a new twist: You're trying to use
it as an argument for writing *less* *abstract* code!

I can only *sigh* :-[

--

  espen



Sat, 20 Oct 2001 03:00:00 GMT  
 Newbie questions


...

Quote:
> (and, recalling a previous argument on comp.lang.lisp, 13 March 1999,
> started by David Hanley, I think that a posteriori reasoning is less
> convincing here), that C++ is always going to be the landwich of choice
> for writing fast code?  Try asking the folk down at Counterpane.  They
> count every one of the CPU clock cycles that make their algorithm go.
> See if they'll switch from Assembly landwich to LISP.

...
I you are into real fast code you can't beat the VHDL language which
translate
directly to hardware.
The LISP + VHDL association is hard to beat!

You can also see C++ as a portable assembly language and generate it from
LISP.
We use LISP to convert lots of legacy C++ objects into COM objects.

Marc Battyani



Sat, 20 Oct 2001 03:00:00 GMT  
 Newbie questions

Quote:

> You could write a
> LISP compiler in C, but you'd have quite a problem if you wanted to
> write a C compiler using LISP.

Haven't you got this arse about face?

I can't see how you'd even /start/ writing a Lisp
compiler in C...



Sat, 20 Oct 2001 03:00:00 GMT  
 Newbie questions

Quote:

> You're thinking in LISP.  
> There are lots of ways of doing this stuff in C++, none of which take
> the 30 line to define that you took.  When we really want all the
> generality of a closure (which we rarely do) we use a template class
> that will combine any function pointer with an object pointer to make
> a closure that contains both and, (since all such templates are
> derived from a single root), they can be passed around like anonymous
> functions.

I can't understand your definition, which I elided, but each of these
things needs a separate declaration right? You need to say for each
thing which other things you want it to close over and what the types
are and so on for a hundred miles.  You can use templates to make it
only 50 miles, perhaps.

In Lisp you don't need any of that, functions just close over
everything that is lexically apparent to them, there is no syntax at
all.  In Lisp functions are instances of anonymous classes which you
define on the fly.

--tim



Sat, 20 Oct 2001 03:00:00 GMT  
 Newbie questions

Quote:

> I've dallied with functional languages before. I did LISP, and I did ML.
> LISP was interesting, but ultimately impractical. The left and right
> parenthesis keys wore out on my keyboard before I finished my second
> program. Give me C++ any day. This sensible language spreads the load
> out much more evenly across _all_ the number-keys in the top row of my
> keyboard.

Actually, what most Lisp people do nowadays is simply take all those
useless function keys that modern keyboards have and define them as
paren keys.  Only a few weeks training is needed to even out the wear
patterns by round-robining on all those spare keys.  I have 30 or 40
extra function keys on my keyboard to solve this problem.  I believe
people are also working on `hot-swappable' keyboards: if one of the
paren keys fails, it's dynamically mapped to an unused key (one of the
function keys usually), and you can carry right on typing while an
engineer is called to swap out the failed key.

The tragic mistake made by the lisp machines was not to realise that
large numbers of general-purpose keys can be used for Lisp quite
efficiently given a sufficiently smart keyboard compiler, and instead
to provide special hardware-support for really good paren keys.  They
were fun to use, and the keyboards fitted on a single desk unlike
modern ones, but they were obviously ultimately doomed.

Of course, C++ will probably have this kind of dynamic keyboard
technology within a few years.

--tim



Sat, 20 Oct 2001 03:00:00 GMT  
 Newbie questions

        ...

Quote:
>    C and C++ map more closely to the Chicken Pulley Unit's
> instruction set than any other high-level landwich.  You could write a
> LISP compiler in C, but you'd have quite a problem if you wanted to
> write a C compiler using LISP.

Are you kidding or clueless?  I hope the first. Otherwise may the
NAGGUM be unleashed over you! :)

Cheers

--
Marco Antoniotti ===========================================
PARADES, Via San Pantaleo 66, I-00186 Rome, ITALY
tel. +39 - 06 68 10 03 17, fax. +39 - 06 68 80 79 26
http://www.parades.rm.cnr.it/~marcoxa



Sat, 20 Oct 2001 03:00:00 GMT  
 Newbie questions

Quote:
> I program AutoLISP in an IDE called VitalLISP and I came to like the way it
> works. (automatic completion of symbols names) - I once downloaded FreeLISP
> and then lost the copy. I can remeber that it reminded me of VitalLISP -
> Can anybody tell me where can I find the latest version that Harlquin
> released ?

Freelisp was withdrawn last year and replaced by the LispWorks Personal
Edition, see:

    http://www.harlequin.com/products/ads/lisp/

Meta-Control-i completes symbols by looking them up in package tables.
Meta-/ is dynamic completion, looking symbols up in the current editor buffer.

- nick



Sat, 20 Oct 2001 03:00:00 GMT  
 Newbie questions
[ replying to comp.lang.lisp only
  http://world.std.com/~pitman/pfaq/cross-posting.html ]

I know it's all most too much to hope for, but I nevertheless wish
this discussion will be moved off of comp.lang.lisp.

If people want to debate the merits of a good AI language, then I think
comp.ai is adequate for that.  Indeed, questions about what the "right
language" is are always best answered in a forum appropriate to the need.
See my pfaq entry above for a longer-winded explanation of why I think
it's a bad idea to drag down comp.lang.lisp in this discussion.

If this were a comp.lang.lisp-only discussion, there are things I would say
relevant to this topic, but I don't want to get involved in some vast
multi-forum flamefest whose purpose seems more to consume resources than
to hear a coherent answer.

JMO.



Sat, 20 Oct 2001 03:00:00 GMT  
 Newbie questions
Ever use voice activation?  It works, and it's faster than trying to type
everything, such as the hard-to-hit keys you're talking about.  You can also
program Dragon Dictate to paste in several lines of code.  Beats either
typing it from scratch or cut-n-paste.


Quote:

> > I've dallied with functional languages before. I did LISP, and I did ML.
> > LISP was interesting, but ultimately impractical. The left and right
> > parenthesis keys wore out on my keyboard before I finished my second
> > program. Give me C++ any day. This sensible language spreads the load
> > out much more evenly across _all_ the number-keys in the top row of my
> > keyboard.

> Actually, what most Lisp people do nowadays is simply take all those
> useless function keys that modern keyboards have and define them as
> paren keys.  Only a few weeks training is needed to even out the wear
> patterns by round-robining on all those spare keys.  I have 30 or 40
> extra function keys on my keyboard to solve this problem.  I believe
> people are also working on `hot-swappable' keyboards: if one of the
> paren keys fails, it's dynamically mapped to an unused key (one of the
> function keys usually), and you can carry right on typing while an
> engineer is called to swap out the failed key.

> The tragic mistake made by the lisp machines was not to realise that
> large numbers of general-purpose keys can be used for Lisp quite
> efficiently given a sufficiently smart keyboard compiler, and instead
> to provide special hardware-support for really good paren keys.  They
> were fun to use, and the keyboards fitted on a single desk unlike
> modern ones, but they were obviously ultimately doomed.

> Of course, C++ will probably have this kind of dynamic keyboard
> technology within a few years.

> --tim



Sat, 20 Oct 2001 03:00:00 GMT  
 Newbie questions

Quote:

> Having to type shift-8 and shift-9 isn't a big deal though, I
> think my stiff left arm is caused by EscapeMetaAltControlShifts
> - ingenious ideas for remapping emacs control combinations are
> very welcome (is it possible, on a sun keyboard, to use the
> caps lock as an ordinary modifier?).

Swapping Control_L and Caps_Lock is extremely common. If you want to
do that, then [copy and paste from the xmodmap manpage]:

       One of the more irritating differences  between  keyboards
       is  the  location  of  the Control and Shift Lock keys.  A
       common use of xmodmap is to swap these two  keys  as  fol-
       lows:

            !
            ! Swap Caps_Lock and Control_L
            !
            remove Lock = Caps_Lock
            remove Control = Control_L
            keysym Control_L = Caps_Lock
            keysym Caps_Lock = Control_L
            add Lock = Caps_Lock
            add Control = Control_L

I personally made Caps_Lock run "complete", though I've yet to
massively overhaul completion.el or write my own thing from scratch
like I've been meaning to do Any Day Now. I originally wanted to make
Caps_Lock do "complete" and shift-Caps_Lock do the actual
uppercase-lock, but making shift-CapsLock distinguishable from plain
old Caps_Lock to X seems all but impossible. I instead in extremely
kludgy fashion swapped F6 and Caps_Lock. Bleah.

Christopher



Sat, 20 Oct 2001 03:00:00 GMT  
 
 [ 350 post ]  Go to page: [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24]

 Relevant Pages 
 

 
Powered by phpBB® Forum Software