程序员的语言“艳遇史”(一)

  (***以下小说情节纯属虚构,供朋友们在紧张编程后轻松一下,如有雷同纯属巧合,切勿对号入座***)

  地狱里,一个曾经的程序员经不过魔鬼们的严刑拷打,终于把埋藏在心里多年的年少荒唐史给招了。

  “好吧,魔鬼大王,我承认我是花心大萝卜,革命意志薄弱,没有管好自己,但我再坏也比不上陈冠希,您不能这样冤枉我啊!”

  “我靠!陈冠希才几个啊,你比他多多了!我们地狱的妇联都投诉了,说这样的流氓不严惩,全体女妖从明天起一律罢工!快老实交代你的罪行。”

  “我招,我招还不行吗?”

  程序员战战兢兢的打开地狱专用的日本Sany牌便携电脑,开始码字……

  大学期间

  第一个女孩——班长pascal

  pascal是我们计算机系93(1)班班长,长得一般,严谨得可怕。据说是某省的高考状元,还是党员,所以一入校就被我们辅导员当成宝贝,连民主选举都免了,直任班长。

  计算机系肯定有试验上机课啦。由于pascal学习好,机房上机时总是第一个完成。然后老师就叫她帮忙,对我们这些中学时连键盘都没摸过的菜鸟进行辅导。我当时上机,主要工作就是照着事先在纸上写好的代码,在键盘上找字母。简直是晕倒,一个简单的程序编译了几十次都过不去。我正绝望时,突然闻到一阵淡淡的如幽兰般的香气,原来是她!

  pascal推推眼镜,微笑着说:

  “第20行少了一个分号,第23行句点变成逗号了,还有你的那个过程怎么嵌套了这么多重子过程,begin和end可能不匹配,你数一数。”

  我试了一下,通过啦!那个该死的pascal编译器环境终于放了我一码。怪不得她那么强,编译器的名字都和她一样。我回头正想说谢谢,发现pascal正在辅导其他人。她今天一袭白色的连衣裙,清纯得可爱,我不觉得看呆了。突然一个脏手在眼前一晃,靠,同宿舍的阿飞在旁边一脸坏笑,败兴的家伙!

  男生对比自己厉害的女生一向不感冒,每天晚上熄灯后宿舍里开谈话会,pascal往往成为众矢之的,什么“飞机场”、“性冷淡”等等脏词不断。我有时候也敷衍几句,但是心里总觉得有点不好。不会吧,不就辅导个上机,你就喜欢上她了,你怎么这么没用。我心里暗骂自己。

  完了,阿飞这个死人,四处散播谣言,说我暗恋pascal。我气得想揍他,宿舍同学赶忙调解。终于在305宿舍全体人民代表大会决议下,说只要我敢当众给pascal一个难堪,让她不敢自认为是学习最好的,为93级备受压迫的男生复仇,我就可以洗刷自己的罪名。

  怎么办呢?大一编程课本问题太简单,都难不住pascal。这样吧,找大四的师兄“变态borland”帮忙,此人是borland公司编译器产品骨灰级玩家,故有此名。“变态borland”奸笑着拿出一本复印件,说:

  “看看,为了帮你这个忙,我把压箱底的资料都翻出来了。”

  我一看,一个叫brainW.Kernighan的家伙写的论文,题名是“Why Pascal is Not My Favorite Programming Language”。

  “这篇论文对早期的Pascal语言有很多一针见血的批评,你们一年级的 教材还是用老Pascal,正好可以一用。”

  是不是啊,我将信将疑。“变态borland”毫不客气的敲诈我一堆饭票,搞得那个月我吃素都快吃成和尚了。把那篇破论文研究了一番,抄了几段代码,终于到了兄弟证明自己的时刻。

  那天上机,我继续在键盘上找字母……

  诸位看官知道,我们一年级入门语言Pascal是一个强类型命令式语言,必须对变量、过程参数和返回值都指定类型,然后通过类型检查确保对其进行的操作是合法的。其发明者N.Wirth定义的原初Pascal语言标准不支持动态数组(在后来的商业扩展诸如turbopascal中已经支持,只不过当时课本并无提及),在对数组类型进行定义时必须将数组的长度显式写在类型定义里。比如,

  type

  a = Array [1..10] of Integer;

  b = Array [1..25] of Integer;

  定义了两个长度分别为10和25的整型数组类型。

  如果我们要编写一个通用函数库,其中有一个sort例程要对任意长度的整型数组进行排序。这个时候我们该如何定义其参数类型了?总不能设定一个最大长度,所有数组都一样长吧?用指针类型,Pascal指针必须有一个明确的类型指派 ,一指派不又掉到沟里去了吗? 此外Pascal也不象C语言那样支持指针算术,可以干点“违法”的事情。 所以对于使用老Pascal语言的一年级新生来说,这是一个有点难度的问题,可以对pascal姐姐进行一番刁难。

  我故意大声叫pascal,“班长,快来,我这有个难题!”。我可爱的pascal微笑着迈着自信的步伐走来,看到了那个变态问题。她愣了一下,疑惑的看了看我。周围一堆人围了过来,弄得她压力很大,她迟疑了一会说,“可能要定义一个最大数组长度吧。”

  我早正等着她这句呢!“那这么行,最大长度是多少,内存不够用怎么办?”一向追求完美的她脸青一阵红一阵,鼻头也渗出了小小的汗滴。周围男生起哄,“pascal女王遇到难题了”。

  不知哪个猪头出卖,后来pascal发现那个事是我早有预谋的,从此就没有给我好脸色。过了几个月,pascal被学校报送到新加坡当优秀交流学生,从此再无音信。

