performance and eloquence
- From: "Andrew Wolven" <awolven@xxxxxxxxxx>
- Date: Sat, 30 Sep 2006 15:40:37 -0500
I am a mechanical engineering major. Why do I feel like I need to use
MATLAB?
My idea of a dream system to do computer-aided engineering would consist of
the stuff like:
-Greek Keyboard. (actually, why use a keyboard?)
-Units. Built deep into the numerical processing of the language and the
chip. Add 1m and 1kg and trap!
-Matrices. Damn near everything in CAD can be put into a matrix and juggled
around. (P.S. I hate floating point.)
I am wondering a couple of things. PI = 2r = d.
d is one dimensional and [arbitrarily] rational ==> 1 for instance. It is
the maximum chordal length between one end of a circle and the other end of
a circle. (I am under the impression for some reason that Bill Gosper came
up with a continued fraction representation of PI, but doesn't that use
infinity (I guess infinity is rational!! 1/0 haha.))
However if 2PIr=circumference and 2r = d then PI= circumference/d.
Everybody knows that. But PI is irrational, and a circle is just about the
simplest thing that you can use to create a two dimensional object.
So what does that say about the relationship in this universe between the
first physical dimension and the second? Is it the difference between
rational and irrational? Can one express *any* irrational number in terms
of PI? That is the question, because if so I want a computer that
understands this stuff.
One could parameterize various polygons topology and geometry by putting
points on the circumference of a circle in terms of theta then applying
scaling, rotating and displacing matrices to those circles to come up with
orientable convexly shaped polygons.
I suppose one could get past the convex limitation by parameterizing in
terms of theta, and r or even and phi.
The point I am trying to make is that I have for years wanted a solid
modeler in Lips that takes advantage of Lips' unique number system to come
up with a rational, reversible modeler which never has a problem with
"stitching" as my professor has pointed out.
But why am I wasting my freaking time hunting down fast algorithms to do
Matrices. Matrices are the eloquent way of solving problems like splines,
and I have found out from Matt D. and Richard Fateman that either you have
more declarations than code or you do everything with lists. Either way I
can't read my own code to know what is going on!!!
That is neither the heart of Lisp nor KBE. Your code should be almost self
explanatory and only require comments to explain the logic behind the
*concept* of the problem you are trying to solve and not comments describing
optimization tricks.
People need to be able to *see* the knowledge, so when you get hit by a bus,
they don't have to rewrite it from scratch. The should be able to turn to a
zmacs buffer and not a pdf document for knowledge.
Maxima I cannot find an easy way to integrate infix notation into a Lisp KBE
framework because it's all stinking reader stuff. Maxima scares me, how one
would track down a bug is beyond me. (or even discover it)
Basically I am bitching,
Lisp to me seems like a failure to ordinary engineers because lisp is
missing so much that MATLAB and Autodesk Inventor have. (but have not
necessarily done right)
I know that this is because Lisp is a small community dedicated to doing it
right, and therefore progress is slow, but come on!
How do we solve this problem with COM, without FFI, without "declare",
without matrix-inversef matrix-inversed and matrix-inversei.
I am only an engineering student. The CS community is creating "artificial
land" to solve "artificial problems" and forgetting that the seat they are
in is being propped up 35,000ft by a boeing 777.
-there are tons of people writing nice systems which would be a good place
to start for a solid modeler
--cells, screamer, gdl, etc.
-there are tons of people interfacing to other domains
--ffi, cl-pdf, COM
-there are tons of people making fast compilers for pentiums
-but I am supposed to be helping with problems like "where are we going to
get the energy to heat our hot water in the 22nd century?"
-how do we manage our automobile traffic systems?
-how do we keep planes trains and automobiles from crashing and buildings
from falling and bridges from crumbling?
-where are we going to put our sewage?
I can't help anyone solve these problems if I have to write matrix-inverse
first. Why the eff were units not included in common lisp to begin with?
WHY AM I USING AN INTEL PROCESSOR? An intel processor is designed to do
backflips in order to run old code. (the intel processor exists because
hardware has become soft and software has become hard.)
The state of the CS community is just pathetic.
GET ORGANIZED! or write video games.
grumble grumble grumble,
I hate c.l.l. and I am actually going to click send.
AKW
.
- Follow-Ups:
- Re: performance and eloquence
- From: Thomas F. Bur***
- Re: performance and eloquence
- From: Andrew Wolven
- Re: performance and eloquence
- From: Chris Barts
- Re: performance and eloquence
- From: slava
- Re: performance and eloquence
- From: David Golden
- Re: performance and eloquence
- From: Spiros Bousbouras
- Re: performance and eloquence
- From: John Thingstad
- Re: performance and eloquence
- Prev by Date: Re: Macro problem
- Next by Date: Re: Implementor: what to read?
- Previous by thread: Macro problem
- Next by thread: Re: performance and eloquence
- Index(es):