1. Spill it, bob!

Catchy itle ain' i?

Rober, can you please ell us he following about the Eu
source code:
- How big is it in lines of code
- What files is it composed of
- Is it OpenSource or compiled binaries?

new topic     » topic index » view message » categorize

2. Re: Spill it, bob!

MTS writes:
> Rober, can you please ell us he following about the Eu
> source code:
> - How big is it in lines of code

The interpreter source that I'll be releasing is 
about 22,500 lines of pure C source. No C++ features are used. 
There are several thousand additional lines 
that I'm not releasing - the Translator plus a few other bits.
You can use the source to make a Euphoria interpreter for
Windows, DOS or Linux. I'm including 6 different .bat files 
to build the interpreter with 6 different C compilers.

> - What files is it composed of

A few dozen .c and .h files.

> - Is it OpenSource or compiled binaries?

It's plain C source with comments.
It is *not* being released as "Open Source"
since you will *not* be permitted to distribute it.
On the other hand you'll be able to port it, and enhance it
in various ways, and sell your version, without revealing
your source changes (something that a GNU license
would forbid you from doing).

The RDS source license and price will be available on the Web site
when 2.3 is released (another week or so).

Regards,
   Rob Craig
   Rapid Deployment Software
   http://www.RapidEuphoria.com

new topic     » goto parent     » topic index » view message » categorize

3. Re: Spill it, bob!

> MTS writes:
> > Rober, can you please ell us he following about
> the Eu
> > source code:
> > - How big is it in lines of code

HEY!
*I* wrote that!!
Not this MTS character you speak of.
Plagiary is illegal, you can't put your signature on
some else's writings, that would be bad.
I'll sue this MTS character immediatly.

;)

> The interpreter source that I'll be releasing is 
> about 22,500 lines of pure C source. No C++ features
> are used. 

What the ?!#! did you leave out of the source?
The interpreter is between 20 and 30 thousand lines of
code.
You're giving us this 22,500 lines of code source
collection?
That's A. Generous and B. Insane! Stop that! Who'll
debug all that code? Not me.


> There are several thousand additional lines 
> that I'm not releasing - the Translator plus a few
> other bits.
> You can use the source to make a Euphoria
> interpreter for
> Windows, DOS or Linux. I'm including 6 different
> .bat files 
> to build the interpreter with 6 different C
> compilers.
> 
> > - What files is it composed of
> 
> A few dozen .c and .h files.

WHAAAAAT?
Keep it.
Six is the maximum.
One header and one source file for each platform.

Contrary to popular belief, using a lot of different C
files is not 'good coding practice' nor is it
'encapsulation' and not even 'structured programming',
it's the result from floating tubs of lard instructing
their employees to each write a module of a software
product so the pack of wolves, sorry, 'other
employees', can code their own bits and pieces. This
is why Microsoft products are buggy, they were coded
by hundreds and even thousands of coders.

A single coder can't manage 'a couple of dozen' source
files!
I'm betting Euphoria would have being much more
advanced today if you didn't waste time juggling all
those files around.

But you whent to a CS school so I'd expect that from
you.
But I always imagined the *starter* of this new
limited source-file rage to follow its own teachings.
That's right - Euphoria is the one that advocates the
discarding of the Zillion Source Files trend.

Anyone that knows Euphoria and then later on learns C
or C++, will continue to put all of its code in a
handfull of sources.
And that's the *right* way of doing it when you're a
decent, robust developer.

Imagine win32lib.ew as 14 different includes!!

When you work for a software company, expect to spend
90% of a workingday scavaging through source files.

It is only logical and 'intelligent' to do this:

euphoria.c +
euphoria.h = Euphoria

And not this:

main.c + init.c + stubs.c + mem.c + sequence.c +
sequence.h + stubs.h + iowrap.c + iowrap.h + runtime.c
+ interp.c + runtime.h + interp.h + platform.c +
platform.h + liniowrap.c + winiowrap.c + dosiowrap.c +
_inline.c + _inline.h + diskcache.c + cache.h +
nctl52.c
= Euphoria

A non-C coder will think 'but having a file for each
part of a program means replacing that file will
update the entire program without breaking
anything!!!' but any C coder knows that this is the
exact opposite of reality.
A bug in one file will blow up your entire program.
Same thing when using only a handfull of files.
So what's the big deal?

When someone comes to me and wants to learn how to
code in C, the first lesson I give him is NEVER to
have more than 3 files in a program, and to not accept
more from possible future employees but fire them
immediatly, if he'll be richer than me someday, that
is.

The only other 'respected' person in the world that
advocates the same ideas as I do, is Kenneth
Silverman.
Even before releasing the source to the best-selling
classic 3D Engine 'Build', he told me that he hated
having lots of source files.
The source once released proved this as it logically
uses 'engine.c' and 'engine.h' as the 3D engine's
source.
Simple.
A game he wrote back in the Wolf3D days has the entire
game coded in main().
This game was sold by Epic a decade or so ago.
It was a Wolf3D clone with a better engine, compare it
to the Wolf3D source and see the difference between
the same thing coded by a team and by a single person.


