放肆的学编程语言吧,让10匹马都拉不动你,一篇我的学习方法论

I think everybody in this country should learn how to program a computer, should learn a computer language, because it teaches you how to think
——Steven Jobs

这篇文章写给每一个希望去学习编程的人,无论你的目的是为了当一个程序员改变世界,还是仅仅是一个工作之余陶冶情操的爱好。

不要怕

我的很多朋友都认为会编程的人很厉害,编程很难学,光是听这个名词就望而却步,其实不然,学编程的第一步是学编程语言,既然是语言,那么就和英语、法语、德语、俄语这些自然语言一样,但是难度绝对小于那些自然语言,如果你不相信,看完本文你就该相信了。

学前准备

学习一门编程语言之前需要有什么样的准备呢?数学!哈哈~ 不要怕,这里的数学指的不是线性代数、离散数学、微积分,当然你要是会这些东西那就太好了,不会这些没关系,你只需要会加、减、乘、除、取模运算,OK,你完全可以学编程了,而且绝对能学会,当然这个绝对是建立在你的恒心和毅力上的,最好有兴趣驱动,否者学什么都难。

如何学—宏观

首先你先必须知道什么是计算机,至少听说过CPU、内存、外存等,大概知道它们是什么东西,还要会打字。

如果你是新手,那么我推荐的第一门上手的编程语言它应该长这样:

1.有严格的数据类型判断

为什么要这样呢?因为有很多编程语言是弱类型的,意味着你声明变量时不需要告诉编译器它到底是什么类型,编译器自动来推导,这样一来对于新手来说就很难搞懂数据类型的概念,就容易出错和疑惑。

2.语法结构大众化

不要有太多花哨的语法,不然乱七八糟难以理解

3.抽象程度尽可能高

不要一上来就要求你懂硬件、操作系统等层面的知识,尽可能让你感觉到写程序就像写文章一样舒服

对于这样的编程语言我还是推荐 Java 和 C#,他们满足上面三个条件,Java的好处在于你可以写个程序在任意操作系统上运行,因为这个语言是跨平台的,C# 的好处是对于图形用户界面(GUI)的支持程度高于 Java,你可以写任意的窗口程序,一定比写命令行程序来的爽。总之无论你选择哪一个,都是不错的选择。

很多大学一开始都是学C语言,这导致很多人都被误导了,认为学计算机就得学C语言,当然C语言得会,但C语言和底层打交道很多,光是一个指针就足以让刚开始学习的朋友看的两眼一抹黑了,久而久之就坚持不下去了,不容易学好。我一开始学习编程就是从 Java 开始的,虽然我学完了 Java 甚至可以用 Java 写一些不大不小的东西了,我还是不太懂底层的东西,但当我意识到这一点时,我开始搜索一些偏向于底层的东西时,我不用花太多时间就能多少了解一些,比如 Java 的引用类型,原来就是类似于指针这样的概念,然后逐渐了解了内存的分配,什么是堆什么是栈,以及内存究竟是个什么玩意。这对我后来学 C 有很大的帮助,看到指针那一块的时候,基本没什么难理解的地方,只是遇到一些内存管理方面的东西时,稍微花点时间,因为在 Java 中你是不需要去关心内存上的事情的,有 GC 帮你,别疑惑GC是什么了,以后你就知道了。

综上,所以我觉得起步时学 Java 或者 C# 是不错的选择,当然还有其他类似的语言,因为我不太熟悉其他的,所以就不乱推荐了,我推荐的都是我学习过的语言,保证靠谱。

那么怎么来学习呢?很多人说看视频很LOW,对于新手来说,看书很难理解,看视频才是最好的方式,当然如果你是大学生,有这个课,千万别翘课,没这个课就去旁听,这样下课不懂还能问老师,虽然老师可能行色匆匆,不要怕,拦住他~~

看视频或者听课的好处在于,你是以听的方式来学习,而且还能看到老师现场敲代码,能最大可能保证你不会略过代码的任何一个细节,这个对于你的理解是有绝对性的帮助的,反之看书就不是那么回事了,首先你得要阅读,可能还有读不通读不懂的地方,实例代码也是直接就打印出来的,会导致很多细节你会不小心忽略掉,最重要的,就是当你遇到看不懂的地方时,你会发生两种情况,死命的要看懂或者是略过,无论你采用哪一种方式,你最终都会昏昏欲睡,然后合上书本出去嗨了,至于在哪里看视频,现在那么多慕课网站还怕找不到?

但是还是得买上一本书,当做上完课以后的参考,或者你整个课程结束以后再速看一边,这个时候大多数概念都差不多了解了,读不通读不懂的问题就少了,这个时候就是查漏补缺的时候了。

最后,不要去刷书本后面的题了,去做项目,随便找东西做,不用太大的项目,就想想自己有没有需要的软件,市场上没有或者收费价格太高的,自己写一个,相信你写完一个项目之后,你对整个编程语言的了解会大大提高,水平能上升一个层次。

微观

讲完了宏观的学习方法,再来讲讲微观的。

无论你选了上述的哪一个语言,你都应该重点了解以下几个内容:

1.基本数据类型

这是一个很基础的概念,不懂这些没法玩。

2.基本语法

基本的语法,包括怎么定义变量,循环语句,条件分支,方法/函数定义等,不懂这些也没法玩

3.面向对象

这是一种思想,你会花很长时间去理解它,适应它,在这之前你会认为传统的面向过程的编程方式是最好的方式,直到一个月后你会发现,卧槽,上个月我是SB吗??

4.该语言自带的数据结构

数组怎么用?集合怎么用?怎么遍历它们,了解这些很重要,它们的使用率几乎在120%以上。

暂时就想到这么多了,了解以上四个东西,之后你就平步青云了。

然后你可以在未来半年或者一年的时间里都用这个语言来做东西,学基于这个语言的技术,比如 Java 你可以开始去学 Java EE 、Struts2
Spring、Hibernate,学完这些,了解一些 HTML CSS 的知识,你就可以做动态网站了,然后看看 Android ,你就可以做移动开发了。一定要记住,多用这个编程语言写项目,越多越好。到了一定程度就可以深入这门语言,比如 Java 买本 《Java编程思想》来看看,了解一下 JVM ,等等。

之后,你可以考虑学其他语言了,C啊 Python啊 Swift啊,有了前面的基础,就学的很快了,这时候就不用看视频了,因为你会发现,看视频太慢了,根本不能自己把握时间,这时候买书或者直接看文档会来的更有效率。

最后

学习是没有止境的,希望从本文开始,能够帮助作为新手的你顺利入坑,我可能写的还没有很全面,尽管我尽可能的总结我几年学习下来的经验了,但总会有漏掉的地方,我想到新的东西我会第一时间更新文字,也欢迎各位大牛的补充和指点。

最后的最后,我最想说的是,学好一门语言,最重要的就是:做项目做项目 做项目 (国际惯例说三遍)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,568评论 25 707
  • TITLE: 编程语言乱炖 码农最大的烦恼——编程语言太多。不是我不学习,这世界变化快! 有时候还是蛮怀念十几、二...
    码园老农阅读 5,183评论 2 35
  • 人究竟是怎样一种生物? 我走在人海中, 停下了自己的步伐。 一张张面孔, 迎面走来, 忧愁,喜悦,呆滞,锐利,慈祥...
    海王星1984阅读 227评论 0 1
  • 飞云千里客京华,红叶秋山共晚霞。 欲枕清风长醉梦,离歌一曲绕天涯。
    紫风铃_阅读 906评论 42 58