如何根据你想要的生活选择第一门编程语言

简介:

程序员的生活轻松。工作机会众多,而且薪资也不错。

即使你不想从事程序员这个职业,学点编程仍然是没错的。尤其是对于那些网页设计、数字营销、企业和IT行业的工作岗位来说。

但是你应该学习哪门语言呢?

Udacity网站制作了一张很棒的信息图(见下文),有助于你选择。但是我还想讲得更深入一点。

在它们那张信息图的基础上,我会根据你的愿望,分门别类地给出我的建议。比如,我会针对于旅行爱好者、设计师、IT人员或者其他职业的人员给出建议。

过去一年中,我面试了很多人,面试的岗位也不一样。我经常和其他也在招聘的技术公司交流,对比各自的笔记。这使得我比较了解技术的长远发展方向(跟大家透露一下,我在IBM工作)。

怎么做到在任何地方能找到工作?

你热爱旅行吗?如果是的话,你应该选择像Python这样的网络开发语言,在C语言上投入的时间要少一点。

推荐一些帮助学习的云平台:要去高水平的网站,比如HerokuBlueMixAzure。如果了解亚马逊的AWS也不错,但是与其他选择相比,学习曲线比较陡。作为初学者,你应该关注的是编程概念,而不是如何配置。

你可以在Stack Overflow CareersAngel.co两个网站上找到远程工作机会。

如何打造出色的硬件

如果你计划打造实实在在的东西,推荐给你两个很棒的原型开发用板:树莓派和Arduino。可以看这篇二者的对比文章详细了解。

在我看来,树莓派是一个更好的选择,因为Python语言比C语言更容易学。但是如果你想要打造硬件,最终你是不得不学习C语言(和C++)。

但是,如果是做个人“物联网”项目的话,有时候购买一台便宜、碎屏的iPhone或Android手机会更简单些。

通过IBM的BlueMix IoT演示项目,不需要编程,你就可以立即追踪智能手机的3D位置和震动情况。之后,你可以修改用于演示的Python代码,做些自己认为酷的事情。(比如说,把iPhone藏在你前任的床垫下面,看看能不能找出些规律。)

BlueMix IoT2 演示

BlueMix IoT2 演示

我是一名程序员,如何提高薪资水平?

