一、

我现在是陈士成,陈士成现在是我。为什么这么说呢?

那年那天,天刚微微亮,似乎还在打着哈欠。我和父亲去得很早,为的就是在“小升初的考试成绩榜单”前面占一个有利的位置。我不记得当时穿的厚还是不厚,体面还是不体面,但能确定的是穿的绝不是陈士成的那件“长衫”,也没留陈士成那样长长的辫子。

我和父亲拼命地在榜上找一个叫“王二”的名字;没错,王二就是我的名字。小时候,有一些不怀好意的人总喜欢亲切地叫我“二蛋”,这外号十足十的令我生气,但我无力改变。这责任也不能归咎于我父亲,因为在我出生之前,他已经替我想好了一个“伟大”的名字——王卫国。但奈何算命的先生死活不肯同意,他断定我这一生都不可能有“保家卫国”的丰功伟绩,必须叫一个俗气点的名字才能保住这条小命。于是,老先生算来算去,最终决定叫我“王二”。

至于为什么父亲和母亲会同意算命先生的决定,我到现在似乎才找出了像样的答案:带女儿去王府井的“金宝贝”上早教课,发现有小朋友叫“豆包”、“毛豆”,还有叫“乔治”的。刚开始见“乔治”的名字时,我感叹说“乔治”的爸妈很时髦嘛,给儿子叫这么一个洋气的名字!后来陪女儿看《小猪佩奇》动画片的时候才恍然大悟,原来“乔治”是小猪佩奇的弟弟!

“王”是大姓(毕竟张王李赵,王排第二呢),因此姓王的名字很多;我和父亲找得也很辛苦。尽管密密麻麻的白色粉笔字争先恐后地挤进我的眼睛里来,但没有一个是“王二”。我急得眼泪在眼眶里直打转,偷偷地仰头看了一眼父亲的脸色,似乎有些铁青。我于是下了狠心,重新在榜单上用心的检索了一遍,似乎在中间的位置发现一个像似我的名字——“王一”。

“爹,你看,那是不是我的名字?”我踮起脚,伸长胳膊,费力地用手指向了那个名字。

“哎,好像是,下面那一横有点不显了。”父亲往前一步,仔细地观察了一番,终于确认那就是我的名字。

当我今天读鲁迅笔下的陈士成时,我想起了18年前站在阳坡鄉中(那时候,总以为这个鄉字应该念lang)“小升初的考试成绩榜单”前面的我和父亲;假如那时候没找到“王二”的名字,我会不会小学毕业就回家像陈士成那样在家掘地三尺,寻一份闪耀着“白光”的宝藏呢?

你做过在家挖矿的梦吗?

二、

我现在是孔乙己,孔乙己现在是我。为什么这么说呢?

小升初的时候因为“一横”差点落榜,但好歹是没落榜;但高考却是实打实的落榜,复读那年的成绩和第一年的成绩不相上下,都离二本有几分的距离。那时候的选择不多:

第一,继续复读;我高二的语文老师陈士国,就对外宣称自己是“八年抗战”才考上大学的,他的毅力常常令我们学生感到钦佩。但我毕竟只是个普通的学渣(被算命先生言中了),再复读一年估计只能再枉费一年青春;另外,父亲对我也颇为失望,大概是信了算命先生的话,对于复读的事情持反对的意见。鉴于此,再复读的路是走不通了。

第二,上三本;但三本学费高昂,家里承担不起。仅此一条,上三本的路也堵死了。

第三,回家种地,继承“家产”;但父亲一看见我鼻梁上架着的那幅近视镜,就非常不屑地给我下了一个定论:“就不像一块种地的料!”我自己也想,就那十几亩地的家产,也确实配不上我这个“高材生”。

第四,上大专;学费比起三本来说实惠得多,还只用上三年,甚至大三就可以做实习生上班挣钱。这实在是再明智不过的选择了。

