I became sold on version control fairly far back in my programming life. Back when CVS (C0ncurrent Version System) was the standard. I learned it, although there were varied gaps in my use of it, so it never became second nature. As I learned more about newer version control systems, I tried them out. For a while, I was using SVN (Subversion), which is similar enough to CVS, but has some nice improvements. More and more folks are moving to distributed version control systems. I began to understand the great advantages of those systems, and decided to pick one to standardize on. Git stood out from the others in terms of popularity and resources. And, I figured anything Linus Torvalds wrote was good enough for me. That was last year. This year. drupal.org is moving to Git, making my life oh so much easier.
In my daily life, Git has 2 major advantages: version control and comparison of versions even when I’m not connected to the internet (you have your own actual repository, not just a working copy), and its speed. It takes less time to clone a whole repository of code than it does to check out a working copy using CVS or SVN! It’s really worth checking out.
I imagine Git will become the new CVS – the new standard, until something better comes along to supplant it.
Tagged as:
code,
Software,
tools
I’ve been spending a fair bit of time in the last couple of years learning to code in a new way. It reminds me of a transition I made in coding from having written stand-alone applications for varied computers, to writing code for the web. When I was in college, grad school and early in my academic career (this dates me – from the early 80s to early 90s), I spent a lot of time writing stand-alone applications, mostly in Pascal and C. The shift from that kind of code, to writing for the web was a lesson in protocols, constraints, and different ways of troubleshooting.
The transition from writing free-form web applications, to writing modules for Drupal, or APEX customizations for Salesforce, is another set of lessons in protocols and constraints. First, it’s not enough to understand the syntax and form of the language (this is especially true for APEX – and beware the required test coverage!) One has to understand how the surrounding application works – what APIs or methods one can use, and how. And unlike long standing languages, there aren’t lots of detailed cookbooks and that sort of thing lying around – a lot of it is learning from other folks, as well as just learning by trial and error.
And, in my small forays into learning frameworks like CakePHP, Ruby On Rails, and others, it seems like these days, coding for the web is many lessons in constraints – which is a good thing, I think. Even though it feels like beating my head against a wall, it’s nice to know that I won’t “dump core” and break Salesforce (although I for sure have broken Drupal on occasion!)
Tagged as:
apex,
code,
drupal,
salesforce