Sunday, October 4, 2009

Quality bandwidth in the world


Information Technology News:
Report quality bandwidth in the world is provided annually in South Korea as the best country in the world and a leader in quality broadband bandwidth is introduced in 2009 and as Bahrain, Qatar, UAE, Saudi Arabia and Pakistan in the name of this list are present. According to the October, reported by the school quality bandwidth and business side of Avydv (Saïd Business School and the University of Oviedo) on behalf of the Company Cisco (Cisco) have been conducted in South Korea ranked first quality bandwidth and quality and influence each other is introduced. According to the South Korean leadership bandwidth in the world has the responsibility. In Japan in second place rankings in both fields obtained and Sweden having the best bandwidth in Europe and the third position of being the leading the bandwidth was in fourth. According to the report until the year 2008 the worldwide rate has risen 49 percent while the world average as a file on the Internet has increased 69 percent. The time delay and waste reduction was 21 percent of total world been reached, and 170 milliseconds. According to Cisco senior director of almost all countries of the world economic crisis that had faced quality bandwidth have improved. According to the Persian month Dey Zd net, bandwidth leader in the world, after South Korea, respectively, Japan, Hong Kong, Sweden, Switzerland, Austria, Singapore, Luxembourg, Denmark, and Norway ranks second to the tenth of dedicated. Australia, ranking 13th, the United States, ranking 15th, ranking 17th in Canada, France, ranking 18th, and Belgium, ranking 20 have been. The UK and Italy rank 25 to rank 38 have won. Countries such as Bahrain, UAE, Qatar, Turkey, Saudi Arabia and Pakistan also ranks in the list, respectively 26, 30, 35, 42, 51 and 60 to have won more seats.

Saturday, September 26, 2009

2009 AntiVirus Software Product Ranking & Review

2009 AntiVirus Software Product Ranking & Review


As you know, Today’s computer viruses are more sophisticated and aggressive than ever. Thankfully, with antivirus software, you can confidently keep your data safe and your computer free of infection.

Now, the 2009 AntiVirus Software Product Ranking is out. Look at the top 10 AntiVirus Software Product Review.

1.BitDefender Antivirus 2009

For those seeking the best antivirus software for the money AND an “install and forget” proposition, BitDefender is the right choice earning the “TopTenREVIEWS Gold Award.” Not only does it protect your computer and files, but BitDefender is easy to use, light on your computer and, maybe most importantly, light on your pocketbook.

No matter how technically capable any piece of software may be, the productivity enhancement it offers is only effective if people use it. This is especially true in antivirus software. The primary reasons people fail to protect their computers from a variety of malware are the cost and the ‘burden’ of installing and maintaining antivirus software. The best protection in the world is worthless if people find it cumbersome and distracting to use.

The same holds true for price. This is the beauty of BitDefender: It provides comprehensive protection, takes up little space on your computer, costs less and requires little maintenance. If you’re a gamer you should consider the special GameSafe edition of BitDefender Antivirus.

2. Kaspersky Anti-Virus 2009

Kaspersky Labs has been one of the best antivirus software developers in the world for over a decade and now Kaspersky Anti-Virus 2009 only strengthens that reputation. Founded by Natalia and Eugene Kaspersky in 1997, this Russian company is often the first to find and identify new viruses. Long used in Russia and Europe, Kaspersky is now making inroads in the North American market. Kaspersky Anti-Virus 2009 is one of the most effective antivirus packages in the world today and boasts a great interface with easy to use and intuitive controls.

Like so many of the other antivirus packages including BitDefender, Kaspersky Anti-Virus comes with an antispyware component. Kaspersky’s software is among the best products in the world, but at $39.95 for a one-user for one-year license, it’s on the high-end of the software we reviewed. There are no complaints about Kaspersky’s effectiveness or ease­-of-use. As a result, Kaspersky Anti-Virus is the “TopTenREVIEWS Silver Award” winner. If you’re looking for antivirus protection for small business, you might be interested in Kapersky Anti-Virus for File Server.

3. Webroot Antivirus 6

