Re: Disobeying jet engines - why?



On Wed, 30 Jan 2008 12:17:16 -0800, "Joel Koltner"
<zapwireDASHgroups@xxxxxxxxx> wrote:

"John Larkin" <jjlarkin@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:4f41q3hq25ra5ld18dfa5jvlcnkge8klnc@xxxxxxxxxx
If you use state machines, and don't multitask, you don't need
semaphores. If you don't allocate resources, you can't have deadlocks.

It's simple.

Unfortuntaely the "windows" (not just Microsoft Windows, but also, e.g., X
Windows and I would guess whatever older Macs used) paradigm makes it
difficult to not fire off multiple threads for even relatively simple
applications. For instance, if your serial interface API blocks for a
specified timeout period (e.g., 15 seconds if no response from some serial
device is heard), the GUI is going to be blocked as well for those 15 seconds
and your user will at best find this behavior annoying and at worst thing your
program is broken. While you could certainly argue that the guy who wrote the
serial API to block on a read was a nut bag, you're then into the discussion
of how much of someone else's tried and tested code you want to rip up and
re-do (which may not even be possible if you're interfacing to someone else's
hardware) vs. just using what's provided and still provide a "nice" user
experience regardless of how bogged up the provided API is.

The Windows asynchronous event approach is a recipe for chaos. VMS did
it right. But for embedded systems, the OS will cause no trouble if
there is no OS.



Programmers want that fancy stuff on their resumes.

...because all of the "big guys" (Microsoft, Intel, HP, etc.) are ASKING FOR
that "fancy stuff." So these days your average college grad is likely to have
been exposed to a whole potpourri of various "cool" technologies but hasn't
necessarily had time to learn any of them particularly "deeply" or even just
understand how they work and thus how you'd build them from scratch if you had
to.


But this is sci.electronics.design. We program engineering apps to use
ourselves, and embedded stuff inside our products. In both cases, the
simplest tools generally work best, and using the hottest/latest "CS"
tricks will generally (over 50% of the time, statistically) lead to
disaster. The typical CS graduate will be absolutely useless in
programming either of these needs.

The best programmers I know were *not* CS majors, and some never
studied programming formally at all. Chemists, for some reason, seem
to become good programmers.


John


.



Relevant Pages

  • Re: newbe about API
    ... Emne: Re: newbe about API ... > I found all these API-CALL strings are finally compiled to ... more than that...and Windows simply takes this to an extreme that this ... DLL, when a weak point is found (which, with Microsoft, is something ...
    (alt.lang.asm)
  • Re: In the Shallow End
    ... When a document claims how an API is supposed to be used and then gives the user examples that actually work, ... Vague in your instance means you have no context to VMS or UNIX of that era. ... Windows offers lots of this stuff. ... That's why Apple had to dump a whole paradigm to plunge ahead and take the lead. ...
    (comp.sys.mac.advocacy)
  • Re: a pre-beginners question: what is the pros and cons of .net, compared to ++
    ... as the windows forms architecture wraps a number of activex ... and retains backwards compatibility with both COM and the classic Win32 api. ... C++ cannot inherently do video capture either, since you have to import COM. ... Outlook or Word or IM programs, each of which would run in managed code ...
    (microsoft.public.dotnet.general)
  • Re: Interpreting a BAS module
    ... unicode and ansi strings. ... applications make calls out to Windows to ask it to do something (e.g. ... you have to utilize an API that is designed to ... AddressOf is also used in subclassing. ...
    (microsoft.public.vb.general.discussion)
  • Re: Difference between .NET and Java
    ... > people that I know agree with my speculation that the CLR was in fact ... > similarities between the CLR and the Win32 API. ... Actually what I ment to say was the .NET has Windows specific functionality ...
    (comp.lang.java.programmer)