热门标签 | 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


推荐阅读
  • Python 内存管理机制详解
    本文深入探讨了Python的内存管理机制,涵盖了垃圾回收、引用计数和内存池机制。通过具体示例和专业解释,帮助读者理解Python如何高效地管理和释放内存资源。 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 解决TensorFlow CPU版本安装中的依赖问题
    本文记录了在安装CPU版本的TensorFlow过程中遇到的依赖问题及解决方案,特别是numpy版本不匹配和动态链接库(DLL)错误。通过详细的步骤说明和专业建议,帮助读者顺利安装并使用TensorFlow。 ... [详细]
  • 本文详细介绍了在XAMPP环境中如何修改Apache和MySQL的默认端口号,并确保WordPress能够正常访问。同时,提供了针对Go语言社区和Golang开发者的相关建议。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 本文详细介绍了如何检查和配置电脑上的PHP环境,包括位数、运行支持以及文件格式的打开方式。适合初学者了解PHP的基础知识和操作方法。 ... [详细]
  • 深入理解Java多线程并发处理:基础与实践
    本文探讨了Java中的多线程并发处理机制,从基本概念到实际应用,帮助读者全面理解并掌握多线程编程技巧。通过实例解析和理论阐述,确保初学者也能轻松入门。 ... [详细]
  • 程序员版情书:王思聪的编程式告白
    当程序员用代码表达爱意,会产生怎样的化学反应?一起来看看这封充满技术感的情书,网友笑称这才是真爱! ... [详细]
  • 本题来自WC2014,题目编号为BZOJ3435、洛谷P3920和UOJ55。该问题描述了一棵不断生长的带权树及其节点上小精灵之间的友谊关系,要求实时计算每次新增节点后树上所有可能的朋友对数。 ... [详细]
  • 小编给大家分享一下如何移除URL中的index.php,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • 使用Nginx反向代理实现多域名端口映射
    本文介绍如何通过配置本地hosts文件和Nginx反向代理,实现多个虚拟域名的端口映射,使用户可以通过标准HTTP端口80访问不同后端服务。 ... [详细]
  • 历经三十年的开发,Mathematica 已成为技术计算领域的标杆,为全球的技术创新者、教育工作者、学生及其他用户提供了一个领先的计算平台。最新版本 Mathematica 12.3.1 增加了多项核心语言、数学计算、可视化和图形处理的新功能。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
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社区 版权所有