• Welcome to Valhalla Legends Archive.
 

Language Recommendation

Started by Mitosis, January 12, 2008, 08:06 PM

Previous topic - Next topic

brew

Quote from: Dale on January 14, 2008, 02:35 PM
Quote from: brew on January 14, 2008, 11:04 AM
Don't listen to them. C/C++ is ideal for you. Since when is Mac going to support the Microsoft .NET framework that C# uses? I do assume you're developing for mac. I mean hey, I wouldn't be developing for windows right now if my computer wasn't shipped with it. Python is also nice, though. If you don't like C++.
You're assuming he's developing for Mac?...

Quote from: Mitosis on January 12, 2008, 08:06 PM
My primary operating system is OS X Leopard, I only boot into Windows for 3ds Max and CAD.
It's a pretty fair guess
What would he be developing for?
<3 Zorm
Quote[01:08:05 AM] <@Zorm> haha, me get pussy? don't kid yourself quik
Scio te esse, sed quid sumne? :P

Mitosis

I know Java is going to be used in my CS courses in University, I was just curious on all of your opinions. Yes at THIS point and time I want to develop solely for OS X.

I have been reading up on the languages you guys have suggested me and these are some Pros/Cons I have found for each.

Java
QuoteSome pros
- it is very safe. Many other languages (C, C++) have items called "raw hardware pointers", which allow a programmer to refer to the location of items in memory. When mistakes are made with such pointers, then the program will often fail catastrophically. Not good. Java has pointers (since all object references are pointers) but they are not "raw" pointers, they are safe ones - the programmer cannot manipulate hardware addresses directly, and thus cannot make errors in manipulating them
- it has a extensive library of high quality. A "library" is rougly a collection of parts which may be used to build a program. A library implements a set of related programming tasks which may be easily reused by other programmers. I don't know of any other language which has such an extensive library as Java.
- it is well-behaved. It is easier to write programs which behave as expected. In C++, on the other hand, has many more subtleties which can trip up the unwary.
- it is very portable - "write-once, run anywhere"

Some cons
- Some parts of the Java libraries are harder to use than others
- it is not quite as fast as some other languages. The gap in performance was large in the early days of Java, but nowadays the speed of Java vs C, for example, is remarkably competitive. I remember seeing a measurement in 2001 that Java running on a server is about 80% the speed of comparable C, which is rather remarkable, actually.

^ source http://today.java.net/cs/user/view/cs_msg/1809

Python
QuoteThe pros
Some of Python's features that make it a reasonable candidate for use in enterprise applications are:
Free availability (like Perl, Python is open source).
Stability (Python is in release 2.2 at this point and, as I noted earlier, is older than Java).
Good support for objects, modules, and other reusability mechanisms.
Easy integration with and extensibility using C and Java.

The cons
Obviously, some sound arguments must be considered on the other side of the Python-in-the-enterprise question. Primary objections to Python as a viable enterprise-level programming language focus on these issues:
Smaller pool of Python developers compared to other languages, such as Java
Lack of true multiprocessor support
Absence of a commercial support point, even for an Open Source project (though this situation is changing)
Software performance (though benchmarks repeatedly demonstrate Python is comparable to Java in most applications)

^ source http://articles.techrepublic.com.com/5100-22-1045768.html

C++
QuotePros and Cons
Pros: C++ is powerful and widely known; it is object oriented. Cons: it's a large language to learn.

^ source http://www.cs.vu.nl/~eliens/documents/libero/lrlang4.htm


Dale

Quote from: brew on January 14, 2008, 07:55 PM
Quote from: Dale on January 14, 2008, 02:35 PM
Quote from: brew on January 14, 2008, 11:04 AM
Don't listen to them. C/C++ is ideal for you. Since when is Mac going to support the Microsoft .NET framework that C# uses? I do assume you're developing for mac. I mean hey, I wouldn't be developing for windows right now if my computer wasn't shipped with it. Python is also nice, though. If you don't like C++.
You're assuming he's developing for Mac?...

Quote from: Mitosis on January 12, 2008, 08:06 PM
My primary operating system is OS X Leopard, I only boot into Windows for 3ds Max and CAD.
It's a pretty fair guess
What would he be developing for?

