散文您现在的位置是:湖南作家网>文学阅读>散文

几代人上学记

来源:湖南日报 蔡英   时间 : 2020-05-09

 

分享到:

  昏黄的煤油灯光下,父亲端端正正地坐在书桌前,头发几乎挨住了火苗。他手持毛笔,在墨汁里轻轻点了点,然后在旧作业本上挥毫。墨汁里兑多了水,写出的字墨色轻淡,一律向左倾斜,一笔一划却极认真……很多年了,我脑中总清晰地出现这个画面。父亲是老实巴交的农民,命运坎坷,却一生重视读书。我们家读书的故事,首先要从爷爷说起。

  爷爷自小给人做长工,5岁放牛,10岁拖大车养家,一家人挤在3间茅屋里。自小向往读书的他,经常躲在私塾先生的窗口听人念书。爷爷16岁那年,湖南解放了,他从此结束了长工生涯。因根正苗红,他被派去修建黄花机场。怀着对新生活的热爱,爷爷废寝忘食地奋战在荒郊野外。别人做工到天黑,他劳动到半夜;工伤鲜血直流,他撕根布条包扎住,继续做事。1年后,组织送他读扫盲班。白天,他在工地上黑汗水流地背石头;晚上,在简陋的教室里如饥似渴地学习。后来,他入了党,分配到乡镇工作,先后担任过副区长、乡党委书记等职务。当了“官”的爷爷唯一的爱好是读书,经常通宵达旦地看书,还有文章发表在当地报纸上。鼓励子女读书,成为爷爷家庭教育的重要部分。

  之后,爷爷被打成右派遭批斗,奶奶急得精神失常无法劳动。待到爷爷恢复工作,长年在城里上班,家里的重担自然落在了作为长子的父亲身上。每天上学前,他得先到山上砍担柴,放学后要煮饭喂猪。因挣的工分不够,一家人难得吃饱。在爷爷的言传身教下,父亲品学兼优。初中毕业后因为干部子女身份,生产队不肯推荐他读高中。不久,爷爷因积劳成疾倒在工作岗位上。看着神志不清的奶奶,还在上学的叔叔姑妈,父亲义无反顾地走出家门开始了拖大车的生涯。年仅15岁的他,每天拖着几百斤的砂子,沿着湘江辗转上百里。与母亲结婚后,外公让当石匠的舅舅带父亲学了几个月的徒,自此他与石头做伴了大半辈子。同我们说起以往,父亲并不埋怨什么,只说这是“命”。

  地处穷乡僻壤,还要供4个孩子读书,沉重的生活压力如巨石一样压在父亲身上。卖苦力为生的他,农忙时种田,农闲时打石头,有时给人做泥工,每天累得黑汗水流。他甚至走街串巷贩过干鱼干辣椒,收过荒货,挣来的血汗钱往往入不敷出。由于长年的劳作,父亲不到40岁背就驼了,满面皱纹,陌生人问路喊他“老爷爷”。尽管父亲一生都是从事最苦的活计,却重视文化。下雨天无法出工,他便坐在灶前看书,有时入迷了,吃饭要叫多次,才恋恋不舍地拿开书。有几年,他还恋上了书法,晚上收工就练字。因为没人指导,甚至没临过贴,他的毛笔字始终没有进步。我从小喜欢阅读与写作,与父亲的潜移默化有关。

  父亲对我们说得最多的话就是:孩子,要发狠读书,家里就是砸锅卖铁也要供你们。只要看到我们做作业,他就什么活都不让我们干。而且,我们家女孩和男孩一样被看重,不像当时有些村里人,女孩初中毕业就让外出打工,甚至为了供儿子上学,逼着女儿辍学。父亲常说,我们读书赶上了好时候,有宽敞明亮的学校,有认真负责的老师。他们小时的学校是一个老庙改造的,课桌是几块土砖垒的,凳子是学生自带的破板凳,一不小心便会摔个狗啃泥。父亲不能给我们辅导功课,却经常拿爷爷和周围人的事例来教育我们:读书才能改变命运,才能更好地报效国家和社会。

  一直以来,我们发奋读书,不肯落后,破旧的墙壁上贴满了“三好学生”“优秀队员”等奖状。父亲心酸而自豪地说,别人家用石灰粉墙,我家没钱,就用孩子的奖状糊。当我拿到大学录取通知书时,多年没有出过大学生的村子沸腾了,道喜的鞭炮整整响了半个月。那个夏天,父亲最为欣慰,即使为借我的学费,跑遍了所有亲友,赔尽了笑脸。后来,两个弟弟相继考上大学。家里还是土砖房,处在周围的高楼中,显得格外寒碜。村里来了外人时,村里人就指着我家介绍,这家爹娘是卖苦力的农民,但培养出了3个大学生。再后来,我们都考到机关工作。等我拿到工资后,才慢慢还清所欠的学费。等弟弟成家后,老家新建了两层的楼房。新屋落成那天,父亲脸上放光:国家政策好,社会讲公平,你们命好!

  等到我的孩子上学时,上学条件更是优越。宽敞明亮的教室,绿草如茵的操场,生动活泼的多媒体教学,老师们博学多才,无论软件还是硬件条件,与我们那个时代相比,都不可同日而语。每次,父亲在新闻里看到精准扶贫、尤其是教育扶贫的报道时,总要感叹:这一代孩子的命更好!是啊,这个时代再也不会有因是女孩子而不让上学,或因贫困被迫辍学的事发生了。只要努力,每一个孩子都能成为“中国梦”的主角。

  回首这些年,家乡人民的生活发生了翻天覆地的变化,不仅表现在衣食住行上,还有文化上、精神上和思想上。向上向好的日子,见证着国家发展的壮阔进程,也是我们心中幸福感受的来源。我一直觉得,父亲所说的“命”,其实就是时代。一个人的命运总和时代紧密相连。我相信,随着祖国的繁荣昌盛,我们每个人的“命”,也会越来越好。

