此文章仅面向于非科班向编程爱好者
非科班向 即 未来就读高校期间不以计算机专业为主修专业。
我想很多小伙伴们都想在高三毕业后的这个暑假学一项技能或者是培养一下自己之前被高考抑制住的兴趣爱好。其中,不少人会选择编程,有些因为爱好,有些是为大学做准备。不过,一些人会在编程入门的时候产生迷惘,甚至产生挫败感。
从用数值某种程度上反应个人能力以及明确课程安排情况下授课的高中毕业之后,他们开始不知所措。编程到什么水平才叫入门?什么时候才算是完全掌握?哪一个语言特性是该语言精髓?面向对象是个什么象?是学时下正热、与人工智能相关的胶水语言Python,还是学各大高校课程选择的C语言,或是学一种如Java、PHP这样的老牌语言?
懵逼了吧。
可能很多人会建议你们在初学阶段学习如Python,C这样的用于编写计算机桌面程序的编程语言,然后推荐你们找一个教程不断吭哧吭哧的学一个个编程语言的语法。当你学完function,你又开始学class,学完class你又再学template。那么到底什么时候才能学完啊?什么时候才能自己写出点可以让小伙伴惊讶的程序啊?
你不知道。
另外,他们会给你推荐一长串的书单,其中的大多数他们自己都没有阅读过。这些书有的是计算机科学的,有的是编程语言运用实例的,有的是算法相关的。你看的完吗?你看的下去吗?
你也不知道。
我的建议
我建议未来并不致力于成为一名计算机从业者而只是单纯对编程感兴趣的人学习HTML+CSS+JS这三种语言,又称三剑客,当然这套方案对于科班向的同学也同样适用。
这种学习的方案相对于入门即C语言或是Python的方案,学习曲线平滑太多太多,且产出效率高,易于向他人展示自我学习成果。
为什么我推荐HTML+CSS+JS这套编程组合呢?我们从以下几点来阐述其优缺点。
优点
1.
不需要安装开发环境
如C或Python或Java等等这些编程语言都一般都需要额外安装开发环境以进行程序编译或解释才能运行。而HTML,CSS, JS的运行环境是浏览器,相信大家电脑里都是有浏览器的。( ̄ェ ̄)
2.
不需要使用命令行
命令行对于一些编程小白来说是一种痛苦。一是没有理解什么是当前工作目录与什么是路径。二是初学者记不住命令与参数列表。这个时候为什么不抛弃到这些呢?
3.
语法简单
HTML与CSS的语法相比其他编程语言的语法可以说是十分简单。HTML是标签式的语言,而常用的例如div,p,span等等都是短小精悍,易于记忆的单词。CSS语言相对HTML的语法会多上很多,但实际情况下我本人从没背CSS的语法,而是更多的在想清楚自己需要实现什么效果而再去相关文档中查询实现该效果的CSS语言。使用到的英文词汇都是我们一看就能懂的。
4.
思想简单
在我看来写HTML就像贴磁砖,总共也就二十多种常用磁砖你会用来拼合出自己的网页。而写CSS就像规定磁砖的颜色,大小以及磁砖位置的定位等等。而不像某些语言还能涉及到抽象思维。
5.
分享成果途径简单
现在像Github Pages 或是 Coding Pages 这样的免费静态网站托管平台可以说是十分方便且简单易用。你只需要把你的网站的地址发给你想分享的人,她或他只需要轻轻一点便能欣赏到你的作品,不需要花费额外的成本。当你使用C++语言写出了个神经网络库,但你的朋友只因为不懂你随便学学就会的C++而看不懂并且diss你的时候,想必你一定突然难过个几分钟吧。
缺点
1.
JS语言版本多样
在上面的优点中,我丝毫没有提到JS的优点,因为JS的优点是建立在你能掌握这门语言的基础上的。那么问题来了,什么叫掌握JS语言???
你不知道,我也不知道。因为JS的语言版本实在太多太多了。
因此大家一定要慎重选择JS的版本,建议大家学习ES6(也叫做ES2015)。初学不要去学什么CoffeeScript,TypeScript这些。
后续
在之后的推文里,我会给大家介绍一些HTML、CSS、JS的编程思想。我不会教大家各种各样的语法,也不会手把手教你怎么一步一步搭建自己的网站。我所能传授的只是我总结出来的方法论,而你的实践,才是你真正获得属于自己的知识的唯一途径,而不是听某个人在屏幕里花里胡哨的给你灌一大堆的冗余信息。
领取专属 10元无门槛券
私享最新 技术干货