Hacker News new | past | comments | ask | show | jobs | submit login

> A program that doesn't emit at least VM bytecode should not be called a compiler, but rather a transpiler.

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

> In computing, a compiler is a computer program that translates computer code written in one programming language (the source language) into another language (the target language).

> The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a low-level programming language (e.g. assembly language, object code, or machine code) to create an executable program.

> a program that translates between high-level languages, usually called a source-to-source compiler or transpile

Since when is C a high-level language?

There is no need to be so pedantic. A transpiler is a special kind of compiler.




> Since when is C a high-level language?

Umm, since the day it was created?

High level languages were understood to be the ones that abstracted away the implementation details of the underlying architecture. Pascal and C were definitely considered high level languages.


C is definitely a high level language.


Higher level than assembly? Yes. High-level? No. Not with manual memory management, not without strings/encodings native support (char* is a bytestring, not a text string), not with so many platform-dependent features that are not abstracted away.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: