а когда не было систем контроля версий, как народ большие проекты писал? или они всегда были?
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.
Re: Шаринг и мержинг кода в доисторические времена
Здравствуйте, pestis, Вы писали:
P>RSC — 82 год, а до него был SCCS — 72 год. Как файлы появились, так и системы контроля версий написали, благо задача элементарнейшая.
Но почему-то этому у нас даже не учили (кстати и сейчас не везде учат). И в пухлых книжках было о чем угодно: о Delphi, о C++, о java, о других языках, об программировании под Windows, об алгоритмах, об оптимизации программ, об устройстве ОС и компьютеров, но только не о контролях версий. Даже сейчас таких книжек очень мало. Я такие слова как "система контроля версий" вообще услышал (или обратил внимание) только уже в начале 2000-х годов, когда заинтересовался линуксом и узнал как народ разрабатывает OpenSource-программы. "Контроль версий" на работе сводился к наличию общего сетевого ресурса и своих папочек там, возможно с подверсиями и договоренности кто над чем работает. Может это чисто мой такой опыт, тем более дело было не в сугубо программистской конторе, а институте.
Здравствуйте, Kingofastellarwar, Вы писали:
K>а когда не было систем контроля версий, как народ большие проекты писал? или они всегда были?
Бумажные архивы, перфокарты, и т.п.
Собственное ведение истории через бэкапы и (на редких файловых системах, которые такое умели) версии файлов.
Итоговый код распечатывался в виде книг, они прошивались и в таком виде сдавались в архивы (не zip, а кладовки с полками).
Для машинночитаемости — мастер-ленты с образцами кода, с которыми обращались очень осторожно — допускалось только копирование и только самыми опытными и аккуратными сотрудниками. Средств неизменяемого хранения, как CD-R, было очень мало (в основном перфокарты). Собственно, когда перфокарты ушли по непригодности для новых объёмов (десятки и сотни мегабайт), а CD ещё не было, образовался тяжёлый провал в этой области. Частично он заполнялся представлением на микрофильмах (с кодировками — прототипами того, что сейчас в QR-кодах), но это была очень дорогая технология.
Средства типа diff/patch в ранние времена были только двоичные (как легендарный IMASPZAP). Позднее появились текстовые, но без контекста, сходившие с ума даже при сдвиге на одну строчку. (SCCS, неконтекстный diff.) Идея контекста (в виде, как в diff -c, diff -u, svn, git) возникла резко позже.
Умный мержинг, можно считать, ещё в разработке (хотя теория, как алгебра патчей в darcs, уже неплохо развилась, а практика отрабатывает типичные случаи).
The God is real, unless declared integer.
Re[2]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, pestis, Вы писали:
P>RSC — 82 год, а до него был SCCS — 72 год. Как файлы появились, так и системы контроля версий написали, благо задача элементарнейшая.
В 72-м году файлам было минимум уже 15 лет (как именованным областям диска в ранних ОС), а вот ничего даже уровня SCCS ещё не было. На осознание, что же надо делать, эти пятнадцать лет и ушли.
The God is real, unless declared integer.
Re[3]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, neFormal, Вы писали:
F> M>Но почему-то этому у нас даже не учили (кстати и сейчас не везде учат). F> и правильно! на собеседованиях это не спросят.
Так это уже по умолчанию предполагается — не умеешь работать с git — на помоечку
Управляю вселенной не привлекая внимания санитаров.
Re: Шаринг и мержинг кода в доисторические времена
Здравствуйте, Kingofastellarwar, Вы писали:
K>а когда не было систем контроля версий, как народ большие проекты писал? или они всегда были?
В стародавние времена, когда не было систем контроля версий, весь исходный код хранился на перфокартах (перфолентах)...
diff — это когда совмещали две карты вместе и смотрели на солнце, разницу было видно сразу;
merge — это когда брали две карты, делали diff, а затем залепляли лишние дырочки или кололи недостающие;
pull/push — это когда у бабы Клавы в архиве под роспись берешь/сдаешь нужные/ненужные тебе карточки;
Re: Шаринг и мержинг кода в доисторические времена
K>а когда не было систем контроля версий, как народ большие проекты писал? или они всегда были?
Элементарно, Ватсон!
Удаляешь полколоды перфокарт, и добавляешь новую колоду перфокарт...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, LaptevVV, Вы писали:
LVV>Удаляешь полколоды перфокарт, и добавляешь новую колоду перфокарт...
Если объем колоды примерно 1000 карточек, и в самый ответственный момент кто-нибудь неосторожным движением смахнет ее на пол, такое удаление-добавление становится очень нетривиальной задачей.
Re[3]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, Michael7, Вы писали:
M>Но почему-то этому у нас даже не учили (кстати и сейчас не везде учат). И в пухлых книжках было о чем угодно .... но только не о контролях версий.
Во-во. И слыхом не слыхивали.
M>Я такие слова как "система контроля версий" вообще услышал
А мне объяснили в машине, по пути на собеседование к крупному оутсорсеру. Естественно, на соответсвующий вопрос ответил как-будто всю жисть. Взяли.
Re[4]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, yatagarasu, Вы писали:
Y>Здравствуйте, netch80, Вы писали:
N>> На осознание, что же надо делать, эти пятнадцать лет и ушли. Y>Перфокарты можно было и руками смерджить )
Так и делали. Руками, чёрканием на бумаге... Но вообще тогда бранчи были как-то не в ходу. Первые проблемы, которые предполагалось лечить в нескольких версиях одновременно, это уже во времена хоть каких-то систем, хотя бы тот же SCCS.
The God is real, unless declared integer.
Re[3]: Шаринг и мержинг кода в доисторические времена
LVV>>Удаляешь полколоды перфокарт, и добавляешь новую колоду перфокарт... P>Если объем колоды примерно 1000 карточек, и в самый ответственный момент кто-нибудь неосторожным движением смахнет ее на пол, такое удаление-добавление становится очень нетривиальной задачей.
1. Мой диплом был ~1200 перфокарт. Лично у меня ни разу не рассыпалась колода...
2. Для борьбы со случайным перемешиванием перфокарт есть несколько методов.
— а) просто надписать номера на каждую перфокарту
— б) номера перфокарт пробивались с 72 и далее позиции
— в) разделяешь большую колоду на несколько маленьких и каждую маленькую колоду скрепляешь пакетом.
Думаю, что Маэстро, знает, как делать из перфокарт пакет, пепельницу, ложку, и т.п.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, Michael7, Вы писали:
M> "Контроль версий" на работе сводился к наличию общего сетевого ресурса и своих папочек там, возможно с подверсиями и договоренности кто над чем работает. Может это чисто мой такой опыт, тем более дело было не в сугубо программистской конторе, а институте.
Моя практика показывает, что для небольшой команды (до ста человек) этого достаточно.
Течёт вода Кубань-реки куда велят большевики.
Re[3]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, Privalov, Вы писали:
P>Здравствуйте, LaptevVV, Вы писали:
LVV>>Удаляешь полколоды перфокарт, и добавляешь новую колоду перфокарт...
P>Если объем колоды примерно 1000 карточек, и в самый ответственный момент кто-нибудь неосторожным движением смахнет ее на пол, такое удаление-добавление становится очень нетривиальной задачей.
А для этого на ребре колоды проводили две линии в форме V.
Течёт вода Кубань-реки куда велят большевики.
Re[4]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, LaptevVV, Вы писали:
LVV>1. Мой диплом был ~1200 перфокарт. Лично у меня ни разу не рассыпалась колода...
На самом деле к колодам относились весьма аккуратно, это верно. Иногда они все же падали. Иногда смешивались при падении с другими колодами. Так что все равно скучно не было.
LVV>2. Для борьбы со случайным перемешиванием перфокарт есть несколько методов. LVV>- а) просто надписать номера на каждую перфокарту
Обычно на карте писали ее содержимое. Особенно те, у кого были новые дыроколы, умевшие это делать самостоятельно. Номера проставляли редко.
LVV>- б) номера перфокарт пробивались с 72 и далее позиции
Руками этого никто не делал. При выводе только.
LVV>- в) разделяешь большую колоду на несколько маленьких и каждую маленькую колоду скрепляешь пакетом.
Девочки-операторы обычно терялись, получая несколько пакетов вместо одного. Это если им на ночь задание оставить.
LVV>Думаю, что Маэстро, знает, как делать из перфокарт пакет, пепельницу, ложку, и т.п.
Признаться, знаю далеко не все. Я эту эпоху краем прошел. Только потому, что жил в глубокой периферии, где замена ЭВМ на компьютеры шла с большой задержкой.
Re[4]: Шаринг и мержинг кода в доисторические времена