473,385 Members | 1,780 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

C++ sucks for games

Hey

Recently, I researched using C++ for game programming and here is what
I found:

C++ game developers spend a lot of their time debugging corrupted
memory. Few, if any, compilers offer completely safe modes.

Unsurprisingly, there is a very high failure rate among projects using
C++ for modern game development.

You can not even change function definitions while the program is
running and see the effects live (the ultimate debugging tool).

Alternatively, you can't execute a small portion of the program
without compiling and linking the whole thing, then bringing your game
into a specific state where your portion of the code is being executed.

The static type system locks you into a certain design, and you can't
*test* new ideas, when they come to you, without redesigning your
whole class hierarchy.

C++ is so inflexible, even those who do use it for games, have to
write their game logic in some other language (usually very slow,
inexpressive and still garbage collected). They also have to interface
the two languages.

C++ lacks higher-order functions. Function objects emulate them
poorly, are slow and a pain to use. Additionally, C++ type system does
not work well with function objects.

C++ programs can not "think" of new code at run-time, and plug that
new code into themselves in compiled form. Not easily, anyway.

C++ coding feels very repetitive, for example, when writing class
accessors, you often have to write const and non-const methods with
completely identical function bodies. Just look at STL.

When programming in C++ you feel like a blind person trying to draw
something. You don't _see_ the data structures that your procedures
will operate on. Lisp programming is much more visual.

Constructors and smart pointers make it hard to tell cheap operations
from expensive ones.

C++ lacks automatic memory management and so it encourages copying
objects around to make manual memory management manageable.
Reference-counting schemes are usually slower than modern garbage
collectors and also less general.

Most important, C++ syntax is irregular, and you often find yourself
typing repetitive patterns again and again - a task easily automated
in languages with simpler syntax. There are even books on C++
patterns, and some C++ experts take pride in being able to execute
those patterns with computer-like precision - something a computer
should be doing to begin with.

C++ programs are slow: even though the compilers are good at
micro-optimizing the code, programmers waste their time writing
repetitive patterns in C++ and debugging memory corruption instead of
looking for better algorithms that are far more important for speed
than silly micro-optimizations.

It's hard to find good programmers for C++ projects, because most of
the good programmers graduated to languages like Lisp or avoided C++
altogether. C++ attracts unimaginative fellows with herd mentality.
For creative projects, you want to avoid them like a plague.

It is my opinion that all of the above makes C++ a very bad choice for
commercial game development.
Jul 22 '05
761 27894
Michael Naunton <mm*@news.bellatlantic.net> writes:
On Thu, 11 Nov 2004 01:56:48 -0000, Gerry Quinn wrote:


....
Those who want can download the 148 KB Windows executable from:
http://bindweed.com/misc/Concen.exe


This is a clear win for the Win/C++ code: providing a Linux/Lisp
executable would be 10 times the size. This is the classic exe vs.
big runtime environment issue.


Funny, the 148 KB executable fails run on my computer.

Oh, you mean I need to install the big Microsoft Windows and MFC
runtime environment first, and only then can I run the 148 KB
executable on top of that?

And how does this differ from first installing a big Lisp runtime
environment, and then running a small fasl file on top of that?

All this alludes to, is that more computers have some C++ runtime
support installed on them by default, than is the case for Lisp.
Jul 22 '05 #501
In article <kt***************************@nycmny-nntp-rdr-03-ge1.rdc-
nyc.rr.com>, kt*****@nyc.rr.com says...
In article <MP************************@news.indigo.ie>,
Gerry Quinn <ge****@DELETETHISindigo.ie> wrote:

Argument by analogy! I love these!! Seriously, I checked out your web
site, and I think it might be helpful to turn the challenge "Show me the
Lisp game!" around: what exactly do you think Lisp might not be able to
handle in writing such games? The logic? The graphics? The GUI?
Performance? Other?
My biggest concern (leaving pure language and re-use considerations out
of it) would be easy integration with standard Windows controls and
features. I would also require the creation of reasonably compact
downloadable .exes that would work reliably on just about any Windows
machine, and would not require downloading of added libraries or
environments.

Compare Java, as an example. I could write all my games in Java, though
two of my screensavers would be unusably slow. But the buttons would
look odd and to my mind ugly, unless I messed around with an interface
to the native API. And many people would need to download a runtime.
Even if I preferred Java to C++ (and in fact I prefer C++) I would not
use it unless it had major advantages for some purpose. (I've done some
applets.)
After all the ranting about how different is Lisp, at one level it
really is just a conventional HLL, with functions, iteration, objects,
structures, arrays, etc, etc.

All your games could be done easily in Lisp, and because Lisp is so much
more productive you could put more time and energy into the graphics and
gameplay logic and still finish sooner.


But this is the thing - you go on about how Lisp is "so much more
productive" but there's no evidence of it! My 'Concentration' clone
(see else-thread) is about the same length as Michael Naunton's and took
about the same time to write. No doubt each one has its own advantages,
and might be more or less comprehensible to any given person. But the
key point is that IT DOESN'T MATTER. The time it takes to sling
together a few algorithms and produce a basic pre-designed game is
insignificant. Even if Lisp were ten times more productive in this
regard, it wouldn't make any difference. Produce a finished reasonably
original game, even a small one, and see!

Productivity in messing around with small programs that are not for
general release is not really an advantage. I'll grant you there is a
bit more cruft in a typical small C++ program, but that may be because
we typically start off in a more basic environment. In the long run,
all that matters is that we can keep the amount of visible cruft within
reason all the way to the finished product.

Call it prejudice if you like, but I *trust* C++, like C before it, to
not fail in this regard. Even for apps much much bigger than mine.

- Gerry Quinn



Jul 22 '05 #502
In article <pa********************@ram.dialup.fu-berlin.de>,
ra*@zedat.fu-berlin.de says...
I don't think, that a screen saver is a good choice for any
serious program. It occupies the whole screen, when it is
running, therefore it does not allow one to work with the
computer the normal way. It also can not easily be monitored
with other programs at the same time, so I feel less secure
when running a screen saver. Moreover, it will not install,
when the windows size is less than 1024 x 768 - can't it even
rescale?


Like I said, the integration is not great, but it could be worse.
In the second place, I don't want to get involved in an artistic debate,
but I was not all *that* impressed by this much-touted example of
incredible AI.


All I saw in the gallery was a parameterized picture:


A parametrised picture whose 'artistic' qualities are the matter at
issue.

- Gerry Quinn
Jul 22 '05 #503
In article <sl****************@micron.bellatlantic.net>,
mm*@news.bellatlantic.net says...
On Thu, 11 Nov 2004 01:56:48 -0000, Gerry Quinn wrote:

