即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

新手学编程,从哪里开始?

微信 Python开发者 7℃ 0评论

(点击上方公众号,可快速关注)


英文:Filip Ekberg

译文:赖信涛

链接:http://www.laixintao.com/posts/712


最近经常有亲戚朋友甚至陌生人问我,软件工程师的工作是什么样子的。在这一行,我们有很高的声誉,薪资高,工作中的乐趣很多——至少外人是这么想的。虽然这一行的薪水没有电影明星那么高(一些人甚至也将我们看做明星),但是因为不错的收入和声誉,依然很吸引人。

在我的学生生涯中,我们班的退学率是最高的,其中的主要原因是对软件工程师这项工作的误解。一些人退学是因为他们只想玩,不喜欢学习,无论选择什么专业都会退学;另一些则认为他们将来会整天地玩电脑。当然,我们的工作确实是“玩”电脑,只是比打游戏多费一些脑细胞。

亲戚朋友们经常问我:你到底在做什么呢?接下来经常是这个问题:哇,真了不起,怎么才能成为一个工程师?第一个问题的答案,取决于跟我说话的人。如果跟毫无技术背景的人谈,我就不会用像“累加”,“C#”,“Azure”这样的术语,我会用他们懂的东西解释。一般会使用一种通用的语言,无论是工作还是外部项目都用的。

那么,你的工作究竟是什么呢?我帮助顾客解决问题,通过开发软件,来提高他们的工作效率和营业额。通常,我要帮他们实现需求。

这是一个宽泛的答案,几乎可以来描述所有工作。但接下来的问题可以作很好的解释。人们经常使用手机的应用程序,所以谈论起手机应用来轻松地多。所以我就会跟朋友们说我在帮顾客写网页或者应用程序,解决他们的商业问题,让生活更便捷。

这个话题就到此为止了,如果继续讨论下去,有关“建网站”和“写应用”就要说远了。但是偶尔会遇到一些感兴趣的人会接着问:网页不就是一些文本和数值吗?做起来很难吗?当你试图给出一个例子解释的时候,基本上最后都会以好吧,我不知道 而告终。

我有很多科技通朋友,所以经常会被问到:我想学习编程,应该从哪里开始呢?

这是一个有趣的问题,但是又难以回答。当然,我可以甩给他们一本关于.NET编程的书,但是这样做真的好吗?对于初学者,推荐我偏爱的编程语言合适吗?可能不会。不要忘了他们问这个问题的真正的目标。他们是想了解计算机以及软件运行的原理吗?还是写一些小程序来恶作剧?是要解决他们的问题,还是想来抢你的饭碗?

当我听到这个问题的第一反应,就是弄清楚他们为什么想学编程。这是一个很好地起点——弄清楚从中想要得到什么。我们可以根据他们的目的来回答这个问题。

“当你发现自己在重复地做同一件事情的时候,就可以考虑自己写一个软件来完成这些事。”

如果你有一个真实世界的问题待解决,或者有一个明确的目标,那么给你行动的建议就很简单了。写代码和学习代码不仅仅是重复,而且要花上很多的时间,这是事实,要牢记于心。事实上,当你学着写出你的第一个程序的时候,写第二个就简单多了,逐渐变得熟练,越写越快。

我想学习编程,应该从哪里开始呢?

简单地建议是鼓励他们尝试解决一个真实世界的问题,但这仍然没有告诉他们如何开始。首先,我要给他们推荐顺手的工具。说到工具,就不得不提语言或者参考书,对于初学者来说,不能太高级,最好是简单几步就能运行一个hello world程序。如果不能很快看到自己的成果,他们就可能会放弃。编程不只是我们所写的代码,还有其他相关的东西。

我想让他们尽快的看见自己的成果,即使只是写了一行代码也没有关系,他们也会为此感到自豪。这么快看到自己的成果,他们就会有兴趣进行更深层次的探索,并准备好学习一门真正的编程语言,可能是C#,Java,Python或者其他的语言。早期你要教他们思维过程:if……this我这样做,else就这样,等等。

近几年兴起了教孩子编程的热潮,让有一些人问我如何学习编程的时候,我会告诉他们:像一个天真的孩子那样去学习。我们是如何教小孩子编程的呢?Code.org是一个很好的资源,通过教你把浏览器里的代码块拼装在一起来教编程,使你能够很快看到自己的成果。甚至可以通过这个写出自己的Flappy Bird。虽然这些课程不能解决你重复的工作,也不能解决你的业务需求。但是却给了你一个对编程的很好的印象。告诉你如何将代码组织在一起,如果将两个重要的代码块接在一起需要注意什么。

