Help with deciding on the right programming class

I currently attend the University of Florida, and I am studying Mechanical Engineering. However, I am required by my major to take a Computer Programming Class for Engineers.

I was on team S.P.A.M. frc #180 and fvc #3228 but unfortunately didn’t do any programming for our team, only mostly designing, machining, and building.

Its always a software problem :yikes: just kidding!

So I have the option of taking the class based on C++, VB.NET, or FORTRAN.
At my school, I heard from one of my friends that the C++ class was harder, and the Fortran class was easier. I know most F.I.R.S.T. teams use C++ on their robots (easy c in ftc), so it seems that this class would be more useful. I have never even heard of the other two.

So my question is, for the long run in the real world, would it be a better idea to take the class on C++, even though its harder? Or are VB.NET and FORTRAN used in more real world applications that I just haven’t heard of or just don’t know about? Or are these two just outdated software that would have no use if I learned?

Thanks in advance,

Jared

Actually, FRC bots use C as well.

C++ will teach you almost all of the things you will ever need to know about programming, and introduce you to object-oriented programming.

C++ is a very, very efficient language if you know how to use it. I believe it has been around a couple decades(?) and it is still very widely used.

I myself work mostly in the world of DBA, however, my C++ class has proven to be mute at this point in time. I have never seen FORTRAN, and I did not know that they still taught it at schools. VB .NET is a good language, however, correct me if I am wrong, I know that most people learn C++ (or the similar C family) prior to it.

C++ is the basis for most languages, even though it is the one I liked the least, and I use the least today.

… my .02 cents of professional experience

VB has an easier syntax to learn, and you’re more likely to encounter it in small apps.

C++ has a harder syntax learn, but many languages use “c syntax”.

I didn’t think anyone used FORTRAN these days.

If you expect to have to do low-level(Driver, OS, ect.) programming or large projects then take C++, otherwise take VB.

just my $0.02.

C++ is an offshoot of the C programming language.

C++ delves into object oriented programming more, There you will learn associations between structures such as parent and children inheriting the properties of their parents and other such nonsense. It works great for structures, but I found it confusing to write and understand. I recommend a C primer before taking this language or you will be lost from Day 1. You need to understand pointers and structures before attempting the concepts of C++.

Visual Basic. NET is Windows based. There are some companies that use it, but most of the larger companies are moving to C#.NET among other languages based on the C Standard.

FORTRAN is an Engineering language based upon BASIC except it handles complex mathematics better. Unless you work with Calculus in your programming, you will probably never see it in industry.

C language is the Entry level block you must understand. Think of it like mathematics, You cannot multiply until you can add. You cannot do Trig until you understand Geometry. Differential Equations cannot be done until you have a solid understanding of Calculus.

Programming is much of the same. Java, HTML, C++, C#, C#.NET,D, Labview … are all based on the principles of C. The reason for this is because C is portable across many different operating systems using that OS Systems designated compiler. The same program written for Windows will run on a MAC by just recompiling.

By now you have probably guess it, all operating systems and device programs are also written on some derivative of the original C language.

Get to know the basics first before tackling a higher-level language than C. You will be glad you did.

I would go with C++ for the same reasons as Eric mentioned. A lot of languages are built off the same syntax so it will be easier to pick up new languages.

If you really want to learn VB, you can pick up VB.NET For Dummies, which is excellent, and will give you a good grasp of basic programming structures.

Not quite…FORTRAN preceded BASIC by about a decade.

Some of us old folks got to learn FORTRAN on punched cards, boy that was fun!

anyways, quick answer, for engineering C type languages are the way to go. VB is for business, FORTRAN is obsolete

Hey squirrel, I learned Fortran on puchcards too and that was as late as 1979!

Jared, as for as what language to study, as a mechanincal engineer, you may work in mechatonics aka robotics. If you ever do any low level programming of microcontrollers (like the FIRST robot), it will probably be in C, so learning C++ will help you there. (C++ is a superset of C). VB.NET would probably serve you well in general programming tasks like databases, graphs, command consoles etc. You won’t go wrong taking VB.NET, but unless you specifially have a need for C or C++ you probably won’t use it.
Brian

I never did FORTRAN, but some ATLAS. Now those were the old days.

The standard here at SIU-C for Engineering is to start off with C++ and then on to other languages, it really is the easiest while being an industry standard. It’s actually a requirement for all Engineering here.

C++ Is the way to go. VB is n00b stuff. You can learn that on your own once you get the feel for C++'s syntax. It’s easier going from harder to easier anyway. Basic though is widely used, so it might be a good language for you to learn. Now about Fortran, it’s pretty much dead. The only person I know who uses Fortran is my Physics professor who uses it to make software to help generate problems and to do small animations like 2d not 3d. >_> You get the picture.

~Bombo

What, no body is talking about COBOL. Punch cards, thats back when IBM ruled. There is nothing like trying to sort out a couple hundred cards that fell on the floor. A couple years ago, people talked about hanging chads like they were something new. C++ is the way to go today.

is there any one goin to atlantia and useing a crab drive sistem that might be able to help us?

do you think you would be able to train me because our progammer is selfish and likes to work alone and he does not show up ,every time we need him my E - mail is coolboy300200@yahoo.com

Jared! Good to see you on the forum!

I’m going to side with those that suggest taking the C++, given your options of C++, vb and FORTRAN. Being an old FORTRAN dinosaur, I wish I could say take it first. But, you will encounter more C-type structure and syntax now-a-days. Having said that, however, there are millions of lines of FORTRAN 77 out there in the engineering community that are not going anywhere. It has been verified and validated and no company wants to spend $$, just to re-verify and re-validate it in another language. You will still encounter it in engineering applications. Besides, the gnu GCC utilties allow you to write in FORTRAN, C, C++, ADA and mix and match them…well…almost.

Something else I’d like to point out is that since the 1980’s, engineering companies have been using “pictures-to-code” software (think Easy-C) to remove the logic and analysis design process from a particular language syntax and structure. Getting familiar with Matlab/Simulink and/or LabView will take you a long way towards being ready for that. Having the knowledge of a language and syntax, will be invaluable to you, however, when you need to get into the nuts and bolts of debugging problems.

Now…if they’d only target FORTRAN 95 as the language of choice for the 2009 FRC :smiley:

Eric

I took FORTRAN at UF in …well decades ago…also on punchcards…I can’t believe they even teach it anymore. Take C++

ME too!

I’m currently teaching a class in VB.NET and am impressed with how quickly you can put together useful programs. It’s a useful skill to have ready when you need it, but relatively easy to learn with tutorials or readily available books. As mentioned above, a better tool for a lot of engineering is Matlab or something similar.

If the C++ class is an entry level class, I doubt that you’ll get into the most difficult concepts of object based programming. I think that it will probably give you the most useful knowledge base to understand programing basics. Try to get as much as you can from it. In my experience, one of the most troublesome traits of many professionals is their lack of understanding of fields outside of their specialty. I know a company looking for someone to do prototype installations, troubleshooting, and software modifications. That’s just one challenging job which requires a much wider breadth of knowledge than a pure mechanical, electrical, or software engineer has.