更多>>文学资讯
    FreeMarker template error (DEBUG mode; use RETHROW in production!): No error description was specified for this error; low-level message: feign.RetryableException: Read timed out executing GET http://content-ms/content/list/channel?siteId=243&channelId=24509&pageSize=5&excludeNum=0&includeTop=2&terminal=1&videoFlag=false&randomFlag=false ---- FTL stack trace ("~" means nesting-related): - Failed at: @_contentList id="wxzxtxt" pageSize="... [in template "site_243//template/content/county_right.html" at line 18, column 41] ---- Java stack trace (for programmers): ---- freemarker.template.TemplateException: [... Exception message was already printed; see it above ...] at cn.rednet.redcloud.template.freemarker.base.impl.BaseTemplateDirective.execute(BaseTemplateDirective.java:31) at freemarker.core.Environment.visit(Environment.java:452) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:102) at freemarker.core.Environment.visit(Environment.java:335) at freemarker.core.Environment.visit(Environment.java:341) at freemarker.core.Environment.process(Environment.java:314) at freemarker.template.Template.process(Template.java:383) at cn.rednet.redcloud.template.service.impl.templatefile.TemplateFileService.generateFileByFile(TemplateFileService.java:681) at cn.rednet.redcloud.template.service.impl.templatefile.TemplateFileService.generateStaticFileForTemplatePage(TemplateFileService.java:163) at cn.rednet.redcloud.template.service.impl.templatefile.TemplateFileService$$FastClassBySpringCGLIB$$48aa813.invoke() at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at cn.rednet.redcloud.common.aspect.ClassMethodTimeAspect.aroundMethod(ClassMethodTimeAspect.java:82) at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) at cn.rednet.redcloud.template.service.impl.templatefile.TemplateFileService$$EnhancerBySpringCGLIB$$1f864d69.generateStaticFileForTemplatePage() at cn.rednet.redcloud.template.service.impl.TemplatePageServiceImpl.saveAndPublishTemplatePage(TemplatePageServiceImpl.java:315) at cn.rednet.redcloud.template.service.impl.TemplatePageServiceImpl.saveAndPublishIndex(TemplatePageServiceImpl.java:600) at cn.rednet.redcloud.template.service.impl.TemplatePageServiceImpl$$FastClassBySpringCGLIB$$92d4ea80.invoke() at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at cn.rednet.redcloud.common.aspect.ClassMethodTimeAspect.aroundMethod(ClassMethodTimeAspect.java:82) at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) at cn.rednet.redcloud.template.service.impl.TemplatePageServiceImpl$$EnhancerBySpringCGLIB$$e59ef362.saveAndPublishIndex() at cn.rednet.redcloud.template.schedule.RightSidePageStaticJob.lambda$generateHtml$0(RightSidePageStaticJob.java:82) at java.util.ArrayList.forEach(ArrayList.java:1257) at cn.rednet.redcloud.template.schedule.RightSidePageStaticJob.generateHtml(RightSidePageStaticJob.java:79) at cn.rednet.redcloud.template.schedule.RightSidePageStaticJob.generate(RightSidePageStaticJob.java:66) at cn.rednet.redcloud.template.schedule.RightSidePageStaticJob.execute(RightSidePageStaticJob.java:49) at com.xxl.job.core.thread.JobThread.run(JobThread.java:152) Caused by: feign.RetryableException: Read timed out executing GET http://content-ms/content/list/channel?siteId=243&channelId=24509&pageSize=5&excludeNum=0&includeTop=2&terminal=1&videoFlag=false&randomFlag=false at feign.FeignException.errorExecuting(FeignException.java:268) at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:131) at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:91) at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:100) at org.springframework.cloud.openfeign.FeignCachingInvocationHandlerFactory$1.proceed(FeignCachingInvocationHandlerFactory.java:66) at org.springframework.cache.interceptor.CacheInterceptor.lambda$invoke$0(CacheInterceptor.java:54) at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:351) at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:64) at org.springframework.cloud.openfeign.FeignCachingInvocationHandlerFactory.lambda$create$1(FeignCachingInvocationHandlerFactory.java:53) at com.sun.proxy.$Proxy204.getContentListByChannel(Unknown Source) at sun.reflect.GeneratedMethodAccessor424.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at cn.rednet.redcloud.common.aspect.ClassMethodTimeAspect.aroundMethod(ClassMethodTimeAspect.java:82) at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220) at com.sun.proxy.$Proxy205.getContentListByChannel(Unknown Source) at cn.rednet.redcloud.template.freemarker.directive.ContentListDirective.execute(ContentListDirective.java:191) at cn.rednet.redcloud.template.freemarker.base.impl.BaseTemplateDirective.execute(BaseTemplateDirective.java:27) ... 61 more Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketInputStream.java:171) at java.net.SocketInputStream.read(SocketInputStream.java:141) at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) at java.io.BufferedInputStream.read(BufferedInputStream.java:345) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) at feign.Client$Default.convertResponse(Client.java:110) at feign.Client$Default.execute(Client.java:106) at org.springframework.cloud.openfeign.loadbalancer.LoadBalancerUtils.executeWithLoadBalancerLifecycleProcessing(LoadBalancerUtils.java:57) at org.springframework.cloud.openfeign.loadbalancer.RetryableFeignBlockingLoadBalancerClient.lambda$execute$2(RetryableFeignBlockingLoadBalancerClient.java:168) at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:329) at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:225) at org.springframework.cloud.openfeign.loadbalancer.RetryableFeignBlockingLoadBalancerClient.execute(RetryableFeignBlockingLoadBalancerClient.java:114) at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:121) ... 90 more

湖南省作家协会 | 版权所有 : 湘ICP备05001310号
Copyright ? 2005 - 2012 Frguo. All Rights Reserved