9 ms·
Articles Every Programmer Should Read
- lmedinas 12y agoThis article "How to write shared libraries"[1] also from Ulrich Drepper should be added to the list. At least for C/C++ Programmers. 1 - http://www.akkadia.org/drepper/dsohowto.pdf http://www.akkadia.org/drepper/dsohowto.pdf
- EdwardCoffin 12y agoLink broken. Should be http://www.akkadia.org/drepper/dsohowto.pdf http://www.akkadia.org/drepper/dsohowto.pdf
- lmedinas 12y agoDone! thanks
- facorreia 12y agoGood list. I would add "Falsehoods Programmers Believe About Names"[1]. [1] http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-b...
- yread 12y agohttp://wiesmann.codiferes.net/wordpress/?p=15187&lang=en http://wiesmann.codiferes.net/wordpress/?p=15187&lang=en Falsehoods programmers believe about geography http://www.mjt.me.uk/posts/falsehoods-programmers-believe-about-addresses/ http://www.mjt.me.uk/posts/falsehoods-programmers-believe-ab... Falsehoods programmers believe about addresses http://www.cscyphers.com/blog/2012/06/28/falsehoods-programmers-believe-about-gender/ http://www.cscyphers.com/blog/2012/06/28/falsehoods-programm... Falsehoods programmers believe about gender http://erratasec.blogspot.com/2012/06/falsehoods-programmers-believe-about.html#.UaeWSGSG1qI http://erratasec.blogspot.com/2012/06/falsehoods-programmers... Falsehoods programmers believe about networks http://pozorvlak.livejournal.com/174763.html http://pozorvlak.livejournal.com/174763.html Falsehoods programmers believe about build systems http://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time http://infiniteundo.com/post/25326999628/falsehoods-programm... Falsehoods programmers believe about time http://butgrace.com/2012/06/19/more-falsehoods-programmers-believe-about-time/ http://butgrace.com/2012/06/19/more-falsehoods-programmers-b... More falsehoods programmers believe about time
- bdevine 12y agoI feel like I have read most of these in a piecemeal fashion, but seeing all these articles together like this really drives home the importance of paying attention to the basics. Great collection; thanks for sharing!
- infogulch 12y agoSo many lists. And so many good additions by people in the comments. There should be a github repo and site that lists everything so additions can be managed.
- andyroid 12y agoAll of these are great resources. Just as "Falsehoods programmers believe about names" they are howevere not resources every programmer needs to read (though they may of course benefit from it). And honestly, a lot of "falsehoods" are really just nitpicking. I mean yes, you may once in your lifetime encounter a user with a real name longer than 2048 characters (or wherever you've set your limit) but really, if those are your biggest problems you're in a really good position :)
- shadowfox 12y agoIt is usually the simpler issues that bite you when internationalizing. The separation of first and last names don't always work outside the anglosphere (and sometimes even within it). Some users have 5/6 part names etc etc.
- davidgerard 12y agoYep, that was the one I thought was conspicuously missing.
- bitlord_219 12y ago"What every programmer should know about SEO" Yeah, no.
- asolove 12y agoWhy not? While there are lots of terrible SEO consultants and stupid recommendations, knowing how SEO actually works and the way it rewards good, up-to-date content, is incredibly valuable. And knowing how things really work is the best way to defeat the crummy suggestions and gimmicks that a misinformed marketer might suggest.
- deleted 12y ago[deleted]
- ffreire 12y agoI'm just assuming here, but I think the parent commenter was referring to the fact that not every programmer needs to know SEO, since there are several disciplines that don't depend on search engine results.
- CanSpice 12y agoWhen the article title includes the words "every programmer", that's a really large set of programmers. I don't think a programmer working on embedded systems needs to know about SEO, nor do kernel hackers, nor do scientific programmers...
- Swizec 12y agoUntil they want their sexy opensource library to be used by more than one person.
- k00pa 12y agoMake good enough library, keep the source valid and the persons will come. I have never done any special SEO tricks and yet all my content is fairly high on the results. SEO in general is quite useless in my opinion. Make the content good enough so that people want to visit the site! Don't trick people to come there.
- patrickmay 12y agoThe list is heavily weighted to implementation details. I'd include a few essays like "The Rise of Worse is Better" (http://dreamsongs.com/RiseOfWorseIsBetter.html http://dreamsongs.com/RiseOfWorseIsBetter.html) to encourage programmers to take a step back and think about design and architecture more often.
- mwnz 12y ago+1 to this.
- arethuza 12y agoMaybe also the wonderful "Big Ball of Mud" essay: http://www.laputan.org/mud/mud.html http://www.laputan.org/mud/mud.html
- dsugarman 12y agoI have to mess with the html to read the article because of the background..
- OWaz 12y agoOn Chrome I use the Stylebot plugin because there are many sites that make it difficult to read their content.
- Alupis 12y agoI would argue that every programmer should be at least exposed to some assembly, so you can understand (and appreciate) a little more about how the computer actually does what it does. A great (free!) ebook pdf is "Programming From The Ground Up" on the GNU site: http://download.savannah.gnu.org/releases/pgubook/ http://download.savannah.gnu.org/releases/pgubook/
- platz 12y agoHOWTO: Be more productive http://www.aaronsw.com/weblog/productivity http://www.aaronsw.com/weblog/productivity On Being A Senior Engineer http://www.kitchensoap.com/2012/10/25/on-being-a-senior-engineer/ http://www.kitchensoap.com/2012/10/25/on-being-a-senior-engi...
- mwnz 12y ago10 Articles every web programmer should read. Personally, SEO has zero bearing on my work. Java is only relevant to a subset of developers.
- nicholassmith 12y agoI'd argue that the ones on memory, floating point arithmetic and games programming networking have little relevance for most web developers.
- Joeri 12y agoFloating point arithmetic is the only arithmetic if you're a web developer.
- mschuster91 12y agoAny website dealing with any form of sales/money WILL have to deal with FP arithmetic problems sooner or later!
- sergiosgc 12y agoSorry, no. If you are doing your accounting in floating point, you are setting yourself up for really strange non-balancing balance sheets. You can do everything in fixed point. Remember that fixed point does not mean the point is at the rightmost position. It means it is in a fixed position.
- virmundi 12y agoOr do all of your math in cents. Then you've only got to worry about FP at the displayed end.
- mschuster91 12y agoOf course, yes. But the naive people will start using FP math - so they have to be warned as early as possible. I'm doing all my math in fixed point (eurocent), but that has its drawbacks too if you deal with VAT and have to hit a specific total price given only a VAT rate and a net price... or if you're dealing with gas pumps and that x.xx9 cheating. Or scales, where the law requires more precision...
- kawliga 12y agoSEO ??? hahahahaaha
- laxatives 12y agoCan anyone provide some good reads on the replaying leap second concept? Has anyone ever taken advantage of this? How do projects that rely on subsecond accuracy and syncronization resolve the issue? edit: for anyone interested, there has never been a negative leap second (it's always been something like 23:59:59, 23:59:60, 00:00:00). see http://en.wikipedia.org/wiki/Network_Time_Protocol#Security_concerns http://en.wikipedia.org/wiki/Network_Time_Protocol#Security_... edit2: however, there are negative leap seconds in UNIX time. I wonder if there's a vulernability here? see http://en.wikipedia.org/wiki/Unix_time#Leap_seconds http://en.wikipedia.org/wiki/Unix_time#Leap_seconds
- curiousDog 12y agoThere should also be an article about how every programmer should write without too many grammatical errors. Some of the emails I used to receive were borderline incomprehensible and I'd have to go battle it out in person.
- ufo 12y agoGOTO Considered Harmful http://www.u.arizona.edu/~rubinson/copyright_violations/Go_To_Considered_Harmful.html http://www.u.arizona.edu/~rubinson/copyright_violations/Go_T... If you actually read the letter you can see that it also applies to modern programming and not just to "goto". Its truly a timeless article that everyone should read (and its really short!)
- mncolinlee 12y agoOne might argue that this classic article equally applies to callbacks. You could read it as a manifesto for solutions to callback hell which do not mess up your program's state, such as reactive programming. http://www.reactivemanifesto.org/ http://www.reactivemanifesto.org/
- deleted 12y ago[deleted]
- sliverstorm 12y agoTo really make something of the knowledge of memory & latency, an 11th article to get you thinking about how your program interacts with the cache: http://research.scee.net/files/presentations/gcapaustralia09/Pitfalls_of_Object_Oriented_Programming_GCAP_09.pdf http://research.scee.net/files/presentations/gcapaustralia09...
- platz 12y agoFor every article you tell me I must read, I'll be happy to demand you read 10 articles of my choosing in return.
- krazydad 12y agoKen Thompson's Turing Award Lecture: "Reflections on Trusting Trust" http://cm.bell-labs.com/who/ken/trust.html http://cm.bell-labs.com/who/ken/trust.html
- auvi 12y agoThis is part of the reading list of Stanford's CS PhD qualification. http://seclab.stanford.edu/SecurityQual.html http://seclab.stanford.edu/SecurityQual.html
- mabbo 12y ago"Numbers every programmer should know"- Probably the most interesting part of that article is the slider. As you move it up and down, you can see how all the different things get faster over time. ... Except for the final one, "Packet Roundtrip". Networks have reached a physical limit of the universe, the speed of light. http://www.eecs.berkeley.edu/~rcs/research/interactive_latency.html http://www.eecs.berkeley.edu/~rcs/research/interactive_laten...
- tinco 12y agoThere is no law that says that information can not travel faster than light is there? The law is just a out mass/energy. On top of that I believe faster than light transfer of information has already been experimentally shown to exist.
- pdonis 12y ago> There is no law that says that information can not travel faster than light is there? Yes, there is. Information has to be carried by some form of mass/energy, so if mass/energy can't travel faster than light, neither can information. > I believe faster than light transfer of information has already been experimentally shown to exist. No, it hasn't. If you're thinking of the CERN neutrino experiments a couple of years ago, that turned out to be an equipment error.
- mschuster91 12y agoHmmm... shouldn't two linked quantum particles change their state in sync, no matter the distance?
- ggchappell 12y agoPerhaps we can back up a bit. The first reading I used to assign to my students back when I was teaching lower-level classes (I'm a C.S. prof.) is "On Following Rules" by Kirit Saelensminde.[1] It's a quick, easy read. It makes a point that is important and not hard to understand, but that is often missed. And it provides a framework for dealing with the concepts you get from all those other articles you're supposed to read. [1] http://www.kirit.com/On%20following%20rules http://www.kirit.com/On%20following%20rules
- zorbo 12y agoI'd like to add a rule 3: Don't impose or evangelize rules you don't fully understand.
- ggchappell 12y agoGood idea. Another way to think about it is that if someone doesn't understand a rule, then they are subject to the rule. If they do understand it, then the rule is subject to them. Kirit is saying that, in the latter case (and only in that case) they get to decide whether to follow it. One reason your idea works is that, in the first case, they don't get to assume that others are also subject to the rule.