编程是计算机科学中一个非常复杂且重要的任务。我们在计算机系统、移动手机或其他地方所享受的,都是程序员通过无尽的努力开发出来的。编程分两种类型:机器水平的和高级编程。大多数程序员都依赖于高级编程。编程就是利用一些预定义的规则和资源,通过重复不断的使用,为社会或客户开发出有创造性的、新颖的、实用的以及美好的东西。你需要做的就是学习需要遵循的语法和规则,然后利用这些以及你的创造性来进行开发。但这并不像听起来这么简单,你需要花费大量的时间来进行学习和实践。

当你学习编程的时候,会有很多的资源可以用来尝试,如在线课程等,而其中最重要最有效的方式就是通过传统的书籍。我们所有的知识都通过书籍来学习。此外,通过书籍来学习编程这样一门精确任务是最好的选择。我们这里整理了一些免费的书籍,其中包括C、C++、JavaScript、JAVA、Perl、Python、Ruby、PHP等等。

线上或者线下商店里有很多程序员、作者编写的书,选择一本正确的书是非常重要的。下面是一些免费的编程书籍列表:

JavaScript

1) JAVASCRIPT – THE RIGHT WAY

programming-book-javascript

2) HUMAN JAVASCRIPT 

3) ELOQUENT JAVASCRIPT: AN OPINIONATED GUIDE TO PROGRAMMING 

4) BUILDING A JAVASCRIPT FRAMEWORK 

5) INTRODUCTION TO JAVASCRIPT 

6) JAVASCRIPT IN 24 HOURS 

7) JAVASCRIPT COOKBOOK

8) ESSENTIAL JAVASCRIPT AND JQUERY DESIGN PATTERNS

9) PPK ON JAVASCRIPT

10) THE PROBLEM WITH NATIVE JAVASCRIPT APIS

11) CORE JAVASCRIPT GUIDE

12) BUILDING ANDROID APPS WITH HTML, CSS, AND JAVASCRIPT

JAVA

13) LEARNING JAVA

programming-book-java

14) QUICKTIME FOR JAVA: A DEVELOPER’S NOTEBOOK

15) EVALUATING JAVA FOR GAME DEVELOPMENT

16) OBJECT ORIENTED PROGRAMMING USING JAVA

17)  PROCESSING XML WITH JAVA

18) JAVA DISTRIBUTED COMPUTING

19) BREWING JAVA: A TUTORIAL 

20) INTRODUCTION TO WEB SERVICES WITH JAVA

21) JAVA ENTERPRISE PERFORMANCE

22)  ADVANCED PROGRAMMING FOR THE JAVA 2 PLATFORM

23) JAVA EE 6 TUTORIAL, VOLUME I

24) THE JAVA VIRTUAL MACHINE SPECIFICATION, 2ND EDITION 

25) JAVA SWING TUTORIAL 

26) FREE JAVA BOOK

27) OBJECT-ORIENTED PROGRAMMING IN JAVA

PERL

28) PROGRAMMING PERL

programming-book-perls

29) BEGINNING PERL

30) USING PERL 6

31) EXTREME PROGRAMMING IN PERL

32) EXPLORING PROGRAMMING LANGUAGE ARCHITECTURE IN PERL

33) PERL FOR BEGINNERS

34) PRACTICAL PERL PROGRAMMING

35) MODERN PERL 

36) LEARNING PERL THE HARD WAY

PHP

37) PHP THE RIGHT WAY

programming-book-phptherightway

38) THE ORACLE PHP COOKBOOK

39) CODE BRIGHT FOR LARAVEL PHP

40) PHP SECURITY GUIDE

41) ADVANCED CAKEPHP TIPS

42) PHP PROGRAMMING

43) PRACTICAL PHP PROGRAMMING

44) PHP PROGRAMMING

45) PRACTICAL PHP TESTING

PYTHON

46) LEARN PYTHON  – THE HARD WAY

programming-book-python

47) THINK PYTHON: AN INTRODUCTION TO SOFTWARE DESIGN

48) PYTHON COOKBOOK

49) PYTHON PROGRAMMING

50) AN INTRODUCTION TO PYTHON

51) HOW TO WRITE YOUR OWN SOFTWARE USING PYTHON

52) DESIGN PATTERNS IN PYTHON

53) A MULTIMEDIA COOKBOOK IN PYTHON

DSA

54) DATA STRUCTURE ALGORITHM

programming-book-dsa

RUBY ON RAILS

55)  RAILS TUTORIAL

programming-book-ruby

56) Ruby Essentials

57) RUBY PROGRAMMING

58) MACRUBY: THE DEFINITIVE GUIDE

59) RUBY USER’S GUIDE

60) LEARN RUBY THE HARD WAY

61)  RUBY ON RAILS SECURITY

62) PROGRAMMING RUBY- PROGRAMMER’S GUIDE

63) THE BOOK OF RUBY

C/C++ BOOKS

64) OPTIMIZING C ++ 

programming-book-c++

65) INDUSTRIAL STRENGTH C++

66) HASKELL TUTORIAL FOR C PROGRAMMERS 

67) DEBUGGING C AND C++ CODE IN A UNIX ENVIRONMENT

68) C++ REFERENCE GUIDE

69) C PROGRAMMING TUTORIAL

70) VISUAL C++ 6 UNLEASHED

71) STRUCTURED PROGRAMMING WITH C++

72) MASTERING C++

73) OPTIMIZING SOFTWARE IN C++

74) BEGINNING C++ THROUGH GAME PROGRAMMING

75) LEARNING TO DRAW BASIC GRAPHICS IN C++

76) THE BOOST C++ LIBRARIES

77) MAKE A COMPUTER OPERATING SYSTEM IN C++

78)  STANDARD C++ LIBRARY REFERENCE

79) C++ GUI PROGRAMMING WITH QT 4

80) PARALLEL PROGRAMMING WITH MICROSOFT VISUAL C++

81) FUNDAMENTALS OF C++ PROGRAMMING

82) C++ PROGRAMMING FOR SCIENTISTS

83) C++ GUI PROGRAMMING WITH QT 3

84) C++COURSE

85) C++ HACKER’S GUIDE

86) A GUIDE FOR C AND C++ PROGRAMMERS

C# BOOKS

87) C# DEVELOPMENT

programming-book-c#

88) C# PROGRAMMING

89) GAME PROGRAMMING

90) THE PASCAL PROGRAMMING LANGUAGE

91) NEW LISP 

92) LEARN PROLOG NOW!

93) ARTIFICIAL INTELLIGENCE THROUGH PROLOG

94) VISUAL BASIC ESSENTIALS

95) COMPUTER GRAPHICS 

96) ADA PROGRAMMING

97) JQUERY FUNDAMENTALS

98) ANDROID COOKBOOK 

99) PROGRAMMING ANDROID

100) MACHINE LANGUAGE FOR BEGINNERS