Solved

how to become programmer?

Posted on 2010-09-12
12
22 Views
Last Modified: 2016-05-26
i like software and i dont know how to becomw good programmer.
0
Comment
Question by:tungdt
12 Comments
 
LVL 65

Expert Comment

by:rockiroads
Comment Utility
what is your background? best course of action is obviously doing a course.
some good tutorial websites available also like w3schools (http://www.w3schools.com/)

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
etc

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 freecountry.com)


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

have a read here on more tips http://www.wikihow.com/Become-a-Programmer
0
 
LVL 14

Expert Comment

by:top_rung
Comment Utility
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.

0
 

Expert Comment

by:djuzoran
Comment Utility
use net and find some tutorials, step by step
0
 
LVL 13

Expert Comment

by:Surone1
Comment Utility
indeed google is your friend.
google translate will also help.
0
 
LVL 32

Expert Comment

by:phoffric
Comment Utility
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:

http://www.academicearth.org/courses/programming-methodology
http://www.academicearth.org/courses/programming-abstractions
http://www.academicearth.org/courses/programming-paradigms

0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 

Author Comment

by:tungdt
Comment Utility
@phofriec :Have you got any suggest idea ???(more website ,more methodology,.v.v.v)

Give me more information
0
 
LVL 32

Accepted Solution

by:
phoffric earned 500 total points
Comment Utility
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:
    http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Dstripbooks&field-keywords=Making+it+Big+in+Software

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.)
0
 

Author Comment

by:tungdt
Comment Utility
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 ?

0
 
LVL 32

Assisted Solution

by:phoffric
phoffric earned 500 total points
Comment Utility
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,
     http://www.academicearth.org/courses/programming-abstractions
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:
    http://www.youtube.com/watch?v=tyVhn0FWWB4

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:
http://msdn.microsoft.com/en-us/beginner/cc305129.aspx


===

You should be aware of POSIX programming in *nix systems. Here is a beginners article:
    http://w.e-e.com/QvWVDd

Here is a tutorial on Linux Software Development:
    http://www.yolinux.com/TUTORIALS/LinuxTutorialSoftwareDevelopment.html
and here is the Linux C++ tutorial:
    http://www.yolinux.com/TUTORIALS/LinuxTutorialC++.html

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

For an Xserver, use Xming:
     http://sourceforge.net/projects/xming/
     http://en.wikipedia.org/wiki/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:
    http://www.microsoft.com/express/Downloads/

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:
   http://w.e-e.com/4dhXx8

===

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

You can read:
  http://www.amazon.com/Introduction-Algorithms-Third-Thomas-Cormen/dp/0262033844/ref=pd_sim_b_1
along with the online lectures:
  http://www.academicearth.org/courses/introduction-to-algorithms

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.

===

Networking:
Here are a number of online references and tutorials:
    http://w.e-e.com/zvWrv2

===

There are free C++ books available online or for download. This link will give you a nice set of bookmarks for you to review:
   http://w.e-e.com/7v3vOW

===

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.
    http://w.e-e.com/1P9umx
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.
0
 
LVL 2

Expert Comment

by:maggc
Comment Utility
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
0
 

Expert Comment

by:EE_AutoDeleter
Comment Utility
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
0

Featured Post

Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

Join & Write a Comment

Programmer's Notepad is, one of the best free text editing tools available, simply because the developers appear to have second-guessed every weird problem or issue a programmer is likely to run into. One of these problems is selecting and deleti…
Jaspersoft Studio is a plugin for Eclipse that lets you create reports from a datasource.  In this article, we'll go over creating a report from a default template and setting up a datasource that connects to your database.
THe viewer will learn how to use NetBeans IDE 8.0 for Windows to perform CRUD operations on a MySql database.
The viewer will learn how to use and create new code templates in NetBeans IDE 8.0 for Windows.

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now