- #Python is written in C
- #Perl is written in C
- #Ruby is written in C
- #PHP is written in C
- #JavaScript engines started in C, now mostly in C++
- #Go was first in C, now written in Go itself
- #C++ compilers are written in C++
- #Swift is built with C++ and Swift (on LLVM in C++)
- #C# runs on .NET, built in C++/C#
- #JVM (HotSpot) is written in C++

Yet, people still doubt the necessity of learning C!

@mirsadra #C++ was written in #C until it could self compile. Also add...

#Erlang written in C
#GNUAda (GNAT) core written in C
#BSD kernels written in C
#Linux kernel in C

The body of software written in C is enormous and it "ain't" going to be ported to Rust, Go, Java, or other over night. And one needs to understand C in order to port from it.

I love C.

@sirwumpus @mirsadra there's no need to port to Rust. #Rust is a great language with great tooling, but the philosophy is kind of outdated already.

Instead, use modern tools to make your existing C code "safe". Like: https://fil-c.org

If one wants to port or write something new, use a modern language that can be formally verified by design. Like #Idris 2: https://www.idris-lang.org/

#cprogramming

Fil-C

Oh, I haven't heard of "Fil-c" before! It looks very interesting! πŸ‘€
Do you have any experience with it?

@sigismundninja @sirwumpus @mirsadra

@duke_of_germany @sigismundninja @mirsadra None myself, but I've been keeping track of potential similar solutions; often The Register has articles.

Probably others I've missed.

Enterprise Technology News and Analysis

Enterprise technology news for IT decision-makers and professionals

@sigismundninja @sirwumpus @mirsadra One problem: #Fil-C is garbage collected, cannot be used for bare metal programming. #Idris looks Haskellish, I don't think that would appeal to most programmers.

@michalfita @sirwumpus @mirsadra it's for sure not suitable for every use case. Hard real-time might be a no go. I guess it depends on if the multi threaded GC can run deterministic on a (POSIX compatible?) RTOS. I know too little about embedded Rust and the heap, but my guess is it's not very suitable for super hard real-time? But most software written in C does not have real-time requirements.

I agree, the ML style isn't for everyone.