Saw an old video commercial shared on Facebook today. It is an advertisement from the 90's about the benefits of NeXT versus SUN Microsystem. NOTE : This commercial also signifies the beginning of object oriented development methodology as oppose to traditional procedural programming – which is popular at that time. Looking back, I can see that developers today are still facing the same old developer's problem - efficiency. Choice of tools or programming languages still play a big part in determining a developer's productivity. How fast you are able to ship out your end product depends on whether you use cutting edge technology or primitive tools. Tools that either make your life healthier or getting tedious by the end of working day. Still remember back when I was doing tech support (that involves programming in proprietary language) 1st year – use Windows desktop(written in Delphi) application with distributed Oracle databases in KL and London. Fast data entry and search functions. Reporting tools are so user friendly, managers love it. Able to solve 5 to 10 tech support tickets per day and still have time for ping-pong game before going home. 2nd year - “upgraded” to PHP based tech support web application, highly customisable but not so users friendly. Single MySQL database in US shared by 3 tech support locations in APAC/EMEA and Americas regions. Productivity level slightly lower because of slow internet connection in KL. (Pre-fiber days). Still manageble. 3rd year – the company I worked for, got acquired by a “blue” company and switched to a Windows 3.1 application with a mainframe in US as backend server. The mainframe software is written in assembly language and I'm pretty sure that it is older than me by 30 to 40 years. Productivity level took serious hit. Only able to solve 3 to 5 support tickets per day. Solving customer's technical problem was easy. My bottleneck was spending too much time figuring out how to use the Win3.1 application, which has many buttons with abbreviation. Apart from writing down the technical solution for the problem encountered by customers, I need to enter the amount of time spent and lines of code written so that the company knows how to charge the customers. Using the primitive tools some how killed my spirit by wasting my time. Needless to say, I left the company soon after. Fast forward to today. If printing has moved on to 3D from 2D, perhaps it is time now for the current programming model to move to 3D as well. I can visualize that in future, programmer can create new algorithm just by imagining the process scope and automagically the codes or logic will appear on their fingers. Instead of sitting infront of terminal and key in character by character to form the source code. Maybe in future, developers get to develop programs by doing tai-chi moves such as : Image credit : YouTube – Iron Man 2 – SFX montage by Prologue Films. Summary : As for 2015, developers are still doing the same thing or some people might put it this way – same shit, different days. Yep, still converting coffee and coke to codes. By the way: Any startups out there looking to "disrupt" the current programming model that we inherited and probably will pass on to future generation? Kinda something along this kind of thing : Let me know.
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.