Either you're missing something or I am, and my bets are on you; I'm stating that he practically said he's developing for mac.

brew

Quote from: Dale on January 14, 2008, 09:22 PM
Quote from: brew on January 14, 2008, 07:55 PM
Quote from: Dale on January 14, 2008, 02:35 PM
Quote from: brew on January 14, 2008, 11:04 AM
Don't listen to them. C/C++ is ideal for you. Since when is Mac going to support the Microsoft .NET framework that C# uses? I do assume you're developing for mac. I mean hey, I wouldn't be developing for windows right now if my computer wasn't shipped with it. Python is also nice, though. If you don't like C++.
You're assuming he's developing for Mac?...

Quote from: Mitosis on January 12, 2008, 08:06 PM
My primary operating system is OS X Leopard, I only boot into Windows for 3ds Max and CAD.
It's a pretty fair guess
What would he be developing for?

Either you're missing something or I am, and my bets are on you; I'm stating that he practically said he's developing for mac.
Yeah, said he's developing for mac too. Why would you think i thought otherwise?
<3 Zorm
Quote[01:08:05 AM] <@Zorm> haha, me get pussy? don't kid yourself quik
Scio te esse, sed quid sumne? :P

FrostWraith

It really depends on what you feel like you are going to do with your future, unless you want to just keep it as a hobby.  My major is Mechanical Engineering and my schedule is pretty strong in both C and x86 ASM.  The problem is a lot of employers for internships and co-ops looks fro backgrounds in the .NET framework, which mostly means C#.  Remember, this is from an engineering perspective, but keep what you are going to do in the forefront of your mind.

Mitosis

Quote from: FrostWraith on January 14, 2008, 09:26 PM
It really depends on what you feel like you are going to do with your future, unless you want to just keep it as a hobby.  My major is Mechanical Engineering and my schedule is pretty strong in both C and x86 ASM.  The problem is a lot of employers for internships and co-ops looks fro backgrounds in the .NET framework, which mostly means C#.  Remember, this is from an engineering perspective, but keep what you are going to do in the forefront of your mind.

All my applications to University are for Computer Science, Animation and Web Development. I am serious about this and just wanted to pick up some new knowledge (excluding web development) before the summer.

FrostWraith

Then I would strongly recommend getting comfortable with C#, especially now with the 3.5 framework out now.  C# is good because you can develop both windows applications and web applications in one environment.  PHP is fun, but most professional companies that I have come to deal with unfortunately do not use it.

Warrior

Really, just look into whatever's easier to get going.

The differences between C# and Java are slight enough that knowing one will make it very easy to adapt to the other.
Quote from: effect on March 09, 2006, 11:52 PM
Islam is a steaming pile of fucking dog shit. Everything about it is flawed, anybody who believes in it is a terrorist, if you disagree with me, then im sorry your wrong.

Quote from: Rule on May 07, 2006, 01:30 PM
Why don't you stop being American and start acting like a decent human?

Mitosis

Thank you everyone for the time and effort you put into your posts. I am going to be looking into Objective-C/Carbon and Python.

Yegg

Quote from: Mitosis on January 15, 2008, 06:56 AM
Thank you everyone for the time and effort you put into your posts. I am going to be looking into Objective-C/Carbon and Python.

I was going to recommend Obj-C and Python if I saw this thread earlier. However, wouldn't it be easier/better to go with Cocoa instead of Carbon? Unless you plan on also supporting OS Classic and if so, why would you want to support it?

Mitosis

Quote from: Yegg on January 15, 2008, 12:38 PM
Quote from: Mitosis on January 15, 2008, 06:56 AM
Thank you everyone for the time and effort you put into your posts. I am going to be looking into Objective-C/Carbon and Python.

I was going to recommend Obj-C and Python if I saw this thread earlier. However, wouldn't it be easier/better to go with Cocoa instead of Carbon? Unless you plan on also supporting OS Classic and if so, why would you want to support it?

My mistake Yegg, I meant to say Cocoa. I'm not really interested in supporting OS Classic.

Thank you everyone.