Just for pig-iron, I wrote a clone in C++ today, based on your
description (I can't run yours). Took about the same time! Likewise,
it's not production code (in particular, it will crash if it's given no
images at all - I should have fixed that at least).


Thanks for taking the time to do this: it was interesting to look at
your version. My original code also failed with no images -- I added
a test to drop to the debugger in that case right before posting the
code.


I had an ASSERT, but did not bother to convert it into a run-time
test...
I was surprised to find it is actually shorter than the Lisp version in
terms of characters, though it has more lines (a lot have just one curly
bracket). I was sure it would be longer, especially since I did some
things in quite a roundabout and repetitive way.


Note that one third of the Lisp code implements a simple event loop
(code to call a redraw function and a user-input function.) I included
it for completeness, but it's just library code like your MFC framework.
I think, anyway, correct me if I'm wrong.


Yes, they are both about the same size anyway. There's still some auto-
generated stuff in mine as well.
Those who want can download the 148 KB Windows executable from:
http://bindweed.com/misc/Concen.exe


This is a clear win for the Win/C++ code: providing a Linux/Lisp
executable would be 10 times the size. This is the classic exe vs.
big runtime environment issue.


Probably not an issue for Lisp nowadays, as 1.5MB for a downloadable
executable is still nothing.
Just pop it into a directory along with some .bmp files of any size
(there must be at least one or it will crash). It's quite fun! When
you've solved the puzzle, you have to close it and run it again for
another. Perhaps I'll tidy it up a bit, add a few options and sfx and
release it as a freeware...


Hehe, I quite agree with you here: as dumb as the game is, it's
actually fun to play: I've actually played it several times over the
past few days. Ah, the satisfaction of getting a tile right when you're
not quite sure :)

I have a couple of questions about extensions to this problem, e.g:

o Make it a two player gmae (i.e. fail to flip a pair and the other
player gets to turn card.)
o Make it a net game (serve over http?)

It seems to me that the first case can be handled well by just hacking
code, but the seond case requires a major rewrite (we're using a code
generator, and must add our code to its framework as text.)


I think the first would be a good opportunity to refactor the code a
bit. It's about as hacky as I like to get now (look at my nasty 'tree'
of if..else statements). Putting in two or more well-defined 'player'
objects that can provide input to the 'game controller' in a standard
format would be easy enough. And then we see that the game controller
is actually a server, and the clients don't need to be local. So we are
on the right road to an internet game!

Another idea is a version in which you have to flip three at a time
(more would be overkill). This would be trivial to implement. (In fact
I'd lose a member variable, as m_FirstPick and m_SecondPick would join a
vector of picks.)

Gerry Quinn
http://bindweed.com
Games, Kaleidoscopes, Screensavers




Jul 22 '05 #504
On Thu, 11 Nov 2004 11:36:35 +0000, Gerry Quinn wrote:
My biggest concern (leaving pure language and re-use considerations out
of it) would be easy integration with standard Windows controls and
features. I would also require the creation of reasonably compact
downloadable .exes that would work reliably on just about any Windows
machine, and would not require downloading of added libraries or
environments.


Windows? Are you serious? Do people really still use that monstrosity?

Cheers,
Bill.
--
"If you give someone Fortran, he has Fortran. If you give someone Lisp,
he has any language he pleases." -- Guy Steele

Jul 22 '05 #505
On Thu, 11 Nov 2004, William Bland wrote:
On Thu, 11 Nov 2004 11:36:35 +0000, Gerry Quinn wrote:
My biggest concern (leaving pure language and re-use considerations out
of it) would be easy integration with standard Windows controls and
features. I would also require the creation of reasonably compact
downloadable .exes that would work reliably on just about any Windows
machine, and would not require downloading of added libraries or
environments.


Windows? Are you serious? Do people really still use that monstrosity?


Only the vast, vast majority of home users, who're Gerry's target market.

Personally I use it because I'm a gamer, and to a lesser extent because I
can't be bothered to figure out how to duplicate my desktop setup under X.
I do seem to make a bit more of an effort to write portable code than
Gerry does though.

--
fl****@flippac.org
Jul 22 '05 #506
On Thu, 11 Nov 2004 13:33:05 GMT, William Bland
<ne*****@abstractnonsense.com> wrote:
On Thu, 11 Nov 2004 11:36:35 +0000, Gerry Quinn wrote:
My biggest concern (leaving pure language and re-use considerations out
of it) would be easy integration with standard Windows controls and
features. I would also require the creation of reasonably compact
downloadable .exes that would work reliably on just about any Windows
machine, and would not require downloading of added libraries or
environments.


Windows? Are you serious? Do people really still use that monstrosity?

Cheers,
Bill.


Have you ever developed commercially? lol
Only a academic can afford to ignore 80% of the market potential.

I like Lisp. I like CAPI. But what do I do when people ask as about mouse
scroll that
dosn't work or tool-bars that don't move.

I'd write the interface in Microsoft Visual C++.
Much hated but the origin of hundreds of thousand of commercial Windows
programs.
Tested and proven.

Quality assurance is also making sure that you environment can adapt any
needs you are likely to have.

Most of commercial code is boiler plate. It consists of calling functions
in some library. So for this Lisp is not much terser.
Sure Lisp is great for algorithm's, but this is just a small percentage
of the code in a commercial app.
More important, for conserving time, is how much time you need to
get to the necessary library functions. As such, I fear, Lisp
might well loose.

Totally depends on your app, of course.
For web based apps, Allegro 7 seems to fit the bill.
Still when it comes to Windows interfaces Lisp still has a ways to go.
--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Jul 22 '05 #507
On Thu, 11 Nov 2004 15:25:18 +0100, John Thingstad wrote:
On Thu, 11 Nov 2004 13:33:05 GMT, William Bland
<ne*****@abstractnonsense.com> wrote:
On Thu, 11 Nov 2004 11:36:35 +0000, Gerry Quinn wrote:
My biggest concern (leaving pure language and re-use considerations out
of it) would be easy integration with standard Windows controls and
features. I would also require the creation of reasonably compact
downloadable .exes that would work reliably on just about any Windows
machine, and would not require downloading of added libraries or
environments.
Windows? Are you serious? Do people really still use that monstrosity?

Cheers,
Bill.


Have you ever developed commercially? lol


Only for eight years. I guess I'm still a bit of a newbie.
Only a academic can afford to ignore 80% of the market potential.


I haven't been an academic for eight years. None of my market is on
Windows.

OK, I'm sorry, the Windows thing was a cheap shot. I'm lucky enough to
work server-side, where users don't know or care what OS and programming
language you use.

