#163 in Computers & technology books
Use arrows to jump to the previous/next product
Reddit mentions of Beautiful Code: Leading Programmers Explain How They Think (Theory In Practice (O'reilly))
Sentiment score: 14
Reddit mentions: 24
We found 24 Reddit mentions of Beautiful Code: Leading Programmers Explain How They Think (Theory In Practice (O'reilly)). Here are the top ones.
Buying options
View on Amazon.comor
- O Reilly Media
Features:
Specs:
Height | 9.19 Inches |
Length | 7 Inches |
Number of items | 1 |
Release date | July 2007 |
Weight | 2.25 Pounds |
Width | 1.41 Inches |
Thank you all for your responses! I have compiled a list of books mentioned by at least three different people below. Since some books have abbreviations (SICP) or colloquial names (Dragon Book), not to mention the occasional omission of a starting "a" or "the" this was done by hand and as a result it may contain errors.
edit: This list is now books mentioned by at least three people (was two) and contains posts up to icepack's.
edit: Updated with links to Amazon.com. These are not affiliate - Amazon was picked because they provide the most uniform way to compare books.
edit: Updated up to redline6561
Aesthetics are almost never emphasized in university courses, but it's really important in practice. If you can write beautiful (i.e. readable/understandable, concise, efficient) code, you'll have a big leg up folks who bang out spaghetti code and pray it works.
Take a look at this book for famous 'beautiful' codes:
http://www.amazon.com/gp/aw/d/0596510047
If you're more interested in large scale software systems, dive into a widely used open source package and read the source. MySQL, Python, Hadoop, Rails, the complete Linux OS and many more are available for your autodidactic pleasure.
There's Beautiful Code
If you're going through decent books, then you shouldn't worry too much since most will cover what you need. Now, "school educated" programmers ... now they have knowledge gaps. Real world programming has taught me 99% of what I know.
That said, algorithms and data structures are a good foundation. Then programming patterns. Then read Beautiful Code.
Concurrency may be something to read up on too. Books teach this as well as professors do, but something that's overlooked by many people.
I have just the book for you.
There's a pretty good list at:
http://www.codinghorror.com/blog/2004/02/recommended-reading-for-developers.html
Personally, I'd recommend the following:
First of all, this is an excellent post. I've seen so many questions posted here but yours is the most concise and upfront. I know exactly what your background is and so I'm more confident that what I want to suggest would actually be relevant.
You have solid industry experience with academic foundation. And I think you already are aware of the pitfalls of expert beginner (http://www.daedtech.com/how-developers-stop-learning-rise-of-the-expert-beginner/). I think you are in a sweet spot where you can afford to invest resources without immediate gain - unlike early-career coders, you don't have to necessarily learn another language/framework right this second. You can afford to deepen your higher-level understanding of concerns and concepts that are timeless and not bound by the language/framework of the day.
I'd like to suggest you read other people's code/design. Here are some books to get you started.
Another thing you can invest in is everyday skills as a programmer. This is a classic on this subject.
You can couple ideas and tricks from here with any devops tools of the day to automate much of your workflow, such as bash/git/unix concepts onto automation tools such as docker/jenkins/ansible. Additionally, familiarizing/customizing your personal development environment. Improving scripting skills to automate many many things (practically everything that we do on computers that doesn't involve creative process are automatable. It's just a matter of ROI.).
http://www.amazon.com/Beautiful-Code-Leading-Programmers-Practice/dp/0596510047/
http://norvig.com/sudoku.html
http://www-cs-staff.stanford.edu/~uno/programs.html
In Chapter 1 of Beautiful Code, "A Regular Expression Matcher," by Brian Kernighan (an early draft of which appears on Princeton's site), he writes "[Regular expression] first appeared in a program setting in Ken Thompson’s version of the QED text editor in the mid-1960s. In 1967, Thompson applied for a patent on a mechanism for rapid text matching based on regular expressions. The patent was granted in 1971, one of the very first software patents [U.S. Patent 3,568,156, Text Matching Algorithm, March 2, 1971]." That patent is viewable online here.
It's not proof that this is the first program that actually had it, but it's a good pile of evidence. I would like to hear of any examples prior to QED (which some sources leave out, claiming ed as the first to have them). I went on a hunt for previous examples once (before giving a class on regular expressions for my company; I didn't want to make unfounded claims), but could find nothing earlier.
My bookmarks (I'll organize them latter):
SI.com - SI Writers - Rick Reilly - SI's Rick Reilly: No Ordinary Joe - Wednesday July 02, 2003 09:52 AM
Applet Tutorial: Backbuffers
New Mens Wardrobe - Upgrade Mens Wardrobe for $1,000 - Esquire
Westside Village Apartments
t9yRP.jpg (708×4986)
Amazon.com: Beautiful Code: Leading Programmers Explain How They Think (Theory in Practice (O'Reilly)) (9780596510046): Andy Oram, Greg Wilson: Books
The Beta Family - iPhone, iPad, and Android app beta testing
Age of Empires II: Forgotten Empires
I wanted to know more about cuts off beef. I found this helpful chart that i thought I'd share. : Cooking
Amazon.com: KeyKatcher 64K PS/2 Hardware Keylogger: Camera & Photo
Introduction and Launch | Lessons | Getting Started with Django
So i found KickAss mall cop in Atlanta. Told him about reddit and he agreed to say hi to reddit. : JusticePorn
Contact GitHub
The software development final exam
Here's a list of 32 free online programming/CS courses (MOOCs) with feedback(i.e. exams/homeworks/assignments) that you can start this month (Feb 2013). : learnprogramming
☂ Docutu.be
8 lbs Technical Grade Sodium Hydroxide Lye Beads - 4 x 2lb Bottles
Places to Visit in the USA | USA Travel Guide | Rough Guides
Wikivoyage
National Scenic Byway - Wikipedia, the free encyclopedia
I'm traveling from New York to Los Angeles. What's my best route? : travel
Global Online Enrollment System (GOES)-Official U.S. Government Web Site to apply for Global Entry, FLUX, NEXUS, SENTRI, FAST
Are you a boy or a Man? Your 20 point checklist | Attraction Institute
Big-O Algorithm Complexity Cheat Sheet
Motsu's tutorials.: SSH and you #2 - doing it right.
Imagine Cup - Overview
Dodgy Coder: "Yoda Conditions", "Pokémon Exception Handling" and other programming classics
[New App] AirDroid Lets Your Desktop Control Your Android Phone Over WiFi Using A Simple, Gorgeous Interface
howod.jpg (640×7600)
JOURNEY OF MANKIND - The Peopling of the World
resources - What is the single most influential book every programmer should read? - Stack Overflow
Hacker School
30 books everyone in software business should read (and why) – Micro-ISV Insights at Dextronet.com
Google advisor
thenewboston's Channel - YouTube
Personal | Pat Tillman Foundation
www.brewersassociation.org/attachments/0000/7526/2012_BA_Beer_Styles_Final.pdf
IXL Learning - Jobs
Essential JavaScript Design Patterns For Beginners
Amazon.com: World Map Vinyl Shower Curtain: Home & Kitchen
imgur (2771×1959)
Let's Build a Compiler
Bret Victor, beast of burden
WebGL 101 - YouTube
Design and Analysis of Algorithms I
Crockford on JavaScript: A Public Lecture Series at Yahoo!
BuzzMath - Create My Free Class
My favourite interview question
Archives | BetterExplained
pokemondrinking.png (2216×2216)
SteveSpanglerScience's Channel - YouTube
RedditCigarReviews's Channel - YouTube
Apply to Code for America: Spring Deadline 3/18! | Code for America
EDU - YouTube
If Everyone Knew | Now with five more facts that everyone should know.
NOT FOR TOURISTS
Matching engineers with companies | Whitetruffle
Free Online Courses - Earn Real College Credit You Can Transfer | Education Portal Academy
No Excuse List
Online Courses from World's Experts | Udemy
Software training online-tutorials for Adobe, Microsoft, Apple & more
2tor, Inc.
ShowMe - The Online Learning Community
The Internet Blueprint | Developing bills to build a better internet
30 Exceptional CSS Navigation Techniques
100+ Resources for Web Developers | BlogWell
MegaTypers | INDEX
Mayhem
Khan (Khan Academy)
Intern Activities 2012 - Google Docs
Program Arcade Games and Learn Computer Science
Reddit, lets compile a list of the best online learning centers. We could all use a little education. : reddit.com
www.brewersassociation.org/attachments/0000/2095/Beer_and_Food_Flyer_MDC.pdf
Nothing To Envy: Ordinary Lives in North Korea by Barabara Demick
Real estate artist B.S. Detection checklist
Welcome to CMPSC 097A
Ents For Scott Olsen [it's the right thing to do] : trees
Git Immersion - Brought to you by New Context
The Science of The Chocolate Chip Cookie
Ancient Aliens Debunked - (full movie) (fixed audio) - YouTube
Power Rangers: From Mighty Morphin to Lost Galaxy - Time Life
Java 2D Game Engine Development - YouTube
xKntP.png (553×2052)
20 Ways To Be More Interesting | TrippAdvice
The Unreasonable Ineffectiveness of Mathematics Education
27 Ways to Learn to Program Online
www.twoevils.org/html/mtg/turn.pdf
ACM Learning Center Courses
Learnable Programming
How a Google Headhunter's E-Mail Unraveled a Massive Net Security Hole | Threat Level | Wired.com
ImNotJesus comments on I m a nutritionist. I often over hear people talk about nutrition like they are an expert, but they couldn't be farther from the truth. Reddit, what are some things in your profession that the lay person gets wrong?
Cooking Korean food with Maangchi: Korean cooking, recipes, videos, and blog
Aeri's Kitchen
CodingBat
The Hitchhiker’s Guide to Python! — The Hitchhiker's Guide to Python
Learning Modern 3D Graphics Programming
Lazy Foo' Productions
Physics engines for dummies | Paul's blog@Wildbunny
Reddit,what is your favourite porn video? : AskReddit
Reddit, what is an awesome, little-known website that you want other people to visit? : AskReddit
Reddit, what's your favourite free game/software that you think everybody should know about? : AskReddit
How to Write your own Minesweeper AI « Lucky's Notes
Official Weekly Challenge List : 52weeksofcooking
Food Wishes Video Recipes
Hacking: The Art of Exploitation is really inexpensive on Amazon in hard copy. Beautiful Code is also on par with the ebook on their site. I'm not entirely sure how the program works, but someone further down mentioned being able to register a hard copy that was purchased and get the ebook for $5. Probably worth looking into!
readscheme is a good place to start, it hasa a bunch of good links to papers on issues related to macros: http://library.readscheme.org/page3.html
(It also has lots of other material, but you asked about macros specifically, so that's the link I've posted.)
If you can buy one book, buy Lisp In Small Pieces. It's generally excellent, and has good coverage of macro implementation strategies.
http://www.amazon.com/Lisp-Small-Pieces-Christian-Queinnec/dp/0521545668/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1196347235&sr=8-1
Another good resource is the discussion of an implementation of syntax-case that's in "Beautiful Code": http://www.amazon.com/Beautiful-Code-Leading-Programmers-Practice/dp/0596510047/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1196346388&sr=8-1
The book (Beautiful Code)[http://www.amazon.com/Beautiful-Code-Leading-Programmers-Practice/dp/0596510047] has a great chapter (18) on Python dictionaries, how they work and how they fit into the language. Definitely worth the read.
The best way to learn to write great code is to read great code.
Check out Beautiful Code for a book on the subject.
Or, pick some of the most popular open-source projects on github and read through their code. Find some small utility functions and see how they implement them.
Or, post some of your own examples here on /r/learnprogramming or on stackoverflow and ask for tips on how to make your code cleaner.
As usual beautiful code is late.
More Power to Cut-And-Paste!
http://www.amazon.com/Beautiful-Code-Leading-Programmers-Explain/dp/0596510047
If you're looking for something to just read for fun, try *Beautiful Code.
"More focused" is the key point for me. I have a different opinion what that means, that's all.
See here for the following quote:
> The following subjects would be off-limits: Technology, devices, software, operating systems;
For me, operating systems are relevant to coding: they define the framework that I must navigate in order to get my code to do what it is supposed to. But I can find my OS-related programming content elsewhere, I don't need to have it present in /r/coding. But I would rather exclude too much than allow too much in - noise is distracting, and simplicity stimulates focus. If people really miss something, it will find its way in.
Regardless, I can recognize a losing battle - the idea of code reviews seems to have many supporters and few opponents, so it will happen anyway if someone wants to risk and endure not-so-constructive criticism, puns and potential fame on TheDailyWTF.
I think the whole idea will be short-lived. The comment threads will provide some helpful remarks (e.g. read Code Complete, Beautiful Books, or other books, learn about various algorithms and their computational complexity to figure out better approaches, etc.). The comments will become redundant after a while, and then people will realize that they are doing somebody's homework, and that learning good style is largely a self-study, and can't be passed on in a couple of sentences. And we'll have a new rule for "no newbie code reviews here".
But I've been proven wrong by Reddit many times before, so I won't bet on my version of events. So, who's gonna be the first one to submit code for a review?
As mentioned by this paper, “Beautiful Concurrency (PDF)”, Simon Peyton Jones' chapter in Beautiful Code is well worth the read.
I thought it was one of the best chapters in the book.
Beautiful Code is a great read with lots of interesting perspectives:
https://www.amazon.com/Beautiful-Code-Leading-Programmers-Practice/dp/0596510047
I believe there is always another best code waiting for you. But till yet I find the Jon Bentley's version of Quicksort in Beautiful Code pretty awesome. He describes it as "The most beautiful code I never wrote"
https://www.amazon.com/Beautiful-Code-Leading-Programmers-Practice/dp/0596510047/ref=sr_1_1
A couple of places you may want to look. I am sure others will have many more to look at:
http://martinfowler.com/books/
http://www.amazon.com/Beautiful-Code-Leading-Programmers-Practice/dp/0596510047
This reminds of the chapter on quicksort in Beautiful Code.