I am now reading two books:

  • Tanenbaum - Modern Operating Systems
  • Bach - The Design of the UNIX Operating System

and I wonder why do they still mention programs written in C and functions from C libraries (mostly system calls) in both books? It would not bother me if it was mentioned somewhere in the book - why they use C. Maybe it was mentioned but I didn't see it there.

Also in Java you can open file, write bytes into it, read bytes from it etc. so why C is mentioned there?

Also I would like to know form you guys, why there are manual pages about C functions in UNIX and UNIX-like systems. I have been using them since I started actively programming in C - it was about 2 years ago. I every time took these things as facts. But now I am beginning to ask WHY about them.

closed as primarily opinion-based by Rui F Ribeiro, Michael Homer, Jeff Schaller, Archemar, don_crissti Jul 27 '17 at 10:45

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    Why does The Design of the UNIX Operating System mention C‽ – Michael Homer Jul 27 '17 at 10:12
  • @MichaelHomer Why do The Design of the UNIX Operating System and Modern Operating Systems mention functions from C libraries. – scarface Jul 27 '17 at 10:13
  • The question could be rephrased as why OSes are mostly written in C. Notice that it would be difficult to write a garbage collector in Java. – Basile Starynkevitch Jul 27 '17 at 11:45
  • 1
    The existing answer explains this in terms of the dates when the books were published versus the dates when the Java language was invented. Clearly an answer that is not based upon opinions at all is quite possible. – JdeBP Jul 27 '17 at 12:41
  • NOT opinion based, and it is a VERY important thing. The fun part is that practically ALL OS-es have a C interface on their lowest programmable level, WHY it happened so, it would be a VERY IMPORTANT thing! – peterh Sep 28 '17 at 20:44

The reason why "C language" and "C libraries" are mentioned in this 2 Books, is simply because Unix was written in C.

Prof. Tanenbaum designed "Minix" which is also written in C.

In 1972 where Unix was create, there was no JAVA existing.

  • Java was not existing in that time, that's right. But why Java calls were not mentioned in Tannenbaum's book? Or calls of any other programming language? So the only answer for that is because Unix was written in C, right? – scarface Jul 27 '17 at 10:25
  • If i am not wrong, the Book you mentioned from Prof. Tanennbaum is from 1988 +- . Java 1.0 was released in 1995. Tanenbaum had no reason talking about Java .. – Vafa Jul 27 '17 at 10:28
  • You are right but it had several releases since that time. I think the newest one is from 2015. – scarface Jul 27 '17 at 10:31
  • Again, he was talking about "Modern Operating System" and not "Modern Languages". Java is not the right language to write OS with it, since JAVA libs are partiyally written in C. – Vafa Jul 27 '17 at 10:33
  • 1
    yes, correct. C is the most suitable language for writing OS. We also should not forget Assembler :-) – Vafa Jul 27 '17 at 10:38

Not the answer you're looking for? Browse other questions tagged or ask your own question.