OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 13 Декабрь, 2018 20:30

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 64 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: против питона
СообщениеДобавлено: Понедельник, 10 Октябрь, 2016 15:32 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7932
Откуда: Троицк, Москва
Коллеги, нужно собрать конкретные аргументы в тему, почему питон хуже Оберона/КП для обучения программированию.
Хуже не только по мелочам, но и с точки зрения единой сквозной системы вводных курсов, о которой говорится в Информатике-21.

Конкретные фичи, конкретный опыт.

Систематизируем потом, сначала нужно собрать в режиме мозгового штурма.

В Минобразе уже начались перемены, и нужно использовать шанс, чтобы вписаться в эту струю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: против питона
СообщениеДобавлено: Понедельник, 10 Октябрь, 2016 17:06 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1094
Откуда: СССР v2.0 rc 1
1. Питон поощряет бестолковый стиль кода.
2. Питон поощряет бездумную смену типа объектов во время работы.
3. Питон не является единой нефрагментированной платформой для "малого" и "большого".
4. После питона сложно выправить вывихи сознания в восприятии правильных подходов.
5. Питон 2 и 3 ветки расколол сообщество на два лагеря: до и после. Причём после, по многим параметрам хуже чем до.
6. Питон имеет обширные привязки к серьёзным инструментам, но по отношению к ним -- является ведомым и всегда догоняет.
7. Питон -- это попытка исправить злокачественную генетику Си. И потому, после него обучаемый неизбежно пойдёт в Си.
8. Питон в чистом виде -- не может послужить основой для серьёзного программного обеспечения. Как по объёму, так и по качеству, так и производительности. Придётся осваивать либо расширение, либо отдельный язык.
9. Питон идёт по пути, который невозможно контролировать. С каждым годом всё тяжелей, и на пятки ему наступают более легковесные декларативные мини-языки.
10. Питон не является промышленным стандартом, а значит в будущем школьники будут вынуждены со временем отказываться от приобретённых навыков. Труд учителей и средства налогоплательщиков будут потрачены впустую.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: против питона
СообщениеДобавлено: Понедельник, 10 Октябрь, 2016 17:11 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7932
Откуда: Троицк, Москва
Здорово для затравки.

Но частично неконкретно.

Коллеги, кто может подраскрыть пункты, не стесняйтесь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: против питона
СообщениеДобавлено: Понедельник, 10 Октябрь, 2016 17:16 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7932
Откуда: Троицк, Москва
Ещё хорошо бы иметь с прицелом на будущее свидетельства типа
я пытался применять питон в некоем проекте, и бякнулся фейсом в ... etc.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: против питона
СообщениеДобавлено: Понедельник, 10 Октябрь, 2016 17:27 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9062
Откуда: Россия, Орёл
Сделать упор на отсутствии статической типизации.
При этом не в ключе даже "ах, какой ужас, как так программировать",
а в том духе, что развитая система статической типизации является основой современной разработки серьёзного ПО.
И язык, не формирующий навыков и паттернов работы со статической типизацией, оставляет большой пробел в изучении программирования.

Из мейнстрима:
Java (стандарт для крупного корпоративного и финансового ПО), C# (как альтер-Ява), Ada (авиация), С++ (сложная системщина), Haskell (передовой функциональный язык), Go (язык Гугла для веб-программирования) - всё это развитая статическая типизация. Даже С++, будь он трижды неладен, - в современной его идеологии - это в первую очередь обеспечение надёжности и предметной ориентированности за счёт развитой статической типизации в условиях обобщённого программирования (дженериков).

Известны проблемы "скриптеров" при переходе на эти языки именно по причине "аморфности" мышления.
Т.е. создаётся мощный тормоз для перехода в серьёзную, профессиональную лигу. Отсутствие строгой типизации в этом плане то же самое, что и GOTO для структуры алгоритма.
Безусловно, проталкивание известной бандой Питона обусловлено исключительно их ориентацией на олимпиадную нишу (где важно быстро произвесть небольшие алгоритмы). Важно подчеркнуть это: что они ориентируюся на крайне узкую нишу, создавая тормоза как для общеалгоритмической, широко применимой грамотности, так и для выхода на профессиональный путь.
Фанатизм к Питону и скриптам проявляет именно тот контингент, который желает застрять в весовой категории "чо-то потихоньку лабаю в своё удовольствие".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: против питона
СообщениеДобавлено: Понедельник, 10 Октябрь, 2016 18:30 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4170
Откуда: Россия, Орёл
Илья Ермаков писал(а):
Фанатизм к Питону и скриптам проявляет именно тот контингент, который желает застрять в весовой категории "чо-то потихоньку лабаю в своё удовольствие".

Нет. По большей части из-за п. 7 Валерия.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: против питона
СообщениеДобавлено: Вторник, 11 Октябрь, 2016 12:28 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2233
Присоединяюсь к типизации + Питон исповедует зубрежку. В нем в целом нет системы знаний, как в какой-то науке. Не работают причинно-следственные связи.
Для школьника это очень плохо и поэтому непонятно, как двигаться дальше. Поэтому у школьника в принципе нет шансов реализовать самостоятельный проект на Питоне.

Возьмем для примера деление на цело. В школе ученик привык, что 3/2 это 1.5, но в Питоне это не так. Логика "почему это не так" очень сложная и в целом противоречит школьной программе. Формируется система исключений с самых азов изучения. И так дальше повсюду.

Однако с учетом всех недостатков. У него есть преимущество - линейная кривая обучения. Легкий старт и одинаково сложная кривая обучения. Немного "позубрил", стал немного больше "мочь" для решения задач. Ну и так или иначе, но Питон сегодня - лучший скриптовый язык для Linux. Так что он все равно входит в джентльменский набор современного IT специалиста.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: против питона
СообщениеДобавлено: Вторник, 11 Октябрь, 2016 12:41 

Зарегистрирован: Воскресенье, 03 Февраль, 2008 12:50
Сообщения: 232
Цитата:
В школе ученик привык, что 3/2 это 1.5, но в Питоне это не так.

Да неужели? :lol: Как раз в Питоне то 3/2 = 1.5.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: против питона
СообщениеДобавлено: Вторник, 11 Октябрь, 2016 13:24 

Зарегистрирован: Воскресенье, 03 Февраль, 2008 12:50
Сообщения: 232
Соглашусь с Ильёй Ермаковым: единственный существенный недостаток Python - динамическая типизация. Отсюда вытекают:
  • Необходимость тратить больше времени на тестирование, а не собственно программирование. При разработке на статически типизированных языках можно опереться хотя бы на type checker, а тут нужны тотальные проверки всего и вся.
  • Зачастую не самый лучший (если вообще имеющийся) дизайн ПО. При разработке на статически типизированных языках с самого начала приходиться детально прорабатывать типы данных, которые предполагается в дальнейшем использовать, а тут можно по началу без дизайна выкатить на "грязных хаках", вроде duck typing, а раплачиваться будут потом и, скорее всего, другие.
  • Плохая читаемость и высокая сложность изменения кода. Информация о типах переменных и при чтении, и при изменении кода очевидно крайне важна. Её, конечно, можно сохранять в комментариях, но где гарантии, что при каждом изменении кода, коментарии так же будут изменены?
  • Статический анализ крайне затруднён.

То есть, резюмирую, как Илья и сказал: "развитая система статической типизации является основой современной разработки серьёзного ПО". Вдумчивое проектирование, статический анализ, легко читаемый и модифицируемый код - всего это крайне тяжело достичь, используя динамически типизированные языки. Но для скриптов в несколько десятков строчек (для себя, здесь и сейчас) оно, к сожалению, годится.

Ах, ну и чуть не забыл упомянуть, что подвижка в сторону статической типизации в Python есть. В версии 3.5 появились т.н. type hints (PEPs 483, 484), которые суть есть подсказки людям и машине по типам используемых объектов. Цели как раз улучшение читаемости и возможностей статического анализа.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: против питона
СообщениеДобавлено: Вторник, 11 Октябрь, 2016 13:47 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1094
Откуда: СССР v2.0 rc 1
Появились то они появились. Только по факту не работают, ни к чему не обязывают, и статические анализаторы в динамических системах -- это как плавать топором))
Питон хорош как клей. Буквально. Его отношение к другому коду должно быть как отношение массы штукатурки и обоев к массе обойного клея))

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: против питона
СообщениеДобавлено: Вторник, 11 Октябрь, 2016 17:07 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1098
kemiisto писал(а):
Да неужели? :lol: Как раз в Питоне то 3/2 = 1.5.

