Code means communication

Home » Blog » Software » Code means communication

Writing software is all about communication.

Code is a way of conveying the meaning of natural language requirements in an exact manner so that computers can make sense of the intentions of our fickle human minds and the often ambiguous ways we tend to express ourselves in.

So, in that respect software development amounts to translating human concepts and notions into a language machines can understand.

However, communicating with machines is only one, more technical aspect, of writing software. The by far more important facet of code as a means of communication is communicating with other human beings. Unlike common belief, software development is a highly communicative trade: Business requirements have to be clarified; problems and impediments need to be discussed; progress (or lack thereof) must be announced to the team; both released products and internal APIs have to be documented to be useful.

By writing code, not only do you tell a machine how to deal with data inputs and workflows but you’re entering a conversation with other developers as well, including your future self! Who hasn’t experienced a WTF moment after looking over one’s own code after a few weeks and being at a complete loss as to the original intention of that code segment? This is also why personally I’m averse towards code comments (especially those mandatory ones enforced by code style guides):
If you need to comment your code you haven’t been communicating clearly enough in the actual code in the first place and your code likely can be improved upon! So, instead of wasting time commenting your code, try to improve the code itself to make it more comprehensible.

In this regard, web developer Christian Mackeprang wrote an interesting blog post about writing good code and how to reduce the cognitive load of your code. Christian mentions several good habits for writing readable, understandable code such as dividing code into small, digestible parts.

These habits are a good way to start becoming a better communicator through code.

2 Comments

    Leave a Comment

    * Checkbox GDPR is required

    *

    I agree

    By continuing to browse the site you agree to our use of cookies. Privacy Policy

    Privacy Preference Center

    Strictly necessary

    These cookies are necessary for the site to function.

    PHPSESSID: Preserves user session state across page requests.

    __cfduid: Used by the content network, Cloudflare, to identify trusted web traffic.

    PHPSESSID
    __cfduid

    Preferences

    Remembers the user's submitted data when a comment is submitted in a blog post. The purpose is to aut o-populate form fields for subsequent comments, in order to save time for the user.

    wfvt_#

    Statistics

    Statistic cookies help us to understand how visitors interact with our websites by collecting and reporting information anonymously.

    _ga: Registers a unique ID that is used to generate statistical data on how the visitor uses the website.

    _gat: Used by Google Analytics to throttle request rate.

    _gid: Registers a unique ID that is used to generate statistical data on how the visitor uses the website.

    collect: Used to send data to Google Analytics about the visitor's device and behaviour. Tracks the visitor across d evices and marketing channels.

    _ga,_gat,_gid
    collect

    Security

    We use Wordfence to secure our website against hacking attempts: https://www.wordfence.com/

    wordfence_verifiedHuman

    Close your account?

    Your account will be closed and all data will be permanently deleted and cannot be recovered. Are you sure?