Pull to refresh

Comments 16

UFO just landed and posted this here

ну хотя бы один комментарий к статье восторженный, а то сообщество здесь токсичное какое-то :)

Я отвык уже от такой нетактичности или токсичности, как Вы пишите. Это неконструктивно и не практично и, главное - Зачем? устраивать на ровном месте бойцовский клуб )
Ладно. Пусть молодежь развлекается, а я попробую найти другие места для публикаций на русском языке моих работ по eco-programming парадигме и VAOP или через некоторое время вернусь, но уже в переводах

Вы привыкли проповедовать свои идеи студентам или "заказчикам", которые в программировании ничего не понимают. И, соответственно, не могут критически эти идеи оценить.

Для местного сообщества так умилительно восхищающие вас идеи "автоматного программирования" являются элементарными.

И зря вы обижаетесь на "нетактичность" и "токсичность". Большое спасибо комментаторам к первой статье за их терпение - вышла очень забавная дискуссия.

Я даже не мог предполагать три года назад, что отголоски моей первой статьи на Хабре, где я изложил основные принципы и терминологию новой методологии программирования VAOP, разойдутся так далеко. Интерес к методологии не только не угас до сих пор, но и, кажется, продолжает расти.

Применение VAOP требует от программиста понимания, что алгоритм, который он реализует в коде, существует отдельно от самого кода программы, и что в этот алгоритм можно вносить изменения. Современные программисты, начиная где-то 20-30 лет назад, стали обходить этап создания блок-схемы алгоритма, который был обязательным на заре программирования. Таким образом, для многих из них алгоритм и код программы стали восприниматься как единое целое, хотя код программы — это лишь инструкция для компьютера, написанная на языке, понятном исполнителю-компьютеру. Когда я спрашивал программистов показать мне алгоритм того, что они закодировали, они обычно указывали на код программы и пытались объяснить мне его работу, не понимая сути моего вопроса.

Вот почему, когда в своей статье я начинаю говорить об алгоритме, изобретенном "яйцеголовым", и затем описываю этот алгоритм с помощью va-script, многие не понимают, о чем идет речь. Как метко заметил мой внук: "Деда, ты пытаешься рассказать о паровозе людям, которые никогда не видели рельсов".

Вот почему, когда на первых занятиях с студентами я объясняю и демонстрирую на примерах, что алгоритм задачи, которую они должны запрограммировать, можно оформить, сохранить и редактировать отдельно от кода его реализации, они начинают осознавать все преимущества, которые предоставляет VAOP.

Затем, прочитав вместе комментарии к моей первой статье на Хабре, студенты честно признаются, что до этого момента они не полностью понимали, что такое алгоритмы и как они могут существовать отдельно. Они осознают, что va-script — это не что иное, как способ записи блок-схемы любого алгоритма, и признают, что без этого объяснения, скорее всего, также не поняли бы сути, подобно тем, кто оставлял комментарии.

Я осознаю свою долю ответственности в этом. Написав ту первую статью на Хабре, я не мог представить, что новое поколение программистов мыслит иначе, чем мы 40 лет назад. Я говорил о рельсах, стрелках и паровозах с вагонами, не учитывая изменения в восприятии. Прошу прощения, ребята. Я был не прав.

Начнём прямо с примеров.
In array M = [1.4, 777, 5, 4.3, 7, 8, 777, 9,23, 777, 5, 6.5, 777, 3] sum will be equal to 10
Здесь у нас шесть подсписков, которые начинаются с 777 и заканчиваются 777.
1: [777, 5, 4.3, 7, 8, 777]
2: [777, 9, 23, 777]
3: [777, 5, 6.5, 777]
4: [777, 5, 4.3, 7, 8, 777, 9, 23, 777]
5: [777, 9, 23, 777, 5, 6.5, 777]
6: [777, 5, 4.3, 7, 8, 777, 9, 23, 777, 5, 6.5, 777]
Ни у одного из них сумма не равняется 10.
Так что будем править, постановку задачи или примеры?

Считая сумму элементов Вы следовали алгоритму-сценарию, прочитанному не в va-script, а в каком-то месте, которое уже устарело. Так часто бывает. Вот и я ошибся и забыл сказать что v-agent суммирует только "comment_010":" > 0 and int and (first or third)" первый и потом каждый третий злетент при условии если они целые и положительные. При этом, очень важно, что если даже он не посчитал первый элемент отрезка потому, что он не целый и меньше нуля или ноль, то va ведет отсчет третьего элемента от этого элемента. Это к вопросу - покажите мне Алгоритм. В VAOP c этим нет проблем и разобраться и поменять при необходимости.
Для сравнения попробуйте понять что и как делается в программах решающих эту задачу заказчика, написанный дедовским подходом. Там, вообще, не понять что и как складывается )
Заказчик может повеселиться и сказать, что если элемент = 0, то его не замечать и не считать первым и не вести от него отсчет каждого третьего.
Вот так и играем со студентами, пока они не понимают как, вообще, раньше писали без VAOP, особено, когда я даю подправить код доугого студента на в VAOP, то первый вопрос - А что этот код делает и как? На что я отвечаю - Спроси разработчика если найдешь и если он вспомнит )
И все приходится переписывать самому с чистого листа. А это ведь лишние затраты ресурсов ...

Считая сумму элементов Вы следовали алгоритму-сценарию, прочитанному не в va-script, а в каком-то месте, которое уже устарело.

Из вашей статьи:
Заказчику нужно знать сумму элементов, которые находятся в подсписке, начинающемся и заканчивающемся элементом, равным 777. Элемент, равный 7, останавливает добавление всех последующих элементов в подсписке к общей сумме

Таким образом, ваша программа решает не задачу, сформулированную заказчиком, а некую воображаемую задачу, поскольку никаких изменений требований далее по статье не указано.

Так что будем править, постановку задачи или примеры?

Отвечая на Ваш вопрос, ничего не будем править ) Будем считать это проверкой на мнимательность чтения статьи. Я часто использую такой прмем при чтении лекций - заявляю одно, а код пишу про другое ) и смотрю на реакцию студентов ). Это типа обратной связи такой ... все уснули или не все )

Понятно. Статья из серии «А магнитопровод мы делаем из дерева, поскольку эту работу всё равно никто читать не будет».

Чуть не захлебнулся, спасибо.

Так а где же всё-таки код самого телеграм-бота? Или хотели отвлечь внимание от темы статьи ушатами воды и дебильных примеров с семёрками?

VAOP подход в целом одинаков, что для ботов, что для других вещей где используют va-script (Type B)
Я уже писал, что реализовал va-engine на Python для телеграм бота.
Приходите в нашу группу, может, кто Вам и поможет или мне понравится Ваш бот и я его сам помогу Вам реализовать в VAOP

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

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

ну и по секрету - мелкие проекты которые непонятно кто потом будет сопровождать в принципе делать сразу правильно и идеально нет смысла, вам за эту идеальность просто никто не заплатит.

Хороший код должен быть в основном самодокументируемым. Если в нём надо комментировать каждую строку — это очень плохой код. Рано или поздно код и комментарии разойдутся в разные стороны.
Sign up to leave a comment.

Articles