Зависит от версии Питона. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: против питона
СообщениеДобавлено: Вторник, 11 Октябрь, 2016 17:45 
Аватара пользователя

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1162
Откуда: Tel-Aviv
Trurl писал(а):
kemiisto писал(а):
Да неужели? :lol: Как раз в Питоне то 3/2 = 1.5.

Зависит от версии Питона. :)

Это и плохо, что в разных версиях Питона математика действует по-разному.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: против питона
СообщениеДобавлено: Вторник, 11 Октябрь, 2016 18:02 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1438
Имхо, Питон слишком высокоуровневый. Сложно представить что происходит под капотом.
В этом плане Оберон и Схема гораздо лучше.

Еще Питон своим дизайном провоцирует писать бряки в циклах (тут возможно вру, но знающие поправят)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: против питона
СообщениеДобавлено: Вторник, 11 Октябрь, 2016 18:25 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1094
Откуда: СССР v2.0 rc 1
Я с самого начала сильно удивлялся почему во второй ветке 3/2=1, а в третьей 3/2=1.5.
И это ещё мелочи по сравнению с тем, как стали обрабатываться строки)))
Не. Катится под горку.

Бог с ними с бряками. Там ещё континуэ имеется. А Трей... Эксцепт...Финалли -- вот что жутко)) Действительно, то что происходит под капотом -- магия.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: против питона
СообщениеДобавлено: Вторник, 11 Октябрь, 2016 18:35 

Зарегистрирован: Воскресенье, 03 Февраль, 2008 12:50
Сообщения: 232
ilovb писал(а):
Еще Питон своим дизайном провоцирует писать бряки в циклах (тут возможно вру, но знающие поправят)

Есть такое дело. Питон вообще много чем провоцирует писать неструктурно. И вообще он не императивный, а смешанный язык, в который всё больше пихают функцианАльщину. :lol:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: против питона
СообщениеДобавлено: Вторник, 11 Октябрь, 2016 18:53 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 353
Откуда: Москва
Из Википедии https://ru.wikipedia.org/wiki/Python
Цитата:
Класс языка:
мультипарадигмальный:
объектно-ориентированный,
рефлективный,
императивный,
функциональный,
аспектно-ориентированный,
динамический


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: против питона
СообщениеДобавлено: Вторник, 11 Октябрь, 2016 23:10 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7932
Откуда: Троицк, Москва
Trurl писал(а):
kemiisto писал(а):
Да неужели? :lol: Как раз в Питоне то 3/2 = 1.5.

Зависит от версии Питона. :)

Пожалуйста, дайте подробности.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: против питона
СообщениеДобавлено: Среда, 12 Октябрь, 2016 00:28 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2233
Info21 писал(а):
Trurl писал(а):
kemiisto писал(а):
Да неужели? :lol: Как раз в Питоне то 3/2 = 1.5.

Зависит от версии Питона. :)

Пожалуйста, дайте подробности.

В python до 3 версии деление целых значит деление на цело, но в версии 3 — уже нет.
Чтобы в python до 3-ей версии поделить числа, надо писать так 3/float(2). Как это объяснить школьнику? :)
Почему не добавить отдельный оператор для деления на цело?
MOD и DIV должны проходить в школе и объяснять, как это связано с двоичным представлением данных.
Вложение:
python_demo.png
python_demo.png [ 55.83 КБ | Просмотров: 5782 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: против питона
СообщениеДобавлено: Среда, 12 Октябрь, 2016 08:36 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1098
Вот еще одна вещь, которую надо объяснять школьнику
Код:
>>> a=[1,2,3,4,5]
>>> a
[1, 2, 3, 4, 5]
>>> b=a
>>> b
[1, 2, 3, 4, 5]
>>> b[1]=8
>>> b
[1, 8, 3, 4, 5]
>>> a
[1, 8, 3, 4, 5]

Впрочем, это для многих скриптовых языков характерно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: против питона
СообщениеДобавлено: Среда, 12 Октябрь, 2016 08:57 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1094
Откуда: СССР v2.0 rc 1
А во последний пример, кстати, это просто ступор был для меня)))))
Я долго не мог въехать в эту магию 80 лвл)) Я до сих пор не пользуюсь такими штуками, так как это реально погибель адская.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 64 ]  На страницу 1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2018, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB