

Ask Yc: What is a Good Book to Read Before Learning a Programming Language? - mannylee1

I have dabbled in server side Programming Languages here and there, but I would now like to thoroughly learn a new language.  Before I do that,what would be a good book to read?
======
mechanical_fish
You need to tell us which language you want to learn. Otherwise it's like
saying "I want to learn sports" -- amateur curling and professional football
are very different sports. Windows programmers, Mac/iPhone programmers,
server-side programmers, Javascript programmers, enterprise Java programmers,
and Linux kernel hackers need to focus on different things.

In the absence of details, all we can recommend is basic mental conditioning
for programmers. A standard piece of advice is "SICP". Another is "K&R". Eric
Raymond's essay on "How to Become a Hacker" is a little dated and a _little_
opinionated, but worth reading. "Learn emacs" (or, to be fair to vi and
Textmate, "learn a decent text editor") is a piece of advice that I'm glad I
followed.

You cannot go wrong by learning the basics of databases and web application
architecture. The architecture of web apps is more important than the choice
of server-side language. If it weren't so dated I'd recommend _Philip and
Alex's Guide to Web Publishing_. For a more up-to-date version of that, you
might try the required texts for this MIT course:
<http://philip.greenspun.com/teaching/one-term-web>

~~~
mannylee1
I would like to learn Erlang, but am looking for a general Computer
Science/Programming book. A book that will explain some of the fundamentals
behind computer programming no matter what the language.

------
petervidani
It's essential that you complete Isaac Asimov's I, Robot for a thorough
understanding of how badly things can get out of control.

~~~
SwellJoe
I think maybe you've just seen the movie, and been misled into thinking you
know what Asimov's robot stories were about. _I, Robot_ the book, has no bad
consequences (likewise almost all of the other Robot novels...excepting the
bit with the mind-reading robot and the 0th law leading to interesting results
for planet earth...but it was _still_ all for the good of mankind). The robots
were all basically the good guys.

~~~
petervidani
oh yeah I forgot about the part where there was absolutely no conflict in any
of the novels

~~~
SwellJoe
I'm not sure I understand how the existence of conflict has anything to do
with my statement. You said, "how badly things can get out of control", and my
recollection of the robot novels (and _I, Robot_ , in particular) pretty much
universally includes a few _humans_ getting out of control and robots helping
other humans put things right again. I don't see how your comment (either of
them, actually) makes sense in that context.

------
davidw
Neil Stephenson's Cryptonomicon.

~~~
bdfh42
A great book for a good read - thoroughly recommended on principal but I think
this specific request calls for something a bit more fundamental to the task
of acquiring that programming language.

~~~
davidw
Well, if the 'specific request' had been in any way shape or form 'specific',
maybe. It wasn't, so I recommended something that's a great hacker book in any
case:-)

------
dpapathanasiou
Try " _The Practice of Programming_ " by Kernighan & Pike (you can download it
here: [http://truly-
free.org/e/n/Kernighan,%20B.W.%20&%20Pike,%...](http://truly-
free.org/e/n/Kernighan,%20B.W.%20&%20Pike,%20Rob%20-%20The%20Practice%20of%20Programming.zip)).

------
parenthesis
Read <http://norvig.com/21-days.html> .

------
bdfh42
spend $12 at Amazon on a copy of Charles Petzold's book, Code: The Hidden
Language of Computer Hardware and Software.

It will all begin to make sense as you will have a thorough understanding of
what is going on at the lowest level. You will never regret acquiring that
knowledge.

------
eries
Design Patterns

