I do agree with Glen's analysis (Complexity/Universality/Expressivity)
as far as I can follow it.
I also agree with Marcus' (and Doug's) bottom line that when
developing mission-critical applications (where understanding the
details of the roundoff and other errors introduced at the
language/compiler/OS/Machine level is significant) to run on
uber-clusters or other big-iron (maybe hybrid CPU/GPU/CELL/???
clusters), Linux is the most obvious of choices (only?).
Bruce's experience supporting a relatively small but significant toolset
for a broad audience is also valid. The broadest audience for his type
of work is naturally the largest installed base (Windows by a factor of
4?). I take him at his word when he says the toolset he cares about is
more stable and/or easier for him to support on Windows. It seems
plausable.
I love my Macs because they demand very little of me as my own tech
support. Mostly I just go through the list of things it wants to update
for me and make a fairly uninformed guess as to which things I'm willing
to risk being updated at any given time. 99% of the time that works out
fine. When I need something outside the standard toolset, I find it
Linux is somewhat more demanding of my attention to these details and
Windows is a total mystery for me regarding what/when/how to update on a
less granular basis than major OS releases.
I deal with computers at several (roughly) hierarchical levels:
Most of my time is spent with Applications via a Window-Mouse-Keyboard
GUI. Those developed on/for/by religious adherents to various schools
are generally identifiable as such... e.g. iTunes running on Windows
looks a bit familiar to Mac folks and not so much to Winderz folks.
AutoDesk products on *whatever* OS/Desktop have a distinctly Windows
feel. Archaic UIs developed under Java or X/Motif, or with other
old-school GUIs are also fairly recognizeable. This is not only in
their visual motifs but also choices about system interface (how to
browse and choose a file, etc.) I find this irritating and distracting
but not overwhelming (usually). There is nothing in the universe I
hate more than the single character '\' !
When it comes time to deal directly with the desktop manager and
semi-opaquely the OS itself, things get a little hinkier. When I'm on
Winderz (XP, 7, but not yet 8), I get bamboozled pretty easily trying to
remember the assumptions and standard idioms for doing things. Whether
it is running and understanding the Resource/Task manager or resetting
the network or finding executable programs, I feel like a fish out of
water. It is literally embarrassing for me to try to do *anything* on
Windows with someone else watching.
My first OS was not Unix but it was my first significant one. I learned
it pretty well all the way from the bottom (scheduler, daemons, drivers,
file system) to the top (shells) back in the BSD days. This means I
tend to think in Unix when I deal with Winderz or OSuX (to be equally
derisive on principle). It means when I run the GUI Winderz Resource
Manager or the Apple Activity Manager I think of it in terms of "%ps
-eal | grep <regex>" or "%ps -ealx | sort <field#>". As *proud* as I
am of my native language I *sure* don't expect others who didn't grow up
in my homeland to learn these arcane utterances... for example, while I
think Nick might be capable of understanding (and maybe even enjoy the
elegance of) regular expressions, expecting him to do so to solve (what
was the original problem?) feels a bit like taking him on a snipe hunt
just for the fun of it.
I have *no* experience developing for Winderz, all that .Net stuff, C#,
etc. If using the OS/WM interface is painful, I find the system
interface idioms equally painful and mistakes more expensive. If it
weren't for tools like Java, JavaScript/HTML5/Flash, Processing, and
best of all (for me) QT, then nothing I did would ever be seen on a
Windows box. It is just too painful for me to contort my
mind/touchtype-fingers, etc. to the alternate paradigm(s).
This makes me *want* to say it is all *just wrong*... but that is a bit
like being born into a fundamentally Christian culture (with or without
overt/formal Christian beliefs) and therefore feeling (maybe in order of
foreignness?) that Jewish/Muslim/Hindu/Jainist/Zoroastarian cultures are
just wrong! OF COURSE they feel wrong, and in some cases, the more
familiar, the more wrong... like the Uncanny Valley in CG special
effects. It may be what drives Doug up the wall about Mormons. If they
were further afield from the culture (if not the religion) he grew up
in, they might not irritate him so much?
I'm sure that all the Mac-heads out there who learned the ins and outs
of MacOS before OSX were the wizards they claimed (postured) to be, and
I suspect they had a bit of a time and pain retooling for OSX. I know
a lot of people who grew up in Winderz who jumped when Linux came out,
and I suspect they too are relatively "bilingual" or more to the point,
"bicultural". Some (many?) here grew up (got their computer chops)
after Windowed Desktops, cross-platform libraries and applications , Web
Browsers, etc. normalized the user experience and to some extent the
developers experience to the point that they *really* don't care which
platform they are on. I would speculate that if I'd been in my teens or
even 20's when all this became de-riguer, I too would be much more
multi-cultural.
But the fact is, I'm an old dog and new tricks aren't as easy or
entertaining for me as they once were. I love to hate Winderz partly
because it is the *most* foreign of the extant systems I have to use,
but maybe more because it is sooo successful (popular) amongst the
Muggles and the "English Majors" (as we techs like to say dismissively)
and the Lawyers and the MBAs and ... all those I like to pretend to be
better than (until I need some help from *their* specialties, of course)!
- Old Dog
Edward Angel wrote at 02/08/2013 08:02 AM:
Although it might seem that I would have a similar view as Bruce
since we both support 3D graphics for educational purposes, my
experience is exactly the opposite of Bruce's. [...]
Perhaps it's my own abstraction run amok, but this whole discussion
reminds me of the recent one about Doug's friends Dick and Bart:
glen wrote at 01/15/2013 03:37 PM:
I suspect Dick had methods he invented for his astrophysics and Bart
invented methods for ... billing people. 8^) And I suspect they
were competent with those tools. But I also suspect those tools did
not translate well to non-astrophysicists or non-lawyers ... or
perhaps even very many astrophysicists or very many lawyers.
Forget complexity (kind or degree), the metric is universality. The
more expressive a tool, the less likely any particular use case for the
tool will apply across a large cohort. The less expressive a tool, the
more likely a particular use case will translate, at least between
commonly structured individuals.
This discussion ranges over a very limited set of highly expressive
tools. It makes complete sense that a particular use case for, say, a
Mac would not translate between even very similar users.
The beauty of on OS, a GUI, or a tightly coupled monolithically
integrated toolchain is that it _limits_ the universality of the tool,
thereby making it easier to translate any particular use case amongst
the members of a cohort. If you're not in that cohort, well, tough luck
for you ... You have to puncture the monolithic toolchain, the GUI, or
the OS to get what you want. (E.g. Marcus' description of analyzing to
the bottom.) You need a more expressive tool in order to formulate and
satisfy your use case.
If you're belligerent and want to retain the monolith, but coerce it
into a suboptimal satisficing for your compromised use case, then you
have to continually react to the slight changes in the toolchain. Your
compromised use case (and its generating machinery) is _fragile_ to
changes in context.
============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com