我曾做过陈士成,也做过孔乙己,还做过阿Q
一、
我现在是陈士成,陈士成现在是我。为什么这么说呢?
那年那天,天刚微微亮,似乎还在打着哈欠。我和父亲去得很早,为的就是在“小升初的考试成绩榜单”前面占一个有利的位置。我不记得当时穿的厚还是不厚,体面还是不体面,但能确定的是穿的绝不是陈士成的那件“长衫”,也没留陈士成那样长长的辫子。
我和父亲拼命地在榜上找一个叫“王二”的名字;没错,王二就是我的名字。小时候,有一些不怀好意的人总喜欢亲切地叫我“二蛋”,这外号十足十的令我生气,但我无力改变。这责任也不能归咎于我父亲,因为在我出生之前,他已经替我想好了一个“伟大”的名字——王卫国。但奈何算命的先生死活不肯同意,他断定我这一生都不可能有“保家卫国”的丰功伟绩,必须叫一个俗气点的名字才能保住这条小命。于是,老先生算来算去,最终决定叫我“王二”。
至于为什么父亲和母亲会同意算命先生的决定,我到现在似乎才找出了像样的答案:带女儿去王府井的“金宝贝”上早教课,发现有小朋友叫“豆包”、“毛豆”,还有叫“乔治”的。刚开始见“乔治”的名字时,我感叹说“乔治”的爸妈很时髦嘛,给儿子叫这么一个洋气的名字!后来陪女儿看《小猪佩奇》动画片的时候才恍然大悟,原来“乔治”是小猪佩奇的弟弟!
“王”是大姓(毕竟张王李赵,王排第二呢),因此姓王的名字很多;我和父亲找得也很辛苦。尽管密密麻麻的白色粉笔字争先恐后地挤进我的眼睛里来,但没有一个是“王二”。我急得眼泪在眼眶里直打转,偷偷地仰头看了一眼父亲的脸色,似乎有些铁青。我于是下了狠心,重新在榜单上用心的检索了一遍,似乎在中间的位置发现一个像似我的名字——“王一”。
“爹,你看,那是不是我的名字?”我踮起脚,伸长胳膊,费力地用手指向了那个名字。
“哎,好像是,下面那一横有点不显了。”父亲往前一步,仔细地观察了一番,终于确认那就是我的名字。
当我今天读鲁迅笔下的陈士成时,我想起了18年前站在阳坡鄉中(那时候,总以为这个鄉字应该念lang)“小升初的考试成绩榜单”前面的我和父亲;假如那时候没找到“王二”的名字,我会不会小学毕业就回家像陈士成那样在家掘地三尺,寻一份闪耀着“白光”的宝藏呢?
你做过在家挖矿的梦吗?
二、
我现在是孔乙己,孔乙己现在是我。为什么这么说呢?
小升初的时候因为“一横”差点落榜,但好歹是没落榜;但高考却是实打实的落榜,复读那年的成绩和第一年的成绩不相上下,都离二本有几分的距离。那时候的选择不多:
第一,继续复读;我高二的语文老师陈士国,就对外宣称自己是“八年抗战”才考上大学的,他的毅力常常令我们学生感到钦佩。但我毕竟只是个普通的学渣(被算命先生言中了),再复读一年估计只能再枉费一年青春;另外,父亲对我也颇为失望,大概是信了算命先生的话,对于复读的事情持反对的意见。鉴于此,再复读的路是走不通了。
第二,上三本;但三本学费高昂,家里承担不起。仅此一条,上三本的路也堵死了。
第三,回家种地,继承“家产”;但父亲一看见我鼻梁上架着的那幅近视镜,就非常不屑地给我下了一个定论:“就不像一块种地的料!”我自己也想,就那十几亩地的家产,也确实配不上我这个“高材生”。
第四,上大专;学费比起三本来说实惠得多,还只用上三年,甚至大三就可以做实习生上班挣钱。这实在是再明智不过的选择了。
但,这在很长一段时间里都给了我一种错觉——自以为是上二本的料,却被命运捉弄上了大专(实际上是成绩好的不愿意和咱玩,咱又不屑于和成绩差的为伍)。哼,简直和孔乙己是一副臭模样。
孔乙己就是一个自负而又自卑的人!他穿着长衫却会红着脸和别人争辩;他赊酒欠账,但人品似乎比别人好,有钱就还。想一想自己——读书十来年,浑浑噩噩,好不容易混得一纸大学文凭。发誓老子一定要混出点人模狗样,到现在还是一贫如洗。羡慕那些能说会道的,看人家混得风生水起,再瞅瞅自己,只叹生不逢时,恨老天有眼无珠;间歇性的踌躇满志,持续性的混吃等死——呵呵,鲁迅先生的“哀其不幸,怒其不争”,难道只是在说孔乙己,不包括我王二吗?
读孔乙己,不应该只嘲笑他的迂腐,还应该看得出他人性中的光辉——他不吝啬把“茴香豆”分享给小朋友吃,只剩下几颗的时候才想起来自己,比起社会上那些自私自利的家伙们(机动车在直行的情况下强行右转的那些无耻司机),孔乙己在我心目中反倒伟大了起来。
三、
我现在是阿Q,阿Q现在是我。为什么这么说呢?
因为咱也有一套切实可行的“精神胜利法”:
看别人开奔驰宝马,自己坐公交、骑自行车,就说自己“环保又健康”;
看别人年薪百万,自己每月不到一万,就说自己“要不是生活在洛阳这个三四线城市,也能月薪两三万”;
看别人公众号每篇文章动辄百万+的浏览量,自己每篇上百都是惊喜,就说自己“只要继续坚持,终将守得云开见月明”;
......(请脑补更多)
不然还能怎样?出身不是自己能决定的,凭一己之力又做不出翻天覆地的改变,也不能靠买彩票成为阿里巴巴一夜暴富,还没有把握住机会靠读书识字谋得一官半职。你说,像咱这样的“屌丝”程序员,除了靠着“精神胜利法”苟且般的活着,还能怎样?
得到人们的尊敬,有女人,过上好日子,就是阿Q的梦想。也是诸多“码农”程序员们的梦想。
比起阿Q,我的境况要好多了,大学幸运的被调剂到“计算机网络专业”,学的Java编程语言。Java作为面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程;近些年,Java一直霸占着编程语言界的头把交椅,而我也靠着Java工程师这一头衔挣了一些钱。
往后去,只要我用心地坚持(在编程方面夯实基础,在挣钱方面转换思维,在生活方面时刻反省),也一定会在业界小有成绩。因为我想起了鲁迅的另外一句话:
希望是本无所谓有,无所谓无的。这正如地上的路;其实地上本没有路,走的人多了,也便成了路。
我曾做过陈士成,也做过孔乙己,还做过阿Q的更多相关文章
- 把www.domain.com均衡到本机不同的端口 反向代理 隐藏端口 Nginx做非80端口转发 搭建nginx反向代理用做内网域名转发 location 规则
负载均衡-Nginx中文文档 http://www.nginx.cn/doc/example/loadbanlance.html 负载均衡 一个简单的负载均衡的示例,把www.domain.com均衡 ...
- 端口被占用通过域名的处理 把www.domain.com均衡到本机不同的端口 反向代理 隐藏端口 Nginx做非80端口转发 搭建nginx反向代理用做内网域名转发 location 规则
负载均衡-Nginx中文文档 http://www.nginx.cn/doc/example/loadbanlance.html 负载均衡 一个简单的负载均衡的示例,把www.domain.com均衡 ...
- 文章如何做伪原创 SEO大神教你几招做"原创"网站文章的心得
想要创作出好的文章并被百度所喜欢,就非常需要SEO的优化能力,以及要对文章进行塬创或伪塬创,那么,如何做伪塬创文章?以及如何做好塬创网站文章呢?对此,本文小编就为大家带来了几招做"塬创&qu ...
- 预热篇- 总结Delphi Xe4 做App的的可行性分析. ios平台的问题还需要自行学习
首先澄清一个问题, 很多同学其实是误会了, 以为只要搞定了Delphi 就能很快写快餐程序了. ios 本身的知识还是需要一些的, 并没有什么捷径可以走. 但如果一个团队有分工协作的话, Delph ...
- 最新做路径动画必备Simple Waypoint System5.1.1最新做路径动画必备Simple Waypoint System5.1.1
NEW IN 5.0: up to 400% faster thanks to the DOTween engine! UnityEvents, new movement options and mo ...
- 不用框架,原生使用python做注册接口/登陆接口/充值接口的测试,做的数据/代码分离
注意充值时候,cookie的处理方法,还是原来的三种方法 1.操作数据文件 do_exclel.py # -*- conding:utr-8 -*- #@Time :2018/11/8 22:46 ...
- 做新时代的奋斗者!(好吧,我还没弄出python的编译环境)
Pictures: 今日分来的补记来嘞: Game 1:Guess the number. Python包含许多内建的函数,有些函数存在于称为模块的单独的程序中,可以使用import语句把它们的模块导 ...
- Kotlin都转正成Android官方语言了,你还不试一下?
想想Android Studio 和Eclipse ,我觉得你还是有必要入手Kotlin了. 站好队很重要. 以前的一篇总体概括老文,大家可以看看~ 爽翻天!告别Java.一起来使用kotlin开发完 ...
- Angular 2.0 从0到1 (七)
第一节:Angular 2.0 从0到1 (一)第二节:Angular 2.0 从0到1 (二)第三节:Angular 2.0 从0到1 (三)第四节:Angular 2.0 从0到1 (四)第五节: ...
随机推荐
- python中用xlsxwriter创建图表
缺点:xlsxwriter不能对已存在的Excel进行编辑插入图标 生成图标需要: 1.先准备数据 2.将数据插入到excel中 3.根据插入的数据生成图表 这里的生成excel主要分为准备多维数 ...
- python常见的函数和类方法
在学python编程时 常常会遇到些常见的函数 记录学习 1. getattr函数 """ getattr() 函数用于返回一个对象属性值. 语法: getattr(ob ...
- python copy模块
python copy模块 copy模块用于对象的拷贝操作 该模块只提供了两个主要的方法: copy.copy:浅复制 copy.deepcopy:深复制 直接赋值,深拷贝和浅拷贝的区别 直接赋值:简 ...
- 与下位机或设备的通信解析优化的一点功能:T4+动态编译
去年接触的一个项目中,需要通过TCP与设备进行对接的,传的是Modbus协议的数据,然后后台需要可以动态配置协议解析的方式,即寄存器的解析方式,,配置信息有:Key,数据Index,源数据类型 ...
- DW1000 用户手册中文版 附录2 IEEE-802.15.4 MAC层
由于已经在wode中排版无法直接复制到博客中,故本节博客发布使用了图片. 论坛可下载PDF http://bphero.com.cn/forum.php?mod=viewthread&tid ...
- 10-HTTPServletReauest和HTTPServletResponse
Servlet配置方式 1. 全路径匹配 以 / 开始 /a /aa/bb localhost:8080/项目名称/aa/bb 2. 路径匹配 , 前半段匹配 以 / 开始 , 但是以 * 结束 /a ...
- 如何把if-else代码重构成高质量代码
原文:https://blog.csdn.net/qq_35440678/article/details/77939999 本文提纲: 为什么我们写的代码都是if-else? 这样的代码有什么缺点? ...
- spring-cloud-gateway负载普通web项目
spring-cloud-gateway负载普通web项目 对于普通的web项目,也是可以通过spring-cloud-gateway进行负载的,只是无法通过服务发现. 背景 不知道各位道友有没有使用 ...
- vue + websocket 的使用
阳光正好,我们正在努力前行. 一.引言 初始使用websocket ,一开始看文档的时候,觉得很简单,只需要创建websocket实例,然后有几个监听打开连接,监听关闭连接,监听连接异常等方法.但是, ...
- mongodb建立索引
创建索引 索引:以提升查询速度 语法:db.集合.ensureIndex({属性:1}),1表示升序,-1表示降序 具体操作:db.t255.ensureIndex({name:1}) db.t1.f ...