[Gambas-user] C Code character manipulation - alternatives

Doriano Blengino doriano.blengino at ...1909...
Sat May 23 23:24:31 CEST 2009


KhurramM ha scritto:
> Thanks a lot : Doriano Blengino and Benoît Minisini :handshake:
>
> It was really informative for me. :working:
>
> I just had a little curiosity in my mind. Its not related to Gambas
> directly. I do not have that much programming depth. But anyhow (now its
> off-topic).... :thinking:
>
> IS it possible that a C based CRE or CVM just like javas' JRE or JVM, is
> made. Then ...  would the package installation issue be over in all the
> unix-like distros? Is it possible? Is it feasible? But JVM consumes a lot of
> ram! :confused:
>   
Uhm... I don't want to say that... your ideas are... few but... well 
confused! :-)

The runtime of C is called libc under linux. It interfaces a C program 
with the kernel (which is responsible for everything happens in a 
computer), and it works well for simple programs.
Pure (and relatively simple) C programs are those at the base of the 
system - /bin/ls, for example, and more generally all those in /bin and 
/sbin (and others). But this runtime does not offer all the services a 
more complex program needs. If a GUI is needed, for example, a program 
must interface with X11 (under linux). But X11 is a complex matter, and 
to make a simple window appear several lines of code are required. So, 
some library comes in place, to simplify things - libraries like GTK or 
QT. The problem is that while the C library (and X11) are a well known 
standard, GTK and QT (and others) are still under heavy development, and 
so they change frequently. Users don't want to stay behind for more than 
few months, so there are around different versions of the same library, 
and different versions of the same program which use different version 
of the libraries, and some library requires other libraries and so on. 
You understand...

All of that then has something to do with package installation. If you 
have a program X version 1.1, which uses library Y version 3.2, then you 
must insure that that library is present, to run program X. If you want 
to upgrade your program to version 1.2, surely it will use library Y 
version 3.3. But if you change your library Y, then your programs A, B, 
C, D will not run anymore. So you must upgrade them too. And this is the 
package manager duty.

A java runtime does not escape from this rule, it is just a program or a 
library which needs other libraries. Perhaps a little step ahead is 
done, because the java runtime is mantained only by two major players, 
and realeases are not so frequent. But this is not an argument I know well.

Hope this helps to answer your doubts. But I must add that new ideas 
like yours should be appreciated, even when not viable. Once upon a 
time, a wise man said something like: "The reasonable man adapts himself 
to the world around him; the crazy one tries instead to adapt the world 
to himself. Therefore, all the human progresses and conquests are due to 
crazy men."

Cheers and good night (at least for me),

-- 
Doriano Blengino

"Listen twice before you speak.
This is why we have two ears, but only one mouth."





More information about the User mailing list