那么本文我就来谈谈喜闻乐见的高中信息技术教 VB 的事情,顺便无脑跟风黑 VB.
高中的课程中仍有信息技术一科.开学第一周,第一节信息技术课.老师一来就开始说编程,尽管书上并不是这样安排的.然后打开了 Microsoft Visual Basic 那陈旧得令人发指的界面(微软真是智硬,编程语言和 IDE 叫同一个名字).好吧.然后老师在一个窗体上按下左键,往右下拖了一下,松开左键,"好的我们现在画出了一个按钮."卧槽,这控件拖的简直666.
然后遇到了一个问题,如何在数字 45 中取出第二位 5?最后老师的解决方案是用 10 除 45 取余数.这种机智的举动真是令人震撼,比起我想到的解决方案"45"[1]
或"45".charAt(1)
不知道高级到哪里去了(当然这是 JavaScript,胡搅蛮缠),然而在对于字符串"四五"时好像并没有什么卵用.毕竟这可是高级语言 Visual Basic 啊,多么强大,用纯粹的数学运算完成字符串操作,这可是渣渣 JavaScript 所无法比拟的.
接着我又涨姿势了,原来 "\" 是整除号!用 / 做除法保留小数,但 \ 就只保留整数.VB 真是独树一帜的优秀语言!比起落后的玩具语言 JavaScript 还在用冗长的Math.floor()
函数取整,用反斜杠转义特殊字符,VB 真是走在了时代的前列!什么正则表达式居然用反斜杠转义,差评!这都是 Perl 的锅!反斜杠明明是整除!一切用反斜杠作转义符的编程语言都是邪教!都应该绑在火刑柱上,用迸溅的火星洗涤它们的罪过! VB 大法好!信 VB 得永生!
劳资写不下去了.
所以说,我们的教材选用 Visual Basic 这个落后又丑陋的玩意真是 * 了狗了.不说恶心至极的语法,就 Microsoft Visual Basic 那个用 Times New Roman 字体显示代码的编辑器都够我恶心几天了.感觉书上的示例代码就像被狗 * 了一样.好了好了,我来稍微理性地说一下这样的信息技术课存在的问题.
- 不能让学生形成正确的对待 GUI 和 CLI 的态度.
(当然这种态度也没必要形成)难道每一个程序都必须要有图形界面?好吧先不说这个,毕竟按照主流的观念, CLI 是确实不受待见的.那么,课程开始时"画"的那个按钮就确实有误导之嫌了.实际上,想要在程序中放入一个控件是绝对没有这么简单的.拖控件本来就是对于自己的程序不负责的行为,起码我是这样认为的.这个问题再探讨深入些就是 IDE 和编辑器之争了,所以我就此打住.
- 编程语言和 IDE 傻傻分不清.
还是脑残微软的锅,VB 既指语言又指 IDE,然后教材也 tm 搅浑水,什么"编程语言经过工程师的开发,操作界面更加人性化".卧槽,"操作界面更加人性化"???你在说啥?此前看到 linux 吧有吧友说,见到一些从事 Windows 应用程序开发的人,自认技术不错,结果连 IDE ,编辑器,编译器,调试器什么的都分不清楚.我想如果我之前没有对 IDE 有稍微的了解,在听了这节课之后估计也会像其他人一样傻傻地认为 VB 是一个软件.(好吧,VB 确实是一个软件,谁叫微软把 IDE 也叫做 VB 呢?智硬) - VB 真的适合如今的学生学习吗?
上文对 VB 的赞美就充分地说明了 VB 已经是很落后的编程语言了.官方的依据是,最新版的 ASP.NET 不再支持 VB (虽然后来因为争议太大还是妥协了)(ASP 是什么鬼?服务器端编程还是 P!H!P! 大!法!好!)我认为,更好的选择应该是 Python. Py 和 VB 一样,易学易上手,适合中学生学习.另外,Py 设计优雅,功能强大,语法简明,且融有所谓的"编程思想".如果教材的编者希望借助编程让学生具有逻辑的思维方式,那么 Py 绝对是最好的选择.此外, Py 有在数学计算和统计学计算方面的先天优势,我想对于高中生来说应该是很实用的吧.(高中的数学教材上经常有什么算法图,让学生自己设计程序实现算法,这种情况下用 Py 写绝对不能再方便)(虽然有些算法也可以用 JavaScript 实现)(然而我并不会 Python ,所以上面的赞美之词只是道听途说而已) - 所有学生都有必要学习编程吗?
并不是.我认为,编程不同于其他学科,学校的学习可能并不会让你的编程能力上升多少,至少在中国,是这样.例子参见上推吧, 少年!一文中"思索"一段.摘录如下.作为一个普通的学生, 没有能力参加保送, 没有财力和精力出国, 那么他的选择就非常狭窄了. 在家长们的传统思维中, 除了好好考试上一所不错的大学, 其他选择都是错误的. 在这些重重限制之下, 少年开发者们常常被扼杀在高考中. 而实际上, 就我认识的那些 985, 211 大学计算机系的很多学生 (甚至是毕业生), 他们的实力都难及宅里奥的项背. 每当有亲戚或朋友在我面前向他们的孩子灌输死读书, 考个好大学, 毕业找个好工作的思想的时候, 我都会用宅里奥做例子告诉那些孩子, 道路不是只有一条, 文凭也不能代表一切.
当然,这篇文章谈到的显然只是个例.然而个例也可以说明问题.对于大多数人来说,对于编程并不感兴趣,并没有天赋,那么强加的课程也只能成为负担.编程是一项具有创造性的活动,我不希望编程也像数学一样,因为教育而让很多喜欢它的学生厌恶它.由于对待计算机的观念,或者其他的一些什么原因,我的同龄人中似乎并没有什么人,真正地热爱编程.之前看到 linux 吧有人说,他上高中时,信息技术课布置的很简单的程序作业,班上也没有几个能够自己完成的.既然无法唤起学生的兴趣,这样的课程还有意义吗?不仅如此,我不知道有多少人在毕业后会运用这些知识.利用编程解决问题的需求,并不是人人都有的.即使有这样的需求,落后的 VB 能胜任吗?这样推理的话,假如把学生分两种,一种是对编程没有兴趣,难以理解,没有需求,甚至连作业都无法完成的(估计占多数),那么这样的教学对他们而言是真的没有什么卵用;另一种是对编程感兴趣,乐于写程序的(估计占少数),那么学习 VB 只能浪费他们的时间,甚至误导他们.他们应该去学 Python, 学 C, 学 Java 或者 Swift,
或者像我一样选择 JavaScript,然后写出真正优美的,实用的,高效的程序,而不是傻傻地在 Microsoft Visual Basic 愚蠢的窗体上画出丑陋的按钮. - 关于信息技术这门课,和对待编程的态度.
没啥好说的.一门被无比边缘化的课程.我想,设立这门课的初衷是好的.然而无论是教材编者,老师,还是学生,感觉都没有如何认真地看待这门课程.我拿到的课本甚至教我用谷歌来查找资料,真是哭笑不得(实际上这是个沉重的话题,并不好笑)从这一点就可以看出目前的教材已经和现实完全脱节了.其他的科目,就最近数十年间来说,发展并不迅速,教材很久不修订也并没有什么问题.然而这可是信息技术!可以说是目前发展最迅猛的学科了.这年头还有人用 VB 写程序?真是 * 了狗了.那么对待编程呢?就我感觉,我的同龄人中,真正出于兴趣和喜好学习编程的真的是少之又少(本来这个年龄学编程的就少之又少)更多的,我感觉是冲着信息学竞赛去的吧.当然这也可以理解,毕竟高中生时间真的紧张,谁会为了毫无报酬的"兴趣"而在编程上花大把时间呢?至少在这样一个诞生了今年的省文科状元的高中,是这样.之前报道说,一群成功的少年开发者被邀请参加 WWDC2015 ,他们都开发出了优秀的 iOS 应用,其中最小的一位只有 12 岁.如果按中国的现状,怎么能培养出这么多出色的少年开发者呢?(当然国内也是有的,像上面提到的宅里奥,以及四次元的开发者 Qii 等等.这里有一篇关于 Qii 的文章,他也是一位很受我崇拜的人)
我只是希望,会有一些人,和我一样,仅仅是因为"喜欢"这个简单的理由学习编程,不计得失,仅仅是为了享受自己的程序成功运行时的那一瞬间的乐趣.
其实呢,我也是知道的,上面的这些胡言乱语,它并没有什么卵用.现实还是现实,那就算这三千余字,喂给狗吃了吧.
>>EOF
加油吧少年~
卧槽 DNG 大神居然光临本站,不胜荣幸( ^_^ )说起来我都是锋客的老读者了,从你这里真的学到了很多.
小星星加油!