Причина популярности Make против альтернатив - PullRequest
10 голосов
/ 13 января 2010

Какие силы на работе, сохраняя видимость старой сборки (с инструментами генератора сборок или без нее) в качестве инструмента сборки? Из-за недостатков в альтернативах они не получают широкого распространения или из-за недостаточной гласности, или что-то в Make заставляет их действовать?

Несмотря на многочисленные слабости и сложности Make, связанные с крупными проектами (например, см. http://freshmeat.net/articles/what-is-wrong-with-make), он все еще используется более широко, чем более новые, улучшенные альтернативы, такие как Scons , Jam , Rake , Повар и др.

Есть ли ощутимые преимущества для альтернатив или "доли рынка" обусловлены главным образом мнением и опытом руководителей команд?

Ответы [ 8 ]

9 голосов
/ 13 января 2010

Ubiquity : мне нравится Make , потому что я могу доверять, что он будет доступен там, где он мне нужен, т.е. установлен или легко устанавливается на целевой машине.

7 голосов
/ 13 января 2010

Это широко доступно, хорошо документировано, сжато и мощно + лучше всего - без XML! .

Я использую его около 15 лет и до сих пор не нашел что-то лучшее. Самая крутая вещь, которую я сделал с этим, это чтобы мастер make-файл генерировал make-файлы для подпроектов на лету.

5 голосов
/ 13 января 2010

Относительно вашего вопроса, какие силы поддерживают жизнь ... это сила привычки.

4 голосов
/ 13 января 2010
  • простота - легко делать простые вещи
  • повсеместно - какая-то версия в вашей системе
  • скорость - достаточно быстро для большинства вещей
  • Выразительно - очень хорошо подходит для работы
  • неочевидная сложность - в основном крупные проекты создают проблемы
1 голос
/ 10 февраля 2010

Мы использовали scons в относительно большом проекте, чтобы заменить make, и обнаружили, что это была достаточно гибкая система, которая позволяла нам совершать очень необходимые (но очень неудачные) взломы, чтобы заставить вещи строить так, как они нам нужны. , Кроме того, make is -strange -.

1 голос
/ 13 января 2010

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

0 голосов
/ 05 мая 2011

Я думаю, что должно произойти, чтобы увидеть большой переход к другому инструменту, это 1-й инструмент, который должен быть создан ... это значительно лучше. и чтобы повлиять на изменения, либо один из дистрибутивов linux, либо один из основных пакетов должен был бы переключиться на него и, вероятно, оставить старый для совместимости. я бы предположил, что новый инструмент для сборки будет способен генерировать устаревшие make-файлы. Linux уже продемонстрировал, насколько хорошо он может решить систему управления исходным кодом с помощью git. у меня есть довольно хорошая догадка, он мог придумать что-нибудь довольно крутое и связать с мерзавцем.

0 голосов
/ 14 января 2010

Хм, я никогда не использовал make в качестве системы сборки.

Кроме этого, это уникальный язык программирования потока данных, где вы можете описать набор узлов, каждый из которых служит определенной цели, описать их поведение, и позволить менеджеру обрабатывать и контролировать поток данных между ними .

...