Hello guys .. unlike my regular posts today I decided to make a non technical post so no zeros or ones today :).

A lot of people ask how hard is it to learn programming instead of answering the question I decided to tell you a story that may be will help you decide for yourself.

A long time ago when I was a kid I developed a passion for using computers, at first it was all about games but later it became a passion for learning new programs.

After a while that wasn’t enough and I started asking the question “where’s the program that makes other programs”, at first it was a question for myself but then I decided to ask my father, he looked at me and he said what do you mean .. I said : all these programs, there must be another program that makes them. he looked at me agian and said “I really don’t know”.

My question wasn’t answered and I kept looking for answer that I couldn’t find until one day that I will remeber for the rest of my life.

My father bought a CD for windows 95. The CD was 700 megabytes which is much smaller than win95 files so the guy who created the CD (it was a pirated copy) decided to fill it with anything so he put a lot of programs like visual fox pro, office .. etc and because I was lucky he decided to put visual basic 4 as well.


I start opening each program on the CD trying to figure out how it works and if I like it, I keep it installed otherwise I uninstall it, at first I opened visual fox pro and I didn’t like the fact that it doesn’t generate exe files and you need visual fox pro to open the files.

Then it was visual basic turn. I opened it and it looked really ugly but I still wanted to see how it works. at first because of the play, pause and stop buttons I thought it’s related to videos or multimedia but when I start exploring I found something amazing in the file menu it was called “Make exe file” and I was shocked .. that’s it, the program that makes other programs .. I clicked it and for my surprise I made my first program .. an empty form that does nothing.

I started jumping and screaming “I did it” .. my brother came and asked what is happening and I said I made a program and he said what it does and I said nothing .. but it will.

Then my journey trying to learn programming without knowing that it’s actually called “programming” and with a bad pronounciation of “visual basic” that my father corrected after a while. If you’re curious I was pronouncing something like “visal basc”.

At first my idea was that if I created a button and wrote “exit” on it then it should exit the program so that’s what I did, but it didn’t work .. now I’m stuck with no internet and no books so i decided to try to open the examples and there was a lot of them with visual basic so I looked at the prorgams and I found that they put ambersand (&) before the caption (for .net guys it’s now called text property) so I thought that is it and I added the (&) before exit so that it becomes “&exit” which ofcourse didn’t work because it was simply to use alt and the first letter as a shortcut for the button.

Now I’m devastated and wondering what is difference between the example and my program, I started clicking around in anger and double clicked the exit button and I found some text which was “unload form1”, so I opened my program to see if my button have the same text and it didn’t so I copied the text from the example to my program and run the program which finally worked and I was able to close the form.

Then, I started learning by copying and pasting pieces from the examples and expermenting .. after a while I was able to code .. I was able to figure out if statment but not loops or variables .. yes I was programming without variables or loops 🙂

You’re probably wondering how can you program without variables or loops and the answer is simple. For loops I used a timer with interval of 1 millisecond and for variables I put a label in the area that doesn’t show in the form and then read in and out from the caption property .. worst coding style you will ever hear about .. right? 🙂


After we moved back to egypt and internet became popular I went to a “cyber cafe” with a list of websites to visit that I collected from magazines.

Later I met yahoo and start looking for visual basic .. I was shocked when I knew it wasn’t the only “program that makes other programs” and I realized that what I was doing have a name and is called “programming”.

I started looking for tutorials and discovered variables which made me laugh about how I used label captions instead of declaring variables and then I understood loops and finally have a knowledge of visual basic now.

After some time I wanted to make games and start looking around and almost everyone online told me that I need to learn c or c++ first and that was my first encounter with C and C++ and I started learning them .. may be I will tell you that story later in another post.

The point is if some kid was able to find “the program that makes other programs” and use it to make his own programs then whether you’re an adult, teen or even a kid, you can do it too.