编程书籍推荐

编程是计算机科学中一个非常复杂且重要的任务。我们在计算机系统、移动手机或其他地方所享受的,都是程序员通过无尽的努力开发出来的。编程分两种类型:机器水平的和高级编程。大多数程序员都依赖于高级编程。编程就是利用一些预定义的规则和资源,通过重复不断的使用,为社会或客户开发出有创造性的、新颖的、实用的以及美好的东西。你需要做的就是学习需要遵循的语法和规则,然后利用这些以及你的创造性来进行开发。但这并不像听起来这么简单,你需要花费大量的时间来进行学习和实践。 当你学习编程的时候,会有很多的资源可以用来尝试,如在线课程等,而其中最重要最有效的方式就是通过传统的书籍。我们所有的知识都通过书籍来学习。此外,通过书籍来学习编程这样一门精确任务是最好的选择。我们这里整理了一些免费的书籍,其中包括C、C++、JavaScript、JAVA、Perl、Python、Ruby、PHP等等。 线上或者线下商店里有很多程序员、作者编写的书,选择一本正确的书是非常重要的。下面是一些免费的编程书籍列表: ## JavaScript 1. [JAVASCRIPT - THE RIGHT WAY](http://jstherightway.org/) 2. [HUMAN JAVASCRIPT](http://read.humanjavascript.com/) 3. [ELOQUENT JAVASCRIPT: AN OPINIONATED GUIDE TO PROGRAMMING](http://eloquentjavascript.net/) 4. [BUILDING A JAVASCRIPT FRAMEWORK](http://dailyjs.com/2010/12/02/framework-review/) 5. [JAVASCRIPT COOKBOOK](https://pepa.holla.cz/wp-content/uploads/2016/08/JavaScript-Cookbook-2nd-Edition.pdf) 6. [ESSENTIAL JAVASCRIPT AND JQUERY DESIGN PATTERNS](http://addyosmani.com/blog/essentialjsdesignpatterns/) 7. [PPK ON JAVASCRIPT](http://www.quirksmode.org/js/contents.html) 8. [THE PROBLEM WITH NATIVE JAVASCRIPT APIS](https://github.com/ontiyonke/book-1/blob/master/%5BJAVASCRIPT%5D%5BThe%20Problem%20with%20Native%20JavaScript%20APIs%5D.pdf) 9. [CORE JAVASCRIPT GUIDE](http://www.jsdb.org/jsguide/index.html) 10. [BUILDING ANDROID APPS WITH HTML, CSS, AND JAVASCRIPT](https://www.amazon.com/Building-Android-Apps-HTML-JavaScript-ebook/dp/B006YTE2U0) ## Java 1. [Head First Book]() 2. [QUICKTIME FOR JAVA: A DEVELOPER’S NOTEBOOK]() 3. [EVALUATING JAVA FOR GAME DEVELOPMENT](http://java.coe.psu.ac.th/FreeOnline/Evaluating%20Java%20for%20Game%20Development.pdf) 4. [OBJECT ORIENTED PROGRAMMING USING JAVA](https://sunsreynat.files.wordpress.com/2014/06/object-oriented-programming-using-java.pdf) 5. [PROCESSING XML WITH JAVA](http://www.cafeconleche.org/books/xmljava/) 6. [JAVA DISTRIBUTED COMPUTING](http://www.cs.ait.ac.th/~on/O/oreilly/java-ent/dist/index.htm) 7. [BREWING JAVA: A TUTORIAL](http://www.cafeaulait.org/javatutorial.html) 8. [INTRODUCTION TO WEB SERVICES WITH JAVA](https://hle2ng0za0mn8ya.files.wordpress.com/2014/09/introduction-to-web-services-with-java.pdf) 9. [JAVA ENTERPRISE PERFORMANCE](https://www.dynatrace.com/resources/ebooks/javabook/performance-and-scalability/) 10. [ADVANCED PROGRAMMING FOR THE JAVA](https://enos.itcollege.ee/~jpoial/allalaadimised/reading/Advanced-java.pdf) 11. [THE JAVA VIRTUAL MACHINE SPECIFICATION](https://docs.oracle.com/javase/specs/) 12. [JAVA SWING TUTORIAL](http://zetcode.com/tutorials/javaswingtutorial/) ## Perl 1. [BEGINNING PERL](http://www.perl.org/books/beginning-perl/) 2. [USING PERL 6](https://github.com/perl6/book/downloads) 3. [EXTREME PROGRAMMING IN PERL](https://www.extremeperl.org/f/extremeperl.pdf) 4. [EXPLORING PROGRAMMING LANGUAGE ARCHITECTURE IN PERL](http://billhails.net/Book/) 5. [PRACTICAL PERL PROGRAMMING](http://users.cs.cf.ac.uk/Dave.Marshall/PERL/) 6. [MODERN PERL](http://modernperlbooks.com/) 7. [EARNING PERL THE HARD WAY](http://www.greenteapress.com/perl/) ## PHP 1. [PHP THE RIGHT WAY](http://www.phptherightway.com/) 2. [THE ORACLE PHP COOKBOOK](https://freecomputerbooks.com/The-Oracle-PHP-Cookbook.html) 3. [CODE BRIGHT FOR LARAVEL PHP](CODE BRIGHT FOR LARAVEL PHP) 4. [PHP SECURITY GUIDE](https://github.com/dambergautam/php-security-guide) 5. [ADVANCED CAKEPHP TIPS](http://www.wric.mu.ac.in/news-letter.php?action=download&news_letter_id=1) 6. [PHP PROGRAMMING](https://upload.wikimedia.org/wikipedia/commons/7/73/PHP_Programming.pdf) 7. [PRACTICAL PHP TESTING](https://github.com/giorgiosironi/Practical-Php-Testing/blob/master/practical-php-testing.pdf) ## Python 1. [LEARN PYTHON THE HARD WAY](http://learnpythonthehardway.org/book/) 2. [THINK PYTHON: AN INTRODUCTION TO SOFTWARE DESIGN](http://www.greenteapress.com/thinkpython/thinkpython.html) 3. [PYTHON COOKBOOK](http://barbra-coco.dyndns.org/yuri/Python/python-cookbook-2nd-edition.pdf) 4. [PYTHON PROGRAMMING](http://en.wikibooks.org/wiki/Python_Programming) 5. [Introduction to Python 3](https://realpython.com/python-introduction/) 6. [HOW TO WRITE YOUR OWN SOFTWARE USING PYTHON](http://www.itmaybeahack.com/homepage/books/nonprogrammer.html) 7. [DESIGN PATTERNS IN PYTHON](https://refactoring.guru/design-patterns/python) 8. [A MULTIMEDIA COOKBOOK IN PYTHON](http://coweb.cc.gatech.edu/mediaComp-plan/) 9. [DSA](https://www.programiz.com/dsa) 10. [DATA STRUCTURE ALGORITHM]() ## Ruby 1. [RAILS TUTORIAL](https://www.railstutorial.org/book) 2. [Ruby Essentials](https://www.techotopia.com/index.php/Ruby_Essentials) 3. [RUBY PROGRAMMING](http://en.wikibooks.org/wiki/Ruby_Programming) 4. [MACRUBY: THE DEFINITIVE GUIDE](http://www.macruby.org/) 5. [RUBY USER’S GUIDE](https://rubybooks.github.io/) 6. [LEARN RUBY THE HARD WAY](http://ruby.learncodethehardway.org/) 7. [RUBY ON RAILS SECURITY](https://rorsecurity.info/the-book) 8. [The Little Book Of Ruby](http://www.sapphiresteel.com/ruby-programming/The-Little-Book-Of-Ruby.html) 9. [PROGRAMMING RUBY- PROGRAMMER’S GUIDE](http://www.ruby-doc.org/docs/ProgrammingRuby/) 10. [THE BOOK OF RUBY](https://www.sapphiresteel.com/ruby-programming/The-Book-Of-Ruby.html) ## C/C++ 1. [INDUSTRIAL STRENGTH C++](https://freecomputerbooks.com/Cpp-In-Action-Industrial-Strength-Programming-Techniques.html) 2. [HASKELL TUTORIAL FOR C PROGRAMMERS](http://www.haskell.org/haskellwiki/Haskell_Tutorial_for_C_Programmers) 3. [DEBUGGING C AND C++ CODE IN A UNIX ENVIRONMENT](http://www.socsci.ru.nl/idak/publications/debug/debug.pdf) 4. [C++ REFERENCE GUIDE](https://www.cplusplus.com/reference/) 5. [C PROGRAMMING TUTORIA](http://markburgess.org/CTutorial/CTutorial.html) 6. [STRUCTURED PROGRAMMING WITH C++](https://tfetimes.com/wp-content/uploads/2015/04/structured-programming-with-c-plus-plus.pdf) 7. [MASTERING C++](https://github.com/PacktPublishing/Mastering-Cpp-Programming) 8. [OPTIMIZING SOFTWARE IN C++](http://www.agner.org/) 9. [BEGINNING C++ THROUGH GAME PROGRAMMING](https://freecomputerbooks.com/Beginning-Cpp-Through-Game-Programming.html) 10. [LEARNING TO DRAW BASIC GRAPHICS IN C++](https://www.e-booksdirectory.com/details.php?ebook=4776) 11. [THE BOOST C++ LIBRARIE](https://theboostcpplibraries.com/) 12. [MAKE A COMPUTER OPERATING SYSTEM IN C++](https://github.com/SamyPesse/How-to-Make-a-Computer-Operating-System) 13. [STANDARD C++ LIBRARY REFERENCE](https://www.mica.edu.vn/perso/Vu-Hai/EE3490/Ref/The%20C++Standard%20Library%20-%202nd%20Edition.pdf) 14. [PARALLEL PROGRAMMING WITH MICROSOFT VISUAL C++](https://docs.microsoft.com/en-us/previous-versions/msp-n-p/gg675934(v=pandp.10)?redirectedfrom=MSDN) 15. [C++ PROGRAMMING FOR SCIENTISTS](https://math.nist.gov/~RPozo/c++class/) 16. [A GUIDE FOR C AND C++ PROGRAMMERS](https://www.adahome.com/Ammo/cpp2ada.html) ## C# 1. [C# PROGRAMMING](http://en.wikibooks.org/wiki/C_Sharp_Programming) 2. [GAME PROGRAMMING](https://www.programming-book.com/beginning-c-sharp-game-programming/) 3. [The C# Yellow Book](https://www.robmiles.com/c-yellow-book/) 4. [More Effective C#](http://sd.blackball.lv/DownloadFile.ashx?file=17342) 5. [Concurrency in C# Cookbook](https://www.yumpu.com/en/document/read/63280335/downloadpdf-concurrency-in-c-cookbook-asynchronous-parallel-and-multithreaded-programming-online-book) 6. [Hands-On Network Programming with C# and .NET Core](https://github.com/PacktPublishing/Hands-On-Network-Programming-with-CSharp-and-.NET-Core)