我的心好痛,我的第一段青春骚动就这样结束了。

  待续:第二个女孩   计算中心管理员小C

转载于:https://www.cnblogs.com/fzwudc/archive/2010/04/24/1719606.html

程序员的语言“艳遇史”(一)——班长pascal相关推荐

  1. 程序员的语言“艳遇史”(四) ——数学系师姐forth

    (***以下小说情节纯属虚构,供朋友们在紧张编程后轻松一下,如有雷同纯属巧合,切勿对号入座***) 第四个女孩    数学系师姐forth 一个闷热的下午,我坐在梯形教室里,百无聊赖,听着讲台上一个白 ...

  2. 程序员的语言“艳遇史”(六)——网络工程师perl

    (***以下小说情节纯属虚构,供朋友们在紧张编程后轻松一下,如有雷同纯属巧合,切勿对号入座***) 第六个女孩  网络工程师perl 一.风雨割接夜 一个风雨交加的夜晚,我骑着我的小电驴,奔驰在东大街 ...

  3. 黑马程序员C语言基础(第五天)运算符与表达式、程序流程结构、数组和字符串、函数

    https://www.bilibili.com/video/BV15W411K7k6?p=93&spm_id_from=pageDriver 黑马程序员C语言基础(第五天)运算符与表达式.程 ...

  4. 黑马程序员——c语言学习心得——函数传递二维数组

    黑马程序员--c语言学习心得--函数传递二维数组 -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.定义指针的时候一定要初始化.    变量 ...

  5. 黑马程序员C语言基础(第八天)复合类型(自定义类型)(结构体)、共用体(联合体)、枚举enum、 typedef

    黑马程序员C语言基础(第一天) 黑马程序员C语言基础(第二天) 黑马程序员C语言基础(第三天) 黑马程序员C语言基础(第四天)数据类型 黑马程序员C语言基础(第五天)运算符与表达式.程序流程结构.数组 ...

  6. 黑马程序员C语言基础(第七天)内存管理

    黑马程序员C语言基础(第一天) 黑马程序员C语言基础(第二天) 黑马程序员C语言基础(第三天) 黑马程序员C语言基础(第四天)数据类型 黑马程序员C语言基础(第五天)运算符与表达式.程序流程结构.数组 ...

  7. 黑马程序员C语言基础(第三天)

    黑马程序员C语言基础(一)第三天 https://www.bilibili.com/video/BV15W411K7k6?p=40 文章目录 低级语言与高级语言 c语言优缺点 c语言应用领域 通过gc ...

  8. Java程序员Go语言入门简介

    引用:Java程序员Go语言入门简介 为什么是 Go 语言 类 C 的语法,这意味着 Java.C#.JavaScript 程序员能很快的上手 有自己的垃圾回收机制 跨平台.编译即可执行无需安装依赖环 ...

  9. 登上维密舞台的程序员,她可能是史上最拼的超模!

    很多人提起「超模」,总会觉得她们只是靠脸和身材在吃青春饭.但事实上这群被誉为非人类物种的尤物之中,有许多皆是美貌与才华兼具的综合体.比你美却还比你拼,用来形容她们再合适不过了. 今天要和大家分享的便是 ...

最新文章

  1. range.clonecontents 不准确_家长注意!通州今起开展幼升小数据调查,不参加或影响明年入学...
  2. 删除vector指定位置的元素
  3. dpkg and apt
  4. Chrome 插件开发-桌面通知设置实战演示,设置通知显示、存在时间
  5. 【PC工具】200412更新百度网盘下载工具——最终最简单百度网盘下载方法及注意事项...
  6. python列表使用技巧与方法_Python列表的相关操作与方法
  7. php中mysqlstat函数,PHP函数mysql_stat介绍
  8. logistics回归多样本算法
  9. SqlServer存储过程之简单入门
  10. 转~解决VS2017 C++无法打开源文件 WinSock2.h Windows.h mswsock.h Ws2tcpip.h
  11. 集中化Linux日志管理系统
  12. 2015-nature-deep learning-LeCun, Bengio and Hinton
  13. 怎么退出磁贴桌面回到传统桌面?
  14. 浪潮4U服务器 raid5 直通(JBOD)
  15. IMX6ULL UART5配置错误imx6ul-pinfunc.h
  16. 微信云开发-后端-快速上手
  17. python pandas合并单元格_python pandas拆分单元格
  18. Conflux v2.2.0 网络 Hardfork 升级公告
  19. adwords与adsence
  20. 算力和硬件的关系_硬件与软件:躯体与灵魂

热门文章

  1. ASP.NET杂谈-一切都从web.config说起(2)(ConfigSections详解-中)
  2. Java NIO系列教程(八) SocketChannel
  3. CCF NOI1150 确定进制
  4. bootstrap的两种在input框后面增加一个图标的方式
  5. Microsoft和AWS推出免费的云优化服务
  6. 13、ActiveX控件
  7. 0016-Avro序列化反序列化和Spark读取Avro数据
  8. ajax、offset
  9. Spring Boot异常
  10. 解决ftp限制用户访问上层目录后无法登陆问题