Чем вбивать гвозди

Большим заблуждением у программистов является использование неподходящего инструмента. Например, двое студентов задумали написать САПР, причём не простой, а трёхмерный. Я не сомневаюсь, что они, конечно, будут достойными конкурентами AutoDesk, SolidWorks Corp. и NX. Возможно, обойдут даже создателя лучшего ядра для трёхмерного моделирования Parasolid, компанию EDS. Вопрос, правда, через какое время это будет реализовано…

Обладают они богатейшими познаниями, скажем, Visual Basic. Ну и как вы думаете, на чём они решают начать разработку САПР? Несмотря на все доводы рассудка, они решают начать разработку системы трёхмерного моделирования в самой глючной, самой ненадежной и медленной, но зато наиболее им знакомой среде, аргументируя решение наличием богатейшего опыта разработки баз данных.

Единственная аналогия, которая на ум приходит — так это забивание шурупов молотком. Почему молотком — потому что человек умеет им пользоваться, а отвёртка — её ещё нужно изучить, привыкание к ней займёт большой промежуток времени, опять же, опыт нужен владения отвёрткой — куда без него? А шурупы молотком забиваются. Пусть с сорванной резьбой, иногда раскалывая доски, без возможности их потом выкрутить отвёрткой, но забиваются.

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

В итоге, один из студентов плюнул на разработку и работает менеджером в крупной фирме, второй пошёл в аспирантуру и до сих пор одержим мечтой о всемирной славе и богатстве от продаж САПРа. Причём, не перешёл он даже на Visual Basic.NET, потому что платформы не знает, нужно переучиваться и т.д. Его право, остаётся только позавидовать такой упёртости.

Лучший показатель — это рынок. На рынке сейчас все 3D приложения написаны на С++. И никто, ни разработчики ядер, ни игр не спешат переходить ни на java ни на c#, ни на basic. Потому что у них достаточно квалифицированных сотрудников, которые не нуждаются в костылях неизвестно как написанных сторонних компонентов.

Кстати, похожая ситуация у других студентов, более серьёзно подошедших к проблеме  закончилась покупкой ядра Parasolid и созданием лучшей российской CAD/CAM/CAE/CAPP/PDM системы – T-Flex, ничем не уступающей великой и могучей SolidWorks, а в ряде параметров и превосходящей.