Let Us C is not merely a book, but a bible for millions of programmers in India. In this week's Techie Tuesdays, we bring to you story of Yashavant Kanetkar, the man behind this book. How a man from a humble middle class background in Nagpur went on to become a name all engineers swear by.
When Abhishek* entered NIT Allahabad, he had two shortcomings: he did not understand English and had never worked on computers before. Naturally, he was concerned about the computer programming course he had to take in his first year. But ten years later, Abhishek is today an ace programmer who not became only a software engineer right after graduation but also pursued post graduation in Computer Science in the US later.
What helped instill so much confidence in Abhishek during his under graduation days that he could do away with his fear of coding? What made him comfortable with language C like his own mother tongue? The answer to that is Let Us C, one of the most popular books to learn C programming.
Abhishek's is the story of millions of engineers who graduated over the last couple of decades. A major chunk of software engineers in India were introduced to C programming through Let Us C. Today, in our Techie Tuesdays column, we speak to its author, Yashavant Kanetkar, the man who has contributed in his own way to the software revolution of India, one programme, one chapter and one book at a time.
Born and brought up in Nagpur, Yashavant went to the school located nearest to his house. His father is an electrical diploma holder and mother a PhD in Political Science. Education, naturally, topped the family's priorities. Yashavant had developed a great interest in poetry in his school days, but he says his English teacher lacked the skills to help hone it further. As a result, he let his love for poetry wither away. He says that is his biggest regret in life.
Yashavant went to VJTI to pursue Mechanical Engineering, the most popular branch those days. While forging metals, he also forged some lifelong friendships during his college days.
At his internship at Mahindra & Mahindra(tractor division), Yashavant created an attachment for the lapping machine,which fetched him a job in the industry engineering department at Escorts Ford. But it soon became clear to Yashavant that he wanted to do things differently. He cleared GATE (Graduate Aptitude Test in Engineering) exam and got into IIT Kanpur Mechanical Engineering department.
Owing to IIT Kanpur’s collaboration with US universities those days, there was a 24/7 computer science centre accessible to students. The theses of all MTech students were associated to computed science in some or the other way. Yashavant made use of the finite element method for Electro Chemical Machinery process. This needed a lot of computing. He also learnt FORTRAN IV and COBOL, two of the most popular languages those days. In his last couple of months at IIT Kanpur, he got his hands on an IBM PC,a bunch of which had just arrived at his college, and tried developing some programmes in BASIC language on PCs. The seeds of a programming career were thus sown in a mechanical mind.
While others scrambled to find jobs during placement week, Yashavant decided to skip it as he had decided in his earlier job(before joining IIT Kanpur), that he’ll not take up a job. He recalls,
The only way to avoid a job then was by leaving Kanpur. So I took a train to Nagpur and went back only after placements.
When he returned to campus, everyone had a job but him. Eventually, he packed his bags and came back to Nagpur, never to return this time.
Opportunity and accident
Yashavant wanted to set up a factory in Nagpur to manufacture locks of VIP suitcases. VIP agreed to make him the vendor and everything was ready, but money was a problem. Yashavant went from one bank to another for a loan. They were willing to fund him, as he was a qualified person, but on the condition that he chipped in 25percent of the total project cost of Rs 5 lakh, an amount he did not have.
During his loan hunting, he met the manager of a State Bank of India, who said that if any graduate engineer wished to start something in ITand computing, it would be treated with priority. He immediately submitted a proposal to set up a computer training centre and received a loan of Rs 50,000. One PC was priced at almost Rs 45,000 and he used the loan money to purchase that. With this, Yashavant set up a computer training centre in a one-room setup.
But this was not exactly a rational decision. Given his limited exposure to PCs, Yashavant didn't know much about them. He remembers,
There was only one reset button in the front. On/Off switch was on the back. There was only one floppy drive. Hard disk was yet to arrive. Processor speed was 4.77 MHz.
But the machine intrigued him enough to soldier on.
Related read - Meet the chief architect of Aadhaar, Pramod Varma
Thus began Yashavant's journey towards self-education.He started learning computing by reading books. He referred to GW BASIC manual to pick up BASIC. Though he wrote his thesis in FORTRAN IV, he couldn’t do much in it because its compiler wasn't available for PC(Kanpur had a mainframe computer and FORTRAN IV compiler was very much a part of it).
Later on, he learnt dBase 3+ created by Ashton Tate. It was helpful in creating commercial-level programmes like billing payrolls and inventory, which come in handy at small companies. Whatever he learnt, Yashavant taught his students at his computer training institute as well. He also started helping students from nearby local engineering colleges with their projects on computer programming.
On one such project, students of a college were asked to work on the new programming language C. They didn't know C, and neither did Yashavant. They requested him to teach them C by reading a book on the programming language. He remembers,
It was the beginning of my business where the basic rule is - you never say no.
So, he bought Dennis Ritchie’s book on C programming. Soon, he realised that it was compiling the programme in UNIX, so he got the tiny-c interpreter on a floppy drive from a shop in Mumbai and returned to Nagpur. He tried it on some of the smallest C programmes and was delighted to see it working just fine.
Yashavant liked C because of its brief and succinct nature. He found COBOL and BASIC to be too long. When he asked his students to read Ritchie’s book, they said they could not understand. That’s when he sensed an opportunity to write a book. But this thought remained dormant for many years.
At a Computer Society of India conference, Yashavant met the editor of Express Computer, a magazine published by The Indian Express and expressed his interest to write a column for the magazine. 'The C column' happened and Yashavant used it to share interesting C programmes. He says,
I tried to correlate the programmes with normal life. That honed my skills of writing. This column became instantly popular and I met people who said they purchase Express Computer only to read my column.
The column ran for almost five years. Meanwhile, a person from Delhi visited Yashavant with a bunch of the BASIC language notes that he used to give his students. He offered to convert the notes into a book. Yashavant agreed, as this would save him a lot of time and efforts.
After six months, he received a parcel with his book - Programming Expertise in BASIC. He requested 30 copies of the book for his students. Six months later, he got another envelope from the same publisher. This time with a cheque of Rs 4,800. This made him realise the possibility of making money by writing books. That's when he started writing Let Us C.
Let Us C
While working on Let Us C, Yashavant wrote another column called Object C++, which ran for two years. Writing columns gave him a lot of confidence and taught him a lot about how to begin a chapter and how to not get stuck. He took a year to complete Let Us C. There were no desktop publishing software those days, so the book was sent to Delhi for typesetting. Yashavant attributes the book's popularity to its simple language.
Yashavant and his wife went through 18-20 names including '20000 leagues under the C', before arriving at 'Let Us C'. They chose it because it was very simple like the content of the book.
Let Us C went for republishing (new editions) almost every year since its first print. Today, it is in its 15th edition and has been translated into Hindi, Gujarati, Korean, Japanese, Mandarin, and many more languages. Almost four million copies of the book have been sold. The book has not only helped Yashavant commercially and given him name and fame, but it also enabled him to touch millions of lives. Yashawant also created Quest in 2010 with an ex-Microsoft employee. Quest is a content delivery platform that distributes video tutorials by Yashavant. Till date, 26 titles have been recorded for Quest(now with Japanese edition).
After the success of Let Us C, Yashavant has written almost 40 books on C++, JAVA, C#, embedded systems, device drivers, web services and more. His mantra to choose a subject is simple: he would learn, teach and write about anything that interested him. Though Let Us C has become Yashavant’s most popular book, he has derived immense satisfaction from writing two others- Undocumented DOS through C and Writing Windows Device Drivers. He says,
I had a really tough time understanding these two topics. On top of it, writing the book in a way that everybody can understand it was a big challenge. Not many people are interested in these two topics so these books weren't sold as much.
Other books that gained huge popularity are Understanding pointers in C, Data structures through C, Let Us JAVA and Test your C Skills.
C on plane
One of the most complicated programme that Yashavant has worked on was an assignment given by Air India. When an aircraft takes off and lands, there are close to 400 parameters that are recorded during the flight. A few minutes into the the aircraft landing, these parameters decide whether the plane is fit for the next flight. To record these parameters, Boeing aircraft uses the fairly complicated ARINC protocol. Yashavant was able to create the programme using C to help maintenance engineers understand the health of the plane. What was satisfying for Yashavant was that there was a lot of responsibility associated with it.
For aspiring tech writers
Yashawant believes that technical correctness and the right usage of terminology is of paramount importance for technical writing. He says,
You should progress from a simple programme to a complex one to a further complex programme. It’s important to handhold people in the initial stages. People should cross their first hurdle easily.
According to Yashavant, Indians think differently about programming. He adds, "You cannot begin with a 100-line programme and keep on explaining. Nobody has patience for that. Small things have to work first. You've to write a five-line programme, then a 10-line one and then a 100-line programme."
What makes a good programmer?
According to Yashavant, a good programmer is someone with an open mind, who is willing to make changes in the programme, and who doesn't take anything he has written associated with his ego.
What defines Yashvant?
Yashavant believes that professional success has to be kept away from family life. He values simplicity above all. He likes competent people because there's always something to be learned from them.
Let Us Fiction
Yashavant is now writing a novel with one of his old friends. It’s based on the medical profession, a field Yashavant has observed from close quarters, his siblings and wife being doctors. They are already halfway through with it and the book may see the light of the day by the year end.