Webroot Antivirus with Antispyware and Firewall is a solid product from Webroot Software. This competent defender earns our “TopTenREVIEWS Bronze Award” because it not only includes sophisticated antivirus components but also includes a full version of Spy Sweepr anti-spyware software. Both programs have been awarded all major industry awards and certifications and can dynamically alter themselves to fight emergin threats that hit the World Wide Web every second of the day.

The internet provides unlimited opportunities for communication, education, commerce and entertainment; however, it also provides opportunity to malevolent programmers and pranksters to distribute their viruses, spyware, worms, keyloggers and more. It is absolutely necessary that all internet connected computers have a serious, up-to-the-second form of protection, like Webroot’s Antivirus with Anti-Spyware.

Putting advanced antivirus software on your computer is not a sign of paranoia, it is smart. All computers that are connected to the internet without some sort of protection will acquire some kind of virus, spyware, adware or worse. Take proactive action and defend your personal information and your computer with a program like Webroot’s Antivirus with Anti-Spyware.

4.ESET Nod32 3

ESET’s NOD32 is rapidly becoming one of the best pieces of antivirus software on the market today. ESET’s NOD32 once again has delivered an excellent product that is highly effective, and now, easy to use. The strength and beauty of this software is its light footprint, relatively fast scanning and superior ThreatSense® Technology that detects malicious software before it has been reported. Its interface is intuitive and easy to use for the average home user, but can be configured and tweaked by the advanced user. The one-user, one-year package is priced at $39.99, which is the middle range of the antivirus software products reviewed.

5.ParetoLogic Anti-Virus PLUS 6

ParetoLogic Anti-Virus PLUS is another great antivirus software solution. This security software has all the essential features to help keep your computer protected, and can be customized for easy use. Whether used for advanced custom system scans, or set-and-forget security, Anti-Virus PLUS from ParetoLogic proved worthwhile.

6.AVG Anti-Virus 8

AVG Antivirus has been an up and coming virus scanner for many years. Its free version is one of the most downloaded files on the Internet in the Computer Security sector. The new interface is clean and intuitive while still remaining useful.

AVG went through a re-write of their virus scanning engine and included two of their stand alone products with AVG Antivirus as well. AVG Antispyware and AVG Antirootkit were both integrated with the virus scanner. Also revamped is the way AVG Antivirus uses the hardware within your computer. It has been changed to make better use of the multiple cores which are common in todays computers. This should speed up scanning as well as reduce slowdowns.

7.Vipre Antivirus + Antispyware

Vipre Antivirus + Antispyware is a great security software solution with all the right features. Vipre is easy to use and is specifically designed to not slow down your PC. It’s not a typo, VIPRE stands for Virus Intrusion Protection Remediation Engine

8.F-Secure Anti-Virus 2009

F-Secure Anti-Virus is a great product that offers many of the standard functions associated with antivirus software, but also goes above and beyond the bar set by others with efforts by F-Secure to educate the people that use F-Secure Anti-Virus on general security practices as well as specific threats.

9.Trend Micro AntiVirus with AntiSpyware 2009

Trend Micro AntiVirus plus AntiSpyware is a full-featured and well-equipped program that is geared towards keeping your computer free of viruses and spyware. It is easy to configure for nearly any antivirus need. It causes significant computer slowdowns occasionally, but makes up for these issues with thorough scanning and frequent updates.

10.McAfee VirusScan 2009

McAfee is an industry leader in computer protection and VirusScan is their #1 defense against viruses. This software comes with a ScriptStopper to prevent viruses from propagating from one computer to another via email, and WormStopper.

Some downsides to the program are that it doesn’t provide instant message protection, P2P/file sharing protection or registry startup protection.

Above are all the TOP ten AntiVirus Software Product, Look for which you are useing, tell me !



Monday, August 24, 2009

Tower of Hanoi

Tower of Hanoi

(From Wikipedia, the free encyclopedia)

A model set of the Towers of Hanoi (with 8 disks)
An animated solution of the Tower of Hanoi puzzle for T(4,3).

