Looking at getting back into programming - Need Suggestions

BlueWeasel

Lifer
Jun 2, 2000
15,944
475
126
I am looking at getting back into simple programming for a Windows based environment. I need some suggestions on what language to use for this. FYI, I plan on doing simple level programs that run individually and also some that work inside and are part of typical Windows applications (MS Excel and AutoCAD are the big two we use).

I actually started out in CS and found I was very good at programming protocols. But I didn't want to be in front of a computer screen for 50 hours a week and went into civil/structural engineering. Learning the specific language is not a problem - a few books and "hands on" experimenting will take care of that.

The type of programs I want to write are typical engineering programs that provide a point-and-click interface as well as graphic output capabilities.

It seems like Visual Basic is the way to go for this. I know several other engineers who have written structural programs that used Visual Basic. In addition, it seems like its fairly easy to learn given the time and VBA for the applications.

Suggestions? Pros and Cons of VB? Other languages (C++, etc.)?
 

BlueWeasel

Lifer
Jun 2, 2000
15,944
475
126
Doh!

The title of the poll should read: "What programming language should I go with?"
 

RSMemphis

Golden Member
Oct 6, 2001
1,521
0
0
I have to say C(++), because it is one of the most commonly used languages and rather powerful.

If you haven't done programming in a while, either do some C for now (which is what most people here mean when they say C++, except for the streaming operators), or learn Java first, which forces you to do object oriented programming. I never understood the concepts of objects because I was used to C. Learning Java I HAD to deal with objects, and C++ was a piece of cake after that.
 

singh

Golden Member
Jul 5, 2001
1,449
0
0


<< I have to say C(++), because it is one of the most commonly used languages and rather powerful.

If you haven't done programming in a while, either do some C for now (which is what most people here mean when they say C++, except for the streaming operators), or learn Java first, which forces you to do object oriented programming. I never understood the concepts of objects because I was used to C. Learning Java I HAD to deal with objects, and C++ was a piece of cake after that.
>>



If you ever plan on learning C++, don't learn C. Too many bad habits stick around from C when you move to C++. Anyways, from your description, it looks like C++ is not the right way to go; VB will serve your purposes better.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
C++ will be better in the long term, and if you learn it properly you'll be a better over all programmer. VB is very simple to learn but complex stuff can be very convoluted to do (because it wasn't designed to do a lot of people try to make it do), and it can get you into some very bad habits.

Java would be good to learn on because it's already Object Oriented, it handles memory allocation and garbage collection for you and some other low level things that make it easier to just play with the language. And maybe if you find the speed adequate your apps will be cross platform too =)

And you don't have to use DOS to program in Pascal, Borland Delphi (now Kylix) is GUI OO Pascal with a VB-like interface for designing the program, it's actually very nice. Just like their C++ Builder IDE is a lot simpler to design GUI apps with than MS VC++ is.
 

BlueWeasel

Lifer
Jun 2, 2000
15,944
475
126
Well, to give you an idea of my background, I started in CS and took Pascal as my first programming class during that first semester. I did very well in the course, but decided that CS was not really where I wanted to go.

I guess I need to read more into it, because I am just not familiar enough with understanding the differences between the various languages. Looking through various VB books, the code is very unfamiliar to me (coming from a Pascal background).

To be honest with you, the reason I have VB in my head is because I thought that was really the only way to go because I thought it was the only one that would allow me to create programs that interface with Excel and AutoCAD. I thought that C++ was a very "serious" language that is "overkill" for what I need to do. And I think of webpages when I think of Java programming.

That just goes to show you where I am coming from. I want to get back into programming for more than just work applications. In a nutshell, I want something that is up to date that really doesn't limit what I can do. Don't get me wrong, I am not about to go out and code an OS or the next MS Word - I want something that I can make programs for engineering and work use that make my life easier, as well as get my programming skills back up and maybe make some "fun" apps on the side.

Keep the suggestions and advice coming. I need all the help I can get and every opinion is greatly appreiciated...
 

BuckleDownBen

Banned
Jun 11, 2001
519
0
0
if you want to work with excel, then vb (or vba) is the way to go. if there is vba, which stands for visual basic for applications, embedded in your cad program, then all the more reason to go with vb.

vb excels at simple gui driven windows apps.
 

