一切变得越来越有趣了

     之所以写下这样的标题,是因为最近的两则新闻。一是Google宣布GWT(Google Web Toolkit)开源;二是Java 6的发布。这两条新闻本身确实平淡无奇,特别是对于.NET社区而言。新闻始终还是新闻,最大的作用就在于吸引眼球。不同的新闻有不同的效果,有的会让你两眼放光,目不转睛,有的则会让你眼睛咕噜一转,脑筋开窍。我想这两则新闻都属于后者,眼睛咕噜咕噜转的同时,还会让人喜上眉梢。

    让我从第一则新闻说起吧。我没有用过GWT,之前也只是听说它是Google发布的一个Ajax框架。既然是Ajax框架,那么我很自然地将它和ProtoType、Dojo、JQuery之流等同起来,也就没有怎么去理会它了。然而,这则新闻的发布让我再次将目光投向了GWT。这下子,我发现之前的判断是错误的,因为GWT远不止Ajax框架那么简单。在GWT的官方网站上,我们可以看到这样一句话:You write your front end in the Java programming language, and the GWT compiler converts your Java classes to browser-compliant JavaScript and HTML原来,我们可以使用GWT在Java语言编写前端代码,然后GWT编译器帮助我们将Java类转化为烦人的JavaScript和HTML。噢,这确实与ProtoType等Ajax框架有很大的不同,因为我们不再需要去拨弄了JavaScript了。更重要的,这种开发方式再一次模糊了服务器端开发和前端开发之间的界线,让服务器端开发人员也能够承担起实现前端功能的任务。这让我不由得想起了ASP.NET。遥想当年,ASP.NET横空出世,事件驱动和服务器控件是它最大的特点,让我这个只会一点点HTML和JavaScript的前端开发者轻松进入了服务器端开发的世界。也许把GWT和ASP.NET放到了同等位置有些抬举GWT了,不过两者的设计思路是不是有着异曲同工之妙呢?

    是不是觉得有些乐趣了呢?好,我们接着看第二则新闻。Java 6发布了,这对.NET社区来说,估计也是八辈子拉不上关系的新闻。但是如果你多一些好奇心,去看看Java 6的新特性,或许你会找到一些感兴趣的内容。是的,就是它了,这个让人眼前一亮的新特性就是脚本引擎现在你可以在Java代码中运行Javascript的脚本了!虽然Java 6只是基于Rhino提供了对Javascript的支持,但是由于脚本引擎的开放性设计,在其基础上增添对其它脚本语言的支持是完全没有问题的,也就是说在不久的将来,Java不仅可以和Javascript一起协作,还能够和Python、PHP、Ruby等语言进行协作。这不得不让人大呼过瘾啊!说到这里,你又想到了什么呢?没错,就是咱们的.NET平台。.NET平台从诞生那一天开始,就肩负着让各种各样的语言在统一的平台上相互协作的重任。可惜的是,在这样美好的蓝图之下,很多语言都提供了基于.NET的实现,但还是MS提供的官方语言VB.NET和C#在唱着独角戏。不过,话说回来了,即使其它.NET语言真的得到了长足的进步,能够和VB.NET、C#相提并论,但它们之间的协作都只是限于IL层面上,和Java和Javascript在代码层面上的协作相去甚远。说到这里,喜爱.NET的你是不是有些沮丧呢?不要紧,正所谓“无独有偶”,还好我们的牛人Jim Hugunin从开源社区中带来了可爱的IronPython,我们也就看到了IronPython和C#之间很多奇妙的协作。

    是的,一切变得越来越有趣了。然而——你被耍了。每当微软发飚,一口气发布30、40个新产品,你还真以为,那是微软一个人干的。不过说真的,技术都是相通的。信不信由你。^_^   (以上的“微软”可以用Google、IBM、Borland等等替换,悉随尊便)

    PS:最后额外送上一条新闻:微软在12月13日正式推出了机器人制造软件Microsoft Robotics Studio。看变形金刚长大的朋友们是不是有些心动了呢? 

相关推荐:

为什么Python爬虫运行一段时间后速度越来越慢_排查内存泄漏与未关闭的文件句柄

爬虫变慢主因是本地资源泄漏而非网络限速;需用tracemalloc定位内存暴涨、lsof检查句柄泄漏、gc调试循环引用,修复缓存、Session和闭包持有问题。 爬虫越跑越慢,八成不是网络或目标站限速的问题,而是你本地进程在悄悄“憋着气”——内存持续上涨、文件句柄堆积、GC频繁触发。这类问题不会报错...

python能做什么有趣的东西

Python能用十几行代码实现有趣创意:生成艺术画、自动化任务、硬件交互、小游戏等,无需复杂项目即可获得成就感。 Python能做的有趣事特别多,关键看你想从哪入手——不一定要写大项目,小而美的创意反而更让人上头。 用几行代码生成专属艺术画 比如用matplotlib或turtle画分形树、螺旋线、...

有趣的Python:Python控制键盘鼠标

这个库让你可以控制和监控输入设备。 对于每一种输入设备,它包含一个子包来控制和监控该种输入设备: pynput.mouse:包含控制和监控鼠标或者触摸板的类。 pynput.keyboard:包含控制和监控键盘的类。 上面提到的子包都已被引入到pynput库中。要使用上面的子包,从pynput中引入...

关于JS解构的5种有趣用法

前言 原文标题:5InterestingUsesofJavaScriptDestructuring 原文链接:dmitripavlutin.com/5-interesti… 定期回顾我写的JS代码,我发现解构运算无处不在。 获取对象的属性和访问数组内容是都是很常用的操作。而解构运算使得这些操作变得非...

5个 JS 解构有趣的用途

1.交换变量通常交换两个变量的方法需要一个额外的临时变量,来看看例子:let a = 1;let b = 2;let temp;temp = a;a = b;b = temp;a; // => 2b; // => 1复制代码temp是一个临时变量,它先保存a的值。然后把b的值赋值给a,接...

有趣又好玩的glm库

一、glm的优点glm是一个发展了十年以上的数学库,这个库很不错。很多教材,书籍,资料大量使用glm,了解glm有助于阅读这些资料。1.模仿glsl的接口这个实在是非常方便理解和记忆,你不需要在c++和glsl中使用两套完全不同的接口2.大量采用模板代码复用率非常高,而且结构可以说是模板类库的典范3...

学好爬虫技术能做到哪些很酷很有趣很有用的事情?

一个熟悉爬虫技术的人的独白! 不得不说,Python爬虫对于我来说真是个神器。之前在分析-些经济数据的时候,需要从网上抓取一些数据下来,想了很多方法,一开始是通过Excel,但是Excel只能爬下表格,局限性太大了。之后问了学编程的朋友,他说JavaScrip也能实现,于是懵懵董董地就去学Java(...