What would be a good programming language for a.....

xSkyDrAx

Diamond Member
Sep 14, 2003
7,706
1
0
newbie to learn? I'm seriously new to it, but I would like to start somewhere, anything tips, ideas, suggestions are welcomed. Thanks!
 

shadowfaX

Senior member
Dec 22, 2000
893
0
0
Java is a decent language to learn first. It's pretty practical and helps to get your feet wet since it's somewhat like C. Of course, I also recommend learning C but since Java does all the memory management for you, that might be a little easier initially.
 

dighn

Lifer
Aug 12, 2001
22,820
4
81
c++ or java

either language you choose will make the other easier to learn. java is easier to start off with but imho c++ is a little more practical.
 

Barnaby W. Füi

Elite Member
Aug 14, 2001
12,343
0
0
Any language is a good place to start IMO. Choose something that will have some practical uses for you, so you'll actually start using it in significant ways, and thus actually learn it decently well.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Any language is a good place to start IMO. Choose something that will have some practical uses for you, so you'll actually start using it in significant ways, and thus actually learn it decently well.

Yes, just pick one and run with it (well except VB of course, stay away from that). Generally speaking once you learn the concepts of programming learning a language is just a matter of syntax and quirks, in almost all languages the same ideas apply.
 

jaynonymous

Senior member
Jan 24, 2002
715
0
0
I would say that the choice of language depends somewhat on the platform that you're looking to develop on and your future goals for programming. For example, if all you want to do is create little apps for yourself and all you use is a Windows-based machine and you have no future plans for being a professional programmer, then VB would be fine for this. However, if you plan on developing applications as a professional one day and truly want to learn all you can, then starting with C would be a good place to go. Note that many of the college-level classes that I've seen teach C++ or Java.
 

Jzero

Lifer
Oct 10, 1999
18,834
1
0
During a previous discussion on this same subject, someone suggested that the best way to decide is to come up with a project for yourself and then do some research and decide what language is suited for that type of project.

Start off simple - if you pick a project that is TOO complex, you will frustrate yourself.
 

jaynonymous

Senior member
Jan 24, 2002
715
0
0
Originally posted by: Jzero
During a previous discussion on this same subject, someone suggested that the best way to decide is to come up with a project for yourself and then do some research and decide what language is suited for that type of project.

Start off simple - if you pick a project that is TOO complex, you will frustrate yourself.

This is so true... It's fairly difficult to come up with an example project to work on that is just right. Ideally, you want something that provides short term rewards and feedback, while in the process creating something larger.

Something I found useful is to create an application that accepts user input and stores that info into a text file. Later, you can work on sorting the data and manipulating the data programmatically. Later still, you can use this same example program and start writing the user-entered data into a database and extracting and consuming the data.
 

DT4K

Diamond Member
Jan 21, 2002
6,944
3
81
I assume the above posters are referring to VB 6.0 and NOT VB.Net.
While it is true that most commercially released software is written in C++ and a great deal of server side code is written in Java, there are tens of thousands of professional programmers who make their living programming VB 6 applications.
I agree that it is not the ideal language for becoming a fundamentally good programmer.
But it cannot be beat for quickly developing user friendly business applications that interface with a database. And that description applies to a hell of a lot of internal software being used by businesses. VB6 is not a true object oriented language like C++, Java, VB.Net and C#, but it certainly has it's uses and to imply that it is good for nothing more than writing small personal programs is absurd.

I think VB was a great language if you were a complete newb to programming. It is very easy to get started and create forms with buttons and text boxes, etc. The basic programming constructs like conditional statements, loops, assignments, comparisons, etc., are the same whether you are using VB6, Java, C, whatever. It makes it easy to concentrate on the programming logic instead of writing a ton of nasty code just to display a form window.

That said, with .Net available now, I don't see much reason to stick with VB6. VB.Net or C# give you practically the same ease of use and rapid interface development as VB6 but with all the functionality and power of a true object oriented language like C++ or Java.

But if you just want to learn about programming, I would probably start with Java since it's free and easy to get started with. Some people will recommend C++ instead, but I think the added complexity of dealing with things like pointers just gets in the way of learning the basics first. If you learn the concepts of object oriented programming and the syntax of Java, it will be very easy to transition to C# or C++ in the future.
 

