LINUX.ORG.RU

История изменений

Исправление den73, (текущая версия) :

Есть image-based языки, в которых все исходники скармливаются через консоль. Например, SQL. Однако потом возникает желание отслеживать версии исходников, в т.ч. для разных платформ и распространять их - так возникает система сборки. Возникают библиотеки - возникает нужда и в пакетном менеджере. Т.е. существующая инфраструктура сборки объективно необходима. В оберонах иногда есть прибитые гвоздями соглашения о директориях и именах. Система сборки встроена в сам язык. Однако опять же, для всякой там кросс-компиляции всё равно нужна какая-то настройка. Кроме того, там вручную нужно выискивать и ставить библиотеки, хотя в современных технологиях для этого есть пакетные менеджеры.

Т.е. теоретически в частных случаях это возможно, но вообще говоря, это невозможно и не нужно.

Другое дело, что в мире Си это сделано через попу, как и всё в мире Си. Например, нет нормального способа отлаживать мейкфайлы и баш-скрипты. Кривые языки программирования, в которых опечатка в имени переменной или вовсе отсутствующая переменная не вызывают ошибку времени компиляции (баш и мейк оба такова). Т.е. ошибки проектирования сплошь. Далее всё это постоянно меняется и возникают новые слои протекающих абстракций, типа Cmake. Плохо документировано. Плохая диагностика. Привычка игнорировать ошибки в скриптах. Важно и то, что сборка - это процесс долгий. Именно отсюда и возникает боль. Сама по себе задача сборки, если её рассматривать как бизнес-процесс, ничего особого из себя не представляет. Не сложнее, чем собрать расходную накладную в АШАН. Только непреодолимая привычка жрать ставший уже родным кактус делает её сверхсложной.

Исправление den73, :

Есть image-based языки, в которых все исходники скармливаются через консоль. Например, SQL. Однако потом возникает желание отслеживать версии исходников, в т.ч. для разных платформ и распространять их - так возникает система сборки. Возникают библиотеки - возникает нужда и в пакетном менеджере. Т.е. существующая инфраструктура сборки объективно необходима. В оберонах иногда есть прибитые гвоздями соглашения о директориях и именах. Система сборки встроена в сам язык. Однако опять же, для всякой там кросс-компиляции всё равно нужна какая-то настройка. Кроме того, там вручную нужно выискивать и ставить библиотеки, хотя в современных технологиях для этого есть пакетные менеджеры.

Т.е. теоретически в частных случаях это возможно, но вообще говоря, это невозможно и не нужно.

Другое дело, что в мире Си это сделано через попу, как и всё в мире Си. Например, нет нормального способа отлаживать мейкфайлы и баш-скрипты. Кривые языки программирования, в которых опечатка в имени переменной или вовсе отсутствующая переменная не вызывают ошибку времени компиляции (баш и мейк оба такова). Т.е. ошибки проектирования сплошь. Далее всё это постоянно меняется и возникают новые слои протекающих абстракций, типа Cmake. Плохо документировано. Плохая диагностика. Привычка игнорировать ошибки в скриптах. Именно отсюда и возникает боль. Сама по себе задача сборки, если её рассматривать как бизнес-процесс, ничего особого из себя не представляет. Не сложнее, чем собрать расходную накладную в АШАН. Только непреодолимая привычка жрать ставший уже родным кактус делает её сверхсложной.

Исправление den73, :

Есть image-based языки, в которых все исходники скармливаются через консоль. Например, SQL. Однако потом возникает желание отслеживать версии исходников, в т.ч. для разных платформ и распространять их - так возникает система сборки. В оберонах иногда есть прибитые гвоздями соглашения о директориях и именах. Система сборки встроена в сам язык. Однако опять же, для всякой там кросс-компиляции всё равно нужна какая-то настройка. Кроме того, там вручную нужно выискивать и ставить библиотеки, хотя в современных технологиях для этого есть пакетные менеджеры.