> > - Is it OpenSource or compiled binaries?
> 
> It's plain C source with comments.

A dumb question gets a dumb awnser.
That last one was a joke.

> It is *not* being released as "Open Source"
> since you will *not* be permitted to distribute it.
> On the other hand you'll be able to port it, and
> enhance it
> in various ways, and sell your version, without
> revealing
> your source changes (something that a GNU license
> would forbid you from doing).
> 
> The RDS source license and price will be available
> on the Web site
> when 2.3 is released (another week or so).

Good.
GNU is evil.

Mike The Spike
PS. And for the last time I am *not* MTS!

> Regards,
>    Rob Craig
>    Rapid Deployment Software
>    http://www.RapidEuphoria.com
> 
>
> 
> 
>
>

new topic     » goto parent     » topic index » view message » categorize

4. Re: Spill it, bob!

Pseudonomus wrote:

> Robert Craig wrote:

> > The interpreter source that I'll be releasing is
> > about 22,500 lines of pure C source. No C++ features
> > are used.
>
> What the ?!#! did you leave out of the source?
> The interpreter is between 20 and 30 thousand lines of
> code.
> You're giving us this 22,500 lines of code source
> collection?
> That's A. Generous and B. Insane! Stop that! Who'll
> debug all that code? Not me.

AFAIK, Rob has already done the hard work and debugged the code already.
Please give us an example of one serious bug you know of in Euphoria?
Features you think should be there but aren't don't count as bugs.

> > > - What files is it composed of
> >
> > A few dozen .c and .h files.
>
> WHAAAAAT?
> Keep it.
> Six is the maximum.
> One header and one source file for each platform.
>
> [Snip rant]
>
> A single coder can't manage 'a couple of dozen' source
> files!
> I'm betting Euphoria would have being much more
> advanced today if you didn't waste time juggling all
> those files around.

I beg to differ. (Again AFAIK) Rob usually the only one at RDS who actively
works on Euphoria. I'm not sure of Junko's role these days.

