1. Spill it, bob!
- Posted by pseudonomus at yahoo.com Nov 19, 2001
- 538 views
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?
2. Re: Spill it, bob!
- Posted by Robert Craig <rds at RapidEuphoria.com> Nov 19, 2001
- 493 views
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
3. Re: Spill it, bob!
- Posted by pseudonomus at yahoo.com Nov 19, 2001
- 507 views
> 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 > > > > > >
4. Re: Spill it, bob!
- Posted by euphoria at carlw.legend.uk.com Nov 20, 2001
- 505 views
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
5. Re: Spill it, bob!
- Posted by David Cuny <dcuny at LANSET.COM> Nov 20, 2001
- 526 views
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
6. Re: Spill it, bob!
- Posted by tone.skoda at zapo.net Nov 20, 2001
- 502 views
----- 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.
7. Re: Spill it, bob!
- Posted by euphoria at carlw.legend.uk.com Nov 21, 2001
- 516 views
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
8. Re: Spill it, bob!
- Posted by tone.skoda at zapo.net Nov 21, 2001
- 506 views
----- 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.
9. Re: Spill it, bob!
- Posted by mtsreborn_again at yahoo.com Nov 27, 2001
- 543 views
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