Learning a programmin language

plastick

Golden Member
Sep 29, 2003
1,400
1
81
I am thinking about picking up a computer programming language. What would be the best one to learn? I want to create executable applications.. things from calculators to visual graphics... basically something where I can make anything I want to.

 

JesterXXV

Junior Member
Oct 29, 2003
10
0
0
Originally posted by: plastick
is it possible to create a word processor in vb? how about games?

These questions are WAY too vague IMHO. You can make a game in any programming language, if you're talking about tic-tac-toe. If you want something like Quake, you're better off hacking existing games to modify skins and maps and such, or get a CS degree and several years experience with 3D modelling before you even think about which language will be the best. Likewise, you can make a word processor in any programming language, if you're talking about notepad. If you want something like Microsoft Word, you'll have to get a CS degree and several years experience with usability, GUI design, typography...

So, in other words, can you be more specific?
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
I'd start with C/C++ or Java (C++ and Java have nearly identical syntax, so once you've learned one the other is very easy to pick up). They're the most common languages you'll find out there for professional development. Java is much easier to code simple graphical applications with, as Swing/AWT is built in and is fairly simple. Learning MFC (Microsoft Foundation Classes, what you use to write graphical apps in Windows with C++) will take a considerable amount of time, and I wouldn't advise trying until you have some idea how an OS windowing system works on the inside.

VB is... I hesitate to call it a full programming language -- it's almost closer to scripting. It's also hideously proprietary and uses less standard syntax, making it a bad thing to learn first.
 
Jan 10, 2003
61
0
0

You just go ahead and learn whatever language you feel like. Most programming languages share the same ideas and constructions. If you learn one language, you can always transfer to another later.
If you have no programming experience yet, I suggest you chose a language that has built in capabilities for doing visual things eg. VB or Java. This is because programmming tends to be very boring if you can't do anything other than ASCII to present the results of you programs.
Whatever language you choose, remember that the BIG thing is experience. Don't expect it to be a walk in the park learning to write good programs. You will have to work hard!

But, if you are serious about "basically something where I can make anything I want to" I suggest C++.

Good luck!
 
Jan 10, 2003
61
0
0
Matthias99 is very correct about VB. Don't chose VB :)

I really think you should try Java first. You will be able to do fairly complex things in Java in weeks. There are MANY good books where you can learn Java basics in no time.
 

ReiAyanami

Diamond Member
Sep 24, 2002
4,466
0
0
i soggest you start with englesh would be a good furst langage.


no such thing as "programmin language" unless you are referring to the ancient programmanites of Elbonia
 

CTho9305

Elite Member
Jul 26, 2000
9,214
1
81
Originally posted by: Matthias99
VB is... I hesitate to call it a full programming language -- it's almost closer to scripting. It's also hideously proprietary and uses less standard syntax, making it a bad thing to learn first.

I'd say the biggest problem is you'll learn event-driven programming, rather than "normal" programming. Going from normal to VB is easy, the other way round may not be as easy.
 

ClueLis

Platinum Member
Jul 2, 2003
2,269
0
0
Originally posted by: slashDevSlashNull
Matthias99 is very correct about VB. Don't chose VB :)

I really think you should try Java first. You will be able to do fairly complex things in Java in weeks. There are MANY good books where you can learn Java basics in no time.

I second the recommendation of Java, as it's strictly object-oriented nature will build good programming habits for later on.
 

wacki

Senior member
Oct 30, 2001
881
0
76
Java is the quickest and easiest way to learn how to do graphics and games. I could teach you how to draw a circle in Java in about an hour.

C++ is much faster and more powerfull, and personally I like the way it behaves, but it will take you much, much longer to get to where you want to go.

A special FYI, if your interested in text based stuff check out python. It's easy to learn and studies show its a great beginner language.

My advice:
If you want to do beginning graphics stuff - Java
If you want to do text parsing and other word driven stuff - Python
Python is also a really easy way to learn how to make dynamic webpages.
If you want speed, power, and like the taste of aspirin - C++

P.S. there is no perfect language. I currently know 12 languages and I'm starting to learn a 13th. 12 languages sounds impressive, but once you understand the basics of computers, the rest is all syntax. And for all you people out there that don't know what Python is, it's a very similar to Perl. The advantage of python is that the syntax is so straight forward, that you can literally read a python program even if you've never seen it before in your life!

 

martind1

Senior member
Jul 3, 2003
777
0
0
Originally posted by: CTho9305
Originally posted by: Matthias99
VB is... I hesitate to call it a full programming language -- it's almost closer to scripting. It's also hideously proprietary and uses less standard syntax, making it a bad thing to learn first.

I'd say the biggest problem is you'll learn event-driven programming, rather than "normal" programming. Going from normal to VB is easy, the other way round may not be as easy.


ok there is nothign wrong with VB <pause for chuckles> for what he wants to do. He wants to quickly create visual programs which is what VB is for.

of course I would be all for him learnign VB first if c# did not exist. That is the language you should start with. easy to make visual programs. good solid language.



but if you ahve NO programming basics, id start with the standard c++. its a great language to learn on and is one of the most popular to start with in compsci programs in colleges/
 

martind1

Senior member
Jul 3, 2003
777
0
0
Originally posted by: wacki
Java is the quickest and easiest way to learn how to do graphics and games. I could teach you how to draw a circle in Java in about an hour.

C++ is much faster and more powerfull, and personally I like the way it behaves, but it will take you much, much longer to get to where you want to go.

A special FYI, if your interested in text based stuff check out python. It's easy to learn and studies show its a great beginner language.

