[翻译]首先我应该学习哪一种编程语言?

jopen 9年前

原文地址:Which Programming Language Should I Learn First?

你想要学习编程.也许你已经问过你开发的朋友关于推荐哪种语言,而且也获得了不同的回答.但他们说出一些你不懂的术语(什么是面向对象?!).为了 帮助你选择一个编程语言来学习,这里给你提供一个易于理解的信息图,凭借你的目的和兴趣,有助于你做出最好的选择.一些详细资料,包括学习的难度,语言受 欢迎程度和平均收入,每一种编程语言都会涉及.

我也为每一种编程语言编译了一个列表,最佳编程工具和资源,为了帮助你赶快行动.

特别感谢Prithviraj Udaya授权我是用他在Quora上的的指环王类比

注意:一个优秀的程序员应该至少了解一些编程语言来学习用不同方式来解决问题.为了技术不落后,他们持续学习和成长.这仅仅是你的编程之旅的开始,简单的选择一个然后马上开始编码.

大多数优秀的程序员编程不是因为他们想要获得丰厚的薪酬或者更多的荣誉,他们仅仅觉得编程有趣.
- Linus Torvalds (Linux之父)

来源于: CarlCheo.Com

点击上面的信息图查看完整大小.
获取PDF版本

信息图详解和问题与解答:点击这里跳转或者滚动到文章底部查看.

最佳编程工具和资源

初学者:IDE代表集成开发工具.它是帮助开发人员写代码的工具,一般由代码编辑器,编译器和调试器组成.

下面是最佳课程,教学,数据等等.涉及每一种编程语言.可以随意建议任何的新资源来保持以下列表更新.
(译者注:(1)原文使用标签页,markdown格式暂不支持,所以在此用目录代替索引如果想要看原文格式,请查看原文 (2)各语言推荐书籍中,尚无中文版本,皆保持原文显示.)


目录:

Python
Java
C/C++
JavaScript
C#
Ruby
PHP
Objective-C
For Kids
有用的资源
问题与解答

Python

官方网站:https://www.python.org/

课程

免费交互式指南

书籍

Web开发

如果你打算使用Python创建网站,尝试Flask,一个对初学者十分友好的PythonWeb框架

Java

官方网站: http://www.oracle.com/technetwork/java/javase/overview/index.html

课程

教程(免费)

书籍

如果你想要创建Android应用:

C/C++

关于C/C++

关于 C

关于C++

JavaScript

Courses (Free)

教程 (免费)

书籍

对于前端开发人员, 必须学习HTML & CSS. jQuery也是重要的.

对于服务器端开发人员, 学习 Node.js:

C#

官方网站:http://msdn.microsoft.com/en-US/vstudio/hh341490

课程

教程

书籍

Ruby

注意: 以下资源主要针对Ruby on Rails框架.

官方网站:http://rubyonrails.org/

Courses

教程

书籍

PHP

官方网站: http://php.net/

课程

书籍

学习完基础知识之后,你或许会考虑使用框架:

  • CodeIgniter – 非常适合初学者,容易,适用于小型项目
  • Laravel – 最好的和最流行的PHP开发框架

Objective-C

官方网站: https://developer.apple.com/

课程

教程(免费)

书籍

面向儿童

更多有用的资源

信息图详解和问题与解答

1. 为什么到处都是Python ?你是一个Python的粉丝吗?

当有多个方案在一个场景中的时候,我决定使用Python作为首选语言,因为它被广泛认为是最好的编程语言初学者。下面是一些证据:

有成千上万的辩论,认为其他编程语言是更好的,但我认为我们应该坚持大多数人的意见.

2. Favourite Toys Analogy

  • 乐高 (Python) 和 玩泥巴 (Ruby): 下面是原始的玩具引用类比–

我对大多数初学者推荐Python,但没关系。无论你是偏好Ruby或Python程序员,取决于你的个性。如果你年轻的时候最喜欢乐高玩具,选择Python。如果是粘土,使用Ruby.

3. 自动和手动汽车的类比

C比Java给你更多的控制。使用Java,你不必担心换挡(比如Java的内存管理),但使用C,你可以开车(执行代码)更快更有效。

4.我认为非死book使用PHP吗?谷歌是使用Python ?

两家公司都使用多个编码语言,像Java和c++。在这种情况下,我们应该遵循规则# 1中的规定。底线是,你绝对需要学习不止一个编程语言在大多数公司找到一份工作。

5. 程序员通常面临的挑战是什么?

  1. 数小时盯着你所谓的工作代码.
  2. 有时你觉得自己愚蠢.
  3. 你认为花费了许多的开发时间.
  4. 被委派来修复一切事情,而且不得不和电脑一起工作.

你同意上面的流程图吗?在下面评论中让我们知道.

来自:https://github.com/jptiancai/jptiancai.github.com/issues/13