Найти в Дзене

Мнение о языке Python. Параллели с Бейсиком.

Язык программирования Python (далее – Питон) – дурацкий и неудобный язык. При программировании на Питоне борешься не с задачей, а с Питоном. И программа потом получается запутанной, заузленной как питон. Создаётся впечатление, что Питон был создан намеренно неудобным, чтобы непосвящённым программистам было неимоверно трудно на нём программировать, чтобы они тратили огромное количество физических усилий, памяти, нервной энергии, времени. И в итоге или не могли вообще или же с невероятными усилиями создавать что-то стоящее, шедевры. Обиднее всего, что Питон подсунули детям в школы. Сами-то создатели Питона наверняка пишут на удобных языках и долго ломали голову как придумать такой с виду простой и милый, но тупорылый и уродливый язык. Почему? 1) Нет оператора GOTO. Этот оператор много лет специально подвергали осмеянию. Его употребление считали дурным тоном. Подготавливали почву для его убирания. С помощью оператора GOTO можно было выпрыгнуть из любого места программы и попасть в любое м

Язык программирования Python (далее – Питон) – дурацкий и неудобный язык. При программировании на Питоне борешься не с задачей, а с Питоном. И программа потом получается запутанной, заузленной как питон. Создаётся впечатление, что Питон был создан намеренно неудобным, чтобы непосвящённым программистам было неимоверно трудно на нём программировать, чтобы они тратили огромное количество физических усилий, памяти, нервной энергии, времени. И в итоге или не могли вообще или же с невероятными усилиями создавать что-то стоящее, шедевры. Обиднее всего, что Питон подсунули детям в школы. Сами-то создатели Питона наверняка пишут на удобных языках и долго ломали голову как придумать такой с виду простой и милый, но тупорылый и уродливый язык.

Почему?

1) Нет оператора GOTO. Этот оператор много лет специально подвергали осмеянию. Его употребление считали дурным тоном. Подготавливали почву для его убирания. С помощью оператора GOTO можно было выпрыгнуть из любого места программы и попасть в любое место. В Питоне GOTO нет. Это сделано якобы для удобства последовательного, линейного, чтения текста программы. Кто бы говорил! Но ведь это неудобно! Сама логика вполне допускает нелинейность, развилку. Приходится изворачиваться как питон, чтобы организовать алгоритм. На замену GOTO предложили операторы break, continue, pass. По break не знаешь, куда выскочишь, постоянно надо думать. Continue и pass – вообще дурацкие операторы: зачем – непонятно.

2) Объявление функций def. Оказывается функцию def следует объявлять только перед основным блоком программы! Ну это, типа, скажем, Вы входите в дом и попадаете не в основной зал, а сначала в сортир, кладовку и подсобку. Интересно. Гораздо удобнее была конструкция GOSUB … RETURN. Её обычно ставили в конце основной части программы, как вспомогательную подпрограмму. А чего только стоят глобальные и локальные переменные, объявляемые оператором global?! Пишешь прогу – не работает! Что за хрень?! Оказывается, переменная x не видится где-то! Она есть, но теряется по дороге. Пока это обнаружишь – ещё потеряешь пару часов. А текст-то проги растёт! Там global, тут global. Строчечка за строчечкой – и вот Вам необъятный объём проги. Неужели программисту так трудно удержать в голове переменные? А это чтобы забивать голову, что одинаковые переменные – неодинаковы! Одни в функции, другие в основном блоке.

Оператор return. Раньше он был нужен, хотя и пустой. В Питоне его наделили функциями! Он стал возвращать то, что и без него возвращается. И приобрёл черты ненужности.

3) Отступы. Это отдельная песня. Отступы в Питоне повсюду. В операторе if. В операторе цикла. А буквы имеют разную ширину, а отступов может быть до хрена. И вот ломаешь глаза: тут ли я сделал отступ? К какому оператору относится этот отступ? Смотришь, а строка стояла не с тем отступом! Прога работает, а неправильно! Отступы – большой вред!

4) А зачем двоеточия? Ну, ладно, в if они может и нужны. Но зачем они в операторе цикла? После функции def?

5) Почему цикл for может топать только с целым шагом? Опять надо изворачиваться. И for i in range(100) оказывается идёт не до 100, а до 99!! Это намашка!

