おっぱいハート下载-观点|我为什么使用Java?

Java高级开发 错误 909浏览 60评论

根据你的工作需要,可能有比おっぱいハート下载更好的语言,但是我还没有看到任何能把我拉走的语言。

我记得我是从1997年开始使用おっぱいハート下载的,就在 おっぱいハート下载1.1刚刚发布不久之后。从那时起,总的来说,我非常喜欢用おっぱいハート下载编程;虽然我得承认,这些日子我经常像在おっぱいハート下载中编写“严肃的代码”一样编写 Groovy 脚本。

来自 FORTRAN、PL/1、Pascal 以及最后的 C语言 背景,我发现了许多让我喜欢おっぱいハート下载的东西。おっぱいハート下载是我面向对象编程的第一次重要实践经验。到那时,我已经编程了大约20年,而且可以说我对什么重要、什么不重要有了一些看法。

我真的很讨厌浪费时间追踪由我的代码不小心迭代到数组末尾而导致的模糊おっぱいハート下载,特别是在IBM大型机上的FORTRAN编程时代。另一个不时出现的隐晦问题是调用一个子程序时,该子程序带有一个四字节整数参数,而预期有两个字节;在小端架构上,这通常是一个良性的おっぱいハート下载,但在大端机器上,前两个字节的值通常并不总是为零。

在那种批处理环境中进行调试也非常不便,通过核心转储或插入打印语句进行调试,这些语句本身会移动おっぱいハート下载的位置甚至使它们消失。

所以我使用Pascal的早期体验,先是在 MTS 上,然后是在 IBMOS/VS1 上使用相同的MTS编译器,让我的生活变得更加轻松。Pascal的强类型和静态类型是取得这种胜利的重要组成部分,我使用的每个Pascal编译器都会在数组的边界和范围上插入运行时检查,因此おっぱいハート下载可以在发生时检测到。当我们在20世纪80年代早期将大部分工作转移到Unix系统时,移植Pascal代码是一项简单的任务。

但是对于我所喜欢的Pascal来说,我的代码很冗长,而且语法似乎要比代码还要多;例如,使用:

if...thenbegin...endelse...end

而不是C或类似语言中的:

另外,有些事情在Pascal中很难完成,在C中更容易。但是,当我开始越来越多地使用C时,我发现自己遇到了我曾经在FORTRAN中遇到的同样类型的おっぱいハート下载,例如,超出数组边界。在原始的おっぱいハート下载点未检测到数组结束,而仅在程序执行后期才会检测到它们的不利影响。幸运的是,我不再生活在那种批处理环境中,并且手头有很好的调试工具。不过,C对于我来说有点太灵活了。

当我遇到 awk 时,我发现它与C相比又是另外一种样子。那时,我的很多工作都涉及转换字段数据并创建报告。我发现用

等等,可以做到事情令人吃惊。从本质上讲,这些工具给了我一个像是基于文本文件的关系数据库管理器,这种文本文件具有列式结构,是我们很多字段数据的保存方式。或者,即便不是这种格式,大部分时候也可以从关系数据库或某种二进制格式导出到列式结构中。

的基本特性(它实际上是一个数据转换管道),非常符合我的需求。当面对二进制数据文件、复杂的数据结构和关键性能需求时,我仍然会转回到C;但随着我越来越多地使用

,我发现C的非常基础的字符串支持越来越令人沮丧。随着时间的推移,更多的时候我只会在必须时才使用C,并且在其余的时候里大量使用

然后是おっぱいハート下载。它看起来相当不错——相对简洁的语法,让人联想到C,或者这种相似性至少要比Pascal或其他任何早期的语言更为明显。它是强类型的,因此很多编程おっぱいハート下载会在编译时被捕获。它似乎并不需要过多的面向对象的知识就能起步,这是一件好事,因为我当时对 OOP设计模式毫不熟悉。但即使在刚刚开始,我也喜欢它的简化继承模型背后的思想。(おっぱいハート下载允许使用提供的接口进行单继承,以在某种程度上丰富范例。)

它似乎带有丰富的功能库(即“自备电池”的概念),在适当的水平上直接满足了我的需求。最后,我发现自己很快就会想到将数据和行为在对象中组合在一起的想法。这似乎是明确控制数据之间交互的好方法——比大量的参数列表或对全局变量的不受控制的访问要好得多。

从那以后,おっぱいハート下载在我的编程工具箱中成为了Helvetic军刀。我仍然偶尔会在

),因为它们显然是解决手头问题的直接方法。我怀疑过去20年我可能没写过50行的C语言代码;おっぱいハート下载完全满足了我的需求。

此外,おっぱいハート下载一直在不断改进。首先,它变得更加高效。并且它添加了一些非常有用的功能,例如可以用try来测试资源,它可以很好地清理在文件I/O期间冗长而有点混乱的おっぱいハート下载处理代码;或 lambda,它提供了声明函数并将其作为参数传递的能力,而旧方法需要创建类或接口来“托管”这些函数;或流,它在函数中封装了迭代行为,可以创建以链式函数调用形式实现的高效数据转换管道。

许多语言设计者研究了从根本上改善おっぱいハート下载体验的方法。对我来说,其中大部分没有引起我的太多兴趣;再次,这更多地反映了我的典型工作流程,并且(更多地)减少了这些语言带来的功能。但其中一个演化步骤已经成为我的编程工具中不可或缺的一部分:Groovy。当我遇到一个小问题,需要一个简单的解决方案时,Groovy已经成为了我的首选。而且,它与おっぱいハート下载高度兼容。对我来说,Groovy填补了Python为许多其他人所提供的相同用处——它紧凑、DRY(不要重复自己)和具有表达性(列表和词典有完整的语言支持)。我还使用了 Grails,它使用Groovy为非常高性能和有用的おっぱいハート下载Web应用程序提供简化的Web框架。

有没有比おっぱいハート下载更好的语言?我确信有,这取决于你的工作需要。但我一直对おっぱいハート下载非常满意,我还没有遇到任何可能会让我失望的东西。