- 浏览: 830256 次
- 性别:
- 来自: lanzhou
文章分类
最新评论
-
liu346435400:
楼主讲了实话啊,中国程序员的现状,也是只见中国程序员拼死拼活的 ...
中国的程序员为什么这么辛苦 -
qw8226718:
国内ASP.NET下功能比较完善,优化比较好的Spacebui ...
国内外开源sns源码大全 -
dotjar:
敢问兰州的大哥,Prism 现在在12.04LTS上可用么?我 ...
最佳 Ubuntu 下 WebQQ 聊天体验 -
coralsea:
兄弟,卫星通信不是这么简单的,单向接收卫星广播信号不需要太大的 ...
Google 上网 -
txin0814:
我成功安装chrome frame后 在IE地址栏前加上cf: ...
IE中使用Google Chrome Frame运行HTML 5
A favorite hobby-horse among various programming-related communities is to talk about why "Java is dead", and further, that programmers working in the Java ecosystem should really look for greener pastures elsewhere. You see these sorts of posts pop up on proggit, for example, oftenenough for it to get old. That's a lot of hot air, with plenty blowing in the other direction from various folks that have been pushing hard for significant improvements and changes to Java. Both sides are wrong, though, because as a result of its success and a series of historical accidents: The JVM is probably one of the most vibrant platforms for developing new programming languages there is, in part because of the status of Java-the-language. First, let's settle the premise. In comments on one of his recent blog posts, Joe Darcy, one of the fellows the heads up Sun's management of the JVM and JDK (I'm not sure of his exact title and portfolio), said a couple of key things about the never-ending saga regarding closures in Java: There are millions upon millions of Java developers who would have to learn about closures if they were added in the platform. ...there is far from unanimity in the Java community on the underlying choice of whether or not closures would be an appropriate language change for Java at this time. OK, there it is, closures are never going to be added to the Java language. Done, and done. And if closures aren't going in, then you can surely bet that other things aren't going to make it, either. To further make the point, Joe commented on an earlier blog post of his here 1 , saying in reference to a question about why the Java standard libraries don't slough off deprecated APIs: To date, we have valued continued binary compatibility with code calling the deprecated elements more than cleaning up the API. This sort of stuff pisses a lot of people off, and leads others to propose mildly absurd things IMO,like forking the Java language into "stable" and "experimental" versions. This a lot of wasted effort. It seems that Sun decided long ago, through pressure from its customers and developers, that compatibility is more important than innovating at the language level. With that, managing Java and the JDK became more an exercise in stewardship than anything else. The quotes above from an authoritative source are proof-positive that this is the case. That may make the Java language dead with regard to features, but it's hardly useless – it's simply transitioned to be the stable "systems language" for the JVM that a large swath of programmers (who Sun likely correctly identifies as being uninterested in things like closures, syntactic improvements, etc. etc.) happen to use for applications as well. Trading off "progress" for stability bestows upon Java at least two characteristics that are shared by other systems languages: A side effect of this is that the JVM is a very fertile spot for new(er) languages, where language implementers don't have to worry about their building blocks being taken away or changed radically from year to year 2 . At the same time, the JVM itself has been getting tweaked and tuned heavily under the covers to support non-Java languages, not the least of which is Sun's JavaFX, their entry into the post-Java JVM language fray 3 . So, you want your fork of Java that pushes boundaries?They are many and plentiful, so go choose one, already. The upshot of all this is that it's more likely than not that over the course of the coming years, your life (and quite likely your professional life as well, if you're involved in software) will come to rely upon Java, the JVM behind it, and many different other language stacks built on one or both of those technologies. Of course, interop between these languages is a concern: only APIs matching Java's binary signatures are accessible by all languages, there's no standard interface for closures, there's no standard (sane) numeric tower, etc. etc. These things are frustrating if one happens to be working in a polyglot environment, but I've no doubt that necessity will draw the larger players in the JVM language space together to establish certain baselines to ensure interoperability. In the end, we might have all been better off if the current state of affairs had arrived years ago. A steady drip, drip, drip of Java language improvements serves only to keep developers tied around what is functionally a frozen language, and away from superior alternatives (on the same JVM platform!) if they're so inclined to look up from their work. Since the state of play vis á vis Java-the-language is clear, maybe those that care so deeply about programming language productivity, innovation, and progress can set about enjoying the advantages of the future that Java has ensured for us all.
发表评论
-
为什么中国出不了扎克伯格
2010-03-12 08:01 1083他们已基本失去成为互 ... -
不会编程的程序员
2010-03-06 12:39 889我想这让人难以置信, ... -
让代码更美:10大编程字体
2010-01-21 13:36 1714日复一日的编写代码, ... -
Everything you need to know about Android 2.0
2009-11-07 21:03 1050Android 2.0 (formerly codenamed ... -
Linux: still better for coding
2009-11-05 08:01 794Something like one year ago I s ... -
Top 10 Programming Fonts
2009-11-01 09:20 1537I’m a typeface geek, and when i ... -
Speed Up and Back Up Your Rooted Android Phone
2009-10-31 15:16 1033If you've rooted your Android p ... -
Five Favorite Web Applications of Designers
2009-10-18 08:36 898Webapps –compared to their des ... -
The Best Programming Language for a Lean Startup
2009-10-18 08:31 1166Think arguments between religio ... -
5 Excuses Bad Programmers Make
2009-10-16 16:51 671It’s a common problem, there’s ... -
How to Create a Twitter Feed on Your Web Site
2009-10-08 08:50 975Twitter has quickly become one ... -
How NOT to test that mysqld is alive
2009-10-06 09:35 859I had a call from a new custo ... -
CodeThatDocumentsItselfSoWellItDoesNotNeedComments
2009-10-06 07:56 678“When I first met the lead de ... -
The Evolution of a Programmer
2009-10-06 07:54 666High School/Jr.High 10 PRI ... -
将Web入侵消灭在萌芽之中——预防SQL注入
2009-10-05 08:38 1030国家互联网应急中心CN-S ... -
阿里要走102年 阿里的工程师能走多远?
2009-10-04 08:46 634很高兴看到阿里云的 ... -
支持云应用程序服务的PHP API
2009-10-03 08:14 984自称“PHP公司”的Zend Technologies发起 ... -
程序员需要知道的97件事
2009-10-02 08:24 1407继架构师需要知道的97件事(参看InfoQ此前的报道)之后,该 ... -
Google Wave: There Will Be Backlash
2009-10-01 08:11 706Have you gotten your Google W ... -
A Letter To The Programmer
2009-09-30 08:25 796This is a letter that I would n ...
相关推荐
This sounds bad, but it needs to happen if Java is to ultimately stay in the mainstream. That is, if feature accretion hasn't already irreparably damaged the language.
It explains everything you need to know about Java servlet programming, from start to finish. The first five chapters cover the basics: what servlets are, what they do, and how they work. The ...
Originally I authored Dante in Pause, the project is now dead and I decided to open source it. This is the very first release of Dante, the api will (most likely) change for the better with successive...
That culture speaks Java, but knowing Java is not enough. Getting your head around Android requires learning many new ideas and techniques. It helps to have a guide through unfamiliar territory. That...
这篇文章真的很出色,指明了方向,堪称之灯塔啊
XML is far from a dead technology, so it is important to learn how best to use it in your applications when the need arises. What You Will Learn Gain the essentials of XML for C# development Read XML...
地址空间随机分布
Java APIs, Extensions and Libraries_With JavaFX, JDBC, jmod, jlink, Networking, and the Process API-Apress(2018).pdf...It is my sincere hope that this edition of the book will help you learn Java better.
信息安全_数据安全_NTLM_Relay_Is_Dead_Long_Live_NTL 安全设计 可信编译 网络安全 安全分析 web安全
It discusses the theory (and practice) that you will need to know to make these components come together smoothly, and form a solid foundation for your future AJAX applications. It also shows you ...
you'll learn about x86 assembly programming and its integration with high level languages such as C++.You'll understand how to decipher disassembly code obtained from the compiled source code and map ...
Part Two contains a handy-dandy reference section which helps prevent the book from becoming simple dead weight on your shelf once you've devoured it. The book focuses on the C programming language ...
Chapter 3, Motion for the Biped, talks about how once you have the platform built, you'll need to program it to walk, wave, play dead, or perform any number of neat motion segments so that you can ...
SEO 2018 is now updated covering the latest changes to Google's algorithm, and walks you through major updates and how to use them to your advantage. This book also reveals industry secrets about ...
高中英语 双语美文阅读 God is Dead 上帝死了素材
Once the program is running, it's dead simple. Select Open, pick a .bib file, then select Save, enter filename (.xml), exit. If there are bugs in the BibTeX file, or if some things can't be converted ...
- Learn how to monitor progress and measure improvements. Contents Managing Yourself What is EI? EI and the results you get Can you boost your EI? Dead Horses and Old Maps Old Maps Dead Horses A ...
You'll learn how to: Manage network traffic with VLANs, trunks, IPv6, and the PF packet filter Make software management quick and effective using the ports and packages system Give users only the ...
android-image-filter some android image filters in some filter, I use NDK to implement to make it more ...It is dead simple, you can see magic in the following code: Bitmap newBitmap = BitmapFilt
If such file already exists Jad asks if you want to overwrite it. Option -o allows overwriting without confirmations. You can omit .class extension and/or use wildcards in the names of input files. ...