DEV Community

Panda Quests
Panda Quests

Posted on

How did people develop software before git or version control?

Latest comments (27)

Collapse
 
zilti_500 profile image
Daniel Ziltener

Another approach that was around was that you'd simply have one person actually write the software, with a team around in some kind of "pair programming", and there wasn't actually any source code in files. Instead, the program was a "living thing", an image, and source code a mere serialization of its state. That was mainly done on lisp machines, but other languages that followed that approach were e.g. SmallTalk. Pharo is an example of that.

Collapse
 
phantas0s profile image
Matthieu Cneude • Edited
rsync -arvz my_super_website user@145.134.234.210:/var/html/my_super_website

Or Filezilla.

... it was a mess. I don't even want to speak about Subversion. Git is a weird tool, pretty difficult to learn, even more difficult to master. But it brings so much flexibility.

Collapse
 
sebbdk profile image
Sebastian Vargr

Like now, but they wore old timey clothing.

Collapse
 
joppedc profile image
JoppeDC

This reddit post is worth a read.

reddit.com/r/sysadmin/comments/eap...

Collapse
 
mylesftop profile image
Myles

I used to work on a project that used SVN, but also had header comment blocks with file authorship, creation date, and a list of key changes.

Collapse
 
leob profile image
leob • Edited

Here's a REALLY interesting piece of background about the "ancient" history of version control systems, this goes back even to the time BEFORE computing started, describing the processed that were used in industrial engineering (managing technical drawings and designs):

red-gate.com/blog/database-devops/...

Of course none of those "version control" processes were automated, I guess there were "librarians", just people who archived versions of the drawings in "file" cabinets, just drawers with codes and numbers where they kept the old versions of the drawings.

When computing started with mainframes and punch cards (where a computer with the processing power of your contemporary PC or smartphone would be as big as your living room), "version" control used these same manual processes - as a programmer you would give your "deck" of cards to a librarian who would "archive" a version of it in the "library" (just a storage room with cabinets with drawers containing physical copies of the card decks, organized and numbered so that people could find and retrieve them).

I think that truly automated Source Control started after UNIX "mini computers" were invented, which did not use punch cards and printers anymore but keyboards and "terminals" (monitors). The oldest source control system was SCCS invented in 1972:

en.wikipedia.org/wiki/Source_Code_...

None of this was networked or multi-user, it must have been clumsy and difficult to use, here you can read about how laborious it was to use it:

ericsink.com/vcbe/html/author_back...

So, from that time onwards "source control" existed but I'm pretty sure that for less important programs people didn't bother with source control, they just dumped backups of their "spaghetti code" programmed in dBase III Plus or whatever on a 360Kb floppy disk and called it a day :-) .... source control was probably just for the "high end".

Around 1984 Microsoft introduced "SourceSafe" and I think from then on source control really became "mainstream". Then CVS came (better than SourceSafe), SVN came (better than CVS), then GIT came (WAY better than all the others), and the rest is history :-)

Collapse
 
toby profile image
toby

Document control processes are still used to today to control versions, access and write access. I've even seen such implemented as part of ISO90001 compliance in industry in recent years

Collapse
 
robertomaurizzi profile image
Roberto Maurizzi • Edited

While, as many are saying, there were other source code management systems before git, they weren't widespread and, at least where I'm from they were considered a waste of time...
Of course developing in a team was an ugly mess, but the tendency was to split work in folders/be more modular, and make a lot of backups (more than once a day) so you could get to older versions of your code in case of serious problems.
Git especially (since branching is extremely cheap) improved things hugely: first time I used it after a few years on subversion it was like having superpowers 😂

Collapse
 
claysiefken profile image
Clay Siefken

There were many revision/version control systems prior to git, but practices have matured and standardized since then. It can be as simple as a tarball with a timestamp going to tape backup if you're into 80s style.

Collapse
 
1link profile image
1Link.Fun
$ ls -la
application-source-code-20200713.zip
application-source-code-release.zip
application-source-code-release-final.zip
application-source-code-release-final-1.zip
application-source-code-release-really-final.zip
application-source-code-release-really-final-patch-1.zip
Collapse
 
pandaquests profile image
Panda Quests

Lol

Collapse
 
spiritupbro profile image
spiritupbro

da best answer fosho

Collapse
 
michaelcharles profile image
Michael Charles Aubrey
mv /var/www/html /var/www/html.bak.1995-12-08
mv /var/www/html.new /var/www/html