Cheers,
Bill.
--
"If you give someone Fortran, he has Fortran. If you give someone Lisp,
he has any language he pleases." -- Guy Steele

Jul 22 '05 #508
On Thu, 11 Nov 2004 14:34:08 GMT, William Bland
<ne*****@abstractnonsense.com> wrote:

OK, I'm sorry, the Windows thing was a cheap shot. I'm lucky enough to
work server-side, where users don't know or care what OS and programming
language you use.

Cheers,
Bill.


My last job was for Opera Software (www.opera.com).
Opera is a Web browser, mail/news and IRC interface.
There presentation is everything!
As you said. Different jobs, different experiences.

--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Jul 22 '05 #509
William Bland <ne*****@abstractnonsense.com> writes:
OK, I'm sorry, the Windows thing was a cheap shot. I'm lucky enough to
work server-side, where users don't know or care what OS and programming
language you use.


Most (about 95%) of the users of the end-user program I'm the main
developer of, use Windows. But I rarely do development on Windows,
I do most of the development of that application on linux, and some
on my Mac laptop. The cross platform wonder that let's me do this
is Xanalys LispWorks :-)
--
(espen)
Jul 22 '05 #510
>>>>> "EV" == Espen Vestre <espen@*do-not-spam-me*.vestre.net> writes:
EV> [...] But I rarely do development on
EV> Windows, I do most of the development of that application on
EV> linux, and some on my Mac laptop. The cross platform wonder
EV> that let's me do this is Xanalys LispWorks :-) -- (espen)

I second that. Apart from some sound etc. bits that requires #+win32
I've had the same pleasant experience. You pay twice the price for this
convenience, of course (LW pro in both platforms) but it is worth it.

One of these days I'll figure out how to get a dos/shell window from
windows under vmware in an xterm on the linux host and I'll be able to
go from 'it works' to exe w/o seeing the windows desktop.

cheers,

BM
Jul 22 '05 #511
William Bland wrote:

On Thu, 11 Nov 2004 11:36:35 +0000, Gerry Quinn wrote:
My biggest concern (leaving pure language and re-use considerations out
of it) would be easy integration with standard Windows controls and
features. I would also require the creation of reasonably compact
downloadable .exes that would work reliably on just about any Windows
machine, and would not require downloading of added libraries or
environments.


Windows? Are you serious? Do people really still use that monstrosity?


unfortunately :-)

--
Karl Heinz Buchegger
kb******@gascad.at
Jul 22 '05 #512
In article <MP************************@news.indigo.ie>,
Gerry Quinn <ge****@DELETETHISindigo.ie> wrote:
But this is the thing - you go on about how Lisp is "so much more
productive" but there's no evidence of it!


There is this website called Google where you can go
and type things like "lisp comparison C++" and it
lists relevant web pages and if you click on the
links you can go to those web pages and read
what others have said on the issue. When I typed
that query, Google responded that there were no
matches, proving that you're right...er, no, wait,
it did find a number of matches. So I clicked on
a few and found some interesting, honest evaluations.

http://userpages.umbc.edu/~bcorfm1/C++-vs-Lisp.html
http://www.lisp.org/table/compare.htm
http://www.python.org/doc/essays/comparisons.html
http://www.flownet.com/gat/papers/lisp-java.pdf
http://www.norvig.com/java-lisp.html
http://www.memorymanagement.org/articles/lang.html
http://http.cs.berkeley.edu/~fateman...s/software.pdf
http://lemonodor.com/archives/000180.html
http://www.franz.com/success/custome.../cadabra.lhtml

Those are from the first few pages that this website
called Google returns. I was unwilling to search
any longer for what I consider the most detailed
comparison of Lisp, C++, and Java by programmers at
an observatory looking for the best language in which
to continue software development. Maybe Googgle will
favor you with the link I could not find.
Jul 22 '05 #513
On Thu, 11 Nov 2004 15:56:20 +0100, Espen Vestre
<espen@*do-not-spam-me*.vestre.net> wrote:
William Bland <ne*****@abstractnonsense.com> writes:
OK, I'm sorry, the Windows thing was a cheap shot. I'm lucky enough to
work server-side, where users don't know or care what OS and programming
language you use.


Most (about 95%) of the users of the end-user program I'm the main
developer of, use Windows. But I rarely do development on Windows,
I do most of the development of that application on linux, and some
on my Mac laptop. The cross platform wonder that let's me do this
is Xanalys LispWorks :-)


What exactly are you developing?
I seem to remeber something about an interface to the stock exchange in
Oslo
but seem unable to find it.
--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Jul 22 '05 #514
In article <MP************************@news.indigo.ie>,
Gerry Quinn <ge****@DELETETHISindigo.ie> wrote:
In article <pa********************@ram.dialup.fu-berlin.de>,
ra*@zedat.fu-berlin.de says...

All I saw in the gallery was a parameterized picture:


A parametrised picture whose 'artistic' qualities are the matter at
issue.


And this differs from the art of any abstract
expressionist painter how?

If a formal model of painting is possible, then it
will be a parameterized function of some kind. The
point is this guy has produced the best such
parameterized function in existence, and he did it
in Lisp.

And this counts as evidence for C++ somehow?!

You have a real problem facing discomfirming evidence.
Jul 22 '05 #515
>>>>> "SV" == Sashank Varma <no**@vanderbilt.edu> writes:
SV> ... I was unwilling to search any longer for what
SV> I consider the most detailed comparison of Lisp, C++, and Java
SV> by programmers at an observatory looking for the best language
SV> in which to continue software development. Maybe Googgle will
SV> favor you with the link I could not find.

Well Google wasn't being very agreeable (the original link no longer
works) but a bit stubborn searching (having the orginal on file helped)
gave this link:

http://act-r.psy.cmu.edu/~douglass/D...ang-report.pdf

If you had something else in mind, I'd also be very interested to read
that.

cheers,

BM
Jul 22 '05 #516
Espen Vestre <espen@*do-not-spam-me*.vestre.net> writes:
William Bland <ne*****@abstractnonsense.com> writes:
OK, I'm sorry, the Windows thing was a cheap shot. I'm lucky enough to
work server-side, where users don't know or care what OS and programming
language you use.


Most (about 95%) of the users of the end-user program I'm the main
developer of, use Windows. But I rarely do development on Windows,
I do most of the development of that application on linux, and some
on my Mac laptop. The cross platform wonder that let's me do this
is Xanalys LispWorks :-)


I suspect that most "MS-Windows Developers" work like that too.
Probably an important factor as why we see so many BSOD in public
appliances...

