| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| subject: | Code quality |
CS> It just seems like so many of them
CS> significantly underperform what I'd expect. And so few of
CS> them seem to be familiar with OS/2.
There is a large demand for programmers, so you can get 'by'
with crummy output and SOMEONE will hire you (there are
those who say this about ME! ). It's difficult to prove
you're a great programmer, if only because what
"great" is can be highly subjective. Corporate management
does NOT reward excellence. I mean, if you're pretty good at
writing device drivers, you can probably prove it, but that can
be a highly boring life, if quite profitable.
CS> bad in the sense that it can take a lot
CS> longer than somebody who hacks together a working piece of
CS> code quickly. Then again, my experience has been that
CS> hacked code is going to be a liability later
this is incredibly hard to call! do you write every piece of code
to last for 50 years? the whole structure of a C-based application
will differ from a FORTRAN-based one. we are still stuck with
hardware and OS implementation effects (SMP, the ongoing PC
I?O {a typo, but seems more accurate than "I/O"} evolution and
mess, multithreading, 'endian' sensitivity and double-byte char.
sets), not to mention 'fad' waves like object-oriented. OS/2 is
perhaps the worst offender here, because IBM has crammed all
but the kitchen sink into the OS. you get all the new toys fast,
and in industrial strength.
i tend to be less vocal about "no comments" and "spagetti code"
because i've been through too many situations where 90 percent
of the code is rewritten in a year or so anyway.
my bent is to do a quick upper design, then get after any nasties:
device drivers, serial I/O processing, etc., then get some metrics
on whether the darn thing will fit and run in time on the chosen
platform (OS, h/w, etc.), using stubs, wild guesses, and such.
then i'd partition out the modules and get them done. if someone
else is writing commentless or "spagetti" code and it's confined
to a few modules, i don't worry so much if i know the interfaces,
at least. once you're DONE with the project, you can go back and
make it tidy. that's the theory- in reality, management will "skip"
that stage: it's like collecting "comp" time: you'll never get it!
given that, it's probably better to require up-front good coding, &
this helps when half the crew leaves a big project.
CS> My thinking has been that getting a sample of source code
CS> that they've written could yield a good idea of what kind
CS> of programmer they are.
yeah? how long did it take to write it? how much help did they
need? is it OS/2 code?
CS> I'd rather it be done right the first or second time than
CS> have to go round and round on rewriting the same code.
CS> Sometimes it is hard to know if an idea is going to work
exactly- and the hot young hacker will cycle you faster than
the methodical old guy who produces perfect code for a design
that then has to be scrapped. another observation: women coders
are less likely to skimp on design to save time or excel, take
direction well and usually make better managers for programmers
than men. they're also less likely to exaggerate their experience
or qualifications.
CS> Some things about OS/2 change so quickly or there are so many ways to
CS> accomplish the same task with OS/2 that it makes me wonder
CS> what features should be used for implementing certain
CS> functionality.
Me too! Named pipes are a good choice since they're understood
by others you might hire without OS/2 experience. Ditto RPCs.
As to which is most efficient, sorry: I ain't used ANY of em!!
CS> youngster age 25 being a supervisor. But I'm certain part
CS> of that feeling is that I may be able to more easily train
CS> a newer programmer to program the way I want him or her to program.
OK, see about hiring some co-op students out of the USCD
CS program. you're gonna find OS/2-aware coders under 25?
the co-ops will be cheap, you KNOW they'll be gone after a
few months, so you can plan accordingly. some, although part
time, may persist as long as some of your "full time" coders
did. you might even be able to hire them after graduation. i've
read that the Warp Internet software was written by a co-op
student at IBM, as was the v2.1 16-color Trident SVGA driver.
BC> when my supervisor laboriously explained integer fractional binary
BC> arithmetic- NOTHING in the CS texts I'd used (and I'm engineer, not
BC> pgmr- predate "CS") EVER mentioned this
CS> Because I've had to find ways to do tasks such as accurately plotting 300,000
CS> data points across a window about 600 pixels wide, I've
CS> been using ideas such as this one. I'm using 32 bits on
CS> each side of the binary point so as to try to maximize
CS> accuracy. But I don't remember hearing about this in any
CS> computer science classes. As I recall, the first I heard
CS> about it was in 1989 when learning OS/2 1.1 PM programming.
CS> OS/2 uses some fixed point numbers for certain PM
CS> operations.
The only reference I have is my 1983 TI 32010 manual (section 5).
I'd bet there is some additional info in Oppenheim & Schafer's
Digital Signal Processing (Prentice-Hall, 1975). If I was in dire
need of Q notation info, I'd check into what Atlanta Signal
Processors has to say. I'd bet you could get course work on it
at Georgia Tech, too! Perhaps the later TI DSP chip "user's"
manuals will retain some Q notation stuff (do check out their
MIMD "MVP" chip: it's MY kind of SMP!).
CS> I'm really skeptical of using other people's tools.
CS> Several times I've wasted hours or days reading
CS> documentation and learning a new tool only to discover that
CS> I can't use the tool on a project because it made some
CS> assumptions about how a project should be done that would
CS> require a lot of changes to code that was already completed
CS> and working well.
well, i've never been exactly thrilled, but if it is popular (like
UICL or Rogue Wave), it beats doing it yourself. i mean, yeah,
we could outrun ANY DOS graphics package, but it was 1100
lines of MASM set up for a Video 7 1024i's internal registers.
i decided that was a disaster waiting to happen if the card
mfr changed chips or i left. OS/2 is so keen (and so brutal)
in that respect- it serves as sort of a "graphics package" for
you...
as for Q notation, if I needed to do fast fractional stuff, I'd
be willing to spring for a macro or inline function library (or
an assembler package) that does Q notation math for me in
a way that requires less concentration. say $50. it's not easy,
and it's easy to make a mistake, and it's something that some-
one good should code once and SELL!
CS> Recently I bought VisPro/C++ 1.0. After realizing it wasn't generating some
CS> required source code files due to what appears to be a
CS> conflict with HPFS386 (or perhaps a bug in HPFS386)
i'm just about to put up their demo. Since i was in the area, i
took my Hockware mailing right into their Cary NC office and
some poor devil there, who will probably forever rue the day,
invited me to come BACK! So, if you have specific demands
about the product, arrange a list of 39 and i'll go nail them to
the church door for you. this applies to APC's OS/2 s/w for
their UPS boxes as well, since APC is just down the road in
RI (some have complained it won't work w/Gwinn's SIO).
I suppose, just for grins, I'll feed a "//*****" comment line
into C Set ++ and emx to see how they think it should work.
may as well try to convince VisPro/C++ eval. to include one,
too, in case they do funny things with external code comments.
late note: installed VisPro/C++ and it seems to have mashed my
KWQ setup and registration. nothing else so far seems damaged.
aaagh, it lacks a file dialog capability. so does Guidelines, in the
base pack, but they include it in the CUA '91 part you buy. the
GL on the latest Hobbes had "bubble help" that seems cutesy, or
it did until i started using the VisPro demo, and now i miss it.
oh well, you quickly learn the icons. it's just that in Warp my
Trident is stuck in 640-land and having the (quite adequate)
online help up makes the screen rather busy. now i recall the rather
hurried conversation at Hockware: they were telling me that VisPro
would graciously ACCEPT any file dialog i coded up in ICLUI myself.
not friendly. then again, the intro price ain't half bad, and i know
where they live if i've got trouble. i doubt Virgin would let me
board my chain saw if i needed to fly to the UK and discuss fine
points with the Guidelines folk.
CS> language didn't seem so bad. The main "problem" was that
CS> it was rather verbose and extremely strict about type
CS> checking.
I may yet have to learn VHDL, which seems to have caught some
of the same DOD-itis that afflicts Ada. VHDL, in its 'pure' form,
seems quite unaware of the underlying hardware structure. that
may be neat in the long run, but in the long run, people probably
won't *use* VHDL. since VHDL produces h/w, not s/w, you get
inefficient h/w... It has that same ALGOL-y flavor as Ada.
CS> BC> .EXE is 100K min., I'll take ICLUI or Guidelines over handwritten
CS> BC> APIs.
CS>
CS> I haven't tried Guidelines. For the last few months I've
CS> been coding using ICLUI code written by hand.
I think GL somehow broke my paths for C Set++. I keep getting
LINK386 errors as if I had an "{at}" in there for my UICL makes.
GL works fine with C Set ++ still (haven't tried under Warp yet),
but i even tried the UICL sample programs and most of them bomb
off. gotta be some path thing. I agree UICL is best compromise,
'though I look forward to the VisPro/C++ demo, and Indelible Blue
has a good price on their intro offer that ends 12/15/94.
CS> As for EXE code size, turning off debugging output makes a
CS> huge difference. It seems like EXE and DLL files with
CS> debug hooks in them are at least 3-4 times larger. Looking
CS> through the files it almost looks like half of the headers
CS> for ICLUI get embedded inside each executable.
it still ain't small. if they remake "Airplane", perhaps the Zuckers
will consider having the stew offer the passenger looking for some-
thing short, "How about this pamphlet on reducing ICLUI .EXE size?"
(see my message to "ALL" on ICLUI book)
with C Set ++ beta v3 in progress, maybe things will improve.
___
X KWQ/2 1.2e X ND27: good enough for grandpa, good enough for me.
--- Maximus/2 2.02
* Origin: OS/2 Shareware BBS, Fairfax, VA: 703-385-4325 (1:109/347)SEEN-BY: 12/2442 54/54 620/243 624/50 632/348 640/820 690/660 711/409 410 413 SEEN-BY: 711/430 807 808 809 934 942 949 712/353 623 713/888 800/1 @PATH: 109/347 2 7 3615/50 229/2 12/2442 711/409 54/54 711/808 809 934 |
|
| SOURCE: echomail via fidonet.ozzmosis.com | |
Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.