KPG писал(а):
А, если промоделировать код и понять "логику" функционирования?
Это изначально очень неэффективный путь.
Вообще, разработка программного обеспечения имеет свои методики. Сейчас уже давно не 640 кб памяти (из которых кода не больше 64 кб), чтобы можно было полагаться на "естественную интуицию программиста". Дело даже не в объеме кода как таковом, а в том, что программирование из искусства вполне логично и естественно превратилось в профессию (не буду писать "ремесло"). У профессии есть свои навыки, приемы, методы и правила. В частности, есть литература по организации разработки ПО, международные и российские стандарты, и вообще понятие "проектирование программного обеспечения". Что из этого можно упомянуть просто навскидку:
1. Кодирование занимает около 6% ресурсов проекта. Включая отладку, запуски, и вообще работу программиста как таковую (т.е. сидение за компьютером с открытой средой разработки).
2. Все начинается с четкого формулирования цели проекта, решаемых задач, приоритетов и определения возможных компромиссов. И во многом успешное течение проекта этим и определяется.
В чем сейчас большая проблема большинства начинаемых форт-проектов, и причина их пробуксовки с последующим уходом в никуда. Это именно игнорирование проектной части с
объективным анализом текущих потребностей, выявлением целевой аудитории и созданием предварительного образа того продукта, который надо разработать. Вместо этого под существующий предварительный образ подгоняются цели, задачи и будущая реакция пользователей, которые потом принудительно загоняются в будущий продукт. Рекламой, призывами присоединиться к сообществу и не быть индивидуалистами, статьями, книгами. Книги, кстати, уже планировались - можно форум полистать и посмотреть на эти прожекты. Разумеется, в книгах попросту торчали уши некоторых авторов, которые обязательно хотели туда вписать то, что им нравилось. Видимо, предполагая, что у большинства читателей есть глубокое доверие к любому печатному слову, и если уж не хотят воспринимать информацию из интернета, то из книги-то уж воспримут.
Что получается по факту. Во-первых, читатели книги, а также форумов, статей и прочего - это такие же люди, как и инициаторы проектов. Очевидная глупость считать, что раз никто форт-проекты не создает, то просто потому, что не умеют и ждут руководства. Возможно, просто времени не хватает, или сообщество не нужно, потому что и индивидуальных навыков более чем достаточно. Поэтому тут будет прекрасно работать подход "человек, заявляющий, что Шекспир бездарь, характеризует этим отнюдь не Шекспира". Проще говоря, впихивать что-то малограмотным людям еще можно попробовать, но от них не будет полезного результата. А грамотным нереалистично впихнуть что-то, что изначально не согласуется с независимо созданной ими оценкой - они в ответ на впихивание неработающих идей сделают свои выводы о том, "кто тут бездарь". Так что стратегии тут две. Либо краткосрочно подгрести под харизматичного лидера внушаемых людей (плохо работает при необходимости получения высокопрофессиональных результатов), либо настраиваться на долгосрочное
взаимодействие с профессиональным сообществом.
Во-вторых, не надо и впадать в другую крайность - считать, что где-то существуют "истинные фортеры", которые пишут настолько хорошие продукты, что тут лишь бы понять и освоить. Почему именно Форт? Почему не считать так про крестики-нолики или программу "угадай число"?
Наконец, обращаемся к практике. Во избежание путаницы напоминаю, что практика - это не когда "я делал и у меня получалось", а когда "многие делали независимо, и у многих хорошо получалось, когда они делали именно так". А для понимания практики следует посмотреть на течение реально существовавших проектов и итоги. А итоги неутешительны - при трудоемкости хорошей реализации в 10 тысяч строк ассемблера (или 3-4 тысячи строк Си) внедренных трансляторов крайне мало. Вот от этого и надо отталкиваться как от реальности, данной в ощущениях. И отсюда и возникает вопрос - "шашечки или ехать?". Можно понадеяться, что очередной призыв даст результаты, если только правильно призвать. А можно все же посмотреть, как разрабатывается ПО вообще и попытаться не отгораживаться аргументами вида "у Форта все равно свой путь", "это все для крупных компаний", "это чисто коммерческие решения, а Форт выше этого".