LINUX.ORG.RU

История изменений

Исправление Novator, (текущая версия) :

Ну вот смотри, маленькая утилитка, а модулей 12 штук подключено (12 ШТУК, КАРЛ!):
https://github.com/Novator/Pandora/blob/master/util/pangate.py

Т.е. на каждый чих нужен модуль:

Хочешь поработать с датой и временем - подключай «time» и «datetime» (в руби всё делает базовый класс Time, ни одного модуля не надо подключать - батарейки в комплекте).

Хочешь поработать с терминалом - подключай «termios» (руби по умолчанию умеет работать с терминалом).

Хочешь вызвать системные функции - подключай 4 модуля «sys, os, socket, threading» (в руби есть системные константы).

Хочешь поработать с файлами (С ФАЙЛАМИ, КАРЛ!) - подключай «fcntl» (в руби класс File доступен по умолчанию).

Хочешь поработать со структурами - подключай «struct» и «binascii» (в руби все методы для работы с данными входят в базовый класс String).

Т.е. если ты в руби хочешь сделать какое-то типовое действие, то ты в 90% случаев берёшь базовый класс и получаешь весь инструментарий, удобный, работающий в традиции Ruby.

А если ты в питоне хочешь сделать какое-то типовое действие, то всегда должен найти какой-то сторонний модуль, разобраться каким образом на этот раз программер извратнулся, чтобы реализовать логику интерфейса (набор классов и методов), как туда параметры подаются. (А извращаются они всегда по-разному).

И вот эта постоянная анальная возьня в питоне (особенно, после руби) меня просто за$бала. Если бы не stackoverflow с большим кол-вом примеров, то я бы наверное от питона вобще отказался. А так он берёт популярностью. Ну и скорость мне понравилась, вроде как чуть шустрее руби.

Исходная версия Novator, :

Ну вот смотри, маленькая утилитка, а модулей 12 штук подключено (12 ШТУК, КАРЛ!):
https://github.com/Novator/Pandora/blob/master/util/pangate.py

Т.е. на каждый чих нужен модуль:

Хочешь поработать с датой и временем - подключай «time» и «datetime» (в руби всё делает базовый класс Time, ни одного модуля не надо подключать - батарейки в комплекте).

Хочешь поработать с терминалом - подключай «termios» (руби по умолчанию умеет работать с терминалом).

Хочешь вызвать системные функции - подключай 4 модуля «sys, os, socket, threading» (в руби есть системные константы).

Хочешь поработать с файлами (С ФАЙЛАМИ, КАРЛ!) - подключай «fcntl» (в руби класс File доступен по умолчанию).

Хочешь поработать со структурами - подключай «struct» и «binascii» (в руби все методы для работы с данными входят в базовый класс String).

Т.е. если ты в руби хочешь сделать какое-то типовое действие, то ты в 90% случаев берёшь базовый класс и получаешь весь инструментарий, удобный, работающий в традиции Ruby.

А если ты в питоне хочешь сделать какое-то типовое действие, то всегда должен найти какой-то сторонний модуль, разобраться каким образом на этот раз программер извратнулся, чтобы реализовать логику интерфейса (набор классов и методов), как туда параметры подаются.

И вот это постоянная анальная возьня в питоне (особенно, после руби) меня просто за$бала. Если бы не stackoverflow с большим кол-вом примеров, то я бы наверное от питона вобще отказался. А так он берёт популярностью. Ну и скорость мне понравилась, вроде как чуть шустрее руби.