Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> C is the first language that both stayed out of your way and also provided reasonable productivity features

If we ignore the history of computers outside AT&T....



Example? Standard language that never required a trip to assembly language for system level programming?

On IBM's, PL/I didn't cut it that regard.

On a UNIVAC you could do a lot of system programming in FORTRAN, but only because there were a zillion proprietary extensions that accessed system programming primitives.

BASIC on a Commodore 64 had PEEK() and POKE() but that doesn't count either, very non-standard.

FORTH? Nope... still asm at the bottom.

Concurrent Pascal? Nope... not safe, despite the type checking, because you could twist variant records however you liked. And I think there was asm at the bottom anyway, IIRC.

COBOL, well, CDC COBOL had a bunch of extensions, too, but you still ended up in asm for system programming.

Show me the source code for a device driver in a high-level language that pre-dates C/B/BCPL.


> On a UNIVAC you could do a lot of system programming in FORTRAN, but only because there were a zillion proprietary extensions that accessed system programming primitives.

Just like pure ANSI C without compiler extensions.

> Standard language that never required a trip to assembly language for system level programming?

Try to implement 100% of libc in ANSI C without writing one single line of Assembly, syscalls into the underlying OS or compiler specific language extensions.

> Show me the source code for a device driver in a high-level language that pre-dates C/B/BCPL.

ESPOL on Burroughs B5000, 1961.


You shouldn't complain about extensions to the language. C needs extensions too. For example, many architectures have 3 (or more) memory spaces: program/code, data, IO. If you want to do anything on IO, you'd have to rely on non-standard (proprietary) extensions to C, or, like FORTH, get to asm at the bottom, and call those functions from your C program.


FORTH? Nope... still asm at the bottom.

I call shenanigans!


Either my sarcasm detecter is broken today, or you've never read the source code of a FORTH system. Or perhaps you are commenting that FORTH doesn't have high-level programming constructs -- but of course FORTH allows meta-programming, so you roll your own.


I'm saying that it's shenanigans that he's justifying disqualifying FORTH as a systems programming language because "it's ASM at the bottom." So I'm on your side of that debate.


> Example? Standard language that never required a trip to assembly language for system level programming?

That would exclude C as well.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: