Форум программистов, компьютерный форум, киберфорум
CoderHuligan
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  

Бритва Оккама

Запись от CoderHuligan размещена 26.06.2019 в 15:09
Показов 21621 Комментарии 268

Бритва оккама - известный методологический принцип в философии, который гласит примерно следующее: "Не следует привлекать новые сущности без крайней на то необходимости.". Оккам писал:
…множественность никогда не следует полагать без необходимости… [но] всё, что может быть объяснено из различия материй по ряду оснований, — это же может быть объяснено одинаково хорошо или даже лучше с помощью одного основания.
Из вики:
"Принцип «бритвы Оккама» состоит в следующем: если некое явление может быть объяснено двумя способами: например, первым — через привлечение сущностей (терминов, факторов, фактов и проч.) А, В и С, либо вторым — через сущности А, В, С и D, — и при этом оба способа дают одинаковый результат, то следует предпочесть первое объяснение. Сущность D в этом примере лишняя, и её привлечение избыточно. "
Применительно к нашей теме программирования данный принцип часто нарушается. Игнорирование же его приводит к переусложнению языков и компиляторов, сложности образовательного процесса и т.п.
Индустрия должна зарабатывать деньги и её не интересуют какие-то принципы и философия.. К сожалению. Индустрия создаёт свои собственные инструменты. Индустрия создаёт своих собственных специалистов, которые её будут обслуживать.. Тут уже философией и не пахнет. Если чувствуется аромат денег, то всё остальное отступает на второй план. Во главу угла ставится конкуренция, конкуренция во всём: в отсеве специалистов, в стилях программирования, соглашениях и пр.
Так как я пропагандирую "народное программирование", то с обычным нам не по пути. Я обьясню.
Не говоря уже о том, что структурная парадигма (СП) крайне усложнила воплощение в код достаточно сложных алгоритмов, она ещё к тому же не следует принципу Оккама.
Если какую-либо сущность можно обьяснить более простыми средствами, то не нужно привлекать дополнительные.
Если полную условную конструкцию можно выразить через :
C
1
2
3
4
5
if (/*логич_выражение*/) goto L1;
/*выражение/я;*/ goto L2;
L1:
//выражение/я;
L2:
то не следует эмулировать её при помощи дополнительных сущностей:
C
1
2
3
4
5
6
7
8
if (/*логич_выражение*/) 
{
   // выражение/я;
}
else 
{
    //выражение/я;
}
первое к тому же более понятно.
Для эмулирования циклов создали аж до трёх разных их разновидностей. Цикл for, while, do while. Пришлось к тому же вводить новые сущности: continue, break. В разных языках по разному. А ведь циклы реализуются на goto гораздо проще, чем даже полная условная конструкция. Причём, заметьте, что завершение тела цикла гораздо понятнее именно применяя goto:
C
1
2
3
4
Loop1:
if (/*логич_выражение*/) goto L2;
/* выражение/я;*/ goto Loop1;
L2:
Встретив goto Loop1 мы сразу понимаем где искать его "голову", особенно если эта голова где-то на другой странице листинга.
А в такой конструкции "правильного" цикла мы встречаем не метку, а безликую скобку:
C
1
2
3
4
while (/*условие*/) 
{
    // тело цикла
}
поэтому здесь не понятно где начинается цикл. Отступы помогают не всегда. Да и эти пресловутые отступы не являясь частью языка в принципе, на практике ими являются, что уже как-то настораживает, ибо без них ну, очень трудно разобраться в нагромождениях структурных конструкций(прямо скажем: чисто искусственных).
Попытка приблизить язык, который понимает компьютер, к языку, на котором разговаривают люди обречена на провал потому, что чем ближе к естественному для человека языку мы приближаемся, тем все менее возможной становится способность выражать на нём алгоритмические построения.. Мы приближаемся к тупику, и только совсем мало думающий человек не видит этого.. Принцип "каждая кухарка может управлять государством" на практике не подтверждается..
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 268
Комментарии
  1. Старый комментарий
    Цитата Сообщение от CoderHuligan
    Ладно, пока спорить некогда, надо хотя бы игру доделать и показать законченный продукт, а там разберемся в его возможностях и как это можно реализовать в вашем стиле.
    Ну на конец то появится на компьютере игра морской бой... Всю жизнь ждал... (сам то я не могу, не владею великим искусством Го-то) 去
    Запись от voral размещена 29.06.2019 в 16:42 voral вне форума
  2. Старый комментарий
    Цитата Сообщение от CoderHuligan
    Профессиональные программисты это жертвы условностей. Они будут писать всё что угодно и как угодно лишь бы деньги платили.
    Ага, особенно забавным это утверждение становится, если вспомнить, что деньги им платят за работающие надежные и сопровождаемые программы, а не за следование неким навязанным свыше стандартам, как вы думаете. И не как у вас, написал и забыл, принялся следующую писать.
    Так что у программистов понимание о том, как нужно писать надежный, легко понимаемый и сопровождаемый код сформировано на богатом опыте, а у вас какие-то теоретические соображения, на практике никак не проверенные. Вы, я так понимаю, еще даже не попытались сопровождать свой код документацией, а уже доказываете, что так нужно делать и это будет лучше, быстрее и удобнее, чем традиционные методики.
    Писать код совместно с кем-то вы тоже еще не пробовали, хотя бы со своими единомышленниками. Но тоже с чего то решили, что ваш метод в командной разработке будет работать лучше традиционных.
    Никогда не слышали, как красивые и стройные теории разбиваются о практику?
    Запись от Катафалк размещена 29.06.2019 в 16:51 Катафалк вне форума
  3. Старый комментарий
    Аватар для CoderHuligan
    Цитата Сообщение от voral
    Ну вот и точка.
    Если мне это нравится, то может понравится кому-нибудь ещё. Кто устал от бесполезных и времязатратных головоломок структурного стиля.

    Цитата Сообщение от voral
    Да отчего ж тогда в 5 раз дольше?
    В 5 раз дольше в вашем любимом стиле.
    В моём стиле в 5 раз быстрее вашего. У моего стиля КПД выше.

    Цитата Сообщение от voral
    Вы заложниг этой ситуации. Вам не приходило в голову, что предмет искусства становится дейстительно чем то хорошим, интересным только до тогда, когда это кто то признает со стороны.
    Придёт время признают. Пока ещё рано. Вы не признаете, потому что жертвы пропаганды.

    Цитата Сообщение от voral
    Совершенно точно. И вам пытаются сказать, что делать как делаете вы не надо. По крайней мере если вы это начинаете преподносить как уроки программирования. Можете погубить в ком то потенциального программиста.
    Губят потенциальных программистов как раз неумные подходы к образованию. Вы просто отпугиваете людей предлагая языки и стили, которые не позволяют полноценно программировать. Естественно, что большинство ничего так и не поняв разбегаются. А я учу программировать с удовольствием, легко и просто.

    Цитата Сообщение от voral
    Да всем плевать лично на вас. И на то как вы код пишите. Но как только вы начинаете себя позиционировать как преподаватель, готовьтесь к критике основанной на реальном опыте, а не как у вас.
    Я вижу реальный опыт "правоверных" - например взять тот же notepad++ - страшно знаете ли работать.. Написан на с++ в ооп стиле. Но я уже нескоько раз терял данные из банального зависания, а багов там .. И всё равно сижу на нем, не знаю почему - сила привычки. Так что я насмотрелся на эти программы по самое немогу..
    Запись от CoderHuligan размещена 29.06.2019 в 16:52 CoderHuligan вне форума
  4. Старый комментарий
    Аватар для CoderHuligan
    Цитата Сообщение от voral
    Ну на конец то появится на компьютере игра морской бой... Всю жизнь ждал... (сам то я не могу, не владею великим искусством Го-то) 去
    Дык это всего лишь учебный проект. Я же сразу писал, что на нем покажу свой стиль. Да - появится, что тут такого? Давайте придирки оставим в стороне.
    Запись от CoderHuligan размещена 29.06.2019 в 16:53 CoderHuligan вне форума
  5. Старый комментарий
    Цитата Сообщение от CoderHuligan
    Ладно, пока спорить некогда, надо хотя бы игру доделать и показать законченный продукт, а там разберемся в его возможностях и как это можно реализовать в вашем стиле.
    Нате, держите https://github.com/topics/battleship. В любом стиле можете найти, даже на хаскеле есть.
    Запись от Катафалк размещена 29.06.2019 в 16:57 Катафалк вне форума
  6. Старый комментарий
    Аватар для CoderHuligan
    Цитата Сообщение от Катафалк
    Нате, держите https://github.com/topics/battleship. В любом стиле можете найти, даже на хаскеле есть.
    Спасибо, конечно, но мне-то это зачем?
    Запись от CoderHuligan размещена 29.06.2019 в 17:49 CoderHuligan вне форума
  7. Старый комментарий
    Аватар для Avazart
    Я вижу реальный опыт "правоверных" - например взять тот же notepad++ - страшно знаете ли работать.. Написан на с++ в ооп стиле. Но я уже нескоько раз терял данные из банального зависания, а багов там .. И всё равно сижу на нем, не знаю почему - сила привычки. Так что я насмотрелся на эти программы по самое немогу..
    Чего? notepad++ ?
    Ни разу не замечал. Он же сохраняет как сам.
    Да и вешается чаще всего из-за кривых плагинов.
    Запись от Avazart размещена 29.06.2019 в 23:05 Avazart вне форума
  8. Старый комментарий
    Цитата Сообщение от CoderHuligan
    В 5 раз дольше в вашем любимом стиле.В моём стиле в 5 раз быстрее вашего. У моего стиля КПД выше.
    Это только для вас.

    Цитата Сообщение от CoderHuligan
    Придёт время признают. Пока ещё рано. Вы не признаете, потому что жертвы пропаганды.
    Вся ясно, человек программирующий просто на уровне хобби. Круче миллионов программистов по всему миру за десятки лет.
    Нимб не жмет?

    Цитата Сообщение от CoderHuligan
    Губят потенциальных программистов как раз неумные подходы к образованию. Вы просто отпугиваете людей предлагая языки и стили, которые не позволяют полноценно программировать.
    Любая теория должна проходить тестирование практикой. Весь прогресс программирования движется по пути поиска наиболее оптимального пути этого делать. И как бы вы не пыжились - практика (реальная практика, а не баловство) показывает совершенно противоположные выводы.

    Цитата Сообщение от CoderHuligan
    Я вижу реальный опыт "правоверных" - например взять тот же notepad++ - страшно знаете ли работать.. Написан на с++ в ооп стиле. Но я уже нескоько раз терял данные из банального зависания, а багов там .. И всё равно сижу на нем, не знаю почему - сила привычки. Так что я насмотрелся на эти программы по самое немогу..
    Напишите аналог notepad++ в своем стиле потом поговорим. Говорить я могу "писать программы без багов" и писать таковые это огромная разница. Начиная с того, что вы не можете себе позволить такого уровня тестирования как ваш нотепад++. Точнее ни одна ваша программа не работала в столки вариантах условий.

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

    Может ваш нотепад++ завис из-за того что у вас дырявая икспи, а рядом ваша програмулина сумела залезть куда не надо и погрызла память. отведеную для нотепада... Т.е. ваш баг, плюс баг икс пи... И вот вы уже вещаете какой фиговый у вас редактор...

    Не говоря уж о том, что я на 100% уверен вы ни когда не писали программ сложности аналогичной нотепад++...

    Вот сначала напишите, годик ее по развивайте... А потом возвращайтесь к разговорю о безбажности вашего стиля.... Если бы ваш метод давал гарантию напсиания кода без багов, и давал бы огромный профит быстродействия - вы бы давно уже были миллиардером. Потому что бизнесу нафиг не интересны страдания программистов, им важно снижение затрат. И уверяю вас, был бы способ их снизить, они бы им воспользовались...
    Запись от voral размещена 30.06.2019 в 00:37 voral вне форума
  9. Старый комментарий
    Цитата Сообщение от CoderHuligan
    Дык это всего лишь учебный проект. Я же сразу писал, что на нем покажу свой стиль. Да - появится, что тут такого? Давайте придирки оставим в стороне.
    Ок. Вы обвинили Нотепад ++ в гдючности обоснованной стилем. Напишите аналог. И докажите состоятельность своей идеи.
    Это не придирки, вы себя возомнили мега умным, и обсираете всех программистов, выдумав какието силы которые занимаются внушением (т.е. прибегаете к методам полит. дискуссий, только не думаете, что здесь выгоды от этого нет ни кому, программисты люди ленивые (в хорошем смысле слова) - был бы способ упростить себе жизнь, они бы и воспользовались)
    Запись от voral размещена 30.06.2019 в 00:42 voral вне форума
  10. Старый комментарий
    Одно вы в толк не возьмете: поделки школьного уровня не годятся для принятия решения об превосходстве того или иного метода.
    Они могут помочь когда идет нормальная дискуссия. с целью реально понять.

    У вас же позиция "я прав - остальные дураки".... вы не можете воспринимать чужой опыт, не имеете своего, но уже решили что, поняли как надо делать всем... Смешнос... Т.е. с вами идет не дискуссия, а так "потрындеть".. Вы остальным доказать не сможете, ввиду явного отсутствия у вас опыта и квалификации, ну а вам не докажешь... да собственно потому же + ваш харктер и завышенное самомнение.

    В прочем, выше головы вам не прыгнуть, напишите хоть как то работающий морской бой....
    Запись от voral размещена 30.06.2019 в 00:43 voral вне форума
  11. Старый комментарий
    Аватар для Usaga
    Цитата Сообщение от CoderHuligan
    В моём стиле в 5 раз быстрее вашего. У моего стиля КПД выше.
    За счёт дерьмового качества. И свой морской бой вы ещё не дописали. Поэтому вопрос про "быстрее" ещё открытый.
    Запись от Usaga размещена 30.06.2019 в 06:55 Usaga на форуме
  12. Старый комментарий
    Цитата Сообщение от CoderHuligan
    Спасибо, конечно, но мне-то это зачем?
    Не вы разве утверждали, что написать морской бой, да еще и без багов, можно только в вашем стиле, и никак иначе? Вот я и привел вам целую гору контрпримеров. Берите, изучайте, ищите баги.
    Запись от Катафалк размещена 30.06.2019 в 08:12 Катафалк вне форума
  13. Старый комментарий
    Аватар для CoderHuligan
    Цитата Сообщение от Катафалк
    Не вы разве утверждали, что написать морской бой, да еще и без багов, можно только в вашем стиле, и никак иначе? Вот я и привел вам целую гору контрпримеров. Берите, изучайте, ищите баги.
    Во-первых я этого не утверждал. Приведите мою цитату, где я это утверждал.
    Во-вторых, хорошо, будем сравнивать на уровне функционала, обьёма, простоты понимания и поддержки.

    Цитата Сообщение от Avazart
    Чего? notepad++ ?
    По работали бы с моё в нем.. Я на нём сайт писал не один год. Так что я знаю "все его родинки"..))

    Цитата Сообщение от voral
    Вся ясно, человек программирующий просто на уровне хобби. Круче миллионов программистов по всему миру за десятки лет.
    Нимб не жмет?
    У меня его нет, в зеркало смотрел.
    И я не скрываю, что хобби.
    Да, я прочёл много "вумных" книжек, и сделал выводы, к которым, средний программист может НИКОГДА и не придти. Повезло, что уж там..

    Цитата Сообщение от voral
    Напишите аналог notepad++ в своем стиле потом поговорим. Говорить я могу "писать программы без багов" и писать таковые это огромная разница. Начиная с того, что вы не можете себе позволить такого уровня тестирования как ваш нотепад++. Точнее ни одна ваша программа не работала в столки вариантах условий.
    Я знаю лишь одну достойную ему альтернативу - akelpad, исходники которого кстати у меня имеются(как и notepad++). Видети ли, я интересуюсь тем, как пишутся настоящие крупные проекты. У меня есть множество других исходников. Считаю, что нужно больше читать чужого кода, прежде чем писать свой. Естественно, что я не согласен как они пишутся, хотя с точки зрения модульности всё делается грамотно у одних и безграмотно у других.
    То есть, смотрите: сейчас по сути только две программы достаточно достойны, среди простых редакторов. ДВЕ, Карл! Во всём и-нете! Если вы не понимаете всей сложности создания нечто подобного, более того: повышенного функционала, иначе бессмысленно, то ну не знаю. Придётся писать на чистых win api, так как иначе не интересно и они мне знакомы и роднее. Под линукс я писать не буду, так как сижу на винде. Можно по быстрому сделать ядро, а потом навешивать функционал, постепенно. А можно сделать свои собственные api, чтобы несколько абстрагироваться от оси.
    Есть у меня задумка написать нечто подобное, но уже на своем языке. Хотя можно и на сишечке. Посмотрим.
    Цитата Сообщение от Usaga
    За счёт дерьмового качества. И свой морской бой вы ещё не дописали. Поэтому вопрос про "быстрее" ещё открытый.
    Вы не поверите: после того как я выложил код расстановки кораблей, я практически не притрагивался к этому проекту. Вчера с часик поработал. А тот код был написан за один день, когда я пересилив свою лень взял и просидел над ним часов 5-6. Вы правы: надо довести до ума раз начал.
    Видите сколько понаписал, а ведь мог столько же кода сообразить. Поэтому пока умолкаю.
    Запись от CoderHuligan размещена 30.06.2019 в 13:39 CoderHuligan вне форума
  14. Старый комментарий
    Цитата Сообщение от CoderHuligan
    Да, я прочёл много "вумных" книжек, и сделал выводы, к которым, средний программист может НИКОГДА и не придти. Повезло, что уж там..
    чтение сколь угодно умных книжек без практики. это лучше чем ни чего, но все равно "стоит" ужасно мало. Без практики у вас нет возможности принять информацию правильно и адекватно. Как, в прочем, и понять на сколько книжка умна. У меня когда то был преподаватель в ВУЗе. Наизусть помнил все ф-ии turbo Pascal с параметрами. Но вот когда я в лабораторной в программе сделал меню не на уровне "Для расчета методом А нажмите 0, для Б - 1), а с формированием псевдографического меню (дело было во времена DOS) с выбором стрелочками и ентером, он пришел в дикий восторг, и попросил разрешение показывать программу другим студентам в качестве образца...


    Цитата Сообщение от CoderHuligan
    Видети ли, я интересуюсь тем, как пишутся настоящие крупные проекты. У меня есть множество других исходников. Считаю, что нужно больше читать чужого кода, прежде чем писать свой.
    Вы считаете себя единственным и не повторимым? Ну я, например, подхватил брошенный пакет в репе Fedora и вел его некоторое время и что? Участвовал в сильно комеерческих проектах включая разработку САПР грозозащиты. А если провести опрос здесь отписавшихся, полагаю найдутся и гораздо с более серьезными и сложными проектами. И все они на столько глупы?

    Поймите уже. В любом чужом коде можно найти "не логичность" какжущуюся именно вам именно с вашей позиции и опыта.. Более того, многие меня поддержат, плох тот программист кто смотрит в свой код годовой давности и считает его идеальным.
    Но критерий тут прост: все они создали рабочие, действующие программы, а вы только думаете что можете сделать лучше...

    Цитата Сообщение от CoderHuligan
    То есть, смотрите: сейчас по сути только две программы достаточно достойны, среди простых редакторов.
    Интересно какие. Озвучте- не томите.

    Цитата Сообщение от CoderHuligan
    Если вы не понимаете всей сложности создания нечто подобного, более того: повышенного функционала, иначе бессмысленно, то ну не знаю. Придётся писать на чистых win api, так как иначе не интересно и они мне знакомы и роднее.
    Да, без условно, я работая профессионально, и начав свою "карьеру" с разработки САПР понимаю в сложности на много меньше чем дилетант просто почитавший много "умных" книжек. И не имея в зачете ни одного сложного проекта.
    Без проблем, и на чистом WinApi у меня были проекты, что за проблема тут может быть?

    Цитата Сообщение от CoderHuligan
    Под линукс я писать не буду, так как сижу на винде.
    Ну от вас ни кто пока этого и не требует. Сделайте аналог Notepad++ своим методом. Все вам будут только благодарны (ну если верить вашим заверениям).


    Цитата Сообщение от CoderHuligan
    Вы не поверите: после того как я выложил код расстановки кораблей, я практически не притрагивался к этому проекту. Вчера с часик поработал. А тот код был написан за один день, когда я пересилив свою лень взял и просидел над ним часов 5-6.
    Т.е. по вашем, я код, который показал вам писал 30 часов (а еще если учесть что я сначала на C++ написал, потом уточнил ТЗ и сделал на си, то вообще 60 что ли)? Меня б жаба задавила столько времени в пустую потратить.
    Запись от voral размещена 30.06.2019 в 14:00 voral вне форума
  15. Старый комментарий
    Аватар для liv
    Цитата Сообщение от CoderHuligan
    У моего стиля КПД выше.
    Это Ваше субъективное мнение.
    Для меня в нормальном стиле "КПД" намного выше... Да думаю, что для большинства программистов тоже...
    Я даже в своих ассемблерных программах:
    1) никогда не применяю нештатные заходы во внутрь цикла...
    2) все конструкции, типа цикла, являются отдельным блоком.
    3) разные switch-и стараюсь реализовывать при помощи табличных переходов, дабы уменьшить наличие лишних переходов ...
    4) все имена и метки имеют смысл. Отсюда, комментарии достаточно писать только для неочевидных моментов..

    Ибо жизнь научила: надо писать так, чтобы легко и сходу понять код. Держать в голове золотое правило: код пишется для человека,
    а не для компилятора... Итог: я в своем коде легко ориентируюсь и по прошествии десятка лет...

    Если говорить о С/С++, то весь мой опыт говорит о том, что без goto вполне можно легко обойтись в любых алгоритмах, любой сложности.
    Если Вы не умеете использовать другие возможности, это только говорит о Вашей неспособности научиться пользоваться этими возможностями в полной мере.

    Учить других писать "для себя" - это оказывать им медвежью услугу, они не смогут сходу влиться ни в какую команду.
    В лучшем случае, им придется ломать привитые Вами привычки, переучиваться...

    Отсюда вывод: Ваш учительство вредно для начинающих программистов.

    Кроме того, (вспомните лектора) средний IQ современных молодых людей идущих в программирование, - 60
    Им надо сразу рассказывать, как надо писать программы... Чтобы хоть немного уменьшить вероятность ошибок.
    Не забывайте, если есть возможность сделать ошибку, она будет сделана.
    Стиль goto предоставляет таких возможностей намного больше.
    Запись от liv размещена 30.06.2019 в 14:28 liv вне форума
  16. Старый комментарий
    Аватар для CoderHuligan
    Цитата Сообщение от voral
    Интересно какие. Озвучте- не томите.
    Notepad++ и akelpad. Несмотря на бажность notepad++ обладает хорошим функционалом чисто для программистских целей, для этого он в общем и создавался. Однако он тормозит на открытии больших файлов, в отличие от akelpad. Поэтому с большими файлами лучше работать с последним.

    Цитата Сообщение от voral
    Ну от вас ни кто пока этого и не требует. Сделайте аналог Notepad++ своим методом. Все вам будут только благодарны (ну если верить вашим заверениям).
    .
    Хорошо, попробую. Как вы понимаете автор Notepad++ создавал свой проект используя готовую библиотеку Scintilla. А мне придётся писать всё с нуля. Проект на годы. Хотелось бы иметь программируемый пользователями редактор. Чтобы пользователи сами могли писать к нему плагины, а не ждать пока автор не соизволит учесть все нужды пользователей.


    Цитата Сообщение от liv
    Это Ваше субъективное мнение.
    Для меня в нормальном стиле "КПД" намного выше... Да думаю, что для большинства программистов тоже...
    Я даже в своих ассемблерных программах:
    1) никогда не применяю нештатные заходы во внутрь цикла...
    2) все конструкции, типа цикла, являются отдельным блоком.
    3) разные switch-и стараюсь реализовывать при помощи табличных переходов, дабы уменьшить наличие лишних переходов ...
    4) все имена и метки имеют смысл. Отсюда, комментарии достаточно писать только для неочевидных моментов..
    Это потому, что вы не пишете другую документацию.

    Цитата Сообщение от liv
    Если говорить о С/С++, то весь мой опыт говорит о том, что без goto вполне можно легко обойтись в любых алгоритмах, любой сложности.
    Только они будут неэффективны(будут производить кучу ненужных действий).

    Цитата Сообщение от liv
    Кроме того, (вспомните лектора) средний IQ современных молодых людей идущих в программирование, - 60
    Им надо сразу рассказывать, как надо писать программы... Чтобы хоть немного уменьшить вероятность ошибок.
    Не забывайте, если есть возможность сделать ошибку, она будет сделана.
    Стиль goto предоставляет таких возможностей намного больше.
    Их просто надо научить сперва делать проектную документацию, а потом уже писать с неё код.
    Стиль goto предоставляет безграничные возможности в создании алгоритмов. Просто надо правильно его документировать и всё будет понятно.
    Запись от CoderHuligan размещена 30.06.2019 в 16:23 CoderHuligan вне форума
  17. Старый комментарий
    Цитата Сообщение от CoderHuligan
    Notepad++ и akelpad. Несмотря на бажность notepad++ обладает хорошим функционалом чисто для программистских целей, для этого он в общем и создавался. Однако он тормозит на открытии больших файлов, в отличие от akelpad. Поэтому с большими файлами лучше работать с последним.
    Вам еще предстоит много "открытий чудных"

    Цитата Сообщение от CoderHuligan
    Хорошо, попробую. Как вы понимаете автор Notepad++ создавал свой проект используя готовую библиотеку Scintilla. А мне придётся писать всё с нуля. Проект на годы. Хотелось бы иметь программируемый пользователями редактор. Чтобы пользователи сами могли писать к нему плагины, а не ждать пока автор не соизволит учесть все нужды пользователей.
    Мы подождем. Только вот я на 90% уверен, что знаю исход этого проекта. На вашем бы месте я попробовал просто качественный редактор без плагинов для начала... Тем более сами же говорили, что код у вас получается неимоверно гибкий, и его расширить не составит для вас труда.

    В любой случай это единственный способ вам доказать состоятельность своего метода и слов. А до тех пор это просто балабольство дилетанта.

    Цитата Сообщение от CoderHuligan
    Это потому, что вы не пишете другую документацию.
    Правильно. Нормальным программистам нет время на составление не нужной документации, т.к. это прекрасно "документирует" сам по себе код. На что не требуется дополнительного времени в отличии от дополнительной документации.

    Цитата Сообщение от CoderHuligan
    Только они будут неэффективны(будут производить кучу ненужных действий).
    Это надо сначала доказать, опыта у вас это говорить нет.

    Цитата Сообщение от CoderHuligan
    Их просто надо научить сперва делать проектную документацию, а потом уже писать с неё код.
    Да ладно ?!! Ужасы какие.... Т.е. вы уже готовы программу для профильных ВУЗов состваить, а то там все те же идиоты, годами уходишие от метода гото...

    Цитата Сообщение от CoderHuligan
    Стиль goto предоставляет безграничные возможности в создании алгоритмов. Просто надо правильно его документировать и всё будет понятно.
    Пока это пустые слова. И ваши предположения ни на чем не основанные.

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

    Вы бы сами попробовали свои слова "со стороны" прочитать. С таким же успехом можете и хирургию преподавать...
    Запись от voral размещена 30.06.2019 в 17:02 voral вне форума
  18. Старый комментарий
    Аватар для CoderHuligan
    Цитата Сообщение от voral
    Вам еще предстоит много "открытий чудных"
    Это надо сначала доказать, опыта у вас это говорить нет.
    Совсем недавно доказывал и доказал.
    Запись от CoderHuligan размещена 30.06.2019 в 17:50 CoderHuligan вне форума
  19. Старый комментарий
    Аватар для liv
    Цитата Сообщение от CoderHuligan
    Это потому, что вы не пишете другую документацию.
    Э-э-э, с чего Вы это взяли?
    Речь шла только о самом коде.
    Только они будут неэффективны(будут производить кучу ненужных действий).
    Опять же, откуда Вы это взяли?
    Из собственных представлений? Из того, как пишете Вы?
    Их просто надо научить сперва делать проектную документацию, а потом уже писать с неё код.
    Стиль goto предоставляет безграничные возможности в создании алгоритмов. Просто надо правильно его документировать и всё будет понятно.
    Документирование никто не отменяет. Это во-первых. Во-вторых, для кодирования алгоритмов не менее безграничные возможности есть и без goto.
    В-третьих, Документирование должно быть таким, чтобы не утонуть в частностях. Т.е. более, чем достаточно иметь описание "черных ящиков", т.е. автоматов.
    Т.е. что на входе, что на выходе, т.е. алгоритма работы системы в целом. Вся дребедень внутри "ящика" исключительно, как самодокументированный код.
    В противном случае, наличие бесконечного описания, например, Ваших меток только усложнит понимание кода.

    Это я пишу, как человек, который принимал участие, например, не в одном проекте по созданию ПО для работы на атомной станции. Там много подсистем, я не участвовал в управлении реактором, занимался подсистемами видеонаблюдения. Так что без программной документации ничего не делалось. И было взаимопонимание с коллегами. И все заработало сразу, даже практически без сбоев... Несколько мелких ошибок были быстро выявлены и исправлены. Были также быстро и оперативно внесены необходимые коррекции. После чего, все работало вообще без ошибок. В сопровождении продукта не было никаких проблем. Все было прозрачно и понятно...

    Кстати, раз уж Вы ратуете за предварительную проектную документацию, где таковая на морской бой?
    Вы же учитель... Где же следование собственным принципам? Как же Вы собираетесь учить других?
    Так понимаю, ратуете за одно, делаете другое. Другими словами, Вы - лицемер.
    Запись от liv размещена 30.06.2019 в 17:53 liv вне форума
  20. Старый комментарий
    Цитата Сообщение от CoderHuligan
    Совсем недавно доказывал и доказал.
    Доказывал и доказал - это разные вещи.
    Запись от voral размещена 30.06.2019 в 17:54 voral вне форума
 
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru