Link to home
Start Free TrialLog in
Avatar of matrix717
matrix717

asked on

What language should I learn?

I have been programming with VB for a couple of year but I want to move to a more powerfull language.
i want to make software for accounting, management and stuff like that... what languague do you recommend me?
Avatar of Guy Hengel [angelIII / a3]
Guy Hengel [angelIII / a3]
Flag of Luxembourg image

You might go to switch to VB.net or C#, both to stay uptodate. VB.net would have the advantage that you know already most of the syntax.
Now, i don't see why VB wouldn't fit for an accounting or other software of similar kind, where you rather have to make the database design powerful, the rest is mainly interface stuff...

CHeers
Avatar of payperpage
payperpage

to continue with angelll's thoughts about database design, I think if I were you I would learn a database language.

The two sensible choices for business applications would be Oracle and SQL Server.  Both use the language SQL to get data in and out of the database (the two varieties of SQL are different in some details, but a lot is common).  SQL is a powerful language and will get you a long way if you learn the finer points.  

Once you have mastered SQL, each of the two databases also has its own separate programming languages for building procedural and OO constructs.  For Oracle, the available options include PL/SQL for procedural, C (not so often used these days) and java for OO.  For SQLserver, I'm not sure what the languages are, as I don't use them, but there will be similar ones I'm sure, and they may share commonalities with the VB you know.

Learn how to design and build these procedural and OO constructs that are part of a proper business database - triggers, packages, procedures, functions, etc, and you will be well-prepared to get started on a business application.
As a long-time programmer in many languages, I can tell you that the above advice is very sound.  Learning C, for example, would do you no good for the kind of thing you say you want to do.  VB (or the move recent VB.net) IS the best thing around for you, supplemented by more db knowledge.  I don't think C# will be any more use than C/C++ for your needs, although it's THE thing for many types of programming.
From what I read it sounds as though you are doing most of your programming over windows, however if you would like or believe your applications will one day work on Linux or Unix then i would suggest using a language such as Java. It is more portable than many other languages and has very good database connectivity with the JDBC connection methods. Just my opinion,

guidway

You should learn more than one language.
For what you mentioned, however, VB is fine and easy to debug.

The operating system you use will dictate what languages have the most practicality.
If you're using Windows, you can stick with the visual languages like VC++ and VB and the .NET stuff.

If you're using Unix, go with C/C++, Perl, Shell.

What ever you do, learn a little HTML, too.
I agree with the above comments.  

I think you will find greater expertise in one language is better than a little expertise in a lot of langauges.

Don't expect VB.Net to be a breeze because you know VB.  It has a steep learning curve and is focused differently than VB. ( NET vs single-user)

If you understand or want to learn Object Oriented programming, I'd recommend learning C++.

Databases will become more and more important to future applications.  So I would put some emphasis in that area.

Another avenue to pursue is to learn program design and language design.  The more you can understand about how a language works and good programming techniques, the more valuable you will be to a company.

As a program manager and project leader I would rather have someone well grounded in software engineering and good at designing programs than one who is an expert coder.  I have found through my own experience and as a team leader that a solid understanding of requirements and a solid design is more important than the language or someone's skill with that language.

What you study from here really depends on where you want to go as a programmer.  What platforms you want to work on.  The types of project you want to work on.

VB especially when tied to a solid DBMS is powerful enough to do almost anything you want.  C++, COBOL, FORTRAN etc may be better for a specific application but VB will allow you to do most of what you will encounter.

good luck
mlmcc
simple: all of them. As a programmer the language shoudn't be the problem. Shure you go to company x and they use language y which  you don't know but y could be learned quite fast if you have knowlage of other languages.
Avatar of matrix717

ASKER

The true is that I want to lear something diferent and also to program in Unix.

According to what I've read, the best options are Java and C++

Where can I find good tutorials for a Newbie and what are some good compilers?
Do you have access to a unix box?
If so, most of them already have java and c/c++ frameworks (interpreters and compilers) on them.
Tutorials

Java

http://java.sun.com/docs/books/tutorial/

IDE's

For Java:
Download either Jbuilder Personal Edition from www.borland.com/jbuilder   

or

Forte for Java from www.sun.com/ffj

Not sure about C++
Sorry left out individual compilers.

Compilers

Java
Download JDK 1.4 from http://java.sun.com/j2se/

C++
http://www.borland.com/bcppbuilder/freecompiler/
One more thing:

You can download the entire java tutorial for offline viewing at http://java.sun.com/docs/books/tutorial/information/download.html

guidway
Wich one is better, Jbuilder Personal Edition or JDK 1.4?
Also, what is better, to install Linux or Unix in my computer? I want to develop database programs.

thanks
Are you going to abandon VB all together?
If so, Linux or Unix (either) will work depending on how much hard drive space you have.
The JDK 1.4 is more generic, so stick with it.
"Wich one is better, Jbuilder Personal Edition or JDK 1.4?"

Jbuilder personal Edition is an IDE which has the JDK 1.3 or 1.4 compiler installed with it so everything is in an integrated environment which makes application building pretty easy. All your source code production, interpreting and debugging is done in the same interface. If you get just the JDK 1.4 download then you will have to create your applications in something like notepad or another text editor and from the command prompt or shell you will have to run the interpreter on that file or files.

"Also, what is better, to install Linux or Unix in my computer? I want to develop database programs."

I'm not sure that Jbuilder Personal is released in a Linux/Unix version, but you can do all your application development on a Windows system and it will easily run on an java interpreter under Unix/Linux with little or no code change. Hope this helps,

guidway
Now Forte for java is released in all versions of Operating Systems (as far as I know). It is another IDE just like Jbuilder Personal Edition. The free version is Forte For Java Community Edition. Again, hope this helps,

guidway
If you wish to write programs quickly, stick with VB.

If you wish to write quick programs, switch to C or C++.

If you wish to write secure programs that run slow but look the nicest in code, write in Java.
I worked on a project in Java working with the JDBC connection and using both InConcert Workflow Engine and Oracle DBMS as the backend of the application and it ran with no speed issues (once the jdk was given the proper parameters). It depends the version of the jdk you are using and also what runtime options you set. JDK 1.3.1 I wouldn't consider slow (which is what I used). C maybe faster but not as friendly. Experiment with each and see what you like and which is the easiest for you.

guidway

No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:
 - PAQ'd and pts removed
Please leave any comments here within the
next seven days.

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER !

Nic;o)
ASKER CERTIFIED SOLUTION
Avatar of Jgould
Jgould

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial