Java vs Python Часть 1: почему Python может быть продуктивнее?

автор

Некоторые разработчики утверждают, что Python продуктивнее Java. Опасно утверждать такое, так как для проверки нужно как минимум несколько дней. С точки зрения профессионалов, Java строго типизированный язык программирования, это значит, что названия переменных должны быть явно декларированы. В противовесе мы имеем динамически типизированный Python, в котором декларирование не требуется. Существует множество споров на счет динамической и статистической типизации в языках программирования, но данная статья не об этом. Однако, одну мысль стоит взять на заметку: Python — интерпретируемый язык с элегантным синтаксисом, что делает его отличным решением для написания скриптов и быстрой разработки приложений в различных сферах.

В данном сравнении я постараюсь затронуть несколько базовых языковых компонентов, таких как строки, классы, потоки управления, наследования, файлы i/o, и другие. Их я буду сравнивать бок о бок в своих примерах. Надеюсь, эта статья раскроет программистам Java принцип, по которому Java и Python выполняют одинаковые задачи по-разному. Посмотрев на приведенный пример кода ниже, мы увидим, что код Python значительно короче, при том, что оболочка класса Java (в Java мы все определяем как класс) даже не указана. Это одна из причин, почему Python может быть более продуктивным.

Hello World

Начнем с простейшей программы. Java требует много букв для вывода одной строки. Это первый пример, в котором наглядно демонстрируется лаконичность Python.

Java

Python

Что-бы мы не делали в Java, нам нужно начать с создания класса, который будет содержать необходимый метод (методы). Иногда это раздражает и забирает время. В Python вы можете просто начать писать код и запустить его.

Операции со строками

Java

Python

Python предоставляет много функций, связанных со строками, которые если не хуже, то лучше тех, которые содержит Java. Например: lstrip(), rstrip(), и т.д.

Управление потока

Java

Python

Классы и наследование

Java

Python

Когда вы расширяете основной класс, нет необходимости в определении конструктора расширения для неявного суперконструктора.

Работа с файлами

Java

Python

Как мы видим, здесь много классов, которые нам нужно импортировать, чтобы просто прочитать файл, и как дополнение, нам нужно обработать исключения, вызванные некоторыми методами. В Python это всего три строки.

Коллекции

Java

Python

Вам может быть интересно

  • Andrew Dahnovsky

    в управлением потоком поправьте в питоне там где больше-меньше

  • Denisan Mers

    а если сравнить с Kotlin, он тож моложе и прост по отношению к джава, но как с питоном?