The Tower of Hanoi or Towers of Hanoi (also known as The Towers of Brahma) is a mathematical game or puzzle. It consists of three rods, and a number of disks of different sizes which can slide onto any rod. The puzzle starts with the disks neatly stacked in order of size on one rod, the smallest at the top, thus making a conical shape.

The objective of the puzzle is to move the entire stack to another rod, obeying the following rules:

  • Only one disk may be moved at a time.
  • Each move consists of taking the upper disk from one of the rods and sliding it onto another rod, on top of the other disks that may already be present on that rod.
  • No disk may be placed on top of a smaller disk.

some usefull links to underestand more:





Friday, January 30, 2009

CDMA


CDMA





*What is CDMA?

*How it`s Work?

*Everything about CDMA;


Short for Code-Division Multiple Access;

A digital cellular technology that uses spread-spectrum techniques. Unlike competing systems, such as GSM, that use TDMA, CDMA does not assign a specific frequency to each user. Instead, every channel uses the full available spectrum. Individual conversations are encoded with a pseudo-random digital sequence. CDMA consistently provides better capacity for voice and data communications than other commercial mobile technologies, allowing more subscribers to connect at any given time, and it is the common platform on which 3G technologies are built.

CDMA is a military technology first used during World War II by English allies to foil German attempts at jamming transmissions. The allies decided to transmit over several frequencies, instead of one, making it difficult for the Germans to pick up the complete signal. Because Qualcomm created communications chips for CDMA technology, it was privy to the classified information. Once the information became public, Qualcomm claimed patents on the technology and became the first to commercialize it.

If you like more information you can write comment here, with your email, some books and full article is available.

Wednesday, January 7, 2009

Advice for Computer Science College Students




Advice for Computer Science College Students

by Joel Spolsky
Sunday, January 02, 2005

Despite the fact that it was only a year or two ago that I was blubbering about how rich Windows GUI clients were the wave of the future, college students nonetheless do occasionally email me asking for career advice, and since it's recruiting season, I thought I'd write up my standard advice which they can read, laugh at, and ignore.

Most college students, fortunately, are brash enough never to bother asking their elders for advice, which, in the field of computer science, is a good thing, because their elders are apt to say goofy, antediluvian things like "the demand for keypunch operators will exceed 100,000,000 by the year 2010" and "lisp careers are really very hot right now."

I, too, have no idea what I'm talking about when I give advice to college students. I'm so hopelessly out of date that I can't really figure out AIM and still use (horrors!) this quaint old thing called "email" which was popular in the days when music came on flat round plates called "CDs."

So you'd be better off ignoring what I'm saying here and instead building some kind of online software thing that lets other students find people to go out on dates with.

Nevertheless.

If you enjoy programming computers, count your blessings: you are in a very fortunate minority of people who can make a great living doing work they enjoy. Most people aren't so lucky. The very idea that you can "love your job" is a modern concept. Work is supposed to be something unpleasant you do to get money to do the things you actually like doing, when you're 65 and can finally retire, if you can afford it, and if you're not too old and infirm to do those things, and if those things don't require reliable knees, good eyes, and the ability to walk twenty feet without being out of breath, etc.

What was I talking about? Oh yeah. Advice.

Without further ado, then, here are Joel's Seven Pieces of Free Advice for Computer Science College Students (worth what you paid for them):

  1. Learn how to write before graduating.
  2. Learn C before graduating.
  3. Learn microeconomics before graduating.
  4. Don't blow off non-CS classes just because they're boring.
  5. Take programming-intensive courses.
  6. Stop worrying about all the jobs going to India.
  7. No matter what you do, get a good summer internship.

Now for the explanations, unless you're gullible enough to do all that stuff just because I tell you to, in which case add: 8. Seek professional help for that self-esteem thing.

Learn how to write before graduating.

Would Linux have succeeded if Linus Torvalds hadn't evangelized it? As brilliant a hacker as he is, it was Linus's ability to convey his ideas in written English via email and mailing lists that made Linux attract a worldwide brigade of volunteers.

Have you heard of the latest fad, Extreme Programming? Well, without getting into what I think about XP, the reason you've heard of it is because it is being promoted by people who are very gifted writers and speakers.

Even on the small scale, when you look at any programming organization, the programmers with the most power and influence are the ones who can write and speak in English clearly, convincingly, and comfortably. Also it helps to be tall, but you can't do anything about that.

The difference between a tolerable programmer and a great programmer is not how many programming languages they know, and it's not whether they prefer Python or Java. It's whether they can communicate their ideas. By persuading other people, they get leverage. By writing clear comments and technical specs, they let other programmers understand their code, which means other programmers can use and work with their code instead of rewriting it. Absent this, their code is worthless. By writing clear technical documentation for end users, they allow people to figure out what their code is supposed to do, which is the only way those users can see the value in their code. There's a lot of wonderful, useful code buried on sourceforge somewhere that nobody uses because it was created by programmers who don't write very well (or don't write at all), and so nobody knows what they've done and their brilliant code languishes.

I won't hire a programmer unless they can write, and write well, in English. If you can write, wherever you get hired, you'll soon find that you're getting asked to write the specifications and that means you're already leveraging your influence and getting noticed by management.

Most colleges designate certain classes as "writing intensive," meaning, you have to write an awful lot to pass them. Look for those classes and take them! Seek out classes in any field that have weekly or daily written assignments.

Start a journal or weblog. The more you write, the easier it will be, and the easier it is to write, the more you'll write, in a virtuous circle.

Learn C before graduating

Part two: C. Notice I didn't say C++. Although C is becoming increasingly rare, it is still the lingua franca of working programmers. It is the language they use to communicate with one another, and, more importantly, it is much closer to the machine than "modern" languages that you'll be taught in college like ML, Java, Python, whatever trendy junk they teach these days. You need to spend at least a semester getting close to the machine or you'll never be able to create efficient code in higher level languages. You'll never be able to work on compilers and operating systems, which are some of the best programming jobs around. You'll never be trusted to create architectures for large scale projects. I don't care how much you know about continuations and closures and exception handling: if you can't explain why while (*s++ = *t++); copies a string, or if that isn't the most natural thing in the world to you, well, you're programming based on superstition, as far as I'm concerned: a medical doctor who doesn't know basic anatomy, passing out prescriptions based on what the pharma sales babe said would work.

Learn microeconomics before graduating

Super quick review if you haven't taken any economics courses: econ is one of those fields that starts off with a bang, with many useful theories and facts that make sense, can be proven in the field, etc., and then it's all downhill from there. The useful bang at the beginning is microeconomics, which is the foundation for literally every theory in business that matters. After that things start to deteriorate: you get into Macroeconomics (feel free to skip this if you want) with its interesting theories about things like the relationship of interest rates to unemployment which, er, seem to be disproven more often than they are proven, and after that it just gets worse and worse and a lot of econ majors switch out to Physics, which gets them better Wall Street jobs, anyway. But make sure you take Microeconomics, because you have to know about supply and demand, you have to know about competitive advantage, and you have to understand NPVs and discounting and marginal utility before you'll have any idea why business works the way it does.

Why should CS majors learn econ? Because a programmer who understands the fundamentals of business is going to be a more valuable programmer, to a business, than a programmer who doesn't. That's all there is to it. I can't tell you how many times I've been frustrated by programmers with crazy ideas that make sense in code but don't make sense in capitalism. If you understand this stuff, you're a more valuable programmer, and you'll get rewarded for it, for reasons which you'll also learn in micro.

Don't blow off non-CS classes just because they're boring.

Blowing off your non-CS courses is a great way to get a lower GPA.

Never underestimate how big a deal your GPA is. Lots and lots of recruiters and hiring managers, myself included, go straight to the GPA when they scan a resume, and we're not going to apologize for it. Why? Because the GPA, more than any other one number, reflects the sum of what dozens of professors over a long period of time in many different situations think about your work. SAT scores? Ha! That's one test over a few hours. The GPA reflects hundreds of papers and midterms and classroom participations over four years. Yeah, it's got its problems. There has been grade inflation over the years. Nothing about your GPA says whether you got that GPA taking easy classes in home economics at Podunk Community College or taking graduate level Quantum Mechanics at Caltech. Eventually, after I screen out all the 2.5 GPAs from Podunk Community, I'm going to ask for transcripts and recommendations. And then I'm going to look for consistently high grades, not just high grades in computer science.

Why should I, as an employer looking for software developers, care about what grade you got in European History? After all, history is boring. Oh, so, you're saying I should hire you because you don't work very hard when the work is boring? Well, there's boring stuff in programming, too. Every job has its boring moments. And I don't want to hire people that only want to do the fun stuff.

I took this course in college called Cultural Anthropology because I figured, what the heck, I need to learn something about anthropology, and this looked like an interesting survey course.

Interesting? Not even close! I had to read these incredibly monotonous books about Indians in the Brazilian rain forest and Trobriand Islanders, who, with all due respect, are not very interesting to me. At some point, the class was so incredibly wearisome that I longed for something more exciting, like watching grass grow. I had completely lost interest in the subject matter. Completely, and thoroughly. My eyes teared I was so tired of the endless discussions of piling up yams. I don't know why the Trobriand Islanders spend so much time piling up yams, I can't remember any more, it's incredibly boring, but It Was Going To Be On The Midterm, so I plowed through it. I eventually decided that Cultural Anthropology was going to be my Boredom Gauntlet: my personal obstacle course of tedium. If I could get an A in a class where the tests required me to learn all about potlatch blankets, I could handle anything, no matter how boring. The next time I accidentally get stuck in Lincoln Center sitting through all 18 hours of Wagner’s Ring Cycle, I could thank my studies of the Kwakiutl for making it seem pleasant by comparison.

I got an A. And if I could do it, you can do it.

Take programming-intensive courses.

I remember the exact moment I vowed never to go to graduate school.

It was in a course on Dynamic Logic, taught by the dynamic Lenore Zuck at Yale, one of the brightest of an array of very bright CS faculty.

Now, my murky recollections are not going to do proper credit to this field, but let me muddle through anyway. The idea of Formal Logic is that you prove things are true because other things are true. For example thanks to Formal Logic, "Everyone who gets good grades will get hired" plus "Johnny got good grades" allows you to discover the new true fact, "Johnny will get hired." It's all very quaint and it only takes ten seconds for a deconstructionist to totally tear apart everything useful in Formal Logic so you're left with something fun, but useless.

Now, dynamic logic is the same thing, with the addition of time. For example, "after you turn the light on, you can see your shoes" plus "The light went on in the past" implies "you can see your shoes."

Dynamic Logic is appealing to brilliant theoreticians like Professor Zuck because it holds up the hope that you might be able to formally prove things about computer programs, which could be very useful, if, for example, you could formally prove that the Mars Rover's flash card wouldn't overflow and cause itself to be rebooted again and again all day long when it's supposed to be driving around the red planet looking for Marvin the Martian.

So in the first day of that class, Dr. Zuck filled up two entire whiteboards and quite a lot of the wall next to the whiteboards proving that if you have a light switch, and the light was off, and you flip the switch, the light will then be on.

The proof was insanely complicated, and very error-prone. It was harder to prove that the proof was correct than to convince yourself of the fact that switching a light switch turns on the light. Indeed the multiple whiteboards of proof included many skipped steps, skipped because they were too tedious to go into formally. Many steps were reached using the long-cherished method of Proof by Induction, others by Proof by Reductio ad Absurdum, and still others using Proof by Graduate Student.

For our homework, we had to prove the converse: if the light was off, and it's on now, prove that you flipped it.

I tried, I really did.

I spent hours in the library trying.

After a couple of hours I found a mistake in Dr. Zuck's original proof which I was trying to emulate. Probably I copied it down wrong, but it made me realize something: if it takes three hours of filling up blackboards to prove something trivial, allowing hundreds of opportunities for mistakes to slip in, this mechanism would never be able to prove things that are interesting.

Not that that matters to dynamic logicians: they're not in it for useful, they're in it for tenure.

I dropped the class and vowed never to go to graduate school in Computer Science.

The moral of the story is that computer science is not the same as software development. If you're really really lucky, your school might have a decent software development curriculum, although, they might not, because elite schools think that teaching practical skills is better left to the technical-vocational institutes and the prison rehabilitation programs. You can learn mere programming anywhere. We are Yale University, and we Mold Future World Leaders. You think your $160,000 tuition entititles you to learn about while loops? What do you think this is, some fly-by-night Java seminar at the Airport Marriott? Pshaw.

The trouble is, we don't really have professional schools in software development, so if you want to be a programmer, you probably majored in Computer Science. Which is a fine subject to major in, but it's a different subject than software development.

If you're lucky, though, you can find lots of programming-intensive courses in the CS department, just like you can find lots of courses in the History department where you'll write enough to learn how to write. And those are the best classes to take. If you love programming, don't feel bad if you don't understand the point of those courses in lambda calculus or linear algebra where you never touch a computer. Look for the 400-level courses with Practicum in the name. This is an attempt to hide a useful (shudder) course from the Liberal Artsy Fartsy Administration by dolling it up with a Latin name.

Stop worrying about all the jobs going to India.

Well, OK, first of all, if you're already in India, you never really had to worry about this, so don't even start worrying about all the jobs going to India. They're wonderful jobs, enjoy them in good health.

But I keep hearing that enrollment in CS departments is dropping perilously, and one reason I hear for it is "students are afraid to go into a field where all the jobs are going to India." That's so wrong for so many reasons. First, trying to choose a career based on a current business fad is foolish. Second, programming is incredibly good training for all kinds of fabulously interesting jobs, such as business process engineering, even if every single programming job does go to India and China. Third, and trust me on this, there's still an incredible shortage of the really good programmers, here and in India. Yes, there are a bunch of out of work IT people making a lot of noise about how long they've been out of work, but you know what? At the risk of pissing them off, really good programmers do have jobs. Fourth, you got any better ideas? What are you going to do, major in History? Then you'll have no choice but to go to law school. And there's one thing I do know: 99% of working lawyers hate their jobs, hate every waking minute of it, and they're working 90 hour weeks, too. Like I said: if you love to program computers, count your blessings: you are in a very fortunate minority of people who can make a great living doing work they love.

Anyway, I don't think students really think about this. The drop in CS enrollment is merely a resumption of historically normal levels after a big bubble in enrollment caused by dotcom mania. That bubble consisted of people who didn't really like programming but thought the sexy high paid jobs and the chances to IPO at age 24 were to be found in the CS department. Those people, thankfully, are long gone.

No matter what you do, get a good summer internship.

Smart recruiters know that the people who love programming wrote a database for their dentist in 8th grade, and taught at computer camp for three summers before college, and built the content management system for the campus newspaper, and had summer internships at software companies. That's what they're looking for on your resume.

If you enjoy programming, the biggest mistake you can make is to take any kind of job--summer, part time, or otherwise--that is not a programming job. I know, every other 19-year-old wants to work in the mall folding shirts, but you have a skill that is incredibly valuable even when you're 19, and it's foolish to waste it folding shirts. By the time you graduate, you really should have a resume that lists a whole bunch of programming jobs. The A&F graduates are going to be working at Enterprise Rent-a-Car "helping people with their rental needs." (Except for Tom Welling. He plays Superman on TV.)

To make your life really easy, and to underscore just how completely self-serving this whole essay is, my company, Fog Creek Software, has summer internships in software development that look great on resumes. "You will most likely learn more about software coding, development, and business with Fog Creek Software than any other internship out there," says Ben, one of the interns from last summer, and not entirely because I sent a goon out to his dorm room to get him to say that. The application deadline is February 1st. Get on it.

If you follow my advice, you, too, may end up selling stock in Microsoft way too soon, turning down jobs at Google because you want your own office with a door, and other stupid life decisions, but they won't be my fault. I told you not to listen to me.

source: http://www.joelonsoftware.com


To whom like to learn Programming



توصیه هایی به آنها که دوست دارند برنامه نویسی یاد بگیرند

تصمیم به شروع یاد گیری برنامه نویسی برای بسیاری از ما از یک جرقه گرفته شد، شاید دوستمان را دیدیم که یک برنامه را نوشته و ما ناگهان علاقه مند شدیم، یا از موفقیت های یک برنامه نویس شنیده ایم و می خواهیم مثل او شویم لذا شروع به یادگیری برنامه نویسی می کنیم و یا صد ها دلیل دیگر که می تواند نسبت به افراد متغیر باشد، ولی در ذات قضیه یک امر مهم خفته استو آن اینکه، همانطور که ییهو علاقه مند به برنامه نویسی شده ایم ممکن است خیلی ییهوتر از آن بیزار شویم، پس توصیه می کنم به توصیه هایی که در ذیل آمده قبل از شروع برنامه نویسی عمل کنید و اگر در میانه راه هستید می توانید با موارد زیر خود را بسنجید تا ببینید کجا قرار دارید.
در مرحله اول، حتما زبان برنامه نویسی مورد علاقه خود را انتخاب کنید. اگر اطلاعات دقیقی از برنامه نویسی ندارید با پاسخ دادن به سوالات زیر مسیر خود را انتخاب کنید: آیا دوست دارید برنامه هایی که تحت اینترنت اجرا می شوند را بنویسید؟(وبسایت ها) یا برنامه هایی که در سیستم کاربر اجرا می شوند؟
آیا دوست دارید برنامه ها یا سایت هایی که می نویسید حال ایستا داشته باشند یا پویا باشند؟ آیا دوست دارید برنامه هایتان تک کاربره باشد یا چند کاربره؟ آیا می خواهید برنامه های بزرگ سازمانی بنویسید یا برنامه های ساده؟ و …
اول از همه مسیر خود را در مسیر گرایش برنامه نویسی مشخص کنید. می خواهید برای وب بنویسید یا برای سیستم کاربر؟
پیشنهادم برای آنهایی که دوست دارند تحت وب بنویسند :
PHP, ASP.Net, Java می باشد. دقت کنید برای شروع برنامه نویسی تحت وب حتما با HTML, Java Script و CSS آشنا باشید. بدون این سه مورد شما یک برنامه نویس حرفه ای تحت وب نخواهید بود. دقت کنید انتخاب PHP انتخاب مناسبی است مادامی که به نوشتن برنامه های تحت وب محدود مبادرت بورزید، PHP می تواند در نوشتن سایت ها یا برنامه های تحت وب پیچیده مشکل ساز باشد.
حال آنکه یاد گیری جاوا در نوع خود کمی مشکل می باشد، ولی سایت هایی که با جاوا نوشته شوند واقعا قابل اعتماد و مستحکم هستند، بعلاوه اینکه دستمزد یک سایت نوشته شده با جاوا به مراتب بسیار بیشتر از سایتی نوشته شده با
PHP است. این در حالی است که ASP.NET در میان این دو قرار دارد و از ویژگی های هر دو در خود دارد، هم آسان است و هم پایدار، پس می توانید ASP.Net را هم در لیست علاقه مندی های خود برای برنامه نویسی تحت وب قرار دهید. پروژه های نوشته شده با ASP.net هم به مراتب گران می باشند و می توانند دستمزد خوبی برای برنامه نویس داشته باشند.

ولی دانستن نکات فوق زمانی مفید خواهد بود که شما با یک پایگاه داده استاندارد هم آشنا باشید. انتخاب خیلی از برنامه نویسان خلاصه شده در : Oracle, MySQL و MS SQL Server . البته هسته هر سه زبان SQL می باشد، لذا SQL را یاد بگیرید. توجه به این نکته که یادگیری پایگاه داده خیلی کمتر زمان بر خواهد بود، می توانید ابتدا به یاد گیری آن بپردازید و چون در برنامه نویسی حرفه ای باید با دستورات SQL هم برای تولید برنامه آشنا باشید لذا مفاهیم و دستورات SQL را که بسیار آسان هستند را یاد بگیرید.

حال برای شما که کمی مصمم تر شده اید باید توصیه کنم حتما قبل از ورود به مقوله برنامه نویسی سعی کنید مفاهیم IT را فرا بگیرید. مفاهیم IT با اینکه تاثیر مستقیمی در برنامه نویسی ندارند ولی بدون آنها شما هرگز نخواهید توانست یک پروژه را سالم به هدف برسانید. منظور از این مفاهیم، شامل نحوه عملکرد سرورها، امنیت، نحوه عملکرد مشتریان سایت شما و … می باشد. برای مثال شما باید بدانید که چطور کدهایتان در سرور اجرا خواهند شد و اصلا یک سایت با چه پروسه ای برای کاربر نمایش داده می شود؟ مجموع این دانسته ها را مفاهیم IT می گوییم و شما برای برنامه نویسی یک پروژه کاربردی باید در حد متوسط به بالایی با آنها آشنایی داشته باشید. البته برعکس برنامه نویسی که با کسب تجربه رفته رفته اصولی تر می شود، مفاهیم عمدتا قضیه های ثابتی هستند که می تواند از منابع مختلفی مثل اینترنت با آنها آشنا شوید.

چنانچه شما علاقه مند به یادگیری یک زبان برنامه نویسی برای تولید نرم افزارهای تحت کامپیوتر کاربر می باشید، کمی کارتان مشکل تر است. در واقع برنامه نویسی لوکال (تحت سیستم کاربر) به نوعی سخت تر است. البته این امر وقتی احساس می شود که شما هم در وب بنویسید هم لوکال، این دشواری زمانی احساس می شود که به برنامه نویسی تحت وب که تا حدودی آسان است عادت کرده باشیم. توجه با این نکته که برنامه های نوشته شده لوکال می توانند واقعا سودآود باشند، خیلی از برنامه نویسان حداقل یک زبان برنامه نویسی لوکال را ید می گیرند. دقت داشته باشد که دانستن همان مفاهیم و اطلاعات IT ضروری می باشند. در واقع این مفاهیم دید شما را نسبت به برنامه ای که می نویسید بسیار وسعت می بخشند. همچنین بحث پایگاه داده نیز در این نوع برنامه نویسی استوار است. با این تفاوت که گرایش بیشتر به سمت پایگاه داده های Oracle, MS SQL Server یا MS ACCESS می باشد. زبان های برنامه نویسی رایج و بسیار مناسب هم در این زمینه : C++ , C#, Java, Delphi می باشند. البته موارد دیگری هم هستند که یا کاربران کمی دارند یا در حال انقراض می باشند، لذا از ذکر آنها معذورم. دقت داشته باشید که انتخاب هریک از این زبان ها مستلزم پیش نیازهای خاصی می باشد ولی در کل آشنایی کامل با الگوریتم ها و زبان برنامه نویسی C کمک شایانی برای شما خواهد کرد.

اگر بخواهیم از بعدی دیگر قضیه را بررسی کنیم، عوامل بسیاری نظیر: صبر و حوصله، پشتکار، علاقه وافر، خلاقیت، دقت، هوشیاری و سرعت عمل از عواملی هستنذد که بسیار به یادگیری یک زبان برنامه نویسی کمک می کنند.
ضمن اینکه دانستن زبان انگلیسی یعنی 50% پیشرفت اولیه! انگلیسی به حدی در برنامه نویسی به درد شما می خورد که خودتان متعجب می شوید.
دقت کنید قبل از شروع بسنجید و ببینید که شما توانایی یاد گیری را هنگام خودخوانی دارید یا نه؟ شایان ذکر است بسیاری از متخصصین برنامه نویسی خودشان برنامه نویسی را یاد گرفته اند و کلید آن دانلود
Ebook  و تمرین و نوشتن کد است.