Your tool does matter

Your choice of programming language reflects the expediency of youth versus the wisdom of maturity. If Java, Python, PHP, Ruby, JVM and .NET all led you to class-based OOP hell, it’s time you break loose and onto the promised land of functional programming (FP). OOP is like taking the blue pill. OOP has led you to a make believe world, a misdirection, a sleight of hand, a reality distortion field.

But you don’t have to take my word for it. You may have experienced OOP and it gets the job done. Well, that is the nature of software. It may have solved your problems in the small scale but at what cost? What are the tradeoffs? Development complexity? Software is intangible so you better look out for things that are not directly measurable but affects the bottom line which is developer productivity.

Now, if you think functional programming is a silver bullet, you are missing the point of FP. Functional programming does not eliminate imperative programming (IP). Rather, the former complements the latter. Moreover, functional programming is a mere subset of declarative programming paradigm.

If we adopt JavaScript and Go as the first programming languages to teach our students, we can surely defeat The PHP Singularity now and into the future.

Which leads us to a corollary:

IT is 20% software development and 80% operations.

You may be using the best tools for software development but it won’t shield you from the larger problem of operations. Operations include storage, networking and computing, the backend stuff that are invisible to users behind the graphical user interface. Mastery of operations is the reason why you cannot simply topple Facebook or Twitter or Google or Amazon because software development is just a small part of the overall picture.


One Comment Add yours

Subjectivity aside, leave a reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s