6) Как можно было извратить символ равенства =? Если это присваивание, то пишется =. Если это проверка условия, пишется 2(!) «равна»: ==. Это, конечно, умышленное вредительство. Причём, иногда можно запутаться и написать два «равна». И Питон не видит этого. Программа будет работать, но неправильно. И такую помарку заметить очень сложно. А чтобы программист побольше сидел, геморрой себе зарабатывал.

7) На кой хрен понятия «список», «кортеж», «множество», «словарь»? Без них как-то обходились. Скобки то круглые, то квадратные. Было просто понятие «массив». Двумерный массив в Питоне вообще хрен задашь. Но можно, конечно. Через жопу. Сам не догадаешься, надо, чтобы кто-нибудь показал.

8) Если Вы написали x = x + 1 – работать не будет. Надо обязательно где-то выше написать x = 0 или чему-то. Необъявленная переменная, понимаешь. А как же раньше все переменные по умолчанию равнялись нулю? А теперь Питон это не знает. Хреново дело. Дурацкие сокращения: x+= 1. К чему это? Давайте оторвём минутную стрелку – а чо? Понятно ведь который час!

Оказывается, сокращения не всегда работают. Например, Вы решили перекинуть массив x в массив y, снять копию. И пишите: y = x. Так вот, в одном случае сработает, в другом нет. И придётся перекидывать циклом поэлементно. Когда это допрёт, долго не можешь понять: вроде копию снял, а прога не работает! Вон оно что! Оказывается, надо поэлементно перекидывать! А время идёт…

9) Раньше для вычисления синуса достаточно было написать sin(x). В Питоне надо вначале проги вызвать математику: import math. Без неё математические функции работать не будут! А синус будет math.sin(x). Ну, в общем, всё через мат. При этом оператор модуля abs работает без import math. Видать, замудрились.

10) Всем известно, что окружность задаётся центром и радиусом. В Питоне не так. Надо задать две вершины квадрата, тогда получится. А центр Вам придётся самим периодически рассчитывать, как среднее арифметическое, сразу и не сообразишь, где же центр питоновской окружности. Уж лучше бы сделали возможность поворачивать эллипс на угол. Но этого как не было, так нет. И оператор рисования точки. Это было удобно.

Само рисование в tkinter требует длинной записи: c.create_oval(100,100,200,200, fill=’red’)

c.create_line(100,100,200,200, fill=’green’)

c.create_polygon(100,100,200,200,300,330, fill=’white’)

А зачем тут слово create_? Для мозгосрания.

Вывести текст на графику без заднего фона невозможно. Обязательно буквы и задний фон. А что нельзя вывести только буквы? Питон это не предусматривает. Какой умный Питон!

11) Исчез оператор PAINT. Теперь закрасить область, ограниченную графиками функций – это надо подумать. Подумать. Нет оператора END. Очень удобный. Когда захотел, тогда и закончил выполнение программы. А в Питоне конец будет, когда закончится текст программы. Дурь.

12) Оператор случайных чисел – это не просто RND(1). Надо написать from random import random и только потом random(). Сколько ненужных символов!

13) Классы, декораторы. Это просто класс!! Одна переменная self через каждое слово чего стоит! («ыуда» по кнопкам)

Почему я выбрал Питон? Питон я не выбрал. Директор попросил меня начать учить Питон. Да, Питон позволяет подключить «мышь», имеет все доступные цвета видеокарты и разрешение монитора, подгружает фотки, взаимодействует с Windows. Это его преимущества. Но дури в нём много.

Давным-давно пора нашим российским программистам создать свой простой и мощный язык программирования. Как автомат Калашникова. Пусть в нём будут операторы на английском. Что ж, английские слова отличаются короткой длиной, что сокращает текст программы. Пусть он будет совместим с современными платформами. Пусть на нём можно будет писать программы, которые пойдут как на большом компьютере, так и на сотовом телефоне, без дополнительной переделки. Пусть он одной кнопкой в автоматическом режиме создаёт .exe и .apk файлы, а не через жопу. И я знаю такого человека, который давно мечтал создать такой язык. Но жизненные проблемы давят его и уже годы. Понятно, что одному сделать это очень трудно. Но у нас же есть в России светлые головы! И они могут создать это. Только освободите их от рутины и бытовухи, да заплатите им немного.

Успехов Вам в программировании!