razercultmember1

Distinguished
Dec 28, 2009
98
0
18,580
I have zero experience in programming. Absolutely zero.

So what programs would I need to download and exactly which programming language should I learn?

I've heard its best to start from the most basic like BASIC or C but I dunno :\

Thanks guys!
 

Pyroflea

Distinguished
Mar 18, 2007
341
0
18,930
I think C or C++ is a good place to start, personally. A good chunk of the popular languages are based off C, so it makes it quite easy to learn more from there.

It kind of depends on what you would like to be doing though. Unfortunately you can't exactly say "Language A is best for Application X". Let us know some of the things you'd like to be programming, and we can give you further suggestions.

Some popular languages are C/C++/C# and Java. I'm quite fond of Python. If you want to do web development, HTML/CSS/JavaScript are all very important. Server Side Scripting, PHP/SQL are good, and Python, Ruby and Perl are useful as well.
 

kyeana

Distinguished
May 21, 2008
230
0
18,860
I will still advocate java or C# as a first programming language, as it abstracts a bunch of the complications of lower level languages (C, C++) and lets you focus on learning design principles.

That said, C and C++ are still great languages, and if you are willing to put it a bit more work from the get go it can be very handy for understanding what these higher level languages are actually doing and thus learning new languages in the future.
 

Pyroflea

Distinguished
Mar 18, 2007
341
0
18,930
I think C is a good choice :)

You'll just need an IDE, which will include everything you need (compiler, debugger, etc.).

There's a ton out there, and really it's down to preference. I like Code::Blocks personally :)

http://www.codeblocks.org/
 

Pyroflea

Distinguished
Mar 18, 2007
341
0
18,930


That's also fantastic. Code::Blocks is cross-platform, which is why I generally recommend it :)
 

calmstateofmind

Distinguished
Jul 2, 2009
292
0
19,010
When I first started programming I used Java, but once I got in college it was all C++ from there. It's very straightforward, is easy to learn on your own and the concepts of C++ are very good for beginners of any programming.

The downside to C++ is that while you're learning a lot of the programs you might write will never be used again or are just for practice. Whereas, with other languages (such as css, html, php) you can begin at one point and grow off that initial beginning. Ex: making a web page, then an entire site, then enhancing features, etc. Basically, you get to see results to your hard work sooner.

In the end though, C++ is probably the best place to start. The things you'll need to program are a compiler (where you write your code and execute your program; I recommend visual studio if you can get it for free) and a book (I find its easier to learn from a book than if you download a PDF/web tutorials). For the book, I recommend the 4th edition of Programming and Problem Solving with C++ by Dale & Weems.

Programming requires a lot of understanding, patience, problem solving, organization and patience. It's definitely a good skill to pick up and allows you to better understand how a computer works too.

If you end up learning C++ and ever need help feel free to shoot me a msg.

Good luck with choosing.
 

Zenthar

Distinguished
Dec 31, 2007
250
0
18,960
I programmed using many languages, C, C++, Java, Perl, PL/SQL, T-SQL, JavaScript and to me none is necessarily better than the other, it all depends what you want to do. Like many people here I started with C/C++, but I realize now that it is mostly suited for people who understand or want to understand what is going on in a computer. If you just want to start testing stuff an don't want to spend to much time learning the basic "how to do X", then I would suggest Java as you just need the freely available JDK and there are many good IDE to help you program; I would suggest Eclipse.
 

Pyroflea

Distinguished
Mar 18, 2007
341
0
18,930


C# is an excellent alternative as well, however not quite as open as Java is. I'd say either is worth checking out.
 

audiovoodoo

Distinguished
Sep 17, 2006
28
0
18,580
If only it still made sense I'd have said start with Pascal. It forced you to do things right. C is an amazing language but depends on you having the sense not to blow your own foot off, Pascal just plain would not allow that sort of silliness.

I'm surprised people have not made more of an issue of the procedural / object / event driven models the languages use. It makes quite an influence on how easy it is for a beginner to switch to another language.
 

Ijack

Distinguished
I was going to suggest Pascal and then thought people would just laugh. Many of us cut our teeth on the original Turbo Pascal; it was rigorous enough to be a good foundation in programming, particularly when compared with the BASICs of the time, but simple enough not to be confusing. The original Mac OS was designed around Pascal, as were the Windows APIs.

Pascal reached it's Zenith with Delphi, which I guess still exists but is not exactly widespread nowadays. And if you want to try your hand at writing a compiler, Pascal is a good target language to start with.

Now, as a complete aside, let me suggest a language that no-one has mentioned - Smalltalk.
 

audiovoodoo

Distinguished
Sep 17, 2006
28
0
18,580
Oh man! I'm getting flashbacks to the early 90's... (perhaps telling of what the other areas of study were in my Uni days ;) )

I went to uni on a joint science scheme, looking at doing Environmental Technology. Pascal was my first real foray into computing and was the biggest driver in me ending up in IT.

I still remember using 10 disks and pkzip with the span option to 'acquire' a copy to work on at home for the late night assignment specials. I still support a Delphi app today, powered by an Interbase back end. It gets the job done and with far less trouble than the more modern products we have. People forget just how much of a hold Borland used to have on the market and how much infrastructure still depends on it. Pascal, Turbo Pascal, Object Pascal then Delphi, that language just grew and grew.

For instant gratification I have to say that VB is hard to better. I compare the basic sorts and other functions I used to write in Pascal to the access db driven diary application I wrote in my two day VB 3 (yes I really am that old!) class at work.

I guess it's a question of what do you want to learn, how to program or how to use an API to get stuff done. Both approaches have their merits.
 

Ijack

Distinguished
That must have been a posh TP. The first one I used (the first Turbo Pascal) comfortably fitted on a 360K 5 1/4" floppy disk, with room for a program or two.

I'd still rate Pascal as a better first language than any other. With a good foundation in Pascal the other Algol descendents (C, Java, C#, etc.) are far easier to get to grips with. Delphi, in particular, would be a great introduction to Windows programming and OO concepts.
 

Pyroflea

Distinguished
Mar 18, 2007
341
0
18,930
If you want to be a web developer you can study PHP.

PHP is server side scripting, not really web development technically (although it is REALLY useful). Imo, the arsenal every web developer should have is HTML, CSS, and PHP. Pretty much anything can be achieved from here. It's definitely beneficial to know more on top of this however.