我想学习编程,应该从哪里开始呢?对于这个问题,没有同意的答案。根据你学习的热情和进度,可以给予一些指导。有数以万计的资料可以供你利用,在Code.org上做一些东西只是第一步,还有很长的路要走。如果你准备好了继续前行,首先应该有一本介绍编程基础的书。

真的吗?我已经准备好了学习编程,给我那些资源吧!

很多人想要别人拿勺子来一口一口地喂给自己知识,这是不现实的,编程要花很多时间,不断练习。你将会在错误中得到进步,并收获很多“哇,太棒了!”的时刻。如果你真的想要给你的电脑写一个软件,也有很多给初学者的好书供参考。即使最后没有完成你自己的软件,这些物价的知识也会让你受益匪浅。

我初学Java的时候看过一本Head First Java,对初学者来说是不错的一本书。很多人以前从没有写过什么程序,这本书中的介绍给了他们很大帮助。Help First是涵盖编程语言和技术的一系列书籍。想要走最少的弯路开始你的第一个hello world程序,我推荐Head First Python。

不喜欢读书?推荐你看一下这个视频:Pluralsight’s Programming for Kids video.

如果你有孩子,和他们一起学习编程将使你们双方受益。孩子们有极高的兴趣和有趣的问题,可以拓宽你的思维。这也是和孩子们相处的一个好机会!坦白的说,我一直期待教我的孩子编程。

读一本书,再花些时间在Code.org上玩一玩,看一些Pluralsight上看的视频。这之后,你就会感觉你已经有了进步,想要更多的知识。如果你真的想学的更多的话,建议你去大学听一些课,或者上夜校学编程。为以后写真正的软件积累一些知识。

下面,是我为想要学习编程,又没有经验的人列的一些链接资源:

  • Code.org

  • Code Academy

  • Code School

  • Pluralsight’s Programming for Kids

  • Head First Books

  • Khan Academy

  • Hour of Code

最后的建议,想象一下买一个小小的硬件,安装在你的车库里,当你的车开的离墙太近的时候,它就会发出信号——Arduino可以将它变成现实。可能性是无限的,只要你抓住你脑子里出现的新奇的想法,不断体验到编程的乐趣。

如果你和朋友或亲戚讨论这个问题的时间和这篇文章这样长,他们一定会满意地离开,并期待写出自己的第一个程序。

你会怎么回答这个问题呢?  ——如果我想学习编程,应该从哪里开始?


——–—- 推荐 ————


范品社推出的极客T恤,含程序员、电影、美剧和物理题材,面料舒适、100%纯棉,有黑、白、灰、藏青色,单件 ¥59.9、两件减¥12、四件减¥28、六件减¥42,详见网店商品页介绍。


(上面为部分 T 恤款式)


网店地址:https://fanpinshe.taobao.com


淘口令:复制以下红色内容,然后打开手淘即可购买


范品社,使用¥极客T恤¥抢先预览(长按复制整段文案,打开手机淘宝即可进入活动内容)

转载请注明:CodingBlog » 新手学编程,从哪里开始?

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情
(13)个小伙伴在吐槽
  1. 从python开始/呲牙
    卢文哲2016-08-23 14:47 回复
  2. 先学Python呀!
    魏玛第二共和国人士2016-08-23 15:26 回复
  3. 从c#开始
    yansong2016-08-23 15:35 回复
  4. 最近开始入门了编程。Python,学完一套入门书,书很好,学会通过Python做小游戏,解简单的密码,做简单的数据分析,这个公众号的文章也有时候可以看懂一些。现在觉得学的不扎实,而且自己学过程中经常怀疑自己。而且感觉编出一个程序好辛苦啊,做出来成果也很少满心欢喜……不知道怎么能跨过这个瓶颈……求指点~
    .2016-08-23 15:44 回复
  5. 从26个拼音字母开始/微笑
    瓦尔登湖畔的遐想2016-08-23 15:59 回复
  6. 搞硬件到最后你就会发现玩的全是sensor。。。
    Vencent2016-08-23 22:08 回复
  7. 从vb.net开始,最简单且和c#一样强大
    New +___+2016-08-23 22:45 回复
  8. 从修电脑开始
    阵雨2016-08-23 23:59 回复
  9. 楼主好人。
    霍普2016-08-24 01:26 回复
  10. 你是做软件开发的吧? 是啊! 我电脑坏了,你帮我修一下电脑吧! 你说什么? 我电脑坏了,你帮我修一下电脑吧! 不是,上一句 你是做软件开发的吧? 不是
    Cloedy2016-08-24 12:46 回复
  11. 说从Python开始的,请看今天的第二篇文章标题/呲牙
    小九2016-08-24 13:20 回复
  12. 从装系统开始
    加戈2016-08-25 13:37 回复
  13. 从php开始,不服来辩
    他说这是被禁忌的游戏.2016-09-04 23:49 回复