Best of Holla Forums books

I'm looking for the best books on CS, especially more advanced stuff which seems to be more rare.

Pic obviously related

Other urls found in this thread:

volafile.io/get/kXYrPyMVw67EQ/Caleb Doxsey-Introducing Go_ Build Reliable, Scalable Programs-O'Reilly Media (2016).pdf
doc.rust-lang.org/stable/book/
stroustrup.com/Programming/.
stroustrup.com/4th.html
open-std.org/JTC1/SC22/WG21/docs/papers/2016/n4606.pdf
stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list
computerhistory.org/
zedshaw.com/2015/01/04/admitting-defeat-on-kr-in-lcthw/
twitter.com/SFWRedditGifs

depends what you're looking for(algorithm and structures, AI, theory of computation, programming langauge theory,...).

That's what whitepapers are for.

if you want a job learn Go over Scheme

volafile.io/get/kXYrPyMVw67EQ/Caleb Doxsey-Introducing Go_ Build Reliable, Scalable Programs-O'Reilly Media (2016).pdf

these are some of the commonly suggested books but as said, it depends what you're looking for.

goddamn it, 8ch is glitching out on me. i go to post the image and it deletes posts above me in the thread and won't update.

hopefully it posts this time.

...

Or Zed Shaw

Where do you see Zed Shaw?

Keep in mind that I was posting in the "I can't believe you're recommending this" way, not the "I have no clue what the purpose of greentexting is" way.

i haven't read either of those so i can't say. right now i'm working on sicp and algorithms (clrs).

this image always gets posted when people ask. it seems a little biased towards functional paradigm tbh. i thought there was a more comprehensive guide broken down by subject but i don't have it. this one kind of sucks because it has like 4 books on algorithms which defeats the purpose of making a recommendation.

if people are interested and will make suggestions by subject I'll put together a new image to pass around.

