A suggestion for a good programming sticky.

thecoolnessrune

Diamond Member
Jun 8, 2005
9,673
583
126
Hi guys, it's really my first time here. The main thing I'm wondering is that I'm in college and majoring in Information Technology. My question is, where does one start to become a programmer? Yes I understand there are many languages etc. etc. to get a hold of. But one point still remains.

What's a good place to start? What language provides a good foothold to learn other languages?

What's good reading (online or library) material for new programmers to get started learning their languages and skills.

What's good tutorials to learn how to build little programs so newbies can see the code their creating working first hand?

I myself am wondering the answers to these questions but I know that there are lots of people out there who have wondered the same thing and the only thing keeping them from taking the leap into programming is the fact that they simply don't know where to start. So we have a monitor sticky, CPU overclocking stickies, job selection stickies. So why not a Beginner's programming sticky. What's say you masters of code? Help us newbies out! :D

 
Oct 27, 2007
17,009
5
0
I like the idea a lot, and I think it would be good to use this thread as a springboard to get it started. Maybe people can put together some posts that could make it into some sort of FAQ or something.

My suggestion for you, based on my limited experience and having read a lot of threads on a lot of forums regarding which language to begin with, is to not agonise too much on which language to start with and just get started. Read a few tutorials on a variety of languages and create a Hello World application with each. Make a decision on which language "feels" the best to you and just start learning it. The reality is that programming languages are the primary barrier between the student and the programming concepts. Learning a language won't make you a programmer, it will just facilitate it. What is more important is the concepts behind programming which need to be solidified with plenty of practice in your chosen language.

Of course the "feel" shouldn't be the only criteria on which to base your decision and it probably isn't the primary criteria either. You should give some information on what sort of problems you are looking to solve and that will help people give advice on a language. I'm going to go ahead and pimp Java for an almost all-purpose language that will get you involved with a pure object-oriented paradigm of programming, but this suggestion could change depending on your requirements.
 

thecoolnessrune

Diamond Member
Jun 8, 2005
9,673
583
126
That makes a lot of sense astro, but some more questions.

I saw in another post that there is something called Java++ which is also heavily similar to C#. What's the differences in these languages and should people just getting started tackle a new language such as Java++, C# etc., or go back to more basic (I believe it is more basic) Java and C?

Also, what about the BASIC language? Is that a programming language? Would it's simplicity make it worth learning? Or has it become too outdated to use even as a learning tool? (Like using Windows 95 to teach the concepts of Vista)?
 

Schadenfroh

Elite Member
Mar 8, 2003
38,416
4
0
I saw in another post that there is something called Java++ which is also heavily similar to C#
I think that I read the post that you are referring to. I believe it was a C# fan's way of calling Java a primitive language compared to C#, which is not the case. There was a J++ by Microsoft, but it was basically Java and was abandoned long ago due to lawsuits.
 

degibson

Golden Member
Mar 21, 2008
1,389
0
0
Originally posted by: thecoolnessrune
So why not a Beginner's programming sticky.

At first it would seem like wisdom to suggest just such a sticky -- it is probably the single most common question on this forum: What language to start with?

Unfortunately, threads of this nature tend to degrade into my-language-is-better-than-your-language flames. I find them excessively entertaining, but they're not useful to keep around in the long term. (C++ FTW)
 

Cogman

Lifer
Sep 19, 2000
10,286
147
106
I think it would be good to maybe list common languages (java, c++, ect) and places to get resources on the subject. Potentially put a advantages/disadvantages listing under each language (that can be dangerous as many take their bread and butter language and say it can do no wrong)
 

drebo

Diamond Member
Feb 24, 2006
7,034
1
81
There's only one good answer to the question "Where to start?"

That answer is "Take a class."

Following tutorials and copying code out of a book while trying to teach yourself to program is not effective, as you do not learn the fundamentals behind the language. Instead, you learn "This block of code does this"...that's not effective, as there are usually a hundred different ways to do things, some of which are better in certain situations than others.

Structured learning is the best, most effective way to start.
 

thecoolnessrune

Diamond Member
Jun 8, 2005
9,673
583
126
Originally posted by: drebo
There's only one good answer to the question "Where to start?"

That answer is "Take a class."

Following tutorials and copying code out of a book while trying to teach yourself to program is not effective, as you do not learn the fundamentals behind the language. Instead, you learn "This block of code does this"...that's not effective, as there are usually a hundred different ways to do things, some of which are better in certain situations than others.

