The next software development revolution is here… Are you ready?
Are we in front of the next era for software development? Are you ready? or are you going to become a dinosaur developer?
I remember that around 10 years ago object oriented started becoming the main stream in software development, even though C++ was already been used, it was not up to the consolidation of Java that companies started moving to OOP massively, that at least, was the experience I had in Spain where I was working back them (I suppose this would happen a few years before in US, but I would appreciate very much the feedback from any reader to confirm it), back in those days, companies expended huge amounts of money training people that was previously working with some other not object oriented languages as C, Pascal, Cobol… there was a lot of excitement, frustration, success stories and also complete catastrophes… it was a revolution as some of you will probably remember, well, in my opinion, something similar is happening again.
199x – The source code revolution (The OOP revolution)
As I said above, UML, Java, OOP paradigm… were the buzz words back in the 90s, people believed again that they had found the silver bullet for development, if you didn’t know how to do a UML class diagram or Java, you were not on the cool side of programming.
Lots of programmers had to learn a new software development paradigm, which was not easy, the most veteran developers were the most troubled, some couldn’t adapt and end up doing “sequential” programming embedded in objects, (which of course defeats the whole purpose of OOP), some of them eventually change their mindset and eventually started thinking in objects, and for some others, quite a big group actually, that mindset change was impossible, and they end up maintaining legacy code, (in the worst case scenario you can still find some dinosaur programmers still doing this “sequential” programming nowadays).
200x – The process revolution (Agile/lean…)
Now we are in the middle of the next revolution, this time not focused on the source code, but in the processes, the buzz words are: agile, lean, TDD… As with the previous revolution there is probably going to be a big readjustment, and the big question is: “Are we prepared for it?” As in the 90’s, there are going to be a lot of professionals which won’t be able to keep up with all the changes, so the big question is: Are we going to be one of those future dinosaurs developers? My own recommendations are:
- Try to be as informed as possible. Read, ask, do some training, but above all make sure you understand, it is almost as dangerous to learn about something without understanding it than no knowing it at all (think on all the programmers that still think that TDD is all about testing).
- Be proactive. Show initiative; show that you actually do understand the new processes.
- Don’t be religious. As with the OOP source code revolution, there are some people that believe that these changes are the silver bullet for software development, be aware that there is no such thing, so be wise and don’t accept something just because is new, first put that in your project context and analyze if it will work for you.
Bonus: 201? – The source code revolution II? (Functional programming?)
Well, if what I called the “Process revolution” is a revolution which in my opinion is happening right now, the “Source code revolution II” is something which I’m guessing will happen just after the “Process revolution” just as soon as people start to understand that is not the silver bullet, so my guess is that the focus will go back to the source code and we will probably see the commercial massive adoption of new programming paradigms as Functional Programming… What do you think? Will this become the next revolution? Is the Process revolution the current revolution?
Related posts:
![[Google]]( http://www.makinggoodsoftware.com/wp-content/plugins/easy-adsenser/google-light.gif)
in Spain we are still digesting the first (generally speaking), the second is been cooking in a few circles and the last…”haskell?? what is haskell? lisp? isnt it this old language with a lot of parantheses for artificial intelligence??”
jneira
28 Oct 09 at 12:00 am
[...] This post was mentioned on Twitter by Igor Sukharev and Tomaž Muraus, Paco Márquez. Paco Márquez said: RT @tweetmeme The next software development revolution is here… Are you ready? | Making Good Software http://retwt.me/1AMpZ [...]
Tweets that mention The next software development revolution is here… Are you ready? | Making Good Software -- Topsy.com
28 Oct 09 at 8:05 am
I remember getting all excited about FP back in the late 80′s. Good thing I didn’t wait for it to elevate in the hype cycle.
Eddie Haskell
28 Oct 09 at 8:48 am
The next generation should be a relational language.
More and more, the main activity of software users is not to create the objets,but to link them, to match them, to tag them etc …
A language including the object model but focusing on managing relations between object will fit the next big need.
i dont know what is that language but i observe users and that’s what i see.
euromix
28 Oct 09 at 9:17 am
About the only revolution we’ve had in development is the mainstream acceptance of garbage collection. OOP, Agile, Functional programming are not revolutions.
Rick
29 Oct 09 at 9:34 am
For processes I think scrum is realy good and working. For FP… what do you think is the next F-Java? I don’t see it out there. Scala? Hm. Maybe maybe. And I don’t know any colleque jumbing on the F-train at the moment.
Sorokan
29 Oct 09 at 9:45 am
There was a C++ revolution. Then the internet revolution, during which C and Perl where battling it out for the CGI language. Java was being marketed as as client side Applets, but Sun finally caught on came up with servlets. Then, there was a server side Java revolution. Since then there hasn’t been a significant revolution and I can’t imagine what would propel one.
Sean McEligot
29 Oct 09 at 10:16 am
Right now there’s a huge revolution going on in the database area for web apps. Collectively referred to as NoSQL, there is a rash of new databases that aim to replace relational databases like MySQL.
There’s also a trend towards more web oriented aware software. CouchDB, one of the NoSQLs, comes with it’s own HTTP server. The newest source code control tools are distributed and come with their own HTTP server too (git, Mercurial, Bazaar).
Javascript is probably the most popular of all the functional languages.
On mobile phones there is a big swing towards open source software.
And there still are lots and lots of dinosaur places doing good old C and C++ development.
Gregory Strockbine
29 Oct 09 at 3:27 pm
i think that there will be a merge between the UML and the Programming Language so the product will be the Visual Programming Language. this is much more popular in Computer Graphics field but i think when the right time comes this will be the 201x
seifsallam
6 Nov 09 at 9:55 am
Functional Programming is about 50 years old and first surfaced in Lisp in the late 50s…
If we’d to vote up the “next revolution” of system development, my vote would go to “O2 Software Process/Architecture” …
(Follow the link in my signature to see it)
Thomas Hansen
17 Dec 09 at 5:03 pm
2 words: Semantic Web
Mark
3 Apr 10 at 12:24 am