The state of version control

Performance wise I’m pretty neutral when it comes to using either of the two major version control system (Subversion & Git).  The main difference is that Git is decentralized, but either can do the job well.  However; where Git wins for me is in the developer community and adoptions.   Github has made versioning social.   This is HUGE when you think about what this means for opensource projects.   The network effect will apply.

I follow the principle of DRY (Don’t Repeat Yourself) in software development and in life.   When I’m coding or try to solve a problem I’m now able to see if people have gone before me and already solved it or built something that I can re-use.

One way to see the adoption is with Stack Share:

SVN has only 87 stacks ( https://stackshare.io/search/q=svn ) using it, at the time of writing this.

VS

GIT with over 3549 stacks ( https://stackshare.io/search/q=git )  in use.

Granted stackshare.io is not in any way an academic way of doing a comparison.  It is only one indicator of many you should use when making a decision which versioning system to use.

Some other great resources:

GitHub Flow: https://guides.github.com/introduction/flow/
Semantic Versioning: https://semver.org/
Git Resources from GitHub competitor: https://www.atlassian.com/git

 

 

 

 

The Future of Code 10111

As a developer and business leader I sometimes wonder about what the future of programming will look like.    Will web ever win or will there always be a place for native development.     Having explored this pretty thoroughly over the last couple years I tend to think that we will continue to see the leap frog effect.   Where web technology eventually catches up to the look and feel of native animations and there is a period of bliss in which it’s cheaper and faster to build on web.   But then native releases a new release and leap frogs ahead leaving web technologies playing catch up again and again and again.

Wether you are in the Web , iOS, or Java camps I’ve come to realize that when deciding on the technology for building an application it should be in a case by case basis.   If I’m building a game for only iOS that has a lot of animations then the decision is easy.  If I’m building a form based app for a business to run on multiple platforms the decision is easy.  But when building an app that blurs these lines it is very important to drill down into features and team talent to make the right decision for picking technology.

Javascript has become the most popular / used programming language but this doesn’t mean web is winning.  The time it takes to code a plugin for cordova / phonegap can sometimes scare you into sticking native.

The release of swift and how a like it is to javascript makes me think we are heading into a future where most languages look and feel like javascript if we aren’t even already there.  This is an easy language to understand and use and one of the most powerful.

The future….everything has an API that developers can access and the first SDKs will start on JS and work there way down to support other programming languages.   It’s the beginning of the rise of the developer.