Здравствуйте, Michael7, Вы писали:
M> "Контроль версий" на работе сводился к наличию общего сетевого ресурса и своих папочек там, возможно с подверсиями и договоренности кто над чем работает. Может это чисто мой такой опыт, тем более дело было не в сугубо программистской конторе, а институте.
Моя практика показывает, что для небольшой команды (до ста человек) этого достаточно.
Течёт вода Кубань-реки куда велят большевики.
Re: Шаринг и мержинг кода в доисторические времена
Здравствуйте, Kingofastellarwar, Вы писали:
K>а когда не было систем контроля версий, как народ большие проекты писал? или они всегда были?
В стародавние времена, когда не было систем контроля версий, весь исходный код хранился на перфокартах (перфолентах)...
diff — это когда совмещали две карты вместе и смотрели на солнце, разницу было видно сразу;
merge — это когда брали две карты, делали diff, а затем залепляли лишние дырочки или кололи недостающие;
pull/push — это когда у бабы Клавы в архиве под роспись берешь/сдаешь нужные/ненужные тебе карточки;
Re: Шаринг и мержинг кода в доисторические времена
Здравствуйте, 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[4]: Шаринг и мержинг кода в доисторические времена
K>а когда не было систем контроля версий, как народ большие проекты писал? или они всегда были?
Элементарно, Ватсон!
Удаляешь полколоды перфокарт, и добавляешь новую колоду перфокарт...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, Privalov, Вы писали:
P>Здравствуйте, LaptevVV, Вы писали:
LVV>>Удаляешь полколоды перфокарт, и добавляешь новую колоду перфокарт...
P>Если объем колоды примерно 1000 карточек, и в самый ответственный момент кто-нибудь неосторожным движением смахнет ее на пол, такое удаление-добавление становится очень нетривиальной задачей.
А для этого на ребре колоды проводили две линии в форме V.
Течёт вода Кубань-реки куда велят большевики.
Re[2]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, pestis, Вы писали:
P>RSC — 82 год, а до него был SCCS — 72 год. Как файлы появились, так и системы контроля версий написали, благо задача элементарнейшая.
Но почему-то этому у нас даже не учили (кстати и сейчас не везде учат). И в пухлых книжках было о чем угодно: о Delphi, о C++, о java, о других языках, об программировании под Windows, об алгоритмах, об оптимизации программ, об устройстве ОС и компьютеров, но только не о контролях версий. Даже сейчас таких книжек очень мало. Я такие слова как "система контроля версий" вообще услышал (или обратил внимание) только уже в начале 2000-х годов, когда заинтересовался линуксом и узнал как народ разрабатывает OpenSource-программы. "Контроль версий" на работе сводился к наличию общего сетевого ресурса и своих папочек там, возможно с подверсиями и договоренности кто над чем работает. Может это чисто мой такой опыт, тем более дело было не в сугубо программистской конторе, а институте.
LVV>>Удаляешь полколоды перфокарт, и добавляешь новую колоду перфокарт... P>Если объем колоды примерно 1000 карточек, и в самый ответственный момент кто-нибудь неосторожным движением смахнет ее на пол, такое удаление-добавление становится очень нетривиальной задачей.
1. Мой диплом был ~1200 перфокарт. Лично у меня ни разу не рассыпалась колода...
2. Для борьбы со случайным перемешиванием перфокарт есть несколько методов.
— а) просто надписать номера на каждую перфокарту
— б) номера перфокарт пробивались с 72 и далее позиции
— в) разделяешь большую колоду на несколько маленьких и каждую маленькую колоду скрепляешь пакетом.
Думаю, что Маэстро, знает, как делать из перфокарт пакет, пепельницу, ложку, и т.п.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, LaptevVV, Вы писали:
LVV>1. Мой диплом был ~1200 перфокарт. Лично у меня ни разу не рассыпалась колода...
На самом деле к колодам относились весьма аккуратно, это верно. Иногда они все же падали. Иногда смешивались при падении с другими колодами. Так что все равно скучно не было.
LVV>2. Для борьбы со случайным перемешиванием перфокарт есть несколько методов. LVV>- а) просто надписать номера на каждую перфокарту
Обычно на карте писали ее содержимое. Особенно те, у кого были новые дыроколы, умевшие это делать самостоятельно. Номера проставляли редко.
LVV>- б) номера перфокарт пробивались с 72 и далее позиции
Руками этого никто не делал. При выводе только.
LVV>- в) разделяешь большую колоду на несколько маленьких и каждую маленькую колоду скрепляешь пакетом.
Девочки-операторы обычно терялись, получая несколько пакетов вместо одного. Это если им на ночь задание оставить.
LVV>Думаю, что Маэстро, знает, как делать из перфокарт пакет, пепельницу, ложку, и т.п.
Признаться, знаю далеко не все. Я эту эпоху краем прошел. Только потому, что жил в глубокой периферии, где замена ЭВМ на компьютеры шла с большой задержкой.
Re[5]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, AntoxaM, Вы писали:
M>>> "Контроль версий" на работе сводился к наличию общего сетевого ресурса и своих папочек там, возможно с подверсиями и договоренности кто над чем работает. Может это чисто мой такой опыт, тем более дело было не в сугубо программистской конторе, а институте.
A>>Моя практика показывает, что для небольшой команды (до ста человек) этого достаточно.
AM>странный опыт. AM>как без VCS жить в команде из 3х человек — не представляю.
До ста человек — не знаю, а вот до 30 вполне себе работало. Работали удаленно — СПб, Москва, Минск, Сиэтл, еще где-то в Штатах. Был специально выделенный человек, который принимал от всех измененные файлы и делал "актуальную" сборку. Обменивались измененными файлами по электронной почте.
_____________________
С уважением,
Stanislav V. Zudin
а когда не было систем контроля версий, как народ большие проекты писал? или они всегда были?
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.
Re: Шаринг и мержинг кода в доисторические времена
Здравствуйте, neFormal, Вы писали:
F> M>Но почему-то этому у нас даже не учили (кстати и сейчас не везде учат). F> и правильно! на собеседованиях это не спросят.
Так это уже по умолчанию предполагается — не умеешь работать с git — на помоечку
Управляю вселенной не привлекая внимания санитаров.
Re[4]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, alpha21264, Вы писали:
A>Здравствуйте, Michael7, Вы писали:
M>> "Контроль версий" на работе сводился к наличию общего сетевого ресурса и своих папочек там, возможно с подверсиями и договоренности кто над чем работает. Может это чисто мой такой опыт, тем более дело было не в сугубо программистской конторе, а институте.
A>Моя практика показывает, что для небольшой команды (до ста человек) этого достаточно.
странный опыт.
как без VCS жить в команде из 3х человек — не представляю.
Re: Шаринг и мержинг кода в доисторические времена
Здравствуйте, pestis, Вы писали:
P>RSC — 82 год, а до него был SCCS — 72 год. Как файлы появились, так и системы контроля версий написали, благо задача элементарнейшая.
В 72-м году файлам было минимум уже 15 лет (как именованным областям диска в ранних ОС), а вот ничего даже уровня SCCS ещё не было. На осознание, что же надо делать, эти пятнадцать лет и ушли.
The God is real, unless declared integer.
Re[3]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, LaptevVV, Вы писали:
LVV>Удаляешь полколоды перфокарт, и добавляешь новую колоду перфокарт...
Если объем колоды примерно 1000 карточек, и в самый ответственный момент кто-нибудь неосторожным движением смахнет ее на пол, такое удаление-добавление становится очень нетривиальной задачей.
Re[3]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, Michael7, Вы писали:
M>Но почему-то этому у нас даже не учили (кстати и сейчас не везде учат). И в пухлых книжках было о чем угодно .... но только не о контролях версий.
Во-во. И слыхом не слыхивали.
M>Я такие слова как "система контроля версий" вообще услышал
А мне объяснили в машине, по пути на собеседование к крупному оутсорсеру. Естественно, на соответсвующий вопрос ответил как-будто всю жисть. Взяли.
Re[4]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, yatagarasu, Вы писали:
Y>Здравствуйте, netch80, Вы писали:
N>> На осознание, что же надо делать, эти пятнадцать лет и ушли. Y>Перфокарты можно было и руками смерджить )
Так и делали. Руками, чёрканием на бумаге... Но вообще тогда бранчи были как-то не в ходу. Первые проблемы, которые предполагалось лечить в нескольких версиях одновременно, это уже во времена хоть каких-то систем, хотя бы тот же SCCS.
The God is real, unless declared integer.
Re[4]: Шаринг и мержинг кода в доисторические времена
Возможно управление проектом было другим. Каждому программисту давали область работы, файлы, алгоритмы над которыми работал только он. Файлов, которые правились несколькими людьми не было. А если были, то перед началом правки файл эксклюзивность блокировался. Но количество таких файлом было минимально. Отсутствие системы контроля версий требовало более высокой культуры организации проекта.
Это мои фантазии и предположения, в том что так было на самом деле не уверен.
Здравствуйте, Kingofastellarwar, Вы писали:
K>а когда не было систем контроля версий, как народ большие проекты писал? или они всегда были?
у меня первый проект больше 30k строк был в 91 году
тк PC стоил как жигули ее разделяли во времени и во время процедуры пост сдал пост принял — рассказывали что нового в проекте
для merge были утилиты аод MS DOS
а превый ПК на котором написал работающую программу в 86 не имел дисплея весь ввод тумблерами в hex и хранения на перфолентах
старшие товариши хранили перфоленты в сейфи и выдавали по запросу
Re[3]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, Michael7, Вы писали:
M> "Контроль версий" на работе сводился к наличию общего сетевого ресурса и своих папочек там, возможно с подверсиями и договоренности кто над чем работает. Может это чисто мой такой опыт, тем более дело было не в сугубо программистской конторе, а институте.
в маленьких группах этого как не странно хватает. там где 2, максимум 3 программиста работают.
Re[2]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, sergey2b, Вы писали:
S>а превый ПК на котором написал работающую программу в 86 не имел дисплея весь ввод тумблерами в hex и хранения на перфолентах S>старшие товариши хранили перфоленты в сейфи и выдавали по запросу
Даже для 86-го года это было ну очень сурово.
Re[3]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, Michael7, Вы писали:
M>Здравствуйте, sergey2b, Вы писали:
S>>а превый ПК на котором написал работающую программу в 86 не имел дисплея весь ввод тумблерами в hex и хранения на перфолентах S>>старшие товариши хранили перфоленты в сейфи и выдавали по запросу
M>Даже для 86-го года это было ну очень сурово.
я конечно описался не в hex а в двоичной системе тумбллер+светодиод на каждый разряд
завод выпуска микрокоонтролеры на i8080 и для местных програмиство было привычно, еще делали ПК Океан из Микропроцесорная техника и системы, затем уже ПК с CP/M на 8" дискетах
зато какой драйв, особенноо когда принесли первую коробку РФ2 и стали собирать ROM диск
вот честно неглядя вернулся бы в то время
зато когд а впервыйй раз примерно 86-87 увидел класс на ямахах это был экстаз
у меня лежит схема zx подписаная 86 годом — краснодарский вариант
на доставании z80 я сломался, но рк86 у меня был тк на заводе была вся нужная комплектация
Здравствуйте, igor-booch, Вы писали:
IB>Возможно управление проектом было другим. Каждому программисту давали область работы, файлы, алгоритмы над которыми работал только он. Файлов, которые правились несколькими людьми не было. А если были, то перед началом правки файл эксклюзивность блокировался. Но количество таких файлом было минимально. Отсутствие системы контроля версий требовало более высокой культуры организации проекта.
Мы так работали до перехода на cvs. У каждого файла был владелец — имя отражалось в заголовке исходника.
Если требовалось внести изменения в чужой файл, то либо передавали "хотелку" владельцу файла, либо договаривались с ним об изменениях.
Батничком с xcopy внутри выбирали измененные файлы, ими обменивались либо через модемное соединение, либо на дискетах.
В целом процесс был отлично поставлен, но был более трудоемкий и требовал аккуратности в работе.
На cvs перешли, когда стали работать в одном офисе и появилась локальная сеть.
_____________________
С уважением,
Stanislav V. Zudin
Re[6]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, Stanislav V. Zudin, Вы писали: SVZ> До ста человек — не знаю, а вот до 30 вполне себе работало. Работали удаленно — СПб, Москва, Минск, Сиэтл, еще где-то в Штатах. Был специально выделенный человек, который принимал от всех измененные файлы и делал "актуальную" сборку. Обменивались измененными файлами по электронной почте.
Т.е. вместо VCS был специальный человек. Сомнительно в плане удобства и расходов.
Здравствуйте, Dziman, Вы писали:
SVZ>> До ста человек — не знаю, а вот до 30 вполне себе работало. Работали удаленно — СПб, Москва, Минск, Сиэтл, еще где-то в Штатах. Был специально выделенный человек, который принимал от всех измененные файлы и делал "актуальную" сборку. Обменивались измененными файлами по электронной почте. D>Т.е. вместо VCS был специальный человек. Сомнительно в плане удобства и расходов.
Неудобно, согласен. Однако и времена были давние. Я через момед работал — ADSL у меня появился году в 2005-2006.
А доступ к vpn появился только в 2007 году (тормоза были жутчайшие).
Насчет расходов — это была почетная доп. обязанность одного из разработчиков.
Довелось работать и с VCS, использовавшими email в качестве транспорта. Тоже, скажу тебе, штучка. Удалось от нее отказаться только из-за того, что на 64-битной Вин7 перестал работать MAPI32.
_____________________
С уважением,
Stanislav V. Zudin
Re[4]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, neFormal, Вы писали:
M>>Но почему-то этому у нас даже не учили (кстати и сейчас не везде учат). F>и правильно! на собеседованиях это не спросят.
Это один из стандартных вопросов.
И каждый день — без права на ошибку...
Re[5]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, B0FEE664, Вы писали:
M>>>Но почему-то этому у нас даже не учили (кстати и сейчас не везде учат). F>>и правильно! на собеседованиях это не спросят. BFE>Это один из стандартных вопросов.
не, стандартные вопросы — это гномики, алгоритмическая сложность контейнеров и уровни изоляции транзакций.
а экосистема — это хипстерство
...coding for chaos...
Re[6]: Шаринг и мержинг кода в доисторические времена
Здравствуйте, neFormal, Вы писали:
M>>>>Но почему-то этому у нас даже не учили (кстати и сейчас не везде учат). F>>>и правильно! на собеседованиях это не спросят. BFE>>Это один из стандартных вопросов.
F>не, стандартные вопросы — это гномики, алгоритмическая сложность контейнеров и уровни изоляции транзакций. F>а экосистема — это хипстерство
Я настаиваю. На собеседованиях во Франции, вопрос о знании систем контроля версий является обычным.
И каждый день — без права на ошибку...
Re[7]: Шаринг и мержинг кода в доисторические времена