[Info-vax] Viable versus ideal programming languages

Arne Vajhøj arne at vajhoej.dk
Tue Mar 22 18:49:33 EDT 2022


On 3/22/2022 2:38 PM, Simon Clubley wrote:
> On 2022-03-21, Bill Gunshannon <bill.gunshannon at gmail.com> wrote:
>> On 3/21/22 14:46, Simon Clubley wrote:
>>>
>>> I would say that C is a _viable_ programming language in that case,
>>> but I would not say that it is an _ideal_ programming language.
>>>
>>> You may end up using something that is viable but is not your preferred
>>> language. This could be due to language availability across multiple
>>> environments, the ability of the language to be easily called from
>>> other languages, etc.
>>>
>>> This is especially important when you are writing library code for
>>> example. Consider that I can write a portable library in C, and I can
>>> then compile it unchanged on VMS, Linux/FreeBSD/Unix, Windows, embedded
>>> operating systems, bare metal ARM/MIPS/etc, and even 8/16-bit MCUs if
>>> the library is small enough.
>>>
>>> I can then easily call that C library from a wide range of languages
>>> running on those multiple operating systems and environments. The language
>>> also allows me to create code that runs both in kernel mode and user mode.
>>>
>>> Name one other programming language that allows me to do all that.
>>
>> What does any of that have to do with the language?  The specific
>> compiler maybe, but not necessarily the language.  I could see
>> not doing it in COBOL and probably LISP but otherwise, most languages
>> can do what you want.
> 
> Fine. Where do I find the compilers in today's world that allow me
> to do all of the above in a language other than C ? :-)

But it really all boils down to being widely available.

The reason you can build your library on all those platforms is because
a C compiler is available.

When it comes to code being portable then C code is generally not
great - more like somewhere in the middle (I would expect a higher
portion of Fortran and Cobol to build unchanged and a less portion
of Pascal and Basic).

And C does not have any particular advantages for language interop
either. But given how widely used C are then C interop get more
priority than other language interop.

> Would be nice if that was not the only viable option, but the problem
> is that C is a very viable language in all of these cases, even when
> it is not an ideal language, so no-one has developed a viable alternative
> over the decades.

Frequently it is the language available.

Arne




More information about the Info-vax mailing list