`
moonranger
  • 浏览: 13032 次
  • 性别: Icon_minigender_1
  • 来自: 天津
最近访客 更多访客>>
社区版块
存档分类
最新评论

借eclipse Europa发布的时候瞎扯一下

阅读更多

明天就要考《当代世界经济与政治》——我们最后的一门“两课”科目,不过今天我还是泡了一会网。反正相信自己能过,没事。

今天在BlogJava上看到消息,eclipse Europa昨天发布了,已经可以下载了。我第一时间下载了一个Java EE版试用了一番。eclipse Europa是一次大的Release,包含了很多优秀的开源项目。刚刚研究了半天,下载了几个插件,SpringIDE,Subclipse还有与数据库有关的几个插件,方便以后的开发用。旧的eclipse已经被我删除了,新的eclipse肯定会非常“带劲”的。新特性有很多,等我慢慢发掘吧。

eclipse是一个重量级的IDE,是个不折不扣的大家伙!刚刚我看任务管理器中的内存占用,发现高达208M!我的内存才512M,看来为了使用这个IDE,升级内存还是有必要的。这不禁让我想到了和这个形成强烈对比的一个软件——Notepad++。Notepad++相信很多人都听说过,是一个开源的文本编辑器,用纯C++和STL以及Win32 API开发而成,功能很强大,经过配置,可以充当很多语言的开发工具。当然,她的功能还是非常有限的,但是就是给人一种不错的感觉——简单,直接,快速。通过使用Notepad++内置的两个插件——NppExec和QuickText,用户可以方便地进行程序的开发。这段时间我就一直在使用它做小程序。eclipse都很长时间没有打开过了。过一段时间我准备好好研究一下如何在Notepad++中配置使用Ant,JUnit还有SVN,这样就真正可以使用它来开发程序了,相当于一个不错的IDE了。

刚刚说过了,Notepad++是用纯C++和Win32 API写成的,效率很高。我下载过一份代码看了看,虽然没有彻底研究,但是大体的运行过程和消息处理我还是看明白了。看这份代码是一种享受,里面全是巧妙的设计。比如说消息处理就给我留下了深刻印象。

这不禁让我想说说我心目中最好的两种语言C++和Java。

从Notepad++里获得的是一种我在使用Java写程序时体会不到的感觉——强烈的控制感。在C++中,几乎一切都应该由程序员自己来完成,因而程序员的发挥余地比较大。只要程序员功力足够强,完全可以写出非常巧妙并且高效的代码。Java不一样,Java就是面向对象。因此你必须用OO的思想来写程序,也只能OO;而在C++中,你可以忽略OO,用纯面向过程的方式写程序,或者使用模板来写泛型程序——一切都看你怎么选择。就拿刚刚说过的事件处理为例,用C++写Win32程序不可避免的一个问题就是事件处理。Windows的消息模型是过程化的——在消息循环中获取消息,分发消息,调用消息处理过程。消息处理过程根据获得的参数判断事件类型,然后用switch/case来处理事件。所以经常可以看到Windows C程序中一个包含了大段大段switch/case的消息处理函数。然而在C++中这种处理方式和对象模型有冲突,因为理想的事件处理方式应该是将事件处理程序放到控件类的成员函数中。MFC用宏和消息映射来处理这个问题,与VC++的各个Wizard结合起来效果不错;Qt在其底层实现了著名的signal/slot机制,所以消息处理自然也使用了这个机制;Notepad++并没有采取什么特别手段来处理这个问题,仍然用一个函数来处理事件,但是作者巧妙的将对象的指针作为消息参数来创建窗口,这样在消息处理函数中他就能得到这个指针,并调用对应的成员函数来实现消息分发。这样做,效率和灵活性都得到了保证。具体的细节我还没有研究透,但是这种手段让我为之一震。这,就是C++的威力;这,也是程序员的威力。

而Java也有Java的可爱之处。Java就是OO,所以Java的可爱之处就在于优秀的OO设计。不止一次我都从Java库和框架中感受到了这一点:Java IO库,Swing的MVC模型,Spring的IoC和AOP(严格来说AOP已经超越了OO的界限了)等等都是这样的例子。Java目前在企业开发领域最为强大,而企业程序就是要灵活,要能应付得了经常会发生变化的业务需求,而设计在这个过程中就显得格外重要。最近在InfoQ上看到过一篇文章《Dynamic Routing Using Spring2.0》,讲的就是如何使用Spring的AOP来处理企业程序中的事件处理的。其中使用了很多设计模式,如Command等。我想Java的威力在这些场合才是最强大的。而在桌面领域,Java还是比不上C++甚至.NET,因为效率实在太低了,而且占用内存太过恐怖。最近我想写一个文档管理程序,使用数据库来管理我收集的很多txt格式文章,本来想用Swing加上db4o来做,但是还没开始做界面我就不想继续了——就算我完美地实现了这个程序,我也肯定不愿意使用的。内存占用如果太恐怖,速度太慢,就等于给一个软件判了死刑——至少对我来说是这样。

就我而言,我更喜欢C++的那种方式,因为一切都在我的控制之中——控制得不好,只能说明自己水平不高,还有继续提升的余地,会激励自己学习下去。而在Java中却没有这种感觉,程序的性能永远受JRE限制。模式等等使用到一定的程度就是非常呆板的走老路了,比如Struts,Spring,Hibernate(SSH)三者结合开发企业应用已经成为一种潮流了,使用这种架构本来就是在走老路,在开发科研立项的那个C2C项目时我就有这种感觉——一点创意都没有,做的都是相同的工作,没有趣味。不过虽然我更喜欢C++,但是我将来还是准备走Java路线,以Java作为我的专业发展方向,作为混饭工具。C++是我的兴趣——兴趣是不能作为混饭工具的。以后我会把C++作为业余爱好学习下去,天天尝试各种库,写写游戏,写写小软件(坚决抵制MFC),不亦乐乎!

这些差不多是我这几年程序历程的一点点总结吧,能写出这些,说明我的水平还不是太差。我对自己有信心。

明天要考试了,现在宿舍却一点考试气氛都没有——我们真成“老油条”了…… 酷   流汗   赞   大笑  

分享到:
评论

相关推荐

    eclipse europa 汉化插件

    这个版本(3.3)是Eclipse在2007年发布的一个重要更新,包含了多个开发工具平台的整合。在本文中,我们将深入探讨如何使用汉化插件将Eclipse Europa(3.3)转化为中文界面,以及汉化插件的基本操作。 1. **Eclipse ...

    eclipse-java-europa-winter-win32

    Eclipse Europa Winter版发布于2007年,集成了多个Eclipse插件项目,包括Java开发工具(JDT)、透视图和视图管理(PDE),以及Web和企业级开发工具(WTP)等。这个版本对Java 1.5的支持意味着它具有与该版本JVM兼容...

    Eclipse Europa 旋风之旅.mht

    Eclipse Europa 旋风之旅.mht

    10 time-saving techniques in Eclipse Europa

    ### 10大时间节省技巧在Eclipse Europa中的应用 #### 概述 Eclipse Europa作为一款强大的集成开发环境(Integrated Development Environment,简称IDE),深受众多开发者喜爱。它不仅提供了丰富的功能来支持Java...

    Eclipse32位3.3欧罗巴冬季版eclipse-jee-europa-winter-win32.zip支持jdk1.5

    Eclipse32位3.3欧罗巴冬季版eclipse-jee-europa-winter-win32.zip支持jdk1.5 Eclipse 支持jdk1.5 32位 europa galileo eclipse-jee-europa-winter-win32.zip 更多eclipse版本可看查看我的系列,欢迎下载~

    eclipse所有版本及eclipse中文包下载地址列表收藏

    eclipse版本及中文包下载地址列表收藏 eclipse是一个功能强大且广泛使用的集成开发环境(IDE),它提供了多种语言的集成开发环境,包括Java、C++、Python等语言。eclipse的发展历史悠久,已经有了多个版本,每个...

    eclipse-rcp-europa-winter-win32.zip

    Europa是Eclipse的2007年发布系列,包含了一系列集成开发环境(IDE)和工具平台的更新,提供了多个插件项目的支持,包括Java、C/C++、Web开发以及软件模型驱动工程等。Winter是Europa系列的第一个发布周期,通常包含...

    w3school eclipse教程

    Eclipse的发布版通常每年进行一次大型更新,例如Callisto, Europa, Ganymede, Galileo, Helios, Indigo, Juno, Kepler, Luna, Mars等。这些版本不仅包含了新的功能,也修复了已知问题,提供了更稳定的开发环境。每个...

    eclipse 可视化插件

    Eclipse 3.3 Europa是Eclipse IDE的一个重要版本,发布于2007年,它集成了多种开发工具平台,支持多种语言,包括Java、C++等。对于Java开发者来说,Eclipse 3.3提供了丰富的功能,如自动代码补全、调试工具、版本...

    eclipse3.2 注册码

    Eclipse 3.2,也称为Eclipse Europa,是在2006年发布的。这一版本引入了许多新的特性和改进,包括但不限于: 1. **性能优化**:Eclipse 3.2在启动速度和响应性方面进行了重大改进。 2. **JDT(Java Development ...

    Eclipse3.3简体中文安装包

    Eclipse3.3,也称为Europa,是Eclipse项目的一个里程碑版本,于2007年发布。在这个版本中,Eclipse引入了多个改进和新特性,包括更好的性能优化、增强的插件系统以及对多种开发工具的支持。例如,它提升了代码自动...

    Eclipse_Magazine_Volume12

    - **发布规模**:2007 年 6 月发布的 Eclipse Europa 是迄今为止最大的开源软件发布之一,涉及超过二十个 Eclipse 项目,包含数百万行代码,由全球数百名开发者共同完成。 - **重要性**:Europa 发布不仅是 Eclipse ...

    Eclipse 简介

    例如,Callisto、Europa、Ganymede、Galileo、Helios、Indigo、Juno、Kepler、Luna和后来的版本,如Kepler的4.3和Juno的3.8及4.2,都有各自的发布时间表和升级内容,不断优化用户体验和功能完善。 Eclipse 的语言...

    eclipse免安装板

    例如,Eclipse Europa Winter(3.3.x系列)是较早的版本,它可能只兼容到Java 6(JDK 1.6)。如果你尝试使用高于这个版本的JDK,可能会遇到运行时错误或不稳定情况。因此,当遇到此类问题时,需要将JDK版本回退到...

    Eclipse 官方下载地址 .pdf

    - **版本特点**: Eclipse 3.4 M2 是该版本的一个里程碑发布,包含了多项改进和新增功能,适合开发者进行早期测试。 - **Eclipse Classic 3.4.1** - **官方下载地址**: ...

    eclipse上装ADT出错的解决方案

    在本例中,作者成功安装ADT的Eclipse版本为3.3.3(Europa)。Eclipse 3.5.2和3.6.1版本可能因为与特定ADT版本不兼容而出现安装失败的问题。 2. **下载Eclipse 3.3.3**: - 下载地址:`...

    Europa

    标题“Europa”很可能指的是一个与欧洲或者与欧洲文化、艺术相关的字体设计项目。在IT领域,特别是设计和排版部分,字体是一个重要的元素,它影响着文本的可读性、视觉吸引力以及整体的设计风格。"Europa"可能是一个...

Global site tag (gtag.js) - Google Analytics