Hacker News new | ask | show | jobs
by generic_user 3373 days ago
I would also like to see these arm chair developers bootstrap a new set of compilers, operating system and tool chain with a native system interface written entirely in there super cool new languages that are going to replace C and C++.

For all the talk of 'a better system programming language' and replacing C/C++ there is curiously little interest or code written to prove that any of these new languages can be used to write systems from scratch and that the language and runtime can scale across architectures.

Thats before you even get to a comparison of efficacy and speed vs C/C++.

3 comments

The problem is catching up with 40 years of history.

The quality of code generated by C compilers used to be pretty lame in the 80's, any junior Assembly programmer could do better.

As for ubiquity, C was a UNIX only language, with K&R C incomplete dialects available in other systems, where C was just "yet another language".

It was the adoption of UNIX, an almost free ($$) with source code available, by the 80's startups for creating the workstation market (like Sun and SGI) that lead to UNIX and C's adoption in the market.

Had UNIX been as expensive to get as the other OS of the time, and we wouldn't be talking about C's ubiquity and execution speed of generated code.

How much history can you try to rewrite in one comment?

A vast amount of software in C was written for other platforms than UNIX, both SGI and SUN were companies that were focused on selling hardware rather than software. If anything the workstation market was created by companies like Xerox and commercialized by companies like Apollo.

UNIX was for a long time a very expensive operating system on X86, it only became affordable with SCO/Xenix and it became free with 386BSD by Bill and Lynne Jolitz and later Linux by Linus Torvalds.

C definitely wasn't a UNIX only language, it was available for an enormous range of computers from 8 bitters to top of the line machines. In fact that (and not UNIX) was a major factor in C's long time dominance.

None, as I was there.

Companies buying UNIX weren't buying X86 systems to run it.

We were using CP/M (on Spectrum +3 A), MS-DOS, Atari, Amiga, C64, ZX Spectrum, MSX.

C was just yet another programming language, nothing special about it.

In fact the only reason to bother having a C compiler on those systems for my group of acquaintances, was to be able to bring home the work done in expensive UNIX computers at school.

C supporters are the ones that like to rewrite history by selling UNIX and C as if they were the genesis of systems programming and OSes.

Well when I started programming Windows 3.1 it was with Microsoft C 7 and the help of the Petzold book. At that time it seemed to be the main way of writing Windows programs, at least until Visual Basic 3 came out anyway. It wasn't just another programming language in the Windows world. It was the programming language.
I was using Turbo Pascal for Windows 1.5 and Borland C++ 3.1 instead.

Also by the time Windows 3.1 got out MS-DOS was already at version MS-DOS 5.0 and DR-DOS at version 6.0.

During the lifetime of MS-DOS, many of us were happily coding on Clipper, Dbase, Turbo Pascal, Turbo Basic, Quick Pascal, TMT Pascal, FoxPro, NASM, TASM, Turbo C, Turbo C++, Modula-2....

There was plenty of choice.

Not to be pedantic but I know there was a lot of choice for DOS but I was referring to Windows programming specifically which is what I started out on. I was under the impression that C was the main way to do this but I didn't even have access to the internet then, so I suppose I should say that it seemed to be the main way to do Windows programming in my local area and in my local computer bookshop!
You are looking at the 1990s, not the 1970s and early 1980s when this was taking place. By the late 1980s Microsoft realized they needed a higher level language and C was already winning by then. Microsoft just helped push it along.
I think you're not looking hard enough. There's lots of operating systems being written in the weirdest languages. So are the toolchains and compilers. People do it for fun - just look at osdev forums. It's not a new thing either, I was doing some development on an AOT CIL compiled, single memory segment system a decade ago. Kind of like Singularity.

But it takes time. Unless you're actually looking for those projects, don't expect to even know they exist during the first 5 years.