Header Ads Widget

Ticker

6/recent/ticker-posts

The 5 Programming Books You Need - To Teach Yourself Programming - and Become A Hacker

The Five Programming books you need to:
Teach Yourself programming and
Become a Hacker.

After buying like 50 programming books. (Ive actually have half-read like only half of them). This is the list of best five books to learn programming.

This article consists of three parts:
Intro
Essence
Outro


The Intro: Where it all comes from.

Peter Norvig in his article Teach Yourself Programming in Ten Years: http://norvig.com/21-days.html Talks about three programming languages you can choose to get started with: Python, Scheme (a dialect of Lisp) and JavaScript. And ofcourse he also kinda says that C++ is totally not the right thing. Actually exactly the opposite. 
p.s. The Unix-Haters Handbook can tell you all about it: http://esr.ibiblio.org/?p=538 in the Chapter 10 – C++: The COBOL of the 90s 

Then there is Eric Raymond who writes another interesting article talking about How to become a Hakcer. In the Learn to Program part, as the first step: http://www.catb.org/esr/faqs/hacker-howto.html#skills1 he talks about Python, Lisp, Java, C and Perl. (In the order of relevance/increasing difficulity).
p.s. Paul Graham can tell you all about Lisp in his chapter Beating the Averages from the book Hackers and Painters: http://paulgraham.com/avg.html
Also Eric does talk about JavaScript (click JavaScript on that page) http://catb.org/~esr/writings/taoup/html/minilanguageschapter.html in his book The Art of Unix Programming. Calling it not really a programming language but still spending some time to talk about it. Also he is still yet uncertain on Java compared on what he writes in his article (click Java): http://catb.org/~esr/writings/taoup/html/languageschapter.html  

Then there is also a video of Larry Wall (where he summarises the above mentioned stuff), creator of Perl, most professional language ever. (You first have to learn C and only then you can learn Perl. And C should be the last of the 5 languages to learn. Because it most professional of them all (Except for Perl) and Unix is written in it/them). After reading Paul Graham you would think universe is made in Lisp. But no its actually hacked together wiht Perl. http://www.explainxkcd.com/wiki/index.php/224:_Lisp
So Larry Wall speaks here in the video about JS/Java/C/Haskell/and Perl (/Python/Ruby). I would rearrange the order a little bit.
I am actually almost 100% agree with how wonderfull Larry Wall describes the languages he picks. And which languages he picks. Except for Haskell. (And maybe also even Perl, because its not beginner/even intermediate friendly). [You ofcourse do not have to stay amateur. So there is still hope].


The Essence: The 5 Programmig books that are wonderfull to start with. The 3 after studying which will make you an intermediate programmer. And the other 2 that will bring you closer to the hacker.

1) Eloquent Javascript.
Because this is the easiest/accesible/popular multi-paradigm language of them all. And this is a good book for a beginner. Douglas Crockford can explain to you that this is not so much the JS that is bad. How much the Java as a first language is bad.. http://www.crockford.com/javascript/javascript.html

    The essential elements of programming, including syntax, control, and data
    How to organize and clarify your code with object-oriented and functional programming techniques
    How to script the browser and make basic web applications
    How to use the DOM effectively to interact with browsers
    How to harness Node.js to build servers and utilities
p.s. this is also nice resource for JS:
https://www.youtube.com/playlist?list=PL0zVEGEvSaeEd9hlmCXrk5yUyqUag-n84

2) Land Of Lisp. This is just an amazing book on an amazing language.

    Master the quirks of Lisp's syntax and semantics
    Write concise and elegant functional programs
    Use macros, create domain-specific languages, and learn other advanced Lisp techniques
    Create your own web server, and use it to play browser-based games
    Put your Lisp skills to the test by writing brain-melting games like Dice of Doom and Orc Battle

3) Python Crash Course: A Hands-On, Project-Based Introduction to Programming
    • Use powerful Python libraries and tools, including matplotlib, NumPy, and Pygal
    • Make 2D games that respond to keypresses and mouse clicks, and that grow more difficult as the game progresses
    • Work with data to generate interactive visualizations
    • Create and customize simple web apps and deploy them safely online
    • Deal with mistakes and errors so you can solve your own programming problems

4) Learning Perl: Making Easy Things Easy and Hard Things Possible

  • Perl data and variable types
  • Subroutines
  • File operations
  • Regular expressions
  • String manipulation (including Unicode)
  • Lists and sorting
  • Process management
  • Smart matching
  • Use of third party modules

https://books.google.be/books?id=uFc4DQAAQBAJ&printsec=frontcover&dq=learning+perl&hl=en&sa=X&redir_esc=y#v=onepage&q=learning%20perl&f=false


5) Practical Object-Oriented Design in Ruby: An Agile Primer

This guide will help you
  • Understand how object-oriented programming can help you craft Ruby code that is easier to maintain and upgrade
  • Decide what belongs in a single Ruby class
  • Avoid entangling objects that should be kept separate
  • Define flexible interfaces among objects
  • Reduce programming overhead costs with duck typing
  • Successfully apply inheritance
  • Build objects via composition
  • Design cost-effective tests
  • Solve common problems associated with poorly designed Ruby code

    Outro:

    I wanted to write something here, but for the moment i forgot what it was. The other day thinking more about it ill remember what and will add that here. :D

    edit:
    You see, i think i know what i wanted to write here. Because nothing else comes to mind.
    At first i wanted to post (or even posted at first) these 5 books in this order: JS/Lisp/Python/Java/C. Because Lisp and Land of Lisp are just so awesome. Really :D
    But then when i was actually looking for links to the books. I discovered that like the Eloquent JavaScript, Learn Python the Hard way also has an online version of the book. Which i thought was cool. Because maybe not everyone is buying lots of books. :)
    And then when i was looking further into the Learn Python the Hard way i discovered how practical and cool it is. I decided that Lisp must move to the third place.
    edit2:
    added Peter Siebels book and AWK.
    edit3:
    Switch Zed Shaws to John Zele
    edit4:
    back to shaw
    and poodr and gia instead of other stuffs

    Yorum Gönder

    0 Yorumlar