但,这在很长一段时间里都给了我一种错觉——自以为是上二本的料,却被命运捉弄上了大专(实际上是成绩好的不愿意和咱玩,咱又不屑于和成绩差的为伍)。哼,简直和孔乙己是一副臭模样。

孔乙己就是一个自负而又自卑的人!他穿着长衫却会红着脸和别人争辩;他赊酒欠账,但人品似乎比别人好,有钱就还。想一想自己——读书十来年,浑浑噩噩,好不容易混得一纸大学文凭。发誓老子一定要混出点人模狗样,到现在还是一贫如洗。羡慕那些能说会道的,看人家混得风生水起,再瞅瞅自己,只叹生不逢时,恨老天有眼无珠;间歇性的踌躇满志,持续性的混吃等死——呵呵,鲁迅先生的“哀其不幸,怒其不争”,难道只是在说孔乙己,不包括我王二吗?

读孔乙己,不应该只嘲笑他的迂腐,还应该看得出他人性中的光辉——他不吝啬把“茴香豆”分享给小朋友吃,只剩下几颗的时候才想起来自己,比起社会上那些自私自利的家伙们(机动车在直行的情况下强行右转的那些无耻司机),孔乙己在我心目中反倒伟大了起来。

三、

我现在是阿Q,阿Q现在是我。为什么这么说呢?

因为咱也有一套切实可行的“精神胜利法”:

  • 看别人开奔驰宝马,自己坐公交、骑自行车,就说自己“环保又健康”;

  • 看别人年薪百万,自己每月不到一万,就说自己“要不是生活在洛阳这个三四线城市,也能月薪两三万”;

  • 看别人公众号每篇文章动辄百万+的浏览量,自己每篇上百都是惊喜,就说自己“只要继续坚持,终将守得云开见月明”;

  • ......(请脑补更多)

不然还能怎样?出身不是自己能决定的,凭一己之力又做不出翻天覆地的改变,也不能靠买彩票成为阿里巴巴一夜暴富,还没有把握住机会靠读书识字谋得一官半职。你说,像咱这样的“屌丝”程序员,除了靠着“精神胜利法”苟且般的活着,还能怎样?

得到人们的尊敬,有女人,过上好日子,就是阿Q的梦想。也是诸多“码农”程序员们的梦想。

 

比起阿Q,我的境况要好多了,大学幸运的被调剂到“计算机网络专业”,学的Java编程语言。Java作为面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程;近些年,Java一直霸占着编程语言界的头把交椅,而我也靠着Java工程师这一头衔挣了一些钱。

往后去,只要我用心地坚持(在编程方面夯实基础,在挣钱方面转换思维,在生活方面时刻反省),也一定会在业界小有成绩。因为我想起了鲁迅的另外一句话:

希望是本无所谓有,无所谓无的。这正如地上的路;其实地上本没有路,走的人多了,也便成了路。

