On Sat, Mar 1, 2025 at 6:37 PM Warner Losh <imp@bsdimp.com> wrote:
> On Sat, Mar 1, 2025 at 4:29 PM Clem Cole <clemc@ccc.com> wrote:
>> Larry, you can correct me here, but it was when Sun finally wrote their own - learning from DEC [and Masscomp] that the real Bill Wulf' Green book style optimizer with its C compiler generated better code than the PCC ones. Unfortunately, Sun's marketing (also ex-DEC) decided it could be a revenue source. Unlike Masscomp, where we said to our ex-DEC marketing types— "Charge for the Fortran if you want to, but C is part of the system."
>>
>> IIRC: Sun continued to bundled a simple C compiler so you build the kernel, but it was trying to make $s on the compiler suite.
>
> Yes. I think so. But I also think that said C compiler wasn't adequate to bootstrap gcc or that there were extra steps / workarounds needed to do that. This was during the K&R -> ANSI cutover that Sun did this as well, and the old compiler was definitely K&R only.
It's been years but I remember bootstrapping gcc with the `cc` that
came with SunOS (was it in /usr/ucb? For some reason that sticks in my
memory). I don't recall additional workaround steps, though perhaps
one had to install other GNU utilities?
That may be what I'm recalling... you needed gmake, binutils, bison, flex
and maybe a few others for sure... I also recall that 1.x was a lot harder
to get going than 2.x on sparc.
Gcc got you ANSI and some amount of compatibility with C++ (which
hadn't yet been standardized). I can't remember if Objective-C was in
gcc at the time yet, but I suspect it was via NeXT. But beyond raw
language compatibility, I don't remember it being a very good compiler
at the time. It didn't really start to become competitive until GCC 3
or so.
Yea, even gcc2 was a huge win.
>> SW economics can be difficult. Application firms like CAD or tools firms, of course, make all their money on their SW. But systems companies make their money on the HW and need the compilers to generate the applications to build the ecosystem to sell the HW. Funny thing, I have always said huge reason BLISS lost was that DEC charged for $5000 per CPU for it on TOPS or VMS, while C was free with UNIX - even though the difference is the resulting code was remarkable. So many people stayed away because they did not want to spend the extra $s.
>
> Yea, BLISS might have been better, but making the case it was $5k per CPU better was super hard.
People doing HPC locally used to pay for better commercial compilers;
GCC and Clang have definitely caught up now, but I'm sure they were
only concerned with Fortran at the time. The Portland Group compiler
was pretty darned good in the mid-90s when we were starting to look at
cheap x86 boxes because of the price/performance ratio: even though
the big RISC machines were still better in terms of absolute numbers,
they were clearly losing the battle on the cost ratio.
Yea. There comes a point where large swarms of adequate at a reasonable
price is a better call than a few, more expensive things that get the job done
in a smaller footprint of floor space or time (but higher cost). For a lot of things
that crossover took place in the 2000-2010 time frame.
Warner
- Dan C.
>> On Sat, Mar 1, 2025 at 5:08 PM Dan Cross <crossd@gmail.com> wrote:
>>>
>>> On Sat, Mar 1, 2025 at 5:01 PM Lyndon Nerenberg (VE7TFX/VE6BBM)
>>> <lyndon@orthanc.ca> wrote:
>>> > segaloco via TUHS writes:
>>> > > Given that anything that obeys the ABI and has assembler entries to the ker=
>>> > > nel
>>> > > can request services, it seems to me it would be possible to stand up a
>>> > > user-land without C being present. Have any UNIXen ever done this after th=
>>> > > e
>>> > > advent of C?
>>> >
>>> > SunOS 4.0 or 4.1 was when the Sun geniouses unbundled the C compiler
>>> > and made it a $$$ add on. That move single-handedly made GCC the
>>> > reference compiler moving forward.
>>>
>>> I believe that was in the shift to Solaris, aka SunOS 5.x. As I
>>> recall, even the last versions of SunOS 4 came with a bundled compiler
>>> (though it was pre-ANSI, and probably PCC based).
>>>
>>> - Dan C.