(Part 29) Best computer programming books according to redditors

Jump to the top 20

We found 8,316 Reddit comments discussing the best computer programming books. We ranked the 1,691 resulting products by number of redditors who mentioned them. Here are the products ranked 561-580. You can also go back to the previous section.

Next page

Subcategories:

Web development programming books
Software development books
API & operating environments books
Algorithms and data structures books
Graphic & multimedia programming books
Programming for beginners books
Software design & engeneering books
Microsoft programming books
Game programming books
Functional software programming books
Apple programming books
Parallel computer programming books

Top Reddit comments about Computer Programming:

u/AsthmaticMechanic · 36 pointsr/AskEngineers

Excel 2003 Power Programming with VBA. Currently $4.94 on Amazon, though you might consider the latest edition. Got this when I was an undergrad, taught myself VBA and became an Excel "power user". Knowing VBA has been infinitely useful in my career and having it on my resume (along with projects and tools I've created with it) landed me my current job even though I wasn't even in the market at the time!

u/rtheone · 9 pointsr/gamedev

It's hard to tell what level you are as a programmer, so I will offer the following two books, for two completely different skill levels. Most introductory game programming books these days are quite dated and aged, but thankfully the general concepts have remained about the same (you just have to turn a blind eye to outdated facts). These older books cover introductory game programming so well that most of the newer books only cover the more abstract concepts (boring stuff like flock AI, geometry shaders, and inverse kinematics).

Note: I am only a year older than you, but I got started at a very, very young age (programming 2D Javascript games at 7). Don't think this stuff is beyond you, you just have to put in the work.

The first book I recommend is Java Programming for the Absolute Beginner, by Joseph Russell. The "-for the Absolute Beginner" series does a fantastic job at explaining basic computer science. I used the various books in the series to learn Javascript, C++, and Java when I was younger. The book starts you off at a very basic level, writing text on the screen, but by the end of the book, you create cool 2D games with a fairly in-depth knowledge regarding object oriented programming, encapsulation, data structures and management, and graphics/sound management. Obviously, the first few chapters you probably already understand, but read it well and start to memorize the terminology. By understanding the language, you can better search for answers later on. Google is an amazing resource.

Between this book and the next book, I recommend learning trigonometry well. Trigonometry is one of the most important sections of mathematics when it comes to introductory game programming (algebra being another). Also learn as much as you can about vectors. Understand (not just skim over) concepts like the dot and cross product. I also highly recommend creating a few of your own projects. Experience is the best learning tool. If you're able to create your own, say, platformer, without using a tutorial to aid you (don't be afraid to look at other people's code as a reference though), then you're ready for the following book.

The next book is titled Developing Games in Java, by David Brackeen. I will start off and tell you that this is not an easy book for a beginner. The book makes a lot of assumptions on your knowledge of programming and will give you very little code to work with. I asked on lots and lots of IRC channels and web forums for help on understanding some of these concepts. Don't be afraid to seek out and ask for help, just be nice and humble as if you are asking for a favor. Give as much information as possible when initially asking for help, even if you think it may be useless.

However, this second book is amazing, once you begin to understand its particular style. By only giving you key ideas and terms, the book forces you to research and self-learn how to code more advanced games. The book starts off with threads, and if you don't have the foggiest idea what they are, I would recommend learning more before tackling the book.

By the end of that book, you make a 3D first person shooter with binary space partitioning, AI states, object management, game scripting, medium-level collision detection, and various other features. From scratch. Yes, you make your own 3D engine. No, it's not OpenGL.

However, if you want to do 3D programming at any point, you should learn the concepts that are discussed within the book (some people will disagree with me here). It explains the significance of the right-hand rule and why polygons need their coordinates in a specific order. It explains scanlines and BSP trees. It explains what a z-buffer is and how to manage AI states. After reading this book, my skill with other 3D libraries and bindings, like OpenGL, JOGL, and LWJGL increased dramatically.

Either way, there's quite a lot of work and learning when it comes to game programming. It's not all fun and games, but in the end, that's exactly what it is.

Edit: This ended up way longer than I thought it would.

u/konukoii · 8 pointsr/gamedev

I would suggest learning the basics with Python, cause it's really straight forward. In just a few days you'll have a program running and you'll likely be more motivated to continue.

Java is another good option, because once you learn Java and get the hang of OOP (Object Oriented Programming), the rest of the programming languages will come naturally (also it is cross-platform so you can make games for Mac, Linux, Windows, internet applets, Android, etc.).

Finally, I found C# (with the XNA Library) to be quite similar to Java so it's also an option. (and you can program for the xbox with it)

My little brother started out with the "[watever language] for the absolute beginner" series. Example: http://www.amazon.com/Programming-Absolute-Beginner-Joseph-Russell/dp/0761535225

Also as Shmag said, check out the O'Reilley books.

Godspeed.

u/ThereKanBOnly1 · 7 pointsr/dotnet

I think you partially need to decide what area you want to focus on. Generally if you're going to delve into more advanced materials they should also be geared towards the in depth aspects of a specific technology, methodology, or problem.

I'll add a +1 for the design patterns suggestion. The Head First book is an option, but here is the book that I've got that is quite good. There's always the gang of 4 book, and although it is the "design patterns bible" its also a bit dry.

I'm also going to suggest Mark Seemann's Dependency Injection book. Although it is about DI and inversion of control containers, he also really focuses on SOLID design that makes DI more effective.

If you don't know what SOLID design principles are, then I'd brush up on that.

Turning specifically to C#, there's Jon Skeet's C# in Depth and also Jeremy Richter's CLR via C#. Both are great books are focused on roughly the same thing, understanding some of the inner workings of of the C# language, but they each approach it in a slightly different way. Although the CLR book came out before, C# in Depth seems to be a bit more highly regarded. I'd take a look at the TOC of each and see which one interests you more.

Outside of that, I'd say make sure that you really understand concepts like generics, reflection, and maybe even dive into understanding some MSIL.

u/LeGiNaCl · 5 pointsr/ECE

C++ in One Hour a Day, Sams Teach Yourself (8th Edition) https://www.amazon.ca/dp/0789757745/ref=cm_sw_r_cp_api_HGq4Bb6ZEMJNV

u/CSMastermind · 4 pointsr/learnprogramming

I'd suggest you should pursue software development as a career path. Once you're working full time as a developer it will be much easier for you to move into a .NET role if you choose.

The career market can be hit or miss. There are plenty of jobs using those technologies but they're less ubiquitous than say Node or Java.

In terms of keeping up your skill, Pluralsight has some amazing content. And I'd recommend these books:

Design Patterns in C# - probably the first book I'd read.

CLR via C# - In-depth, targeted at professional developers, and absolutely crucial for anyone doing it professionally.

Agile Principles, Patterns, and Practices in C# - Will help get ready to work on a professional software development team with a slant towards Cc#.

Pragmatic Unit Testing in C# with NUnit - Also important for working as a professional C# developer.

More Effective C# - Is more of a specialist read. Might be helpful after you've worked for a year or two.

Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries - Is better suited for a technical lead or architect. But could be useful to keep in your back pocket.

u/ggleblanc · 3 pointsr/programming

I guess I'm old, but Gerald Weinberg was a huge influence on my development as a programmer and an analyst.

The Psychology of Computer Programming, written in 1971, is still relevant today, even if the coding examples are ancient.

Becoming a Technical Leader was a huge influence on my personal development.

Finally,the Quality Software Management 4 book series belongs in every manager's and developer's library.

u/akdas · 3 pointsr/programming

> but I just got frustrated to the point of shutting down the computer screaming "cut to the chase!". Not my cup of tea.

I guess you were reading the book to learn Ruby. That's a side effect of reading the book; you read it for the experience.

Even then, you might not enjoy the style, and that's absolutely fine. However, the point is that _why or his work isn't about Ruby. He's just a cool (and insane) guy who shares his passion with the world. Shoes is a Ruby framework, but his goal for the framework has always been to bring back the charm kids from a previous generation found in playing around with BASIC. He's trying to inspire a new generation of kids.

Oh, and if you're trying to learn Ruby (since you said you found the Poignant Guide frustration), the Pickaxe book is a classic. They released the first edition for free online, but there you have it.

u/nikofeyn · 3 pointsr/fsharp

i recommend functional programming using f#. i just picked it up myself and am enjoying it. the programming f# 3.0 book is also pretty good.

there's also programming language concepts. it's an introduction, although it doesn't play around, to exactly what it says, but it uses f# as a meta language to explore the concepts.

u/quasiix · 3 pointsr/PenmanshipPorn

I got mine from Amazon.

They have it in both simplified and traditional.

I recommend getting character practice paper with it.

u/Sai_Rabbit · 2 pointsr/unrealengine

https://www.amazon.com/One-Hour-Sams-Teach-Yourself/dp/0789757745 - Learn C++ in an hour a day

​

also the Udemy courses are surprisingly very helpful. you can pick the classes that you think you would need the most, or just go general with intro to BP/C++/Unreal or whichever

u/phybere · 2 pointsr/csharp

I'd go through their tutorials. I got Monotouch .NET book a while back and hardly touched it. I learned a lot more by digging through their sample code and following their tutorials. I've only worked on the iOS platform and it was helpful to have done some work in Xcode/ObjC before starting it.

Honestly if I had to start doing some Android programming I'd probably rather learn Java and do it with their native tools.


EDIT: If you're more set on a book, this is the Android equivalent of the book I got: http://www.amazon.com/Professional-Android-Programming-Mono-NET/dp/1118026438/ref=pd_sim_b_1?ie=UTF8&refRID=14ABKDQZDNV9GXDZYJKA

Do note though that in the world of Xamarin, 6 months is a lifetime of changes, updates, new API's, new design patterns, etc... A 2 year old book may not be that useful.

u/dukeoflaser · 2 pointsr/Learn_Rails

I'll check when Im not on mobile.

Edit: For Learning Ruby I actually started with this kids book.

I also used Ruby Koans, Ruby Monk (which is now down apparently) and the Pickaxe Book'. I also used this but didn't work all the way through. I mostly went through the bash portions.

As far as associations go, understanding these and trying to manually create them is helpful in getting a solid understanding of how models interact.

For learning SQL, I think SQLite is an easy database to begin learning and experimenting with. I don't know which SQL resources I used but there are plenty out there.

Once you understand associations and SQL you can combine the two topics and create an ORM. This isn't totally necessary, but you end up with a good understanding of what Active Record is doing. I think it's good to be able to look under the hood when things go wrong.

Sinatra is a simple framework that uses Active Record.

After that, something like Rails Tutorial should make a lot of sense. Or possibly The Odin Project.

Hopefully, that will give you something to start with. As a side note, I used the Anki flash cards to help me remember a lot of stuff. Not everyone thinks memorizing that way is useful for programming, but I personally found it to be helpful.

u/[deleted] · 2 pointsr/IWantToLearn

What the best resource is will depend on your learning style and preference. Personally, I've found Reading and Translating Contemporary Russian the best choice. It gives you all the grammar basics without treating you like a dummy and without frills (i.e. no example dialogues at the airport, no long explanation of basic grammar terms etc.). If you don't mind the dry format, you could finish it very quickly and then start reading simple books.

Another book that seems good (I have never read the whole thing, but it gets universally praised by people who did) is The New Penguin Russian Course. Unlike "Reading and Translating" it is padded with the sort of frills I was talking about. Depending on your preference, you may consider this either a help or a useless dilution and a waste of your time. What it has in common with R&T is that it will still give you a solid foundation in the basics of Russian grammar, just in more pages.

Parallel to grammar study, you should also acquire a basic vocabulary (at least 1000 words to navigate beginner books and readers; 5000 words to start tackling native material without going crazy - but you can work on this goal with time). The fastest way to do this, at least at the beginning, is using a spaced repetition software like Anki or Memrise.

Once you have finished your grammar book (be it R&T or The Penguin Course) and learned your first 1000 words you can start reading. Head on to readlang.com, upload a few Russian books that interest you and are not too difficult, and just start reading every day. Looking up a word on readlang means just clicking/touching the word and getting the translation pop up above it. This means that you can easily start enjoying your Russian stories even if you have to look a lot of words up.

Notice that I haven't touched on writing, listening and speaking. I find that it is best to focus on reading until you have got it. At that point it will be very easy to train the other skills (writing: lang-8.com, listening: podcasts and TV, speaking: Italki) but try to do it without having a good foundation of grammar and vocabulary, and it will be much more frustrating.

u/webauteur · 2 pointsr/travel

National Geographic has a travel guide for Rome. Rick Steves' Rome 2012 lacks photos but includes very specific travel tips. Rome (City Guide) would be my favorite for its inspiring photographs.

I've heard that the Italians aren't good at English so you better know more of the language than you would need elsewhere. I plan to learn enough Italian to read it a little. Italian, Basic: Learn to Speak and Understand Italian with Pimsleur Language Programs is good enough for getting the pronunciation right.

u/greg8872 · 2 pointsr/PHP

Also, don't be afraid of the try { ... } catch (PDOException $e) { ... } code, if you are not used to it, it can seem a little intimidating. I avoided PDO for a long time as it was so different (and I knew how to properly use mysql functions correctly), but once they announced getting rid of mysql functions, I forced myself to get used to it, now it is second nature.

Heck, I'm just now forcing myself into switching to do most things in OOP (and I've been programming in PHP for 13 years). This was a great book for me http://www.amazon.com/PHP-Master-Write-Cutting-Edge/dp/0987090879 covers explaining OOP and other topics like PDO

