5 ms·
Apparently this is the shill-c-alternatives thread. Here's a short list: * Rust * D * Zig * C2 * Nim * LISP * Ante * Clay Please note: I think all of
by earenndil 9y ago
Apparently this is the shill-c-alternatives thread. Here's a short list:
* Rust
* D
* Zig
* C2
* Nim
* LISP
* Ante
* Clay
Please note: I think all of the above languages (with the exception of C2) are awesome and should be looked at.
- cbHXBY1D 9y ago* Myrddin * Terra
- pjmlp 9y agoYou forgot - Ada - SPARK - Modula-2 - Modula-2+ - Modula-3 - Oberon - Oberon-2 - Oberon-07 - Component Pascal - Active Oberon - Dylan - Object Pascal - Sing# - System C# - Swift - C++ (assuming C++17) Then the older than C, or about the same age. - ESPOL - NEWP - PL/I - PL/M - PL/S - PL/8 - Mesa - Mesa/Cedar - Algol68-W These are the most well known ones. Plenty of material to learn for anyone that anyone with interest in systems programming and how it evolved since 1960.
- earenndil 9y agoI'm talking about legit languages people are proposing to replace C with that are actually any good (except C2, it was an afterthought and I regret it because it was out of place and unlike the other languages there purposeless). Ada and perhaps C++17 is the only language people are actually recommending to replace C.
- pjmlp 9y agoYeah, given the current market situation, you are right. However, there are quite a few lessons on the manuals, papers and sample code from those languages, to learn about other approaches of doing systems programing. Lessons that one can bring back to life. For example, are you aware that ESPOL, the systems programming language for the Burroughs B5500 in 1961, about 10 years before C was created, already had the concept of UNSAFE code blocks? Burroughs B5500 is still sold nowadays as Unisys ClearPath mainframe. Or that IBM implemented their research OS and compiler toolchain for their very first RISC processor in PL/8, a safe systems programming language, using a compiler architecture similar to how LLVM looks like? IBM mainframes still use PL/I variants, although new systems code is a mix of C and C++. So plenty of ideas there to learn, even if no one is going to start writing new code in those languages. > Ada and perhaps C++17 is the only language people are actually recommending to replace C. I would still add Swift to that list, even if that turns out to be just like Objective-C, mainly specific to Apple platforms. Given Apple's roadmap for it.
- Someone 9y agoSwift? I know Apple says they intend it to be usable for OS development, but I would want to see some real OS work (either from them or from others) before being convinced it is a real contender (or is there, and did I miss it?)
- pjmlp 9y agoOfficially launchd and the Dock are now written in Swift (disclosed at WWDC 2017), so even though they aren't drivers or something, they are already a bit lower level than just apps. Swift 4.0 got all the Unsafe* APIs stabilized, maybe they would be using it a bit more. In any case, Apple also suffers an Objective-C vs Swift, just like Microsoft used to have C# (Longhorn, Singularity, Midori) vs C++. Which means, even if it possible to use a certain language from technology point of view, many political wars have to be won as well.
- earenndil 9y agoSwift is more applications programming than OS or systems. It does have those capabilities, but no one is using it for that and it's not really the intent. However, to the extent that swift (and obj-c!) are used for systems programming, those programs are useable outside of apple platforms.
- pjmlp 9y agoIt is definitely the intent of Apple, explicitly mentioned on their developer documentation as C and Objective-C replacement. "Swift is a successor to both the C and Objective-C languages." https://developer.apple.com/swift/ https://developer.apple.com/swift/ As mentioned in another comment, most of the time the issue is political, not technical.
- rhaps0dy 9y agoLISP Is Systems Programming or, if you want, LISP: Loses In Systems Programming
- earenndil 9y agoLISP machines?