Living in a software world of objects

Living in a software world of objects

Even though it was a lifetime away in 1989, I distinctly remember learning the C programming language using the excellent book by Brian Kernighan and Dennis Ritchie (quite aptly and unimaginatively called C Programming Language) as my guide. I thought the language was beautiful and eagerly joined The Santa Cruz Operation in Watford, just outside of London, to test my skills on System V Unix.  

It was only a year into my career as a professional software engineer that I read a book that changed my life, “Object-Oriented Programming: An Evolutionary Approach” by Brad J Cox. It may surprise many of you to discover that Brad invented Objective-C, the language of choice until very recently for iOS and OS X. Brad transformed the “beautiful” C language into something extraordinary, he introduced objects. I was hooked. It wasn’t just a new programming language, it was an entirely new way of thinking about programming. I could now model the world more faithfully by creating software objects and having them undertake tasks or actions just like in the physical world.  

Although I was now dreaming of a world of object-oriented programming I was still programming in C. Then, to my delight, fate came knocking at my door in the form of a bank I had never heard of called Swiss Bank Corporation (a name that needs no further clarification). SBC was looking for Objective-C developers to build trading systems for the NeXTSTEP computer. I joined SBC on August 17th, 1992.

As I delved deeper into the art of object-oriented design and programming, my entire thinking changed, I experienced a paradigm shift. The power of object-oriented design and programming allowed me to create better and better software, software that was easier to maintain and understand. I now shared a common language with the traders who used my software. I talked about the objects expressed in my software which mirrored the real world the traders occupied. The internal design of my software continued to evolve to better model the business of derivatives trading.

My discovery of object-oriented programming directly enhanced my ability to create awesome software. Software created without objects quite simply wouldn’t have been as good in whatever metric you care to use. For example, my software was easier to change, easier for new developers to understand, less buggy and more flexible because of the use of objects. So I’m perplexed but the recent lack of enthusiasm for object-oriented programming amongst developers, especially more junior ones.

Functional programming seems to be all the rage now. I confess I’m no expert at Functional programming and I am sure it is excellent for some domains like analysing data. However I would be very surprised if a Functional programming language was a better choice than a object-oriented programming language for a general purpose application. I doubt one could construct a coherent model-driven design using a Functional programming language, or perhaps I’m wrong - it wouldn’t be the first time.

If you are a software engineer who has moved from object-oriented programming to Functional programming because of its superiority then please enlighten me and my fellow dinosaurs on what we are missing out on. 


要查看或添加评论,请登录

Dr James Leo的更多文章

  • Loserthink by Scott Adams. A review.

    Loserthink by Scott Adams. A review.

    In the UK we have been gripped by Brexit for several years. Some say it will cause rack and ruin to the UK’s economy…

    2 条评论
  • I’m a software developer because I know Java. Are you sure?

    I’m a software developer because I know Java. Are you sure?

    There is no doubt, it’s hard finding good software developers. However it’s not hard finding those who profess to be…

    37 条评论
  • Only Fools Learn by Their Mistakes!

    Only Fools Learn by Their Mistakes!

    A wise old man once told my much younger self, “Only fools learn by their mistakes, clever people learn by others’…

    2 条评论
  • Further thoughts on BREXIT

    Further thoughts on BREXIT

    Since the vote to Brexit, hasn’t the outpouring of passion and emotion (on both sides) been truly amazing. Friends and…

  • Thoughts on BREXIT

    Thoughts on BREXIT

    One would be forgiven for thinking that Armageddon has happened in the UK after the referendum on Thursday voting for…

    6 条评论
  • Lee Kuan Yew - Leader

    Lee Kuan Yew - Leader

    For those who don’t live in Singapore or haven’t been watching the news lately, you might have missed the passing of…

    1 条评论
  • The Science of Change

    The Science of Change

    I am told, with authority, that change in companies is hard to implement and painful for those undergoing it. But when…

    2 条评论
  • How to succeed at sales

    How to succeed at sales

    My Dad was a wise man and would often tells me short stories or sayings when I was a kid, the kind of stories that…

    1 条评论
  • Learn To Love Your Boss

    Learn To Love Your Boss

    In the heady days of the dotcom boom when everyone wanted to become a millionaire by starting their own internet based…

    2 条评论
  • The Secret To Reaching Your Goals

    The Secret To Reaching Your Goals

    I bet everyone who is reading this has made goals which they have achieved. And I also bet that everyone who is reading…

社区洞察

其他会员也浏览了