This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: csh on Cygwin ?


On Wed, Jul 02, 2003 at 09:39:44AM -0500, Bill Gatliff wrote:
> >/Y - who has given up on Cygwin years ago
> 
> OT, but why?

More or less the same reasons as you; I too think it's a
great product, but... 

Recently, I was to program some GUI stuff in Windows, and I
have no knowledge of Windows programming whatsoever. So I
tried to use the tools I know: Perl and Tk [outside of
Cygwin. Maybe I should actually have tried that??]. It works
fine enough, until you try to do something a little specific
(in my case, bringing serial port events in the MainLoop
killed the project) and then you suddenly realise where you
live: pipes don't really work, select only works on sockets,
serial port handles must be held by only one process...

And that's when I realised that Windows and Unix have
fundamentally different programming models (well I kinda
knew that already) and trying one model on the other
platform tends to be asking for trouble, or at least dire
performances.

All those years ago, I convinced (easily) my management it
was easier to do Embedded Linux development on native Linux
machines. This time I managed to convince (less easily) the
factory that they're better off with a Linux app, and that
it's really not that hard to use.

The day Windows is really really *really* required, I think
I'll be better off learning proper VC++ and actually program
Windows as it was intended (even if I actually disagree with
most of it :-) ). Or more likely, try to dump that project
on someone who knows Windows already :).

> I've found that a toolchain build takes something like 10x times longer 
> under Cygwin than Linux or Solaris

Yeah, Windows isn't good at creating new processes (and
having an antivirus open makes it *much* *much* worse).
That's part of the fundamental differences: Windows makes
massive use of threads within one process, and rarely
creates processes.  (For the interested: the other big
difference is a massive reliance on callbacks. I strongly
suspect that has to do with Microsoft's GUI background,
which they applied to everything. Incidently, that may make
Windows' API better suited for real time, but that's another
story entirely).

/Y

-- 
Marbles should be kept together.

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]