Structured learning is the best, most effective way to start.

This I also agree with. But the problem is all those people who want to get an early start before college. I'm in my second year of college now, and will be learning the basics of Perl/CGI, C# (ASP.NET), Ruby and Rails, and Ajax. Other languages that I've self-taught most of but will also be studying this semester are HTML, XHTML, CSS, Java, XML and XSLT.

The problem is I would have loved to start this several years ago when I had more spare time. But I had no idea where to begin.

In my honest, ignorant opinion, wouldn't Ajax be good to learn? It seems as if all rich web-content is being developed is that language. What is Ajax based on? Is there a prerequisite language that would help its understanding?

Thank you for answering my question Schadenfroh. Does anyone know anything concerning the use of BASIC as a concept language? Or is it just dead now?
 

Schadenfroh

Elite Member
Mar 8, 2003
38,416
4
0
Does anyone know anything concerning the use of BASIC as a concept language? Or is it just dead now?
Some languages have similar syntax. You might see some machines in the field using programs written in BASIC. There is a local factory that uses rather expensive instruments controlled by BASIC programs. But, the equipment (and programs) are both very old. FWIW, BASIC was my first language when I was in junior highschool. Ahh, memories....
 

drebo

Diamond Member
Feb 24, 2006
7,034
1
81
BASIC is a spaghetti-code language. Absolutely terrible. My first real exposure to programming was doing a quiz application for a project when I was in 6th grade in BASIC. It took me a long time to unlearn the bad habbits I learned (GOTOs are E-V-I-L).

After that, I moved into C++ and Perl, pretty much simultaneously (I wanted to do web development). I was in 7th grade at the time. I may have "learned" the languages, but not in an efficient or meaningful way. It really wasn't until I took a data structures class that everything really started to click...by that time, I'd realized how much time I'd wasted.

Look at your Jr. Colleges. Most will take young people in or before high school. I took Triganometry at my local JC the summer after my freshman year in high school (in preparation for taking Calculus as a sophmore). I could just as easily have enrolled in data structures, intro to C++, etc.

Learning by book can be OK, as long as you're serious enough not to just jump into the code examples. Learning by online tutorials is terrible.
 

clamum

Lifer
Feb 13, 2003
26,256
406
126
Good idea for a thread.

The important concepts behind programming are usually similar no matter what language you choose. Having said that, I've recommended it before and will again, but I think object-oriented programming is a great way to think about solving real-world problems using code (what programming ultimately is). That means a couple of good languages to choose from are Java, C#, or C++ (I'd vote for the former two personally).

Also, I'd recommend taking a "intro to programming" class at a local community college (or at your school). That or find a book that teaches object-oriented programming (or basic programming concepts, if you feel OOP isn't your thing) concepts, as I believe that will help much more than just a book on a language.
 

clamum

Lifer
Feb 13, 2003
26,256
406
126
Originally posted by: thecoolnessrune
Originally posted by: drebo
There's only one good answer to the question "Where to start?"

That answer is "Take a class."

Following tutorials and copying code out of a book while trying to teach yourself to program is not effective, as you do not learn the fundamentals behind the language. Instead, you learn "This block of code does this"...that's not effective, as there are usually a hundred different ways to do things, some of which are better in certain situations than others.

Structured learning is the best, most effective way to start.

This I also agree with. But the problem is all those people who want to get an early start before college. I'm in my second year of college now, and will be learning the basics of Perl/CGI, C# (ASP.NET), Ruby and Rails, and Ajax. Other languages that I've self-taught most of but will also be studying this semester are HTML, XHTML, CSS, Java, XML and XSLT.

The problem is I would have loved to start this several years ago when I had more spare time. But I had no idea where to begin.

In my honest, ignorant opinion, wouldn't Ajax be good to learn? It seems as if all rich web-content is being developed is that language. What is Ajax based on? Is there a prerequisite language that would help its understanding?

Thank you for answering my question Schadenfroh. Does anyone know anything concerning the use of BASIC as a concept language? Or is it just dead now?
AJAX is a combination of technologies. It stands for "asynchronous JavaScript and XML". So while you can "learn it", you still need to know some programming concepts anyway. You can use AJAX with PHP, ASP.NET, etc etc. It's sort of a compliment to existing web-scripting languages.

Btw, fuck BASIC. I wouldn't waste 30 seconds on it.