how to become programmer?

i like software and i dont know how to becomw good programmer.
Who is Participating?
phoffricConnect With a Mentor Commented:
Firstly, I should mention that the 2nd link in my previous post uses C++ to illustrate programming techniques. Be forewarned that C++ is considered a difficult language to learn in its entirety.

Yes, I'm sure I and others will be happy to provide you with more information. As the field is immense, as you can see if you look through all the EE zones where you can ask a question, then it is important to narrow down your vision to something obtainable. We (and you) need to get an idea of the things you would like to do in software. To complicate things from a couple of decades ago, the division between software and hardware is sometimes blurred. Now, software designs are implemented by HW engineers in ASIC, and conversely some items that were exclusively in the HW realm (e.g., front-end signal processing filters) are now in the realm of SW engineers having a strong EE background.

From the above comments, I hope you see that the question is too open-ended and needs to be narrowed down by you. Heck, there are even books on the subject:

Your budget and time are also major factors in giving assistance. Many Software Engineers, for example, go to school 4 years after high school, and then land their first job. Some even take 6 years (Masters degree) before getting their first job.

So, tell us about your budget, amount of time you wish to spend, and your educational background and skill levels, especially in the math and sciences. (There is one peculiar characteristic that I heard a couple of times - if you are a good musician, then that is correlated to an aptitude in programming.)

