[M3devel] FW: Hudson question
Jay K
jay.krell at cornell.edu
Sat Jul 25 01:18:17 CEST 2009
[truncated again, one more try then I give up..]
>
> ----------------------------------------
>> From: jay.krell at cornell.edu
>> To: wagner at elegosoft.com; m3devel at elegosoft.com
>> Subject: RE: [M3devel] Hudson question
>> Date: Fri, 24 Jul 2009 23:12:30 +0000
>>
>>
>> It doesn't likely make a difference.
>>
>>
>> Before you needed Cygwin or Interix.
>> Now you need Cygwin or Interix, and probably Java.
>> Java will probably be a sticking point on various platforms,
>> but the gains are also very nice where it is available.
>> I see there has been work done on an assembly-free Java VM
>> since Sun open sourced their VM, so that promises increased portability.
>> (One wonders some about the Critical Mass VM).
>>
>>
>> Writing more .cmd isn't going to help anything imho.
>> It's just more hard to maintain code that someone
>> will have to maintain in parallel to Olaf's .sh.
>> Which is why I favor Python -- portable, no duplicated effort.
>>
>>
>> "Hard to main" as it, sure, it is easy to get started, but
>> what happens when you decide you need an array, or a hash table?
>> Or any of a number of basic programming constructs?
>> Ok, I guess you have while loops, using goto.
>> Local variables. At least that are strings. Everything is a string.
>> cmd has one or two surprisingly powerfuli features, such as for /f
>> and set /a. If you can't do your work with them, you can't do it.
>> sh is a bit more portable than Python, but not by much and
>> imho at too large a cost in maintainability/generality.
>> It still seems to me like a string based language that can't do much,
>> but I admit I'm not practised in it. (I am very practised in .cmd.)
>>
>>
>> You know, the fact that expression evaluation is in some mix of the "[" command
>> and maybe in sh itself. That people write if xxx true else yyy instead
>> of if not xxx yyy.
>> The fact that Solaris is different.
>> The fact that quoting is needed in various places.
>> Quoting always bothers me. It is hard to predict how many levels
>> of unquoting will be done.
>> I suspect cmd, sh, and Tcl are all in the same overly string based boat.
>> For example in Tcl, { } appear to have the same meaning as in C and C++, good,
>> but in fact they are escape characters, very wierd and bad.
>>
>>
>> Cygwin and Interix both probably work fine.
>> Someone just has to set them up and run them.
>>
>>
>> Consider Cygwin and Interix almost the same.
>> Interix is much faster, if you are calling fork a lot.
>> Cygwin is slightly more compatible with Linux/Posix.
>>
>>
>> Interix has a few ways in which is resembles Linux/Posix more though,
>> such as not using extensions on executables, using ".so", supporting
>> runpath.
>>
>>
>> I think with Cygwin 1.7, both it and Interix go to extreme
>> of supporting backward slash and colon in paths.
>> Interix actually ors in 0xFF00 to such characters but
>> it is transparent to Interix code. Or maybe that's what
>> Cygwin does. I don't remember. It is completely non
>> transparent and discoverable if you look at the results from Win32.
>>
>>
>> Interix probably a larger download, because the
>> part that is mostly "built in" is basically nothing,
>> just some infrastructure and very few utilities.
>> I don't think there is even sh or ksh.
>> Everything else is one large download.
>>
>>
>> On XP nothing is "builtin", there is just one large download.
>> "builtin" is on Server 2003 R2, Vista, Server 2008, etc.
>>
>>
>> (Oh, and Cygwin 1.5 works on Win9x, Interix only down to windows 2000.
>> But Cygwin 1.7 drops Win9x support, but maybe still works on NT4?)
>>
>>
>> - Jay
>>
>>
>> ----------------------------------------
[deliberate snip]
More information about the M3devel
mailing list