Т.е. теоретически в частных случаях это возможно, но вообще говоря, это невозможно и не нужно.

Другое дело, что в мире Си это сделано через попу, как и всё в мире Си. Например, нет нормального способа отлаживать мейкфайлы и баш-скрипты. Кривые языки программирования, в которых опечатка в имени переменной или вовсе отсутствующая переменная не вызывают ошибку времени компиляции (баш и мейк оба такова). Т.е. ошибки проектирования сплошь. Далее всё это постоянно меняется и возникают новые слои протекающих абстракций, типа Cmake. Плохо документировано. Плохая диагностика. Привычка игнорировать ошибки в скриптах. Именно отсюда и возникает боль. Сама по себе задача сборки, если её рассматривать как бизнес-процесс, ничего особого из себя не представляет. Не сложнее, чем собрать расходную накладную в АШАН. Только непреодолимая привычка жрать ставший уже родным кактус делает её сверхсложной.

Исправление den73, :

Есть image-based языки, в которых все исходники скармливаются через консоль. Например, SQL. Однако потом возникает желание отслеживать версии исходников, в т.ч. для разных платформ и распространять их - так возникает система сборки. В оберонах иногда есть прибитые гвоздями соглашения о директориях и именах. Система сборки встроена в сам язык. Однако опять же, для всякой там кросс-компиляции всё равно нужна какая-то настройка. Кроме того, там вручную нужно выискивать и ставить библиотеки, хотя в современных технологиях для этого есть пакетные менеджеры.

Т.е. теоретически в частных случаях это возможно, но вообще говоря, это невозможно и не нужно.

Другое дело, что в мире Си это сделано через попу, как и всё в мире Си. Например, нет нормального способа отлаживать мейкфайлы и баш-скрипты. Кривые языки программирования, в которых опечатка в имени переменной не вызывает ошибку времени компиляции (баш и мейк оба такова). Т.е. ошибки проектирования сплошь. Далее всё это постоянно меняется и возникают новые слои протекающих абстракций, типа Cmake. Плохо документировано. Плохая диагностика. Привычка игнорировать ошибки в скриптах. Именно отсюда и возникает боль. Сама по себе задача сборки, если её рассматривать как бизнес-процесс, ничего особого из себя не представляет. Не сложнее, чем собрать расходную накладную в АШАН. Только непреодолимая привычка жрать ставший уже родным кактус делает её сверхсложной.

Исходная версия den73, :

Есть image-based языки, в которых все исходники скармливаются через консоль. Например, SQL. Однако потом возникает желание отслеживать версии исходников, в т.ч. для разных платформ и распространять их - так возникает система сборки. В оберонах иногда есть прибитые гвоздями соглашения о директориях и именах. Система сборки встроена в сам язык. Однако опять же, для всякой там кросс-компиляции всё равно нужна какая-то настройка. Кроме того, там вручную нужно выискивать и ставить библиотеки, хотя в современных технологиях для этого есть пакетные менеджеры.

Т.е. теоретически в частных случаях это возможно, но вообще говоря, это невозможно и не нужно.

Другое дело, что в мире Си это сделано через попу, как и всё в мире Си. Например, нет нормального способа отлаживать мейкфайлы и баш-скрипты. Динамические языки, в которых отсутствие переменной не вызывает ошибку (баш и мейк оба такова). Т.е. ошибки проектирования сплошь. Далее всё это постоянно меняется и возникают новые слои протекающих абстракций, типа Cmake. Плохо документировано. Плохая диагностика. Привычка игнорировать ошибки в скриптах. Именно отсюда и возникает боль. Сама по себе задача сборки, если её рассматривать как бизнес-процесс, ничего особого из себя не представляет. Не сложнее, чем собрать расходную накладную в АШАН. Только непреодолимая привычка жрать ставший уже родным кактус делает её сверхсложной.