u/x2bool · 2 pointsr/fsharp

Functional Programming Using F#. The book focuses on functional programming, has a nice set of examples and nontrivial programming exercises. Also, if you're into MOOCs you could try this course that teaches ML. I struggled really hard with the course, but I learned a lot, and after ML it was really easy to start with F#.

u/buttman99 · 2 pointsr/PHP

Seconded. That's a good book.

I would also recommend that if you're interested in branching into OOP, you might serve yourself well by not limiting yourself to literature directly related to PHP. Each language has it's own little differences in how it approaches OOP concepts, and if you learn the general concepts of OOP, you'll be more well-positions to adapt to any language. If you learn OOP based on PHP's OOP model, you'll probably find yourself making some false assumptions when you start to dabble in another language.

As such, I'd recommend getting the above mentioned (or a similar) PHP book, but ALSO look into getting/borrowing/"procuring" a copy of Design Patterns.

Also, PHP Architect has a decent book about design patterns specifically for PHP: Guide to PHP Design Patterns.

I do own all three of the above mentioned books.

u/RodionGork · 2 pointsr/learnprogramming

I'm sorry, but which language you prefer? Answer may depend on this and I could not find this at once at your post...

UPD Since it is Java

Well, then probably the best way is to get into programming for Android. It is extremely comfortable platform for developer (by my own opinion) - and you will find nice books (e.g. http://www.amazon.com/Android-Game-Programming-For-Dummies/dp/1118027744 - no idea of this exactly)

And also there was a class at coursera:
https://www.coursera.org/course/android

u/perrymv · 1 pointr/excel

I started with a 'Dummies' book as a primer followed by ...

http://www.amazon.com/Excel-2003-Power-Programming-CD-ROM/dp/0764540726/ref=cm_lmf_tit_1

This book has always been my favorite. Negligible changes between 2003 and 2010.

u/FloatableCat · 1 pointr/learnprogramming

If you just want it for the design patterns this is the book I went for, all examples are in C# and really easy to follow:

http://www.amazon.com/Design-Pattern-Essentials-Tony-Bevis/dp/0956575862/ref=sr_1_1?s=books&ie=UTF8&qid=1426898545&sr=1-1&keywords=c+design+patterns

u/CornfireDublin · 1 pointr/TumblrInAction

Nah this guy. So I guess I should have said "Professional Java Development with the Spring Framework". I guess whether or not it's in "Java Development with the Spring Framework" by Horstmann is still unconfirmed

u/BloodyThorn · 1 pointr/learnprogramming

This one for basic C# and OOP.

Beginning Visual C# 2010

O'Reilly has great reference books.

C# 4.0 in a Nutshell: The Definitive Reference

From there you can learn Mono for Android (and iOS)

Professional Android Programming with Mono for Android and .NET/C#

While learning XNA game development by example,

XNA 4.0 Game Development by Example: Beginner's Guide

And by detail...

Learning XNA 4.0: Game Development for the PC, Xbox 360, and Windows Phone 7

u/mhd · 1 pointr/programming

Just get Professional Java Development with the Spring Framework for the concepts, used copies should be cheap enough. Browse through it to get the general idea, but remember that it's a bit outdated. Which probably won't hurt as much, considering that a lot of Java shops don't tend to be on the cutting edge...

Spring and Hibernate seem required knowledge for Java nowadays, which is better then EJB/Struts, but still quite cumbersome. Generally, I'm not a big friend of dependency injection, either by XML or annotations. Lots of magic, lots of cruft, and still not the "Software IC" panacea. It's mostly done to ease testing -- which is yet another layer of tedious coding. But well, you need your padded armor to be agile...

But to cut a long story short, company's that don't hire you because of some API issues aren't worth it most of the time. For most stuff, you'll have to learn something new anyway, and any decent programmer should be able to acquire the necessary skills fast enough, especially in auxiliary technologies. So if someone insists on instant knowledge, it's rather likely that they're chewing out cookie-cutter applications (CRUD, reports, statistics) so fast that they can't even even allow for moderate training to justify their margins.

u/victorstanciu · 1 pointr/bookexchange

I would offer the following:

u/ChiperSoft · 1 pointr/webdev

PHPMaster will teach everything in that question and then some. I've been using PHP for 11 years and I still learned new stuff from that book.

u/ShillMaster5000 · 1 pointr/conspiracy

http://youtu.be/u57yxd753f8

http://youtu.be/Zm09uRDdzto

http://youtu.be/lpsxiMrgVK4

http://youtu.be/8O9AHzUKYk8

One person? Try looking online a bit, you will find hundreds of videos and descriptions of Hamas using schools, hospitals and civilian buildings as launch sites; along with Hamas telling civilians to ignore Israeli warnings to leave just to increase the body count.

One random video posted by a random user on YouTube is meaningless, for all I know you posted it and then called it out to further your antisemitic agenda.

>Nazi like colonization is simply not justifiable, you're wasting time.

Er... how much do you know about this conflict? If you think it's that simple then I suggest reading a few books on the topic, this and this and this are all good start points.

TestTube did a decent summary of what happened.

Also, why did you randomly go to this topic? We're talking about how Hamas is using human shields and how Al Jazeera, among others, have been clearly caught out in their pro-Hamas propaganda. If you can't back up your points in this argument don't try to change the topic...

u/awfulnamegenerator · 1 pointr/ChineseLanguage

I feel like listening to Pimsleur every day and using 100 First Characters was a great start for me.
The First 100 Chinese Characters: Simplified Character Edition: (HSK Level 1) The Quick and Easy Way to Learn the Basic Chinese Characters https://www.amazon.com/dp/0804849927/ref=cm_sw_r_cp_api_i_srUgDb0E1TGXA

u/kingkayvee · 1 pointr/languagelearning

This book is designed to be a reading course. However, I think you might be better served by a travel phrasebook.

u/Yogurt8 · 0 pointsr/QualityAssurance

Most "schools" that offer QA programs or courses are usually a waste of money. This is due to the fact that there are not many regulations or standards that exist for education in this field. They can teach some extremely outdated syllabus and get away with it because their students and admins do not know any better (look at all the useless certifications out there). Testing is an extremely nuanced and complicated art, it's one of those things that is very easy to get started and do badly, and most people cannot tell the difference. This is an area where I'd like to make a difference later in my career. For now though, if you want to get into testing, I would suggest you to both learn the automation side (even though you didn't pass your java course, you are still probably technically savvy enough to learn the basics and go from there) and the theoretical testing concepts.

You get a lot of devs that do not have a testing mindset or testers without enough technical skills / coding experience. If you can do both really well then you will be looked at like a unicorn and can make a good living (depending on your country/area).

The easiest way to get into automation is learning through a tool like Postman (back end testing) or Selenium. There's tons of Udemy courses and youtube content for these.

Check out Valentin Despa's content for PM, and John Sonmez or Naveem's stuff for selenium.

For testing concepts such as analysis, risk, quality criteria, communication, test design and techniques I would suggest reading the following books:

https://www.amazon.ca/Explore-Increase-Confidence-Exploratory-Testing/dp/1937785025

https://www.amazon.ca/Lessons-Learned-Software-Testing-Context-Driven/dp/0471081124

https://www.amazon.ca/Perfect-Software-Other-Illusions-Testing/dp/0932633692

and consider taking Rapid Software Testing classes from michael bolton or james bach, they get pretty theoretical but are based upon practical work that you will be asked to perform.

These videos can also give you a pretty good sense of the testing role:

https://www.youtube.com/watch?v=ILkT_HV9DVU&t=19s

https://www.youtube.com/watch?v=3FTwaojNkXw&t=2048s

u/evrlstingbogstopper · -1 pointsr/Israel

I would suggest taking all of this is more than a grain of salt. Read more than what these die-hard defenders of Israel will tell you, because they will link you to very simplistic overviews that leave out a considerable amount of information needed to draw an informed conclusion.

There are numerous books that provide a fairly measured look at the history, but finding anything close to an unbiased link from this sub is unthinkable. Now that I have said that, I will look biased as I offer some links, so take these with a grain of salt as well.


Avi Shlaim's has numerous books on the subjects discussed here.
Gregory Harms has a great 'intro' book. [The Palestine-Israel Conflict] (http://www.amazon.com/The-Palestine-Israel-Conflict-Introduction-Edition/dp/0745332137/ref=sr_1_1?ie=UTF8&qid=1381278085&sr=8-1&keywords=gregory+Harms)

John Quigley's [The Case for Palestine] (http://www.amazon.com/The-Case-Palestine-International-Perspective/dp/0822335395/ref=sr_1_1?ie=UTF8&qid=1381278333&sr=8-1&keywords=The+Case+for+Palestine)

If you have access to a journal database link JSTOR, look for authors like Avi Shlaim, Ella Shohat, Yehouda Shenhav, Tom Segev, Benny Morris, Joseph Massad, Aziza Khazzoum, Walid Khalidi, and Michelle Campos.

I know that's a lot suggestions without answers, but there aren't simple answers. If you want to have a discussion, I'd be glad to offer specifics based on my own academic research- but it's difficult to have an honest debate in this sub.

u/Grays42 · -1 pointsr/funny

Pragmatic Unit Testing in C# with NUnit.

Andrew Hunt and Dave Thomas are some of my favorite authors, and while I've never read this particular book, I know they'll do the subject justice. They wrote the original Pragmatic Programmer, which you should also buy and read if you've never picked it up. It's an easy read, and it really makes you think about your code.