Nats
--
Nigel 'Nats' Stutt
nst...@nstutt.freeserve.co.uk
"Its life, Jim, but not as we know it."
> Isnt it about time we got some kind of feedback on Elite 4 please chaps?
Ah, look at the funny man. Let's poke him with a stick while children
call him names.
Andrew Gillett said there would be news towards the end of the year.
FD are in a bit of a damned-if-you-do-damned-if-you-don't dilemma. If they
keep a running commentary, publish release dates, publish dates for various
announcements, when these deadlines get missed or when plans change
(as things are found to be unfeasable, take longer, or need a completely
new approach, as they so often do in software) they get lambasted for late
releases. Usually in the print press on a large public scale.
If they keep quiet, they get lambasted for being quiet instead. But the
scale's a bit lower because the print press donesn't keep up with that stuff.
I think they've chosen the 'keep quiet' route as they've seen what's happened
to too many others who ran the hype machine and things not turning out
quite to the time-plan. Evidently, they've decided they'll get lambasted
less for keeping quiet.
And so far, that seems to be the case.
--
Dylan Smith, Castletown, Isle of Man
Flying: http://www.dylansmith.net
Frontier Elite Universe: http://www.alioth.net
"Maintain thine airspeed, lest the ground come up and smite thee"
[ snip ]
> I think they've chosen the 'keep quiet' route as they've seen what's
happened
> to too many others who ran the hype machine and things not turning out
> quite to the time-plan. Evidently, they've decided they'll get lambasted
> less for keeping quiet.
>
> And so far, that seems to be the case.
That sounds fair. And I think that this time they've got to get it right.
GameTek's little ploy with FFE probably cost a the Elite concept a fair bit
of credibility. So, if they take a few months extra to get the game *right*,
I'm all for it, because the first FFE was a shambles.
Cheers,
Marcus
No, I'm sorry, you have this wrong. It would not be relatively harmless to
do so, It would be mostly harmless.
Apologies for a really bad joke.
SnowGhost
Elite since ... about 1989
I have confidence in Mr B to get it right with Elite 4,and as
long as Game Tek is not doing the games testing,all should
be well.I am a bit worried that if the game is too far behind
schedule,that it will be out of date before it is released.
Andy
Nats
"Andy Helliwell" <ahell...@euronet.nl> wrote in message
news:ah4crl$vsa$1...@scavenger.euro.net...
Well, why are you getting so stressed out about it then :-)
> I know its
>a living for them but this secrecy just doesnt make any sense.
Sure it does. The ancient Phekdan proverb says, "If you don't want something to
be said, don't say it."
So they aren't. All they've said in the past is "they are working on it".
What do you expect them to say? If they say "We're 80% done" they will
only get lambasted for being late by everyone and his dog when the last 20%
takes another 18 months. If they don't say anything, only a few people
in alt.fan.elite will grouse. If they say something, the press will pick
up on it. And make fun of them.
Now whether you believe any publicity is good publicity (whether it's good
or bad) is up to you - but I get the feeling that The Mighty Breadbin
doesn't believe that. Especially after the cock-ups with the last games
in the series. The audience is /extremely/ skeptical of Elite 4 after
the FFE debacle, and I think FD want to make sure the first announcement
is when something that's actually *working* can be shown - they want
to make sure it's feasable.
>impression that they arent working on the title at all or that it has
>disappeared never to be seen again.
That may be the case. They may have worked on the design and found what
they want from Elite 4 simply isn't feasable yet (or at all with their
skill-set) and are going to knock it on the head. Raising everyone's
expectations with progress reports on the design, and then dumping
the game will result in much heat. Look what happened to the Elite Club
when they raised everyone's expectations, then dropped the idea. Fortunately
for them, that was only in front of a fairly confined audience (i.e.
those after the source).
Andrew Gillett has promised news later in the year.
I don't think I've actually promised news - not to say that there won't be
any (indeed, I will be pushing for more info to be released), but I don't
want to be accused of going back on a promise if more info isn't released
this year.
I hope they really do it properly this time, and take their time and test
the game out, so that the concept is redeemed. Elite is a wonderful concept,
almost unique in the gaming flora of today where *everything* must be a 1st
person shooter.
What would all of you *like* to see in the new game?
I know what I'd like:
1) A multiplayer option based on the mapping system in fe2/ffe. Imagine
going around the galaxy encountering other players that visit the same
systems I visit. And imagine facing real human pirates, traders or
assassins. :)
Cheers,
Marcus
I'd like to be able to get out of the space ship and shoot other
people... from a first person perspective... yeah that'd be cool.
What are you looking at me like that for?
--
Crayfish
Hmm... So, instead of the communication screen with 'bulletin board' and
'stock market' and such, you'd have to leave the ship and walk to those
places... I could live with that. Would there be a seedy station bar? *s*
Cheers,
Marcus
I want far too much :D look here for pretty much all of my concepts
http://galnet.doosh.net/members/deputy/deputymenu/wishlist.htm
AND i intend to update it sometime soon...
Frantic
Mark Smart - GalNET Deputy Chief Administrator
The Galactic Network of Explorers and Traders.
http://galnet.doosh.net
>>>>> "Andrew" == Andrew Gillett <agil...@frontier.co.uk> writes:
Andrew> I don't think I've actually promised news - not to say that
Andrew> there won't be any (indeed, I will be pushing for more info to
Andrew> be released), but I don't want to be accused of going back on
Andrew> a promise if more info isn't released this year.
Oh, don't worry: some of us still, albeit vaguely, remember a little
something called the Elite Club -- something to do, primarily, with
the source code for some game or the other -- and you've mostly
managed to avoid being accused on going back on your promises. Whether
this is due to your good PR skills or the naïvetè of the hopefull I
cannot say, but if this is an indication you've nothing to worry
about, regardless of what promises you make.
Martin
- --
Homepage: http://www.cs.auc.dk/~factotum/
GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>
iEYEARECAAYFAj03G9wACgkQYu1fMmOQldVD/QCfYK0XWdqYDIa5BYTSfFDRXPcU
LtIAn1t1rEvCD5otEgNRUVwGDJLUnrMS
=TWJq
-----END PGP SIGNATURE-----
That was a very long list, but I didn't find ONE little thing. My Panther
clipper's turrets should be computer operated. It's a bit strange that such
advanced a society that exist in Elite doesn't have close combat computer
systems. :)
Cheers,
Marcus
Yes, Elite meets Sundog. That sounds mighty good!
TW
The fact is that most of us are not asking much: we only want to know
what's going on right now at FD. :)
But seriously, I can understand the right of a certain secrecy from
the FD team, especially with questions like "When will Elite IV be
released", "What are the features of the game" or "How much in % the
game is done?". I mean the game is obviously "in progress" (at least I
hope so!) and they don't want to repeat FFE mistakes.
But on the other side, having official comments from FD AT LEAST once
a month (and don't tell me "We don't have time to do that" crap, it's
not because YOU don't have the time, it's because YOU don't want to
take the time!), something like a progress report of some kind would
be indeed greatly appreciated by the communauty, without a doubt.
Reports from FD like "For the past week, we've been tweaking with the
ships physics" or "We have updated the rendering engine a bit since
the last time, and believe us, you will cry when you'll see it in
action!" couln't certainly harm anyone, but only help both sides!
I certainly don't think that such progress reports would get FD
lambasted or get them in a bad light if things goes wrong at a certain
time.
What do you think?
- Éric
<snip diatribe>
I would like to think that the Elite Club, if it is formed, will
concentrate on a little more than satiating the demands of 5000 or so
people.
If the Elite club is to be successful, it's primary focus should be on
supporting the customers of Elite 4. Only when this area does not
need further work should focus be paid to previous versions. I would
like to have access to the original FFE source as much as anyone else,
but people have to realise that Frontier Developments' primary
objective is not to support a 10 year+ old game with limited to no
income potential, but to actively support their current products.
FWIW my thoughts on what the I would like to see in the Elite club:
1) Elite 4 SDK for download allowing creation of meshes, storylines,
news articles and AI characters (Andrew Gillet: hint)
2) Updates to the storylines, missions & news articles - authored by
Frontier Developments (Andrew Gillet: hint)
3) Updates to the storylines, missions & news articles - authored by
users of the SDK (Andrew Gillet: hint)
4) Fiction section - user authored - possibly linked to 3
5) Meshes section - user created meshes for use in E4 - go StarBug!
(Andrew Gillet: hint)
6) Directory of approved E4 multiplayer servers
In order to help FD manage the club, they could delegate some
responsibibilty to interested parties, who have a long-time interest
in Elite, if they were interested.
Regards,
JamesF
> I hope they really do it properly this time, and take their time and test
> the game out, so that the concept is redeemed. Elite is a wonderful concept,
> almost unique in the gaming flora of today where *everything* must be a 1st
> person shooter.
>
What is Elite if it's not a first person shooter? all the action
occurs from the perspective of you, not a third party figure... in
fact one of the first. only other game as old with this perspective i
can think of off top of my head was the Star Wars arcade game.
I'm fearing that Elite 4 may not ever happen. Over the years, i have
observed that previews come out a good 6-8mth before a major title is
planned to release, which usally turns into 12-18mth before an actual
release (think Black and White). On Elite 4 there is nothing. which
would point to mid to late 2003. what worries me more is that there
is nothing on the Frontier Development site. a single image of a lady
running, and a few faq answers. I'm pretty sure the same was there
when i last got the elite bug about two years ago!
I'm no coder, but i dont see whats the delay for elite 4. In
Infestation Frontier Development clearly had a fantastic graphics
engine, and that was out in 2000. Elite 4 doesn't have to have
blinding grphics (just very good), as the gameplay should drive it.
And the gamplay only has to be enhanced, by introducing say half of
Frantics' ideas, to feel like a new game. Throw in the running around
space station/planets etc (bolt on a modified quake engine and thats
done!) and you'll have the ultimate gameplay ever!
We really need and deserve some sort of update on Elite 4. a few more
pics would be nice, a couple of the new ideas and at least a vague
idea of release. If its been junked we should be told, so we can go
off and recode/enhance FFE ;-)
>What do you think?
I think the game doesn´t exist.
There is no development of E4.
The entire project is abandoned by FD.
Simple logic.
But that's just how FD works. Previews of Frontier Developments games
like Infestation didn't come out until the game was almost ready to
ship. In fact, Infestation wasn't even mentioned until it was virtually
out. Elite 4 is in fact a little bit unusual for FD because they've
actually said they are working on it - which they never have for
any other game they produce!
FD aren't like other game making companies, and putting other game maker's
PR and hype models on FD doesn't really work.
>We really need and deserve some sort of update on Elite 4. a few more
>pics would be nice, a couple of the new ideas and at least a vague
>idea of release. If its been junked we should be told, so we can go
>off and recode/enhance FFE ;-)
Agreed. I'd like to know if, to quote my friends from Texas, "they are
going to shit or get off the pot".
Nice to know you're still with us Andrew, I hope all is going well on
the farm.
I guess we know the trick to bringing the FD staff out of their shell
now, just make wild claims as to what they have said or promised in
the past. :)
It'd be nice to think that the Elite Club and "licensing issues" still
manage to creep onto the agenda occasionally at meetings at Frontier
Developments. ID software and Volition Inc (Freespace 2) have
received a lot of good press from releasing the source code to their
games, it would be nice to think that Frontier have the same ideals as
those companies.
I'm sure theres a very large 'sleeping' community of Elite fans. A
few people working with the source to make FFE the game it always
should have been would quickly snowball into something quite big. It
would be great marketting too as just as Elite IV would probably be
being released just as the FFE enhancing snowball hits its peak.
A guy can dream.
--
Crayfish
I didn't repeat concepts that had been repeated by others the same way
as I would want them.
>>>>> "James" == James Franklin <jefran...@hotmail.com> writes:
James> I would like to think that the Elite Club, if it is formed,
James> will concentrate on a little more than satiating the demands of
James> 5000 or so people. If the Elite club is to be successful, it's
James> primary focus should be on supporting the customers of Elite 4.
James> Only when this area does not need further work should focus be
James> paid to previous versions.
From http://www.eliteclub.co.uk/faq.html:
What is the Elite Club? The Elite Club is a project which aims to
bring new life to the Elite series of games, particularly
Frontier and First Encounters - in advance of the release of
Elite 4. Despite it being many years since their release, there
is still a great deal of interest in them, confirmed by the
number of mails we at Frontier Developments received following
the original Elite Club announcement. The idea is to allow people
to freely download the games as shareware, and also allow people
to access the source code and legitimately update the games -
bringing them up to date with current technology. We also hope
that the creators of some of the Elite/Frontier tribute games
will join the Club, as this will provide a support network for
developers, and also allow these games to be set in the Elite
universe.
Where does supporting Elite 4 come into the question? If people have
problems they are welcome to write in alt.fan.elite. I'm not going to
be some company's unpaid support staff. It's about the old games, and
it's about the source code. It always has been.
James> I would like to have access to the original FFE source as much
James> as anyone else, but people have to realise that Frontier
James> Developments' primary objective is not to support a 10 year+
James> old game with limited to no income potential, but to actively
James> support their current products.
And how exactly would they be supporting it? In discussions about the
EC it seems that people would prefer for it to be mostly a community
of developers working together to improve FFE. After the release of
the source I don't see how Frontier Developments would have any work
left to do.
James> FWIW my thoughts on what the I would like to see in the Elite
James> club: [...]
And candy! And a petting zoo!
Martin
- --
Homepage: http://www.cs.auc.dk/~factotum/
GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>
iEYEARECAAYFAj04UFQACgkQYu1fMmOQldV9gACg2z2mUSJ/NAR5khNtwOX0gYya
ThEAnRbNIKh5Km4b05r6ImD/btw7wwxe
=x1X+
-----END PGP SIGNATURE-----
>>>>> "Ittiz" == Ittiz <it...@attbi.com> writes:
Ittiz> I remeber hearing somewhere that they were programming Elite 4
Ittiz> completely in assembaly, so that would explain why it is taking
Ittiz> so long.
And why would anyone want to do that?
Martin
- --
Homepage: http://www.cs.auc.dk/~factotum/
GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>
iEYEARECAAYFAj04UtsACgkQYu1fMmOQldXyIwCghqmlYSsiGyJf4Wu5eME0lsyk
4JUAoIuY0I03tgUxpypz1r/VIKh1xJrk
=mgHX
-----END PGP SIGNATURE-----
Until, of course, you actually wanted to *do* anything, at which point it
ran like treacle cooled to near-freezing point.
Stuart
The trouble with turrets on the bottom of your ship, even in the latest modified
FFE, is that they damage your ship when you use them!! So what's the point?
--
Cardinal Zorak
"Those who would give up essential liberty to purchase a little temporary safety
deserve neither liberty nor safety." - Benjamin Franklin, 1759
>>>>> "Ittiz" == Ittiz <it...@attbi.com> writes:
[Why anyone would want to make a large program strictly in assembler.]
Ittiz> Runs alot cleaner, fast and smaller. That is probably why the
Ittiz> Amiga version of Frontier fit on one floppy disk and ran even
Ittiz> on a A500 without to much problem.
Let's do some math, just for the fun of it.
Speed? My estimate is that more than 90% of the processor time of a
game like E4 will be spent in external graphics libraries like DirectX
or, more likely (if they are serious about wanting E4 to be portable),
OpenGL. Let's just imagine that the number is 90%. If anyone knows
more about graphics hacking than I do, please chime in.
Okay, so 10% of the processor time is spent in actual E4 code. For
years it has been a rule of thumb that in any given piece of software,
90% of the processor time is spent in 10% of the code, which means
that it makes sense to spend much more time optimising those 10% at
the cost of less optimisation of the remaining 90%. Given that you
have a good optimising compiler you can expect only to be able to
make assembler code about 10-15% faster than C code, but it takes
around 5 times as long to write and debug.
If all these estimates are reasonably correct we can deduce the
following:
1a) If writing every thing in C will take 1 time unit, doing 10% of
the code in hand-written assembler will take 0.9tu + 0.1tu * 5 =
1.4 time units.
1b) If writing everything in C will take 1 time unit, doing everything
in hand-written assembler will take 10 time units.
2a) If, writing everything in C, some run of the program will take 1
time unit, 90% of that time being spent in external libraries,
then the same run with 10% of the code in hand-written assembler
with a 10% speed gain will take 0.9tu + (0.9 * 0.1tu * (1 - 0.1) +
0.1 * 0.1tu) = 0.991 time units.
2b) If, writing everything in C, some run of the program will take 1
time unit, 90% of that time being spent in external libraries,
then the same run with everything in hand-written assembler will
take 0.9tu + 0.1tu * (1 - 0.1) = 0.990 time units.
What bulk is concerned I heard some numbers quoted that some version
of MS Office was 4000% larger than it needed to be. That's a _lot_ of
dead code. Real Programmers(tm) remove dead code. Hacking straight
assembler isn't going to do _that_ much for executable code size. All
other system requirements taken into consideration I doubt it'll be
significant in any way.
Martin
- --
Homepage: http://www.cs.auc.dk/~factotum/
GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>
iEYEARECAAYFAj05UO0ACgkQYu1fMmOQldWCrACfX2nxQz8vt4fZ6F8rsIx81JWh
b4EAnjt4whtAtExyiuN/Mv2FvAmHT+Zd
=e638
-----END PGP SIGNATURE-----
Actually, I agree. I don't think they've actually started coding nor do
they have a timetable for starting.
E4 will not be out this or next year is my feeling. If FD survive to 2004
then they might do something about it then.
TW
I agree. I believe the real reason we have not had any news on Elite IV
since it officially went into development 2 1/2 years ago is that apart from
an initial design nothing else has been done.
> Speed? My estimate is that more than 90% of the processor time of a game
> like E4 will be spent in external graphics libraries like DirectX or,
> more likely (if they are serious about wanting E4 to be portable),
> OpenGL.
But will it? If the game has a lot of other stuff going on then AI will
take up a lot of time. An example of this was Black and White where the
game became more and more sluggish as the population of the island
increased and all the little people's interactions had to be done. Judging
by the frame rate this was getting into 50%+ of the processing time.
I agree that the graphics will spend 90% of its time in libraries but if
all there is of note about Elite 4 is the graphics I'm going to be VERY
disapointed!
TW
>>>>> "Thomas" == Thomas Worthington <t...@theBitBeforeTheAtSignAgain.cx> writes:
Thomas> On Sat, 20 Jul 2002 13:00:45 +0100, Martin Christensen wrote:
>> Speed? My estimate is that more than 90% of the processor time of a
>> game like E4 will be spent in external graphics libraries like
>> DirectX or, more likely (if they are serious about wanting E4 to be
>> portable), OpenGL.
Thomas> But will it? If the game has a lot of other stuff going on
Thomas> then AI will take up a lot of time. An example of this was
Thomas> Black and White where the game became more and more sluggish
Thomas> as the population of the island increased and all the little
Thomas> people's interactions had to be done. Judging by the frame
Thomas> rate this was getting into 50%+ of the processing time.
You raise a fair point. However, I believe that the AI can be kept
relatively simple and by implication efficient.
First of all, in space there's nothing much to crash into. There are
no corridors or pathways to go through to 'get to the cheese'. The
only thing to be careful of environment-wise is crashing into other
ships. Atmospheric combat introduces an uneven terrain, possibly
ground fire as well. This complicates matters somewhat, but still
nothing like is required for bots in a first person shooter.
Secondly there's no need to consider long-term strategy. Unlike, say,
a game of chess, an individual AI will only need to plan his actions a
few seconds ahead. Cooperating AIs needn't complicate matters all that
much, I should think: we're likely talking about bands of raiding
pirates much more than battling fleets, and thus the tactics can be
simplified greatly.
Thirdly, graphics need to be updated with each frame, whereas AI
decision making doesn't necessarily require the same granularity.
Decisions can also be made in the short term (don't crash into that
Courier!), medium term (okay, I need to turn around and fire at that
guy) and long term (someone needs to distract the fellow with the
plasma cannon while the rest pummel his shields). Short term decision
making needs to be updated often, while long term decisions can be
updated less often.
Thomas> I agree that the graphics will spend 90% of its time in
Thomas> libraries but if all there is of note about Elite 4 is the
Thomas> graphics I'm going to be VERY disapointed!
I quite agree with your expectations, but I think that after rushing
FFE out the door like they were pressured to, the Frontier guys will
be very careful to deliver a high-quality game in every respect.
Martin
- --
Homepage: http://www.cs.auc.dk/~factotum/
GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>
iEYEARECAAYFAj05oIsACgkQYu1fMmOQldWl0ACbBgV4E9KMXE89kr/2dE7n1jiU
khEAoOf/2FvYRVy+7RSLyRGaNFUi/ScJ
=WFKp
-----END PGP SIGNATURE-----
The CPU usage of Direct3D on a modern (hardware T&L+) graphics card is
fairly close to 0%, because the API acts primarily as a wrapper for
hardware-accelerated functions. The phrases "graphics card limited" and
"CPU limited" are actually meaningful.
>Given that you
>have a good optimising compiler you can expect only to be able to
>make assembler code about 10-15% faster than C code
The 10-15% figure is approximately correct, but has more to do with
changes in CPU design than compiler improvements. The Pentium had
complex, absolute scheduling rules which were extremely difficult for
compilers to optimise, and fast partial-register operations which they
couldn't use at all. The Pentium Pro changed all that with out-of-order
execution and the partial-register stall.
Where assembler can be significantly faster on modern CPUs is in
situations where the various SIMD instruction sets (MMX, SSE etc) are
useful. For some applications these can be 3-4x faster than the
conventional alternative, and compilers are incapable of using them
properly.
>, but it takes
>around 5 times as long to write and debug.
This seems intuitively reasonable, but games didn't suddenly become five
times quicker to write when the programmers switched over to C from
assembler, and they certainly didn't become five times more complex. I
think this is because when you have a difficult task, the mechanical
coding time is small compared to the time spent figuring out what to
write.
C is certainly far easier to read, and is effectively self-documenting.
This benefit tends to evaporate once the writer does a computer-science
course or reads Stroustrup, however.
>What bulk is concerned I heard some numbers quoted that some version
>of MS Office was 4000% larger than it needed to be. That's a _lot_ of
>dead code. Real Programmers(tm) remove dead code. Hacking straight
>assembler isn't going to do _that_ much for executable code size.
Two times at most, and that's only against awful compilers like Borland.
Going back to the original point about FE2, FFE contains around 400K of
code of which ~25% is new. I doubt FE2 used much less than 200K of code.
My conclusion? It wouldn't take that much longer to write an entire game
in assembler, but it wouldn't be much faster either. And it'd be really
difficult to port it to the Mac :-)
--
John Jordan
>>>>> "John" == John Jordan <jo...@jaj22.demon.co.uk> writes:
John> The CPU usage of Direct3D on a modern (hardware T&L+) graphics
John> card is fairly close to 0%, because the API acts primarily as a
John> wrapper for hardware-accelerated functions. The phrases
John> "graphics card limited" and "CPU limited" are actually
John> meaningful.
Whenever I have a game running that uses either DirectX or OpenGL,
whether under Linux or Windows, it seems that they eagerly swallow CPU
time. These could just be idle loops while waiting for something
better to do, but invariably these games take whatever the processor
can throw at them. Perhaps I was mistaken to not name this as one of
the bases of my assumptions.
>> Given that you have a good optimising compiler you can expect only
>> to be able to make assembler code about 10-15% faster than C code
John> The 10-15% figure is approximately correct, but has more to do
John> with changes in CPU design than compiler improvements. [...]
This is your area of expertise, certainly not mine. I can only repeat
general rules of thumb that I have picked up from textbooks, teachers
or other sources of information, and I can't even guarantee that I
repeat them correctly, though I do try. :-) Compilers never did
interest me all that much.
Some processors have features that others don't. How do we take
advantage of that while remaining binary-compatible across comparable
platforms (ie. straight i386, P I^n, Athlon etc.)? And wouldn't it be
easier to get a fairly high average performance by relying on
optimising compilers for the respective CPU architectures rather than
trying to accomodate each architecture in different sets of hand coded
assembler?
>> , but it takes around 5 times as long to write and debug.
John> This seems intuitively reasonable, but games didn't suddenly
John> become five times quicker to write when the programmers switched
John> over to C from assembler, and they certainly didn't become five
John> times more complex. I think this is because when you have a
John> difficult task, the mechanical coding time is small compared to
John> the time spent figuring out what to write.
To someone like me, who prefers high-level coding any day of the week,
the problem seems rather to be one of abstraction. How easy would it
be to refactor your code when everything is in assembler? From where
I'm standing it looks terribly difficult, but I haven't any
substantial experience with coding assembler, and certainly not on
largish projects.
John> C is certainly far easier to read, and is effectively
John> self-documenting. This benefit tends to evaporate once the
John> writer does a computer-science course or reads Stroustrup,
John> however.
What do you mean by this?
>> What bulk is concerned I heard some numbers quoted that some
>> version of MS Office was 4000% larger than it needed to be. That's
>> a _lot_ of dead code. Real Programmers(tm) remove dead
>> code. Hacking straight assembler isn't going to do _that_ much for
>> executable code size.
John> Two times at most, and that's only against awful compilers like
John> Borland. Going back to the original point about FE2, FFE
John> contains around 400K of code of which ~25% is new. I doubt FE2
John> used much less than 200K of code.
From what I understand the massive amounts of dead code were mostly
due to object files being linked into the finished executables that
weren't used anymore.
John> My conclusion? It wouldn't take that much longer to write an
John> entire game in assembler, but it wouldn't be much faster
John> either. And it'd be really difficult to port it to the Mac :-)
Yeah, at least C's _portable_ assmebler. :-)
Martin
- --
Homepage: http://www.cs.auc.dk/~factotum/
GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>
iEYEARECAAYFAj053GAACgkQYu1fMmOQldVrvwCcCQvfuwG2McbfoQn9zPXB03Rw
7EQAoOMQWl3aCU181zZQBVR0ebDZTKYw
=A4ok
-----END PGP SIGNATURE-----
Forgot about that one. Odd really - the ray-collision function includes
a parameter for an object to ignore, but it's not used by the higher-
level function. Maybe they decided to avoid turret-laser problems by
offsetting the turrets correctly :-)
--
John Jordan
For a start, older games or older graphics cards still expect
transformation and lighting to be done on the CPU. Otherwise, DirectX
doesn't tend to give up the CPU while it's waiting for the graphics card
to finish rendering. If it did, it couldn't expect it back until the
next timeslice, which is pretty critical for a game. Unless you have the
source, the only way to tell how much CPU a game is using is to
benchmark it on different machines.
>Some processors have features that others don't. How do we take
>advantage of that while remaining binary-compatible across comparable
>platforms (ie. straight i386, P I^n, Athlon etc.)?
Detect CPU, select alternative function by pointer.
> And wouldn't it be
>easier to get a fairly high average performance by relying on
>optimising compilers for the respective CPU architectures rather than
>trying to accomodate each architecture in different sets of hand coded
>assembler?
There aren't any significant optimising differences between modern x86
CPUs apart from the various SIMD-fp instruction sets, which compilers
don't use anyway. Well, that and the P4's missing barrel-shifter, but at
last count MSVC ignored such irritations.
>To someone like me, who prefers high-level coding any day of the week,
>the problem seems rather to be one of abstraction. How easy would it
>be to refactor your code when everything is in assembler?
Refactor? I could guess from the mathematical meaning, but it's
ambiguous.
>John> C is certainly far easier to read, and is effectively
>John> self-documenting. This benefit tends to evaporate once the
>John> writer does a computer-science course or reads Stroustrup,
>John> however.
>
>What do you mean by this?
Simply that people who have read Stroustrup or done a computer-science
course tend to write less readable code. In the former case it's simply
because they over-use templates and try to create every object as a
fully-functional class. In the latter case I'm unsure. I suspect that
people with a tendency to do computer-science courses also have a
tendency to write unreadable code.
--
John Jordan
--
=M<P= Xerxes
saving the world from too much beer
Ah, C++, not C. I'm of the opinion that anyone who uses C++ deserves
everything they get. Can't stand the "language". I've tried learning
it twice, and each time it seemed a badly-organised mess with loads
of arbitrary syntax.
--
Simon Challands, creator of
The Acorn Elite Pages: http://elite.acornarcade.com/
Three Dimensional Encounters: http://www.3dfrontier.fsnet.co.uk/
>>>>> "Simon" == Simon Challands <si...@usereplytoaddress.co.uk> writes:
Simon> Ah, C++, not C. I'm of the opinion that anyone who uses C++
Simon> deserves everything they get. Can't stand the "language". I've
Simon> tried learning it twice, and each time it seemed a
Simon> badly-organised mess with loads of arbitrary syntax.
Mostly I agree with you. I'd still prefer C++ over C, though C is a
nice and clean language, which is more than can be said for C++, but
my reasons for preferring C++ is simply that it's object oriented. But
yeah, it's a mess.
My preferred language: Python. Mmmm... Python...
Martin
- --
Homepage: http://www.cs.auc.dk/~factotum/
GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>
iEYEARECAAYFAj06qFkACgkQYu1fMmOQldWkhgCgjMn94uC1jPUxjHYfkPKxYAZk
tJgAoKpi9CqW1WqMEjB1RUwyCCkLXiHS
=FUss
-----END PGP SIGNATURE-----
You're kidding aren't you? Running Amiga FE2 on a standard A500 with no
slowdown? At all? What did you do, overclock the M68k and cool it with
freon?
Stuart
>
> You raise a fair point. However, I believe that the AI can be kept
> relatively simple and by implication efficient.
not for what I want! I want to enter a system and see other ships
behaving like they are doing something. I want to see cargo ships with
fighter escorts, rouge traders hanging around waiting for distress calls
so they can flit in when the dust settles and scoop lost cargos (or
escape pods). I'd like a background plot that moves along without my
intervention and a Federation/Empire conflict that can be affected by the
actions of me and the NPC's. I'd like to be abe to hire Hitmen
etc. etc. etc.
TW
>
> You raise a fair point. However, I believe that the AI can be kept
> relatively simple and by implication efficient.
not for what I want! I want to enter a system and see other ships
>>>>> "Thomas" == Thomas Worthington <t...@theBitBeforeTheAtSignAgain.cx> writes:
>> You raise a fair point. However, I believe that the AI can be kept
>> relatively simple and by implication efficient.
Thomas> not for what I want! I want to enter a system and see other
Thomas> ships behaving like they are doing something. I want to see
Thomas> cargo ships with fighter escorts, rouge traders hanging around
Thomas> waiting for distress calls so they can flit in when the dust
Thomas> settles and scoop lost cargos (or escape pods).
I quite agree with you. However, let's consider the right tool for the
right job.
If a tree falls in the forest and there's nobody around to hear it,
does it make any sound? If we see the tree Monday, come back Tuesday
and see it just lying there, and that's all we care about, then
whether or not it made any sound is quite insignificant to us. My
point? If we can't monitor what's going on around the solar system we
happen to be in closely enough to make out the details, there's no
reason to involve any elaborate AI. A lone trader or a convoy is
raided by pirates? Roll of dice decides the outcome. That's good
enough. We wouldn't be able to tell the difference anyway.
Martin
- --
Homepage: http://www.cs.auc.dk/~factotum/
GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>
iEYEARECAAYFAj067CIACgkQYu1fMmOQldULtACeKL9nioP87hbHFzOPdNyfkCtD
wPUAoNm/zsKrZ2PpJSv6MI4oLIi3iWOs
=Y2hP
-----END PGP SIGNATURE-----
>
> If a tree falls in the forest and there's nobody around to hear it, does
> it make any sound?
Yes.
> If we see the tree Monday, come back Tuesday and see
> it just lying there, and that's all we care about, then whether or not
> it made any sound is quite insignificant to us. My point? If we can't
> monitor what's going on around the solar system we happen to be in
> closely enough to make out the details, there's no reason to involve any
> elaborate AI. A lone trader or a convoy is raided by pirates? Roll of
> dice decides the outcome. That's good enough. We wouldn't be able to
> tell the difference anyway.
Unless we want to get involved. I'd like to be able to pick up distress
calls and intervene.
I'm the sort of player that follows NPC's around to see what they're up to.
TW
C++ is as clean and dirty as C is. with the notable exception of streams of
course.
> My preferred language: Python. Mmmm... Python...
weak typing is an evolutionary dead end.
> Hash: SHA1
>
> >>>>> "Simon" == Simon Challands <si...@usereplytoaddress.co.uk> writes:
> Simon> Ah, C++, not C. I'm of the opinion that anyone who uses C++
> Simon> deserves everything they get. Can't stand the "language". I've
> Simon> tried learning it twice, and each time it seemed a
> Simon> badly-organised mess with loads of arbitrary syntax.
>
> Mostly I agree with you. I'd still prefer C++ over C, though C is a
> nice and clean language, which is more than can be said for C++, but
> my reasons for preferring C++ is simply that it's object oriented. But
> yeah, it's a mess.
>
> My preferred language: Python. Mmmm... Python...
Can't say anything about Python, but I'll probably agree with you. I can't
see anything wrong with the principle of object orientation, although I've
not had any experiences with any OO languages except C++ (and a brief
flurry with Inform, which isn't exactly the most useful language on the
planet).
>>>>> "Thomas" == Thomas Worthington <t...@theBitBeforeTheAtSignAgain.cx> writes:
>> If a tree falls in the forest and there's nobody around to hear
>> it, does it make any sound?
Thomas> Yes.
What I'm saying is that the details only matter if we're able to
observe the difference between some set of events played out in
detail (AI is in control), but if we're not in range to see the
difference it's just as well that the outcome of a skirmish, or the
proceeding of a skirmish until we're in observation range, is
determined by roll of dice, so to speak.
Thomas> Unless we want to get involved. I'd like to be able to pick up
Thomas> distress calls and intervene.
Thomas> I'm the sort of player that follows NPC's around to see what
Thomas> they're up to.
Oh, we quite agree. The kind of people who'd typically play the Elite
series of games seem to me to be the kind who would do exactly this.
In these cases we'd be within observation range, and thus deciding
anything in a second based on pure statistics and chance would break
the illusion of real goings-on.
Martin
- --
Homepage: http://www.cs.auc.dk/~factotum/
GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>
iEYEARECAAYFAj07IFwACgkQYu1fMmOQldW/CQCfeynxfZNt2NgSnWy4991t4SXJ
vikAoME6nOBf/A6OgzkF68lwsRfQ7H3r
=MvSs
-----END PGP SIGNATURE-----
>>>>> "Serguei" == Serguei Narojnyi <n...@snaar.net> writes:
Serguei> C++ is as clean and dirty as C is. with the notable exception
Serguei> of streams of course.
Streams are nice, and what I like the most about C++. However,
accusing C of being dirty, especially comparing it to a large language
such as C++, is just plain strange. C is about as small and clean a
langauge as they get while still being practically usable. The
standard C library you may have your reservations about, but that's a
supplement to the language itself.
>> My preferred language: Python. Mmmm... Python...
Serguei> weak typing is an evolutionary dead end.
Python is not weakly typed, but dynamically typed. I strongly suggest
that you learn the difference before throwing too much criticism left
and right. Moreover, I expect a bit stronger arguments than just your
opinion before taking such blanket statements seriously.
Martin
- --
Homepage: http://www.cs.auc.dk/~factotum/
GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>
iEYEARECAAYFAj07IwQACgkQYu1fMmOQldWIbACg47d5ztMq681FubZcU7zqdotI
eW0AoK8KpGIzheL5YHyfd9EC8Gd+i4qm
=oxLF
-----END PGP SIGNATURE-----
Maybe he's the ultimate evolution of Matt Dibb, and can't tell the
difference between frame rates above one per second.
--
John Jordan
Possibly. I'd like to know what substances he's beent taking as it sounds
like I probably need some...
Besides, FE2 runs more or less "acceptably" on a standard A1200 with the
detail turned right down. It's still better than running the PC version on a
PIII as the textures don't really seem to improve things graphically.
Stuart
> From http://www.eliteclub.co.uk/faq.html:
That is dated 8th June 2001 - what is relevant then may no longer be
relevant now, its called evolution.
>
> What is the Elite Club? The Elite Club is a project which aims to
> bring new life to the Elite series of games, particularly
> Frontier and First Encounters - in advance of the release of
> Elite 4. Despite it being many years since their release, there
> is still a great deal of interest in them, confirmed by the
> number of mails we at Frontier Developments received following
> the original Elite Club announcement. The idea is to allow people
> to freely download the games as shareware, and also allow people
> to access the source code and legitimately update the games -
> bringing them up to date with current technology. We also hope
> that the creators of some of the Elite/Frontier tribute games
> will join the Club, as this will provide a support network for
> developers, and also allow these games to be set in the Elite
> universe.
>
> Where does supporting Elite 4 come into the question? If people have
> problems they are welcome to write in alt.fan.elite. I'm not going to
> be some company's unpaid support staff. It's about the old games, and
> it's about the source code. It always has been.
What is the sense in dedicating company resources on several games
over 10 years old and not supporting a current product??? Any
company that did not support their current product and users to use
Usenet would be crucified, and rightly so.
Frontier Developments will need a support site for E4, and why not use
the existing Elite Club as the defacto site for it?
> And how exactly would they be supporting it? In discussions about the
> EC it seems that people would prefer for it to be mostly a community
> of developers working together to improve FFE. After the release of
> the source I don't see how Frontier Developments would have any work
> left to do.
So? Those discussions were held mainly alt.fan.elite by _existing_
Elite/Frontier fans. I am sure that Frontier Developments want to
sell to more than 5000 or so copies of E4, they are rightly expecting
somewhat more. The users of E4 will be their primary focus, not the
5000 that want to see some 10 year old code.
As such, the Elite Club should focus on getting the purchasers of E4
in to the Elite/Frontier "way of life" via the club, so that they will
purchase the next version, expansion packs, or whatever FDL plan to do
with the Elite series. That is their future revenue stream, not
cleaning up 10 year old code and releasing it into the public domain
and $10 a pop, or whatever.
Additionally, Frontier Developments have appointed that new guy since
then (I forget his name) and he has said that they will be doing
something with the Elite club. What this will be has not been
publicly announced, and I suggest that rather than complain about it,
people wait to see what happens. It may be something that benefits
the entire Frontier community, rather than a few who will not let the
source code issue rest.
JamesF
I have a save of me flying a Lynx after deliberatly failing a
classified mission, then jumping to Miacke (before the missions). The
result of this was that some peacefull thargs came out to meet me
(until i started shooting at them) in unlimited numbers and the inra
where spread all over the system in large (but limited) numbers.
Funnily enough, if I let my ship get blown up and excaped in capsule,
the INRA ships turn tail after the kill and head towards the station.
This is really hard to follow the outcome of their flight as the
capsule is slow, and the thargs don't ignore your capsule, but attack
it immediately. Need to hack the capsule on the exe so it can follow
the inra ships to wherever they decide to go and do.
Fran
It's a pity that FD aren't a plc. At least we could examine their accounts
and know what their financial state is if they were :-)
(Actually, David Walsh has hinted at making FD a plc.)
--
Dylan Smith, Castletown, Isle of Man
Flying: http://www.dylansmith.net
Frontier Elite Universe: http://www.alioth.net
"Maintain thine airspeed, lest the ground come up and smite thee"
That's a bit of a myth about assembly. A good optimizing compiler can
produce code that's almost as tight as hand-written assembler. It's just
not worth the effort to write in assembler any more - especially if you
want portability (E4 is supposed to be available on many platforms).
Frontier would still have fit on a floppy if it were written in C. What
takes up all the space in games is not code - it's the data.
What? Maybe I'm odd or warped [0] but I find C++ a tool that falls easily to
the hand, and properly-designed C++ code a beauty to behold. I've never
done Smalltalk, but I have done Java. As a programmer, give me C++ over
Java any time. Java seems to be too much protecting the programmer from
themselves (a 'nanny' language) which really hurts its utility.
The only language I enjoy more than C++ is Perl.
[0] People have told me I'm weird to my face. The nice ones tell me I'm
"eccentric".
C (or C++) is as clean or as dirty as the programmer, nothing more, nothing
less. (And I don't mean in personal hygene terms!)
David Walsh. And that announcement was made about a year ago. Frontier
Developments MO w.r.t Elite is that they make announcements but never
follow them up or do something entirely differently - i.e. they cry
'wolf' all the time. Most of us have given up believing what they say
over the Elite Club. Maybe the intention of what to do with the Elite
Club was "nothing". Evidence so far indicates that this is the case.
>
> That's a bit of a myth about assembly. A good optimizing compiler can
> produce code that's almost as tight as hand-written assembler.
That's simply not true except for high values of "almost".
TW
> weak typing is an evolutionary dead end.
Strong typing is for weak minds.
TW
Actually, it's a bit of a nightmare in 3D games to get any shooting to
work, and you have to do some tweaking. A bullet has to appear on the
X,Y, and Z axis, and most of the time that's inside the player. So,
you have to freeze the game, make the player momentarily invulnerable,
send the bullet-object away, and so on.
Things were so much easier in the 2D days.
Cheers,
Marcus
*who's wondering how to create a magic machine gun that uses a rough
staff as a muzzle*
>>>>> "Thomas" == Thomas Worthington <t...@theBitBeforeTheAtSignAgain.cx> writes:
Thomas> On Sun, 21 Jul 2002 20:40:20 +0100, Serguei Narojnyi wrote:
>> weak typing is an evolutionary dead end.
Thomas> Strong typing is for weak minds.
Wow, you guys are really smart.
Martin
- --
Homepage: http://www.cs.auc.dk/~factotum/
GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>
iEYEARECAAYFAj07/msACgkQYu1fMmOQldXSlACgrcfrE4ehwageC7InidELdLcT
G2cAoJv0tcxNKoCaw613NF6KxJePKQFd
=0VLV
-----END PGP SIGNATURE-----
>>>>> "Dylan" == Dylan Smith <dy...@vexed2.alioth.net> writes:
Dylan> C (or C++) is as clean or as dirty as the programmer, nothing
Dylan> more, nothing less. (And I don't mean in personal hygene
Dylan> terms!)
Oh no, I sprintf'ed myself again...
Martin
- --
Homepage: http://www.cs.auc.dk/~factotum/
GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>
iEYEARECAAYFAj07/pUACgkQYu1fMmOQldXYyQCgnW0+CZ/UkchRjsxiPb8E9bpq
IuUAn2SlkBjQprXRAWdsCnklkBWq+wr5
=Angr
-----END PGP SIGNATURE-----
>>>>> "James" == James Franklin <jefran...@hotmail.com> writes:
>> From http://www.eliteclub.co.uk/faq.html:
James> That is dated 8th June 2001 - what is relevant then may no
James> longer be relevant now, its called evolution.
I think that information is exactly as relevant or irrelevant as the
Elite Club itself.
As for the things you seem to expect from the EC, there are already
fan sites for FFE out there that cover most of the items on your list,
and surely there will also be for E4. As for tech support, that's
never once been mentioned as the purpose of the EC. The plan for the
EC has _always_ been that it should be a focal point _by_ and _for_
the community with the Frontier crew making some server space and
bandwidth available for it. Other than preparing the FFE source code
for release there should be very, very little for them to do. What
you're talking about is something completely different from the EC.
Yes, it would be some kind of forum; yes, it would be about E4. But it
wouldn't be the EC in any form that we'd recognise.
However, since it would appear that they're not going to deliver on
their promises regarding the EC (and why oh why haven't they then
pulled down the site?), this discussion is purely academical and
really not very interesting at all.
Martin
- --
Homepage: http://www.cs.auc.dk/~factotum/
GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>
iEYEARECAAYFAj08APAACgkQYu1fMmOQldUg/ACg5w3X9qCN/rXr/nH0Ny3SqVOE
jXAAn0lmBOTsJgA8+pebI91Fg+V7Cfx+
=rZDI
-----END PGP SIGNATURE-----
uh-huh. and real programers write everything in assembler/perl (depending on
religion).
no, just me. ph33r me!
As a limited company they still have to file publicly available accounts at
Companies House. However, if they are a small company these will not tell
you much as they will be abbreviated ones.
>Whenever I have a game running that uses either DirectX or OpenGL,
>whether under Linux or Windows, it seems that they eagerly swallow CPU
>time.
Less than 5% ime on Linux & OpenGL :-)
>Oh no, I sprintf'ed myself again...
Please, snprintf!
>>>>> "JK" == JK <j.k.@gotmail.com> writes:
JK> On Mon, 22 Jul 2002 14:46:13 +0200, Martin Christensen
JK> <knightsofspam...@gvdnet.dk> wrote:
>> Oh no, I sprintf'ed myself again...
JK> Please, snprintf!
Hey, punk! Don't gimme no corrupted inodes or I'll fsck you over!
Martin
- --
Homepage: http://www.cs.auc.dk/~factotum/
GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>
iEYEARECAAYFAj08kJUACgkQYu1fMmOQldXr7wCgxJd0dF+tmWeHAYDjb2ns/ore
thEAn2h4MFn2e2odnu54BLnxAA9XOOan
=TSZ+
-----END PGP SIGNATURE-----
>>>>> "JK" == JK <j.k.@gotmail.com> writes:
>> Whenever I have a game running that uses either DirectX or OpenGL,
>> whether under Linux or Windows, it seems that they eagerly swallow
>> CPU time.
JK> Less than 5% ime on Linux & OpenGL :-)
Doesn't that depend on the game?
Martin
- --
Homepage: http://www.cs.auc.dk/~factotum/
GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>
iEYEARECAAYFAj08kLAACgkQYu1fMmOQldXVjACeMT2z0QoAPtg11i6ZwKm8I+r1
aE8AoJujvZ1GGWbjLaGgtiosvNc1/Qna
=w3EF
-----END PGP SIGNATURE-----
By a strange coincidence these two plus PHP constitute almost the whole
of my output for the last three years. Certainly the whole of my paid
output.
Strong typing is of no use whatsoever. In 25 years of programming I have
never understood why anyone thinks the compiler should have
responsibility for knowing what the programmer means - that's the
programmer's job.
If you NEED strong typing then you have big problems and if you don't
need it then, well, why have it getting in the way?
TW
tell me, have you ever done something even remotely big?
> Strong typing is of no use whatsoever. In 25 years of programming I have
> never understood why anyone thinks the compiler should have
> responsibility for knowing what the programmer means - that's the
> programmer's job.
well, people who work on sausage plants have no need for strong typing too.
and don't tell me you have never made a typo that cost you hours to find
just because compiler happily ate the wrong code...
> If you NEED strong typing then you have big problems and if you don't
> need it then, well, why have it getting in the way?
are you blind or what? strong typing allows for significanly bigger set of
error to be caught at compile time vs. runtime, this is the main argument
for the strongly typed languages. the ultimate compiler should report all
error in your code during compile time, unfortunatly, not all languages are
statically provable, althought subsets of them are. mind you, Ada83 was
fully statically provable and a huge subset of Ada95 is too (they broke
provability in favour of power). those two are among the most strongly typed
languages ever made and it's no wonder DoD chose it (although they relaxed
the rule because most "programmers" are too thick to learn language that
doesn't look like garbage they've learned in their cs courses (Ada _was_
taught in universities but number of courses has been diminishing
drammatically in favour of idiotic languages such as java (mainly because
sun likes to sponsor universities and shove crap in their hands))). you
don't see any perl crap being used in any safety-critical environment and so
on... like i've said, weakly typed languages are toys for quick hacks. as
soon as amount of code gets too big to hold it in your head (yes! imagine
that! it does happen!) - you tend to get screwed, of course there are
exceptional (in mathematical sense of the word) people who can write
thousands of lines of crap code without a twitch in any language.
only one barf bag for you.
>JK> Less than 5% ime on Linux & OpenGL :-)
>
>Doesn't that depend on the game?
Yes.
> weakly typed languages are toys for quick hacks. as soon as amount of
> code gets too big to hold it in your head (yes! imagine that! it does
> happen!) - you tend to get screwed,
Type checking is a hack for this situation, it works (more or less) but it
is a hack.
A far better method is to avoid the situation. Factor your code and write
sub-routines (or equilavent) that are small (I aim for 10-12 keywords per
routine with no more than ONE sub-structure like loops or if blocks), have
clearly defined inputs and outputs (less than four of each if possible),
and, above all, are organised into logical components with coherent
interactions. You will not be able to keep the whole of the code in your
head but you should always be able to hold the whole of the section you
are working on in your head. If you can't, rewrite, refactor,
recompartmentalise it until you can.
With this style of programming a strongly typed compiler is wrong more
often than you are and it gets to be like cross-country biking with
stabilisers.
You can do beautiful OO with no compiler enforced typing at all, and you
can do unmaintainable spaghetti with the strongest typed systems.
TW
> clearly defined inputs and outputs ...
will this prevent the other 10 programmers in your team to write the wrong
values in the functions/procedures while there is absoluty no time by you to
fix/or help with the resulting problems? ...
it's no more of a hack than using C instead of assembler.
> A far better method is to avoid the situation. Factor your code and write
> sub-routines (or equilavent) that are small (I aim for 10-12 keywords per
> routine with no more than ONE sub-structure like loops or if blocks), have
> clearly defined inputs and outputs (less than four of each if possible),
> and, above all, are organised into logical components with coherent
> interactions. You will not be able to keep the whole of the code in your
> head but you should always be able to hold the whole of the section you
> are working on in your head. If you can't, rewrite, refactor,
> recompartmentalise it until you can.
it all sounds sooo nice on paper...
> With this style
what style? strongly typed languages don't force you to use any style.
> of programming a strongly typed compiler is wrong more
> often than you are and it gets to be like cross-country biking with
> stabilisers.
where with weakly typed languages you can't even be sure what the hell you
are riding...
i've raised an important point (which you chose to ignore) that is crucial
in mission-critical systems - statical provability of the whole code (or
parts of it). and i feel much more confident in the code that passed the
compile-time checks. there is an important reason named language subsets
exist (for example ravenscar for Ada95) that guarantee a lot of things are
right if code passes the compilation stage. you simply can't have this in
weakly typed languages - you have to simulate what compiler does by yourself
by running a lot of runtime tests. by your logic compilers are for wussies,
everyone should write in machine code, if you can't - well then, too bad you
suck, if you can, then why the hell use compilers if they just would get in
the way? bleh, you remind me of fido assembler fanatics.
> You can do beautiful OO with no compiler enforced typing at all, and you
> can do unmaintainable spaghetti with the strongest typed systems.
what the hell does OO/spaghetti have to do with anything? saying truisms
doesn't make your point stronger.
so you essentially chose to ignore majority of arguments i presented in
previous post and picked on an insignificant detail? good job, two barf
bags.
I've only been programming for 20 years, but I totally disagree with
you.
"Strong typing is for weak minds". Yep, I'm happy to admit that I have
a weak mind, and need whatever help I can get. Anyone who doesn't is
either a liar or a genius.
Since you've been doing PHP and perl I can imagine that it wasn't so
relevant for your tasks. But... did your XML/HTML validate? (i.e. pass
a type-check?) And if you start with Biztalk, how will you ensure that
your XMLs validate then?
--
Lucian Wischik, Queens' College, Cambridge CB3 9ET. www.wischik.com/lu
That and your other dictums are fine, and make sense, but I think they
belong to an older sequential/functional world -- as stuff becomes more
concurrent, you have to write agents which don't have inputs or
outputs, but only interactive behaviour.
> it all sounds sooo nice on paper...
So does formal systems analysis but that's of little interest to the
people that died on the Indian A320 that decided to nose dive onto the
runway instead of landing in perfect flying conditions. Nothing, not
formal analysis, not unit testing, not careful design, will ever come up
with perfect software every time. I think Godel's proof applies here,
doesn't it?
>> of programming a strongly typed compiler is wrong more often than you
>> are and it gets to be like cross-country biking with stabilisers.
>
> where with weakly typed languages you can't even be sure what the hell
> you are riding...
Why not? Did you not write it down? Is there no documetation? What sort of
a mission critical project are you running here?
> i've raised an important point (which you chose to ignore) that is
> crucial in mission-critical systems - statical provability of the whole
> code (or parts of it). and i feel much more confident in the code that
> passed the compile-time checks.
You are saying you want reliable software and that the only way you
believe that is possible is by a certain methodology. I agree that what
you are saying is correct (ie I'm not claiming that statical provability
is bogus) so there's nothing to argue about in what you said, but it's not
the only approach. I "ignored" your point because it has nothing to do
with my point which is that there are other ways to arrive at the same
confidence level.
>> You can do beautiful OO with no compiler enforced typing at all, and
>> you can do unmaintainable spaghetti with the strongest typed systems.
>
> what the hell does OO/spaghetti have to do with anything? saying truisms
> doesn't make your point stronger.
I was pointing out that a strong type system does not magically deliver
good code and the lack of it does not magically deliver bad code.
> so you essentially chose to ignore majority of arguments i presented in
> previous post and picked on an insignificant detail?
Your argument boiled down to "we need reliable software in certain
situations" and an implication that "reliable" means "strongly typed".
That's not really an argument as much as an attempt to conflate two
assertions; I accepted one and rejected the other. As regards the one I
rejected, your argument's main points were "perl [is] crap", "weakly typed
languages are toys ", and " there are exceptional ... people who can write
thousands of lines of crap code without a twitch in any language". My
counter arguments to this in-depth study of the field are: only if the
programmer is crap; No they're not; and if by "twitch" you mean
"mistake" then no there aren't.
Anyway, I don't think Elite 4 counts as a critical system. Just as well,
really, or we'd all be dead by now.
TW
> will this prevent the other 10 programmers in your team to write the
> wrong values in the functions/procedures while there is absoluty no time
> by you to fix/or help with the resulting problems? ...
That's exacly what I had in mind when I said that if you NEED strong
typing you're already in trouble:
1 That team's too big: 110 communication paths in a team is too much to
leave time to work,
2 if the mission is critical and you've run out of time then you'll have
to miss the deadline (and try to get it right next time),
3 Employ programmers that read the spec.
TW
to summarise whole thing:
people suck and make mistakes all the time. strongly typed language allows
for much bigger set of those mistakes to be caught at compile-time than at
run-time. i'm sure you wouldn't deny that fixing compile-time errors is
trivial compared to debugging the application. your argument works well
assuming all people are perfect and follow docs all the time and they also
don't get tired and always hit the correct button on the keyboard and so on,
well, guess what, they aren't.
other question:
would your style/art of programming combined with strong type checking
worser(bad) than without -> if answer = yes - why?
>>>>> "Serguei" == Serguei Narojnyi <n...@snaar.net> writes:
>> If you NEED strong typing then you have big problems and if you
>> don't need it then, well, why have it getting in the way?
Serguei> are you blind or what? strong typing allows for significanly
Serguei> bigger set of error to be caught at compile time vs. runtime,
Serguei> this is the main argument for the strongly typed
Serguei> languages.
You guys should listen to yourselves. You act like monkies on Poop
Throwing Day.
Strong typing has its benefits. As Serguei says, if it is required
that you have absolute control of the type of your input and output
and that you can't afford to do this at run-time, then strongly typed
languages are a must.
However, in my programming experience, these situations are few and
far between. I do mostly database stuff these days. If I had to work
with statically typed languages as I did to begin with, then half of
my code would be devoted simply to casting stuff to and fro. Moreover,
if we compare Java and C++, a piece of code doing basically the same
thing would typically be twice as large in the latter as in the
former. Most interpreted languages, Python, Perl, Ruby and PHP coming
to mind, would again be anywhere from two to five times shorter than
the equivalent Java source. Given that Python has given me the lowest
amount of bugs per line I've ever experienced, combined with the fact
that it's five to ten times as terse as C++, I get _much_ more work
done and with _far_ less frustrating bug hunting.
That said, dynamic and weak typing can add a lot of flexibility what
typing is concerned, but this can be a double-edged sword. Last
semester I wrote a universal query engine in Python, and near the end
I started messing about with some of the fundamental data types for
the application. The result was a very, very nasty bug that was both
difficult to discover and track down.
If you want code that provably works correctly, however, you can both
put away your flamethrowers and arguments. For such a purpose the
programming paradigm is much more important than the typing of the
language. LISP, for example, is by far easier to verify than most of
the popular mainstream languages today, regardless of their typing. If
you go for strictly functional languages, isolating bugs will be far
easier than in procedural languages, among other things because
functions have no side effects.
Martin
- --
Homepage: http://www.cs.auc.dk/~factotum/
GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>
iEYEARECAAYFAj09mG8ACgkQYu1fMmOQldW3HwCdE2+ILYysyy3AKPGkOLcT1hcJ
DPUAnii0ixwFs/SkzDTFMAdIZdHjXQJO
=NiPv
-----END PGP SIGNATURE-----
yeah i know, not that i'm proud of it.
> That said, dynamic and weak typing can add a lot of flexibility what
> typing is concerned, but this can be a double-edged sword.
you can simulate dynamic typing in most strongly typed languages by defining
implicit conversion operators for each pair of types you want to use. in
fact, you probably want to use polymorphism instead of dynamic typing, since
that guarantees you that various signature contracts would be satisfied.
> If you want code that provably works correctly, however, you can both
> put away your flamethrowers and arguments. For such a purpose the
> programming paradigm is much more important than the typing of the
> language. LISP, for example, is by far easier to verify than most of
> the popular mainstream languages today, regardless of their typing. If
> you go for strictly functional languages, isolating bugs will be far
> easier than in procedural languages, among other things because
> functions have no side effects.
nah, you still get problems if you have weak typing. there are strongly
typed functional languages though. strong typing is a requirement for
statical provability (hm, i might be wrong, i don't recall there being an
exception though). and lisp is easier to semi-prove only because it has a
very limited set of control flow altering statements.
> other question:
> would your style/art of programming combined with strong type checking
> worser(bad) than without -> if answer = yes - why?
Mainly by the introduction of casting or, in OO cases, operator
overloading which would not otherwise be needed. More code=more typos to
find, harder to follow, bigger, slower code.
Put simplisticly, if I want to add 1 to "A" and get "B" I don't want to
have to add an operator/cast+cast back to do it. This can get really
complex with operations on pointers (or, worse, collections of pointers)
if the language is not keen on accepting "pointer" as a built in type. As
I recall this is the sort of thing that the standard templates in C++ have
been introduced to help with, although it's been a few years since I used
C++ and the templates hadn't really come in yet.
TW
> other question:
> would your style/art of programming combined with strong type checking
> worser(bad) than without -> if answer = yes - why?
Mainly by the introduction of casting or, in OO cases, operator
>>>>> "Serguei" == Serguei Narojnyi <n...@snaar.net> writes:
Serguei> you can simulate dynamic typing in most strongly typed
Serguei> languages by defining implicit conversion operators for each
Serguei> pair of types you want to use. in fact, you probably want to
Serguei> use polymorphism instead of dynamic typing, since that
Serguei> guarantees you that various signature contracts would be
Serguei> satisfied.
Well, you can do exactly the same things in one Turing complete
language as you can in all others, but that's not the point of having
different languages, is it? The idea is to make expressing one's
solution to a given problem easily in a clear and natural way.
Different tools will certainly be better for different jobs and
different people. However, it seems to me that what you're suggesting
is merely jumping through hoop upon hoop just so that you can use a
statically (not strongly; C and C++ aren't strongly typed, only
statically typed) typed language.
In my experience, polymorphism is a poor alternative to dynamic
typing, if it's that kind of functionality you're after.
>> If you want code that provably works correctly, however, you can
>> both put away your flamethrowers and arguments. For such a purpose
>> the programming paradigm is much more important than the typing of
>> the language. LISP, for example, is by far easier to verify than
>> most of the popular mainstream languages today, regardless of their
>> typing. If you go for strictly functional languages, isolating bugs
>> will be far easier than in procedural languages, among other things
>> because functions have no side effects.
Serguei> nah, you still get problems if you have weak typing.
Which problems? If you're writing a provably correct application you
must necessarily assume that you have competent, disciplined
programmers working on the job, or it'll never work. Documenting valid
input and output, supplementing it with assertions distributed
lavishly throughout the code in a design by contract-like way, and
there should be little to gain from static typing. But as I said, this
assumes competent programmers. Sloppy codewrights can spoil anything
they get near, static typing or not.
Serguei> there are strongly typed functional languages though.
Yes, of course. And writing functional code doesn't necessarily mean
that you use a strictly functional language. Python, just to name one
that I am comfortable with, is basically procedural, but could easily
be used to program strictly functionally by convention. But take a
look at ELisp (the LISP dialect Emacs uses), which ougth to be a
functional language, and you'll be utterly paradigmally confused.
Serguei> strong typing is a requirement for statical provability (hm,
Serguei> i might be wrong, i don't recall there being an exception
Serguei> though).
I assume you mean static provability. Regardless, static provability
or statical provability or whatever it is you meant, I still don't
know what it is. Though I find it interesting, I'm not that strong in
formal systems.
Serguei> and lisp is easier to semi-prove only because it has a very
Serguei> limited set of control flow altering statements.
Possibly, but in my experience in hacking it and its derivatives
(Scheme, Guile, ELisp), that isn't really a drawback.
Martin
- --
Homepage: http://www.cs.auc.dk/~factotum/
GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>
iEYEARECAAYFAj09z6wACgkQYu1fMmOQldU56ACfUW+i3VCoFOK4mql7duiuCJC5
z1cAoJGUFF2V8gTnawb7dtztHfqf9FI5
=9Gp8
-----END PGP SIGNATURE-----
I think that's just because Java is ugly. You could use ML instead -- a
strongly typed functional language -- which winds up about as short as
python.
No. Goedel only said that it's impossible to build a single verifier that
works for *all* software. He said nothing about building a suite of
simpler verifiers that merely work for most practical software.
Moreover, you can design a type system strong enough that every program is
*guaranteed* to succeed (yah boo sucks to you goedel!)
>>>>> "Lucian" == Lucian Wischik <ljw...@cus.cam.ac.uk> writes:
Lucian> I think that's just because Java is ugly. You could use ML
Lucian> instead -- a strongly typed functional language -- which winds
Lucian> up about as short as python.
Last year they took up ML for an introductory programming that
everybody going through a technical or scientific education have to go
through during their first year at uni. Before that they used Pascal.
From what I hear they have had excellent results with this. Apparently
it's easier for people with a solid mathematical background to learn
a functional language as a first programming language.
It seems to me that half of the body of functional languages have
static typing, and the other half has dynamic typing.
Can you recommend a good ML compiler?
Martin
- --
Homepage: http://www.cs.auc.dk/~factotum/
GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>
iEUEARECAAYFAj0+g9MACgkQYu1fMmOQldXHygCeNRYgpzd8hD8ubeMIn7iNdViL
M2cAliqw1uKDE6Fc3rL0/v84Bo+2iAw=
=hUHz
-----END PGP SIGNATURE-----