Dyslexic Programming

Aakash Garg
3 min readNov 6, 2016

--

In my previous post I have discussed how it has inspired my thinking. In this post I will share how I applied this to my programming.

Life is full of errors at every moment. If I’m building anything I need to ensure that its stable against those errors. How do I get those errors? Thanks to Dyslexia I face all those obstacles/issues while building that solution. Like when I write code i face all issues related to ordering of function calls, But I can literally image function calls while debugging as people standing in some order with hands joined as function invocations.

While writing code, I imagine class as a house, functions as rooms. variables as table chairs in that rooms. Room doors as function calls. So its easy for me to say that variable in hat room not in this room. I you need it in other one you need to send it through door. Static variables are like all rooms have a common wall all showing the same painting on same wall.

When I see code in a methods I see it as a room of variables. I have a habit of keeping my room clean and everything accessible else its irritating and fighting long to find something in that unmanaged room is frustrating. So its natural to me keep code clean, and everything accessible like my room. Since I’m imagining code as my room.

The variables/logic inside code blocks in function calls are like items encapsulated in my bed, bag. They don’t lie outside it. With this I can easily assimilate and visualise Object oriented programming. Hence I love Java. Everything is packaged like bags (pick the one you need). Classes as house, methods as rooms, methods param variables as objects passing though room door. Also every peace of method name is speaking for itself what its doing. I wish if we could have names which represented what we do. Though it might be refactored.

When deciding which logic to reside in which class I visualise classes as person. Since a person can be good at one thing only. A class should contain only logic at which it is good at. it should not care about other things. I will ask his friends classes to do work which others are specialised at. Thats what we do in real life also. We ask different specialised people to do what they are good at. You will not do the doctors work, electricians work, lawyers, Logistics. You ask people companies who are good at it. Like in programming all agree on 1 common language (Java in my case), in real word they all agree on common language money.

Building Solutions: While building solutions I think of whats the problem, whats the parent problem which caused this problem, and so on. I get to the source which caused the issue, and what problems it chained through it. We mostly try to solve the chain which was caused by the issue, not the root cause. Solving for chains is like wrapping the nodes of chain, if more nodes gets added you will have to build again to wrap new nodes. Its better to solve for the root. Exact solutions are not always mostly possible because life is full of errors but approximate solutions can be built. solve for the root and prevent it from expanding.

Hence I love they way we write code, not just writing it. How its being designed, architecture is what excites me the most. since I am visualising it simultaneously. Working in my 2nd startup, slowly I’m blending this approach in economics, product.

Keep it small, easy, simple, clutter-free, without maintenance. So that Dyslexic people like me can understand it. If you can built products, solutions, code like that then, every other person on earth can easily understand it and use it.

//TODO: add more content here.

--

--

Aakash Garg

Tech, Economics, too much curious. Life is too short to waste on small things/work without impact/use. learning life. Lazy, Hard work, intelligence, Velocity.