MouthShut.com Would Like to Send You Push Notifications. Notification may includes alerts, activities & updates.

OTP Verification

Enter 4-digit code
For Business
MouthShut Logo
32 Tips
×

Upload your product photo

Supported file formats : jpg, png, and jpeg

Address



Contact Number

Cancel

I feel this review is:

Fake
Genuine

To justify genuineness of your review kindly attach purchase proof
No File Selected

Prog-Tips
Jun 15, 2003 05:01 PM 2580 Views
(Updated Jun 16, 2003 08:04 PM)

Dear Mouth Shutters -


As per some members' request, here I go, assuming these are only for the starters!




  1. Which programming language should I learn?




Before this question - ask yourself why you want to learn a programming language? Just for fun? or looking for a career?


If your question is the second, my advice is that a programming language may earn you an employment but certainly not a career! Millions of Indians burnt their hands by learning Java thinking it would give them a great career across the globe! I am sure at least half of them do not know why Java CANNOT be a'machine indepedent' language. Heard about Java Virtual Machine? If you have no answer to why Java CANNOT be machine independent, you probably learnt a language but not programming. Ask those Java programmers what JVM means - no wonder, they would answer - the same Java program runs on any machine, processor without having to change the program because it is'machine independent'. How stupid. Is it a magic? Is there a magician sitting on Windows to interpret a program written on a UNIX machine to run it on Windows?


My answer is - it doesn't matter which language you learn. What matters is you learn the programming concepts. A little explained, if I have to add two numbers - I can do it in Java, Pascal, the age old COBOL, Basic, C, C+, CHILL and so on. How I should do is what is programming is all about. The logic is more important. And logic is language independent.




  1. Be clear about fundamentals. Understand that everything happens only because of 0s and 1s in a computer. Learn Binary numbering system. Learn how the numbers are stored in a computer's memory. Learn how characters are interpreted in the machine.




  2. Learn how multiplication, addition, subtraction, division happens in a machine's CPU. Learn how a fractional number is represented in a computer's memory? What happens if I write a program that divides a number by zero? Why it happens?




  3. Learn some basics about a compiler. How the compiler converts your program to the 0s and 1s.






All this - before jumping on to any programming language.




  1. Then decide which programming language you would like to learn. Structured? Object Oriented?




  2. Best thing to start would be'Structured'.'C' is a good way to start.




  3. Don't right away start writing a program. Take some existing programs and run them. Try to understand how they work. Show your stupidity deliberately on these programs. I mean add your own statements here and there. Compile them. See how the compiler behaves. Compile the same set programs using a Turbo C compiler or a Microsoft C compiler or even an ANSI C compiler. Compile the same on a UNIX machine, LINUX machine. Understand the differences. Grasp why they are different.




  4. Learn data structures - again, these are programming language independent. Data structures are like the foundation of a building. If you aren't strong in them, you are only as strong as a building over a weak foundation. To start with, look at what arrays mean, then move onto queues, stacks, trees and so on. It is just insufficient to know stacks, queues, trees. Know where they are used. Why they are used. Unless you do this, you can't be a good programmer.




  5. Learn algorithms. These are like the heart of a program. If your algorithm is efficient, your program runs faster, needs less resources of a computer - memory, disk space, number of CPU cycles etc.




  6. Combine your expertise in data structures and the algorithms. There you are - with a wonderful program.




  7. Once you are fairly experienced in writing good programs you can start becoming'high level'.'High level' means you are at a much higher level from the processor that runs the program. The higher you go, the easier it is to write programs.'Low level' means you write programs that are close to 0s and 1s which is cumbersome, error prone, complex, time consuming and so on. It is for these reasons that many programming languages have evolved, using  a computer's capabilities in their own way. Some are efficient, some are not. Some are designed for writing GUI screens, some are designed to write programs for a space shuttle.






Hope this review does give you a good starting point.


Upload Photo

Upload Photos


Upload photo files with .jpg, .png and .gif extensions. Image size per photo cannot exceed 10 MB


Comment on this review

Read All Reviews

X