---------------------------------------------------------------
nahanap ko to dati sa isang forum at na i-save ko for reference.
gusto ko lang i-share baka maka help. di ako gumawa neto
***from Daniweb forums***
Authors:
-- Iron_Cross
-- Punch-M6.net
-- NeoNemesis
-- Puckdropper
-- Jag3k
---------------------------------------------------------------
I often see people asking the same question over and over, "How do I learn to program, and where do I start?" Some people may take that question to the next level by asking, "Which language should I learn first?". The answer to those questions is fairly simple, but also a little subjective. So I'm going to attempt to help solve those very valid, logical questions.
How do I program?
Programming is the act of giving the computer information and directions to complete a certain task. Most often programming is achieved by typing in a certain "Programming Language" into a normal text editor, then compiled (or 'made' into machine language that the computer can understand) into native or interpreted code, which I'll explain soon. There is also several programs that are called IDE's or Integrated Development Environments. These are useful in several aspects. For one, they look similar to a normal text editor, but they color coordinate your code, to make it easier to read at a glance. They can also perform automated tasks for, that ease up the amount of typing you have to do. They also provide a single area to write, compile, link, test, and run your programs, without having to use several different utilities. But you are not forced to use an IDE, it just makes your job, as the programmer, slightly easier. Now, you can't just use any IDE you want, most often, IDEs are specialized for a certain language. Search for the proper one for your language (programming language, not spoken).
How do I learn to program?
Reading and practicing. That is the short and sweet answer. Search the internet, at places such as google, yahoo, dogpile, lycos, hotbot, and other popular search engines for tutorials and books on the specific language you are trying to learn. I also recommend buying a book, books will help tremendously. You could go down to your local book store, or search amazon.com for a specific book. I don't recommend going to your library, because you will be forced to read and 'cram' the knowledge into your head, which is not good. Plus libraries rarely have up-to-date versions of the books you need. With the rapid development and updates of programming languages today, you need to find the most recent edition of a book you can, or you may miss out on valuable information. I have also added a few simple resources at the end of each section to help you find the information you need.
What all can I do with [Insert Language]?
The possibilities are limitless. So long as you're a creative person, you can do just about anything. Of course some languages are better suited for certain tasks, but still. If you've got the will, it's possible. To see what languages are good for your task, see the below sections.
How long does it take to learn to program?
This is very hard to answer. Some small scripting languages you can pick up in a few hours. Other major languages, such as C++, you may be able to grasp the basics within a few days or weeks, but would take years to fully master. It all depends on how dedicated you are, how well you learn concepts, how much time you spend reading learning and practicing, as well as which language(s) you choose to learn.
What language is best?
There really is no telling. Some languages are better suited for some tasks, while other languages are better for other tasks. For instance, you wouldn't use C++ for a web based application, you'd probably choose a web scripting language, or Java or Perl. Each language has their own strengths and weaknesses, which brings me to the next question.
What is OOP (Object Oritented Programming) and should I learn it?
Object Oriented Programming, or OOP for short, is a programming paradigm that says everything is a unique object. You build applications with "objects". Such as, you'd build a car with different unique "parts", the same is true with a program. You as the programmer are responsible for "making" each part (Actually making a blueprint of the part) then putting them together to do something useful. Procedural programming is mentioned a lot when you hear of OOP, Procedural programming is where you program by making a "to-do list" for the computer, which it then goes down the list. OOP is becoming almost the only way to do things now a days, so it's a must to learn. Learning a programming language that implements OOP is a very wise choice, though it's not required.
Which language should I learn first?
The only way to answer this is to know why you want to program. Each language has its strengths and weaknesses. Here is a VERY short rundown of some popular major languages:
C - Perhaps one of the most famous programming languages. C is robust, procedural (as apposed to Object oriented) extremely fast language. C is used in many commercial games and applications because of it's speed. Yet C also it's drawbacks, being that it's not object oriented, and there are many languages that could do C's job, only slower. But with today's market for productivity and such amazing computers, the speed difference is slowly slipping away. Many people ask if they should learn C before tackling C++, the answer is that you don't have to. Some would even say it's not very good for you to. I stand in between, if you learn C first, it might be a little easier, but you'll have to unlearn a lot when you move to C++. Personally, I think they are equally challenging, so I would say to go ahead and learn C++ if that's your goal, but that's just my opinion.
Pros:
-- Large usage base. Easy to find help, other programmers, libraries etc.
-- Simple core language, with further functionality being added through the use of libraries.
-- Very powerful. If your computer can do it, it can do it through C.
-- Low-level unchecked access to computer memory using of pointers.
-- One of the fasted running languages.
-- C code can be used in C++ applications.
-- Programs are compiled and stand alone, no need for interpretters (sometimes external libraries will need to be installed on the target PC).
Cons:
-- Relatively difficult to learn.
-- Very little safety net. If you choose (accidentally or otherwise) to make a program that will access memory incorrectly and horribly break your system, it won't stop you. It only pulls you up on compile errors.
-- Non trivial programs could be hard to port. Programs have to be compiled for each specific platform.
-- Not strictly object oriented.
-- Code can get messy easily.
C++ - A very powerful, and a very 'complete' language. C++ is an Object Oriented Programming (or OOP) which has some VERY good qualities to it. It has strengths such as speed, performance, and flexibility. But it's weaknesses consist of it being overwhelming to new programmers, and it is not platform independent. C++ code can easily get very complex, yet it's performance normally makes up for this. C++ is mainly used for many desktop applications, such as many of those run on Microsoft Windows and other Operating Systems, and some games (such as Quake III). This is a very nice language, yet extremely large and complex. Tackle this language if you need a fast application and are willing to WORK at it.
Pros:
-- As close to a universal programming language as you're likely to get at the moment. It's used everywhere.
-- Object oriented technology included, highly supported and recommended, but not forced upon you.
-- Programs are stand alone, no need for interpreters (sometimes external libraries will need to be installed on the target PC).
-- Easy to port to other platforms if standard C++ guidelines are adhered to.
-- Many libraries available for added functionality.
Cons:
-- Quite difficult to learn. You'll never really stop learning new things about it (which is also a pro, I guess)
-- Non-trivial programs aren't easily ported if they use platform-specific libraries (e.g. DirectX etc.)
-- Programs can be slightly larger and slower than those programmed in C.



Reply With Quote




