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

叶永烈先生二三事

来源:湖南日报 李跃龙   时间 : 2020-05-29

 

分享到:

  本文作者与叶永烈夫妇合影

 

  打开头条,突然蹦出一则叶永烈先生去世的消息,不觉一怔,继而确认是现实,心头倍感性命之不永,凋零之无常,奈何?

  叶先生是我们这个阅读时代的标志性人物,说他启发了千千万万少年一代勤奋学习、探索科学的精神,绝非虚言。他一生的著作超过了3千万字,你可以不太喜欢他的名人传记系列,但一定曾着迷于他的28卷上千万字的科普全集中的某一个篇什,他是巨著《十万个为什么》的第一作者,以一人之力竟写了近三分之一的篇幅,我们都确确实实受惠于他。

  他发表的第一篇科普文章,与湖南有关

  2017年5月,国务院参事室、中央文史研究馆“中华文化四海行”大型活动交由湖南省承办,叶先生应邀来湘讲学。我因为筹办会务与叶先生结识,得以点滴了解这位我40多年前心仪的老师与湖南的过从等人所未知的往事,可以作为历史的补白。

  叶先生由夫人陪同来湘,除讲座上滔滔不绝外,我发现,生活中的叶老师似话语不多,不属特别健谈之人,我们一问一答中不时能感到先生的腼腆,看他的书要胜过听他的言。他是一位文字狂胜语言的大家,孔夫子“君子欲讷于言而敏于行”说的就是叶先生这类人。他的夫人总是默默地陪护在旁,温文尔雅,从不插话。老两口夫唱妇随,守望相牵,是我印象中雅集的一道风景。

  因《十万个为什么》,叶先生名声传遍大江南北。没想到,他发表的第一篇科普文章,竟然与我们湖南有关。

  1958年9月,北京大学化学系二年级的师生们南下,来到湖南邵阳县整整工作了100天。原来,“大炼钢铁”中湖南缺少化验员,铁矿究竟含多少铁,煤里头含多少硫,要到长沙甚至有时要送到北京去化验。后来周总理指示北大派一些老师和学生帮助湖南办化验员训练班。在邵阳县,年轻的叶永烈人生第一次走上讲台讲授化学。他现在还精心保存着当年的北大“邵阳县130小分队”和湖南师范学院邵阳县小分队一起合编的教材。在邵阳县,他以“县化验室叶永烈”的名义发表了人生第一篇科普文章,还把在邵阳撰写的《写在炉旁的几页日记》发表在《北大青年》1959年第一期上,署名“化学系钢铁兵团叶永烈”。叶先生说,1958年的湖南之行改变了他的命运,邵阳县是他科普写作道路的起点。

  我特别查检《邵阳县志》,很遗憾,当年北大支持邵阳县大炼钢铁的130小分队事迹没有记下一笔。 他是第一批运用现代科技手段写作的作家

  叶永烈先生是多产的专业作家,他以“理工男”的专业履历从事科普创作,影响最大,也最为读者所认同。我也认为他对社会的贡献和影响,以科普创作成就最大。但这并不是说他的名人传记系列和其他创作不行,仅仅是相对先生的科普创作而言。人哪能在每个领域都是王者?叶先生人物传记的某些刻板之处或者是脸谱化,主要出于时代的局限和本人谨慎稳健性格及政治光谱。特别珍贵的是,他是第一批运用现代科技手段写作的作家,他能非常娴熟地运用录音、摄像、计算机和信息转换技术从事创作,他采访了很多方面的名人,录了1000多盘录音带,近2000个小时。听一位曾有意出版叶先生全集的老总在微信朋友圈中说,很忧心先生几十年采访的录音带消声,我知道有大部分收藏品先生早已捐赠给了上海图书馆,这些凝聚了先生心血的珍贵音频档案是否已经转换成数码录音,真的让人揪心。

  我认为,叶先生在名人系列中作的许多考证和研究是有深度的,也是可信的。叶先生的严谨,达到了一位历史学家的专业水准。比如说梁实秋的生日、傅雷之死、钱学森关于粮食产量的论文等等,都是先生爬梳剔抉、钩沉辑佚的优秀力作,纠正了许多人云亦云的讹误,还原了历史的真相。

  《十万个为什么》引发的一件公案

  因为长期研究洞庭湖的缘故,会议期间,我向叶先生求证了一个由《十万个为什么》引发的一件公案。

  1961年《十万个为什么》出版,其中《为什么洞庭湖不再是我国第一大湖》一文宣称:洞庭湖“每年缩小88.6平方千米,其中有的年份缩小的更多,竟达到245平方千米。它的面积在枯水期约有3100平方千米,而鄱阳湖在枯水期的面积则有3350平方千米;在洪水期,洞庭湖约有3900平方千米,鄱阳湖则有5050平方千米。”这是国内有关部门第一次提出洞庭湖由“五湖之首”降为第二大湖泊。这个说法在全国立即产生了巨大反响,有很多人感叹沧桑巨变,也有一部分人至今不认同这个说法,还有十分严谨的学者提出一系列数据论证洞庭湖仍然大于鄱阳湖。

  我个人的看法倾向于:不宜以空泛的“大”作简单的排名,对于天然湖泊的论证研究,特别是大江大湖,应以科学的数据和模型作支撑,湖泊是天然的水库,它的面积、湖容、流域、水量乃至于其功能,都应该纳入“大”的参照系数。

  叶先生认同我这个观点,说简单化地排个名次没有什么实际意义,关键要搞清楚人类活动对湖泊和自然界产生了怎样的影响,多大的影响。“你排不排名,洞庭湖还是洞庭湖,鄱阳湖还是鄱阳湖。”他的这句风趣话我至今记忆犹新。

  四海行活动结束后,我参加省政府门户网站在线访谈,以“新型江湖关系的构建和展望”为题,与网友交流。我介绍了叶永烈先生的观点,也谈了我的认识和看法,得到舆论的广泛认可。

  叶先生走了,这位一生动笔不辍、著作过身的勤奋作家停止了写作。他从小学语文成绩不及格到成为北大天之骄子的故事还会有人赓续吗?还会不断有“理工男”成为大作家吗?在寸土寸金的大上海,还有哪位读书人会把自家的泳池改装成藏书室,为我们这个时代留下更多的书香逸事吗?

更多>>文学资讯
    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