8 ms·
Papers and essays that every programmer should be aware of
- sbarre 13y agoThe functional programming one is great. As a self-taught programmer who has mostly learned on the job, I've struggled with understanding functional programming (since I've never had the opportunity to use it for work), and that helped me along quite a bit. A good collection overall..
- tel 13y agoI find it funny that there's a paper on constructive type theory and a CSS3 cheat sheet on the same list.
- Someone 13y agoHands up: who had heard of "docking" in the sense of http://x86.cs.duke.edu/~brd/Teaching/Bio/asmb/current/Papers/Lit4Docking/ppDockingHalperin.pdf http://x86.cs.duke.edu/~brd/Teaching/Bio/asmb/current/Papers...? For me, that didn't even come from the same ballpark. And that is after I accepted that CSS cheat sheets and type theory were in the same ballpark.
- EvaK_de 13y agoI did, but I studied bioinformatics... ;-)
- tonyarkles 13y agoYeah, that confused the crap out of me. I opened the paper and started reading the abstract, and was still confused. Took a lot of flipping through it to realize that it has something to do with molecular bonds and protein folding, maybe. :)
- nandemo 13y agoWe functional programmers have to pay the bills somehow, you know.
- SkyMarshal 13y agoSeveral such lists have been submitted over the years, worth checking them all: https://www.hnsearch.com/search#request/all&q=papers+every+programmer+should+read https://www.hnsearch.com/search#request/all&q=papers+every+p...
- rubiquity 13y agoSeems quite heavily weighted towards Web development but a good list either way. Thanks for sharing.
- themodelplumber 13y agoGreat resource, thanks. But oh man, typography, character sets, CSS3...you are going to have a lot of frustrated developers scrolling through this. :) Not many have a good handle on all three of those AND functional programming, and you know lots of people measure themselves against these lists...
- hga 13y agoHeh. But while it's silly to put too much into measuring yourself against arbitrary lists, reasonably good ones like this should at minimum be a guide to "Here be dragons". As in areas that are messy and/or otherwise complicated enough that you should make note so that you'll know to study them if needed in the future. Mixing metaphors while still staying reptilian, so that you don't one day ask yourself "Why have I found myself in an alligator infested swamp?"
- maurits 13y agoThis pops up from time to time on stackoverflow as well: [1]: Favourite programming related academic papers [2]: Influential books every programmer should read [3]: Favourite (or most brilliant) Algorithms [1]: http://stackoverflow.com/questions/358033/what-are-your-favorite-programming-related-academic-papers http://stackoverflow.com/questions/358033/what-are-your-favo... [2]: http://stackoverflow.com/questions/1711/what-is-the-single-most-influential-book-every-programmer-should-read http://stackoverflow.com/questions/1711/what-is-the-single-m... [3]: http://cstheory.stackexchange.com/questions/189/algorithms-from-the-book http://cstheory.stackexchange.com/questions/189/algorithms-f...
- gtani 13y agoVery accurate title. About 40 links, some you really should read, and some you maybe be aware of... this also, re fogus' blog https://news.ycombinator.com/item?id=2979458 https://news.ycombinator.com/item?id=2979458 http://blog.fogus.me/2011/09/08/10-technical-papers-every-programmer-should-read-at-least-twice/ http://blog.fogus.me/2011/09/08/10-technical-papers-every-pr...
- jakejake 13y agoSomebody should post a "list of the top 10 lists that every programmer should read" which is a listing of article listings.
- foobarbazqux 13y agoI hope you are not joking! Lists are serious business on the internet! https://en.wikipedia.org/wiki/List_of_lists_of_lists https://en.wikipedia.org/wiki/List_of_lists_of_lists
- lolcraft 13y ago> Note that this list is itself a list of lists, and thus in theory satisfies the normal criterion for inclusion here; however, it has not been included, since the purpose of the article is to serve as a directory to other lists of lists. ... Gödelgasm. https://en.wikipedia.org/wiki/Russell's_paradox https://en.wikipedia.org/wiki/Russell's_paradox
- noiseapple 13y agoGreat resource!
- gruseom 13y agohttp://www.cis.upenn.edu/~bcpierce/courses/670Fall04/GreatWorksInPL.shtml http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/GreatWo... http://library.readscheme.org/page1.html http://library.readscheme.org/page1.html
- anon_d 13y agoI don't understand the XKCD. What's the joke?
- paganel 13y agoThere are people (myself included) who cannot remember how exactly to use tar, the Unix command. For me it always goes like this: "Is it 'tar -fzhf... ' or 'tar -vgsf...'? Ok, I'll google it again, just this one time, promise".
- tedks 13y agoDoesn't 'tar xf' work for practically everything? I just checked and it works for lzma, bz2, and gz.
- ISL 13y agoI don't think it used to? I remember needing to explicitly state tar -xjf for bz2 stuff. I do it now reflexively. If it's handled correctly by -xf, that's awesome!
- tjr 13y agoRemember, a tar file need not be compressed. `tar xf' will certainly work fine on `foo.tar'.
- LeonidasXIV 13y agoYes, it does, but only GNU tar. I was using NetBSD when I stumbled over the fact that it couldn't 'tar xvf' my foo.tar.gz. OTOH, I always have to look up unzip, because I fear that there is some option that I forgot. Well, most of the time I use a GUI for Zip, since they often decompress all over the folder unlike tars which are mostly contained in one single folder.
- Radix_ 13y agoDon't you mean 'man tar'? The most common usage is right in the intro. I don't use it much but always have to do the same...
- cpdean 13y agoI will click on any article titled "<publications, tricks, advice> that <people in the software industry> should <grok, read, consume>"
- marcelocamanho 13y agoCome on, no Pragmatic programmer? Well, it is a book, and it might contain a lot of "obvious" stuff. But I really recommend it.
- nraynaud 13y agoI don't know why "what every computer scientist should know about floating-point arithmetic" is not in here. Ruby or the last framework are just fads, but IEEE754 is here to stay and nobody know how to use it (and I never remember the details myself, I'm always struggling).
- bdg 13y agoI like to tell IEEE754 as an improvised story, because it's so rich in history as far as data types go. They were first introduced in 1941 on the German made Z3 compuer. Whic means, yup, we can blame nazis for 0.1+0.2 == 0.30000000000000004 In all seriousness, more programmers need to understand this. I've seen more than a few beginners go rant about how awesome their language X is when contrast against language Y because language Y has bugs like 0.1+0.2 ... then they're blown away when the see their language too has the same "bug".
- nraynaud 13y agofrankly I don't really understand it. I mean we do real geeky numerical computations only once in a while for a week, and then we spend a few months on CSS IE compatibility. I never remember what kind of computations break my numbers in what ways and how I know if I can safely use == or not in my case (and if I can't, how big the epsilon should be).
- mynegation 13y agoOh, with == it is pretty simple: do not _ever_ use it on floating point data.
- nraynaud 13y agogo read the paper.
- dragonwriter 13y agoScheme programmers don't have that problem, because Scheme is one of the few languages that does math in a sane manner. The whole inexact-by-default behavior of most languages with literals expressed as decimals is somewhat nutty. For all the flexibility provided by Scheme's structure (shared with other lisps), the thing I wish more languages would borrow from scheme is the numerical tower, which doesn't need Lispish syntax or any of the other features of Scheme that most people object to.
- nawitus 13y agoEvery programmer should know Ruby and CSS3? What?
- uuilly 13y agoThese are the most presumptive headlines. Programmer encapsulates many disciplines just as a writer encapsulates those who write comics, novels, plays, ads, articles, law and speeches. Stop assuming everyone is a web developer. And don't deign to tell programmers what they should know.
- ___Dev___ 13y ago+1. Expected a serious list, instead I saw stupid Ruby/JS/HTML garbage. And no, I do not need to know "100 Vim Commands" - because Visual Studio is "100" times better. Here is the real list: 1) know one modern web tech; 2) know one OOP language; 3) know one functional language; 4) be familiar with one dynamic language; 5) remember where to look up theoretic bits like algorithms.
- gambogi 13y agoI disagree on 5). You should probably be at a bare minimum familiar with different types of data structures and how they work. Knowing where to look up "theoretic bits" isn't actually useful. As a programmer, you should know when a dictionary might sace you time, just as one scratch of the surface example.
- deleted 13y ago[deleted]
- gambogi 13y agoI disagree on 5). You should probably be at a bare minimum familiar with different types of data structures and how they work. Knowing where to look up "theoretic bits" isn't actually useful. As a programmer, you should know when a dictionary might sace you time, just as one scratch of the surface example.
- inopinatus 13y agoNeeds http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-b... to be complete.
- beggi 13y agoBoy oh boy, I'll never be able to read everything that I want to. Ticking off one thing and 10 more are added.
- joshvm 13y agoObviously you can change the URL to get parts 1-4.. http://projectmona.com/bits-of-brilliance-session-one/ http://projectmona.com/bits-of-brilliance-session-one/ http://projectmona.com/bits-of-brilliance-session-two/ http://projectmona.com/bits-of-brilliance-session-two/ http://projectmona.com/bits-of-brilliance-session-three/ http://projectmona.com/bits-of-brilliance-session-three/ http://projectmona.com/bits-of-brilliance-session-four/ http://projectmona.com/bits-of-brilliance-session-four/
- zmmmmm 13y agoAn awful lot of Ruby ... does every programmer really need to know Ruby? I seem to be getting by.
- mynameisme 13y agoOr Vim commands? That has nothing to do with programming.
- t1m 13y agoAm I the only one who had to google the "docking problem"? I've been programming for over 30 years, and not once have I had to model the quaternary structure of complexes formed by two or more interacting biological macromolecules (http://en.wikipedia.org/wiki/Macromolecular_docking http://en.wikipedia.org/wiki/Macromolecular_docking).