|
6 / 6 / 0
Регистрация: 23.03.2021
Сообщений: 74
|
|
Python без goto. Как жить (выжить)03.03.2024, 15:39. Показов 2076. Ответов 37
Метки нет (Все метки)
Всю свою инженерную жизнь, начиная с Алгола, Фортрана, PL1, Паскаля, Ассемблера, С/C++ и C#, программировал компьютеры и микроконтроллеры с оператором goto, и он мне не мешал. В Python его нет, что создает мне неудобства при ветвлениях в алгоритмах. Подскажите, где почитать и научиться программированию в Python без goto, или найти ему замену.
Слышал как-то, что в коды интерпретатора Python можно вставлять фрагменты кодов из компилятора C/C++. Это поможет? Python мне нравится, особенно в связке с библиотеками от Qt5.
0
|
|
| 03.03.2024, 15:39 | |
|
Ответы с готовыми решениями:
37
Можно ли выжить без C++/CLI? Модем без функции DDNS - как жить |
|
6 / 6 / 0
Регистрация: 23.03.2021
Сообщений: 74
|
|
| 05.03.2024, 15:04 [ТС] | |
|
idealist, я слышал, что основном апологетом отказа от goto является Дейкстра. Мы используем в своих программах его алгоритм нахождения кратчайшего или оптимального маршрута на электронных картах среди множества возможных, здесь все работает отлично. Считаю все же, что goto он мог бы и не уничтожать. Да ладно, сейчас моя задача, подстроиться к новой реальности в Python без goto, а это пока не легко. Буду еще разбираться.
YuS_2, Вы пишите: "Но тут Рыжий Лис, полностью прав, это даже не просто плохая практика, а очень плохая , т.к. получаем на выходе слишком грязные функции и методы...Это просто демонстрация отсутствия жизненной необходимости в инструкции GOTO, даже для гипотетических случаев..." Тогда, какая практика в Python считается хорошей. При том, что я уже согласился решать в Python подобные ветвления данным методом, и не вижу пока других.
0
|
|
|
Любознательный
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
|
|||
| 05.03.2024, 15:57 | |||
|
Добавлено через 43 секунды
0
|
|||
|
6 / 6 / 0
Регистрация: 23.03.2021
Сообщений: 74
|
|
| 05.03.2024, 16:01 [ТС] | |
|
Рыжий Лис Согласен. Спасибо, Ваши подсказки еще будут полезны. Я получил ответы на большую часть своих вопросов.
YuS_2, Вам тоже спасибо, все советы дельные. Книгу скачаю.
0
|
|
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|
| 05.03.2024, 18:51 | |
|
Рыжий Лис, в люа гото есть.
0
|
|
|
|
||
| 05.03.2024, 23:19 | ||
|
Сейчас посмотрел, оказывается, в C# тоже есть гото. Честно скажу, не ожидал.
Ответ простой, с гото код становится бесструктурной лапшой, в которой хрен разберёшься. Вам он не мешает, а вот тот, кто этот код будет читать, потом вас проклянёт и будет абсолютно прав.
2
|
||
|
Супер-модератор
|
||
| 06.03.2024, 11:08 | ||
|
Борьба с GoTo вполне органично смотрелась лет 50-60 назад. А сейчас - это эпигонство и докринёрство.
0
|
||
|
|
|||||
| 06.03.2024, 11:54 | |||||
|
0
|
|||||
|
Просто Лис
|
||
| 06.03.2024, 12:01 | ||
|
Но такой код большая редкость.
0
|
||
|
Супер-модератор
|
||||
| 06.03.2024, 19:20 | ||||
|
2
|
||||
|
|
|||
| 06.03.2024, 19:46 | |||
|
Кстати, Фортран-4, я посмотрел, вышел в 1957-м году. За 11 лет до классической статьи Дейкстры. Тогда goto был в порядке вещей. Эта библиотека, полагаю, тоже писалась где-то в те годы - прежде, чем выработались более безопасные подходы. Что "всё"-то? Вы отрицаете, что с goto очень просто запутать код? Ну отрицайте, пишите, как хотите.
0
|
|||
|
Супер-модератор
|
||
| 06.03.2024, 20:57 | ||
|
Сложность программы зависит от мышления программиста. Можно производить запутанный код и без использования GoTo. С другой стороны: что страшного, если на 5000 строк кода может встретиться пара GoTo? Мир от этого рухнет?
0
|
||
|
3750 / 1944 / 613
Регистрация: 21.11.2021
Сообщений: 3,706
|
|||
| 06.03.2024, 21:37 | |||
|
"ФОРТРАН, инфантильное расстройство, которому уже почти 20 лет, безнадежно не подходит для любого компьютерного приложения, которое ты имеешь в виду сегодня: оно теперь слишком неуклюже, слишком рискованно и слишком дорого в использовании. " Т.е. это говорилось когда фортрану было 20 лет. А сейчас ему почти семьдесят!
1
|
|||
|
Супер-модератор
|
|||||||||||||
| 06.03.2024, 21:47 | |||||||||||||
|
idealist, Дейкстра, конечно, был человек авторитетный. Но Фортран (один из самых старых языков) жив и по сей день (несмотря на то, что Дейкстра его недолюбливал).
Вот два кода:
И в чём состоит "резкое понижение качества" у второго кода? ![]()
1
|
|||||||||||||
|
3750 / 1944 / 613
Регистрация: 21.11.2021
Сообщений: 3,706
|
|||
| 06.03.2024, 22:25 | |||
|
0
|
|||
|
Модератор
|
|||||||
| 06.03.2024, 23:19 | |||||||
|
Кликните здесь для просмотра всего текста
0
|
|||||||
|
Просто Лис
|
|
| 07.03.2024, 05:54 | |
|
1
|
|
|
Супер-модератор
|
||||
| 07.03.2024, 08:37 | ||||
Что лишний раз подтверждает мою правоту: опасна не передача управления как таковая, а тупак-программист (его мышление представляет собой лапшу, которая, в свою очередь порождает код-лапшу). Но запрет GoTo бессилен против тупака - он и без GoTo напишет код, который не требует обфускации. ![]() Добавлено через 2 минуты Добавлено через 2 минуты
0
|
||||
| 07.03.2024, 08:37 | |
|
Повторение web запроса: как без goto? Как реализовать вычисление корня без goto?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|