什么是Java的一些突出的真实世界应用程序?

9 java

我是一名初学程序员,我们学校的I&CS课程让我们开始学习Java.在我看来,C和它的分拆在现实世界中更为普遍.这是真的?专家程序员如何使用Java进行工作?

更确切地说,我想知道程序员在什么情况下更喜欢使用Java而不是其他语言.OpenOffice绝对是Java的一个突出例子,但它不能用其他任何东西编码吗?

iss*_*eng 14

除非您正在编写游戏,嵌入式设备软件,维护传统软件或编写高性能并行计算软件(例如CUDA),否则您现在可以获得比C/C++更多的Java.C#实际上比C派生的更多是Java派生的,尽管有这个名字,如果你想到的话(许多人认为它比Java更好,包括我自己).

"Java比C/C++慢"的说法正缓慢而稳定地成为一个神话(例如参见这个基准).它当然对程序员更友好,并且正在迅速出现越来越多的企业级解决方案,专门处理Java,其开发以及在现实世界中的部署.

特别是在服务器应用程序中,您会发现Java正在获得巨大的成功.在这一点的大多数领域,它是否真的在使用中是第二位的C/C++是有争议的.


Pas*_*ent 9

您对"现实世界"的看法可能并不准确,因为许多(大多数?)大型Java应用程序都不是"可见的".当然,有桌面Java应用程序,但在我看来,它的服务器端Java使它如此受欢迎,特别是在异构企业环境中(可移植性带来供应商独立性),几乎所有行业都使用Java.而且因为你问了一个例子,我的将是GMail.这够大吗?


Rar*_*arr 8

Java非常普遍.将其流行程度与"C及其衍生产品"进行比较真的很难,因为没有人能够统计每个问题解决了多少"现实世界"的问题.然而,Java很受欢迎.您可以在自己的桌面计算机上安装和使用的一些Java应用程序:

Java还可以在许多手机和Web服务器上运行.

至于你的第二个问题 - 专家程序员倾向于使用Java来完成任务.(就像C,C++,perl,Lua,python,Javascript,ruby,Clojure,Pascal,SQL,COBOL和任何其他编程语言一样.)作为初学程序员,不要担心Java的真实适用性.如果您的学校教授它,请使用它来学习计算机科学概念,这些概念将以您最终用于解决流行现实世界计划的任何语言为您服务.

  • @Leebuntu:学习语言不仅仅是学习语法的问题.尝试学习像Haskell或Lisp这样的东西,你会发现你的假设有多么错误. (2认同)

Phi*_*oin 6

我一直是C/C++程序员,但我最近开始使用Java,因为我使用非常酷的Google Web Toolkit(GWT)编写Web应用程序.这个小宝石会将您的Java代码编译为Javascript,如果您也用Java编写服务器代码,它可以从根本上简化客户端 - 服务器通信.我之前用PHP和Python编写过webapps,使用原始的javascript或jQuery,但对我来说GWT + Java组合是一个更加愉快的解决方案.

当然,它不是Java最流行的用法,但我认为您可能有兴趣了解该语言的其他用途.


T.R*_*.R. 5

Java在使用更接近C语言的语言中可能排在第二位,但是它距离第二名足够近,因此我不必担心它的适用性。更笼统地说,我不会太担心所学第一语言的适用性-那里有太多的语言,每种语言都有其特定领域。专注于学习概念,您将不会很难切换到适合当前任务的任何语言。

关于Java的问题领域:
Java通常用于具有图形用户界面的跨平台应用程序,手机应用程序以及服务器上用于生成网页的代码。在这些领域中用Java编写的代码就是使其对这些领域的未来项目具有吸引力-但没有问题域明确属于一种语言。

开始有点技术:
Java是一种静态类型垃圾收集的语言。这意味着意外地做不安全的事情会稍微困难一些,并且集成开发环境(例如Eclipse)可以为程序员提供更多帮助,因此Java可能更适合于大型项目或可能使程序员不熟悉Java的项目。代码库。

作为一种垃圾收集语言,Java可能不太适合具有严格资源限制或速度要求(通常首选C的程序)的程序。作为一种静态类型的语言,它不适合快速的应用程序开发(通常首选动态类型的语言,例如Python,Ruby和PHP)。

更广泛地讲,Java也是一种命令式语言,因此大多数程序员对Java 的风格更熟悉,并且它最好告诉计算机确切地如何做某事,而不是例如函数语言(如Haskell)那样。更好地描述需要完成的工作,以便计算机可以按需要将工作划分(但不擅长处理诸如屏幕上显示的更改内容)。