Re: Programming "efficiently" on given hardware - what does it mean really?
From: Randy Howard (randyhoward_at_FOOverizonBAR.net)
Date: 06/19/04
- Next message: Randy Howard: "Re: what does "serialization" mean?"
- Previous message: Arthur J. O'Dwyer: "Re: Graduating soon in Comp Sci. Need real world advice."
- In reply to: Programmer Dude: "Re: Programming "efficiently" on given hardware - what does it mean really?"
- Next in thread: Programmer Dude: "Re: Programming "efficiently" on given hardware - what does it mean really?"
- Reply: Programmer Dude: "Re: Programming "efficiently" on given hardware - what does it mean really?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Sat, 19 Jun 2004 15:24:38 GMT
In article <kiq4d09417cujkp6jcrlom7qn41upgqm1h@4ax.com>, Chris@Sonnack.com
says...
> While I'm quite (often painfully) aware of MS's flaws,
Aren't we all?
> I think they make some really cool toys, and I enjoy playing
> with them a LOT.
I think a lot of cool apps are available on Windows, which is
the main reason why I still run it. If I didn't keep running
into a few word documents and excel spreadsheets that OpenOffice
doesn't support yet, I'd also be a lot happier. Perhaps if MS
didn't use that particular item as a cash cow (check out prices
on Office 2003 SBS if you don't get it bundled with a new PC
sometime) it'd be nice.
I recently bought a 64-bit notebook, and with SuSE 9.1 Pro
x86_64 on it, it's a very slick, dare I say it, even "easy to
use, Windows-like" platform, only faster and infinitely more
interesting to work on. It's by far the nicest computer I've
ever owned, although I've spent the last 10 years or so working
on a lot of very high end server hardware.
SuSE has definitely made the periodic system maintenance and
hardware configuration stuff much easier than any previous Linux
distro I've seen, in fact, the "plug and play" configuration it
has is easier to use than Windows in a lot of ways. Miles and
miles ahead of RedHat in that regard. I just hope that being
bought out by Novell doesn't spell doom for them.
> Mind-blowing as it may seem, I doubt I'd rejoin the Unice world
> even if I had a choice.
I thought that too about 5 years ago. I worked on SVR3 and SVR4
UNIX internals for several years, then switched over to Windows
development primarily for a long time during the "painful years"
of Win 3.1, WFW 3.11, Win/95, etc. Oh how I remember not liking
VxD's, DPMI, etc.
Anyone else remember the AH_INCR stuff required for 16-bit Windows
with "huge" pointers when writing drivers? You had to manually
determine, and manage, your own segment addresses, even though you
had declared a "huge" pointer, I.e. a 32-bit one :-). So, any time
the offset portion wrapped past 64K, you had to manually *adjust* (not
increment as you might expect) the segment portion by adding a
run-time determined (and undocumented) increment (called something
like AH_INCR, but I can't remember offhand the exact spelling). I
never saw anything about it in any of the MS documentation. I
finally found a vague reference to it in some sample assembly
language code for an old SoundBlaster audio card and the light
bulb came on. Gee, I don't miss that either. :-)
Anyway, along about 5 years ago, I started playing around with
early Linux distros just to see what all the underground noise
was about. Gradually, as they distros got better, I started using
it more and more. As such, I started getting asked to do
development work on it more and more. Somewhere mixed into that
time frame I also started getting tagged for doing Novell NLM
development. Ugh. I guess I was the one that didn't say "no"
last or something. As a result, I now write code (and worry about)
portable programming a whole lot more than I ever did previously.
I have probably 10 or more compilers installed on various systems
for a bunch of different operating systems. Most of the development
work in the last 5 years has been portable across all of them,
with very few exceptions. As such, Windows has been by far the
most difficult to "massage" into such a framework. Ironically,
NetWare is actually far closer to a POSIX-compliant development
platform (although CodeWarrior flat out sucks) than Windows is.
Even MacOS X is easier to port code to than Windows. So, I
definitely come from a different approach, and .NET is completely
valueless in that regard.
> I LIKE Windows. I LIKE Office. I LIKE
> SQL Server. I LIKE VB. I LIKE COM. Go figure, eh? (-:
Ugh. I forgot about COM. and COM+. You are definitely a
weird cookie, not to mention that you write your emoticons
backwards. :-)
> "Eye candy" == "least common denominator"?
>
> I think that's arguable. Maybe, what Neal Stephenson cutely calls
> Finux (from the Finns, you see!) in CRYPTONOMICON, is evolving
> towards GUI-osity because it's truly is a better way to interact
> with a computer.
Perhaps. When I say "eye candy" I'm referring to the things that
don't make "human interaction" with a computer actually better,
but rather hinder it. Demo-ware BS like animated paperclips
popping up and asking you stupid questions every time you do
something that isn't in the Application 101 tutorial for an app
is NOT a better way to interact. Crap that MS keeps adding on to
the interfaces just so they can have some "cool factor" in a demo,
which gets very tiring after a few hours (if not minutes) and just
sucks resources out of the machine. The fact that people go running
for google to figure out how to turn the stuff off almost immediately
after getting it is a good sign for mankind.
Deja vu from the Henry Petroski thread recently.
> You'd have to pay me many times what I make now to get me to work
> in a command line world again.
Strange. I like to program, period. I cut my teeth on a command
line, and I actually find myself more productive that way than
launching an app, selecting menu items, hoping it does what I want,
then exiting that app, and launching another to do the next thing...
the idea of command | command | filter | sort .... is really appealing.
That being said, I do appreciate the value of some GUI applications
(Hex Workshop being one of may favorites), Word or OpenOffice for
document reading/markup, Acrobat (or equivalent), Ghostscript, etc.
I also like having 4 or 5 editor windows open instead of having to
switch VT's all the time. Of course, I was doing that under X11R3
long before I ever saw a stable Windows OS to do it on. So, that's
by no means a "windows thing". What I *do* appreciate is if for
some reason a new platform (I work a lot on pre-production systems
that are barely stable, long before they ship) there is a problem
with a graphics subsystem, you can simply come up "init 3" and
do everything you need to do on a box anyway. If you are trying
to do system level bringup work under Windows and the video is
fried, you simply are screwed until it gets fixed.
> > I do not enjoy chasing the mouse through streams of cascading
> > pull-down menus.
>
> I can appreciate that. FWIW, I don't have a sense of doing that
> much (but perhaps I'm just too used to it).
It almost unavoidable in most modern GUI apps, so you must be.
Example: How many keystrokes does it take to get to the screen
(the first time, without being reminded) where the name or IP
of your POP3 mail server is configured in MS Outlook. Admittedly,
it doesn't happen very often, but you have to *guess* where it is,
because it doesn't happen very often. Then, there are at least
3 paths that could be reasonably thought to be the right path,
which turn out to be wrong, before you finally get there. Ugly.
The stupid "let me only show you what I think you want to see on
this pulldown" crap is just exacerbating the problem. Thankfully,
they make that one easier to disable.
> Apps I use frequently
> I know shortcuts and some allow customization of toolbars. Most
> of my "power apps" have personalized toolbars, which put most
> functions one click away (again, the power of a GUI).
For document markup (of almost any kind of document that is rendered
graphically) I like GUIs. For almost everything else, I prefer
batch automatable tools and the command line. Fortunately, on every
OS (perhaps with the exception of NetWare) I can do both simultaneously.
Getting windows configured with all the stuff you need to be productive
from the command line can take days to accomplish though.
> For things
> I'm not familiar with, I appreciate the menu system, since it lets
> me "browse" for functions I know exist, but can't quite recall.
This provides developers with an excuse for having minimal, crappy
documentation. Gee, what a nice result. "Just let the user flop
around with the mouse for a few days or weeks and they'll figure out
enough to be dangerous". Ugh.
> > What I do enjoy is having multiple "minimal GUIs" or command line
> > applications open on-screen at the same time.
>
> Yep. I used to work exactly the same way when I worked for a group
> that supported HP-UX and Sun here. I've found I really don't miss
> it. I don't miss all the typing just to navigate around the file
> system,
Strange, I don't even notice it. Navigating the FS, especially with
a modicum of .bashrc customization, makes it invisible to me.
> I totally don't miss makefiles
Insane. Of course, if you only use one IDE, I can see how you might
not. If you have to compile a code base on multiple platforms, you'll
rip you hair out trying to maintain 4 or 5 different "project" or
"workspace" files every time you change the build substantively.
> I don't miss awk
Hmm, I can't remember intentionally using awk for quite a few years.
It's been dead since about the time Larry Wall got motivated.
> or sed
Strange. You claim to love (g)vi(m). I find it hard to believe you
don't use sed (disguised as regex commands within vi) more often
than you think. Otherwise, you're only using about 65% of what vi
is capable of.
> or cc,
CC=gcc nowadays, and it's fantastic. It doesn't barf on a lot of
valid, legal, standards conforming C the way MS compilers do. It's
also available for code generation on every system and embedded
platform I've worked on for about the last decade.
> Don't get me wrong, no disrespect towards the unices. It's just
> that my personal preference no longer resides there.
You can insult the unices all you like, I know where you are
coming from, and if I had the job you have, I'd probably feel
very similarly. Fortunately for me, there are multiple paths
for a developer to take. Sounds like we both "won".
> I'm glad to have been a "friend" of Unix. And I've taken with me
> the pieces I loved most: vim and perl and (Win)grep.
If you love perl, then you definitely owe a small bow to sed. :-)
> My heart belongs to Winnie now. (-:
The antichrist is very happy now. LOL
--
Randy Howard (2reply remove FOOBAR)
"The most amazing achievement of the computer software industry is its
continuing cancellation of the steady and staggering gains made by the
computer hardware industry..." - Henry Petroski
- Next message: Randy Howard: "Re: what does "serialization" mean?"
- Previous message: Arthur J. O'Dwyer: "Re: Graduating soon in Comp Sci. Need real world advice."
- In reply to: Programmer Dude: "Re: Programming "efficiently" on given hardware - what does it mean really?"
- Next in thread: Programmer Dude: "Re: Programming "efficiently" on given hardware - what does it mean really?"
- Reply: Programmer Dude: "Re: Programming "efficiently" on given hardware - what does it mean really?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]