除了学习一门新语言外,还有一个策略就是学习、掌握更多的利基企业系统。例如,你可以学习像Hadoop和Spark这样的大数据系统。(网上有很多免费学习这些技术的地方,比如IBM的大数据大学Edx.org

如果我选择的职业不是编程呢?

对于IT和网页设计,我有如下建议。但是其他行业呢?有一些编程知识会不会有帮助?首先,如果你不知道sumif()是 什么,那你应该花点时间学习一门Excel课程。Excel表格比大家想象的要强大的多。大多数程序员在进行编码之前,都会尝试使用Excel进行计算 (如果能算出来的话)。举个例子,Excel中利用数据制作一张精美的图表,只要几分钟,但是纯编程的话,可能需要很多个小时(甚至几天的时间)。

之后,你应该学习下面这些知识:

  1. HTML:每一个网站使用了HTML。(而且,很多移动应用现在也在使用。)不论你现在尝试深入掌握WordPress,或者需要设置数字营销工具,懂一点HTML都是有好处的。

  2. CSS:CSS,又称为“层叠样式表”。它是网站用来选择网页的字体和颜色时,所使用的一种特殊排版语言。

  3. JavaScript:懂一点JavaScript,在你需要给老板调整网站插件时是挺有用的。

  4. PHP、Visual Basic或者ASP.net中的一种:这些是非常容易学习的语言,可以让你快速地做出些有用的东西来。另外,它们还是日常编写脚本和建设网站时所使用的 语言。懂类似Python或Java这种语言,对于解决普通员工日常碰到的编程问题没有太大帮助。(因为它们主要用于更大规模的计算机服务器编程,网络应 用开发或者是编写系统脚本)。值得说明的是,了解JavaScript或者PHP之后,之后可以很容易地转到Python语言。它们的基本概念是一致的。

我是一名IT从业人员,应该学习哪种编程语言?

如果你是Windows管理员,那么就学HTML和PowerShell。如果你是Linux管理员,就学HTML和bash脚本。

在IT行业,你不需要学习编程就可以赚大钱:拥有企业级技术证书或资质的话,和程序员的薪资是差不多的,有时甚至更好。但是懂得如何编写bash脚本就是一个优势。

网页设计师应该学习哪种编程语言?

学习SASS这种基于CSS的语言是个很好的起点。之后,重点学习JavaScript。最后学习Node.js,也就是不依赖于浏览器运行的 JavaScript。Node.js市场现在很火热,之后长期都会如此。不要偏离JavaScript领域。相反,要专攻Node.js,深入学习。 (注意,以后io.js可能会取代Node.js。所以你要与JavaScript社区保持技术上同步更新。)(译者注:最近io.js与Node.js 已经合并了代码库,不过作者说的保持技术更新是没错的。)

关于信息图的最后一点说明

Udacity在描述JavaScript的发展趋势时,我想他们应该没有把这点考虑进去,即Node.js只是不依赖浏览器运行的 JavaScript。2015年,对Node.js工程师的需求异常的高。如果开不出6位数的薪资(截至2015年十月),很难招到一名拥有丰富 Node.js经验的工程师。随着越来越多的人学习Node.js,市场也许会慢慢平静一些。最后一点忠告:Node.js比原生JavaScript要 难掌握的多。所以,如果你是初学者,请先学习原生JavaScript,然后再转到Node.js。

最后,奉上Udacity制作(EarlGrey@codingpy.com编译)的信息图。

如何选择你的第一门编程语言

如何选择你的第一门编程语言


来源:51CTO

相关文章
|
5月前
|
算法 程序员 API
C 语言和 C++ 有什么区别?老程序员居然这样理解,不怕你不懂
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)
52 0
|
3月前
|
存储 人工智能 数据安全/隐私保护
使用 Python 创造你自己的计算机游戏(游戏编程快速上手)第四版:第十章到第十四章
使用 Python 创造你自己的计算机游戏(游戏编程快速上手)第四版:第十章到第十四章
142 0
|
3月前
|
存储 Shell Go
使用 Python 创造你自己的计算机游戏(游戏编程快速上手)第四版:第五章到第九章
使用 Python 创造你自己的计算机游戏(游戏编程快速上手)第四版:第五章到第九章
107 0
|
4月前
|
算法 JavaScript 前端开发
学做游戏要不要先学一门编程语言?
学做游戏要不要先学一门编程语言?
44 0
|
9月前
|
算法 Unix Java
初学者值得一看:什么是编程/C语言,编程学习建议,编程解疑与误区注意
初学者值得一看:什么是编程/C语言,编程学习建议,编程解疑与误区注意
119 0
|
10月前
|
搜索推荐 开发者
浅谈初学者应该如何正确打开一个技术或一门语言
因为只是想分享下自己的学习方法,想着这个题目有点大,因此在前面加了“浅谈”两个字,技术变化日新月异,更新迭代快如加满燃料的火箭。作为一个技术开发者,明显感觉到技术每天正以肉眼可见速度迭代发展,在飞速发展面前,很多人都表示很无力。几乎每个人都在卷,一边在喊快卷不动了,一边挑灯夜战。学习好像是我们每个人与生俱来的一个能力,从牙牙学语到读书求学,我们一直在围绕着学习这个话题展开,直到现在工作我们依然不忘学习,生怕落后于人,就算不能赶上风口,顺风起飞。也希望能逆风飞翔一把。我们学习,也正是因为学习能解决我们生活甚至生存所遇到的难题,因此爱学习的人总喜欢说:活到老,学到老。这也是我们积累经验的途径之一。
110 1
|
人工智能 前端开发 搜索推荐
程序初学者推荐学习的三种热门编程语言
在当前的社会需求中,市场上运用最多的、最为广泛的、最热门的、最常用的编程语言可以大致分为一下三种:C语言、JAVA语言、Python语言。
|
设计模式 自然语言处理 JavaScript
7 行代码 3 分钟:从零开始实现一门编程语言
本文介绍了多种解释器实现。通过修改最后一个解释器,你应该可以快速测试关于编程语言的新想法。如果你希望有一种语法不一样的语言,就可以构建一个解析器,把 s-表达式转储。这样,你就可以干净利落地将语法设计与语义设计分开。
424 0
7 行代码 3 分钟:从零开始实现一门编程语言
|
Rust Java 机器人
是 Rust 太难了,还是主流编程本来就这么折磨人?
本文作者在文章的前部分用了大量笔墨详细描述了自己尝试 Rust 受挫的经历,后半部分分析了 Rust 的问题及发展。自发布以来,这篇文章在 r/rust 上得到了 500 多个赞,在 HN 上有 700 多条评论。我们将其翻译出来,以飨读者,也希望大家可以理性讨论。
452 0
是 Rust 太难了,还是主流编程本来就这么折磨人?