BTW - the odd thing about programming is that much of what is taught is not appreciated (and deeply understood) until one digs a hole so deep that it is not easy to climb out of it. (However, big companies do this all the time, but they have gotten away with this, sadly enough.)
what is your background? best course of action is obviously doing a course.
some good tutorial websites available also like w3schools (

if u are totally new then you need to learn the basic concepts and defintions like

what is a variable, operand etc
how to define methods
how to use iterations

also depends on what language you wish to start from to use as an example

obviously using java is free and so is the ide like eclipse
ms have express editions of their dotnet
you can still find old skool language compilers like ada (think in

next is the question of what type of programmer, web? applications? allrounder?

have a read here on more tips
Most important (education aside), getting your hands dirty!  While making every attempt to follow documented standards, write code, experiment, look at other's code and figure out what it is doing, what could be done differently, etc.

Nothing can replace experience!  You can read all the books, watch all the videos, and come out of it not able to write an application of any substance.

Good luck.

Cloud Class® Course: Microsoft Azure 2017

Azure has a changed a lot since it was originally introduce by adding new services and features. Do you know everything you need to about Azure? This course will teach you about the Azure App Service, monitoring and application insights, DevOps, and Team Services.

use net and find some tutorials, step by step
indeed google is your friend.
google translate will also help.
I like video course from online (free, while it lasts) universities. Take these courses and do the assignments. If you like math, which is useful for many types of programming projects, then take those courses as well.

Here are Computer Science courses  (CS 1,2, and 3) from Stanford:

tungdtAuthor Commented:
@phofriec :Have you got any suggest idea ???(more website ,more methodology,.v.v.v)

Give me more information
tungdtAuthor Commented:
Hi phoffirc

First of all ,thank for response.

I'm a programmer since 2001 .

My Skill :C# ,PHP,ASP,Java(with CMS,Portable,WINDOW-FORM available).
I 've worked 3 year as a professional C# programming.

But now i want to become a professional  C++ programming .I don't know where do i begin (because i haven't got C++ experiences).

So i need to know : MFC,HW engineers in ASIC,NETWORKING(focus on  HW engineers in ASIC and NETWORKING) for a beginner.

Could you give me any books or websites?,also tell me how to begin ?

phoffricConnect With a Mentor Commented:
Hi tungdt,

Ok, I think you are pretty good shape to learn C++ since you know C# and Java. Maybe better than coming from, say a C background, since you already know OO principles. Both backgrounds should made the transition to C++ easier (but expect compiler errors if you keep transitioning between C++ and the other languages - it is easy to mix up the similar syntaxes).


Of the above course links,
this one is a good C++ course. But if I recall, it assumes you now a little C++:

If you prefer to be spoonfed, then here is the spoonfed anti-RTFM C++ tutorial video:

I have briefly looked at it, but it is for beginners and a little slow at times, and I don't think it covers advanced topics.

Here is Microsoft's Tier One: C++ Beginner's Guide:


You should be aware of POSIX programming in *nix systems. Here is a beginners article:

Here is a tutorial on Linux Software Development:
and here is the Linux C++ tutorial:

Currently, I have Cygwin on top of Windows XP. For Cygwin download:
and click the "Install or update Cygwin now!" button. Be sure to select developer tools, like gcc, g++, ddd.

For an Xserver, use Xming:

In order to learn, you have to practice extensively. And you have to learn from your mistakes. One excellent free tool (that you are already familiar with) is Visual Studio 2008 Express. Its download site is:

To help you find the mistakes, I recommend getting familiar with the debugger immediately. This article will help you start debugging C++ in under 30 minutes:


Algorithms (not specific to C++) but used in many applications:

You can read:
along with the online lectures:

This course has an emphasis on complexity analysis, and has nice examples, showing a procession of changes when passing through the algorithm. Difficulty Level = often hard. Only pseudo-code is provided.


Here are a number of online references and tutorials:


There are free C++ books available online or for download. This link will give you a nice set of bookmarks for you to review:


You are not the first person here at EE to ask about learning C++. Scan through these to get different approaches matching up your learning style profile with the others.
Since there are 1000's of hits, I suggest you do the following: At the top to the right of "Search", hit the "Advanced" Search" button. (Wait for the ADD NEW FILTER button, and hit it). Filter by "Zones -> Programming -> Prog Languages -> C++ => All C++ (or MFC, if interested). At bottom of screen is number of hits per page, which you may want to set to 200.

Now you should be able to get a wealth of advice, and you will be able to match your own profile and interests with those of the askers to find a best fit.


I've never worked with MFC. Microsoft still supports it. But there is debate as to whether it is worth learning for the future. You can ask a separate question if you wish to pursue this discussion on MFC.

I've never done GUI using C++ (did a small amount of Motif using C), so I don't know much about that area. I hear that QT, OpenGL, Glut, are popular GUI development packages to work with (and I'm just starting to look into the latter two for some algorithm visualization projects).

If you are inclined to do embedded software interfacing with HW (yes, even kernel I/O drivers are written in C++, rather than pure assembly or C), then you should study digital logic (starting off with simple AND, NOR gates, and building up). You do not need to become an Electrical Engineer HW designer; but it will help if you know enough to talk them efficiently on the HW/SW interface. If you plan on doing that, ask for advice in the Embedded Hardware zones.


I wish you good luck and good practice in your endeavors. If you try a problem (hopefully simple ones at first), and run into difficulties, then you can ask a question here at EE, and get pretty quick responses.
I'd start with something simple like Visual basic programming in Excel. You can record macros to see how the commands work. You can define simple loops and program structures and instantly see the result since Excel uses an interpreter and no compiler.

You'll quickly get a good feeling for writing a program.

From this point on, you'll have the basics and can start with more advanced languages. You must know what you target platform is:

web programming: php, html, perl ...
windows: c++, c#, java ...
iPhone, MacOS: Objective C
I've requested that this question be deleted for the following reason:

No comment has been added to this question in more than 21 days, so it is now classified as abandoned and is now flagged for deletion.

If there is a valid solution, please OBJECT and indicate the comments that are, or would otherwise lead to, a solution.

Use the specific format http:#axxxxxxxx for comment ID(s).

Also, please don't object simply because the author did not respond to your comment. While we understand this is frustrating, unfortunately we cannot force the author to return to the question. Unless you feel you have presented a valid, verifiable solution we'll simply delete the question.

Experts-Exchange Auto Deleter
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.