喝点酒,突然想到一个问题
以前用delphi开发过一段时间,感觉很好。后来delphi渐渐消失,很是遗憾。
在网上看看,感觉delphi的消失是必然的,.net和java这2个语言或工具的崛起让delphi没有了饭吃。
即使如此,delphi优秀的特点仍旧没有人能够取代,不知道用过delphi, 或c、python的人是否有所体会,全局函数确实能为开发人员提供很多便利的手段,JAVA却将简单的问题变得复杂,程序写多了以后懒得再敲入更多多的字符,毕竟一个print()比System.out.println()简单。这是语法上的区别,如果你不认同我的看法那就往下看。
或许我没搞清楚,JAVA和.NET现在如此受欢迎的确实原因,.net开发快速,java涉及的领域和j2ee的强大自不必说,但JAVA的开发工具上可没让我感到特别的舒服(即使是eclipse)。需要写很多的配置文件和许多的代码。
我想到的是语言和工具的关系,作为程序员,无论是开发企业应用还是互联网应用,开发时的效率和方便应该是很总要的事情,python的语法格式可能体现出这个特点。但是光靠代码上的进步或许是微不足道的。语言是基础层面上的事情,程序员(大部分打工的程序员)做的事情是繁琐,工作量大的事情。如果你10年内做1500个网站,你是什么感觉。你认为你技术进步了?,工资挣多了?错,你只是处在你做10网站内时的技术和工资。后来的1490个网站的开发过程中都是在重复劳动。
没有人干预你的学习,但现实中你却浪费了很多的时间,用浪费时间的语言重复的开发浪费时间的项目。
因为我做企业应用时间久了,所以感觉重复性的工作很多,这样多自己并没有什么好处。如果你从没做过重复的工作那就另当别论了。所以我觉得,工具或能让人减轻开发负担的东西或许更总要。
假设向前1万年,我们开发程序时,只要对着屏幕说:”嘿,来个登陆页面”,你的电脑就会说:“好的主人”。
现在看来这只能是在电影里的镜头,但你却不能预知1万年后的情况。
但是,我们现在已经有了很先进的技术,多核的处理器,超大的内存和无法想象的硬盘容量。可是我们却没有能让我们省心的开发工具,这是你可能会说,java是你最好的选择,spring包容了一切,hibernate让你不用去学SQL,apache让你有了更多的选择。。。 但,“年轻人”真的很招架不住这么多的技术。
到底,是技术为我们服务还是我们为技术服务呢?
[解决办法]
嘿嘿,正巧我也刚喝了点,看到老兄你这篇文章,也来了点兴趣,想一起探讨一下。
引用你的一句话:
“假设向前1万年,我们开发程序时,只要对着屏幕说:”嘿,来个登陆页面”,你的电脑就会说:“好的主人”。”
希望未来是这个样子的吧。
我想确实java就是让事情变得更复杂。
但我个人觉得,在一个程序的一生中,开发之占用短暂的时间。
最终,我们面对的是售后和维护。
我觉得售后和维护才是开发人员面对的难度最大,时间最多,价值最高的工作。
java让开发变得复杂带来了一个好处,就是便于维护。
刚学习java开发模式的时候我们都感觉,开发模式不是让事情变得更复杂吗?
但是在使用了开发模式后,我发现原来要修改一个功能变得更方便了。
代码变得更容易理解,即便是没有参与某个管理系统的开发的程序员也能很快的熟悉这个系统的代码。
也用print()做一个说明吧
我没用过delphi,就用quick basic语言说明一下吧。
也是print
但如果我想让print出来的东西出现在一个我已经定义好了的显示界面中呢?
也许用quick basic语言,你就需要修改basic解释器,让他默认输出到你要输出的地方。
java则不同
其实你可以把System当作是一个关于系统的全局变量。
System中有三个全局字段:in,out,err
顾名思义就是输入、输出、错误
out.print("abc"),就是往系统默认的输出流中打印abc
但是在今天,大型管理系统或者是比较复杂的分布式应用程序让曾经的那些非常棒的语言有些力不从心了。
假设一个分布式系统,有n个节点,当某个节点出现错误时将错误输出到输出流。
默认情况下Exception.printStack()是将错误信息打印到标准err流。
如果要让这些错误信息出现在 主节点 的err流中怎么办呢?
实现方法很多种,我喜欢创建一个错误流的实现类MyErrorStream,
当错误信息打印在这里面时,自动传到主节点。
主节点再输出到自己的标准err流中。
System.setErr(new MyErrorStream())就可以了。
而如果是basic,好像basic不支持网络功能,
所以后来出现了visual basic了。
最后总结一下,IT行业日新月异,每天都有无数辛勤劳动的开发人员在创造。
而市场需要决定了一个产品的未来,我们今天看到最流行的,那一定是人们最需要的。
我表达能力不太好,不过我想咱们都是搞程序的,不说心灵相通,意思应该是能领悟的,哈哈。
你觉得是不是这个道理?