我曾做过陈士成,也做过孔乙己,还做过阿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 (四)第五节: ...
随机推荐
- dbus-glib 和 GDBus 的区别
http://people.freedesktop.org/~david/gio-gdbus-codegen-20110412/ch29.html Conceptual differences(概念上 ...
- 【WPF开发备忘】使用MVVM模式开发中列表控件内的按钮事件无法触发解决方法
实际使用MVVM进行WPF开发的时候,可能会用到列表控件中每行一个编辑或删除按钮,这时直接去绑定,发现无法响应: <DataGridTemplateColumn Header="操作& ...
- VIM懒人配置
VIM懒人配置 VIM配置起来,是很折腾人的.所以为了方便,直接使用前人的配置.重在用不在折腾. 1 VIM安装 一行命令. # sudo apt-get install vim 2 配置 vim的个 ...
- redis 实现
/** * Returns a string containing the string representation of each of {@code parts}, using the * pr ...
- 在命令行输入python出现“Warning:This Python interpreter is in a conda environment, but the environment has not been activated. Libraries may fail to load. To activate this environment please see https://conda.
[现象] 在命令行输入python出现“Warning:This Python interpreter is in a conda environment, but the environment h ...
- notes for lxf(三)
纯函数式编程是没有变量的,只要输入确定输出就确定 指高度抽象的编程范式 特点 函数本身可以作为参数传入 或者允许返回一个函数 Higher-order function 一个函数可以接收另一个函数作为 ...
- Activity 切换效果
Activity 切换效果 设置Activity 的 启动/退出时动画效果. 1.设置动画 通过方法 overridePendingTransition(enterAnim:Int,exitAnim: ...
- 简单使用WebSocket实现聊天室
环境需求:flask,websocket第三方包 目录结构 web中实现群聊 ws_群聊.py文件 # 实现一个websocket 先下载包 gevent-websocket from flask i ...
- 如何给小学生讲清楚ECC椭圆曲线加密
对于RSA这套公私钥加密的思路,我以为我挺明白的,运用的娴熟自如. 当然现在RSA用的不多,而是基于ECC曲线来做签名验签,最大名鼎鼎的莫过于比特币. 可是前两天和别人讲代码,被问了ECC为什么可以用 ...
- RSP小组——团队冲刺博客三
RSP小组--团队冲刺博客三 冲刺日期:2018年12月12日 各成员今日(12.12)完成的任务 马瑞蕃页面布局 李闻洲音乐代码的实现 赵乾宸,找bug,处理bug,使游戏滑动,消除实现 蒋子行会议 ...