Поначалу я скептически отнесся к наезду на именно C++. Типа "хреновому танцору известно что мешает", и т.д. В конце концов все инструменты друг другу эквивалентны, настоящему убивцу все равно какой шашкой махать, и машем мы сами оной шашкой вполне успешно. Софт у нас (скромно) один из самых сложных в мире и написан в основном на С++.
Потом посмотрел на контекст. Заставить работать вместе прилады, написанные на С++ в разных лабораториях с разных концов света. Задача, от которой "настоящему убивцу" захотелось немедленно и чисто рефлекторно спрятаться. И желательно не под стол, а сразу в другой город.
В размышлениях почему - под стол, я вспомнил, как именно мы используем С++. К стандарту языка прилагается внутрифирменное "Руководство по боевому применению" оного. Где-то стр. 60, содержащих два типа пунктов: "ЗАПРЕЩЕНО" (то бишь, фича в языке есть... э..э "приматически нагромождена", но использовать ее - нельзя, "откритикована по смыслу"), и "РЕКОМЕНДУЕТСЯ" (то бишь, ЗАПРЕЩЕНО все, кроме описанного в пункте). Например: ЗАПРЕЩЕНО использовать шаблоны (templates); ЗАПРЕЩЕНО использовать прерывания (exceptions); РЕКОМЕНДУЕТСЯ помещать все функции класса в одноименный с классом файл.
В результате язык скорее оказывается похож на смесь Java и Objective-C (на последний - по методам работы с памятью). Причем, это не просто документ-декларация, есть и процедура (недешевая, если вдуматься) по обеспечению его выполнения. Код не помещается в проект, пока не будет просмотрен соседом, в том числе и на предмет соответствия фирменному стандарту, то се. Довести до такого же стандарта продукцию разных организаций, да еще и привыкших к "свободе" - видимо, нереально совершенно. Но и в наших условиях вживлять к себе продукцию соседнего дружеского поздраделения (чей код ты не просматривал и железной дланью не "критиковал по смыслу") - штука болезненная, а уж со стороны - катастрофическая. Почему и хочется спрятаться.
Видимо, Фортран (был?) удачней для обмена именно в силу ограниченности интерфейса и вообще - концепций.
Потом посмотрел на контекст. Заставить работать вместе прилады, написанные на С++ в разных лабораториях с разных концов света. Задача, от которой "настоящему убивцу" захотелось немедленно и чисто рефлекторно спрятаться. И желательно не под стол, а сразу в другой город.
В размышлениях почему - под стол, я вспомнил, как именно мы используем С++. К стандарту языка прилагается внутрифирменное "Руководство по боевому применению" оного. Где-то стр. 60, содержащих два типа пунктов: "ЗАПРЕЩЕНО" (то бишь, фича в языке есть... э..э "приматически нагромождена", но использовать ее - нельзя, "откритикована по смыслу"), и "РЕКОМЕНДУЕТСЯ" (то бишь, ЗАПРЕЩЕНО все, кроме описанного в пункте). Например:
ЗАПРЕЩЕНО использовать шаблоны (templates);
ЗАПРЕЩЕНО использовать прерывания (exceptions);
РЕКОМЕНДУЕТСЯ помещать все функции класса в одноименный с классом файл.
В результате язык скорее оказывается похож на смесь Java и Objective-C (на последний - по методам работы с памятью). Причем, это не просто документ-декларация, есть и процедура (недешевая, если вдуматься) по обеспечению его выполнения. Код не помещается в проект, пока не будет просмотрен соседом, в том числе и на предмет соответствия фирменному стандарту, то се. Довести до такого же стандарта продукцию разных организаций, да еще и привыкших к "свободе" - видимо, нереально совершенно. Но и в наших условиях вживлять к себе продукцию соседнего дружеского поздраделения (чей код ты не просматривал и железной дланью не "критиковал по смыслу") - штука болезненная, а уж со стороны - катастрофическая. Почему и хочется спрятаться.
Видимо, Фортран (был?) удачней для обмена именно в силу ограниченности интерфейса и вообще - концепций.
Reply
Очень конкретно.
Про стыковку софта на С++ из разных источников у меня ещё специальлно не подчёркивалось.
Вставляю весь комментарий в сегодняшнюю раздачку для своего с/к.
Reply
https://vteninn.livejournal.com/554505.html
Reply
Leave a comment