#761 in Computers & technology books
Use arrows to jump to the previous/next product

Reddit mentions of Lions' Commentary on Unix

Sentiment score: 4
Reddit mentions: 6

We found 6 Reddit mentions of Lions' Commentary on Unix. Here are the top ones.

Lions' Commentary on Unix
Buying options
View on Amazon.com
or
    Features:
  • Used Book in Good Condition
Specs:
Height11 Inches
Length8.25 Inches
Number of items1
Weight1.30734121366 Pounds
Width0.55 Inches

idea-bulb Interested in what Redditors like? Check out our Shuffle feature

Shuffle: random products popular on Reddit

Found 6 comments on Lions' Commentary on Unix:

u/kidmoe · 2 pointsr/learnprogramming

Just read Tanenbaum's Operating System's Design and Implementation, and Lions' Commentary on Unix and you should be good to go.

u/jabjoe · 1 pointr/programming

It's all about reading good source code. Books tell you how people think the world should be, or how they want to be. Source code shows you how it is. Learn C and get reading. Linux is a great platform because you have the source code for everything and it's written by people who care about the code (and know it will be looked at). Windows is a bad platform because you have the source code to nothing, and only have books to go from. There are of course good books, but the best ones tend to have lots of code in. As normal I'll push my favourites :

http://www.amazon.com/Lions-Commentary-Unix-John/dp/1573980137
(Old, but very very good and the grand daddy to SOO much)

http://www.amazon.com/Black-Art-Game-Programming-High-Speed/dp/1571690042
(Again old, but very good)

http://www.starstonesoftware.com/OpenGL/
(Modern accelerated crossplatform 3D)

http://lxr.linux.no/linux
(Good for those "how does my OS do...." reading)

