From: BGB / cr88192 on

"Pascal J. Bourguignon" <pjb(a)informatimago.com> wrote in message
news:87k4wycsm0.fsf(a)galatea.local...
> "BGB / cr88192" <cr88192(a)hotmail.com> writes:
>
>> "Pascal J. Bourguignon" <pjb(a)informatimago.com> wrote in message
>> news:87fx7nf6hu.fsf(a)galatea.local...
>>> "BGB / cr88192" <cr88192(a)hotmail.com> writes:
>>>
>>>>> That C is not better than high level programming languages for system
>>>>> programming since it needs the same extensions to be effective.
>>>>>
>>>>
>>>> not really, since most of these "extensions" are part of the core
>>>> language
>>>> by default, and so not seen as extensions by those using the language.
>>>>
>>>> for example, pointer arithmetic, ... is just another part of the job...
>>>
>>> This is not a discriminating example. I've been doing pointer
>>> arithmetic with languages such as Pascal or Common Lisp with no
>>> problem.
>>>
>>
>> Pascal has pointers, yes...
>>
>> but, I am not debating about Pascal (FWIW, most Pascals fall into a
>> similar
>> "implementation bracket" as C and C++, in most regards).
>>
>> the main problem with Pascal is that it is unlikely one would be able to
>> gain much of any real community or industry support if using such a
>> language
>> in a project.
>
> On the other hand, Apple has been quite successful with an OS and
> Toolbox programmed in Pascal (and assembler), and earned with it
> enough money to buy TWO other OS (Taligent, a failure written in C++)
> and NeXT Computer Inc (a success, written in C and Objective-C, but
> nowadays, they're adding code written in Java, python and scheme).
>

yes, ok.

well, I am not claiming by any means that C is the only usable language,
only that it does have its place.

nevermind that Apple has used Pascal successfully, it is hardly a powerful
player in the current state of things...


>
>> granted, the issue is not strictly with CL, only that CL has its own
>> issues
>> which I doubt will ever gain it widespread acceptance...
>
> By the way, since you're mentionning the popularity question, by
> personnal bet is that lisp being a language that existed for 50 years,
> will go on existing for at least 50 years.
>
> Other programming languages created more recently are already
> forgotten, or superseded by even more recent programming languages. I
> prefer to spend my time programming in a stable environment, rather
> than running an arms race with "language designers".
>

well, C is not exactly new either, as it has remained fairly stable in its
place since the 70s...

or, IOW, one of my main programming languages is somewhat older than I am...

Java is from the 90s, but has since gained a fairly prominant position in
the rankings.

....


>
>
>> but, code is needed to run in order to be able to bootstrap itself in the
>> first place...
>>
>> unless you are proposing to use an HLL just to write a compiler to
>> trans-compile itself to C or ASM in order to get the thing
>> up-and-running,
>> but it is hard to see the "achievement" of this (if the whole point is to
>> use the HLL for all its HLL glory in something like kernel
>> development...).
>
> Yes, that's what I propose. That's what is successfully done in
> several projects, such as Squeak. Meta programming is so easy in
> programming languages such as Lisp or Haskell, that it is a
> competitive way of proceeding. One advantage, when you're after
> efficiency, is that you're not limited by the C compiler constraints,
> and you can generate more efficeint specialized binary code, if you
> need to.
>

Squeak, however, uses a subset in order to bootstrap itself...
hence, it is not "in its full glory" at this point...

it would be much the same as if Java were bootstrapped via a Java subset,
for example:
Java is compiled to native machine code;
this is used, in turn, to implement the core VM components and the JIT;
it then, in turn, loads the class library, ... on top, and switches to being
a more fully-capable VM.

none the less, in this case such a bootstrapping process is evident.


>
>
>> so, what do we have then:
>> an OS written in a mix of C, ASM, and Java?...
>> AFAIK, this is fairly close to what is used on a lot of cell phones...
>>
>> but, this is no real achievement here, since in this case the C has not
>> had
>> its usefulness "disproved"...
>
> You do not need to generate C or even "assembler" code! You directly
> compile the HLL to binary, and boot that. You generate the kernel
> image from the HLL.
>

usually though, ASM is generated as an intermediate step since this allows
the same assembler to be used with multiple frontends, or to split up
components in the compiler backend.

direct machine-code generation is generally something I don't do, both
because it is IMO both awkward and messy, and I prefer to have a separate
codegen and assembler component (even if both are being used directly).

it is IMO better to partition and modularize things, completing a task via a
larger number of more generic components, than to have a smaller number of
very complicated or specialized components.


>
>> the JVM's are typically themselves written in large part in C, only that
>> much of the non-core machinery is Java...
>
> There's no need to, if you don't have a C compiler available, you can
> generate directly the binary.
>

possibly, but not usually the case in practice.


> When you are developping a kernel you're not in the same situation as
> when you're developping an "application" running over a set of
> different systems.
>

except that, in nearly all cases, a usable C compiler exists to target a
given CPU arch, so there is not much problem there...


I wrote a C compiler, so that I could do JIT with C, but more recently I
have an interpreter, and I am using, of all things, GCC to produce most of
the code which is to operate in said interpreter...


>> so, the JVM is typically some glob of support machinery:
>> the GC, object system, classloader, ...
>>
>> then the whole rest of the island is Java...
>>
>> as for the general "Unix-like architecture", this is not likely to go
>> away
>> any time soon, as it is currently the most practical architecture on
>> modern
>> CPU's (they fit almost hand-in-glove).
>
> Yes, this is a chicken-egg situation, unix/C evolve to match the
> processors and the processors evolve to amtch unix/C.
>
> But this is a technological cul-de-sac. We're turning in circles
> since 1969, we're trapped like in The Matrix.
>
> That's why we need new kinds of systems, which hopefully the users
> will like, so that it get some traction and so that Intel & AMD start
> to design their processors taking into account the new needs.
>

who knows?...

this requires far too much leaping into speculations IMO.


>
>>> Are we discussing popularity? I though we were on a technical
>>> newsgroup.
>>>
>>
>> programming language life or death is their popularity...
>
> Then the second most popular programming language is Lisp (the first
> is Fortran).
>

no, C and Java are most popular, with C++ also near the top.
Lisp is much lower on what lists I have seen.


>
>> ofterwise, they fall off into the land of essential non-existance...
>
> Lisp, 50 years and counting...
>

this is only to show that its popularity has not entirely gone away, but it
hardly has the levels needed to compete effectively with more mainstream
languages.

a language, in this sense, dies when it loses all popularity, and is
essentially forgotten althogether (no one really knows or uses it anymore,
and there is no real legacy codebase to keep it alive...).

people still know of Lisp, and others still use it, so it is not at this
point.


for example, I am part of (partially, I am mixed race) an ethnic identity
which has existed and has a well-known written history going back around
4000-4500 years, and neither wars nor genocides has eliminated existence or
cultural identity... (granted, I don't follow their traditions nor their
traditional religion, but nevermind this for the moment...).


or such...


From: Pascal J. Bourguignon on
"Bill Cunningham" <nospam(a)nspam.invalid> writes:

> "Pascal J. Bourguignon" <pjb(a)informatimago.com> wrote in message
> news:87aaxuegia.fsf(a)galatea.local...
>> But once upon a time I wrote a video chip driver with the IOKit in
>> Objective-C.
>>
>> It is to be noted that the significant Objective-C runtime didn't
>> prevent this code to run in kernel space...
>
> I have read that the writer (who I don't know) is the guy who has since
> written ruby. I know nothing about ruby but was it designed to write OSs ?
> Can an OS be written in markup languages and scripts using web design tools?

Don't be silly, markup languages are not programming languages.

Otherwise, indeed, OS can be written in javascript.
http://research.sun.com/projects/lively

--
__Pascal Bourguignon__
From: James on
"Pascal J. Bourguignon" <pjb(a)informatimago.com> wrote in message
news:87bpiaclkb.fsf(a)galatea.local...
> "Bill Cunningham" <nospam(a)nspam.invalid> writes:
>
>> "Pascal J. Bourguignon" <pjb(a)informatimago.com> wrote in message
>> news:87aaxuegia.fsf(a)galatea.local...
>>> But once upon a time I wrote a video chip driver with the IOKit in
>>> Objective-C.
>>>
>>> It is to be noted that the significant Objective-C runtime didn't
>>> prevent this code to run in kernel space...
>>
>> I have read that the writer (who I don't know) is the guy who has
>> since
>> written ruby. I know nothing about ruby but was it designed to write OSs
>> ?
>> Can an OS be written in markup languages and scripts using web design
>> tools?
>
> Don't be silly, markup languages are not programming languages.
>
> Otherwise, indeed, OS can be written in javascript.
> http://research.sun.com/projects/lively

lively runs on top of a browser, which in turn runs on top of a real
operating system. Not sure one can claim that lively is a real operating
system.

From: BGB / cr88192 on

"James" <no(a)spam.invalid> wrote in message news:hfkm7c$h05$1(a)aioe.org...
> "Pascal J. Bourguignon" <pjb(a)informatimago.com> wrote in message
> news:87bpiaclkb.fsf(a)galatea.local...
>> "Bill Cunningham" <nospam(a)nspam.invalid> writes:
>>
>>> "Pascal J. Bourguignon" <pjb(a)informatimago.com> wrote in message
>>> news:87aaxuegia.fsf(a)galatea.local...
>>>> But once upon a time I wrote a video chip driver with the IOKit in
>>>> Objective-C.
>>>>
>>>> It is to be noted that the significant Objective-C runtime didn't
>>>> prevent this code to run in kernel space...
>>>
>>> I have read that the writer (who I don't know) is the guy who has
>>> since
>>> written ruby. I know nothing about ruby but was it designed to write OSs
>>> ?
>>> Can an OS be written in markup languages and scripts using web design
>>> tools?
>>
>> Don't be silly, markup languages are not programming languages.
>>
>> Otherwise, indeed, OS can be written in javascript.
>> http://research.sun.com/projects/lively
>
> lively runs on top of a browser, which in turn runs on top of a real
> operating system. Not sure one can claim that lively is a real operating
> system.

the main mystery then is if anyone can improve the performance of JavaScript
in browsers (any sort of OS-like abstractions existing in JS in the browser
fill me some with fear, that the performance will suck...).

as I see it, not all languages are equal.
the tendency of lots of JavaScript in web pages making FF grind to a halt is
evidence of this...

actually, any more it is sad:
FF uses craploads of RAM and goes really slow;
yet it is still generally better than IE...

this is the sad state of things...



From: Chris McDonald on
"BGB / cr88192" <cr88192(a)hotmail.com> writes:

>the main mystery then is if anyone can improve the performance of JavaScript
>in browsers (any sort of OS-like abstractions existing in JS in the browser
>fill me some with fear, that the performance will suck...).


Or to take the path suggested in this recent article:

http://arstechnica.com/web/news/2009/12/commonjs-effort-sets-javascript-on-path-for-world-domination.ars

from: http://developers.slashdot.org/article.pl?sid=09/12/01/1548221

--
Chris.