OCaml
OCaml
Do you think it is also worth to learn this language in 2021?
Do you know anything at all about Rust or are you just blathering on ignorantly and arrogantly like a senile old man?Are you blathering on ignorantly and arrogantly like a young idiot without the experience of seeing endless repeating cycles of the Next Big Thing that fades away? There's always that one wonderful little thing they do, that means the world is going to see the brilliance of the Next Big Thing and flock to it. Every once in a long while people actually do. Not often, though. Maybe Rust will hit the big time, but the odds are heavily against it unless one or more massive long term systems that are needed all over the place are written in it.
One can't write an OS in garbage collected languages
OCaml
Do you think it is also worth to learn this language in 2021?
I am so tempted, although at the moment my priority is Rust.
I enjoyed the above post with a link to an real OS written in Rust!
I am the kind of person who better learns by examples
I would say, let's tune it down with name calling and person attacks, call names the tools (even the concepts), not the people. Insulting the discussion partners does not anyones point stronger and does not make one seem smarter, au contraire.
This being said, I will leave this topic forever and let you in the capable hands of the soon to be cRUSTaceeans overlords.
DC1MC
There were not many OSes written in C + assembly, only the ones who actually matter and passed the test of time, the rest went as academic masturbation, hyper-specialized NIH stuff and forgotten attempts of enthusiasts, forever remaining at version 0.0.1alpha0 in a forgotten '90s stile web page or repository.
Rust will go like all the rest of over-engineered cretinic experiments, only to be eventually used in some kind of hypervisor or virtualization, where the heavy lifting will be done by C or assembly stuff, but it will be not visible to the mediocre programmer who will happily announce that "duuude, I've written a user mode driver in Python... Yeah dude, I written a scheduler in Rust, this OS stuff is so simple...".
Some times low level and difficulty is just that, not reducible to application level stuff and trying to sugarcoat it with automated garbage collectors and object paradigms, glorified interpreters of pseudocode and other crutches for mediocre programmers will always fail.
... There are a few languages its worth learning just to broaden your understanding of what a computer language can be like. Everyone should learn Snobol
... There are a few languages its worth learning just to broaden your understanding of what a computer language can be like. Everyone should learn Snobol
But Lisp may be taking things too far.
... There are a few languages its worth learning just to broaden your understanding of what a computer language can be like. Everyone should learn Snobol
But Lisp may be taking things too far.Well, I'd list LISP as one of the interesting things to learn, but I'd put it in brackets.
It also seems to be getting traction in Linux - Rust code in Linux kernel looks more likely as language team lead promises support.
OCaml
Do you think it is also worth to learn this language in 2021?
It also seems to be getting traction in Linux - Rust code in Linux kernel looks more likely as language team lead promises support.The Reg got it backwards - for this to happen, Rust would have to gain acceptance of Linux developers, not Linux gain acceptance of Rust developers
The Reg got it backwards - for this to happen, Rust would have to gain acceptance of Linux developers, not Linux gain acceptance of Rust developers
Have anyone seen and can report here a link to an OS not written in C/C++/ObjC?
but the Rust language is fastly evolving, and because of this certain compatibility issues can arise, despite efforts to ensure forwards-compatibility wherever possible.
At no point I understand that Linus is going to consider replacing C with Rust for the Linux kernel, neither tomorrow nor maybe even in 10 years. All we can conclude, for what he said, I guess, is that at least he doesn't reject it violently as he has always done with C++.
Re: VMS and BLISS
My recollection was that VAX/VMS and PDP-11/RSX-11 were both written primarily in assembler. The VAX filesystem (FILES-11), however, had BLISS components at least.
I took the VAX/VMS internals courses in the 80's and wrote kernel modules for a few projects. (Digital alum 1983 - the acquisition of my division by Intel). Prior to Digital I wrote an I/O driver for RSX. I don't ever recall seeing any BLISS modules as part of the VAX VMS kernel prior to V5.0 -- perhaps BLISS was introduced after that.
BLISS-11 was used to build the StarOS operating system for CMU's Cm*.
but the Rust language is fastly evolving, and because of this certain compatibility issues can arise, despite efforts to ensure forwards-compatibility wherever possible.This is a *major* issue indeed.
but the Rust language is fastly evolving, and because of this certain compatibility issues can arise, despite efforts to ensure forwards-compatibility wherever possible.This is a *major* issue indeed.This was one of the major things holding C++ back in the 90s. There was a period when almost every compiler update you received broke something in your code. If not for that, C++ compilers might well have displaced C compilers, with some of us writing like we were still using C, and some of us writing with the full features of C++.
TOPS-10 - BLISS -https://en.wikipedia.org/wiki/TOPS-10I'm pretty sure that TOPS-10 was written mostly in Macro-10, the PDP-10s assembly language.It's origins pre-date Bliss, and TOPS-20 (which is NEWER than TOPS10) was pretty much all Macro-10.
I think a large chunk of the first Mac OS versions was written in Pascal. Ditto for Lisa OS which Mac OS was partly based on.
The Macintosh used the same Motorola 68000 microprocessor as its predecessor, the Lisa, and we wanted to leverage as much code written for Lisa as we could. But most of the Lisa code was written in the Pascal programming language. Since the Macintosh had much tighter memory constraints, we needed to write most of our system-oriented code in the most efficient way possible, using the native language of the processor, 68000 assembly language. Even so, we could still use Lisa code by hand translating the Pascal into assembly language.
We directly incorporated Quickdraw, Bill Atkinson's amazing bit-mapped graphics package, since it was already written mostly in assembly language. We also used the Lisa window and menu managers, which we recoded in assembly language from Bill's original Pascal, reducing the code size by a factor of two or so. Bill's lovely Pascal code was a model of clarity, so that was relatively easy to accomplish.
The Mac lacked the memory mapping hardware prevalent in larger systems, so we needed a way to relocate memory in software to minimize fragmentation as blocks got allocated and freed. The Lisa word processor team had developed a memory manager with relocatable blocks, accessing memory blocks indirectly through "handles", so the blocks could be moved as necessary to reduce fragmentation. We decided to use it for the Macintosh, again by recoding it from Pascal to assembly language.