My advice:
If you want to do beginning graphics stuff - Java
If you want to do text parsing and other word driven stuff - Python
Python is also a really easy way to learn how to make dynamic webpages.
If you want speed, power, and like the taste of aspirin - C++

P.S. there is no perfect language. I currently know 12 languages and I'm starting to learn a 13th. 12 languages sounds impressive, but once you understand the basics of computers, the rest is all syntax. And for all you people out there that don't know what Python is, it's a very similar to Perl. The advantage of python is that the syntax is so straight forward, that you can literally read a python program even if you've never seen it before in your life!


stop attempting to 'brag'. Who doesn't know python? That stupid indent language. talk about pains in the ass. give me perl any day over python.
 

buleyb

Golden Member
Aug 12, 2002
1,301
0
0
My 2 cents...

I'm anti VB because you need to buy it (even if you need to buy a book to get it). Same with C# (unless you look into the Mono Project, but then you lose the nice IDE).

Java is easy to start with, but choose your battles, no matter what people make it out to be, there are better languages for some tasks. Sun has a nice free IDE too.

Python is ok, and again, its free.

C/C++ are great, but graphics can be daunting to the beginner. Start off with text-based applications. Again, GCC/G++ are free compilers, and there are A LOT of resources to code in C/C++.

As much as I'd recommend a text editor and C, don't underestimate the beauty of learning with a good IDE, color coding and debugging are a blessing to a beginner ;)
 

martind1

Senior member
Jul 3, 2003
777
0
0
by good text editor try using textpad as it will color code for lots of languages, including perl, c++, html etc


its a useful little program.
 

wacki

Senior member
Oct 30, 2001
881
0
76
Originally posted by: martind1


stop attempting to 'brag'. Who doesn't know python? That stupid indent language. talk about pains in the ass. give me perl any day over python.

How was I bragging? And by the way, I don't know python. The only reason I was recommending it was because Sue Olsen at the Center of Genomics and Bioinformatics recommended it as a great beginner language during one of her lectures. After hearing her talk I agreed.

Seriously tho, how was i bragging?

I was merely making a point that there isn't one "best" language, and in some cases 12 isn't even enough. It all depends on what you want to do. And by the way, Perl is one of my favorite languages right now, but after attending that lecture, I'm not so sure anymore.
 

martind1

Senior member
Jul 3, 2003
777
0
0
Originally posted by: wacki
Originally posted by: martind1


stop attempting to 'brag'. Who doesn't know python? That stupid indent language. talk about pains in the ass. give me perl any day over python.

How was I bragging? And by the way, I don't know python. The only reason I was recommending it was because Sue Olsen at the Center of Genomics and Bioinformatics recommended it as a great beginner language during one of her lectures. After hearing her talk I agreed.

Seriously tho, how was i bragging?

I was merely making a point that there isn't one "best" language, and in some cases 12 isn't even enough. It all depends on what you want to do. And by the way, Perl is one of my favorite languages right now, but after attending that lecture, I'm not so sure anymore.


well John Davidson of the Center of Performing Arts in Boston claims you are attempting to brag about something that is not worth bragging about.

 

JesterXXV

Junior Member
Oct 29, 2003
10
0
0
I learned programming with QBasic and would highly recommend that (or something like it), but it's somewhat hard to come by these days and will produce quite unsatisfactory results by today's standards in terms of graphics. But in my opinion, starting with a good, console-based procedural language is ideal because object-oriented languages are really just procedural with an added layer of abstraction, so object-oriented languages would just be that much easier to pick up. Plus, if you would ever want or need to learn assembly later, I would *think* that it would be easier to grasp, as you won't be left longing for objects to handle your data. Of course, I'm just speculating, since I can't go back and unlearn QBasic and then hit up some assembly to see how it goes, so feel free to bash me if I'm mistaken.

Anyway, who wants to write:

#include <iostream>
using namespace std;

int main() {
string s;
cout<<"What is your name? "<<flush;
cin<<s;
cout<<"Hello, "<<s<<"."<<endl;
return 0;
}

when they can write:

INPUT "What is your name? ", name$
PRINT "Hello, " + name$ + "."

EDIT: Actually, I think I missed a #include for strings. whatever...
 

wacki

Senior member
Oct 30, 2001
881
0
76
martind1,
whatever... if I came off as bragging, that was not my intent.

Center of Performing Arts in Boston ... what is that? A liberal arts school? Doesn't sound like a place you would normally study computer science.


P.S. nice anal probe comment in the other thread.
 

plastick

Golden Member
Sep 29, 2003
1,400
1
81
These questions are WAY too vague IMHO. You can make a game in any programming language, if you're talking about tic-tac-toe. If you want something like Quake, you're better off hacking existing games to modify skins and maps and such, or get a CS degree and several years experience with 3D modelling before you even think about which language will be the best. Likewise, you can make a word processor in any programming language, if you're talking about notepad. If you want something like Microsoft Word, you'll have to get a CS degree and several years experience with usability, GUI design, typography...

Yeah... sorry. Basically I would like to learn a language that is mainstream so that I can learn to make simple to complex programs without running into program compatibility problems. (If that even makes sense)
 

plastick

Golden Member
Sep 29, 2003
1,400
1
81
Perhapse I should put my plans for programming away for a later time. I'm currently in college with 3 computer networking classes and one sappy business class. So I'm learning so much about the networking world, if i try to cram anything else in, I may die.

 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
If you're in college, find a CS major and ask them which courses you should take as a beginner. Specifically ask about which ones you should *avoid* as well. :)