Also, in personal experience, I have dealt with projects that use *much*
more than 6 source files. EE:CS being the primary example - and EE wasn't
(still isn't) mine to begin with. I can't say it'd've been any easier wading
through David Cuny's source in one or two files rather than the dozens there
are.

> But you whent to a CS school so I'd expect that from you.

To be honest Mike, (may I call you Mike?) I had much the same attitude as
you before joining the ranks of the educated Computer Scientists. It turns
out that two of the problems I perceived - "too many source files" and "one
person can't manage all of that" - cancel each other out. The segregation of
function groups into separate files actually makes it *easier* for one
person to manage a project.

If all your source is in one file, how can you edit different parts of it
simultaneously? EE:CS was developed using the previous release of the
editor, and in some cases the editor-in-development itself (mindwarping, I
can tell you). I was always using the ability to view more than one file. I
can remember occasions where I had all ten document areas active!

>[snip]
> It is only logical and 'intelligent' to do this:
>
> euphoria.c +
> euphoria.h = Euphoria
>
> And not this:
>
> main.c + init.c + stubs.c + mem.c + sequence.c +
> sequence.h + stubs.h + iowrap.c + iowrap.h + runtime.c
> + interp.c + runtime.h + interp.h + platform.c +
> platform.h + liniowrap.c + winiowrap.c + dosiowrap.c +
> _inline.c + _inline.h + diskcache.c + cache.h +
> nctl52.c
> = Euphoria

This is what C coders use Makefiles for. And what some Euphoria coders use
include files containing solely includes for.

> A non-C coder will think 'but having a file for each
> part of a program means replacing that file will
> update the entire program without breaking
> anything!!!' but any C coder knows that this is the
> exact opposite of reality.

If you're not a C coder then there's not a lot of point in downloading the
Euphoria source. Unless, I suppose, you intend to learn C while reading it.

> A bug in one file will blow up your entire program.
> Same thing when using only a handfull of files.
> So what's the big deal?

Umm. Doesn't this argue my point too?

> When someone comes to me and wants to learn how to
> code in C, the first lesson I give him is NEVER to
> have more than 3 files in a program, and to not accept
> more from possible future employees but fire them
> immediatly, if he'll be richer than me someday, that
> is.

Splitting the source between files means less lines per file, hence easier
to read...

> The only other 'respected' person in the world that
> advocates the same ideas as I do, is Kenneth
> Silverman.
> Even before releasing the source to the best-selling
> classic 3D Engine 'Build', he told me that he hated
> having lots of source files.

...but it's all a matter of taste.

> [Kenneth's] game was sold by Epic a decade or so ago.
> It was a Wolf3D clone with a better engine, compare it
> to the Wolf3D source and see the difference between
> the same thing coded by a team and by a single person.

This is a different argument altogether. Teamwork is harder than 'one-person
work' when striving for a common goal. One person does not need to
co-ordinate the project between theirself, if you see what I mean.

> > On the other hand you'll be able to port it, and
> > enhance it
> > in various ways, and sell your version, without
> > revealing
> > your source changes (something that a GNU license
> > would forbid you from doing).
>
> Good.
> GNU is evil.

Why exactly do you find GNU evil? There are thousands of people who advocate
GNU; Is this why you dislike it?

> Mike The Spike
> PS. And for the last time I am *not* MTS!

They are your pseudonym initials are they not? I wouldn't be offended by
someone abbreviating my name to CRW. In fact I do it myself.

Carl

new topic     » goto parent     » topic index » view message » categorize

5. Re: Spill it, bob!

MTS writes:

> Imagine win32lib.ew as 14 different includes!!

That would actually have been a good thing. I sunk a considerable amount of
time into Llama, trying to do just that. That ended up collapsing under it's
own weight when I jury-rigged my own class system together.

-- David Cuny

new topic     » goto parent     » topic index » view message » categorize

6. Re: Spill it, bob!

----- Original Message -----
From: <euphoria at carlw.legend.uk.com>

> If all your source is in one file, how can you edit different parts of it
> simultaneously?

By using bookmarks; ctrl+F2 = set/clear bookmark, F2 = next bookmark,
shift+F2 = prev bookmark, ctrl+shift+F2 = clear all bookmarks.
I use them all the time while programming in DevStudio.

new topic     » goto parent     » topic index » view message » categorize

7. Re: Spill it, bob!

tone.skoda wrote:

> From: <euphoria at carlw.legend.uk.com>
>
> > If all your source is in one file, how can you edit different parts of
it
> > simultaneously?
>
> By using bookmarks; ctrl+F2 = set/clear bookmark, F2 = next bookmark,
> shift+F2 = prev bookmark, ctrl+shift+F2 = clear all bookmarks.
> I use them all the time while programming in DevStudio.

You don't find it annoying when your one source file is so large you have 10
(or more) bookmarks and only the ability to step backwards and forwards
rather than jump straight to bookmark X? (Granted, EE:CS has F7 and F8 to do
that, But Alt+Num is much quicker).

Then again, by setting bookmarks, aren't you just splitting your source into
several pseudo-files anyway? One could argue that a hard disk is one big
file with the filenames - of what we consider 'proper' files - as bookmarks.
Then both development mindsets are identical! ;)

Carl

new topic     » goto parent     » topic index » view message » categorize

8. Re: Spill it, bob!

----- Original Message -----
From: <euphoria at carlw.legend.uk.com>
To: "EUforum" <EUforum at topica.com>
Subject: Re: Spill it, bob!


>
> tone.skoda wrote:
>
> > From: <euphoria at carlw.legend.uk.com>
> >
> > > If all your source is in one file, how can you edit different parts of
> it
> > > simultaneously?
> >
> > By using bookmarks; ctrl+F2 = set/clear bookmark, F2 = next bookmark,
> > shift+F2 = prev bookmark, ctrl+shift+F2 = clear all bookmarks.
> > I use them all the time while programming in DevStudio.
>
> You don't find it annoying when your one source file is so large you have
10
> (or more) bookmarks and only the ability to step backwards and forwards
> rather than jump straight to bookmark X? (Granted, EE:CS has F7 and F8 to
do
> that, But Alt+Num is much quicker).

I don't have 10 bookmarks, maybe 5 maximum, mostly 2 or 3. I have bookmarks
only at the code on which I'm working at that time.


> Then again, by setting bookmarks, aren't you just splitting your source
into
> several pseudo-files anyway? One could argue that a hard disk is one big
> file with the filenames - of what we consider 'proper' files - as
bookmarks.
> Then both development mindsets are identical! ;)

Yes, it's similar. I can't imagine how you could develop win32lib with so
simple editors like notepad or ed.ex.

new topic     » goto parent     » topic index » view message » categorize

9. Re: Spill it, bob!

To elaborate my point about the 'few dozen
source-files'(yes, it was I!:p),
I'd like to bring up Conway's Law here...
Here's the definition of Conway's Law for the
brain-impaired:
"
Conway's Law     prov.     The rule that the
organization of the software and the organization of
the software team will be congruent; commonly stated
as "If you have four groups working on a compiler,
you'll get a 4-pass compiler". The original statement
was more general, "Organizations which design systems
are constrained to produce designs which are copies of
the communication structures of these organizations."
This first appeared in the April 1968 issue of
Datamation. Compare SNAFU principle. 

The law was named after Melvin Conway, an early
proto-hacker who wrote an assembler for the Burroughs
220 called SAVE. (The name `SAVE' didn't stand for
anything; it was just that you lost fewer card decks
and listings because they all had SAVE written on
them.) 

There is also Tom Cheatham's amendment of Conway's
Law: "If a group of N persons implements a COBOL
compiler, there will be N-1 passes. Someone in the
group has to be the manager."
"

Get it?
One coder working on a project according to *normal*
programming laws will produce a 1-file source, 14
coders working on the same project will produce a
14-file source.

Robert probably brought back the good-old days down at
IBM coding compilers.

Oh, and for that guy that was boasting about being
'elite' because he followed some CS course; I'm still
the best coder in the world, top that...


Mike The Spike

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu