视窗
loading...
您现在的位置:首页 > IT认证 > JAVA >

Java程序员的迷失―论“虚拟机”


  虚拟机技术现在非常热门,人们认为它可以完成一切事情。人们热衷于让JVM可以运行Ruby、PHP或其它一些热门语言,以及支持像Java FX之类的技术。这种现象是好是坏?Joe Winchester以自己的经历来论证了对此的看法。

  在Java出现之前我一直是Smalltalk(注:Smalltalk被公认为历史上第二个面向对象的程序设计语言,和第一个真正的集成开发环境。)的爱好者。从Smalltalk转向Java的经历,到现在依然让我记忆犹新,从一门语言转向另一门语言并不是一件轻松的事情。我依然记得当你真正掌握这门新语言时所到达的临界状态,掌握一门新语言往往需要花费数月甚至数年的时间,经过这段时间的历练,你才能做出真正优秀的设计,以及知道如何最好的应用它的哪一个模式,如何避免错误发生,以及如何进行性能调优等等。

  最近因为工作需要,我要回过头来看一些以前的Smalltalk代码,这时我发现,在经历过这一段学习Java编程的阶段后,我已经很难清晰的理解过去自己所编写的Smalltalk代码,很明显,我肯定不能再称自己是一个合格的Smalltalk程序员。

  说这些只是为了表达我的一个观点:我认为每个人只可能精通一门编程语言,换句话说,如果你什么都精通,其实也就说你什么都精通。我喜欢一个只有一门语言、漂亮简单的“扁平结构”世界。在这样一个世界中,程序员之间交流会变得更加轻松,每个人可以彼此分享共同的经验,而且不也不用来回的在不同的语言之间跳来跳去。

  当Java第一次面世的时候,曾经有些虚拟机方面的家伙进行一些没有前途的尝试:让Java运行在Smalltalk虚拟机上。尽管他们拥有一个非常酷的叫做通用虚拟机(Universal Virtual Machine,UVM)的技术,但是归根到底,这实际上还是一个保护Smalltalk地盘的反抗行为。从理论上说这可能是一个好的思路,人们不再用必须学习一种新的语法就可以体验新语言的好处;但是实际上并非如此,使用Java本地接口JNI编程来使两者联系起来是一件令程序员非常痛苦的事情,这简直就是一场噩梦,程序员在编程的时候要陷入很多麻烦,例如在不同语言类型之间存在很多数据类型转化的问题。

  要想在Java下进行Smalltalk编程,或者在Smalltalk下进行Java编程,你需要非常精通两种语言,而且你需要拥有一个非常发达的大脑来调试虚拟机注册表和大量设置DOS堆栈的个数。

  数年以来,微软的家伙一直在抨击Java程序的速度慢,它们认为Java程序是解释型字节码,而不是完全编译好的,这也是人们怀疑Java性能的一个主要借口,而多数微软的语言则都被编译为解释好的p-code.然而现在微软又开始鼓吹它的通用语言运行时(CLR),将其称为编程的圣杯。这一点和Smalltalk/Java混合UVM非常相似。实际上,CLR上似乎只运行微软的语言,自从其问世以来并没有引起太多其他语言的程序员倒戈。

  现在有一种现象令我感到非常忧虑,“虚拟机可以完成一切”的观点正在逐渐复苏。人们的精力不再集中在Java和这个语言向前发展所需要的改进上,人们把精力都投入到让Java虚拟机JVM去运行Ruby、PHP或其它同类流行语言上,还有让Java虚拟机支持Java FX这个几乎和Java语法无关的技术上。如果这一切都实现了,留给我们的又是什么呢?

  我们拥有了一个不仅仅可以运行Java还可以运行其它语言的虚拟机;我们拥有了很多不使用Java编写但可以编译为Java的语言;我们拥有一些失去了自身价值定位的东西。换言之,我们迷失了自己的方向,失去了准确的定位。

  对于我们这些编程序的人来说,我依然认为熟练掌握多种语言实际上是行不通的,我们最终会变为二流程序员,只能编写性能糟糕和设计恶劣的程序,更不用说随着环境和语言的切换,调试方面的噩梦随处可见。

  那么为什么人们对虚拟机的热情如此高涨呢?你或许会说,其它语言是动态的而Java是静态的;或者其它语言像PHP、Ruby更适于Web编程;或者什么其它的原因?这些都是现实,不过我认为,我们应该去完善Java来解决这些问题,而不是增加复杂度朝着虚拟机使劲,让其支持这些几年前已经不存在的语言。对于Java来说,没有什么错误和难题是不可以被解决的。我认为这才是人们应该关注的地方,而不是让JVM变成一个杂而不精的东西,否者Java最终将面临与Smalltalk相同的命运。

  历史总是在惊人的重复,如果我们不把Java看作一门语言,而仅仅看作是一些“Java技术”之类的东西的话,我们就正在让它走向灭亡,使其相对于其它语言的优势逐渐削弱,同时也让编写优秀软件变为一件更难的事情。

闂傚倷绶氬ḿ褍螞瀹€鍕;闁跨噦鎷�

闂傚倷绶氬ḿ褍螞瀹€鍕;闁跨噦鎷�

闂傚倷绶氬ḿ褍螞濞嗘挸绀夐柡鍥ュ灩閸屻劑鏌曢崼婵囧閻庢艾顭烽弻銊モ攽閸℃ê鐝旂紓浣瑰敾缂嶄線寮婚敓鐘茬妞ゆ劧瀵岄埀顒侇殜閺岀喖鎽庨崒姘ギ闂佽鍟崶褔鍞堕梺缁樻煥閹芥粎绮旈鍕厽闁绘ê寮堕幖鎰版煟鎺抽崝灞藉祫闂佺鎻粻鎴g箽闂備浇娉曢崳锕傚箯閿燂拷
闂傚倷绀侀幖顐︽偋濠婂牆绀堟繛鎴欏灪閸嬬喐銇勯弽顐沪闁绘帡绠栭弻鏇熺箾閸喖濮庨梺璇叉唉椤曆嗗絹闂佹悶鍎荤徊鑺ユ櫠閹绘崡褰掓偂鎼淬垹娈楅悗娈垮枛閻栧吋淇婇悜鑺ユ櫆闁告挆鍐帗婵犵數鍋涢悺銊у垝瀹€鈧懞閬嶆嚃閳哄嫬小婵炲鍘ч悺銊╁吹閸岀偞鐓涢柛鎰╁妼閳ь剝宕电划鏃囥亹閹烘挾鍙嗗┑鐐村灱濞呮洜鈧熬鎷�闂備浇顕уù鐑藉极閹间降鈧焦绻濋崑顖氱秺瀹曞崬螣鐠囧樊娼梻浣风串缁蹭粙寮甸鍕仼闁告鍊戞惔銊ョ倞闁挎繂鎳庨埛澶嬬箾鐎电ǹ甯堕柟铏耿閻涱喚鈧綆鍠栫粻锝嗙節婵犲倸顏柟鏋姂濮婃椽宕ㄦ繝鍐f嫻缂備礁顑嗙敮锟犲箚閸ャ劌顕遍柡澶嬪灥閸炪劑姊洪幖鐐插姌闁告柨绉归敐鐐哄冀椤儱閰e畷鍫曟晲閸涱厸鎷ゅ┑鐐差嚟閸樠囧箠濮椻偓楠炲棝宕橀鑲╊槹濡炪倖鍔戦崹娲儊閺冣偓缁绘繈濮€閿濆棛銆愰柣搴㈣壘閹芥粌危閹扮増鏅搁柨鐕傛嫹闂傚倷鑳堕幊鎾绘偤閵娾晛鍨傞柛鎰ゴ閸亪鏌熺€电ǹ小闁绘帒锕ら埞鎴︽偐閸欏鎮欏┑鐐叉噷閸ㄥ綊婀侀梺鎸庣箓濡盯鎯屾惔銊︾厓鐟滄粓宕滃▎鎾崇疇闁归偊鍏橀弸鏃堟煙鏉堥箖妾柛瀣儔閺屾盯顢曢妶鍛€剧紓鍌氱М閸嬫捇姊绘担鐟扮亰闁绘帪绠撴俊鐢告倷閻㈢數顦梺鍝勫暙閻楀棛鐥閺屾盯骞囬娑氥€婄紓浣插亾闁跨噦鎷�闂備浇顕х花鑲╁緤婵犳熬缍栧鑸靛姇閸ㄥ倹绻濇繝鍌氼伀妞も晠鏀遍妵鍕箳閹存繃娈茬紓浣风贰閸o絽顕i崼鏇熷€烽柛顭戝亝閻濐亜鈹戦悙鑼闁搞劌澧庣划姘舵焼瀹ュ懐鍔撮梺鍛婂壃閸涱垼妲繝鐢靛Х椤d粙鍩€椤掆偓閸熷潡鍩€椤掑倹鍤€闁挎洏鍨洪幏鍛村礈閹绘帗顓块梻浣呵归張顒傛崲瀹ュ鑸归柟缁㈠枟閻撴瑩鎮楀☉娆嬬細濠⒀屽墯缁绘繈鍩€椤掍焦濯撮柛锔诲幘閹虫繈姊洪崜鑼帥闁稿鎳愮槐鐐哄焵椤掑嫭鈷戦柣鐔稿閹界娀鏌eΔ鍐ㄤ户闁瑰箍鍨归~婵嬵敄閼恒儳浜欓梻浣告惈濞诧箓鎯岄鐐床闁糕剝绋掗悡娆愩亜閹炬鍟版禒鏉戭渻閵堝棙澶勯柛鎾跺枎閻g兘鏁愰崱娆戠槇闂佸憡鍔忛弲鈺佄i鐐粹拺闁奸€涘嵆閸濈儤鎱ㄦ繝鍌ょ吋闁哄苯鐗撻獮姗€顢欓懖鈺婂悈闂備胶鎳撻悺銊у垝瀹ュ洤鍨濋柨鏇炲€归悡銉︾箾閹寸倖鎴濓耿閻楀牏绡€闁逞屽墴楠炲秹顢欓幆褍瑙︽繝鐢靛仜濡霉妞嬪海鐜绘俊銈呭暟绾惧ジ鏌¢崒娑卞劌闁稿骸绻掗埀顒冾潐閹哥ǹ螞濠靛棛鏆︽慨妯垮煐閸嬫劗绱撴担璐細鐟滅増鍨垮娲箰鎼粹€虫灆闂佺懓鍤栭幏锟�闂備浇顕уù鐑藉极閹间礁绠犻柟鎹愬煐閺嗘粍銇勯幇鍓佺暠缂佲偓閸℃ḿ绠鹃柟瀵镐紳椤忓牆鏋侀柛顐f礃閸婄數鐥鐐村婵炲吋鍔欓弻娑㈠Ω閿斿墽鐓佺紓浣稿€圭敮锟犮€佸Δ浣瑰缂佸鏅濋锔解拺閻熸瑥瀚欢鑼磼缂佹ê鐏寸€殿噮鍋婇、娆撴偩瀹€濠冪カ婵犳鍠楅妵娑㈠磻閹剧粯鐓冪憸婊堝礈濞嗘挸纾归柛婵勫劤缁€濠囨倵閿濆骸鏋熼柛搴$Ч閺屾盯寮撮妸銉ョ瑢閻熸粎澧楃敮妤呮偂閳ь剙顪冮妶鍡楃瑨闁挎洩濡囩划鍫ユ晸閿燂拷闂傚倷娴囨竟鍫熴仈缁嬫娼栧┑鐘崇閻掗箖鏌熺紒銏犳灈婵☆偅锕㈤弻锝夋偄缁嬫妫嗙紒缁㈠幐閸嬫捇姊绘担鐟邦嚋缂佸甯掗悾婵嬪箹娴e摜锛涢梺鍝勭Р閸斿酣銆呴悜鑺ョ叆闁绘洖鍊圭€氾拷:webmaster@jscj.com闂傚倷绶氬ḿ褍螞瀹€鍕;闁瑰墽绮悡鐔搞亜椤愵偄骞樼紒浣哄厴閺岋綁鏁傜捄銊х厯闂佽桨绀佺粔褰掑极閹剧粯鏅搁柨鐕傛嫹4008816886

相关文章

无相关信息
更新时间2022-03-13 10:53:42【至顶部↑】
联系我们 | 邮件: webmaster@jscj.com | 客服热线电话:4008816886(QQ同号) |  婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繘鏌i幋锝嗩棄闁哄绶氶弻鐔兼⒒鐎靛壊妲紒鐐劤濞硷繝寮婚悢琛″亾閻㈢櫥鐟版毄缂傚倷璁查崑鎾斥攽閻樺弶澶勯柣鎾冲暟閹茬ǹ饪伴崼婵堫槶濠殿喗枪濞夋稒顢婇梻浣告啞濞诧箓宕规导鏉戠闁规儼濮ら悡鏇㈡煃閳轰礁鏋ゆ繛鍫熸⒐閵囧嫯绠涢敐鍕仐闂佸搫鏈粙鎴﹀煝鎼淬倗鐤€闁哄洨濯崯瀣⒒娴e憡鎯堥柣顓烆槺缁辩偞绗熼埀顒勬偘椤曗偓瀹曞爼顢楁径瀣珨闂備礁鎲℃笟妤呭窗濡ゅ懏鍎婃繝濠傜墛閳锋帒霉閿濆懏鍤堢憸鐗堝俯閺佸嫰鏌涢埄鍐槈缂佺姵鐓¢弻娑㈠Ψ椤旂厧顫梺绋款儐钃遍柕鍥у瀵潙螖閳ь剚绂嶆ィ鍐╁€甸悷娆忓缁€鈧紓鍌氱Т閿曨亪濡存担绯曟瀻闁规儳纾悡鎴︽⒑闂堟冻绱¢柛鏇炲绾偓濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴f閺嬩線鏌涘☉姗堟敾闁告瑥绻戦妵鍕箻閸楃偟浠肩紒鐐劤椤兘寮婚悢鐓庣鐟滃繒鏁☉銏$厽闁规儳鐡ㄧ粈瀣煛鐏炵偓绀冪€垫澘瀚埀顒婄秵娴滅偞绂掗幘顔解拺闁稿繐鍚嬮妵鐔兼煕閵娿倕宓嗛柛鈹垮灲楠炴ê煤缂佹ɑ娅囬梻渚€娼х换鍡涘疾濠婂應鍋撻棃娑氱劯婵﹥妞藉Λ鍐ㄢ槈濮橆剦鏆繝纰樻閸嬪懘鎮烽埡鍕紓闂備胶纭堕崜婵婂綘婵炲瓨绮嶇划鎾诲蓟閿熺姴纾兼慨姗嗗墰濞堝綊姊洪崨濠冣拻闁哥姵鐗犲濠氭偄閼测晛绁﹂梺鍓茬厛閸犳碍瀵奸崼銉︹拺閺夌偞澹嗛崝宥夋煙閻熺増鍠樼€殿噮鍋婇獮妯肩磼濡粯顏熼梻浣芥硶閸o箓骞忛敓锟�

付款方式留言簿投诉中心网站纠错二维码手机版

客服电话:4008816886