We should update the /g/entooman library. A lot of the books in it are kind of old(circa 2006) and a few are obsolete(90's).

Anyone here read CLRS start to finish? Is it worth it? How long did it/would it take?

they are pretty old. i downloaded it and a lot of it is obsolete. it also has a lot of books which personally i would consider a waste of time (i.e., "4dummies" type books).

if we do update it we should do it with only the best books in each subject.

Also whats with all the chm files? Fuck chm.

market for haskell programmers is pretty fucking saturated because there aren't a whole fuck of a lot of companies running systems with haskell.

the suggested books would be more useful if it covered everything needed to get you that first coding job. learning functional programming with haskell but not being able to get a job - all you've really succeeded in is learning things that aren't worth the trouble of knowing.

at the very least the list needs suggestions for:

there might not even be a best book for build tools but we could at least provide some links.

what do you mean by reading?
my goal is to work through chapter 26. that covers
i might also cover
i'm estimating 6 months to a year to finish with only this. that book is a pretty comprehensive intro and cs is such a wide field i don't think it's reasonable to expect to cover and master everything. i don't particularly have a lot of interest in encryption for example.
i think the best approach is to cover the basics. basics being everything up to "selected topics" / through chapter 26. then cover what you're interested in. if you're not interested in it, domain knowledge is more important. you likely don't need to know a lot about encryption for example if you're interest is autonomous navigation. better to read up on navigation algorithms at that point.

Ok, I agree, those books are probably a waste of time. But that's not to say that functional paradigms don't apply to other languages and won't make you a much better programmer.

Fluent Python

Just use it and you'll learn it.

depends on the language i guess

Cracking the Coding Interview is good

I'll post a list of my current books in a minute

don't mean to imply it. definitely, i agree. i learned so much more about programming in general by learning lisp than I've found actual daily use for lisp beyond reading emacs macros

yeah post them. i'll make a list for a few things too.

what would you think about making an image for helping anons get their coding job? we could even make different branches for a job like webdev vs a job doing embedded.

it wouldn't even necessarily be books but more like things to know and where and how to learn it.

i'm going to start working on that.

Here's my list of decent books, though I haven't read all of them, most aren't in the image, feel free to add to it

Algorithms

Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein Introduction to Algorithms (clrs)
Aditya Bhargava - Grokking Algorithms An illustrated guide for programmers and other curious people


C/C++

Discovering Modern C++
Effective Modern C++
Harbison & Steele C - A Reference Manual
K&R C
K N King - C Programming A Modern Approach 2nd Edition
The C Puzzle Book
Mastering Algorithms with C
Linden - Expert C Programming - Deep C Secrets

Python

Luciano Ramalho - Fluent Python
Sebastian Raschka - Python Machine Learning
A Guide to Python's Magic Methods
Yuxing Yan - Python for Finance
Yves Hilpisch - Python for Finance - Analyze Big Financial Data

Java

Design Patterns, Elements of Reusable Object-Oriented Software
Joshua Bloch - Effective Java


Penetration Testing

Justin Hutchens - Kali Linux Network Scanning Cookbook
Peter Kim - The Hacker Playbook 2 Practical Guide To Penetration Testing
Peter Kim-The Hacker Playbook Practical Guide To Penetration Testing
David Kennedy, Jim O'Gorman, Devon Kearns, Mati Aharoni - Metasploit - The Penetration Tester's Guide


Game Programming

Robert Nystrom - Game Programming Patterns
Jesse Schell-The Art of Game Design - A Book of Lenses


Web Dev

Douglas Crockford - Javascript - The Good Parts
Dafydd Stuttard, Marcus Pinto - The web application hacker's handbook - finding and exploiting security flaws
Wade Alcorn, Christian Frichot, Michele Orru - The Browser Hacker's Handbook


Business / Productivity

Gayle Laakmann McDowell - Cracking The Coding Interview, 5/6th edition
Eric Ries - The Lean Startup - How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses
David Allen - Getting Things Done - The Art of Stress-Free Productivity

Security

J. J. Luna - How to Be Invisible - Protect Your Home, Your Children, Your Assets, and Your LIfe


Misc

J. Clark Scott - But How Do It Know
Code Complete 2nd Edition
Ben Clark - Rtfm - Red Team Field Manual

may take me a while but i'll post back

I have read The Art of Unix Programming, and I'm still baffled how one man can fill five hundred pages without saying anything.

Here is the TL;DR:
- Write small programs that do one thing and do it well
- Make it possible to connect those programs for more complex tasks
- Keep the interfaces small
- Keep glue for connecting interfaces thin
- If you want to design a configuration format either keep it dead-simple or design in from the start up as a language, don't let it grow accidentally Turing-complete
- Scripting languages are good when performance isn't important
- Scripting languages for extending programs are better then shoving everything including the kitchen sink into the source code of the program

Now if you're wondering how to actually do any of these, then you know right now just as much as you will know after reading through the entire book.

why?

These are just the books I have locally
Like I said feel free to add more

why game programming gem?

the game programming gems are more like the kind of book that act more like an encyclopedia of multiple article related to game programming. Each the books are sepearate in 4-5 sections that touch about everything related to game programming. Sadly, they stopped doing them since 2010. When trying to make your own engine, these books tend to be useful.

Books this user recommends:

The Algorithm Design Manual 2nd Ed. Steven Skiena
C Interfaces and Implementations, David Hanson
PC Assembly Language, Paul Carter
Computer Systems, A Programmers Perspective 3rd Ed, Bryant & O'Hallaron
Advanced Programming in the Unix Environment 3rd Ed, Stevens & Rago
Modern Operating Systems 4th Ed, Tanenbaum & Bos
The Design and Implementation of the FreeBSD Operating System 2nd Ed, McKusick, Neville-Neil & Watson
Structure and Interpretation of Computer Programs 2nd Ed, Abelson & Sussman
Programming in Haskell, Graham Hutton
Higher Order Perl, Transforming Programs with Programs, Mark Jason Dominus
The Practice of Programming, Kernighan & Pike
Introduction to Computation and Programming using Python, John Guttag
The AWK Programming Language, Aho, Kernighan & Weinberger

Game Dev
Christer Ericson - Real-Time Collision Detection
Josh Glazer, Sanjay Madhav - Multiplayer Game Programming - Architechting Networked Games

lmao

here's what i have so far. it's a mess. but i hope it shows the general idea. it's supposed to be a guide to setup Holla Forums anons with the skills they need to get a first job in the industry they're interested in.

there's a language specific section to list the best books for a language. i'm trying to keep that to 2, maybe 3 books tops per language. anons should be coding more than reading. if i haven't listed yours yet, sorry. it's probably not my expertise (image is biased towards robotics right now). there are a lot of suggestions and i can't fit them all in. and i'm going to sleep right now.

there should be:

it's really messy right now. it may be better if it was a more vertical aspect ratio and you work top to bottom. something like 1200 x 5000 would let the book image be larger and more readable. or maybe anons want to convert to only text, idk. if there are anons more experienced creating these guides, feel free to layout the way you think it looks best. try to keep to the goal for the guide though, a guide to setup Holla Forums anons with the skills they need for a first job.

I have been reading Practical Common Lisp by Peter Seibel and I'm about two thirds through it. It's a "working man's" book rather than a "thinking man's" one, it assumes you are already familiar with programming and various paradigms, so it doesn't waste much time on the basics. Instead it teaches you about Common Lisp itself and then goes on to implement practical examples in the language. As I said, I'm only about two thirds in it, but I like it so far.

You want to know C/Asm for sure, the same as embedded.
R and Python can be in "researcher" tier or "I'm from other discipline and want to get shit done".

for game dev it should be python and lua because most engines use those for scripting and embedded should also include assembly

Real world Haskell is really outdated. Haskell programming from first principles seems to be the new standard. There are lisps other than common lisp, maybe some scheme or clojure(actually used in production) book? A truwizard also needs to learn about truOOP, so add smalltalk. Replace linux with GNU/Linux and replace GNU/Linux with UNIX, shell use is really similar between UNIXen. Add Swift to mobile dev, it's fairly new but seems to be getting adopted at a decent pace (maybe because Obj-C is fucking horrible).

Most importantly: fix that alignment you son of a motherless goat my autism is all over the place


Python is annoying to embed, lua or squirrel (less shitty lua) are used much more.


haxx0r also needs some shell scripting and python/perl. These IRCbotnets and attack scripts aren't writing themselves.

a truwizard would know all the spells of elf man and orc

try the rust programming language book
doc.rust-lang.org/stable/book/

I think you can divide all CS books into 3 parts.
Professor/Cool Dude XD course notes and exercises, opinionated stuff from people who have no writing ability and mathfag decided to write a book on CS but he needs you to learn math in order to understand that you probably wasted a few months reading this when wikipedia and a glance at some source code would have explained it in about 10 minutes.
Most people recommend 1 but only do 10 exercises and skim the book, constantly talk about 2 and think 3 are the best books but of course nobody ever reads them.

No one posted The Linux Programming Interface?

This is by far the best book I have read on the subject. It's a huge reference book that is also very enjoyable to read from cover to cover.

If you more or less know C, get this book and become a god tier Linux programmer.

gamedev should be c++, for rolling your own, and c# for commercial engine fags.

What's wrong with Raymond? His books may not be the best books to study out of, but I like his style and find it enjoyable to read as entertainment

related question: how's the dragon book? Is it somewhat enjoyable (SICP is full of funny, philosophical and other 'meta' remarks, art of unix progamming is more a book you read through than one you use to study. for examples)
and more importantly: is it not too dated? the last edition is 10 years old by now.

Could you maybe say something about which books are your favorites and why?

Art of the Meta-Object Protocol by Gregor Kiczales
(save pic, rename to .zip)

Pragmatic Bookshelf is top tier, adding a few suggestions
The Healthy Programmer - Get Fit, Feel Better, and Keep Coding - Joe Kutner
Practical Vim, Second Edition - Edit Text at the Speed of Thought - Drew Neil

Anyone know any good books on computer/technology history please?

...

it's really hard to tell, considering that the people who contributed the most in the early 40s-50s are dying recently. There's book, but they are all written by none-programmer for non-programmer. The books also tends to be written by multi-billions company to promote their own shit. The best thing up to this point is to ask a 80 years old about the history of programming/computer/tech.

Last time I asked it mostly goes like that:

meant to put GNU right after linux kernel thing*

GNU is older than Linux. The first program Linux ran was bash. The original announcement of Linux said it "won't be big and professional like GNU".

good point, I fucked up my shit

I thought it was Emacs, no ?

No. Emacs was arguably the first GNU program, though.

I'm p sure that was gcc.

user, pls

This. It's easily the single best Linux systems programming book, even though it's ancient 2010 now.

It's great as an introductory-tier programming book but for that PPP2 is better stroustrup.com/Programming/. It's hardly a professionals text (as the title to your guide suggests). TC++PL4 is the obvious goto reference stroustrup.com/4th.html for pros, as well as the ISO Standard itself open-std.org/JTC1/SC22/WG21/docs/papers/2016/n4606.pdf itself.

There is also a definitive C++ book list already, and you could use some guidance from it stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list .

You could spend literally months digging around in here user:
computerhistory.org/

Is there a list of copylefted books? Like GPL, but for books, I forgot what the license was called.

The CC SA (Creative Commons Share-Alike) and GFDL (GNU Free Documentation License) are copyleft.

Why are you looking for copylefted books in particular, though? Isn't libre enough?

bump
you better be reading a programming book right now faggot. there's nothing more satisfying than finishing an excellent book.

starting The Little Schemer now/adding it to the list.

Anyone know of any book that will give me the necessary geometry knowledge to make my own 3D rendering engines? I guess anything before non-Euclidean spaces will do. Preferably something that doesn't assume I am studying a maths degree

Zed Shaw's Python book is great but he basically said he is sabtaging his C book to get people to learn rust and shit like that because he got tiredof people telling him how K&R's C is better.

zedshaw.com/2015/01/04/admitting-defeat-on-kr-in-lcthw/

Zed Shaw's books GO straight to the trash

That entire article is one of the single most retarded things I've ever read.

that's because functional programming tends to follow the logic people think in, making it good for learning

anyone here have this?

Clean Code(?)

Breaking news. But if you got this point, why even programming with objects?

It's not the most technical book but is a comfy an easy read for devs.