Re: 3rd party Device driver development tool or pure- wdm driver development..Which is the bes

> -----Original Message-----

From: Gary Little [mailto:xxxxx@Broadstor.com]
Sent: Tuesday, October 30, 2001 4:20 PM
To: NT Developers Interest List
Subject: [ntdev] Re: 3rd party Device driver development tool or pure
wdm driver development…Which is the best???

The point I was trying to make was that I would gladly trade code size for
readability and maintainability. If you don’t work in a group or company
that is well versed in “insert methodology here” pratices, then “insert
methodology here” is probably the wrong choice. However, if everyone in
your group understands UML, Booch, or Bob’s Structured Programming Model,
then I believe that you can get a great deal of leverage from employing
those commonly (within the group, not within the world) understood
techniques.

I also didn’t make any claim that one language was inherently better than
another. We write drivers in C just like everybody else, but when I tell a
colleague that I employed a prototype (the pattern, not the code snippet)
here or a subject/observer there the intention of the design is more clear.

Having worked in both OO and normal C, as well as having been
grounded in
assembly when the only HOLs that existed were COBOL or
FORTRAN … I have
never, ever, seen a language that was inherently “3 times easier to
explain”. OO is 3 times easier to explain!?!?!??!

I’d take the bet that any HOL is 3 times easier to explain than assembly for
any non-trivial application written to the same level of quality.

REALLLY!?!?!?

Hmmmm, you mean printf("Hello world… is more obscure than

Cout >> Hello world …

Or

Outb reg, ‘H’
Outb reg, ‘e’
Outb reg, ‘l’
Outb reg, ‘l’
Outb reg, ‘o’
Outb reg, ’ ’
Outb reg, ‘w’
Outb reg, ‘o’

Me thinks “3 times easier to explain” is in the eye of the
beholder. What
makes a given project “easier to explain” is care and discipline in
preparing documentation and intra-program commentary, NOT the
language. The
absolute easiest project I have EVER dealt with was a sonar
trainer for the
U. S. Navy. Every line of code for it was written in
Honeywell assembly
language, and every function, module, and variable was
documented using
flowcharts in a separate document. If you changed ANYTHING in
that program,
you changed the document FIRST, and then changed the code and THEN you
debugged it. If the change didn’t work you started at the
beginning. The
final deliverable was commented source, functional program,
AND correct
documentation.

Some of the WORSE code I’ve had to “grok” is the crap that
claims to be OO,
which wasn’t documented because OO and C++ is so
self-documenting and “3
times easier to explain”.

Anecdotal evidence citing some krufty old code written when men were men and
boys new when to run to the woodshed to get the switch doesn’t make for a
very compelling argument. Carefully architechted and thoroughly documented
code in any language is better than crappy code in another. It does not
follow that because there is crappy code written in style A that all code
written in style A is crappy.

Obscurity is common to all languages, and is more a function of the
developer or development team.

I’ve used OO in a kernel mode driver. I never will again. Why? Because
debugging it was nothing but punching through layer after layer after
goddamn layer of abstract obscurity to get to the problem.

Gary G. Little
Staff Engineer
Broadband Storage, Inc.
xxxxx@broadstor.com

-----Original Message-----
From: Todd Flanagan [mailto:xxxxx@greshamstorage.com]
Sent: Tuesday, October 30, 2001 11:05 AM
To: NT Developers Interest List
Subject: [ntdev] Re: 3rd party Device driver development tool
or pure wdm
driver development…Which is the best???

Frankly, I disagree. I’d settle for a driver with 2/3 more
lines for an
architecture that’s 3 times easier to explain to someone who
has to maintain
or extend it. If that means using OO methodology, then have
at it. I’m not
arguing for or against any particular methodology here, just
against the bag
full of tricks that obscure intention for the sake of code
size or fear of
the unknown.

Also, just because it has been that way forever doesn’t make it right.

Todd

> -----Original Message-----
> From: Jamey Kirby [mailto:xxxxx@storagecraft.com]
> Sent: Tuesday, October 30, 2001 2:26 PM
> To: NT Developers Interest List
> Subject: [ntdev] Re: 3rd party Device driver development
tool or pure
> wdm driver development…Which is the best???
>
>
> Let me say this:
>
> I have nothing against tool kits. Esp. if they are available with
> source. My argument is against C++ OO development in a KM driver.
>
> Drivers should be small and tight. I think we all agree
with this; it
> has been so forever in the “black magic” world of driver
development.
> So, I content that if you NEED to use C++ and OO in your
driver, maybe
> more time should be spent rethinking the architecture and design.
>
> Jamey
>
> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Jan Bottorff
> Sent: Tuesday, October 30, 2001 7:38 AM
> To: NT Developers Interest List
> Subject: [ntdev] Re: 3rd party Device driver development
tool or pure
> wdm driver development…Which is the best???
>
>
>
> >If you want a tool that will get you 0-60 faster than your
> competition
> >could ever
> >even think of getting there, use a tool like WinDK.
>
> I always thought it was appropriate to learn to drive BEFORE finding
> yourself at the steering wheel of a potential lethal weapon
going 60.
>
> - Jan
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com To
> unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>
>
> —
> You are currently subscribed to ntdev as:
xxxxx@greshamstorage.com
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>


You are currently subscribed to ntdev as: xxxxx@broadstor.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@greshamstorage.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com