c*u
2 楼
爸爸晚上看到我,又看到了妈妈被我咬伤的手,直冲我吹胡子瞪眼睛的.哇呜,我只好乖乖
的呆着不动.过了一会听到他们商议要带我去医院打针.唉呀,看来这个祸可真是闯大了.
爸爸带着妈妈,妈妈抱着我.我害怕死了,周围人也多,车也多,特别是那种大大的汽车,
从身边过的时候"呜呜"作响,每次,我都紧紧的抱着妈妈.妈妈千万别把我扔下去呀!!
好不容易到了医院,那里有好几个穿着白袍子的人,还有一种浓浓的药味,这都是我不喜欢
的.他们都好奇的看着我,说什么"这个大胖猫怎么这样的胖?"哼哼,胖怎么啦?
医生要爸爸先带我称体重,真是的,打个针,还称什么体重,真伤人自尊.完后他们又对我的
体重问题讨论半天!
爸爸把我按在桌子上,被医生狠狠的打了一针.好疼啊!不知道妈妈被我咬的时候是不是也
这么疼呢?打完了还不算,医生让妈妈填表格,罗嗦死啦.就在我们要走的时候,妈妈多余
问医生说我的耳朵里有黑黑的东东,医生扒拉开我的耳朵,说是有耳螨,要打针!就是说,
今天挨完这一针还不算哪!呜呜呜.我不要啦!还是妈妈理解我,告诉医生说我们过两天再
打.
可是,能不能逃过去呢?
回家之后,妈妈又发现我的耳朵有一点小水泡,让爸爸去查
的呆着不动.过了一会听到他们商议要带我去医院打针.唉呀,看来这个祸可真是闯大了.
爸爸带着妈妈,妈妈抱着我.我害怕死了,周围人也多,车也多,特别是那种大大的汽车,
从身边过的时候"呜呜"作响,每次,我都紧紧的抱着妈妈.妈妈千万别把我扔下去呀!!
好不容易到了医院,那里有好几个穿着白袍子的人,还有一种浓浓的药味,这都是我不喜欢
的.他们都好奇的看着我,说什么"这个大胖猫怎么这样的胖?"哼哼,胖怎么啦?
医生要爸爸先带我称体重,真是的,打个针,还称什么体重,真伤人自尊.完后他们又对我的
体重问题讨论半天!
爸爸把我按在桌子上,被医生狠狠的打了一针.好疼啊!不知道妈妈被我咬的时候是不是也
这么疼呢?打完了还不算,医生让妈妈填表格,罗嗦死啦.就在我们要走的时候,妈妈多余
问医生说我的耳朵里有黑黑的东东,医生扒拉开我的耳朵,说是有耳螨,要打针!就是说,
今天挨完这一针还不算哪!呜呜呜.我不要啦!还是妈妈理解我,告诉医生说我们过两天再
打.
可是,能不能逃过去呢?
回家之后,妈妈又发现我的耳朵有一点小水泡,让爸爸去查
y*n
3 楼
漕运被劫后,林启龙对朝廷声称他要戴罪立功,赖在扬州不肯回淮安,与瓜州附近
的明军对峙了两个月。这件事传出去后,山西、山东、河南的地方官都对林启龙喊打喊
杀,认为必须要严惩不贷。不过两湖、两江的官府却都替林启龙说话,称愿意分摊责任
,认为林启龙几次三番在明军的威胁下保证了漕运畅通,是个很了不起的能臣。
浙江方面也替林启龙说情,认为朝廷应该给这些没有功劳也有苦劳的臣子更多的机
会,何况确实如湖广和两江所说,林启龙面对的战略形势实在是太险恶了,川陕方面起
不到牵制的作用,让邓名一次次发起东征。要是不顾林启龙以前数次拼死掩护漕运安全
的功劳,仅仅因为这一次失误就严惩他,未免太让功臣寒心了。
被浙江点名批评的四川居然也没有推卸责任,高明瞻代表奋战在重庆前线的全体将
士替漕运总督求情。高明瞻称邓名是大清开国以来遇到的最危险的敌人,将士们豁出性
命和他苦战,依然败多胜少。林启龙手中无兵无将,居然四次中有三次挡住了川军,抢
救出了漕运,如果罢免了林启龙,谁还敢来干这个差事呢,更不用说把他处死了!重庆
前线的几万官兵罕见地发扬风格,表示他们认为浙江说得对,愿意和长江战线上的同仁
们分担责任。
陕西方面则沉默不语,既没有和长江沿线一起支持林启龙,也没有和其他北方省份
一样破口大骂,最后陕西方面还嘀咕了一声:林启龙救回过先帝的遗体,暗示他们更倾
向于长江沿线的意见。
北京方面也觉得现在确实不是追究林启龙的好时机,若是放在几年前,处置了也就
处置了,但这几年先后有二十万清军被川军消灭,北京的底气也不那么足了。而且这次
接到警报后,北京和山东都一致同意按兵不动,如果说贻误战机的话,北京同样是有责
任的。
而此时山东又爆发了新的争吵,遏必隆思来想去,觉得去长江边上追邓名的意义不
大,虽然失去了漕运,但林启龙称明军久攻瓜州不克,士气已堕。如果明军连瓜州都拿
不下的话,遏必隆觉得邓名也未必就能拿下江宁。清军主力去长江上与水师优势的明军
作战确实有些风险,还不如经过河南攻击汉水流域,或是进入陕西再去四川,把邓名的
老巢端掉。
不过杰书却受够了李国英对邓名水面优势的吹捧,一心要前去江南,痛痛快快地打
上一仗。杰书和遏必隆两人询问李国英的时候,川陕总督却不肯支持任何一方的意见:
先前是李国英说漕运丢失就意味着江南失控,但现在漕运真丢了,李国英还是鼓不起勇
气,到江边和邓名决战,上次万县失利给他的教训太深刻了;至于遏必隆深入四川直捣
成都的计划,李国英也哼哼哈哈地不想同意,但他又不敢说天下无敌的八旗到了四川也
是没戏,所以就拼命强调辎重的运输问题。
见山东的清军不动,不知道他们葫芦里卖的什么药,邓名也没有轻率行动,唯恐自
己前脚走清军后脚南下,一下子让东南变天。有人建议邓名用上次对付顺治的办法来对
付杰书,那就是先行退兵,若是山东清军侵入江南,明军再回师。可上次顺治的兵力比
较少,而且一出直隶就受到江南的密切关注,还没等禁旅八旗到达山东,江南官府就已
经知道顺治的底细了。邓名全速返回扬州后,顺治距离山东南部的边境还远着呢;而现
在清军已经在山东境内了,邓名要是退兵,就会失去以逸待劳的优势。
“现在湖广、两江肯购买我们的债券,就是因为他们内心里认为我们可以与清廷主
力一战了,如果他们选择做我们的盟友的话,他们可以指望得到我们的保护。”虽然邓
名认为这有让东南督抚占便宜的嫌疑,但最后还是下定决心和清军进行一场交战,如果
取胜了,那整个南方的形势很可能就此扭转过来了。
“不需要大捷,只要小胜一仗就可以,向南方显示我军的力量,揭露清廷的软弱无
能,”邓名对盟友和部下们说道:“只要我们能挡住杰书,迫使他回师就够了。从此以
后,东南就不是清廷所有。”
下定决心后,邓名就派出大量细作收集清军的情报,准备和伏击顺治一样在扬州府
周围选择一个地点伏击南征的清军——如果他们真的赶来江南的话。
最后起决定性作用的还是北京,见邓名迟迟不肯离开瓜州,就命令山东部队南征,
不管以后怎么样,重新打通运河再说。这次漕运被劫后,北京对周培公的剿邓能力感到
更加不放心了,以前北京认为东南就像是崇祯年的中国北方,每次遇到敌人主力只能坚
守城池,然后尾随以限制对方的行动。
而北京注意到邓名一直无力攻克任何一个大型城市,甚至对中小城市都没有什么办
法,只有九江是个偶然现象。既然如此,北京认为邓名的历次东征收获其实有限,毕竟
洗劫农村的效率很低,不像城市财富那样集中。所以北京认为,李国英声称川西明军从
东征中获得了惊人的缴获有很严重的夸大,多半也是为了推卸责任——当年清军能够一
次次满载而归,也是依靠清军有攻破城市的能力。
北京本想若是邓名像往常一样退兵了,就让遏必隆带一万精兵到扬州去看看,掌握
江南布防的第一手资料——反正都到了山东和江南的边境了,去一趟也不会费太多工夫
。但邓名这次和以往不同,长期围困瓜州而不肯返回四川,北京觉得还是需要趁现在解
决问题,在冬天里配合两江部队把邓名赶回四川,就算损失再惨重,也总比把这个工作
拖延到明年春耕时期强。
从七月底开始,清军的重心就不断向南方转移,到八月底的时候,山东清军的先头
侦查部队已经抵达凤阳。
此时双方都非常的谨慎,满清的中央部队和川西明军即将第一次大规模正面交锋,
杰书虽然口头上很狂妄,但内心里对此战也非常重视,压上了自己用来震慑骑墙派的名
气。川西明军这边也是一样,尽管川军成军以来所向披靡,不过也没有和十万规模的满
清中央军交战过,随着清军逼近的消息不断传来,各级军官也都显出了一些紧张情绪。
这时淮安有一种山雨欲来风满楼的气氛。自从发现山东清军开始南移后,明军就开
始控制运河南段的漕工,最近半个月来没有从扬州来过一条船,官道上也罕见行人。坐
镇扬州的漕运总督一个劲地给后方报平安。但如果真的平安的话,运河上不应该冷清成
这个样子,有经验的胥吏都知道明军正在努力制造情报遮蔽网。既然明军能够封锁得这
么严密,那就说明邓名所图不小,而且想制造这样的封锁也需要动员很多军队。
从八月中旬以来,上游的船只也都消失不见了,这意味着山东清军也征集了他们遇
到的每一条船。当看到北面的官道上也变得空无一人后,淮安周围的不安感就更强烈了
,那些家境富裕的人纷纷外逃,普通百姓也扶老携幼地躲避到周围去。现在是农闲时分
,就是没有能力逃到他乡的人,也掩埋了自己的农具,藏身到远离运河、官道的地区去
,免得遇到过路的明、清两军。
漕运总督衙门此时还有不少属官,留在这里的都不是核心人员,最亲信的那些人早
就被林启龙召去扬州了。留下的人人虽然对林启龙的秘密不是很了解,但还是模模糊糊
地看出来一些不妥之处。康亲王和辅政大臣很可能会经过此处,到时候肯定也要认真询
问漕运的事情,不少人现在都在心里琢磨,到底是把宝压在林启龙身上,指望着他保住
官位,继续效忠他保住自己的饭碗呢,还是反戈一击,把自己知道的那些可疑之处秘密
报告给杰书和遏必隆呢?。
当然,这种密告也是很危险的,第一是没有什么真凭实据,第二就是清廷经常会为
了安抚地方大员而给密告者定个诬告罪。比如当初广东巡按上奏,称尚可喜和耿继茂在
广东横行霸道,朝廷觉得还需要藩王效力,就给汇报实情的巡按定了个诬告绞罪——现
在留守在漕运总督衙门的官吏都是芝麻小官,如果朝廷觉得还需要借他们的人头安抚林
启龙的话,那把告密者弄死连眼皮都不会眨一下。
驻扎此地的两江部队同样心情复杂,被夹在清廷中央军和明军之间的感觉非常不好
,很多人都有朝不保夕的感觉。他们现在都盼望着某一方快点从淮安通过,无论是哪一
边都好,这样淮安就可以成为安全的后方,不用像现在这样整天担心这里成为两军交战
的主战场。
心情不好的河道官兵和两江军队就整天在周围排查细作,把来不及逃走的富户都当
做明军的细作抓起来。现在这个节骨眼上,地方官不会替普通百姓打抱不平,他们肯定
会无条件地站在军队一边。
的明军对峙了两个月。这件事传出去后,山西、山东、河南的地方官都对林启龙喊打喊
杀,认为必须要严惩不贷。不过两湖、两江的官府却都替林启龙说话,称愿意分摊责任
,认为林启龙几次三番在明军的威胁下保证了漕运畅通,是个很了不起的能臣。
浙江方面也替林启龙说情,认为朝廷应该给这些没有功劳也有苦劳的臣子更多的机
会,何况确实如湖广和两江所说,林启龙面对的战略形势实在是太险恶了,川陕方面起
不到牵制的作用,让邓名一次次发起东征。要是不顾林启龙以前数次拼死掩护漕运安全
的功劳,仅仅因为这一次失误就严惩他,未免太让功臣寒心了。
被浙江点名批评的四川居然也没有推卸责任,高明瞻代表奋战在重庆前线的全体将
士替漕运总督求情。高明瞻称邓名是大清开国以来遇到的最危险的敌人,将士们豁出性
命和他苦战,依然败多胜少。林启龙手中无兵无将,居然四次中有三次挡住了川军,抢
救出了漕运,如果罢免了林启龙,谁还敢来干这个差事呢,更不用说把他处死了!重庆
前线的几万官兵罕见地发扬风格,表示他们认为浙江说得对,愿意和长江战线上的同仁
们分担责任。
陕西方面则沉默不语,既没有和长江沿线一起支持林启龙,也没有和其他北方省份
一样破口大骂,最后陕西方面还嘀咕了一声:林启龙救回过先帝的遗体,暗示他们更倾
向于长江沿线的意见。
北京方面也觉得现在确实不是追究林启龙的好时机,若是放在几年前,处置了也就
处置了,但这几年先后有二十万清军被川军消灭,北京的底气也不那么足了。而且这次
接到警报后,北京和山东都一致同意按兵不动,如果说贻误战机的话,北京同样是有责
任的。
而此时山东又爆发了新的争吵,遏必隆思来想去,觉得去长江边上追邓名的意义不
大,虽然失去了漕运,但林启龙称明军久攻瓜州不克,士气已堕。如果明军连瓜州都拿
不下的话,遏必隆觉得邓名也未必就能拿下江宁。清军主力去长江上与水师优势的明军
作战确实有些风险,还不如经过河南攻击汉水流域,或是进入陕西再去四川,把邓名的
老巢端掉。
不过杰书却受够了李国英对邓名水面优势的吹捧,一心要前去江南,痛痛快快地打
上一仗。杰书和遏必隆两人询问李国英的时候,川陕总督却不肯支持任何一方的意见:
先前是李国英说漕运丢失就意味着江南失控,但现在漕运真丢了,李国英还是鼓不起勇
气,到江边和邓名决战,上次万县失利给他的教训太深刻了;至于遏必隆深入四川直捣
成都的计划,李国英也哼哼哈哈地不想同意,但他又不敢说天下无敌的八旗到了四川也
是没戏,所以就拼命强调辎重的运输问题。
见山东的清军不动,不知道他们葫芦里卖的什么药,邓名也没有轻率行动,唯恐自
己前脚走清军后脚南下,一下子让东南变天。有人建议邓名用上次对付顺治的办法来对
付杰书,那就是先行退兵,若是山东清军侵入江南,明军再回师。可上次顺治的兵力比
较少,而且一出直隶就受到江南的密切关注,还没等禁旅八旗到达山东,江南官府就已
经知道顺治的底细了。邓名全速返回扬州后,顺治距离山东南部的边境还远着呢;而现
在清军已经在山东境内了,邓名要是退兵,就会失去以逸待劳的优势。
“现在湖广、两江肯购买我们的债券,就是因为他们内心里认为我们可以与清廷主
力一战了,如果他们选择做我们的盟友的话,他们可以指望得到我们的保护。”虽然邓
名认为这有让东南督抚占便宜的嫌疑,但最后还是下定决心和清军进行一场交战,如果
取胜了,那整个南方的形势很可能就此扭转过来了。
“不需要大捷,只要小胜一仗就可以,向南方显示我军的力量,揭露清廷的软弱无
能,”邓名对盟友和部下们说道:“只要我们能挡住杰书,迫使他回师就够了。从此以
后,东南就不是清廷所有。”
下定决心后,邓名就派出大量细作收集清军的情报,准备和伏击顺治一样在扬州府
周围选择一个地点伏击南征的清军——如果他们真的赶来江南的话。
最后起决定性作用的还是北京,见邓名迟迟不肯离开瓜州,就命令山东部队南征,
不管以后怎么样,重新打通运河再说。这次漕运被劫后,北京对周培公的剿邓能力感到
更加不放心了,以前北京认为东南就像是崇祯年的中国北方,每次遇到敌人主力只能坚
守城池,然后尾随以限制对方的行动。
而北京注意到邓名一直无力攻克任何一个大型城市,甚至对中小城市都没有什么办
法,只有九江是个偶然现象。既然如此,北京认为邓名的历次东征收获其实有限,毕竟
洗劫农村的效率很低,不像城市财富那样集中。所以北京认为,李国英声称川西明军从
东征中获得了惊人的缴获有很严重的夸大,多半也是为了推卸责任——当年清军能够一
次次满载而归,也是依靠清军有攻破城市的能力。
北京本想若是邓名像往常一样退兵了,就让遏必隆带一万精兵到扬州去看看,掌握
江南布防的第一手资料——反正都到了山东和江南的边境了,去一趟也不会费太多工夫
。但邓名这次和以往不同,长期围困瓜州而不肯返回四川,北京觉得还是需要趁现在解
决问题,在冬天里配合两江部队把邓名赶回四川,就算损失再惨重,也总比把这个工作
拖延到明年春耕时期强。
从七月底开始,清军的重心就不断向南方转移,到八月底的时候,山东清军的先头
侦查部队已经抵达凤阳。
此时双方都非常的谨慎,满清的中央部队和川西明军即将第一次大规模正面交锋,
杰书虽然口头上很狂妄,但内心里对此战也非常重视,压上了自己用来震慑骑墙派的名
气。川西明军这边也是一样,尽管川军成军以来所向披靡,不过也没有和十万规模的满
清中央军交战过,随着清军逼近的消息不断传来,各级军官也都显出了一些紧张情绪。
这时淮安有一种山雨欲来风满楼的气氛。自从发现山东清军开始南移后,明军就开
始控制运河南段的漕工,最近半个月来没有从扬州来过一条船,官道上也罕见行人。坐
镇扬州的漕运总督一个劲地给后方报平安。但如果真的平安的话,运河上不应该冷清成
这个样子,有经验的胥吏都知道明军正在努力制造情报遮蔽网。既然明军能够封锁得这
么严密,那就说明邓名所图不小,而且想制造这样的封锁也需要动员很多军队。
从八月中旬以来,上游的船只也都消失不见了,这意味着山东清军也征集了他们遇
到的每一条船。当看到北面的官道上也变得空无一人后,淮安周围的不安感就更强烈了
,那些家境富裕的人纷纷外逃,普通百姓也扶老携幼地躲避到周围去。现在是农闲时分
,就是没有能力逃到他乡的人,也掩埋了自己的农具,藏身到远离运河、官道的地区去
,免得遇到过路的明、清两军。
漕运总督衙门此时还有不少属官,留在这里的都不是核心人员,最亲信的那些人早
就被林启龙召去扬州了。留下的人人虽然对林启龙的秘密不是很了解,但还是模模糊糊
地看出来一些不妥之处。康亲王和辅政大臣很可能会经过此处,到时候肯定也要认真询
问漕运的事情,不少人现在都在心里琢磨,到底是把宝压在林启龙身上,指望着他保住
官位,继续效忠他保住自己的饭碗呢,还是反戈一击,把自己知道的那些可疑之处秘密
报告给杰书和遏必隆呢?。
当然,这种密告也是很危险的,第一是没有什么真凭实据,第二就是清廷经常会为
了安抚地方大员而给密告者定个诬告罪。比如当初广东巡按上奏,称尚可喜和耿继茂在
广东横行霸道,朝廷觉得还需要藩王效力,就给汇报实情的巡按定了个诬告绞罪——现
在留守在漕运总督衙门的官吏都是芝麻小官,如果朝廷觉得还需要借他们的人头安抚林
启龙的话,那把告密者弄死连眼皮都不会眨一下。
驻扎此地的两江部队同样心情复杂,被夹在清廷中央军和明军之间的感觉非常不好
,很多人都有朝不保夕的感觉。他们现在都盼望着某一方快点从淮安通过,无论是哪一
边都好,这样淮安就可以成为安全的后方,不用像现在这样整天担心这里成为两军交战
的主战场。
心情不好的河道官兵和两江军队就整天在周围排查细作,把来不及逃走的富户都当
做明军的细作抓起来。现在这个节骨眼上,地方官不会替普通百姓打抱不平,他们肯定
会无条件地站在军队一边。
L*g
4 楼
除了我还有别人吗?
还是众硅谷牛人看不起的C++.
其实c++ 多优美呀,而且结业一些新语法, FoeEach 什么的,真心不错。
还是众硅谷牛人看不起的C++.
其实c++ 多优美呀,而且结业一些新语法, FoeEach 什么的,真心不错。
z*g
5 楼
德国荷兰入境查得比较严。不光是自己说的行程,可能会让你出示酒店预订。
t*m
8 楼
C++
t*n
10 楼
看看这个就知道C++的未来了:
http://www.csdn.net/article/2015-12-20/2826517
注意,此文是C++牛人Andrei Alexandrescu写的。看表面他很推崇D原因。实际上,D的
优点正在一点一点被C++所吸取。所以D只是个先锋/实验语言,离实战远的很。
至于rush/go,充其量只是大公司的玩具。说白了就是某些程序员保饭碗的工具。而且
这些公司也没有近全力去推广。
所以未来的语言,只有基于计算和基于web的。其他都是被淘汰的命运。web那里
javacript是绝对统治。计算那里,无论考虑io还是cpu,C/C++当仁不让。剩下python/
lua搞搞qa,胶水之类的。
版上喜欢讨论语言,不是因为有硅谷牛人,而是9成都找工作的。有个haxe挺好玩的,
不知道有人玩不。
【在 L******g 的大作中提到】
: 除了我还有别人吗?
: 还是众硅谷牛人看不起的C++.
: 其实c++ 多优美呀,而且结业一些新语法, FoeEach 什么的,真心不错。
http://www.csdn.net/article/2015-12-20/2826517
注意,此文是C++牛人Andrei Alexandrescu写的。看表面他很推崇D原因。实际上,D的
优点正在一点一点被C++所吸取。所以D只是个先锋/实验语言,离实战远的很。
至于rush/go,充其量只是大公司的玩具。说白了就是某些程序员保饭碗的工具。而且
这些公司也没有近全力去推广。
所以未来的语言,只有基于计算和基于web的。其他都是被淘汰的命运。web那里
javacript是绝对统治。计算那里,无论考虑io还是cpu,C/C++当仁不让。剩下python/
lua搞搞qa,胶水之类的。
版上喜欢讨论语言,不是因为有硅谷牛人,而是9成都找工作的。有个haxe挺好玩的,
不知道有人玩不。
【在 L******g 的大作中提到】
: 除了我还有别人吗?
: 还是众硅谷牛人看不起的C++.
: 其实c++ 多优美呀,而且结业一些新语法, FoeEach 什么的,真心不错。
t*n
11 楼
D语言架构师Andrei Alexandrescu谈D、Go、Rust取代C/C++
http://www.csdn.net/article/2015-12-20/2826517
摘要:哪种语言最可能替代C/C++?D、Go还是Rust?D语言的联合创始人、架构师
Andrei分别就三种语言的优缺点给出了透彻的分析。
【编者按】本文是D语言联合创始人、架构师Andrei Alexandrescu在问答Quora上关于
“在取代C语言的道路上,D、Go和Rust谁的前途最光明?为什么?”提问的回答,他从
自己的角度谈及了D、Go和Rust在取代C/C++语言的优劣势,以及这三种语言的未来。
以下为译文:
作为D语言的联合创始人之一,尽管我的身份来回答这个问题显得有点不合适,但是我
仍会尽可能客观地回答这个问题。我关注着Go和Rust的发展,同时我也知道D语言的缺
点。在Go和Rust社区中,我一直鼓励同行的朋友分享他们的真实想法,所以在这里也一
如既往。
首先,C++在这个问题上处在一个特殊的位置,无论它是否会像C一样被取代,亦或是成
为替代C的语言,C++都是程序语言领域中的一个关键部分。
C++是最接近C的语言,安装配置的方式也明显相似,鉴于C++的年龄,下面我假设标题
的问题也将C++语言列入替代C语言的语言列表中。
每一种语言都有一些它最根本的优势(我称之为“十倍优势”,指在这方面它比其他语
言高几个等级)和一些它要面对的挑战。 这些语言的未来如何,以及它们是否能够取
代C语言,取决于它们使用什么策略来利用好自己的“十倍优势”,以及它们如何克服
他们所面对的各种挑战。
D语言
显然,这对于我来说轻车熟路,所以我知道如何在你面前秀出D语言设计的亮点之处,
也知道如何带着你绕开D语言设计的不好之处。相比Go和Rust我更了解D语言,所以我可
能会更多地去谈论D语言。坦白而言,D语言所面对的主要挑战是如下:
存在多年却一直没有被业界广泛采用。D社区内的一些业内人士有资格这样说(D当
前还是相对比较年轻的一门语言,而且它的市场占用率也确实在逐渐增加),然而观念
很难改变,同时观念也支配着市场占有率,因此管理者和工程师很难去接受一门在很长
时间内都没有取得成功的语言,更进一步地说,如果短期之内D语言不能取得市场占有
率的明显提升,那么时间的流逝将对D语言更加不利。
D语言同垃圾收集器的关系。GC是一项伟大的发明,但是将其用于D语言的决定使D
远离了核心市场(也就是现有的C和C++开发人员)。对于C和C++程序员,历史悠久的主
流思想是不使用GC,或者是在D中使用RAII或手工管理内存。尽管如此,由于标准库存
对于其它的内存管理方式缺乏支持,以至于它形同虚设,需要用户自己去实现底层的基
础设施,所以不使用GC而使用其它的内存管理方式在D语言中的意义不大。此外,对于
那些愿意使用GC的人,其实现质量也是乏善可陈。整体而言,D持有由GC导致的缺点,
却没有获得GC带来的好处。
缺乏远见。缺乏企业的支持,D一直是社区驱动,工程智慧比长期愿景更容易找到
魅力和领导能力。在很长一段时间内,D的推广和公关做的都不好。第一个愿景文档(http://wiki.dlang.org/Vision/2015H1)是定在2015年1月1日,下一个迭代(Vision/2015H2 - DWiki)已经晚了4个月,持续了6个月的迭代周期已最好的讽刺。
当然D语言还有其它问题,但是它们要么由上面的问题所衍生,要么影响比较小。
我认为D语言的“10倍”优势在以下几方面(在接下的部分当我的说到"10x"时,通俗的
理解是一个数量级):
同等规模的代码,D语言的编译速度比C++快。编译速度上的差距对于C++而言根本
就不可能弥补,其他语言要想追赶上D也是比登天还难。(Go的编译速度比D略微快一点
,但是生成的代码运行效率更慢一点)使用系统级的语言快速的构建代码,这是一种具
有深远意义的变革。D语言的高度抽象能力使它成为编写高度优化代码的一很好的选择
,因为实验成本很低。
比同等开发效率的脚本语言快。使用D语言的一个好处是可以像使用脚本语言一样
便利地去处理各种日常的事务。构建/运行的过程非常快,并且速度的提升是非常明显
的,同时D语言没有“碰壁效应(hitting the wall)”,如果脚本变得非常巨大,D总
是有其它的如模块化这样的机制来提供对于速度优化的支持。当然,这种比较前提是基
于相似的颗粒度,像Python有更多的可直接使用的库资源,但是一个数量级的差距是根
本存在的:系统级编程语言很难达到D语言的水平,而脚本语言又无法在速度上缩小与D
语言的差距。
与C和C++的交互比其它语言容易。D使用与C和C++相同的内存布局,它所做的一切
其它的工作都是建立在这个基础上,同时底层能做到零开销读取。整个C标准库都可以
在不做特殊的语法处理的情况下实现无运行损耗的去访问,对于C++标准库要达到同样
的支持,还有一些工作要做,还有许多C库可以直接支持https://github.com/D-
Programming-Deimos),甚至可以这样说,没有其它语言能够达到D语言的集成水平。
在泛型编程方面比其它系统级语言好。D语言的静态内省、编译时计算、minedin-
deriven代码生成构成一个强大的组合,而这在其它语言里是很难正确做到的。在这方
面,Go没有任何深度,因为它直接不提供这个功能。C++17也绝望地迷失了方向,Rust
则是刚刚企图涉足。
Go语言
申明一下,下面都是我的个人观点。我认为Go语言要面对以下挑战:
由于间接调用和垃圾回收机制而导致的根本性缓慢。Go语言的一个核心特征是不借
用间接的函数调用和垃圾回收机制几乎无法写出有意义的代码,而这也正是Go在实现核
心性能道路上所面对的主要障碍,Go团队对于这一点作出的应对是战术性的,例如他们
采取的措施是在实现更好的垃圾收集器方向展开工作,但是我认为Go对C的这种战术性
的挑战是很难取得成功的。
政治。Go所走的路线在一些问题上持有极其强硬和死板态度,这些问题有大有小。
在比较大的方面,泛型编程被严格控制,甚至贬低到只有"N"个字;有关泛型编程的讨
论都是试图去劝阻任何有意义的尝试,这已经足够让人觉得耻辱。从长远来看,技术问
题的政治化是一种极其有害的模式,所以希望Go社区能够找到修正它的方法。
从简单到简单化。Go是出了名的简单,有很多人们快速学习使用它的事迹。然而随
着时间的推移,这也同样成了一个问题。Go程序员是没有希望的过路人,他们发现自己
一次又一次写着相同的东西,由于Go甚至无法对最简单的概念和算法进行抽象。没有被
库很好地支持的区域是很难进入的,这在使用Go开发了一个项目并永远不再想使用Go的
开发者中是一个强烈的反映。如果Go能够使开发中的“回头客”过的更好,那将是非常
伟大的。
在我看来,Go语言的十倍优势如下:
策略更好。在短暂的定位于系统编程语言之后,它将自己定位于网络基础服务设施
领域,这是一个明智的营销举措,结合了Go团队的技术优势(这个世界上最好的网络服
务开发工程师),作为一个市场热点,网络服务开发领域一直被JavaEE和其它一些缓慢
的脚本语言统治着,Go为这个领域带来了一股新的气息,现在Go是这个领域的一个主要
成员,并且它的地位很难被取代。
工程性好。Go的背后有一个坚实的工程技术团队,他们保证了Go语言,以及其网络
库和工具的质量。直到目前为止,良好的工程性已经弥补了Go语言本身的很多不足之处。
品牌好。我们中的很多人都得承认Go的一个重要推广因素是它与Google的关系,这
使得人们对于它的专业性、质量和稳定性有更多的信心。当然品牌不是万能的,但是那
意味着Go只需要成为一个体面的语言,它不需要成一个“梦幻”般的语言,因这品牌会
去帮助它推广。
Rust语言
让我再次强调一下,这只是我的个人看法。我认为Rust面临着一些有趣的挑战:
一个不和谐的特性。阅读任何数量的Rust代码都能让人想起这个笑话“朋友们不要
让朋友跳腿日”和体格强壮的男人躺在廋腿上休息的漫画形象。Rust把安全、精确的内
存管理作为一切的中心放在首位。不幸的是,这在其他语言中几乎都算不上问题。它意
味着思考和编码的工作的很大一部分内容将是致力于一份类似文职的工作(而GC却可以
让这一部分内容自动淡出人们的视线),安全、确定地进行内存回收是一个困难的问题
,但并不是唯一的问题,在编程中它也不是最重要的问题。因此,Rust为解决这个问题
花费了不成比例的语言设计成本,有趣的是Rust在其他方面也慢慢成长起来。让Rust在
个性上更和谐的唯一解决方案是在语言发展的过程中,引入其它抽象机制来帮助解决烦
人的资源管理的问题。
另类的语法。Rust的语法比较独特,但是这种语法的差异并没有明显的优势,它的
语法让来自于Algol语法风格的人们觉得非常难受。
Rust的十倍优势如下:
理论优势。在三个语言中,Rust是唯一的由世界级PL理论家领衔的语言,这可以通
过其语言的精确定义和其技术方法的深度得到验证。
安全性好。当然我前面只是讨论了一下这样做的成本。
公关好。当Rust在社区中深受喜爱和几乎不会出错时,pre-1.0已经有很长一段时
间了。无论什么时候出现问题,Rust要么自己解决,要么通过1.0解决。1.0的发布结束
了Rust和大众的蜜月期,据我的测量和评估,人们对于Rust的普遍热情会有一定程度的
下降,但是Rust终究是一门体面的语言,它有实物来应对并且建立一个良好推广模式。
总结
哪一种语言都能取代C、C++,亦或者是共存,甚而哪一种语言更好,但大多数情况下,
在实际的项目中都还是默认选择了C或者C++,至于哪一种语言是项目的更好选择,这取
决于几个语言在项目中的特有长处。
附Andrei Alexandrescu介绍:
世界顶尖的C++专家,2001年撰写了经典名著《C++设计新思维》(Modern C++ Design
),曾荣获2001年最佳C++图书称号,书中所开发的Loki已经成为最负盛名的C++程序库
之一。他被认为是新一代C++的代表人物,因为对Template技术的精湛运用,震撼了整
个C++社群,开辟了C++编程领域的“Modern C++”新时代。他还与Herb Sutter合著了
《C++编程规范》(C++ Coding Standards)。他花了8年的时间攻读机器学习方面的博
士学位,专门研究部分自然语言处理结构。自2006年开始,他与D语言的最初设计者及
实现者Walter Bright紧密合作,设计和实现D语言及其标准库,他是D语言很多特性的
设计者,也是大多数D语言标准库的作者。Andrei Alexandrescu在工业界和学术界都有
很高的声誉。现为Facebook研究员。
http://www.csdn.net/article/2015-12-20/2826517
摘要:哪种语言最可能替代C/C++?D、Go还是Rust?D语言的联合创始人、架构师
Andrei分别就三种语言的优缺点给出了透彻的分析。
【编者按】本文是D语言联合创始人、架构师Andrei Alexandrescu在问答Quora上关于
“在取代C语言的道路上,D、Go和Rust谁的前途最光明?为什么?”提问的回答,他从
自己的角度谈及了D、Go和Rust在取代C/C++语言的优劣势,以及这三种语言的未来。
以下为译文:
作为D语言的联合创始人之一,尽管我的身份来回答这个问题显得有点不合适,但是我
仍会尽可能客观地回答这个问题。我关注着Go和Rust的发展,同时我也知道D语言的缺
点。在Go和Rust社区中,我一直鼓励同行的朋友分享他们的真实想法,所以在这里也一
如既往。
首先,C++在这个问题上处在一个特殊的位置,无论它是否会像C一样被取代,亦或是成
为替代C的语言,C++都是程序语言领域中的一个关键部分。
C++是最接近C的语言,安装配置的方式也明显相似,鉴于C++的年龄,下面我假设标题
的问题也将C++语言列入替代C语言的语言列表中。
每一种语言都有一些它最根本的优势(我称之为“十倍优势”,指在这方面它比其他语
言高几个等级)和一些它要面对的挑战。 这些语言的未来如何,以及它们是否能够取
代C语言,取决于它们使用什么策略来利用好自己的“十倍优势”,以及它们如何克服
他们所面对的各种挑战。
D语言
显然,这对于我来说轻车熟路,所以我知道如何在你面前秀出D语言设计的亮点之处,
也知道如何带着你绕开D语言设计的不好之处。相比Go和Rust我更了解D语言,所以我可
能会更多地去谈论D语言。坦白而言,D语言所面对的主要挑战是如下:
存在多年却一直没有被业界广泛采用。D社区内的一些业内人士有资格这样说(D当
前还是相对比较年轻的一门语言,而且它的市场占用率也确实在逐渐增加),然而观念
很难改变,同时观念也支配着市场占有率,因此管理者和工程师很难去接受一门在很长
时间内都没有取得成功的语言,更进一步地说,如果短期之内D语言不能取得市场占有
率的明显提升,那么时间的流逝将对D语言更加不利。
D语言同垃圾收集器的关系。GC是一项伟大的发明,但是将其用于D语言的决定使D
远离了核心市场(也就是现有的C和C++开发人员)。对于C和C++程序员,历史悠久的主
流思想是不使用GC,或者是在D中使用RAII或手工管理内存。尽管如此,由于标准库存
对于其它的内存管理方式缺乏支持,以至于它形同虚设,需要用户自己去实现底层的基
础设施,所以不使用GC而使用其它的内存管理方式在D语言中的意义不大。此外,对于
那些愿意使用GC的人,其实现质量也是乏善可陈。整体而言,D持有由GC导致的缺点,
却没有获得GC带来的好处。
缺乏远见。缺乏企业的支持,D一直是社区驱动,工程智慧比长期愿景更容易找到
魅力和领导能力。在很长一段时间内,D的推广和公关做的都不好。第一个愿景文档(http://wiki.dlang.org/Vision/2015H1)是定在2015年1月1日,下一个迭代(Vision/2015H2 - DWiki)已经晚了4个月,持续了6个月的迭代周期已最好的讽刺。
当然D语言还有其它问题,但是它们要么由上面的问题所衍生,要么影响比较小。
我认为D语言的“10倍”优势在以下几方面(在接下的部分当我的说到"10x"时,通俗的
理解是一个数量级):
同等规模的代码,D语言的编译速度比C++快。编译速度上的差距对于C++而言根本
就不可能弥补,其他语言要想追赶上D也是比登天还难。(Go的编译速度比D略微快一点
,但是生成的代码运行效率更慢一点)使用系统级的语言快速的构建代码,这是一种具
有深远意义的变革。D语言的高度抽象能力使它成为编写高度优化代码的一很好的选择
,因为实验成本很低。
比同等开发效率的脚本语言快。使用D语言的一个好处是可以像使用脚本语言一样
便利地去处理各种日常的事务。构建/运行的过程非常快,并且速度的提升是非常明显
的,同时D语言没有“碰壁效应(hitting the wall)”,如果脚本变得非常巨大,D总
是有其它的如模块化这样的机制来提供对于速度优化的支持。当然,这种比较前提是基
于相似的颗粒度,像Python有更多的可直接使用的库资源,但是一个数量级的差距是根
本存在的:系统级编程语言很难达到D语言的水平,而脚本语言又无法在速度上缩小与D
语言的差距。
与C和C++的交互比其它语言容易。D使用与C和C++相同的内存布局,它所做的一切
其它的工作都是建立在这个基础上,同时底层能做到零开销读取。整个C标准库都可以
在不做特殊的语法处理的情况下实现无运行损耗的去访问,对于C++标准库要达到同样
的支持,还有一些工作要做,还有许多C库可以直接支持https://github.com/D-
Programming-Deimos),甚至可以这样说,没有其它语言能够达到D语言的集成水平。
在泛型编程方面比其它系统级语言好。D语言的静态内省、编译时计算、minedin-
deriven代码生成构成一个强大的组合,而这在其它语言里是很难正确做到的。在这方
面,Go没有任何深度,因为它直接不提供这个功能。C++17也绝望地迷失了方向,Rust
则是刚刚企图涉足。
Go语言
申明一下,下面都是我的个人观点。我认为Go语言要面对以下挑战:
由于间接调用和垃圾回收机制而导致的根本性缓慢。Go语言的一个核心特征是不借
用间接的函数调用和垃圾回收机制几乎无法写出有意义的代码,而这也正是Go在实现核
心性能道路上所面对的主要障碍,Go团队对于这一点作出的应对是战术性的,例如他们
采取的措施是在实现更好的垃圾收集器方向展开工作,但是我认为Go对C的这种战术性
的挑战是很难取得成功的。
政治。Go所走的路线在一些问题上持有极其强硬和死板态度,这些问题有大有小。
在比较大的方面,泛型编程被严格控制,甚至贬低到只有"N"个字;有关泛型编程的讨
论都是试图去劝阻任何有意义的尝试,这已经足够让人觉得耻辱。从长远来看,技术问
题的政治化是一种极其有害的模式,所以希望Go社区能够找到修正它的方法。
从简单到简单化。Go是出了名的简单,有很多人们快速学习使用它的事迹。然而随
着时间的推移,这也同样成了一个问题。Go程序员是没有希望的过路人,他们发现自己
一次又一次写着相同的东西,由于Go甚至无法对最简单的概念和算法进行抽象。没有被
库很好地支持的区域是很难进入的,这在使用Go开发了一个项目并永远不再想使用Go的
开发者中是一个强烈的反映。如果Go能够使开发中的“回头客”过的更好,那将是非常
伟大的。
在我看来,Go语言的十倍优势如下:
策略更好。在短暂的定位于系统编程语言之后,它将自己定位于网络基础服务设施
领域,这是一个明智的营销举措,结合了Go团队的技术优势(这个世界上最好的网络服
务开发工程师),作为一个市场热点,网络服务开发领域一直被JavaEE和其它一些缓慢
的脚本语言统治着,Go为这个领域带来了一股新的气息,现在Go是这个领域的一个主要
成员,并且它的地位很难被取代。
工程性好。Go的背后有一个坚实的工程技术团队,他们保证了Go语言,以及其网络
库和工具的质量。直到目前为止,良好的工程性已经弥补了Go语言本身的很多不足之处。
品牌好。我们中的很多人都得承认Go的一个重要推广因素是它与Google的关系,这
使得人们对于它的专业性、质量和稳定性有更多的信心。当然品牌不是万能的,但是那
意味着Go只需要成为一个体面的语言,它不需要成一个“梦幻”般的语言,因这品牌会
去帮助它推广。
Rust语言
让我再次强调一下,这只是我的个人看法。我认为Rust面临着一些有趣的挑战:
一个不和谐的特性。阅读任何数量的Rust代码都能让人想起这个笑话“朋友们不要
让朋友跳腿日”和体格强壮的男人躺在廋腿上休息的漫画形象。Rust把安全、精确的内
存管理作为一切的中心放在首位。不幸的是,这在其他语言中几乎都算不上问题。它意
味着思考和编码的工作的很大一部分内容将是致力于一份类似文职的工作(而GC却可以
让这一部分内容自动淡出人们的视线),安全、确定地进行内存回收是一个困难的问题
,但并不是唯一的问题,在编程中它也不是最重要的问题。因此,Rust为解决这个问题
花费了不成比例的语言设计成本,有趣的是Rust在其他方面也慢慢成长起来。让Rust在
个性上更和谐的唯一解决方案是在语言发展的过程中,引入其它抽象机制来帮助解决烦
人的资源管理的问题。
另类的语法。Rust的语法比较独特,但是这种语法的差异并没有明显的优势,它的
语法让来自于Algol语法风格的人们觉得非常难受。
Rust的十倍优势如下:
理论优势。在三个语言中,Rust是唯一的由世界级PL理论家领衔的语言,这可以通
过其语言的精确定义和其技术方法的深度得到验证。
安全性好。当然我前面只是讨论了一下这样做的成本。
公关好。当Rust在社区中深受喜爱和几乎不会出错时,pre-1.0已经有很长一段时
间了。无论什么时候出现问题,Rust要么自己解决,要么通过1.0解决。1.0的发布结束
了Rust和大众的蜜月期,据我的测量和评估,人们对于Rust的普遍热情会有一定程度的
下降,但是Rust终究是一门体面的语言,它有实物来应对并且建立一个良好推广模式。
总结
哪一种语言都能取代C、C++,亦或者是共存,甚而哪一种语言更好,但大多数情况下,
在实际的项目中都还是默认选择了C或者C++,至于哪一种语言是项目的更好选择,这取
决于几个语言在项目中的特有长处。
附Andrei Alexandrescu介绍:
世界顶尖的C++专家,2001年撰写了经典名著《C++设计新思维》(Modern C++ Design
),曾荣获2001年最佳C++图书称号,书中所开发的Loki已经成为最负盛名的C++程序库
之一。他被认为是新一代C++的代表人物,因为对Template技术的精湛运用,震撼了整
个C++社群,开辟了C++编程领域的“Modern C++”新时代。他还与Herb Sutter合著了
《C++编程规范》(C++ Coding Standards)。他花了8年的时间攻读机器学习方面的博
士学位,专门研究部分自然语言处理结构。自2006年开始,他与D语言的最初设计者及
实现者Walter Bright紧密合作,设计和实现D语言及其标准库,他是D语言很多特性的
设计者,也是大多数D语言标准库的作者。Andrei Alexandrescu在工业界和学术界都有
很高的声誉。现为Facebook研究员。
b*y
12 楼
python/
Web用JavaScript? 脚本语言还是不行吧?我倒觉得java在web上就很好啊,不少知名公
司用的java.
【在 t*****n 的大作中提到】
: 看看这个就知道C++的未来了:
: http://www.csdn.net/article/2015-12-20/2826517
: 注意,此文是C++牛人Andrei Alexandrescu写的。看表面他很推崇D原因。实际上,D的
: 优点正在一点一点被C++所吸取。所以D只是个先锋/实验语言,离实战远的很。
: 至于rush/go,充其量只是大公司的玩具。说白了就是某些程序员保饭碗的工具。而且
: 这些公司也没有近全力去推广。
: 所以未来的语言,只有基于计算和基于web的。其他都是被淘汰的命运。web那里
: javacript是绝对统治。计算那里,无论考虑io还是cpu,C/C++当仁不让。剩下python/
: lua搞搞qa,胶水之类的。
: 版上喜欢讨论语言,不是因为有硅谷牛人,而是9成都找工作的。有个haxe挺好玩的,
p*e
13 楼
D的编译比Delphi还快?
【在 t*****n 的大作中提到】
: D语言架构师Andrei Alexandrescu谈D、Go、Rust取代C/C++
: http://www.csdn.net/article/2015-12-20/2826517
: 摘要:哪种语言最可能替代C/C++?D、Go还是Rust?D语言的联合创始人、架构师
: Andrei分别就三种语言的优缺点给出了透彻的分析。
: 【编者按】本文是D语言联合创始人、架构师Andrei Alexandrescu在问答Quora上关于
: “在取代C语言的道路上,D、Go和Rust谁的前途最光明?为什么?”提问的回答,他从
: 自己的角度谈及了D、Go和Rust在取代C/C++语言的优劣势,以及这三种语言的未来。
: 以下为译文:
: 作为D语言的联合创始人之一,尽管我的身份来回答这个问题显得有点不合适,但是我
: 仍会尽可能客观地回答这个问题。我关注着Go和Rust的发展,同时我也知道D语言的缺
【在 t*****n 的大作中提到】
: D语言架构师Andrei Alexandrescu谈D、Go、Rust取代C/C++
: http://www.csdn.net/article/2015-12-20/2826517
: 摘要:哪种语言最可能替代C/C++?D、Go还是Rust?D语言的联合创始人、架构师
: Andrei分别就三种语言的优缺点给出了透彻的分析。
: 【编者按】本文是D语言联合创始人、架构师Andrei Alexandrescu在问答Quora上关于
: “在取代C语言的道路上,D、Go和Rust谁的前途最光明?为什么?”提问的回答,他从
: 自己的角度谈及了D、Go和Rust在取代C/C++语言的优劣势,以及这三种语言的未来。
: 以下为译文:
: 作为D语言的联合创始人之一,尽管我的身份来回答这个问题显得有点不合适,但是我
: 仍会尽可能客观地回答这个问题。我关注着Go和Rust的发展,同时我也知道D语言的缺
W*o
15 楼
在github上有一个repo,我已经连续check in 60多天了,现在有股莫名的动力每天都
check in来打破自己的longest streak的天数,所以不分工作日和holiday每天都会写
code,这也许就是addiction
check in来打破自己的longest streak的天数,所以不分工作日和holiday每天都会写
code,这也许就是addiction
c*f
16 楼
羡慕能在github发东西,公司管的太严了
相关阅读
原来goodbug连强实时定义都不懂总看这里有人提leetcode,刚刚才去看了网站atoi对我来说至少可以想出三种方式来做为一个atoi 竟然还要争;我来给个标准答案才发现gcc的parallel mode用什么编程语言来解析围棋的 sgf 文件?做得越多就知道Why we love Scala at Courseracs是个什么东西?看来couchbase跟mongo是真的干上了vbscript 转换excel文件到csv文件格式问题?好吧,Disable GC的问题从SGI和Nokia的失败俯瞰本版几位名ID的心路历程framework那么多,码工更不值钱了。如何证明职场歧视? (转载)长周末出去一趟,魏公公又冒头了?给CS的朋友来科普一下pCell[KJPT]今年美国什么工作最吃香?程序员薪酬超医生 (转载)php这个板上是不是声名狼藉求指教:关于汉字拆分和图像识别