LINUX.ORG.RU
Ответ на: комментарий от anonymous

>когда ты пишешь программу на своем любимом языке ты прыгаешь с бубном призывая добрых богов, развешиваешь чеснок, что бы отпугнуть злых, а также сверяешься с вазой луны и картой звездного неба???

Глупости. Описание само сабой всплывает в голове, иногда рисую на бумаге квадратики и стрелочки, чтобы показать как связаны различные части программы. Отдельные вычислительные алгоритмы используют формальное математическое описание, но оно уже есть и его не нужно создавать заново. В масштабе всей программы формализация мне не нужна, потому что я знаю что программа заработает так, как от нее требуется. Доказательство тому - работа программы.

anonymous
()
Ответ на: комментарий от anonymous

Ой ой... типичное порождение индусокода... доказательство правильности программы - она работает! ага, знаем мы... видели... одни вот так понапишут... а других потом трабл реквестами заваливают, исправляйте мол. А оно ведь всё работало! только вот не всё учли горе программисты, оно ж работало...

Cy6erBr4in ★★★
()
Ответ на: комментарий от anonymous

> Описание само сабой всплывает в голове, иногда рисую на бумаге квадратики и стрелочки, чтобы показать как связаны различные части программы.

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

> В масштабе всей программы формализация мне не нужна, потому что я знаю что программа заработает так, как от нее требуется. Доказательство тому - работа программы.

Все равно формализация есть, просто ты ее делаешь подсознательно. В результате принятия необдуманных решений велика вероятность, что получится программа в кишках которой все ноги переломаешь. Прелесть Haskell в том, что он заставляет думать ВСЕГДА, это большой ПЛЮС!

anonymous
()
Ответ на: комментарий от Cy6erBr4in

для вас что не на Haskell - все индусокод? Чтобы грамотно написать программу, нужно для начала хорошо представлять, что она должна делать, разбить задачу на подсистемы, выявить взаимосвязи. Затем наложить получившееся описание на структуры данных языка программирования и закодировать алгоритмы. Есть простые объективные критерии качества программы, в частности это корректность и эффективность алгоритмов, абстрактность программных сущностей, модульность, хороший стиль кодирования. Разумеется, программист должен иметь базовые знания в областях, связанных с программированием и такие безграмотные перлы вроде проверки boolean на что-то отличное от true и false исключаются.

Корректность 99,9% программ формально не доказывается. Есть проект и есть его реализация, ошибки исправляются в процессе эксплуатации. Все остальное - теория, имеющая отдаленное отношение к практики.

anonymous
()
Ответ на: комментарий от anonymous

Хорошая изначальная продуманность и формализация позволяет избежать большенство проблем и ошибок... и я вообще не про haskell говорил, а впринципе...

Cy6erBr4in ★★★
()
Ответ на: комментарий от Cy6erBr4in

> В масштабе всей программы формализация мне не нужна

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

Эти высказывания противоречат друг другу...

anonymous
()
Ответ на: комментарий от Cy6erBr4in

Сорри ответил не на то сообщение :) :)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.