热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

程序员的“语言奇缘”续篇:计算中心管理员小C的非正式编程之旅

(以下故事纯属虚构,旨在为编程爱好者提供一丝轻松时光,如有雷同,纯属巧合,敬请读者勿过度联想)在操作系统课程中,我们认识了计算中心的管理员小C。小C虽然并非科班出身,却凭借对编程的浓厚兴趣和不懈努力,逐渐在技术领域崭露头角。她不仅熟练掌握了多种编程语言,还经常利用业余时间开发一些实用的小工具,帮助同事提高工作效率,成为了团队中的技术明星。小C的故事激励着每一个热爱编程的人,证明了技术之路不问出处,关键在于不断学习与实践。

程序员的语言“艳遇史”(二)——计算中心管理员小C

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

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

  操作系统课上,我们无比敬仰的课任老师“胖头余”唾沫横飞:

  “中国计算机事业的发展,需要一大批熟练掌握unix和c的专业人才……”

  “计算机系的第一母语,那就是c语言……”

  “招之即来,来之能战,战之能胜……”

  要不要这么上纲上线啊,知道的懂得是上操作系统课,不知道的还以为是***红卫兵动员呢。今天真倒霉,来得迟了一些,挤在第一排,被喷了一脸的唾沫星子,抹一把,咦,还带广式月饼味的。

  “胖头余”的可恶之处还在于,不允许我们用pc机dos系统完成大作业,必须到东校区计算中心,用Bull小型机完成,期末要检查我们的系统帐户。他还美其名曰,“学操作系统就要使用原滋原味的unix”。

  不去不知道,一去吓一跳。大伙儿到计算中心都被深深震撼了,果然是“原滋原味”,里面的家什如果配上穿孔纸带什么,就可以直接改名为“计算机历史博物馆”。小型机躲在玻璃罩里,横躺着。我们都怀着瞻仰毛主席遗容的心情,从它旁边经过,到里面的终端室上机。

  为什么我们在上机问题上比一年级嚣张很多呢?因为当时宿舍一帮死党凑份子买了一台286。原来一个个信誓旦旦,这个要追赶求伯君,那个说要分析dos内核。自从小肖搞来一套“大富翁”之后,好嘛,一伙人整天凑一起掷点数。过了一段更猛的料来了!麦东从香港弄来一套日本脱衣麻将……。原来准备研究dos内核的兄弟现在被指派了更重要的任务——破解游戏通关图片。一帮家伙流着哈喇子说,大家初三生理卫生都不及格,就指着您给复习了。

  大家知道,我是比较纯洁的。喂,别扔板砖!好吧,我承认我被诱惑过,但是你们看,我不还是老老实实来计算中心上机了吗。我的课业还算可以,就被宿舍人代会指派完成操作系统大作业的任务了。这帮禽兽!

  但是,我很快就有一个意外发现,那就是小C。

  小C是那种很耐看的女孩,虽说不上特别艳丽,但五官端庄,眼神静静的,像一汪清澈的湖水。平时总带着一丝微微的笑意,让你特别舒服。唉,这么好的女孩,当这个棺材屋子的管理员!学校管理层是怎么想的,看她年龄不大,不会是勤工俭学吧。

  小C的工作用我们的行话来说,属于动态内存分配范畴。我们进机房,要分配一个有号数的令牌,这就算指针了。墙上几十个挂件,每个对应一台终端,这就算空闲内存单元了。

  进来一个,拿走一个令牌,就算是指针被分配内存了。

  出去一个,交回一个令牌,就算是释放空闲资源了。

  如果你上去一看, 靠,“Segment fault”,指定位置上没有终端,属于使用null指针的情况。楼上大叔真是的,终端送修也不通知小C,搞得我还要跑下去换牌子。

  如果你发现位置已经有人,怎么回事?兄弟,这么不长眼,你18号怎么坐到28号位置来了。这属于指针越界访问情况,自己调解。

  一来二去,我和小C就熟悉了。原来她是高考落榜生,在计算中心当个临时工,还在参加自学高考。不过她unix系统用得比我老练多了,这管理员没白当,足可以当我老师。我厚着脸皮,多次以做机房卫生为代价,获得了美女给我下指导棋的机会。用现在时髦的话说,这是两种文明的对话——我代表dos星球,她来自外太空的unix行星。

  不过,要论高中数学什么的,就轮到她崇拜我的份了。妹妹,需要辅导早说嘛。哇,最近胳膊肘老疼,都是这做卫生给闹的。

  现在,我爱死bull小型机了,怎么看怎么觉的比宿舍的pc机人性化。每天上机和小C邮件发来发去的,成为编程之余一大乐事。大作业都完成了,我还往计算中心跑。很快,我的免费机时就over了,自己得贴钱。不过能看到亲爱得小C,我愿意。但是老蹭饭就不对了,弄得吃饭时一些人远远看到我,就假装上厕所掉头就溜。我怒了,以大作业不给参考进行威胁,局面才有所好转。

  期末快到了,马上要交操作系统和编译原理两门大作业。大家脸都绿了,一个个做奋发图强状,连生理卫生这么重要的课都没人研究了。操作系统大作业是用c语言模拟unix文件系统,他们还可以参考一下。不过编译原理大作业他们就无法参考我的了,因为我选的是实现c语言子集,他们都选了实现pascal语言子集。这帮人被c语言怪异的语法吓到了,而且还以为一年级的入门语言肯定更简单。我呢,在小C的精心栽培下茁壮成长,当然选c语言啦。

  他们不知道,虽然两者都源于Algol60体系,但pascal是理论家设计的语言,模型那叫一精美;而c是工程师设计的语言,为了便于实现,不懂砍掉多少东西。

  就以过程调用这块来讲吧。C语言的函数不允许嵌套,属于非块结构语言。任何时刻可以访问的变量,或者属于函数内部局部作用域,或者是全局空间(static也算全局),只有两个层次。这样,运行时间系统管理工作就简单多了,反正全局变量就是分配在内存中的固定位置了,栈帧不断堆叠就是了,下一个帧就代表调用者,可以返回,但是当前函数正常是不能访问调用者的作用域的。

  Pascal语言就麻烦了,过程可以嵌套,内部过程可以访问外部过程定义的变量。那时的编译课本,70%的部分是讲词法和语法分析,运行时间系统一语带过,讲得不清不楚,够他们喝一壶的。有的人使用什么静态链、动态链,有的人用Display表来管理帧指针,反正都深陷泥潭。

  末了,我的两门大作业都得了优。我正筹划着给小C飞鸽传书,一诉衷肠,好好庆祝一番。突然有人通知,“胖头余”要单独召见我。不会是要给什么奖学金吧。我乐呵呵的就跑去了。

  结果我听到了一个无比恐怖的信息,原来小C是“胖头余”的女儿。我们的“奸情”暴露了。什么啊,就牵过手,都传成什么样了!就差没开房了。不过“胖头余”好歹是大学教授,不会动粗,总之都是电视剧语言啦。还年轻,要把精力放在学习上,长痛不如短痛,以后不要再见面,天涯无处无芳草……

  杯具啊,我的初恋就这样被扼杀在摇篮中。

 

   待续: 法国外教prolog


推荐阅读
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 深入探讨前端代码优化策略
    本文深入讨论了前端开发中代码优化的关键技术,包括JavaScript、HTML和CSS的优化方法,旨在提升网页加载速度和用户体验。 ... [详细]
  • 汇编语言:编程世界的始祖,连C语言都敬畏三分!
    当C语言还在萌芽阶段时,它首次接触到了汇编语言,并对其简洁性感到震惊。尽管汇编语言的指令极其简单,但它却是所有现代编程语言的基础,其重要性不言而喻。 ... [详细]
  • 在Effective Java第三版中,建议在方法返回类型中优先考虑使用Collection而非Stream,以提高代码的灵活性和兼容性。 ... [详细]
  • protobuf 使用心得:解析与编码陷阱
    本文记录了一次在广告系统中使用protobuf进行数据交换时遇到的问题及其解决过程。通过这次经历,我们将探讨protobuf的特性和编码机制,帮助开发者避免类似的陷阱。 ... [详细]
  • 编译原理中的语法分析方法探讨
    本文探讨了在编译原理课程中遇到的复杂文法问题,特别是当使用SLR(1)文法时遇到的多重规约与移进冲突。文章讨论了可能的解决策略,包括递归下降解析、运算符优先级解析等,并提供了相关示例。 ... [详细]
  • 本文详细介绍了在单片机编程中常用的几个C库函数,包括printf、memset、memcpy、strcpy和atoi,并提供了具体的使用示例和注意事项。 ... [详细]
  • 大华股份2013届校园招聘软件算法类试题D卷
    一、填空题(共17题,每题3分,总共51分)1.设有inta5,*b,**c,执行语句c&b,b&a后,**c的值为________答:5 ... [详细]
  • 本文将深入探讨C语言代码的可重用性,解释其重要性和实现方法。通过具体示例,我们将展示如何通过封装和模块化设计提高代码的可重用性。 ... [详细]
  • 函子(Functor)是函数式编程中的一个重要概念,它不仅是一个特殊的容器,还提供了一种优雅的方式来处理值和函数。本文将详细介绍函子的基本概念及其在函数式编程中的应用,包括如何通过函子控制副作用、处理异常以及进行异步操作。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • 在Linux系统中,许多应用程序以源代码的形式提供,这给安装带来了挑战。本文旨在介绍一种简化源码软件安装流程的方法,帮助用户更加轻松地完成安装。 ... [详细]
  • PHP面试题精选及答案解析
    本文精选了新浪PHP笔试题及最新的PHP面试题,并提供了详细的答案解析,帮助求职者更好地准备PHP相关的面试。 ... [详细]
  • 实现系统调用
    实现系统调用一、实验环境​本次操作还是基于上次编译Linux0.11内核的实验环境进行操作。环境如下:二、实验目标​通过对上述实验原理的认识,相信 ... [详细]
author-avatar
小冰的大夢想
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有