cwiki MSSSUG|香港科技大學內地學生學者聯誼會本科部
Cwiki-查看
返回 Cwiki-首頁Cwiki-個人頁面Cwiki-貼文列表Cwiki-課程列表Cwiki-教授列表
不要enroll!不要enroll!不要enroll!
課程:COMP2021 [原課號:COMP111]
作者:xlide
創建於:2017-05-15 22:12:41
更新於:2017-05-22 20:11:04
課程時間:2017年春季
授課教授:LI Xin




这门课会讲什么:

1. 怎么用linux操作系统的命令行界面(shell),并用这种语言写出蹩脚的脚本。
2. perl5,一门年纪比我大,已经濒临死亡的语言。
3. (一丁点)PHP。




这门课有什么特点:

1. 过时。

这门课从上世纪90年代开始开设,当时的perl5方兴未艾,前途光明。
然而现在除了特别需要用正则表达式的运维人员以外,基本不会有人碰perl5。
这门语言的很多package甚至都已经停止支持,google上都搜不到文档,让人看不到任何学它的理由。
PHP其实也是一门即将被时代抛在后面的技术,
反正如果让我选择学一些web programming,我肯定选择js全家桶,绝不会选择PHP。


2. 自学成才。

不要妄想通过听课学懂这门课。
李昕讲课还是一贯的没重点,总是让人产生“我好像都懂了又好像都没懂”的错觉(不过和科大其他不少老师比起来还是强得多)。
TA的tutorial也都像梦游一样,具有“把本来清楚的知识讲混乱”的奇妙力量。
自学成才或许才是正途。
但是如果要自学,我干嘛还要自学这些过时的知识呢?


3. TA脑子有坑。

shell script部分的作业是一个庞大的数据运算的问题,大意是从质数表里筛出一个满足一定条件的质数,要求一分钟内跑完。
作为从COMP 1021过来的python好青年,如果能用python的话几分钟这个问题就解决了。
然而这个shell script我写了整整两天。
lecture slide上面白纸黑字写着“Shell script不适合算数,适合处理文字”,出题的人视若无睹。
于是我们被迫用古老而别扭的语法写出来一个程序,居然半小时才跑的完。
大家毫无优化的头绪。
有个同学尝试了shell里面的一个做文字搜索的工具awk,用里面完全不同的类C语法实现了这个,才在一分钟内跑出来。
一个礼拜以后,李昕才在课上神秘地说,给你们一个小提示,
我教给你们的所有shell里面做数值运算的方法都会算一次开一个子进程,
所以根本不能靠我教你的那些东西,
可以试一试在lab上提了两句的**处理文本**用的awk。
惊不惊喜?意不意外?
能用awk,我为什么不用C++呢?我为什么不用python呢?


4. Project玄幻。

因为这门课基本没有prerequisite,enroll的从大一到大四都有,
有个学长project做了个选课工具,demo的时候说,我先把我上的课输进来试一试啊。
抬手就是COMP5712,一波带走。
project也是任大家自由发挥,只要至少50%是她讲的东西就行。
当时我们被这个“50%是课上学过的”蒙蔽了,后端上了PHP,mySQL和Apache,前端大胆一点地用了react,非常不情愿和别扭。
结果demo的时候一脸懵B。
有一组直接做了个react-native APP,配合Node.js和mongoDB,李昕和TA十分欣赏。
至于分。可以想见。
这个时候工具又不重要了?我们不就是来学工具的吗?




上这个课有什么意义:


1. 进一步磨灭你对科大授课的信心,促进你自学大业的发展。
2. 给你提供一个自学的理由。(但代价是什么呢?)
3. 向你介绍linux lab这个人间仙境。




那我要是真听了你的,不上这课,我怎么学这些东西:

1. linux: 
《The Linux Command Line 中文版》
不要因为这是一本书而望而却步,这实在是我看过的翻译最好最易读的技术书了,至少感觉比那个鸟哥强多了。
在这里随便看,阅读体验超好:http://www.kancloud.cn/thinkphp/linux-command-line
如果你是Mac用户恭喜,如果你是Window用户请去知乎搜索“bash on windows”。
或者干脆安双系统。但是不要在选择distro上面花太多时间。初学就别强行Arch了。


2. perl: 你真的要学?
如果强行要学,建议阅读《两个半小时学会Perl》,讲的足够且全面,最重要的是**条理清晰**,这一点COMP2021死活也做不到。
网址:https://qntm.org/files/perl/perl_cn.html


3. 正则表达式
这个真的得学,请阅读《正则表达式30分钟入门教程》,反正上了这个课你也得看这个来学。


4. Web
如果你和我一样觉得要学比较现代的技术,建议直接js全家桶。
先学学HTML,CSS和JS,
然后前端选择学点react或者vue,后端node.js(或者python啊!)。
懂点web方便自己业余做些东西玩。
而且前有react-native后有electron,
我感觉未来的图形界面可能都会用web的方式来写(不负责任的揣测)。
所以有空学学着实有所裨益。


一些吐槽:
MSSSUG的IT秘书你好,
找一个现成的好使的富文本编辑器真的那么困难吗?
目前的这个实在是过于蛋疼。
疼从中来,不可断绝。
实在不行可以发动社区力量啊,
这样对广大cwiki作者太不负责了。


One more thing:
不要enroll!不要enroll!不要enroll!
Comments
Write a comment
請登錄後再評論