我曾做过陈士成,也做过孔乙己,还做过阿Q的更多相关文章

  1. 把www.domain.com均衡到本机不同的端口 反向代理 隐藏端口 Nginx做非80端口转发 搭建nginx反向代理用做内网域名转发 location 规则

    负载均衡-Nginx中文文档 http://www.nginx.cn/doc/example/loadbanlance.html 负载均衡 一个简单的负载均衡的示例,把www.domain.com均衡 ...

  2. 端口被占用通过域名的处理 把www.domain.com均衡到本机不同的端口 反向代理 隐藏端口 Nginx做非80端口转发 搭建nginx反向代理用做内网域名转发 location 规则

    负载均衡-Nginx中文文档 http://www.nginx.cn/doc/example/loadbanlance.html 负载均衡 一个简单的负载均衡的示例,把www.domain.com均衡 ...

  3. 文章如何做伪原创 SEO大神教你几招做"原创"网站文章的心得

    想要创作出好的文章并被百度所喜欢,就非常需要SEO的优化能力,以及要对文章进行塬创或伪塬创,那么,如何做伪塬创文章?以及如何做好塬创网站文章呢?对此,本文小编就为大家带来了几招做"塬创&qu ...

  4. 预热篇- 总结Delphi Xe4 做App的的可行性分析. ios平台的问题还需要自行学习

    首先澄清一个问题, 很多同学其实是误会了, 以为只要搞定了Delphi 就能很快写快餐程序了.  ios 本身的知识还是需要一些的, 并没有什么捷径可以走. 但如果一个团队有分工协作的话, Delph ...

  5. 最新做路径动画必备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 ...

  6. 不用框架,原生使用python做注册接口/登陆接口/充值接口的测试,做的数据/代码分离

    注意充值时候,cookie的处理方法,还是原来的三种方法 1.操作数据文件  do_exclel.py # -*- conding:utr-8 -*- #@Time :2018/11/8 22:46 ...

  7. 做新时代的奋斗者!(好吧,我还没弄出python的编译环境)

    Pictures: 今日分来的补记来嘞: Game 1:Guess the number. Python包含许多内建的函数,有些函数存在于称为模块的单独的程序中,可以使用import语句把它们的模块导 ...

  8. Kotlin都转正成Android官方语言了,你还不试一下?

    想想Android Studio 和Eclipse ,我觉得你还是有必要入手Kotlin了. 站好队很重要. 以前的一篇总体概括老文,大家可以看看~ 爽翻天!告别Java.一起来使用kotlin开发完 ...

  9. 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 (四)第五节: ...

随机推荐

  1. 数组中的第K个最大元素leetcode(Top K的问题)

    在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 ...

  2. springboot引用dubbo的方式

    1.以此种接口依赖的方式 这种相当于将其他模块的服务先拿过来dubbo自己在本模块中进行注入,此时可以直接用Spring的@Autowired注解引用 ,这种情况下本模块的扫描dubbo是所引用的模块 ...

  3. Game 23

    Polycarp plays "Game 23". Initially he has a number nn and his goal is to transform it to  ...

  4. Centos6下使用yum安装MariaDB

    1)增加mariaDB的yum源 1 2 3 4 5 6 7 8 9 [root@centos6-test08 ~]# cd /etc/yum.repos.d/ [root@centos6-test0 ...

  5. 自定义类在PropertyGrid上的展示方法

    自定义类在PropertyGrid上的展示方法 零.引言 PropertyGrid用来显示某一对象的属性,但是并不是所有的属性都能编辑,基本数据类型(int, double等)和.Net一些封装的类型 ...

  6. vue创建状态管理(vuex的store机制)

    1:为什么说要是永远状态管理 在使用 Vue 框架做单页面应用时,我们时常会遇到传值,组件公用状态的问题.(子父间传值文章传送门) ,如果是简单的应用,兄弟组件之间通信还能使用 eventBus 来作 ...

  7. Docker安装及基本操作

    系统环境 CentOS Linux release 7.5.1804 (Core) 安装依赖包 更新系统软件 yum update 安装docker yum install docker 启动dock ...

  8. Go语言基础之包

    Go语言基础之包 在工程化的Go语言开发项目中,Go语言的源码复用是建立在包(package)基础之上的.本文介绍了Go语言中如何定义包.如何导出包的内容及如何导入其他包. Go语言的包(packag ...

  9. VS2017Release+x64失败,LNK1104,无法打开文件"msvcprt.lib"

    采用VS2017+Qt5.10联合开发环境建立开发,将Qt的库包含到VS中使用VS2017的Debug+x64模式调试程序,通过并出现对应的EXE应用程序! 但是转换到Release+x64模式出现问 ...

  10. python-邮件提醒功能

      当scrapy爬取完成以后会发送详细信息到邮箱 1.首先编写邮件发送模块 #!usr/bin/env python # -*- coding:utf-8 -*- """ ...