在我工作的3年间,我一直在处理数据库,数据等。去年才开始使用Python进行数据分析。现在我对所有大数据生态系统感兴趣,但Python让我足够远。
然而,最近我选择学习Scala作为我的第二种编程语言。通常我的程序通常需要有一个类,一个方法,然后需要构建它。说实话,这一切都非常令人困惑:)
所以我继续阅读,看来Scala来自JVM环境,我开始阅读Java,结果发现在Java中你不能只创建一个由单个命令组成的程序。你需要创建一个类,一个方法等。我理解它可能是因为它遵循OOP的一个原则,但任何人都可以请我指向源代码,这可以解释为什么我们需要创建java中的类和方法 - 而不是仅列出命令?
答案 0 :(得分:1)
所以我继续阅读,看来Scala来自JVM环境,我开始阅读Java,结果发现在Java中你不能只创建一个由单个命令组成的程序。你需要创建一个类,一个方法等。我明白这可能是因为它遵循了OOP的原则之一
首先,让我简要解释一下为什么Python不要求你创建一个类或类似的东西来运行它。
Python 被设计为解释语言(或者您可以将其称为脚本)。您编写的指令是由命令解释程序处理的一系列操作系统命令。什么是命令解释器?
命令解释程序是执行您输入的命令的操作系统的一部分。在某些操作系统中,它被称为shell
。
Java 是一种需要由语言编译器编译的编译语言。语言编译器将源代码转换为机器语言,以便处理器可以对其进行处理。
在我看来,它并不是真正关于Java中的OOP。正是它们与众不同 - 被编译 vs 被解释。
如果您只是想知道为什么Java代码需要一个类,之前已经在SO中询问过:
答案 1 :(得分:0)
Java是一种面向对象(OO)语言。类是对象,是该语言的基本构建块之一。在类中,你有方法,包含你所说的“命令”。
我建议您参考有关该主题的文献 - 有大量的书籍概述了OO原则以及不同类型语言(OO,功能,程序等)之间的差异。
总而言之,维基百科可能是一个很好的起点 - 请参阅此处的主要范例方法列表:
https://en.wikipedia.org/wiki/Comparison_of_programming_paradigms#Main_paradigm_approaches
P.S。:由于我不确定你的问题是什么,我必须补充一点,当然,Python也是一种OO语言。您可以在不创建类的情况下运行Python代码,这是一种设计选择。
答案 2 :(得分:0)
Scala就是因为这个而制造的。它混合了功能和OOP语言功能,因此您可以自己创建方法,而无需创建包含它们的类。
Java没有此功能,无法在类外创建方法。 Java是面向对象的,所有东西(除了原语)都扩展了对象。
有人说,这是这样的,因为java是垃圾收集的。在对象内部使用函数可以更容易地释放空间。
如果你发现这个好的话,这真的取决于你。在我看来,最好尽可能远离函数式编程。我们不要回到C时代。