--
__Pascal Bourguignon__
Jul 22 '05 #517
In article <87************@p4.internal>,
Bulent Murtezaoglu <bm@acm.org> wrote:
>> "SV" == Sashank Varma <no**@vanderbilt.edu> writes:

SV> ... I was unwilling to search any longer for what
SV> I consider the most detailed comparison of Lisp, C++, and Java
SV> by programmers at an observatory looking for the best language
SV> in which to continue software development. Maybe Googgle will
SV> favor you with the link I could not find.

Well Google wasn't being very agreeable (the original link no longer
works) but a bit stubborn searching (having the orginal on file helped)
gave this link:

http://act-r.psy.cmu.edu/~douglass/D...ang-report.pdf

If you had something else in mind, I'd also be very interested to read
that.


No, that's the one. Thanks for the pointer.
Jul 22 '05 #518
"John Thingstad" <jo************@chello.no> writes:
What exactly are you developing?
I seem to remeber something about an interface to the stock exchange in
Oslo
but seem unable to find it.


http://www.netfonds.no/manual_pt.php
--
(espen)
Jul 22 '05 #519
On 11 Nov 2004 17:45:23 +0100, Pascal Bourguignon <sp**@mouse-potato.com>
wrote:
Espen Vestre <espen@*do-not-spam-me*.vestre.net> writes:
William Bland <ne*****@abstractnonsense.com> writes:
> OK, I'm sorry, the Windows thing was a cheap shot. I'm lucky enough

to
> work server-side, where users don't know or care what OS and

programming
> language you use.


Most (about 95%) of the users of the end-user program I'm the main
developer of, use Windows. But I rarely do development on Windows,
I do most of the development of that application on linux, and some
on my Mac laptop. The cross platform wonder that let's me do this
is Xanalys LispWorks :-)


I suspect that most "MS-Windows Developers" work like that too.
Probably an important factor as why we see so many BSOD in public
appliances...


