Введение
За первые два десятилетия нового века почти все крупные проектно-изыскательские институты в России, оставшиеся со времен СССР, были объявлены банкротами или вообще перестали существовать (подобные институты остались только в топливно-энергетических отраслях, а также в составе ОАО «РЖД» и ГК «Автодор»). Вести крупные проекты, заниматься наукой и совершенствованием нормативных документов в проектно-изыскательской сфере стало практически некому. Естественно, тут возникают два извечных российских вопроса: «Кто виноват?» и «Что делать?». Если удастся четко ответить на первый из них, то легче будет ответить и на второй. «Потерпевшие» винят в развале своих институтов государство. Некоторые из «выживших» считают, что просто настало такое время, когда в конкуренции побеждает мудрейший и сильнейший. Есть и другие мнения.
Но прежде чем анализировать причины этой ситуации, необходимо совершить экскурс в историю.
О развитии отечественной проектно-изыскательской отрасли еще в 2010 году очень хорошо рассказал в своих статьях Лев Осика, бывший тогда начальником отдела управления по сопровождению инвестиционных проектов ООО «Газпром энергохолдинг». Рассмотрим кратко содержание его работ с привлечением некоторых дополнительных источников.
Введение
В переводе с греческого языка слово программа в буквальном смысле означает предварительную запись, то есть программа является предварительным описанием определённых предстоящих событий или компьютерных операций. Программным обеспечением является определённый программный набор, установленный на электронной вычислительной машине, который позволяет применять её в интересах каждого её пользователя.
В сегодняшней действительности информационные технологии превратились в незаменимых помощников в каждодневных человеческих заботах. Когда пользователю требуется отыскать необходимую ему информацию, он использует компьютерное оборудование (смартфон или персональный компьютер) и при помощи сети интернет и специальных поисковых систем находит её. Если требуется осуществить систематизацию или трансляцию имеющихся информационных данных, пользователь также может использовать разные информационные технологии.
Эра одноядерных
Быстрый взгляд на пред-многоядерную эру позволит нам оценить проделанный путь. Одноядерный процессор, как следует из названия, это CPU с одним физическим ядром. Самым ранним коммерчески доступным процессором был Intel 4004, выпуск которого в 1971 году ознаменовал собой технический прорыв.
Этот 4-битный процессор с частотой 750 кГц произвел революцию не только в технологии производства микропроцессоров, но и во всей отрасли интегральных микросхем. Примерно в то же время появляются другие заметные процессоры, такие как TMS-0100 от Texas Instruments, сформировавшие конкуренцию на рынках калькуляторов и контрольных систем. С тех пор улучшение производительности процессора достигалось в основном за счёт увеличения тактовой частоты и пропускной способности шин. Пример тому – выпущенный в 1979 году Intel 8086, который был одноядерным процессором с максимальной тактовой частотой 10 МГц, 16-битной шиной данных и 20-битной адресной шиной.
Переход от Intel 4004 до 8086 представлял собой 10-кратное увеличение количества транзисторов, и эта мера осталась неизменной при переходе от поколения к поколению на фоне расширения спецификаций. В дополнение к частоте и пропускной способности шин, появились другие инновации, способствующие улучшению производительности процессоров, такие как блоки обработки значений с плавающей запятой, множители, а также улучшения и расширения базовой архитектуры набора команд (ISA).
Итогом продолжавшихся исследований стал Intel I386 (80386) – первый процессор с возможностью конвейеризации, позволяющий обрабатывать несколько инструкций параллельно, что достигалось путем разделения потока выполняемых инструкций на отдельные этапы, и, следовательно, когда одна инструкция выполнялась на одном этапе, другие инструкции могли выполняться на других этапах.
Также была представлена суперскалярная архитектура процессора, которую можно считать предшественником многоядерной технологии. Суть её в том, что некоторые функциональные узлы вычислительного ядра дублированы, что позволяет процессору выполнять несколько инструкций одновременно при условии отсутствия у этих инструкций зависимостей по данным. Первыми промышленными суперскалярными процессорами считаются Intel I960CA, AMD серии 29000 и Motorola MC88100.
Одним из важнейших факторов, повлиявших на быстрое развитие процессоров от одного поколения к другому, является прогресс в технологии производства полупроводников, направленный на миниатюризацию транзисторов и других полупроводниковых приборов. Благодаря этому удалось значительно снизить энергопотребление транзисторов и увеличить их количество в процессоре, при этом предоставляя больше места на кристалле для кэшей и других узлов, также повышающих общую производительность.
В 1999 году AMD выпустил ставший классикой и любимчиком процессор Athlon, за несколько месяцев увеличивший не только свою тактовую частоту до умопомрачительных 1 ГГц, но и все другие характеристики, имеющие отношение к обсуждаемым нами технологиям. Чип показал замечательную производительность. Более того, разработчики продолжали оптимизировать и совершенствовать его, добавляя новые функции, такие как многопоточность и прогнозирование ветвлений (branch prediction).
Апогеем считается топовый для своего одноядерного времени десктопный 2-потоковый процессор Intel Pentium 4, достигший потолка тактовых частот в 3,8 ГГц. Оглядываясь назад на ту эпоху, большинство из нас думали, что тактовые частоты продолжат столь же планомерно расти и уже не за горами процессоры с частотой 10 и более ГГц. Но в оправдание нашему невежеству можно сказать, что большинство пользователей в то время не были столь же грамотными в этом плане, как сегодня.
Увеличение тактовых частот и миниатюризация транзисторов привело к повышению производительности, но в то же время и к повышению потребляемой мощности пропорционально частоте. А значит, к увеличению тока утечки. Это не проблема, когда у вас в процессоре 25 тысяч транзисторов. Но когда дело доходит до миллиардов транзисторов на кристалле, проблема встаёт во весь рост.
Дальнейшее увеличение числа транзисторов и, соответственно, выделяемого ими тепла в результате неизбежной утечки тока, в конце концов стало невозможным из-за риска температурного повреждения чипа, эффективно отводить тепло от которого становилось всё труднее. Чтобы преодолеть это ограничение, разработчикам придётся кардинально переосмыслить устройство процессора, если они хотят и впредь двигаться вперёд, добиваясь какого-либо прогресса в улучшении производительности.
Проектирование зданий до появления компьютерных технологий
Вначале имела место словесная передача сведений, известная прежде всего из строительных мастерских средневековья. Здесь знания о внешнем облике здания и самом процессе строительства были связаны напрямую со строительным мастером, выступающим в качестве «носителя данных». Письменная документация практически отсутствовала. Это вело с одной стороны к огромным потерям информации, когда соответствующий мастер умирал или покидал место строительства, а с другой стороны имело следствием очень высокую ценность мастера.
Первые дошедшие до нас строительные чертежи, которые можно приблизительно сравнить с планом строительства в современном смысле, относятся к концу средних веков. При этом речь идет, во-первых, о рисунках на пергаменте. Во-вторых, сюда можно отнести фрагменты, вырезанные на каменных основаниях готических храмов. В качестве носителя информации служил, таким образом, пергамент, благодаря чему возникла первая возможность документирования, сохранения и повторного использования информации.
Эти рисунки на пергаменте были, так сказать, прототипами используемых до сих пор обычных строительных чертежей, которые большей частью, как и прежде, выводятся на бумагу и в этой форме используются на стройплощадке.
Изменились они с течением времени в первую очередь с двух точек зрения:
- Тип и форма чертежных инструментов, используемых при со-здании документации, а также используемый материал основы и носителя данных.
- Объем и содержание, отображенные в чертежах, а также используемый при этом уровень абстракции.
Компиляторы упростили работу с кодом
Да-да, так и работает код. Поэтому, кстати, под новые процессоры требуется оптимизировать софт, потому что у всех платформ свои инструкции.
Для более удобной работы с кодом инженеры во всём мире принялись за разработку компиляторов — это специальные алгоритмы для перевода команд, написанных на привычном нам языке, в бинарный код.
Процессоры содержат в себе блоки с числовыми командами, которые отвечают за то, что выполнить. Когда программист принимается за компиляцию написанного им кода, процессор знает, как перевести на понятный ему язык команды, написанный человеком.
Так появился Ассемблер — язык программирования низкого уровня. Низкого, потому что он сочетал в себе элементы привычного человеческого языка и машинного кода. За ним стали развиваться уже языки программирования высокого уровня. В них теперь задействовались только команды, соответствующие нашему привычному человеческому языку.
Табулируюшая машина сделала работу с данными проще
Компьютеры и табуляторы действительно сделали людей продуктивнее во многих аспектах.
Все эти разработки тогда были уделом сообщества учёных. Массово перфокарты, кроме ткацких станков, нигде особо не использовались. Но всё поменяла табулирующая машина Германа Холерита. Американский учёный придумал её с целью ускорить процесс переписи населения.
Данные о возрасте, количестве детей, роде деятельности, расе и прочем записывались в ячейки на перфокартах. Ручной анализ всех этих данных занял бы значительно больше времени, а машина с этим справилась эффективнее
После этого на табулятор обратили внимание власти, военные, бухгалтеры, и перфокарты стали более массовыми
Кратко о причинах ослабления и развала крупных институтов
Конечно, в целом причины ослабления, банкротства и даже развала проектных и проектно-изыскательских организаций, оставшихся со времен СССР, и так ясны из исторической справки, приведенной выше. Но если подытожить, то здесь можно назвать следующие основные факторы, выделенные Л. Осикой для крупных институтов :
- снижение количества заказов на работы;
- большая конкуренция со стороны множества недобросовестных мелких фирм, предлагавших нереально низкие цены, а также со стороны иностранных компаний;
- уход государства от непосредственного участия в управлении изысканиями, проектированием, поставками и строительством при возведении новых объектов.
- перенос функций заказчика с государственных органов на компании с различными формами собственности (в большинстве случаев);
- господство коррупционных способов закупки проектно-изыскательских услуг;
- отставание предлагаемых технологий и решений от мировых аналогов;
- отсутствие эффективной корпоративной стратегии и механизмов взаимодействия внутри институтов;
- неумение руководства институтов перестроить организацию работ, создать новые модели роста и конкуренции;
- отсутствие у руководства институтов клиентоориентированного подхода, а также гибкости при заключении контрактов, при получении исходных данных и при выполнении дополнительных работ;
- дефицит квалифицированных кадров (от узких специалистов до опытных руководителей, прежде всего главных инженеров проектов);
- большой возрастной разрыв между сотрудниками (до 40 лет);
- отсутствие у персонала стимулов к достижению результата, низкие производительность труда и культура производства;
- слабое техническое оснащение, недостаточный уровень автоматизации;
- растущие сложности с бюрократическим оформлением разрешительной документации в отношении экологического воздействия на окружающую среду и др.
К этому списку хотелось бы добавить отсутствие регулярного финансирования, какой бы то ни было иной помощи от государства и даже препоны с его стороны, а также деятельность коррумпированных государственных чиновников .
Конечно, в развале разных институтов преобладали разные причины или их комплексы. Но в целом свою роль сыграли все вышеназванные факторы. Основные из них, а также некоторые другие будут более подробно проанализированы в следующей части статьи.
Источники
- Михаил Посохин: российская проектная отрасль разваливается на глазах // Новости СРО, Федеральные новости. 11.09.2013. URL: http://sroportal.ru/news/federal/mixail-posoxin-rossijskaya-proektnaya-otrasl-razvalivaetsya-na-glazax/.
- Олейников В., Данилов Э. Проектные институты советского наследия – доходность и перспективы // Слияния и поглощения. 01.09.2014. https://www.srgroup.ru/mass-media/experts-say-srg/design-institutes-of-the-soviet-heritage-profitability-and-prospects/.
- Осика Л.К. Из истории отечественного инжиниринга // ЭнергоРынок. 2010. № 7/8. URL: http://www.up-pro.ru/library/modernization/engineering/iz-istirii-inzhiniringa.html.
- Осика Л.К. Из истории советской школы проектирования // DWGFORMAT. ПРОЕКТИРОВАНИЕ. 27.06.2019. URL: http://dwgformat.ru/2019/06/27/из-истории-советской-школы-проектиро/.
- Осика Л.К. Современный инжиниринг: определение и предметная область // ЭнергоРынок. 2010. № 4. URL: http://www.up-pro.ru/library/modernization/engineering/sovremennij-inzhiniring.html.
- Ярославскому союзу строителей – 25 лет // Строительная орбита. 2019. № 7. C. 54–57. URL: https://omorrss.ru/upload/docs/%D0%A1%D0%9E_072019.pdf.
О концепции Docker
Docker состоит из нескольких компонентов:
- Docker Daemon — то самое Container Engine; запускает контейнеры.
- Docker CLI — утилита по управлению Docker.
- Dockerfile — инструкция по тому, как собирать образ.
- Image — образ, из которого раскатывается контейнер.
- Container.
- Docker registry — хранилище образов.
Схематично это выглядит примерно вот так:
На Docker_host работает Docker daemon, запускает контейнеры. Есть Client, который передаёт команды: собери образ, скачай образ, запусти контейнер. Docker daemon ходит в registry и выполняет их. Docker-клиент может обращаться и локально (к юникс-сокету), и по TCP с удалённого хоста.
Пройдёмся по каждому компоненту.
Docker daemon (демон) — это серверная часть, она работает на хост-машине: скачивает образы и запускает из них контейнеры, создаёт сеть между контейнерами, собирает логи. Когда мы говорим «создай образ», этим тоже занимается демон.
Docker CLI — клиентская часть Docker, консольная утилита для работы с демоном. Повторю, она может работать не только локально, но и по сети.
Базовые команды:
docker ps — показать контейнеры, которые сейчас запущены на Docker-хосте.
docker images — показать образы, скачанные локально.
docker search <> — поиск образа в registry.
docker pull <> — скачать образ из registry на машину.
docker build <</path/to/dir>> — собрать образ.
docker run <> — запуск контейнер.
docker rm <> — удалить контейнер.
docker logs <> — логи контейнера
docker start/stop/restart <> — работа с контейнером
Если вы освоите эти команды и будете уверенно ими пользоваться, то считайте, что на 70% освоили Docker на уровне пользователя.
Dockerfile — инструкция для создания образа. Почти каждая команда инструкции — новый слой. Посмотрим на примере.
Примерно так выглядит Dockerfile: слева команды, справа — аргументы. Каждая команда, что здесь есть (и вообще пишется в Dockerfile), создаёт новый слой в Image.
Даже глядя на левую часть, можно примерно понять, что происходит. Мы говорим: «создай нам папку» — это один слой. «Сделай папку рабочей» — это ещё один слой, и так далее. Слоёный пирог упрощает жизнь. Если я создам ещё один Dockerfile и в последней строчке что-то изменю — запущу не «python» «main.py», а что-нибудь другое, или установлю зависимости из другого файла — то предыдущие слои будут переиспользованы, как кеш.
Image — это упаковка контейнера, из образа запускаются контейнеры. Если смотреть на Docker с точки зрения пакетного менеджера (как будто мы работаем с deb или rpm-пакетами), то image — это по сути rpm-пакет. Через yum install мы можем поставить приложение, удалить его, найти в репозитории, скачать. Здесь примерно то же самое: из образа запускаются контейнеры, они хранятся в Docker registry (по аналогии с yum, в репозитории), и каждый image имеет хеш SHA-256, имя и тег.
Image собирается по инструкции из Dockerfile. Каждая инструкция из Dockerfile создаёт новый слой. Слои могут использоваться повторно.
Docker registry — это репозиторий образов Docker. По аналогии с ОС, у Docker есть общедоступный стандартный реестр — dockerhub. Но можно собрать свой репозиторий, свой Docker registry.
Container — то, что запускается из образа. По инструкции из Dockerfile собрали образ, затем мы его из этого образа запускаем. Этот контейнер изолирован от остальных контейнеров, он должен содержать в себе всё необходимое для работы приложения. При этом один контейнер — один процесс. Случается, что приходится делать два процесса, но это несколько противоречит идеологии Docker.
Требование «один контейнер — один процесс» связано с PID Namespace. Когда в Namespace запускается процесс с PID 1, если он вдруг умрёт, то весь контейнер тоже умирает. Если же там запущено два процесса: один живёт, а второй умер, то контейнер всё равно продолжит жить. Но это к вопросу Best Practices, мы про них поговорим в других материалах.
Наследники Паскаля
После появления Паскаля время не стояло на месте. Компьютеры становились намного быстрее, потому требования к приложениям и программистам неуклонно росли. Программы больше не создавал один человек – над ними работали целые коллективы. В языках появлялись конструкции, которые поддерживали командную работу. При этом один человек создавал часть системы, или модуль, независимо от остальных. Потом их компоновали и загружали автоматически.
Модули, которые имели межграничную проверку целостности типов, стали главным расширением первого последователя Паскаля – Модула-24. Язык появился в 1979 году и считается эволюционным развитием Паскаля. Это же касается Mesa. Язык был разработан в центре PARC для системного программирования. Mesa тоже использовал в основе Паскаль. Однако он развивался чересчур хаотично и нуждался в доработках.
В Модула-2 тоже были элементы системного программирования, которые допускали конструкции, зависящие от конкретных характеристик компьютера. Потому они требовались для интерфейсов с периферийными устройствами. Потому пришлось пожертвовать самой сутью высокоуровневых языков – машинонезависимым программированием. Но при этом фрагменты удавалось локализовать в конкретных «низкоуровневых» модулях и изолировать.
К тому же в Модула использовались конструкции, которые помогали программировать параллельные процессы. Это было главной темой семидесятых. В целом же, Модула-2 был комплексным и при этом слишком сложным для обучения программированию. Чувствовалось, что его требуется усовершенствовать и упростить. Благодаря этому появился язык Оберон. Даже сегодня его применяют в разных сферах.
Паскаль представляет собой старый язык программирования. За время существования он претерпел много изменений и лег в основу других разработок и систем. Систему по сей день используют для обучения программированию в школах и вузах. На основе Паскаля создано много усовершенствованных вариантов языков.
Сообщение
появились сначала на
.
Первый «компьютер» придумали в 19 веке
Пускай при жизни Бэббидж не успел реализовать свой проект, вместо него это сделали сотрудники Музея науки в Лондоне. Сборка заняла два года в период с 1989 по 1991 год.
Взяв за основу Жаккардов станок, в 19 веке британский учёный Чарльз Бэббидж придумал машину с физическим механизмом. Перфокарты в ней использовались в трёх сценариях.
Как и в ткацком станке, аналитическая машина использовала иглы: когда они проходили через отверстия – механизм внутри приходил в действие. Если отверстий не было, иглы просто отталкивались. По сути эти перфокарты стали первыми программами.
К сожалению, при жизни реализовать своё изобретение ему не удалось.
Портрет Ады.
Идею вычислительных машин подхватила его ученица Ада Байрон. Она, кстати, написала первые в истории компьютерные программы.
Одна из них была сделана для вычисления значений тригонометрической функции с многократным повторением заданной последовательности вычислительных операций. Здесь же Ада ввела понятие «цикла» в программировании. Другая разработка предназначалась для вычисления чисел Бернулли.
Также она выдвинула теорию, что при помощи аналитических машин можно будет решать не только математические задачи, но ещё создавать музыку, картины и тексты. Как она говорила в одной из своих записок:«аналитически машины укажут науке такие пути, какие нам и не снились». Что же, она предугадала будущее.
Благодаря играм появились графические интерфейсы
Недавно попробовал поиграть в ним с компьютером, вообще не представляю, как можно обыграть в этом машину.
Самая первая компьютерная игра появилась в начале 1940-х годов, её создал американский инженер Эдвард Гордон. Однажды за обедом вместе со своими коллегами он обсуждал идею того, что датчики, которые используются в счётчиках Гейгера для калибровки, могут научить компьютер играть. Они решили проверить гипотезу. Скажу заранее — у них всё получилось.
За основу была взята математическая игра «ним», в которой игроки должны брать из кучки неограниченное число предметов за один ход. Проигрывает тот, кто взял последний предмет.
Так появился Nimatron — игровой автомат, весом в тонну, который показали на Всемирной выставке в Нью-Йорке. Он произвёл фурор: на ниматроне было сыграно порядка 100 тыс. партий. Забавно, что 90 тыс. из них выиграла машина.
С этого момента стало ясно, что компьютеры могут не только решать математические задачи, но и развлекать.
Без игр современная техника была бы совсем другой. Правда, компьютерные игры не появиться не могли.
В 1962 году появилась Spacewar! — это первая компьютерная игра в нашем привычном понимании. Она имела двухмерную графику и возможность кооператива для пары участников. Всё, что нужно было делать — это уничтожать космические корабли противника.
Spacewar! создали программисты из Массачусетского технологического университета. Группой руководили Стив Рассел и Мартин Гретц. Игры показали, что компьютеры могут быть понятными многим. Да-да, дело было в графике. Непосредственно сами системы компьютеров того поколения управлялись при помощи ввода команд в терминале.
Карл держит в руках самую первую компьютерную мышь.
Это было дико неудобно. Для игр задействовались манипуляторы — джойстики, с помощью которых пользователи управляли виртуальными объектами. Инженеры переняли некоторые эти принципы при создании элементов человеко-машинного интерфейса.
В 1968 году американский изобретатель Дуглас Карл Энгельбарт представил миру курсор. Он разрабатывался совместно с командой инженеров из Стэнфордского исследовательского института, и эта вещь изменила то, как люди пользуются компьютерами.
В 1972 году в исследовательском центре Xerox PARC началась работа над Xerox Alto — первым компьютером с графическим интерфейсом. Теперь в разработке программного обеспечения появилось понятие «графический интерфейс пользователя» (Graphic user interface).
Разработка программного обеспечения перешла на новую ступень развития. Теперь программисты могли знать, как будет выглядеть софт, и понимать, как пользователи будут с ним взаимодействовать. Более того, существуют среды для визуального программирования.
Apple тоже внесла огромный вклад в развитие компьютеров.
Это способ, в котором создание софта осуществляется при помощи манипулирования графическими объектами. Для проектирования каких-то сложных сервисов они, конечно, не подходят, но для простеньких программ или для ознакомления — в самый раз.
Следом за Xerox Alto в 1980-х вышли Apple Lisa и Macintosh — первые массовые компьютеры с графическим интерфейсом на рынке. Теперь компьютеры научились решать не только научные задачи, но и повседневные.
Первые программы и форматы для строительного проектирования
Развитие компьютеров и их общее распространение революционно изменило рабочий процесс в повседневной работе проектных бюро. Однако в отношении документирования зданий и информации, касающейся хода строительства, в форме планов и чертежей вначале оно почти исключительно повлияло лишь на способ их создания.
В машиностроении и автомобильной промышленности в начале 1980-х годов на рынке появились первые САПР. С ними само создание чертежей переместилось с чертежной доски на компьютер. Создавались виды в плане, разрезы, виды и деталировки, а также вытекающая из них документация, но так же, как раньше, в форме двумерных чертежей. В качестве чертежного инструмента использовали теперь не карандаш, а мышь, и собственно носителем информации и накопителем данных являлся более или менее программно-специфичный файл.
Уже на этой стадии происходили первые попытки перейти на объектно-ориентированное трехмерное моделирование здания, чтобы в полном объеме использовать возможности инструмента – компьютера и соответствующего программного обеспечения. Хотя они до сегодняшнего дня еще полностью не реализованы, но тем временем в основном стали стандартом для документации процесса строительства.
В то время, как чертежи, планы и прочие виды документации, необходимые для процесса строительства, позволяли производить обмен в бумажной форме без дополнительных преобразований, обмен цифровыми и этим самым преимущественно программно-специфическими файлами всегда представлял проблему, когда участники работали с разными программными продуктами. Данные зачастую могли тогда или вовсе не читаться, или читаться неправильно, так как каждая программа имеет в своем внутреннем форматировании и языке определенные правила и спецификации.
Если данные преобразуются в другой формат, отличный от формата оригинала, то этот процесс таит в себе всегда опасность изменений, так как перенос один к одному в связи с различием видов форматов данных, как правило, невозможен. При этом может происходить как потеря информации, так и ее искажение. Чтобы минимизировать этот риск, оптимизировать поток информации и получить большую ширину полосы для возможных прикладных программ, в середине 1990-х годов некоторые из ведущих производителей программного обеспечения для строительной отрасли сформировали альянс.
Целью являлась разработка на базе уже имеющихся стандартов нейтрального и открытого формата файлов, с помощью которого можно было бы описывать информацию, элементы и процессы в отраслях строительства и недвижимости и осуществлять обмен данными по возможности с малой потерей информации.
В качестве относительно нейтрального формата до тех пор существовал в первую очередь PDF, который по своему содержанию и структуре можно сравнить с цифровым выводом чертежа или печатью на бумаге. Он содержит оптически идентичное отображение лежащего в основе содержимого чертежа и может показать его на любом компьютере с помощью общедоступного продукта AdobeReaders. Тем не менее, в отношении собственно поставлен-ной цели сложного и многослойного обмена информацией он имеет некоторые недостатки:
Во-первых, созданный PDF-файл, как правило, нельзя редактировать, изменять или расширять. Во-вторых, не каждая программа может импортировать PDF-файлы или правильно интерпретировать их содержимое. Существенно слабым местом является тот факт, что уже при создании за счет чисто графического и двумерного отображения теряется часть имеющейся информации. Это имеет место, собственно, тогда, когда вместо „простого“ используется тем временем также доступный 3D-PDF. Разумеется, PDF-файл в существенной мере сохраняет в цифровой форме содержание и выразительность чертежа на бумаге или объемной модели. Хотя этим самым он соответствует намерениям, для которых был разработан этот формат, но это не отвечает целям, сформулированным альянсом.
Наряду с этим использовался, в особенности для обмена данными САПР, в значительной мере базирующийся на AutoCAD формат DXF. Он поддерживает в первую очередь также 2D-обмен и не является нейтральным по отношению к программному обеспечению. Хотя кроме 2D-специфических элементов чертежа можно также передавать дополнительную информацию в форме атрибутов, а также 3D-геометрию в форме поверхностей и тел, но только посредством внутренней формы AutoCAD. Этим самым корректная передача и интерпретация возможна почти исключительно с помощью такого программного обеспечения САПР, которое также строится на этом стандарте.
Ключевые вехи развития BIM-технологии
- Середина XX века — проводятся исследования по применению компьютерных технологий в крупных компаниях автомобилестроительной отрасли, самолётостроения и в учебных заведениях разных стран. Первоначальные работы связаны с изучением способов построения двухмерных и трехмерных геометрических элементов на компьютере. Эти исследования в дальнейшем дали импульс к внедрению аналогичных технологий в строительную сферу.
- 1963 г. разработка программы Sketchpad — инструмент для двухмерного черчения (прообраз современной линейки продуктов CAD)
- 1975 г. — разработка программы BDS — инструмент для сборки трехмерных моделей из готовых объектов по принципу конструктора (прообраз программ BIM-моделирования — Revit, Archicad и т.д.)
- 1980 г. — программа RUCAPS — первая программа, которая в комплексе с единой рабочей станцией использовалась для реального проектирования зданий.
- 1982 г. — Autocad — основной инструмент двухмерного моделирования зданий, занявший лидирующие позиции на многие годы.
- 1984 г. — Archicad — программа трехмерного BIM-моделирования зданий из отдельных элементов — стен, колонн, балок и т.д.
- 2000 г. — Revit — программа трехмерного BIM-моделирования, прямой конкурент Archicad, с рядом особенностей, которые на сегодняшний день вывели этот продукт в лидеры по направлению BIM проектирования. Это параметрические зависимости объектов друг от друга, а также возможность создавать элементы модели самими пользователями, с помощью инструментов самой программы. (В Archicad элементы создаются программированием).
- 2001 г. — Processing (язык программирования) для создания математических моделей, формирующих элементы здания.
- 2007 г. — Grasshopper — вычислительный инструмент, реализующий алгоритмы моделирования зданий. При развитии программ проектирования интегрировался в различных формах в качестве модулей в эти программы.