QwErTyBk

Member
Jun 20, 2001
192
0
0
VB seems to be the obvious choice. VBA (very close to VB) was meant in integrate with office Apps like Excel. I think it will suit your needs very well.
 

Gaunt

Senior member
Aug 29, 2001
450
0
0
You probably don't need to hear this again, but you should use VB. As much as I dislike VB, and especially VBA, it sounds like it would be ideal for what you are describing. VB makes creating user interfaces very simple, as compaired to Visual C++, which I think you would probably appreciate, coming from a pascal background, which is neither object oriented, nor is it a "visual" language.

An option you may want to look at is Borland's Delphi. It is essentially Visual Basic, but based on pascal. It won't help you interface with excel or autocad, however, but you may want to have a look at it for doing other applications.
 

BlueWeasel

Lifer
Jun 2, 2000
15,944
475
126
Thanks for the advice guys....It looks like its VB is the way to go.

Now the next question: Should I got with VB6 or the new VB.NET? I really don't know much regard the differences between the two, but many I have talked to about it say they are almost completely different. To me it seems like VB.NET is just a renamed VB7, but thats just a guess.

VB6 or VB.net??
 

QwErTyBk

Member
Jun 20, 2001
192
0
0
VB6 is different than VB.NET

If you have any experience at all with Object Oriented programming, or want to learn OOP, go with VB.NET. I dont believe VBA exists anymore in .NET but im guessing VB.NET allows you to work fairly easily with other Apps like Excel.

VB.NET is a more "complete" language to program with, and it will help you make the transition to other languages like Java, C++, or C#. In fact since VB.NET and C# share the same class library, you will be able pick the latter up pretty easily from what you already know about the former.

VB6 is great, but it is more useful to become familiar with .NET. .NET uses a standard library, so you dont have to mess with all kinds of messy API's anymore. Either you choose will be fine, but in the long run i'd go for .NET Read up on .NET at MSDN and check it out for yourself. If you ever plan on doing any web apps or anything like that you'll regret not having chosen VB.NET

My 2 cents

-Qwertybk
 

BuckleDownBen

Banned
Jun 11, 2001
519
0
0
For what you are doing (integrating with CAD and Excel), I'd stick with VB6, mostly because of the amount of free code available on the web. You may not even need VB6, you may just need VBA which comes with Excel.
 

BlueWeasel

Lifer
Jun 2, 2000
15,944
475
126
I want to be able to create stand-alone programs as well as VBA add-ins. So VBA only will not suffice. However, it seems like VB6 better route because of the feature of VBA. I am not sure how much of "VBA" remains in VB.net.
 

Descartes

Lifer
Oct 10, 1999
13,968
2
0
All these references to "VBA" are really not important. Excel, Word, Access, et. al, are exposed to you, as a programmer, via COM components. You can interface with these components in any COM "enabled" language. I think you'll pick up VB6 a lot easier than you would VB.NET, but obviously the latter would open more windows for you. You can call these COM components in .NET via the COM interop facilities.
 

QwErTyBk

Member
Jun 20, 2001
192
0
0
Descartes:

The point was that VBA makes interfacing with office apps very easy. It is also simple to code with because it is virtually identical to VB. Sure other COM enabled languages can do the same, but VBA was created to do just that.

I do agree, however, that VB.NET will open many more opportunities and may be just as easy as VBA to interface with other apps.

Oh and VBA is NOT a part of .NET

-qwertybk
 

joohang

Lifer
Oct 22, 2000
12,340
1
0
Don't forget the .NET replacement for VBA also. I am not sure how this fits in to this discussion but I thought I'd bring it up. I get the impression that VS.NET for Applications is designed for customizing .NET apps. So I guess it'll be no use until Office is written in .NET, which btw, I heard that Microsoft does not want to do because they might lose control of Office since .NET is so damn powerful.
 

DT4K

Diamond Member
Jan 21, 2002
6,944
3
81
go with .Net

Although .net may be more complex than vb6, I don't see any reason to spend your time learning vb6 when everything will be moving towards .net. Plus, it will be better for your programming skills to move into an object-oriented environment.
And ASP.net is integrated with VisualStudio.net so you could get into some web programming too if you wanted. I'm a VB6 programmer trying to convince our IT managers that we should jump into .net.