Posted on 07/06/2009 12:40:46 PM PDT by ROTB
Stick with Java if you want to run on multiple platforms. Java is fine unless you are doing an amazing number of calculations, transforms, etc. I personally think C# amd VB .NET are much easier to use and have a superior IDE, but only really work on Windows boxes (yeah, I know, there are emulators and whatnot ...)
IMHO, stay away from these goofy ‘designer’ and scripting languages. Java is useful everywhere.
I get your point now!
COBOL - now there’s a blast from the past. I taught COBOL back in the 70’s...
I’ve been looking at some of the functional languages, like Erlang and Scala and F#, that supposedly will help improve performance on multi-core CPUs. Not sure about Erlang, what I like about Scala, is that it runs on the JVM, and seems to get the best of both worlds (OO and Functional programming).
And of course now with Oracle owning Java, it will be interesting to see what they do with JVM(s), which in the end, matters more than which language is used to generate the byte code.
Take the question to http://www.stackoverflow.com and you’ll get a better range of answers.
Between Java and c#. Python is too fast and loose with the typing for me. Call me anal retentive, but I require strong typing.
Java has obvious advantages, especially vendor support for multi-platform, which is a big one. But c# was designed to address problems with Java, Delphi and others, thus IMHO comes out a much cleaner language. I also think c# has better data types and has a better generics implementation. The standard framework also has a ton of toys.
But add a problem for c#, your users won’t necessarily have the framework version you need. Many older systems are stuck at 1.1, which, trust me, you don’t want to program in. You need to go at least 2.0, which will entail a framework update for some of your users. So you’re possibly stuck in the same place as Java on that front, although the newer frameworks will install through Windows Update.
Answer to the question on c#, it compiles to a “common intermediate language” which is then compiled to native code by the CLR. It can cache this native version to make later runs faster. Basically, just like Java.
And I once taught Apple BASIC in the early 80's. :-)
Perhaps I should have recommended RPG + BASIC + COBOL + LISP... Multi-language projects are WAY COOL!
Java can now run almost as fast as C++ ... HAHAHAHAHAHAHAHAHAHAHAHhahahahahahaha... whew! sniff.
Maybe you can tell us what institution is offering that PhD in applied asshole that you obviously graduated with honors from.
Kind of depends on your eventual goals.
If you want to write small, usefull little things to help automate your work in Windows, I recommend Visual Basic. It's not real fast, but it's built into nearly everything Microsoft makes.
If you want to create web pages, learn HTML, Java, PHP, etc. (VBScript if you stick with Microsoft)
If you want to develop commercial software, you'll really need to invest in learning C++ or at least Delphi, IMO.
That's my $0.02 worth.
Can’t use “software as a service”. It must run locally.
When you compile to native code, there's no difference. Even with bytecode and today's fast machines the difference is negligible. The difference may be perceptible in computationally intensive stuff like fluid mechanics, graphics, FEM etc..
Python hands down. It is clear and doesn't get in the way, and doesn't saddle you with a bunch of concepts before you write your first line of code. The concepts you learn with Python are applicable to every major programming language you may want to move to in the future.
I apologize to many who have said good things about Java for not pinging them all, first. Etiquette says I should...
If your application requires SPEED, or is an application that will be opened and left open for long periods of time, you MUST NOT use Java. I have found that ALL of the programs on my computer that use Java eat more and more time and memory all the time. Many of those programs I like, but I find I have to eventually purge them from the system, which is often not convenient. Quite a few programs look great when I fire them up and test them, and as long as I don’t put too much of a demand on them, they perform OK. However, when I start using them in a professional type sense, the time penalty explodes in at least a quadratic manner with the data requirements. Often, they bog down so much that I have to kill them using the task manager to get use of my computer back. If you are only going to be using short lists of data and have limited time requirements the program will be used, Java may be fine.
I’m not familiar with C#, and Python may have some of the same limitations as Java, though I’m not as familiar with that.
Python has strong typing:
>>> a = 2 >>> b = "hello" >>> c = a + b Traceback (most recent call last): File "", line 1, in ? TypeError: unsupported operand types for +: 'int' and 'str'
Do people actually compile Java to native code? I knew Java compilers existed, but I didn't think anyone actually used them for anything but edge-cases.
The feature is there mostly for geeks who get off on numbers and specs. Typically, they wear thick glasses, are underweight, have no spouses or girlfriends.. and live in their moms' basements. Most also voted for Obama.
I think I've seen them on slashdot, reddit, and digg.
Read the interesting article Why Python? by Eric Raymond, who was originally kind of antagonistic to the idea of learning it, and chronicles his journey from that antagonism to fandom.
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.