News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

"Avoid Assembly Language"

Started by dedndave, February 13, 2012, 07:18:05 PM

Previous topic - Next topic

dedndave

i found this article by Joseph M. Newcomer
thought you guys might get a kick out of it   :P



http://www.flounder.com/getdlgitem.htm
QuoteIt makes about as much sense to use GetDlgItem in C++/MFC as it does to
program Windows in assembly code. Yes, I know there are masochists who
like to program Windows in assembly code. But it is rare that it is actually
needed. Perhaps in the inner loop of a DSP algorithm, where you might
drop a few of those fancy Pentium III opcodes inline, but the rest of the
time it is insanity. The same is true of GetDlgItem. Actually, there is slightly
more reason to use a raw  GetDlgItem than there is to use assembly code,
but the reasons represent rare and very uncommon cases.


vanjast

What a dickhead... if you do not use explicit code (hmmm Assembly of course), you'll spend the same amount of time debugging it because you'll know zippo about the underlying causes of the bugs - but you'll spend time learning about it... :wink

Soooo spend the same amount of time doing it properly in the first place.... VIOLA!!!! THE PENNY DROPS!!!!...what else is there ? :lol

Rockphorr

hi is just the ideologist of the consumer society in the programming.
Strike while the iron is hot - Бей утюгом, пока он горячий

jj2007

His article is really worth reading. He demonstrates clearly how hilariously complicated C++ code is - for masochists only :dazzled:

donkey

Well, being a certified insane masochist I tend towards assembly for Windows. Since I am not only insane but actually completely twisted I usually shy away from macros and the particular flavour of assembly that I use is sparse in high level constructs (for now, run-time conditionals are imminent).

That said, I like this guy. He managed to take a simple one line instruction that returned usable data, convert it to several complicated lines of C++ code and various header tricks and call it "simpler", it takes balls to do something like that. It's sort of like undertaking the redesign of a water balloon and ending up with the nuclear weapon, slight level of over engineering there.
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

hutch--

Now you know what the programming environment was like when Iczelion and I started the MASM32 Project in 1997. You on and off hear this "politically correct" nonsense but back then you silenced the bullsh*t with small fast missile software that had all of the GUI goodies, was one tenth the size and ran at speeds that left these guys wetting themselves. The "numb silence" response made the point, the rest was propaganda.

The problem was both then and now that folks who spruke nonsense like this have little experience in direct API coding and probably none in assembler programming under Win32. Most had vague memories of cobbling together a few DOS interrupts for some crapheap compiler back in the DOS era. Every tool has its place, its just that some last far longer than others, if you could write DOS 16 bit assembler in 1990, it will not take you all that long to learn later protected mode programming in assembler but its hard to explain what the programming skills in ADA[tm] or VB (1 - 6) left you with.

For all of its difficulties low level programming has this much going for it, its effectively free of the clutter of many of the later OOP(S) languages and you actually know what is going on when you write a procedure, try and fix a broken "object" buried three levels deep in a gaggle of DLLs or OCXs and you will understand why having low level API and ASM access makes sense.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

dedndave

and...
ASM is more fun than all those high-level crapilers   :P

when i look at C source, i find myself saying, "how boring" - lol

anunitu

Thats prob. because you dream in assembler Dave.. :wink I myself have had dreams where I am working logic states. :dazzled:

dedndave

can't say what i dream about - wifee might not like it - lol
but, it isn't code and it isn't electronics   :P

MichaelW

Quote from: dedndave on February 14, 2012, 12:52:20 AM
can't say what i dream about - wifee might not like it - lol

You could be one of those people who claim to never dream, never mind that it's essential for maintaining sanity.
eschew obfuscation

bozo

When Windows On ARM is released, x86 programmers might need to learn ARM assembly also

Farabi

Quote from: bozo on February 14, 2012, 10:08:57 AM
When Windows On ARM is released, x86 programmers might need to learn ARM assembly also

The first of the playing ground should be, the boot sector for that "Pi" device. I have to have it, it only 35USD.
Those who had universe knowledges can control the world by a micro processor.
http://www.wix.com/farabio/firstpage

"Etos siperi elegi"

bozo

Me too, you could probably turn some router devices into development boards, running DD-WRT for example.

Thinking about using QEMU with Debian port for ARM in the meantime.

Thankfully, someone has already provided pre-built images to get started with:

http://people.debian.org/~aurel32/qemu/

Had looked at Windows CE which would probably run in QEMU too but unsure about MIPS since there's no BIOS

shankle

My 2 cents.....
I've been listening to this argument for 40+ years.
I had the unpleasant pleasure of having to write code in Cobol.
What a disgusting language. Then there was PL1, C, C++, Java etc.,etc.
Please leave me to write in the language I like and you write in the language
that pleases you.
Here is my analogy that expresses the difference between assembler and high level
languages:
My neighbor needs an egg. i walk to the frig and get the egg and walk to the fence dividing
our homes and hand her the egg (ASSEMBLER).
I rent an 18 wheeler and park it in front of my house. Package the egg in a 3by3 box so
it won't get broken and haul it out to the 18 wheeler on a dolly. Drive 80 feet to my
neighbor's home and reverse the process. (High Level languages)
Sorry for the rant....
The greatest crime in my country is our Congress

dedndave

just as long as you aren't choking the chicken, Jack   :P