Re:Papers and essays that every programmer should be aware of
by uuilly on Saturday June 29, 2013 @08:13PM
(#5964192)
These 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.
Re:Papers and essays that every programmer should be aware of
by ___Dev___ on Sunday June 30, 2013 @06:06AM
(#5965277)
+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.
Re:Papers and essays that every programmer should be aware of
by gambogi on Sunday June 30, 2013 @08:16AM
(#5965508)
I 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.
Re:Papers and essays that every programmer should be aware of
by lolcraft on Saturday June 29, 2013 @06:08PM
(#5963864)
> 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.
Re:Papers and essays that every programmer should be aware of
by Someone on Saturday June 29, 2013 @04:49PM
(#5963690)
Hands up: who had heard of "docking" in the sense of 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.
Re:Papers and essays that every programmer should be aware of
by tonyarkles on Sunday June 30, 2013 @06:58PM
(#5967632)
Yeah, 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. :)
Re:Papers and essays that every programmer should be aware of
by nraynaud on Saturday June 29, 2013 @07:37PM
(#5964101)
I 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).
Re:Papers and essays that every programmer should be aware of
by bdg on Saturday June 29, 2013 @07:59PM
(#5964160)
I 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".
Re:Papers and essays that every programmer should be aware of
by dragonwriter on Saturday June 29, 2013 @10:00PM
(#5964410)
Scheme 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.
Re:Papers and essays that every programmer should be aware of
by nraynaud on Saturday June 29, 2013 @10:32PM
(#5964480)
I think it's a bit naïve, because transcendental number have no exact finite representation in any integral base.
Having arbitrary precision helps only in some cases.
Re:Papers and essays that every programmer should be aware of
by dragonwriter on Saturday June 29, 2013 @11:05PM
(#5964533)
Having arbitrary precision helps in all the cases where you start with something given as an exact decimal, and perform only operations which produce exact decimal outputs from exact decimal inputs, which isn't a particularly small set of use cases. Scheme's approach of using exact representations unless either an inexact one is explicitly requested or an operation is used which produces a result which has no exact representation is correct in the broadest number of cases at the expense if requiring a tiny bit of extra effort to exchange accuracy for efficiency where that is desired.
This is, IMO, clearly the best approach for a general purpose language, and far superior to the large number of languages which lack even a convenient syntax for exact decimal literals.
Re:Papers and essays that every programmer should be aware of
by thetwiceler on Sunday June 30, 2013 @09:15AM
(#5965660)
I totally agree. Unless we decide to leave the field of rational numbers (with exponents, trigonometrics or nth roots), there's little reason not to keep the exact rational number around.
Fortunately Haskell does this too with Data.Ratio!
Re:Papers and essays that every programmer should be aware of
by nraynaud on Saturday June 29, 2013 @08:08PM
(#5964185)
frankly 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).
Re:Papers and essays that every programmer should be aware of
by themodelplumber on Saturday June 29, 2013 @02:32PM
(#5963328)
Great 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...
Re:Papers and essays that every programmer should be aware of
by hga on Saturday June 29, 2013 @02:51PM
(#5963391)
Heh. 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?"
Re:Papers and essays that every programmer should be aware of
by sbarre on Saturday June 29, 2013 @01:17PM
(#5963058)
The 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.
Re:Papers and essays that every programmer should be aware of
by t1m on Sunday June 30, 2013 @10:04AM
(#5965807)
Am 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).
Re:Papers and essays that every programmer should be aware of
by paganel on Saturday June 29, 2013 @06:22PM
(#5963911)
There 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".
Re:Papers and essays that every programmer should be aware of
by ISL on Saturday June 29, 2013 @08:09PM
(#5964186)
I 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!
Re:Papers and essays that every programmer should be aware of
by LeonidasXIV on Sunday June 30, 2013 @10:42AM
(#5965938)
Yes, 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.
Re:Papers and essays that every programmer should be aware of
by vidarh on Sunday June 30, 2013 @07:37AM
(#5965423)
I remember 3 tar incantations (to created a compressed archive, list, or uncompress one) that I treat pretty much as unchangeable commands. Probably should just alias them. Everything else I'll look up..
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.
[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-favo...
[2]: http://stackoverflow.com/questions/1711/what-is-the-single-m...
[3]: http://cstheory.stackexchange.com/questions/189/algorithms-f...
https://en.wikipedia.org/wiki/List_of_lists_of_lists
... Gödelgasm.
https://en.wikipedia.org/wiki/Russell's_paradox
this also, re fogus' blog
https://news.ycombinator.com/item?id=2979458
http://blog.fogus.me/2011/09/08/10-technical-papers-every-pr...
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".
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.
This is, IMO, clearly the best approach for a general purpose language, and far superior to the large number of languages which lack even a convenient syntax for exact decimal literals.
Fortunately Haskell does this too with Data.Ratio!
Get off my lawn! Back in my day, us cool cats called it Sanfran.
A good collection overall..
http://projectmona.com/bits-of-brilliance-session-one/
http://projectmona.com/bits-of-brilliance-session-two/
http://projectmona.com/bits-of-brilliance-session-three/
http://projectmona.com/bits-of-brilliance-session-four/
https://www.hnsearch.com/search#request/all&q=papers+every+p...
http://library.readscheme.org/page1.html
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.