• Re: Naughty =?UTF-8?B?Q+KZrw==?=

    From Bob Vloon@usenet@bananacorp.nl.invalid to comp.os.linux.misc,alt.folklore.computers on Wed Jan 7 12:01:19 2026
    From Newsgroup: alt.folklore.computers

    rbowman <bowman@montana.com> writes:

    On Tue, 6 Jan 2026 08:03:13 +0000, Pancho wrote:

    C# is a lovely language, but isn't different enough from Java to make it
    worthwhile doing something with much less online support when using
    Linux.

    C# is what Java should have been, I had hopes for Java in the late '90s
    that were dashed when it became bloated and slow.

    I find this remark interesting. C# is actively acquiring all kinds of programming paradigms / language constructs making it a "large" language,
    and imposing the "burden" of continuously having to think "should I use
    this construct, or should I use that construct" upon the programmer.

    Apart from that, MS continuously changes the .NET libraries, yielding a permanent present "technical debt".

    Also, in C# I have to actively program for efficiency, while in Java the JVM takes more or less care of that.

    I always find Java very productive. Conservative, but productive. Simply because, well, there is less choice in language constructs and the API's
    are more stable. And because Maven is much more sophisticated than NuGet :)

    Don't get me wrong, I appreciate C# as a language, but I think quite a lot
    of software would be better off (read: could be constructed faster) if not written written in C# / .NET but in Java and it's ecosystem.
    --- Synchronet 3.21b-Linux NewsLink 1.2
  • From Lawrence =?iso-8859-13?q?D=FFOliveiro?=@ldo@nz.invalid to comp.os.linux.misc,alt.folklore.computers on Wed Jan 7 20:18:20 2026
    From Newsgroup: alt.folklore.computers

    On Wed, 7 Jan 2026 12:01:19 -0000 (UTC), Bob Vloon wrote:

    ... I appreciate C# as a language, but I think quite a lot of
    software would be better off (read: could be constructed faster) if
    not written written in C# / .NET but in Java and it's ecosystem.

    Having done some Java programming myself, I don’t see that as much of
    a recommendation.

    If there’s one word I would use to sum up Java, it’s “bureaucratic”.
    If you want convoluted ways of doing what should be simple things,
    it’s hard to go past Java.
    --- Synchronet 3.21b-Linux NewsLink 1.2
  • From Lawrence =?iso-8859-13?q?D=FFOliveiro?=@ldo@nz.invalid to comp.os.linux.misc,alt.folklore.computers on Wed Jan 7 20:20:16 2026
    From Newsgroup: alt.folklore.computers

    On Wed, 7 Jan 2026 12:20:54 -0700, Peter Flass wrote:

    On the other hand, a compiler that uses another compiled language as intermediate code is a strange beast, probably better called a
    translator.

    There is a term for that: “transpiler”.

    But really, the distinction is arbitrary.
    --- Synchronet 3.21b-Linux NewsLink 1.2
  • From rbowman@bowman@montana.com to comp.os.linux.misc,alt.folklore.computers on Wed Jan 7 21:24:33 2026
    From Newsgroup: alt.folklore.computers

    On Tue, 6 Jan 2026 21:00:25 -0500, c186282 wrote:

    Clearly the GCC collection is More Complicated than I thought.

    Back when dinosaurs roamed the earth it was the GNU C Compiler. Then it learned new tricks.

    https://en.wikipedia.org/wiki/Register_transfer_language

    However Stallman was more interested in developing emacs so people who
    wanted to move faster forked EGCS. Getting improvements ported to GCC was painful given King Stallman's control. GCC was the prime example in
    Raymond's 'The Cathedral & The Bazaar'.

    https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar

    Raymond and Stallman have been taking shots at each other ever since.
    Anyway, Stallman gave up and the EGCS group took over GCC, which was an improvement. There were a few speed bumps. In 2000 Red Hat released GCC
    2.97, which wasn't an official release and didn't work. It couldn't
    compile the kernel so Red Hat had a separate program for that. They also released a homegrown Python implementation that broke scripts. That fiasco
    is why I shunned RH for 25 years. Fedora is working well and seldom breaks stuff.


    But I'm still not sure I'll call them 'compilers'
    in the older sense of the word. Some intermediate term is required.

    That would be RTL. Microsoft's CIL is similar but depends on a runtime. CLang//LLVM is another approach which overlaps GCC. fwiw I have both on
    this box.

    IRs have been used for a long, long time.

    https://dl.acm.org/doi/epdf/10.1145/2480741.2480743

    Some light reading:

    https://archive.org/details/principlesofcomp0000ahoa/mode/2up








    --- Synchronet 3.21b-Linux NewsLink 1.2
  • From rbowman@bowman@montana.com to comp.os.linux.misc,alt.folklore.computers on Wed Jan 7 21:29:45 2026
    From Newsgroup: alt.folklore.computers

    On Wed, 07 Jan 2026 15:27:28 GMT, Scott Lurndal wrote:

    Charlie Gibbs <cgibbs@kltpzyxm.invalid> writes:
    On 2026-01-06, Waldek Hebisch <antispam@fricas.org> wrote:

    In alt.folklore.computers c186282 <c186282@nnada.net> wrote:

    On 1/6/26 07:16, Waldek Hebisch wrote:

    In alt.folklore.computers c186282 <c186282@nnada.net> wrote: <snip> >>>>>> Hmm ... look at all the GNU 'compilers' -
    FORTRAN, COBOL, Ada, 'D', M2, Rust,C++, G++, even Algol-68. None >>>>>> are 'compilers' per-se, but to-'C' TRANSLATORS. So, 'C', pretty >>>>>> much All Are One And One Is All.

    No. Compiler as first stage translate given language to a common
    representation. This representatiton is different than C. Ada and
    GNU Pascal have parametrized types, there is nothing like that in C. >>>>> C++ (and some other languages) have exceptions, C do not have them. >>>>> There are several smaller things, for example Ada or Pascal modulo
    is different that C/Fortran modulo. During optimization passes gcc
    keeps such information, to allow better optimization and error
    reporting.

    There were/are compilers that work by translating to C. But this
    has limitations: generated code typically is worse because language
    specific information is lost in translation. Error reporting is
    worse because translator is not doing as many analyzes as gcc do.
    For those reasons compilers in gcc generate common representation
    which contains sum of features of all supported languages and not C.

    You give it a file in whatever lang, it produces a file in 'C' and
    compiles that.

    No, if you looked at what compilers in gcc are doing you will see that
    there are no intemediate C file. There is intermediate assembler, but
    between source file and assembler each compiler work independently

    Still, Bjarne Stroustrup's first implementation of C++ was a program
    called cfront, which translated C++ to C.

    Rather ugly C, at that. I had to fix a bug in PCC[*] caused by the excessive use of the comma operator in the cfront generated C code.

    Speaking of ugly...

    https://en.wikipedia.org/wiki/F2c

    It does produce C code that does compile but 'human readable' isn't part
    of the deal.

    --- Synchronet 3.21b-Linux NewsLink 1.2
  • From rbowman@bowman@montana.com to comp.os.linux.misc,alt.folklore.computers on Wed Jan 7 21:36:32 2026
    From Newsgroup: alt.folklore.computers

    On Wed, 7 Jan 2026 12:20:54 -0700, Peter Flass wrote:

    On 1/7/26 08:13, Dan Cross wrote:

    These bizarre definitional assertions about what makes something a
    "compiler" or not seem to be mostly put forth by people who have never
    heard of the concept of "separate compilation" or "libraries", let
    alone touched the innards of a compiler. In particular, this idea that
    everything must be implemented in a single program or it's not a "true"
    compiler is rooted firmly in ignorance.


    I think compilers have generated intermediate code since the first
    FORTRAN compiler. The only distinction is one vs. multiple programs. Wth
    a variety of both front- and back-ends GCC has good reason to separate
    them. On the other hand, a compiler that uses another compiled language
    as intermediate code is a strange beast, probably better called a
    translator.

    https://en.wikipedia.org/wiki/F2c

    It is a strange beast indeed. After an attempt to use it I manually
    translated the Fortran 77 to C to get something that could be maintained
    and extended.

    --- Synchronet 3.21b-Linux NewsLink 1.2