Questions about windows support

Nick Sabalausky a at a.a
Tue Feb 21 10:48:35 PST 2012


"Adam D. Ruppe" <destructionator at gmail.com> wrote in message 
news:hmldxgffvfeyydarulig at forum.dlang.org...
>
>The ugly escape sequences showed through to the end user (me)!

I'm not as experienced in Unix as you are, but there's some smaller quirks 
I've noticed. For instance, if you're in the terminal and use the arrow keys 
while a foreground process is running (and not prompting for input) you'll 
get:

^[[D^[[A^[[C^[[B

Or if you hit any arrow key right before typing a password you're being 
prompted for, it'll think you meant it as part of the password and it'll 
fail.

>> But I agree with you though, that libc incompatibilities are really 
>> really REALLY annoying.
>
> Even worse is linux's binary incompatibilities.
>
> The dmd in the zip doesn't work out of the box on centos
> for instance... have to recompile it.
>

Yea, those binary/libc incompatibilities are a pain if you're used to the 
Windows world.

Another issue with it is that to make a binary work on both an older and 
newer Linux, you have to actually compile it *on* an older Linux. I've heard 
that, in theory, you can use a newer Linux to create binaries that work on 
older systems, but in practice, nobody actually knows how.

>> That's more a bash limitation than anything, AFAIK.
>
> Yes and no. bash (and the kernel) is good about it now,
> but it is an effect of the unix design of the shell
> doing the expansion.
>
> rm *
>
> could have sent argv == ["rm", "*"], and your app
> simply done foreach(a; glob(argv[1..$])) { delete(a); }
> or whatever.
>
> But, unix decided to do this in the shell. Which isn't
> all bad, it has some nice effects.
>
> But, run that in a folder with 20,000 items, and you send
> 20,000 strings in argv...
>

Eeeww. I had no idea the shell did the expansion. That's just awful.

>> Most distros do distribute prebuilt binaries, but if your app isn't part 
>> of the distribution, things get tough.
>
> Aye, or if the version you need isn't in there. centos,
> I'm looking at you!
>

Maybe I don't understand the way the package/dep managers work well enough, 
but it always seemed bad to me that you can't do:

$sudo apt-get install [url to an apt-compatible package]

Or whatever the yum equivalent would be.

Erm, at least, I don't *think* you can...Maybe I'm wrong? In any case, 
having to mess with the sources list sucks.

Linux is definitely groing on me more and more, but you're right, it does 
have it's quirks.




More information about the Digitalmars-d mailing list