6 ms·
To me what was most surprising about Dwarf Fortress, given the complexity, is that Tad didn’t use git or any other code repository until more recently.
by chaostheory 5y ago
To me what was most surprising about Dwarf Fortress, given the complexity, is that Tad didn’t use git or any other code repository until more recently.
- AnIdiotOnTheNet 5y agoWhy would that be surprising? For a single programmer working alone Git is an incredibly complicated tool. P.S.: A lot of you are confusing "complicated" with "difficult".
- Pet_Ant 5y agoOr any other is the point. I mean even locally I depend on commits as save points to just allow me to go crazy and experiment with the code. I mean you can just copy the codebase elsewhere as backup but using git or mercurial is easier than that.
- nolok 5y agoNot saying you're wrong, but to explain "how is that possible over 20 years without ever blowing things up": he says he uses visual studio since the beggining (the full blown ide). Since he's working alone, he can easily use the local backup feature of it, which allow to easily rollback to automatically made copies of files, diff and cherry pick between current and backups, etc ... It's basically done automatically for you. As long as you save your project regularly and don't need to merge code with anyone, it can go a long way.
- AstralStorm 5y agoActually extremely easy. Git add -a, git commit, git push. It only gets complicated if you try to do complicated things.
- nhooyr 5y agoI believe it's: git add -A With a capital A.
- kapp_in_life 5y agoIs it? That's when git is simplest, having a single branch and never merging removes most of the complexities of git.
- AnIdiotOnTheNet 5y agoSure, but it also removes most of the reason to use Git.
- potatoman22 5y agoIn my experience, most people use git as version control. Branching etc is very useful, but not necessary for a 1-person project.
- flatiron 5y agoIt is if you want to bug fix released items but keep steam rolling features for the next version.
- tonyedgecombe 5y agoI find branching useful whilst working on my own, I certainly wouldn't want to go back to CVS/SVN.
- hhjinks 5y agoDon't underestimate all the useful information a complete git log contains, even for solo developers. You can look years back and find out exactly why a change was made.
- emteycz 5y agoI invite you to try using Git as much as possible for two weeks. After a week I started using Git for branching out of my main branch to test several different ideas and then compare them at once with other developers - colleagues or friends. I think that moved the meetings and discussions with my teammates up a level.
- fatbird 5y agoChange history, if nothing else. That alone brings a ton of benefit, from being able to view earlier versions, to recovering from mistakes or lost code. If you have a remote repo then, you can also have offsite backups. If you never branch, it's still massively worth it.
- asciimov 5y agoDoes git have benefits, yes. Are git commands obtuse and unfriendly, yes. The problem is that git is not intuitive and isn't automatic. I've seen more people loose code to git than be saved by having their repo offsite.
- wisemanwillhear 5y agoWhile Git is not without it's complexities, but as a developer who must use it with teams anyways, I find there are very simple workflows with almost no cognitive load that I'm able to use for my personal projects. Not only does this give me snapshots of my projects from any point in time, but backups as well since I use a free GitLab account as well.
- AnIdiotOnTheNet 5y agoYeah sure, but for someone who's workflow started 20 years ago without Git, it shouldn't be at all surprising that they kept not using Git for a long time. There's really no reason to be surprised at all about this unless you're the kind of person who never did any programming before, like, 2010 and lack the imagination or knowledge to understand how programming could be done without it.
- wisemanwillhear 5y agoI can't disagree with that. We must all make wise decisions with endless competing "priorities" and limited time. As someone who is on the other side and believes in the value of continuously growing one's skills, I want to convince people that Git has value in learning and using. More tools in our toolbelt makes us more effective craftsmen. Which the DF developer did get around to doing...
- nhooyr 5y agoNo it isn't! It's so easy and effective for keeping track of your work and backups. If you want the absolute simplest way to use git, just setup an alias to do: alias gcmp="git add -A && git commit && git push" Now all you need to do is run gcmp every time you're ready to log the new state of your codebase. How could it be simpler? git only becomes more complex as your needs become more complex. At which point I'd recommend using something like https://magit.vc/ https://magit.vc/ which makes complex git operations far easier. The CLI can only take you so far effectively unfortunately.
- darkarmani 5y agoWhat? How it more difficult that CVS or even RCS that lies under CVS? That would have been the OS tool back in 1998.
- AnIdiotOnTheNet 5y agoFor lone developers in 1998 it's more likely they would just occasionally make a copy of the code somewhere. That's still more or less how I work on my own stuff.
- godshatter 5y agoI agree with this. I've been using cvs as my source control system of choice as a solo developer on my own projects for years and haven't switched to anything newer. I use git at work, but it's not worth the hassle for me at home. The workflow with cvs for me is basically "cvs update" (in case I need to know what changed) and "cvs commit". I rarely use branches. I religiously make one small-ish fix per commit and at least compile it, though I always run smaller things. If I switched to working with a team I'd definitely use git. But for just me, cvs is all I really need. The most complicated thing I do is probably tag a release or revert to a previous revision of something, which is pretty rare.
- Bayart 5y agoBasic git-fu (init, add, clean, commit, pull, push, branch, merge, stash, log) goes a long way to make your life easier. You can leave the fancy stuff for later. There are even git repos of 99% done .gitignore files for most needs [1], which is most of the setup work for a solo project. [1]: https://www.toptal.com/developers/gitignore https://www.toptal.com/developers/gitignore
- p1necone 5y agoI can't imagine working on any personal project without git. How often have you been working on something for a while, noticed part of it that was working before was now broken and had no idea why. If you'd been making regular commits to git you could go through recent/pending changes and work out was was different trivially. Git is also incredibly simple on single person personal projects, just git init, git add, git commit and some way to view the history and pending changes (either the command line, or most editors have a built in viewer).
- dpcx 5y agoDid he finally start using one? I know that was one of the things that blew most people away, is that he had no change history for most of his code...
- chaostheory 5y agoI could have misread, but in a less recent interview, I think he has been using git within the last two years. The interview where he mentioned that he didn’t use any source code repo was 4 years or older.
- AstralStorm 5y agoWell, if you deeply understand the code and reasons behind it (or it's superbly documented esp. with tests), the tool does not bring much beyond being a convenient backup or checkpoint system. And especially if you don't have to work with a team.
- chaostheory 5y agoI feel that a free and open tool that allows you travel through the 4th and 5th dimensions with your code is very useful, especially when everyone tends to forget what they've written several months ago. It's also a tool that forces you to document your changes. Is it possible to climb a mountain without equipment? Sure, but it's a lot more dangerous and it'll take you longer to reach your goal.
- reader_mode 5y agoI mean using SCM became the norm in maybe last 10-15 years ? When this was started I don't think using SCM was as ubiquitous as it is today, not to mention on a solo project. If you've been hammering away since then I can see how you might have missed it.
- dangoor 5y agoPretty sure all of my professional work used SCM starting in the mid-90s (CVS). May not have been the norm for solo devs at that point, though.
- reader_mode 5y agohttps://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/ https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-s... I've seen this post brought up as relevant regularly up till 2010. You may have been lucky to avoid the dredges but SW industry in the 2000s was a copy-paste fest (not in the "copy from stack overflow" sense but as in "copy paste instead of creating a function"), PHP with SQL in templates and string concat queries all over the place, MVC was a revolution. I'm not saying this was everywhere just that it was very common. I'm sure some wise guy will come up with retort that MVC was used in the 70s and what not, but my point is a lot of the industry discovered it with Rails and Django. The way that we teach programming these days and languages/tools/frameworks just make some bottom tier mistakes from the past impossible (or very impractical). People often ignore this context when evaluating modern framework
- coliveira 5y agoIn the Windows world SCM was not generally available until SVN was released as a File Explorer extension. This was sometime in the 2000s. Git took several years to become viable on Windows.
- GordonS 5y agoIIRC, Microsoft's TFS (Team Foundation Server) also came on the scene in the early 2000's. I first used SVN around that time, before TFS became the standard at Microsoft shops.
- Octopodes 5y agoAm I mistaken, or isn't his given name "Tarn?"
- chaostheory 5y agoYou’re right. I tend to make mistakes typing on mobile.