3 ms·
Targeting platform specifics both for features and performance is in large part the point of writing C. Backwards compatibility is also a big C feature, and it’
by oivey 6y ago
Targeting platform specifics both for features and performance is in large part the point of writing C. Backwards compatibility is also a big C feature, and it’s hard to see how forcing the language into a runtime like this wouldn’t be breaking. If this behavior is what you want, why not just write Java?
- pjmlp 6y agoThe language already has such runtime, for example IBM z/OS. https://www-01.ibm.com/servers/resourcelink/svc00100.nsf/pages/zOSV2R3SA380687/$file/ceea800_v2r3.pdf https://www-01.ibm.com/servers/resourcelink/svc00100.nsf/pag... > Language Environment supports z/OS (5650-ZOS).IBM Language Environment (also called Language Environment) provides common services and language-specific routines in a single runtime environment for C, C++, COBOL, Fortran (z/OS only; no support forz/OS UNIX System Services or CICS®), PL/I, and assembler applications. It offers consistent andpredictable results for language applications, independent of the language in which they are written The IBM z/OS bytecode is called ILC. > Language Environment eliminates incompatibilities among language-specific runtime environments.Routines call one another within one common runtime environment, eliminating the need for initialization4 z/OS: Language Environment Concepts Guide and termination of a language-specific runtime environment with each call. This makes interlanguagecommunication (ILC) in mixed-language applications easier, more efficient, and more consistent.This ILC capability also means that you can share and reuse code easily. You can write a service routine inthe language of your choice (C/C++, COBOL, PL/I, or assembler) and allow that routine to be called fromC/C++, COBOL, PL/I, or assembler applications. Similarly, vendors can write one application package inthe language of their choice, and allow the application package to be called from C/C++, PL/I, andassembler routines or from Fortran or COBOL programs.In addition, Language Environment lets you use the best language for any task. Some programminglanguages are better suited for certain tasks. Improved interlanguage communication (ILC) allows thebest language to be used for any given application task. Many programmers, each experienced in adifferent programming language, can work together to build applications with component routines writtenin a variety of languages. The enhanced ILC offered by Language Environment allows you to buildapplications with component routines written in a variety of languages. The result is code that runs faster,is less prone to errors, and is easier to maintain. It would be quite educative for teaching programs to actually teach young generations of the capabilities of mainframes.
- MaxBarraclough 6y agoI was thinking Google PNaCl, Google's LLVM-based IR for Chrome, which supported C and C++. [0] True to form, it's now deprecated. Of course, neither PNaCl nor IBM's ILC really speak to whether it would break 'normal' applications to switch to an IR. [0] https://en.wikipedia.org/wiki/Google_Native_Client#Overview https://en.wikipedia.org/wiki/Google_Native_Client#Overview