Most Lisp programmers perhaps.
In all C++ development for Windows I have done we've used Windows.
Client programming under Windows isn't bad. Much better than the tools for
Unix.
(I'm still talking about C++)
I dare say most Windows programmers actually develop under windows.
They gripe about Micro$oft but still use Visual C++.
C++ isn't productive or pretty but it gets the job done.
Even today I'd still choose C++ over Java any day.

--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Jul 22 '05 #520
Quoth Gerry Quinn on or about 2004-11-11:
But this is the thing - you go on about how Lisp is "so much more
productive" but there's no evidence of it! My 'Concentration' clone
(see else-thread) is about the same length as Michael Naunton's and took
about the same time to write.


Someone looking to get flamed might suggest that this is in part because
the program is small -- there is no need for capabilities Lisp provides.

I'm a pretty new to Lisp, but I can immediately an advantage Lisp has
over C/C++: there are demonstrably things that can be expressed in Lisp
but not in C / C++.

A concrete example is defining operators that don't evaluate their
operands exactly once. For example, this specialized loop construct:

#define _aug_doseq(i,from,to) \
for (i=from; \
from<to ? i<to : i>to; \
from<to ? ++i : --i)
#define doseq(i,from,to) \
_aug_doseq((i),(from),(to))

/* example usage */
int
echo (int argc, char *argv[])
{
int i;
doseq (i, 1, argc)
printf (argv[i]);
}

....which only works if the arguments are functional. I can't think of a
way to define doseq to take arguments with side-effects without using
GNU extensions *and* having an unclosed brace in the macro.

In my opinion, Lisp is more elegant. For now I'm taking it on faith
that this is equivalent to `better', at least for high-level problems.

Game programming involves a lot of low-level stuff, right? I don't
think there's any contradiction in saying that Lisp is better for
high-level tasks and C is better for low-level tasks.

-trent
Jul 22 '05 #521
In article <MP************************@news.indigo.ie>,
Gerry Quinn <ge****@DELETETHISindigo.ie> wrote:
In article <kt***************************@nycmny-nntp-rdr-03-ge1.rdc-
nyc.rr.com>, kt*****@nyc.rr.com says...
In article <MP************************@news.indigo.ie>,
Gerry Quinn <ge****@DELETETHISindigo.ie> wrote:

Argument by analogy! I love these!! Seriously, I checked out your web
site, and I think it might be helpful to turn the challenge "Show me the
Lisp game!" around: what exactly do you think Lisp might not be able to
handle in writing such games? The logic? The graphics? The GUI?
Performance? Other?
My biggest concern (leaving pure language and re-use considerations out
of it) would be easy integration with standard Windows controls and
features.


Will the C interface do? Can do. Corman Lisp offers a nice set of
bindings so you Just Call windows API as if it were in Lisp. Same with
AllegroCL.

I gather MS is moving to C++-only deals, which gets ugly since one needs
to develop C glue.

I would also require the creation of reasonably compact
downloadable .exes that would work reliably on just about any Windows
machine, and would not require downloading of added libraries or
environments.
By compact you mean "will fit on a CD"? Can do. :)
All your games could be done easily in Lisp, and because Lisp is so much
more productive you could put more time and energy into the graphics and
gameplay logic and still finish sooner.


But this is the thing - you go on about how Lisp is "so much more
productive" but there's no evidence of it! My 'Concentration' clone
(see else-thread) is about the same length as Michael Naunton's and took
about the same time to write.


Agreed. I take it back. Lisp is like a Formula I racer (yeah!!
analogies!!). It does not pay off (much) until you have some interesting
driving to do. Concentration and, from what I can see, your games are
too simple to exercise a language. Not that they are bad games!

I was going to port Michael's version to Cells (my FRP hack) when I
realized it would have about three rules. Yawn. I do not need VisiCalc
to buy a six-pack of Bud and some pretzels.

Call it prejudice if you like, but I *trust* C++, like C before it, to
not fail in this regard. Even for apps much much bigger than mine.


Well, no, the last bit is exactly the issue, and has not been
established by the Concentration shoot-out.

I propose we all toss off an air traffic control system, one in C++, one
in Lisp, and one in Lisp/Cells, then see. We'll have Michael go first
again. :)

kenny
Jul 22 '05 #522
"John Thingstad" <jo************@chello.no> writes:
On Thu, 11 Nov 2004 13:33:05 GMT, William Bland
<ne*****@abstractnonsense.com> wrote:
On Thu, 11 Nov 2004 11:36:35 +0000, Gerry Quinn wrote:
My biggest concern (leaving pure language and re-use considerations out
of it) would be easy integration with standard Windows controls and
features. I would also require the creation of reasonably compact
downloadable .exes that would work reliably on just about any Windows
machine, and would not require downloading of added libraries or
environments.


Windows? Are you serious? Do people really still use that monstrosity?

Cheers,
Bill.


Have you ever developed commercially? lol
Only a academic can afford to ignore 80% of the market potential.


Only the home market is 80%.
A lot of corporate server-based computing is done on Unix.
Jul 22 '05 #523
On Thu, 11 Nov 2004 19:26:04 GMT, Christopher C. Stacy
<cs****@news.dtpq.com> wrote:

Only the home market is 80%.
A lot of corporate server-based computing is done on Unix.


corperate server market yes..
Since Windows server truly sucks the I wonder why the number isn't heigher.

Corperate market no.
Most desctop computer's run Windows.
The number is still approx 80 %.

--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Jul 22 '05 #524
Hello!

Gerry Quinn <ge****@DELETETHISindigo.ie> wrote:
[...] So if you asked a Fortran programmer to acquaint you with the thoughts
of Aristotle, he would give you an English translation of his works.
Whereas a Lisp programmer would give you the original, plus a copy of
'Teach Yourself Ancient Greek'.


OK, that got me giggling.

But in fact, a Lisp programmer usually works from both ways. So
the result is a mixture between metaprogram and program, instead
of only metaprogram and a pure statement of the problem.

Especially as you can go to some length to extend the language
(as defined by the ANSI spec plus extensions you might use) by
quite "normal" means that are used to other programmers too
(defining library routines and data structures). Just that in
Lisp you can as seamlessly extend the language in other ways by
adding syntactic transformations (vulgo macros) or by influencing
CLOS (by using the MOP) or...

Kind regards,

Hannah.
Jul 22 '05 #525
On Thu, 11 Nov 2004 20:34:23 +0100, John Thingstad
<jo************@chello.no> wrote:
Corperate market no.
Most desctop computer's run Windows.
The number is still approx 80 %.


I should perhaps add that this number is difficult to verify since many
people
overwrite the Windows that came with the machine with Linux and 40 %
download Linux from
the net so they are not counted. So the number of windows users is
probably artificially high.

--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Jul 22 '05 #526
Hello!

Maahes <ma****@internode.on.net> wrote:
[...] class's and methods are just a structural concept. C has structs and if you
wanted to implement a class with methods, its just as easy to do it in C.
Of course, virtuals and hierachy get messier, though still possible.


Of course, as witnessed by Xt/Xaw.

Kind regards,

Hannah.
Jul 22 '05 #527
Gerry Quinn <ge****@DELETETHISindigo.ie> wrote in message news:<MP************************@news.indigo.ie>.. .
In article <cf**************************@posting.google.com >,
ka*@ashi.footprints.net says...
The Lisp programmer's internal language isn't Fortran, with its
imperative statements, loops and variables. The internal language is
an empty abstract syntax tree, to which that programmer is willing to
assign any semantics whatsoever.

When you think that way, then languages which don't let you encode
those semantics just get in your way, because you have to do the
translation of your internal language in your head, and then use your
fingers to spit out the translation. You have to do the tedious job of
the compiler that you are not able to write. In Lisp, you write that
compiler, insert it into your program, and then write in the real
language in which you conceived the solution. Other people then see
and understand your language directly, instead of having to guess at
it by reverse-engineering a hand-written translation.


So if you asked a Fortran programmer to acquaint you with the thoughts
of Aristotle, he would give you an English translation of his works.
Whereas a Lisp programmer would give you the original, plus a copy of
'Teach Yourself Ancient Greek'.


That analogy would work perfectly if English lacked the expressiveness
to capture the semantics of the ancient Greek.
Jul 22 '05 #528
"John Thingstad" <jo************@chello.no> writes:
On Thu, 11 Nov 2004 20:34:23 +0100, John Thingstad
<jo************@chello.no> wrote:
Corperate market no.
Most desctop computer's run Windows.
The number is still approx 80 %.


I should perhaps add that this number is difficult to verify since
many people
overwrite the Windows that came with the machine with Linux and 40 %
download Linux from
the net so they are not counted. So the number of windows users is
probably artificially high.


I would love to believe this. Certainly I have wiped Windows from a
machine and just booted Linux. Make that two machines. But I don't
think the typical user does that. I doubt that even a full percent of
Windows machines get converted to Linux or *BSD. At least not
machines that are newer than one or two years old.

I'm currently running OS X on a PowerBook G4 and Debian Linux on an
Intel box that was built from parts.

--
An ideal world is left as an excercise to the reader.
--- Paul Graham, On Lisp 8.1
Jul 22 '05 #529
David Steuber <da***@david-steuber.com> writes:
I should perhaps add that this number is difficult to verify since
many people
overwrite the Windows that came with the machine with Linux and 40 %
download Linux from
the net so they are not counted. So the number of windows users is
probably artificially high.


I would love to believe this. Certainly I have wiped Windows from a
machine and just booted Linux. Make that two machines. But I don't
think the typical user does that. I doubt that even a full percent of
Windows machines get converted to Linux or *BSD. At least not
machines that are newer than one or two years old.

I'm currently running OS X on a PowerBook G4 and Debian Linux on an
Intel box that was built from parts.


It doesn't matter. It's easy to have more than 50% market share when
all the OS sold by your competitors are installed on computers sold
bundled with your own. (NeXTSTEP/ix84, OPENSTEP/ix86, Solaris/ix86,
BeOS/ix86, etc). And it's best when your OS being sold and paid for
IS NOT used, since that means less support.

Either you have to buy Solaris/sparc, a Macintosh, or build yourself
your PC from parts, to avoid the Microsoft tax.
--
__Pascal Bourguignon__
Jul 22 '05 #530
In article <no************************@news.vanderbilt.edu> ,
no**@vanderbilt.edu says...
In article <MP************************@news.indigo.ie>,
Gerry Quinn <ge****@DELETETHISindigo.ie> wrote:
In article <pa********************@ram.dialup.fu-berlin.de>,
ra*@zedat.fu-berlin.de says...
All I saw in the gallery was a parameterized picture:


A parametrised picture whose 'artistic' qualities are the matter at
issue.


And this differs from the art of any abstract
expressionist painter how?


I pointed out some quite obvious deficiencies in the work of 'AARON'
earlier. (Not when we were talking about screensavers, but when
somebody raved at me for not giving it enough respect when the reason it
was introduced in the first place was as an example Lisp's capacity for
making screensavers, not art.)

At best AARON is at the level of generating repetitive doodles. That
may well be a fine software achievement, but I do not think it is a
great artistic achievement.
If a formal model of painting is possible, then it
will be a parameterized function of some kind.
If the second clause is true in any interesting sense, I would consider
the above to be close to an impossibility proof for the first clause.
The point is this guy has produced the best such
parameterized function in existence, and he did it
in Lisp.

And this counts as evidence for C++ somehow?!


The only way it counts as evidence for C++ is in precisely the way I
stated: its functionality as a Windows screensaver is limited.

- Gerry Quinn

Jul 22 '05 #531
In article <Pine.WNT.4.53.0411111353280.968@SLINKY>, fl****@flippac.org
says...
On Thu, 11 Nov 2004, William Bland wrote:
On Thu, 11 Nov 2004 11:36:35 +0000, Gerry Quinn wrote:
My biggest concern (leaving pure language and re-use considerations out
of it) would be easy integration with standard Windows controls and
features. I would also require the creation of reasonably compact
downloadable .exes that would work reliably on just about any Windows
machine, and would not require downloading of added libraries or
environments.


Windows? Are you serious? Do people really still use that monstrosity?


Only the vast, vast majority of home users, who're Gerry's target market.

Personally I use it because I'm a gamer, and to a lesser extent because I
can't be bothered to figure out how to duplicate my desktop setup under X.
I do seem to make a bit more of an effort to write portable code than
Gerry does though.


My 'Concentration' game is a bad example because everything is in a
CWnd-derived class. Such a class is already given up to Satan, and can
commit no further sin.

A more substantial game would have a 'game' object separate from the
'windows' object, and the game logic classes would be fairly portable.
[I do allow use of CPoint, CRect, etc. and CString, but even if MS
didn't have portable versions of these, I could knock up code to
replicate their functionality in a couple of days (I would rewrite all
but CString, which I would translate to <string>). Other than that, the
only MS-dependency is that it's compiled and tested only on MSVC. This
probably does introduce the odd portability hit, but I think it should
not be excessive, particularly as I tend to eschew 'fancy' code.]

- Gerry Quinn


Jul 22 '05 #532
In article <op**************@mjolner.upc.no>, jo************@chello.no
says...
On Thu, 11 Nov 2004 20:34:23 +0100, John Thingstad
<jo************@chello.no> wrote:
Corperate market no.
Most desctop computer's run Windows.
The number is still approx 80 %.

I should perhaps add that this number is difficult to verify since many
people
overwrite the Windows that came with the machine with Linux and 40 %
download Linux from
the net so they are not counted. So the number of windows users is
probably artificially high.


On the other hand, it has been suggested that most who buy a PC with
only Linux installed overwrite it with a pirated version of Windows!

Anyway, I think the number of people is only one consideration. The Mac
may have no more home users than Linux, but Mac users have no
ideological hangups about buying software...

- Gerry Quinn
Jul 22 '05 #533
In article <no************************@news.vanderbilt.edu> ,
no**@vanderbilt.edu says...
In article <MP************************@news.indigo.ie>,
Gerry Quinn <ge****@DELETETHISindigo.ie> wrote:
But this is the thing - you go on about how Lisp is "so much more
productive" but there's no evidence of it!


There is this website called Google where you can go
and type things like "lisp comparison C++" and it
lists relevant web pages and if you click on the
links you can go to those web pages and read
what others have said on the issue.


But they don't address the point I was making:

"The time it takes to sling together a few algorithms and produce a
basic pre-designed game is insignificant. Even if Lisp were ten times
more productive in this regard, it wouldn't make any difference. [...]
Productivity in messing around with small programs that are not for
general release is not really an advantage."

- Gerry Quinn


Jul 22 '05 #534
Gerry Quinn <ge****@DELETETHISindigo.ie> writes:
But they don't address the point I was making:

"The time it takes to sling together a few algorithms and produce a
basic pre-designed game is insignificant. Even if Lisp were ten times
more productive in this regard, it wouldn't make any difference. [...]
Productivity in messing around with small programs that are not for
general release is not really an advantage."


What /is/ your point here? You seem to imply that Lisp doesn't have
an productivity advantage for anything larger than a small toy program.
If that's what you mean, you're wrong.
--
(espen)
Jul 22 '05 #535
In article <kt***************************@nyctyp01-ge0.rdc-nyc.rr.com>,
kt*****@nyc.rr.com says...
In article <MP************************@news.indigo.ie>,
Gerry Quinn <ge****@DELETETHISindigo.ie> wrote:

Argument by analogy! I love these!! Seriously, I checked out your web
site, and I think it might be helpful to turn the challenge "Show me the
Lisp game!" around: what exactly do you think Lisp might not be able to
handle in writing such games? The logic? The graphics? The GUI?
Performance? Other?
My biggest concern (leaving pure language and re-use considerations out
of it) would be easy integration with standard Windows controls and
features.


Will the C interface do? Can do. Corman Lisp offers a nice set of
bindings so you Just Call windows API as if it were in Lisp. Same with
AllegroCL.


No, it will not! MFC has its faults, but it is better than the Windows
API. Plus, you are now selling a mixture of Lisp and C, versus pure
C++. People talk about 'multi-language' programs, with the optimal
language used for each task, but I suspect this is making a virtue out
of necessity, except on very big projects...
I gather MS is moving to C++-only deals, which gets ugly since one needs
to develop C glue.
I doubt that will be an issue, at least for a long time - at worst there
will be a transparent compatibility mode for programs that call the old
API functions. Observe that 16-bit Windows software still works fine
for the most part.
I would also require the creation of reasonably compact
downloadable .exes that would work reliably on just about any Windows
machine, and would not require downloading of added libraries or
environments.


By compact you mean "will fit on a CD"? Can do. :)


No I don't. Bandwidth is much cheaper than it used to be, but one
cannot blithely create demos that are tens of MB in size. A MB or two
overhead would be fine, so long as the installation can be made
transparent.
Agreed. I take it back. Lisp is like a Formula I racer (yeah!!
analogies!!). It does not pay off (much) until you have some interesting
driving to do. Concentration and, from what I can see, your games are
too simple to exercise a language. Not that they are bad games!

I was going to port Michael's version to Cells (my FRP hack) when I
realized it would have about three rules. Yawn. I do not need VisiCalc
to buy a six-pack of Bud and some pretzels.


Still, it only took us a couple of hours in Lisp and C++. You've a
captive audience of Lisp fans on this thread - maybe it would be
worthwhile! Actually (funny how these things grow on you) I was toying
with the idea of doing a 2-player Windows version - I think I worked out
an easy way to implement a realistic AI...
Call it prejudice if you like, but I *trust* C++, like C before it, to
not fail in this regard. Even for apps much much bigger than mine.


Well, no, the last bit is exactly the issue, and has not been
established by the Concentration shoot-out.

I propose we all toss off an air traffic control system, one in C++, one
in Lisp, and one in Lisp/Cells, then see. We'll have Michael go first
again. :)


That seems wisest!

- Gerry Quinn
Jul 22 '05 #536
In article <20*********************@harpo.marx>,
NO************@bigpond.com says...
Quoth Gerry Quinn on or about 2004-11-11:
But this is the thing - you go on about how Lisp is "so much more
productive" but there's no evidence of it! My 'Concentration' clone
(see else-thread) is about the same length as Michael Naunton's and took
about the same time to write.


Someone looking to get flamed might suggest that this is in part because
the program is small -- there is no need for capabilities Lisp provides.

I'm a pretty new to Lisp, but I can immediately an advantage Lisp has
over C/C++: there are demonstrably things that can be expressed in Lisp
but not in C / C++.


But there are no *tasks* fitting that description (hello, Turing-
complete).

- Gerry Quinn

Jul 22 '05 #537
In article <cf**************************@posting.google.com >,
ka*@ashi.footprints.net says...
Gerry Quinn <ge****@DELETETHISindigo.ie> wrote in message news:<MP************************@news.indigo.ie>.. .
In article <cf**************************@posting.google.com >,
ka*@ashi.footprints.net says...
The Lisp programmer's internal language isn't Fortran, with its
imperative statements, loops and variables. The internal language is
an empty abstract syntax tree, to which that programmer is willing to
assign any semantics whatsoever.

When you think that way, then languages which don't let you encode
those semantics just get in your way, because you have to do the
translation of your internal language in your head, and then use your
fingers to spit out the translation. You have to do the tedious job of
the compiler that you are not able to write. In Lisp, you write that
compiler, insert it into your program, and then write in the real
language in which you conceived the solution. Other people then see
and understand your language directly, instead of having to guess at
it by reverse-engineering a hand-written translation.


So if you asked a Fortran programmer to acquaint you with the thoughts
of Aristotle, he would give you an English translation of his works.
Whereas a Lisp programmer would give you the original, plus a copy of
'Teach Yourself Ancient Greek'.


That analogy would work perfectly if English lacked the expressiveness
to capture the semantics of the ancient Greek.


If that was the only problem with the analogy, it would be a killer
analogy. Because Fortran is Turing-complete. English might not capture
the *poetry* of a work in another language, but it can surely capture
the semantics [And please, folks, spare me the Sapir-Whorf
references...]. Likewise, Lisp might express an algorithm in a fashion
that Fortran can't, but both can program a task using the algorithm.

- Gerry Quinn


Jul 22 '05 #538
Quoth Philippa Cowderoy on or about 2004-11-11:
Personally I use [Windows] because ... I
can't be bothered to figure out how to duplicate my desktop setup under X.


You shouldn't duplicate you Windows desktop, you should improve upon it :-)

My X terminal is *just* how I like it:
http://www.nongnu.org/stumpwm / http://ratpoison.sf.net
http://144.132.79.25/~twb/img/xwd/current.png

-t
Jul 22 '05 #539
Quoth Gerry Quinn on or about 2004-11-12:
I'm a pretty new to Lisp, but I can immediately an advantage Lisp has
over C/C++: there are demonstrably things that can be expressed in Lisp
but not in C / C++.


But there are no *tasks* fitting that description (hello, Turing-
complete).


Perhaps I was not clear. I am not saying that a given algorithm[0]
cannot be written in C / C++. I am saying that for SOME CLASSES or
algorithm, Lisp's additional features (e.g. lexical closure) allow the
algorithm to be expressed more concisely.

If the task does not lend itself to Lisp's extra features, choice of
language is essentially a matter of personal preference.

Consider: an problem involves a large number of hierarchical datatypes.
You *could* solve the problem in C, but you'll probably think `Aha! This
is an OO-type problem. They are easier to code in C++ than C.' But if
your coprogrammers were unfamiliar with C++ (and OO), they'd probably
try to write C++ code as if it were C, and complain loudly about all the
extra type-checking[1].

-trent

[0] Anything expressible as an algorithm is expressible in Turing
machine language. (Church/Turing thesis)
[1] *I* certainly did this two years ago, before I learnt C++.
Jul 22 '05 #540
On Fri, 12 Nov 2004 13:44:01 +0000, Gerry Quinn wrote:
In article <20*********************@harpo.marx>,
NO************@bigpond.com says...
I'm a pretty new to Lisp, but I can immediately an advantage Lisp has
over C/C++: there are demonstrably things that can be expressed in Lisp
but not in C / C++.


But there are no *tasks* fitting that description (hello, Turing-
complete).

- Gerry Quinn


If you think Turing completeness means that all languages are equal in
expressive power, go program in BrainFuck.

Cheers,
Bill.
--
"If you give someone Fortran, he has Fortran. If you give someone Lisp,
he has any language he pleases." -- Guy Steele

Jul 22 '05 #541
William Bland <ne*****@abstractnonsense.com> writes:
On Fri, 12 Nov 2004 13:44:01 +0000, Gerry Quinn wrote:
But there are no *tasks* fitting that description (hello, Turing-
complete).

If you think Turing completeness means that all languages are equal in
expressive power, go program in BrainFuck.


Or Whitespace if you're python-inclined :-)

http://www.iscblog.info/blog/display/14

--
__Pascal Bourguignon__
Jul 22 '05 #542
Sashank Varma <no**@vanderbilt.edu> wrote in message news:<no************************@news.vanderbilt.e du>...

[ ... ]
If a formal model of painting is possible, then it
will be a parameterized function of some kind. The
point is this guy has produced the best such
parameterized function in existence, and he did it
in Lisp.
This is clearly a long ways from the best that's ever been done. A
program that simply generates and draws totally random pixels is
obviously better -- given sufficient time, it'll inevitably produce
something worth looking at, whereas it seems fairly clear that this
program has been written in such a way that it can never produce
anything artistic, even by accident.

Despite a lack of formal proof, it seems likely to me that anybody who
can concieve the phrase "formal model of painting" (not to mention
trying to create such a thing) is probably incapable of recognizing
art when he sees it.
And this counts as evidence for C++ somehow?!
Yes -- if memory serves, it was Ambrose Bierce who originally said
something to the effect that free verse is the most difficult poetry
to write well, and therefore the type most often attempted by those
incapable of writing any poetry at all.

Likewise here -- the author has undertaken a program sufficiently
difficult that its fans blithely ignore the fact that it fails utterly
in its goal.
You have a real problem facing discomfirming evidence.


You seem to have a real problem facing logic. It's true that
well-written programs can produce garbage output (typically when given
bad input). It's also true that this program produces garbage output.
By itself, however, that garbage output provides neither proof nor
even evidence of the program being well-written.

--
Later,
Jerry.

The universe is a figment of its own imagination.
Jul 22 '05 #543
jc*****@taeus.com (Jerry Coffin) writes:
Sashank Varma <no**@vanderbilt.edu> wrote in message news:<no************************@news.vanderbilt.e du>...

[ ... ]
If a formal model of painting is possible, then it
will be a parameterized function of some kind. The
point is this guy has produced the best such
parameterized function in existence, and he did it
in Lisp.
This is clearly a long ways from the best that's ever been done. A
program that simply generates and draws totally random pixels is
obviously better -- given sufficient time, it'll inevitably produce
something worth looking at, whereas it seems fairly clear that this
program has been written in such a way that it can never produce
anything artistic, even by accident.


It depends in what universe.

There are: (expt (expt 2 24) (expt 2 22)) 4-Mpixel 24-bit color
pictures. That's about (expt 10 30000000) Since there's only about
(expt 10 17) seconds in the universe (or at most (expt 10 19)), you
just DON'T have sufficient time. That's why you need to be scient
to produce something worth looking at.
The universe is a figment of its own imagination.


--
__Pascal Bourguignon__
Jul 22 '05 #544
Gerry Quinn <ge****@DELETETHISindigo.ie> writes:
In article <20*********************@harpo.marx>,
NO************@bigpond.com says...
Quoth Gerry Quinn on or about 2004-11-11:
But this is the thing - you go on about how Lisp is "so much more
productive" but there's no evidence of it! My 'Concentration' clone
(see else-thread) is about the same length as Michael Naunton's and took
about the same time to write.
Someone looking to get flamed might suggest that this is in part because
the program is small -- there is no need for capabilities Lisp provides.

I'm a pretty new to Lisp, but I can immediately an advantage Lisp has
over C/C++: there are demonstrably things that can be expressed in Lisp
but not in C / C++.


But there are no *tasks* fitting that description (hello, Turing-
complete).


He's talking about _in_, you idiot, not _with_!! Get a clue!

/Jon


- Gerry Quinn


--
'j' - a n t h o n y at romeo/charley/november com
Jul 22 '05 #545
On Fri, 12 Nov 2004, Gerry Quinn wrote:
But there are no *tasks* fitting that description (hello, Turing-
complete).


There're a couple of problems with taking turing complete as the point you
stop caring. The first is that it ignores issues like IO and concurrency -
operational semantics matter. The second is that it completely ignores
static semantics, where one language's version may contain proofs of
significant properties of the program that aren't present in the other.

I find the latter to be something of an issue, especially as the
equivalence of programs is in general undecidable.

--
fl****@flippac.org
Jul 22 '05 #546
On Fri, 12 Nov 2004 15:34:14 GMT, William Bland
<ne*****@abstractnonsense.com> wrote:
On Fri, 12 Nov 2004 13:44:01 +0000, Gerry Quinn wrote:
In article <20*********************@harpo.marx>,
NO************@bigpond.com says...
I'm a pretty new to Lisp, but I can immediately an advantage Lisp has
over C/C++: there are demonstrably things that can be expressed in Lisp
but not in C / C++.


But there are no *tasks* fitting that description (hello, Turing-
complete).

- Gerry Quinn


If you think Turing completeness means that all languages are equal in
expressive power, go program in BrainFuck.

Cheers,
Bill.


One might add that McCarthy's incentive to create LISP (yeah, old style)
was inspired by the awkwardness of expressing proofs using the Turing
machine as a model..

This is becoming a battle of words.
What does expressiveness really mean?
Turing complete, terse, succinct are easier to get a grip on.

--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Jul 22 '05 #547
Kenneth Tilton wrote:


Well, no, the last bit is exactly the issue, and has not been
established by the Concentration shoot-out.


Speaking of which. I thought I would write one. LispWorks CAPI
Concentration version. Developed and tested on Windows. But should
work (may need some minor mods) on Mac and Linux.

http://www3.telus.net/public/whumeni...entration.lisp

Wade
Jul 22 '05 #548
Jerry Coffin wrote:

[Sashank Varma:]
If a formal model of painting is possible, then it
will be a parameterized function of some kind. The
point is this guy has produced the best such
parameterized function in existence, and he did it
in Lisp.

[Jerry:] This is clearly a long ways from the best that's ever been done. A
program that simply generates and draws totally random pixels is
obviously better -- given sufficient time, it'll inevitably produce
something worth looking at, whereas it seems fairly clear that this
program has been written in such a way that it can never produce
anything artistic, even by accident.

Despite a lack of formal proof, it seems likely to me that anybody who
can concieve the phrase "formal model of painting" (not to mention
trying to create such a thing) is probably incapable of recognizing
art when he sees it.


Well, Harold Cohen was a pretty eminent artist before he
started working on AARON. He's a professor at UCSD. It's
possible that he's "incapable of recognizing art when he
sees it", but it doesn't seem very plausible.

--
Gareth McCaughan
..sig under construc
Jul 22 '05 #549
Gareth McCaughan wrote:
Jerry Coffin wrote:

[Sashank Varma:]
If a formal model of painting is possible, then it
will be a parameterized function of some kind. The
point is this guy has produced the best such
parameterized function in existence, and he did it
in Lisp.

[Jerry:]
This is clearly a long ways from the best that's ever been done. A
program that simply generates and draws totally random pixels is
obviously better -- given sufficient time, it'll inevitably produce
something worth looking at, whereas it seems fairly clear that this
program has been written in such a way that it can never produce
anything artistic, even by accident.

Despite a lack of formal proof, it seems likely to me that anybody who
can concieve the phrase "formal model of painting" (not to mention
trying to create such a thing) is probably incapable of recognizing
art when he sees it.

Well, Harold Cohen was a pretty eminent artist before he
started working on AARON. He's a professor at UCSD. It's
possible that he's "incapable of recognizing art when he
sees it", but it doesn't seem very plausible.


And Aaron's work shows a strong relationship to Cohen's work, which
should be no surprise. Aaron might be regarded as a surprisingly
successful attempt by an artist to automate some part of his process of
invention and discovery.

As for its merits as art, it seems likely that some folks just don't
like Cohen's work.
Jul 22 '05 #550

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

39
by: Peter Lewerin | last post by:
peter.lewerin@swipnet.se (Peter Lewerin) wrote > There is a paradigm > difference between CLOS and non-OOP Lisp code, but the language is the > same, and it's quite possible to mix the two. ...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.