昨天在5173与博客园联合举办的技术交流活动中进行了演讲,现在幻灯片终于可以放出了。当然,光看幻灯片本身的效果不大,在演讲过程中我进行了非常多的代码演示和说明,幻灯片本身只能算是一个辅助手段,因此各位没有来听演讲的朋友,还是等我慢慢地对这个话题进行详细讨论吧。
不过既然幻灯片放出了,那么我进行这场“闹剧”的目的也可以完全公开了,其中有三:
- 揭露Java语言的生产力的缺失
- 表达C#的发展现状与常用编程范式
- 鼓励别人抛弃Java语言,采用Scala。
没错,我的最终目的不是为了“让Java程序员使用C#”,而是“让Java程序员使用Scala”。
这里我不得不多说几句。前天我写了“比较的意义与目的”之后得到了许多评论,从评论中我看得出,许多朋友在评论时并没有看我的文章。为什么这么说?因为我已经在文章里不断强调“只是让Java程序员抛弃Java语言,不是Java平台”,而且“并没有想让Java程序员转向C#”。难道这还不能看出,我是想要推广JVM上的另一门语言吗?只可惜我还是收到了许多类似的回复:
- 你说要用另一门语言来代替Java,这门语言是什么,C#吗?可笑……
- 你让黑莓,Android程序员去使用C#?他们看了只会一笑了之……
- 比较Java和C#语言本身不会有什么结果的,做开发还得看整体情况……
如果不是没有看我的文章,那么我只能想出另一种可能了:有些朋友并不知道JVM上的语言发展情况,并不知道目前JVM平台上除Java外最火热的语言是什么。那我就觉得奇怪了,要知道,现在可是在开Scala Days 2010呢,而且之前连Java之父高司令都高度评价Scala。
Java的粉丝们一直认为Java平台的最大优势是开放,我同意。但是,我想Java如此开放,但是为什么一些Java粉丝给我的感觉却是狭隘的心态和视野呢?例如,看到有人说Java坏话了,于是立即热血上涌,文章内容也不用看,文章目的也不去关心,不管三七二十一就在评论中想尽各种办法进行反驳。抛出各种论点,却鲜有论据——我是指靠谱的论据,而不是向某个朋友说的“.NET程序员90%只会拖控件,而Java程序员90%是了解核心技术的”这种莫名其妙的说法。要知道,论点易抛,论据难得。我的文章动辄数千字,就是为了想办法把文章内容说清楚。但是不管怎么努力,我还是会不断发现值得额外详述的地方——更何况在评论中的寥寥数字?
是的,从某个角度来说.NET平台资源是比Java平台要少。所以我觉得很高兴,我可以时刻发现前进的目标。例如有人说Java平台有个地方很好而.NET很糟糕,我不会想办法去驳倒对方,我会很乐意去了解它,然后看看它在.NET平台有没有类似的东西,它的思想能否借鉴给.NET平台,如果发现这种说法有明显问题才去“摆事实、讲道理”。除了Java平台之外,我还关注其他各种技术,让各技术为我所用。
Java平台的确开放,但对于某些Java粉丝来说,这难道只是您用来建立信心的借口吗?我一个封闭的微软平台的封闭的.NET程序员,如果心态和眼界都比您要开阔──就好比,一个Java平台上的Scala语言需要我一个.NET程序员告诉您,这难道不很讽刺吗?还好,我相信说一些没边评论的Java粉丝只是少数盲目分子,而Java领域的大部分朋友还是相当靠谱的。
那么,我单纯比较Java和C#语言有意义吗?当然有,我只要能说明Java语言本身是多么糟糕,让我们有足够的理由转向Scala就行了。
如果您无法浏览上方的幻灯片,请点击链接去SlideShare直接观看。感谢韦恩卑鄙提供演讲录音,关于演讲的详细内容,自然还是请关注的我的后续文章:
分享到:
相关推荐
《大师品软件_Why Software Sucks》是一本深入探讨软件设计缺陷和用户体验问题的书籍,由David S. Platt撰写。这本书旨在揭示为什么某些软件在使用过程中让人感到困扰,并提出改善软件设计的策略。作者Platt是一位...
【itsucks-0.4.1.zip】是一个包含开源Java Web Spider项目的压缩包,这个项目被称为itSucks。itSucks的设计目标是帮助用户轻松构建网络爬虫,它使用了Web机器人技术,允许用户通过定义下载规则来抓取网页内容。项目...
信息安全_数据安全_Why_the_role_of_CISO_sucks_and_w 信息安全研究 金融安全 安全人才 安全对抗 法律法规
itsucks爬虫基于Java开发,这意味着它具有跨平台的特性,无论你是在Windows、Mac还是Linux系统上,都能顺利运行。Java作为一种强大的编程语言,为itsucks提供了稳定性和高效性。 itsucks的设计理念是易用性,这体现...
and got behind the concept of a book for the users of computers, not the programmers that they usually deal with. Instead of, "That's not what we do here," they stepped up and said, "Hey, cool, look...
爬虫源码,开源 java 很好 强大 可扩展
很烂 用于收集对小代码片段的反馈的 Web 应用程序 后端 后端是使用以下库在 haskell 中实现的 REST-ish api: Scotty 用于 REST 接口声明 数据库访问的持久性(使用 sqlite 实现) 用于连载的 Aeson ...
IE SUCKS这么糟糕,实际上是有趣的观看失败! IE样式信息条在页面中的障碍码时发光。 无广告! Internet Explorer是一个浏览器的F ****笑话,并字面上持有进步! 在逐步淘汰之前庆祝最终几天,用IE吸收插件。 每当...
12. **ItSucks**: 提供Swing GUI界面的Java爬虫项目,支持下载规则的自定义,通过下载模板和正则表达式定义爬取行为。 13. **Smart and Simple Web Crawler**: 一个集成Lucene的Web爬虫框架,支持两种遍历模式,...
标题“why-your-test-suite-sucks”暗示了我们讨论的主题是关于测试套件存在的问题以及如何改进它们。测试套件是软件开发过程中的重要组成部分,它确保代码的质量、稳定性和可靠性。然而,当测试套件出现问题时,...
ItSucks 网络爬虫 描述 这个项目是一个具有下载(和恢复)文件能力的java网络蜘蛛(网络爬虫)。 它还可以使用正则表达式和下载模板进行高度定制。 所有后端功能也可在单独的库中使用。 官网 执照 本地开发使用 将 ...
【标题】:“rabbit sucks!-crx插件”是一个针对特定网站或应用的浏览器扩展,其主要功能是优化用户界面,提供更加个性化的浏览体验。这个插件的名称可能具有一定的幽默感,暗示它可以帮助用户摆脱某些他们不喜欢的...
#### 二、关于Code:Why Your Code Sucks? 好的代码不仅仅是实现功能那么简单,它还需要具备可读性、可维护性和可扩展性等多方面的要求。魏猷君提出了判断代码好坏的一些标准: 1. **功能性**:如果代码不能正常...
标题中的“sucks:用python制作的小CRUD”表明这是一个使用Python编程语言开发的简单创建、读取、更新和删除(Create, Read, Update, Delete,简称CRUD)应用程序。CRUD是数据库操作的基础,是任何数据管理系统的基石...
"on_cmd": "sucks clean 120", "off_cmd": "sucks charge", "state_cmd": "python3 /var/homebridge/vacstate.py", "polling": true, "interval": 120, "timeout": 20 }] 执照 麻省理工学院
learnjava 个人学习AP Computer Science A 的 Repository AP的CS A考试其实比较简单,5分还是很容易拿到的,如果你已经有OOP基础只需要学习简单的java语法即可.这个repo的代码基本涵盖了AP考试会涉及的所有用法(对...
【标题解析】:“your-band-sucks-v2”很可能是一个音乐相关的项目或应用,可能是由开发者创建的一个幽默或者讽刺性的音乐分享平台。"v2"表示这是项目的第二个版本,通常意味着在原有基础上进行了改进和优化。 ...
ItSucks 是一个 Java web spider(web 机器人、爬虫)开源项目。支持通过下载模板和正则表达式来定义下载规则。提供一个 swing GUI 操作界面。下载地址为。 WebSPHINX: WebSPHINX 是一个 Java 类包和 Web 爬虫的...
,解压缩并将admiral-sucks文件夹拖至chrome://extensions Chrome扩展面板。 为什么? 是一家通过帮助网站将其内容货币化而获利的公司。 它们提供多种服务,但非常令人讨厌的是AdBlock Recovery :首先,它们向网站...