ElDonAntonio

Senior member
Aug 4, 2001
967
0
0
I think VB's not a bad choice. I learned it for two years in college before going to comp. eng. at university, and it did help me approach C++ (I'm graduating in a month and I'm a reasonnably good programmer)
At least you can build some nice applications very fast and you get your feet wet with some code. Later on, you can move to C++, but be prepared to make some pretty "boring" apps for quite some time, before you'll start messing with user interface creation.
 

trevinom

Golden Member
Sep 19, 2003
1,061
0
0
IMHO, if you want to learn the concept of programming, I would start with QBASIC. Yes, you read it right, QBASIC, quick and simple and it's is freeware nowadays I believe. It will teach you the basics of looping, string manipulation, IO and even graphics if you use some of the utilities available online. If you google 'QBASIC' you will find a plethora of resources.
As far as finding projects to get you going, QBASIC can be used to manipulate data on the fly. You can start with something that interests you and find out how to do it faster. ie. i'm assuming you use Office products...Excel for instance. If you do, you can go into 'Tools->Macro->Macro Editor' and what does this get you? It gets you into a the equivalent of a QBASIC programming environment. You can manipulate any basic spreadsheet by writing QBASIC code. For instance, I download a list of tickers (short name for public companies that trade on the different stock markets) that I'm interested in from an internet site, cut and paste them (or export if I'm using one that has this fucntion) onto Excel and then run a Macro that has QBASIC code that puts it into an http format that I can plug into IE explorer that shows me the current prices in one page using Yahoo's lookup features. It also saves it to a .txt file for later reference.
This will get you into a 'programming mindset' which you can then carry on to any other programming language. The reason why these other programming languages like JAVA, C++, VB and all these other 'visual' languages are a pain-in-the-butt to use is because they require long amounts of time to learn the environment and involve alot of screen maniplation of properties and tags and all this other BS that is just not required when you are trying to see if you like programming. The nuts and bolts of programming is found in QBASIC or any other older language like Pascal or just BASIC.
 

Cheetah8799

Diamond Member
Apr 12, 2001
4,508
0
76
If you'd like to get into server-side web programming languages, Perl and PHP would be good places to start.
 

Jzero

Lifer
Oct 10, 1999
18,834
1
0
Originally posted by: trevinomThe reason why these other programming languages like JAVA, C++, VB and all these other 'visual' languages are a pain-in-the-butt to use is because they require long amounts of time to learn the environment and involve alot of screen maniplation of properties and tags and all this other BS that is just not required when you are trying to see if you like programming.

:confused:
"Screen manipulation of properties and tags?"
What does that mean? The fundamentals of manipulating text, file I/O, flow control, etc are largely identical from language to language.
 

Armitage

Banned
Feb 23, 2001
8,086
0
0
As others have said, think about where you want to go with your programming. Better to start with something that will take you there, then to use one language to learn programming, and then have to learn another to get down to business. For example ... if you expect to do alot of web development, then C++ is probably not where you want to start. If you expect to do hardcore number crunching, PHP or Perl is probably not the best place.

 

trevinom

Golden Member
Sep 19, 2003
1,061
0
0
Originally posted by: Jzero
Originally posted by: trevinomThe reason why these other programming languages like JAVA, C++, VB and all these other 'visual' languages are a pain-in-the-butt to use is because they require long amounts of time to learn the environment and involve alot of screen maniplation of properties and tags and all this other BS that is just not required when you are trying to see if you like programming.
:confused: "Screen manipulation of properties and tags?" What does that mean? The fundamentals of manipulating text, file I/O, flow control, etc are largely identical from language to language.

What I meant was that the 'visual' languages are meant to allow developers access to standard windows and forms. This requires alot of properties and tags manipulation needed to display the information. I agree with your last statement in that manipulating text, file I/O, flow control, etc are largely identical from language to language, so my point is merely to avoid (at the beginning) languages that make you learn alot of extra, and proprietaryinformation until you know what it is you are going to do.
 

Jzero

Lifer
Oct 10, 1999
18,834
1
0
Originally posted by: trevinom
What I meant was that the 'visual' languages are meant to allow developers access to standard windows and forms.  This requires alot of properties and tags manipulation needed to display the information.

I think I see what you're saying. You'll really only experience that hurdle in VB, as far as I know. C++ and Java wouldn't have that problem.
 

DT4K

Diamond Member
Jan 21, 2002
6,944
3
81
Originally posted by: ergeorge
As others have said, think about where you want to go with your programming. Better to start with something that will take you there, then to use one language to learn programming, and then have to learn another to get down to business. For example ... if you expect to do alot of web development, then C++ is probably not where you want to start. If you expect to do hardcore number crunching, PHP or Perl is probably not the best place.
Maybe, but if you don't know what you want to do and you just want to try it out and get the feel for what programming is, then it doesn't matter much what language you learn. People generally seem to take one of these two positions:
1. Learn something easy like VB first so you don't get overwhelmed with the low level details in something like C++.
2. Start with something like C++ so you understand what is going on behind the scenes before you move to languages that hide more details from you like VB or Java.

To me, both have their pros and cons and either method can work.


Originally posted by: trevinom
Originally posted by: Jzero
Originally posted by: trevinomThe reason why these other programming languages like JAVA, C++, VB and all these other 'visual' languages are a pain-in-the-butt to use is because they require long amounts of time to learn the environment and involve alot of screen maniplation of properties and tags and all this other BS that is just not required when you are trying to see if you like programming.
:confused: "Screen manipulation of properties and tags?" What does that mean? The fundamentals of manipulating text, file I/O, flow control, etc are largely identical from language to language.

What I meant was that the 'visual' languages are meant to allow developers access to standard windows and forms. This requires alot of properties and tags manipulation needed to display the information. I agree with your last statement in that manipulating text, file I/O, flow control, etc are largely identical from language to language, so my point is merely to avoid (at the beginning) languages that make you learn alot of extra, and proprietary information until you know what it is you are going to do.

You do realize that you can write Java and C++ code in a text editor without ever doing anything "visual" at all right?

I understand the point you are making, but even with VB, I would disagree.
There is very little proprietary information you have to learn to get started.
Create New .EXE Project, drag button onto form, drag text box onto form, write code that does something when you click the button and displays output in the text box if needed.
It is just as easy to learn about loops and conditionals and assignments in VB as in anything else.
 

doornail

Senior member
Oct 10, 1999
333
0
0
Python

It's free, cross platform, suitable for anything from small scripts to client server applications. It has a very clean coding style and the interactive mode is just awesome when trying to figure something out. I am just impressed at how productive it's been for us. Programs work the first time, are easy to maintain, and you'll scroll a lot less too since python tends to do more in less lines of code.




 

trevinom

Golden Member
Sep 19, 2003
1,061
0
0
Originally posted by: Shanti
Originally posted by: ergeorge As others have said, think about where you want to go with your programming. Better to start with something that will take you there, then to use one language to learn programming, and then have to learn another to get down to business. For example ... if you expect to do alot of web development, then C++ is probably not where you want to start. If you expect to do hardcore number crunching, PHP or Perl is probably not the best place.
Maybe, but if you don't know what you want to do and you just want to try it out and get the feel for what programming is, then it doesn't matter much what language you learn. People generally seem to take one of these two positions: 1. Learn something easy like VB first so you don't get overwhelmed with the low level details in something like C++. 2. Start with something like C++ so you understand what is going on behind the scenes before you move to languages that hide more details from you like VB or Java. To me, both have their pros and cons and either method can work.
Originally posted by: trevinom
Originally posted by: Jzero
Originally posted by: trevinomThe reason why these other programming languages like JAVA, C++, VB and all these other 'visual' languages are a pain-in-the-butt to use is because they require long amounts of time to learn the environment and involve alot of screen maniplation of properties and tags and all this other BS that is just not required when you are trying to see if you like programming.
:confused: "Screen manipulation of properties and tags?" What does that mean? The fundamentals of manipulating text, file I/O, flow control, etc are largely identical from language to language.
What I meant was that the 'visual' languages are meant to allow developers access to standard windows and forms. This requires alot of properties and tags manipulation needed to display the information. I agree with your last statement in that manipulating text, file I/O, flow control, etc are largely identical from language to language, so my point is merely to avoid (at the beginning) languages that make you learn alot of extra, and proprietary information until you know what it is you are going to do.
You do realize that you can write Java and C++ code in a text editor without ever doing anything "visual" at all right? I understand the point you are making, but even with VB, I would disagree. There is very little proprietary information you have to learn to get started. Create New .EXE Project, drag button onto form, drag text box onto form, write code that does something when you click the button and displays output in the text box if needed. It is just as easy to learn about loops and conditionals and assignments in VB as in anything else.

I went and saw where I made my mistake. When I said C++, I was thinking Visual C++, Visual Basic and the like. When I think Visual, I think an IDE that has all kinds of dll's, object tags, properties and the like...
They also come at a decent price. QBASIC is free, easy to run, debug and newbie-friendly and will run on just about any windows OS with any hardware. I'm not sure about Python, but all those others mentioned require a decent amount of start-up cash and are not as user-friendly/intuitive.
 

Titan

Golden Member
Oct 15, 1999
1,819
0
0
if you just want to learn about programming and never had any experience before, it doesn't matter, pick one, and learn to do some basic stuff with it like file i/o.

If you want to learn a powerful programming language and be good with it, I always reccomend C or C++. This is because everything in C is in C++ and C is one of the most popular languages. It is an international standard, and everything from windows, to linux, to most video games, to your washing machine are written in C. Once you learn C++, it's easy to learn Java, and easy to learn C, so I typically reccomend C++.

Just remember, every bit of code you write is an extension of work someone has already done for you. to print text into a window, you are calling a function which is code you did not write. This goes down to the machine code level, just 1's and 0's so you will never be truly original unless you invent a new machine and new programming languages to go with it. I say all this because it is very important to know what code your code relies on. C and C++ have standard libraries, that must be implemented on various platforms, and could behave differently in different environments, but you can assume they are platform independant. Then there is lots of other code out there that people write that is not standard, but it could suit your needs, but not be platform independent. Like microsoft has their own code library called an API which only lets you write windows programs. So after you've learned how to code the basic syntax of the pure standard language, you may get caught up in coding using someone else's API, and that becomes a much bigger mess.

C++.

Just a thought: We get this question a lot in here, shouldn't we have a sticky thread for it?
 

Jzero

Lifer
Oct 10, 1999
18,834
1
0
Originally posted by: trevinom
I'm not sure about Python, but all those others mentioned require a decent amount of start-up cash and are not as user-friendly/intuitive.

Microsoft "Visual" IDEs notwithstanding (VB, .net, etc.), I haven't seen anything mentioned in this thread that isn't free to use -
Java
PHP
Python
QBasic
C/C++/Pascal/Fortran (Free compiler http://gcc.gnu.org)
 

DT4K

Diamond Member
Jan 21, 2002
6,944
3
81
Originally posted by: Jzero
Originally posted by: trevinom
I'm not sure about Python, but all those others mentioned require a decent amount of start-up cash and are not as user-friendly/intuitive.

Microsoft "Visual" IDEs notwithstanding (VB, .net, etc.), I haven't seen anything mentioned in this thread that isn't free to use -
Java
PHP
Python
QBasic
C/C++/Pascal/Fortran (Free compiler http://gcc.gnu.org)

You can write .Net code for free as well if you skip the pretty IDE and just use notepad.

EDIT: Actually, I found a free open source IDE for VB.Net and C# right here.
 

jaynonymous

Senior member
Jan 24, 2002
715
0
0
Originally posted by: Shanti
Originally posted by: Jzero
Originally posted by: trevinom
I'm not sure about Python, but all those others mentioned require a decent amount of start-up cash and are not as user-friendly/intuitive.

Microsoft "Visual" IDEs notwithstanding (VB, .net, etc.), I haven't seen anything mentioned in this thread that isn't free to use -
Java
PHP
Python
QBasic
C/C++/Pascal/Fortran (Free compiler http://gcc.gnu.org)

You can write .Net code for free as well if you skip the pretty IDE and just use notepad.

EDIT: Actually, I found a free open source IDE for VB.Net and C# right here.


Microsoft also provides Web Matrix, a free WYSIWYG editor for ASP.NET pages.