addSlot complicating module handling
Lee Salzman
lsalzman1 at cox.net
Mon May 9 13:00:16 PDT 2005
Samuel Bronson, you read my mind. :)
While Mark here meant speed of execution, Samuel touched on something
that I liked to emphasize now when I talk about what Slate is and where
it is
going and that is... <<drumroll>> total cost of operation.
How many man hours does it take to write an office suite in C? How many
in Slate?
I'd like to think it'd take on the orders of magnitude less in Slate
than in C. Now, one
could reasonably assume a Slate version might, with reasonable levels of
optimization
that are standard for Java, be about twice as slow as the best C
version, and consume
twice as much memory.
So, Mark, I offer you a Faustian bargain: I can take man years of your
development time,
and your program will run on older computers, or I can save you a
staggering amount of
development time, while only letting your program run reasonably on
modern computers.
On the face of it, it may seem absurd, but every developer unfortunately
stares at this bargain
and fails - fails miserably. Just so they can have the satisfaction of
their program running on a 486,
they spend much more time than they should developing and fine-tuning
their programs at what is
really an absurdly low level. What does memory addressing and allocation
truly have to do with an
office suite? It really doesn't. I can write systems, built in to the
language, to deal with all this for
me, so I don't have to reinvent the wheel every time I write a program.
This reminds me in a way of when I started programming a lot of
assembly. Half-way through writing
large programs, it dawned on me: "Sheesh, this task of optimizing
assembly code by hand is so stinking
repetitive and boring I could write programs to do it for me!" Thus my
interest in writing compilers was
born and many books later I do that instead of mucking with assembly.
I'd rather repeatedly bang my
thumb with a hammer or watch grass grow in the winter than write
assembly anymore. It is horribly
superfluous to the task at hand. But strangely enough, I enjoy writing
programs that write assembly
for me.
Humans should not do boring repetitive crap, they should write programs
that do boring repetitive crap
for them! I would not go back to writing large programs in C if you paid
me. I have forgotten more about
C and C++ programming than many people will ever learn, and every bit
that floats out of memory after
years of disuse feels like a shackle being lifted. Having seen the green
meadows of dynamic languages, I
have no intent of ever going back. My concern now is not to make Slate
as fast as C, it is to make Slate as
fast as possible. I will inevitably always use Slate, so it's totally
irrelevent how it compares with C. I only
care that I've made it as optimal as I knowingly can.
Now after this long shpiel, I am not saying that Slate will necessarily
be as slow as Java. If anything, I'd
like to think that I could do a lot better than the other guys - but
that is just narcissism. Maybe I can,
maybe I can't, we'll find out.
Mark Thoma wrote:
>Samuel Bronson <naesten <at> gmail.com> writes:
>
>
>>I'm sure slate will be much faster to write than either Java or C. I
>>don't know how people can stand to write entire programs in C, and
>>Java is so boring and verbose (and such a memory hog, too). It seems
>>almost like they forgot to implement syntax in Java...
>>
>>
>
>I'd never write an office suite or video codec in a slow language. Also, why
>would I want to learn and use two languages like Slate *and* C? I don't feel
>comfortable with that thought.
>
>What will Slate's parallel features be? What about something similar to Occam or
>Eden or some other parallel language?
>
>I like the idea of subcontexts. /me wants-to-have-it
>
>Regards,
>Mark
>
>
>
>
More information about the Slate
mailing list