http://source.winehq.org/
(Don't like the idea of Win32 as a common platform, but the code is good, and can help when MSDN fails you)

http://minnie.tuhs.org/UnixTree/Interdata_v6/
(pretty much the same version as Lion's Commentary, so useful online reference when the book isn't to hand)

Hope this helps someone. Might have helped a younger me.

Oh and python for kids! (And adults when it doesn't need to be C.)
(I'm not pushing C++ as I regard it as a handle with care language I'm not sure I'm for.....but it does feed me.)

u/empleadoEstatalBot · 1 pointr/argentina

> For those who prefer video lectures, Skiena generously provides his online. We also really like Tim Roughgarden’s course, available from Stanford’s MOOC platform Lagunita, or on Coursera. Whether you prefer Skiena’s or Roughgarden’s lecture style will be a matter of personal preference.
>
> For practice, our preferred approach is for students to solve problems on Leetcode. These tend to be interesting problems with decent accompanying solutions and discussions. They also help you test progress against questions that are commonly used in technical interviews at the more competitive software companies. We suggest solving around 100 random leetcode problems as part of your studies.
>
> Finally, we strongly recommend How to Solve It as an excellent and unique guide to general problem solving; it’s as applicable to computer science as it is to mathematics.
>
>
>
> [The Algorithm Design Manual](https://teachyourselfcs.com//skiena.jpg) [How to Solve It](https://teachyourselfcs.com//polya.jpg)> I have only one method that I recommend extensively—it’s called think before you write.
>
> — Richard Hamming
>
>
>
> ### Mathematics for Computer Science
>
> In some ways, computer science is an overgrown branch of applied mathematics. While many software engineers try—and to varying degrees succeed—at ignoring this, we encourage you to embrace it with direct study. Doing so successfully will give you an enormous competitive advantage over those who don’t.
>
> The most relevant area of math for CS is broadly called “discrete mathematics”, where “discrete” is the opposite of “continuous” and is loosely a collection of interesting applied math topics outside of calculus. Given the vague definition, it’s not meaningful to try to cover the entire breadth of “discrete mathematics”. A more realistic goal is to build a working understanding of logic, combinatorics and probability, set theory, graph theory, and a little of the number theory informing cryptography. Linear algebra is an additional worthwhile area of study, given its importance in computer graphics and machine learning.
>
> Our suggested starting point for discrete mathematics is the set of lecture notes by László Lovász. Professor Lovász did a good job of making the content approachable and intuitive, so this serves as a better starting point than more formal texts.
>
> For a more advanced treatment, we suggest Mathematics for Computer Science, the book-length lecture notes for the MIT course of the same name. That course’s video lectures are also freely available, and are our recommended video lectures for discrete math.
>
> For linear algebra, we suggest starting with the Essence of linear algebra video series, followed by Gilbert Strang’s book and video lectures.
>
>
>
> > If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.
>
> — John von Neumann
>
>
>
> ### Operating Systems
>
> Operating System Concepts (the “Dinosaur book”) and Modern Operating Systems are the “classic” books on operating systems. Both have attracted criticism for their writing styles, and for being the 1000-page-long type of textbook that gets bits bolted onto it every few years to encourage purchasing of the “latest edition”.
>
> Operating Systems: Three Easy Pieces is a good alternative that’s freely available online. We particularly like the structure of the book and feel that the exercises are well worth doing.
>
> After OSTEP, we encourage you to explore the design decisions of specific operating systems, through “{OS name} Internals” style books such as Lion's commentary on Unix, The Design and Implementation of the FreeBSD Operating System, and Mac OS X Internals.
>
> A great way to consolidate your understanding of operating systems is to read the code of a small kernel and add features. A great choice is xv6, a port of Unix V6 to ANSI C and x86 maintained for a course at MIT. OSTEP has an appendix of potential xv6 labs full of great ideas for potential projects.
>
>
>
> [Operating Systems: Three Easy Pieces](https://teachyourselfcs.com//ostep.jpeg)
>
>
>
> ### Computer Networking
>
> Given that so much of software engineering is on web servers and clients, one of the most immediately valuable areas of computer science is computer networking. Our self-taught students who methodically study networking find that they finally understand terms, concepts and protocols they’d been surrounded by for years.
>
> Our favorite book on the topic is Computer Networking: A Top-Down Approach. The small projects and exercises in the book are well worth doing, and we particularly like the “Wireshark labs”, which they have generously provided online.
>
> For those who prefer video lectures, we suggest Stanford’s Introduction to Computer Networking course available on their MOOC platform Lagunita.
>
> The study of networking benefits more from projects than it does from small exercises. Some possible projects are: an HTTP server, a UDP-based chat app, a mini TCP stack, a proxy or load balancer, and a distributed hash table.
>
>
>
> > You can’t gaze in the crystal ball and see the future. What the Internet is going to be in the future is what society makes it.
>
> — Bob Kahn
>
> [Computer Networking: A Top-Down Approach](https://teachyourselfcs.com//top-down.jpg)
>
>
>
> ### Databases
>
> It takes more work to self-learn about database systems than it does with most other topics. It’s a relatively new (i.e. post 1970s) field of study with strong commercial incentives for ideas to stay behind closed doors. Additionally, many potentially excellent textbook authors have preferred to join or start companies instead.
>
> Given the circumstances, we encourage self-learners to generally avoid textbooks and start with the Spring 2015 recording of CS 186, Joe Hellerstein’s databases course at Berkeley, and to progress to reading papers after.
>
> One paper particularly worth mentioning for new students is “Architecture of a Database System”, which uniquely provides a high-level view of how relational database management systems (RDBMS) work. This will serve as a useful skeleton for further study.
>
> Readings in Database Systems, better known as the databases “Red Book”, is a collection of papers compiled and edited by Peter Bailis, Joe Hellerstein and Michael Stonebreaker. For those who have progressed beyond the level of the CS 186 content, the Red Book should be your next stop.
>
> If you insist on using an introductory textbook, we suggest Database Management Systems by Ramakrishnan and Gehrke. For more advanced students, Jim Gray’s classic Transaction Processing: Concepts and Techniques is worthwhile, but we don’t encourage using this as a first resource.
>

> (continues in next comment)

u/balefrost · 1 pointr/AskProgramming

Lions' Commentary on Unix is nice. It's an annotated tour of the UNIX source code circa 1976.

The Art of Computer Programming doesn't necessarily have tricky code (it's trying to teach you how to write good code after all), but all the examples are in assembly for a fictional processor.

I guess it depends on what you mean by "tricky". Even with modern practices and languages, code can be tricky.

u/reginod · 1 pointr/netsec

You don't need a school for this.

Low Level Programming Languages

u/phao · 0 pointsr/C_Programming

Care to elaborate on what you mean by functional program framework?

Are you talking about doing functional programming in C? I think there is a book on that. I think it's this one: http://www.amazon.com/Functional-C-International-Computer-Science/dp/0201419505/ - I'm not so sure though.

Are you talking about building framework/programs that are functional (as in robust, secure, ...)? If that is the case, then there is an interesting book named "C Interfaces and Implementations" going through several kinds of modules you might want to implement in C, and going through how you'd elaborate an interface and an implementation for them => http://www.amazon.com/Interfaces-Implementations-Techniques-Creating-Reusable/dp/0201498413/. This book covers the sort of thing that I believe you should be studying after learning the overall language syntax and semantics, how to combine features of C to solve not so trivial algorithmic problems, and so forth. In summary, it talks about modules design (both interfaces and implementations) in C.

There are more books here, like those listed in here http://www.iso-9899.info/wiki/Books. You can also check some more learning resources here http://www.iso-9899.info/wiki/Usenet and here http://www.iso-9899.info/wiki/Web_resources.

Still on my second interpretation of your functional program framework (because idk much about the first one besides that book "Functional C"), there are tons of very complicated systems built in C, like operating systems, server software, and so forth. And for many of them, there were books written. Here are some software for which you can find books on their design and implementation: