Mr.Smart писал(а):Троллефобия?
BolgenOфобия...
Модератор: Модераторы
Mr.Smart писал(а):Троллефобия?
var x = some;
function x(){doSome(); return some;}
1) x && x();
2) if (x){
x();
}
bw писал(а):Синтаксический сахар нельзя забывать, например функция возвращает перечисляемый объект и этот результат мы раскидываем по переменным, затем делаем цикл с автоматическим целочисленным индексом:
- Код: Выделить всё
def myfunc():
return 'qwe'
a, b, c = myfunc()
for i, v in enumerate(myfunc()):
print '%d:%s'%(i, v) # 0:q 1:w 2:e
Мне кажется пример показательный, на Pascal потребуется заметно больше телодвижений и больше букв, а таких мелочей в жизни ведь очень много.
..bw
leo_bsv писал(а):BolgenOфобия...
NTFS писал(а):Насчет гибкости - этот термин мне вообще никогда не был понятен.
Maxizar писал(а):А теперь серьезно, задумайтесь все что имеет дисплей и больше 3-х кнопок имеет под собой проц с частотой выше 200 Мгц, и в 90% случаев там живет ядро Linux-a.
Mr.Smart писал(а):Юношеский максимализм, подумаешь. Зачем его бояться?
var
result: String;
a, b, c: Char;
begin
result := myfunc();
a := result[1];
b := result[2];
c := result[3];
bw писал(а):alexey38> не видя содержимого Myfunc вообще не догадаешься, что должно произойти
Т.е. ты, что бы использовать функцию пользуешься хедерами, странный подход, мне достаточно справочной документации по API, где сказано что myfunc всегда возвращает перечисляемый тип (в данном случае строку) с тремя элементами.
alexey38> Паскалевская строгость типов здесь как раз идеально демонстрирует слабость Питона
А ещё есть мнение что она нужна лишь криворуким программистом, которые не пользуются документацией, а ждут подсказки от компилятора. В общем я не понял тебя, что она там в данном случае демонстрирует, я же не наобум метод вызываю, мне известны входные параметры и результат, думаю ты так же поступаешь.
..bw
FedeX писал(а):>Это так что-ли?
Именно! Этот код на 150% читабельнее постороннему программисту. Когда я делаю кодревью, я не хочу и не буду метаться по документации - у меня нет на это времени. В идеале мне вообще неинтересно содержимое и описание функции myfunc - о том что она делает должны исчерпывающе повествовать её название, типы передаваемых параметров и тип результата. По этой же причине я иногда создаю промежуточные переменные с названиями, говорящими о том что сейчас происходит с данными (несмотря на то, что зачастую это приводит к разбуханию однострочного выражения на 10 строк простого и понятного кода), и по этой же причине слежу чтобы в одной функции по возможности не скапливалось более допустим 20 строк кода иначе выношу его в отдельные функции/классы. То что такой код возможно будет чуть менее быстрый в 99,9% случаев никак не отразится, зато сопровождать такой код в десятки раз проще. имхо, конечно
bw писал(а):bw> Это так что-ли?
FedeX> Именно!
Ну так тоже на Python писать можно. Контроль типов организовать можно (пусть ограниченный и в runtime), проверку входных параметров функции и её результатов тоже (контракты), интерфейсы, адаптеры, импорт из любых источников (да хоть генерирование на лету) и т.д. и т.п. Возможность всего этого и говорить о гибкости языка (в этой теме мы именно гибкость, что бы это не было, обсуждаем).
..bw
Ничего странного - БД это прежде всего корпоративный сектор, а OpenSource (массовый) - это в основном всякие мелкие свистелки и хотелки. Не вспомню с ходу ни одного серьезного приложения Enterprise-уровня, реализованного в чистом OpenSource.
vada писал(а):2 PascalBeginer вброс удался
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17