12月12日, HackerRank发布2018年度报告。他们发现全世界1万名相关学生里面,接近三分之二都在自学编程。IT业发达的美国,更是有五分之四的学生靠自学掌握技术。出现这种情况并不值得奇怪。计算机领域,学校教授的知识虽然经典,但这个行业变化飞快、类似Go、kotlin这种企业需要的新技术、学校经常没法跟上。学习程序开发、提升技能水平,“自学”是必经之路。然后,要怎么自学编程,又有那些好用的辅助工具?接下来就和谷歌空间一起,看看那些自学的基本策略,与优秀的服务与应用吧。想好做什么,做学习规划一般说,编程就是人类用特定语言写东西,让软件翻译成机器指令、去做特定事情。不同语言的特点与应用领域各不相同。自学编程的人,首先要做的就是问自己“学编程干什么?”然后根据目标、选择语言——做网站(JAVA、Go、JS 、PHP)开发游戏(C++、C#、JS )手机APP(JAVA、Kotlin、Dart 、Objective C、Swift)辅助办公、批量处理文字与表格(Python、VBA)计算机语言种类繁多,具体的分别、没法轻易讲清。建议在网上搜索相关资料,尤其那些相关行业论坛、招聘网站信息将更为准确。如果是初学者,笔者推荐学习Python、JavaScript这种非常主流,同时也相对简单的语言。因为相关中文资料少、不推荐从LISP这种冷门语言起步。确定好学什么语言,接下来就是规划日程了,大致上来说:12小时可以做“简单的计算器”30小时可以做 “日程规划软件”300小时可以做“简单论坛或留言板”知道要学习多少时间、接下来就可以把任务分解到每天、并根据情况调整。虽然相关技术与工具随时在变化、未必有完美策略。但比起怕犯错、一直犹豫不定,迈开步子学习明显更为有利。这些APP可以帮到你:谷歌日历:规划日程的优秀工具,自带邮件提醒功能。可以方便地添加按日期循环、精确到分钟的学习任务。番茄时钟:帮助你实现“番茄工作法”的小工具。学习几十分钟、然后休息几分钟,有节奏的学习与工作,不知不觉任务就完成了。找靠谱教程选择教程,需要考虑的首先是权威性。那些业界知名技术大拿编写、或得到官方认证的教材、一般质量都比较靠谱。如果是国内引进的书籍,还要留意下注意翻译水平。就算原著是好书,但如果经过不懂技术的人翻译,就经常出现一些致命错误。建议去亚马逊这种网络书城,看读者的评价与反馈。除了读好书,教程还可以在网上找。各种语言官方文档,也是学习的好材料。由于技术文档的理解难度比一般英文内容低,所以就算英语没那么好,官方文档也可以拿来利用。新兴的类似Udemy这种网络教学服务、SoloLearn这种编程学习APP。不但能用起来更直观,内容更新也比传统媒体快很多,很多方面超越了纸质书籍。这些APP可以帮到你:SoloLearn:免费手机学习服务与APP,同时支持10几种编程语言,可以在线运行代码。Coursera、Udemy、edX :世界一流的在线教学服务,名校讲师、业界名家亲自讲课。谷歌翻译:久经考验的翻译工具,翻译技术文档效果不错。选择IDE、配置编程环境准备编程环境、熟悉工具用法开始学习后、新手最初遇到的问题、就是“用什么工具写程序、怎么让代码跑起来”了吧。常用IDE、编辑器花样繁多,让人眼花缭乱。不同人有不同的喜好,和选择语言一样、争议非常多。对新手而言,为了降低学习难度,还是应该 “具体领域、哪个用户多就用哪个”。举例来说, IOS开发自然是Xcode 。C#的话,微软家Visual Studio比较靠谱。JavaScript有轻量级的Visual Studio Code。JAVA相关,一般推荐jetbrain的IDE。如果需要Linux命令行工具,可以考虑在PC上面安装虚拟机(VirtualBox)。安卓手机上面,也有Termux这种运行常用Linux命令的应用。选择太多、不知道怎么办的话,按照还可以参考各种教材。掌握基本流程后,接下来就各显神通了。对折腾党来说,Vim、Emacs也能定制成IDE。这些APP可以帮到你:Stack Overflow:绝大多数新手的问题,在这里都有解答。还可以帮别人解决麻烦、巩固知识。Virtual Box:免费开源虚拟机,随便折腾各种系统,不怕弄坏物理机。去敲代码这一步大概是学习编程过程中耗时最久、也是最重要的阶段了吧。不管是书籍,还是视频教程,自学的人都要跟着写代码、学习基础语法、了解“函数、类、对象”概念、做各种习题、消除意外出现的BUG。接下来,还可以去类似Leetcode这种在线算法网站做习题。了解算法、数据结构知识。找编程工作的过程中,做题的经验也能帮你在笔试中取得好成绩。学完基础语法与概念,并不表示任务就完成了。将知识转换为技能,还需要动手做项目。需要注意的是,一般人需要的功能、很可能有别人写过了。于是,比起重复发明轮子,不如参考一下别人的做法。借用别人的代码,应该了解一下MIT、GPL等常见授权协议的区别,看一下在什么前提下可以使用别人的代码。那么,要到哪儿去找别人分享的代码?那当然是全世界最大的开源平台Github了。在这里,还可以提交代码、帮别人改进软件。这些APP可以帮到你:算法动画详解:用动画展示排序算法、还有详细分步解释。OpenHub:简洁的第三方安卓github客户端,比官方好用。计算机技术,一直都在快速进化。跟上时代的大潮,一生都离不开自主学习。坚持下去,除了毅力,还需要强烈的好奇心。想要行动的朋友,上面介绍的APP都可以通过谷歌空间搜索体验。有什么使用和学习心得,也欢迎大家留言讨论。
本文出自快速备案,转载时请注明出处及相应链接。