追求“有味道”的表达
《信仰的味道》一文,习总书记多次引用,刘云山、刘奇葆等中央领导曾作出重要批示。这篇千字短文为什么能忝获巨大荣誉,最主要的是“信仰”二字沉甸甸的分量。贯彻落实习总书记在党的新闻舆论工作座谈会和视察解放军报社时的重要讲话精神,首要的是坚持党媒姓党,始终做到爱党、护党、为党,绝对忠诚,一腔正气,敢于发声、善于发声。此外,还要在改进文风上多下功夫,杜绝八股味、说教味,多一点人情味、家国味、文化味,追求“有味道”的表达。
人情味:多解剖自己少教训别人
信仰是个大题目,也是个老题目,很容易写高了、写空了,没有什么“味道”。
如何把这道“菜”做出味道?笔者没有什么超人的“厨艺”,也没有什么独门的“佐料”,只是油盐酱醋,略作加工,拉拉家常,说几件事。
例证虽是评论的重要论证方法,但往往惜墨如金,很少有展开来说的,也极少用在开头。《信仰的味道》却一反常态,不仅开头叙事,而且放开叙事,不紧不慢,娓娓道来。
笔者曾阐述过一个观点:评论也要学会讲故事,善于“抖包袱”。通过说事顺便把理说清楚了,写的人省事,读的人省心。
《信仰的味道》开头的叙事,就是有情节、有画面的——儿子寒夜疾书,母亲爱子情深。墨汁满嘴,红糖未动,反道“够甜”。两个自然段的叙事,像一部跌宕起伏的情景短剧,充满了温情的力量。在一篇千字短文中,读者可能什么也没有记住,但不会不记住这样一件事。记住了这样一件事,也就记住了信仰的味道。
有的常以评论的特殊性,来强调评论的重要性。其实,评论的前缀不能丢——新闻,此之谓新闻评论也。解放军报新闻研究中心主任张弛在点评《信仰的味道》时就说:此文讲信仰是朴素的、信仰是无私的,其实也不算新道理,但是他讲了点具体的故事。写新闻提倡故事化笔法,写评论时讲点故事也是出新的重要手法。毛主席的文章中写出了多少愚公移山之类的故事啊!
说事还有一个好处,平易近人而非盛气凌人。在坚守共产党人政治灵魂上,笔者未必比别的同志做得更好。因此这篇文章不是教训式的,而是内省式的、自我检讨式的——以自我为镜像,以自我为靶子,先说服自己,再说服别人;先打动自己,再触动别人。
为文之道,忌矫揉妆饰,贵真情流露,不求文秀句秀,但求骨秀神秀。
家国味:文字忧党文章报国
信仰有味道吗?我们还能感受到信仰之甘、精神之甜吗?一个拥有8700多万党员的世界第一大政党,如果没有了崇拜,丧失了信仰,将是一件多么可怕的事!
人们所从事工作的目的和意义,大致由两部分组成:职业价格,职业价值。在精致功利主义大行其道的当下,职业价格的狂沙遍地,生生且深深掩埋了职业价值的真金白玉!所以,才有那么多的怒气和怨气,那么多的迷失和迷茫!
作为一名党的新闻工作者,我们的职业价值在哪里呢?八字而已:文字忧党,文章报国!这是职业价值,也是职业信仰。有信仰的职业,从来不是价格驭使价值,价值才是价格的主子。这种深层次的精神愉悦与内心富足,也只有“有党性的作者”(列宁语)才能体味得到!
毛泽东在谈到开会的方法时风趣地说:“材料不要多,能够说明问题就行,解剖一个或几个麻雀就够了,不需要很多。”《信仰的味道》就重点解剖了一两个麻雀。麻雀一,宋庆龄的一封信。信仰不是什么玄之又玄的东西,它朴素得很。孙中山革命四十年的信仰,就是认定“中国的儿童应该有鞋穿,有米饭吃”。所以,信仰并非高高在上、遥不可及,而是可亲可近、可触可感。麻雀二,裘古怀的一封遗书。一个党员干部有没有信仰,检验的办法很简单——是把自己的利益搞得少少的,还是把群众的利益搞得少少的。利欲熏心、权欲膨胀,只有舌尖上的口腹之欲,哪有心尖上的灵魂之舞!
这两个“麻雀”虽小,却折射了信仰缺失的一些现实问题。当填饱肚皮早已不是问题,8700多万党员信仰的原动力到底在哪里?当不正之风的沉疴顽疾屡受诟病,我们党又如何让人民坚定对自己的信仰?这是一枚硬币的两面,没有第一面,断不会有第二面。倘使共产党员自己都没有信仰,人民群众又怎会信仰党?
尼采谓:一切文学余爱以血书者。季米特洛夫言:“应当学会不用书本上的公式而用为群众事业而奋斗的战士们的语言来和群众讲话,这些战士们的每一句话,每一个思想,都反映出千百万群众的思想和情绪。”
文风之风,乃情感之风,思想之风,文采之风。情怀为最,思想与文采次之。自古以来,有大情怀者,始成文章之大气象。
文化味:谁敢挑爱因斯坦的错
《纽约时报》是最早报道相对论的,因为总编辑范安达就是一个卓有成就的数学家、物理学家。爱因斯坦讲课讲错的时候,他就敢说,你这个方程式有什么毛病。
如果你认为这仅仅是一个巧合,那就大错特错了。范安达的博学不止于此,埃及古墓里的文字他能翻译,战争可能会在哪里打响他也能准确预测。他是美国新闻界公认最博学的。
所以说,新闻的底子是文化,底子不牢地动山摇。
写作《信仰的味道》时,有两个细节让我特别感慨。陈望道翻译《共产党宣言》,把墨汁当红糖,这个新鲜的史料来自三卷本的《社会主义五百年》。文章完稿后,在一个星期天上午发至人民日报评论部杨健同志邮箱。他当天晚上就在家里给作者回了邮件。除了指出两处明显的引文错漏外,还专门求证了原文开头“滴水成冰,手连毛笔都握不稳”这句话,引用的是陈望道儿子陈振新的回忆。其学识之渊博,治学之严谨,令人感佩!
毛泽东曾向中央各部,省、专区、县三级发出号召,比培养“秀才”。因为,没有知识分子不行,无产阶级一定要有自己的“秀才”。这些人要较多地懂得马克思主义,又有一定的文化水平、科学知识、词章修养。
广大新闻工作者是党的“秀才”“笔杆子”,天天都要为党的理论路线方针摇“笔”呐喊。没有深厚的文化功底,马克思主义如何实现中国化、大众化?
胡耀邦也曾向中青年干部提出了一个要求,即需要阅读两亿字的书。换算下来,一个人要用五十年的时间才能实现这个要求,每年读四百万字,每天读一万多字。
这个要求,落实起来的确不易。但是,笔下走千言,胸中藏万卷。它让我想到,文风,文风,有“文”才有“风”,失却“文”字,岂非空穴来风!
(《新湘评论》2016年第09期)
- 新湘导读
-
-
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=220&channelId=22433&pageSize=8&excludeNum=0&includeTop=1&terminal=1&videoFlag=false&randomFlag=false
----
FTL stack trace ("~" means nesting-related):
- Failed at: @_contentList id="yuhuatuijianNewsLis... [in template "site_220//template/content/county_right.html" at line 26, column 19]
----
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.GeneratedMethodAccessor20.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.GeneratedMethodAccessor20.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=220&channelId=22433&pageSize=8&excludeNum=0&includeTop=1&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.GeneratedMethodAccessor664.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.GeneratedMethodAccessor20.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
互联网新闻信息服务许可证:43120200001 杂志社咨询电话:0731-81127526(传真)
违法和不良信息举报电话:0731-81125971 举报邮箱地址:xxpl1919@163.com
