【 在 normal (normal) 的大作中提到: 】 go不会是华而不实吧。 王垠有些地方说的有点道理,但嘴巴太大。 很多东西不是大概 用CS本科学的程序语言设计的理论去评判的。 go有很多的改进,gc, concurrency, : deployment都不错的。 python也不只能写小工具吧,因为programming就是make tools and use tools. you assemble small tools to construct large tools. what's the point?
1. Java最实用
2. Python写小工具还行
3. Go,Scala,Clojure等新语言都是旧瓶装新酒,华而不实
4. JavaScript设计很糟糕
5. Schema,Pascal都很经典
不知他对C/C++有什么看法。
王垠的特长,是把平凡的东西神奇化,再加上他自己的一些调料,然后向大妈们推销。:)
王银个人风格是另一回事,这几个观点普通是普通,
但是都没错, 比很多科班出身都强不少
以前科班出身的人,大学里教的第一门编程语言就是Pascal。
王垠是科班出身的大妈。他人是聪明,但光有聪明是不够的。在聪明程度上,他也没到拔尖的地步。他把太多的时间,花在吸引外行大妈眼球上了。这是为什么他在自己的专长
上做不到精尖,也得不到足够的同行认可,找不到他想要的职位。
王垠的作用就是把那些装逼的打回原形。你当然可以说他没有什么革命性的创建。但是他有他的作用: 把别人想到的但是还没有说出来的东西说出来, 说清楚。
with-delphi/
早期的Apple系统用了Pascal来做开发。用Pascal也可以写出很高效的系统,只是C太过于dominant了。
治地位太强了,Pascal只能算一股清流。:)
他对编程语言和技术的热爱我欣赏,他谁都不吊愤世嫉俗的个性我也欣赏。
http://www.tiobe.com/tiobe-index/
但十年前就已经move on了。我先在还偶尔要调出来turbo pascal
玩玩,要在网上找找模拟turbo IDE的vim主题。但也就是等g++
编译的时候玩玩而已。
摸不到
有时候敲了半天调通的程序,舍不得断电的感觉现在都还记得。我对编译型
语言根深蒂固的偏好就是从那时候养成的。上了高中后可以在学校机房玩了,
第一件事情就是用turbo pascal把hello world编译成com, 编译成exe,
短模式长模式啥的都编译一遍。在我看来,不能编译成机器语言的编程语言
不是真的编程语言。
因为这个帖子正在下载最新的Delphi 10.1哈哈。好歹十多年前大二上新东方GRE的时候还兼职三周给一个公司写Delphi程序 + PHP服务挣了一万多人刀呢
我现在怀旧的时候就拿出来苹果二模拟器来运行一下。又一次有个同学贴了个小学算数,叫我用苹果Basic给解决了。
高中开始时用苹果Basic模拟操作堆栈来解决搜索回溯问题,后来学了Pascal和C就简单了,Dos/Bios中断调用也很熟,仙剑1被俺用debug改了几个字节就可以不用打敌人敌人自动消失,隔壁一个打桥牌的把一个游戏引进来,然后复印了所有的密码,用debug直
接破解,随便输入。
97年那个有PC1500的人告诉我Java很好,我没有理解,他当时到处讲座Java。我花了大量时间准备GRE,直到09年才开始学Java,这才是问题。
穿白大褂的年代,用Apple-II得进机房,但PC-1500就可以带回家。俺就捣鼓那个小计
算机,在上面自学Basic。那机器只有一个很小的LCD屏,程序输出得打到打印纸上。
解释型的运行系统也很好玩。我那时写过一个Basic程序,生成出另一个Basic程序,写到字符串区,然后再调用Basic解释器去执行生成的程序。
不过从教学语言角度来说,Pascal比Basic强太多了。Basic程序里到处都是Goto语句。
),用一个后台hack程序(叫什么来着),挂起前台游戏,扫描内存,找出存放金钱数量的变量,改成最大值...还有好些游戏都这么改过。
我高中时代最得意的程序之一就是用win32 API写的内存扫描程序。
不过有的变量用我写的程序扫描不出来,但是用整人专家之类的程序就能找出来。
这个楼好怀旧,好多事情一下子都记起来了。
但是据说完整版的quick basic是可以编译的。当年一本qbasic程序
设计的书我都研读过好多遍。
当年信息闭塞,走过的弯路太太太多了。但是乐趣也很多。现在信息
来的太快,生活越来越没意思。
ps, 我狗了下pc1500. 这么小的屏幕要写程序,goto是必须的吧.
Borland系列搞残了。
现在想起来,写程序入门,最好是一开始用Pascal,学Basic不好。不过当时确实有过
很多乐趣。
想起俺以前上一门微处理器的课,老师要求直接用十六进制(实际上是二进制)代码对Z80编程,最后主要的opcode都背下来了。
我也扫过,把鼠标点到一个文本框比如密码,就看到密码啦。
你没读过求伯君的dos书吧。dos很多trick进了windows
说不定一些炸弹是bill gates写的
没商量。
不过他似乎滑板水平不错值得学习
当年9x的那6-8兆内存能跑抢占多任务32位,向前和16位代码兼容,向后可以兼容到
Win10,简直神了。
9x实现细节肮脏无比,我老人家只敢吹吹nt,9x一般都绕路。
当时是用表格查数字,把8086汇编程序手工计算成0x23之类的
16进制数字写在纸上,然后通过一个16进制的纯数字键盘输入到
机器里。这个机器控制一个电机。
一个铁架子上面夹一只铅笔,可以绘制机械制图。整套系统是
日本制造的。我还用这个办法做了一个debug的程序。可以输入特殊数字实现断点调试。
如果你曾手工把一个程序算出来成为一个一页纸长的
数字。就会觉得王垠说的东西多数都没什么价值。语言的原理本
身是清晰简单的,和相对论,牛顿力学类似。
那套东西搞熟了后,后来操统课linux啥的全都是win32 api的简化版。
Ios升级64位没出大问题,可见apple软件还是杠杠的
键盘到E为止。神吧?那时候按钮挺值钱的。
从算法角度来讲。
电机如果只能上下前后走,画个美丽流畅的椭圆是不容易的。
我当时考硕士最后一道题目记得是打印机驱动的几个trick
比如从NT4开始桌面对象就有严格的权限设置,但直到XP为止任何程序都可以给system
账号的服务发消息,如果消息处理有漏洞你就直接拿到了system。这就好比美国核弹设了密码,底下人为了省事全用8个0.
几年前改造过一个超级遥控汽车,因为没有键盘,命令都是用遥控器按钮发进去的。。。
98年的时候,我写的Java applet都得了The Best Educational Game of The Year奖了。哈哈。
当时用作控制的微处理器系统(那时叫单板机)不象现在,大多数不能用PC来编程和交叉编译。写二进制代码,转换成十六进制,再用十六进制数字键盘输入,是给系统编程的唯一方式,非常的繁琐。如果发现要加一条指令,咣当,有可能得从那个地址开始重新输入一大段指令。
但那确实是很好的训练,对机器硬件会有很直观的认识,并且会了解高级语言程序是如何转换成机器代码的。也是很有意思的事情,前提条件是能把程序调试运行出来。:)
裕兴内置一个F-Basic,其中一些扩展ascii码是超级玛丽等图标资源,写游戏比较方便。我就拿那本FBasic手册天天钻研,结果把眼睛搞近视了。
当时写过最大的程序大概是把原先已有的一个500行左右的GW-Basic的打飞机程序移植
到F-Basic,利用了它的图标资源,做了一些小扩展。
当时条件最艰苦的地方在于邻家小孩老是霸占机器打游戏,我上机机会太少,只好把程序写在纸上,在脑子里跑和调试,最后再找机会上机输入。
后来上了初中才在学校机房里找到了比较多的上机机会。
98年时候我读了 元数学导论 这本书,才算明白了计算机怎么回事
尤其是scala这种扯淡型的鸡贼语言,为了写的爽挖了无数的坑。结果很多用来鄙视
java 的“高性能特性”到runtime里面一看, 卧槽硬是被jvm的jit给横扫了。
现在不会玩这些了。不能一辈子脑子不开窍
学MFC直接就进坑了。我是有同学教我,不然那时候网络不发达,
多半也直接傻x了
MFC也很适合手写,那么多乱七八糟的框架其实都不需要。搞那么复杂的MVC模型,实际上是为了给OLE接口铺垫。
MS自己也嫌MFC太大,从VC6开始用ATL搞出个WTL
我们设计程序,脑子里开始阶段都有个大概的对要用的东西的估计,
就是特定的计算机器模型。开始设计错了,后面很麻烦。
Winmain那个例子就强的太多了。
仙剑奇侠一整天要改dos config文件
ATL写,没有额外代码,短小精悍,结合C++11更能一眼看清Win32程序的轮廓
老系统养不起虚拟内存的,1M内存特别贵当年还有专门偷内存的贼
仙剑有这个局限是它自己土啊,你看美国那么多游戏用DOS4GW搞就没问题
的一个黑暗时代。
我当时是很喜欢用DOS/Windows的。后来到本科高年级时学了操作系统课,开始感觉有
点不对劲,研究生时学了Unix kernel编程,用workstation,突然意识到,Windows 3.x和95,多用户管理在哪里?进程保护和系统保护是怎么做的,为什么一个程序崩溃能
把整个OS搞死?为什么在DOS/Windows上写一个病毒软件那么容易?再后来才意识到,
Windows 3.0到ME都是赶工之作,就是为了把用户尽快圈起来,操作系统课上讲的标准
功能,在Windows并不齐全,呵呵。
Windows NT系列还不错,那是另话了。
NT的开发一直和9x平行但是最终用户直到2001年才买得起NT的硬件,即XP机器。
MS也有自己的unix,问题是如果只有1兆内存什么硬件驱动都放不下,屁用没有
deployment都不错的。
python也不只能写小工具吧,因为programming就是make tools and use tools. you
assemble small tools to construct large tools. what's the point?
这是一个原因为什么我觉得他基础打的不牢:他推崇和猛拍的,要么不是要点,要么是课本上提到的,老师讲过的,或者可以简单推论出来的。他完全没有必要狂热地去推或拍,除非他没有修过完整的相关课程,或者上课没有听讲。:-)
他写第一篇文章时大部分国内人民都上不了网,所以看到搬运来的吹捧文眼前一亮,但吵架水文没干货在全球都是真理啊,所以日后就被打脸了。
他批unix的一些话我赞同,去找了unix hater那本书看,很好看哈哈
unix的优点和缺点都是来自于程序员做的给程序员而不是用户的系统。
我当年玩一个rpg,有个怪hp9999怎么都打不死,我就把自己的hp锁定,对方hp改成0,夹住键盘打了几个钟头,小概率对方的hp -1变为负数后赢了,然后直接回到了C:>。。。
后来发现这个怪不能直接打死,必须发展其它情节。。。
但是还是要开始进入战斗画面,退出画面。我直接改为跳过。遇到敌人敌人自动消失。
说到底,直接throw exception方便了码工,苦了用户。
PASCAL。
不过JVM确实是非常好的。
现在F35虫子一大堆跟没有足够的ADA程序员,不得不用C++有很大关系。
因为基于C的windows API太经典了,Linux也是C,导致我
骂了5年的C++。我自己也是07年左右才从C转的C++。这个
版上还有我当年问的问题。
龙猫说的是不对的。八十年代末,九十年代初,个人机硬件就足以运行UNIX或其它具有完整功能的操作系统了。微软让这个时代晚了整整十年。
但是当年的consumer market需要的不是多用户环境,而是更像带多媒体功能的图形
工作站。
可惜thrust不来了
俺滴偶像
记得第一次用Turbo Pascal的惊艳感觉,要知道Turbo Pascal是
Anders用汇编写的!
那时候的电脑运算能力可是弱啊