"Nobody programs in machine language" (was: Modern

From: Fred Cisin <cisin_at_xenosoft.com>
Date: Mon Jun 21 23:32:55 2004

Before you call it "RUBBISH". READ IT, and understand what was said.

You seem to have ignored the first line of each and every paragraph.
You consistently misquoted me as saying that everything had to be written
in assembly language.

I did NOT say that ANY of those items had to be written in assembly
language. I said that doing them well required an "understanding of
assembly language".
Surely you can understand the difference.


And, in response to your STRAWMAN argument,
NO, you can NOT "excel in driving" without
an understanding of how a car works.
You can get by as an adequate driver,
but you will NEVER "excel" if you don't understand the engine.
[Yes, I CAN build an engine from scratch. But I have always
built them from existing auto parts. I have extensive
professional automotive experience.]


I will concede a total lack of experience with MODERN games.


In the "vast array of criteria", which kinds of optimization
do you think are not helped by an understanding of machine language?
What do you think "optimization" means?

--
Grumpy Ol' Fred     		cisin_at_xenosoft.com
On Tue, 22 Jun 2004, Ken Seefried wrote:
> I'm a big proponent of teaching my students assembly, though not machine
> language, but the following was simply silly...
>
> From: Fred Cisin <cisin_at_xenosoft.com>
>
> >Regardless of whether you actually USE it in the project,
> >if you do not have an understanding of machine language,
> >then you can not write a good "driver", or anything else
> >that directly addresses hardware.
>
> True.  But what percentage of programmers write drivers (clue: it's small).
>
> >Regardless of whether you actually USE it in the project,
> >if you do not have an understanding of machine language,
> >then you can not write a good operating system, or any
> >other system software.
>
> True.  But what percentage of programmers write operating systems (clue:
> it's small).
>
> >Regardless of whether you actually USE it in the project,
> >if you do not have an understanding of machine language,
> >then you can not write a good game, or anything else that
> >needs to be efficient.
>
> Completely not true.
>
> Modern games (as in most anything past the 8-bit era) are written
> predominately if not exclusively in higher level languages (C, C++ or C#)
> and rely much more on content (story, textures, skins, etc.) than anything
> that has to be written in machine language for success.  And the engines
> driving these games haven't been written in machine (or assembly) in a long,
> long time.  Modern games use DirectX or OpenGL and are written in high level
> languages.
>
> Even Carmack doesn't program in machine language in modern history, and he's
> the demi-god of game optimization.
>
> You can download the source to many older games if you don't agree.
>
> I don't even need to go into things like Cg and how far they absract writing
> good games from machine language.
>
> >Regardless of whether you actually USE it in the project,
> >if you do not have an understanding of machine language,
> >then you can not do a good job of optimizing ANYTHING.
>
> Total rubbish.
>
> There are lot's of kinds of "optimizing", not all of which mean "doing it
> the way that Fred thinks it should be done" or "doing it in the absolute
> fewest instructions".  If you are going to use words like "ANYTHING" (esp.
> with the caps), you need to include optimizing for a vast array of criteria.
>
> Is machine language the only way to optimize for user interface?  Probably
> not, except for extremely narrow definitions of optimized.
>
> Is machine language the way to optimize for dynamic logic (like different
> tax laws from one year to the next)?  Probably not.
>
> Is machine language the way to optimize for realistic, modern deadline or
> budget?  Almost certainly not.
>
> >Regardless of whether you actually USE it in the project,
> >if you do not have an understanding of machine language,
> >then you can not do a GOOD job of programming anything.
>
> Total rubbish.
>
> I can't build an engine from scratch, therefore I can't excel at driving a
> car?
>
> I can't build a spin cast reel, therefore I can't fish.
>
> The folks who program Quicken have to know machine language to do a GOOD job
> at writing tax software?  Rubbish.
>
> The folks at Adobe have to know machine language to do a GOOD job of
> rendering Acrobat pages?  Rubbish.
>
> The Gnome, KDE, QT, etc., folks haven't done a GOOD job, for all values of
> GOOD, because they use high level languages.  Rubbish.
>
> You can do anything in machine language.  Can you do nothing well without
> it?  Rubbish...Obviously you can.
Received on Mon Jun 21 2004 - 23:32:55 BST

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:36:59 BST