Programmers - I need your opinion!

Arianelle

The Sweetest Drug
Adventurer
Joined
Jan 23, 2006
Messages
194
Age
40
Location
Charles Village, Baltimore, MD
Nation Banner
Sandy
Server
Quetzalcoatl
Linkshell
Currently Seeking
FFXIV
Arianelle
Ok, so I let my academic advisor team talk me into taking C++ as my first programming class. It's not difficult, but I did struggle a little bit with object-oriented programming. For another one of my Programming requirements, I have to take a class exclusively for OOP (joy).

So, which language should I choose? C#.Net, .Net, or Java? Please if you give an opinion, I'd like to hear your reason why. Are more employers looking for those with J2EE skills or .Net skills? Something that doesn't make a big mess of OOP? Will one be easier to learn first?
 
.Net or JAVA for all purposes might as well be the same. (You'll understand years from now if you choose to learn C# or Java).

That said, C++ was great to learn the fundamentals of OOP. C# and Java are managed whereas C++ is not.
 
personally I'd recommend you learn Java or C# before you learn C++. While C++ is rather different then Java, Java is less complicated and more straight-forward. Programming most of the time requires a somewhat different way to think (its kind of like building a 3D puzzle, only you need to make the pieces that fits in to each other yourself). JAVA and C# are thus easier to take prior to C++, to learn how you need to think. It makes object-oriented programming much easier.

From your post it sounds like you're already done with C++? In that case the ones listed will be a breeze. Personally, I find JAVA a bit outdated, and .Net is often more used, at least from my own experience. JAVA is good to know if you plan on working with mobile equipment, though.

edit: I also think JAVA is rather boring. Was way too easy, as well. I got an A+ by not going to classes, as I were done with pretty much everything we were supposed to do that term after 1 month. So I suppose its an easy way to get extra points.
 
Last edited:
personally I'd recommend you learn Java or C# before you learn C++. While C++ is rather different then Java, Java is less complicated and more straight-forward. Programming most of the time requires a somewhat different way to think (its kind of like building a 3D puzzle, only you need to make the pieces that fits in to each other yourself). JAVA and C# are thus easier to take prior to C++, to learn how you need to think. It makes object-oriented programming much easier.

From your post it sounds like you're already done with C++? In that case the ones listed will be a breeze. Personally, I find JAVA a bit outdated, and .Net is often more used, at least from my own experience. JAVA is good to know if you plan on working with mobile equipment, though.

edit: I also think JAVA is rather boring. Was way too easy, as well. I got an A+ by not going to classes, as I were done with pretty much everything we were supposed to do that term after 1 month. So I suppose its an easy way to get extra points.

I'm glad to hear you found Java to be easy, because I know that OOP is going to be tough for me. Maybe I should go ahead and learn .Net in a classroom setting, so I can just pick up Java on my own time.
 
OOP is very simple really. Don't look at it to be a monstrous learning curve.

OOP seeks 3 main things:
Modularity (encapsulation) - Code modules that accomplish a single task and thus potentially reusable.
Inheritance - Can be very powerful, but Java will not teach you the full scope of it's power.
Abstraction (Polymorphism)- Going from general to specific through inheritance, or reverse specific to general. [The Abstraction (Polymorphism) title is kind of a lie, but doesn't really matter to you as a beginner]

As a beginner, I'd say modularity is the only one to worry about for now. Later, you will find inheritance to be very useful, but it is dumbed down in Java. C++ really gives you a full manipulation potential.

I recommend C++ first to learn all the nitty gritty. Java and C# are pretty, easier, tools to use later when you understand the base concepts.
 
I'd honestly stay as far away from Java as you can. It's overused, easy to use, and a resource hog. If you run your own unix box, I'd recommend C#.
I don't think I could ever recommend .NET with a good conscience.
The only way I'd recommend Java is if you're going to be in web design, because everyone and their mother still seems to think Flash and Java are the second coming of christ as far as websites go.
 
I mainly found it easy because the basics of it is pretty much built up exactly like PHP, which I learned on my free time when I were 15 in 5 days >.> And JAVA were pretty much an exact copy of it in the commands and the way the commands are set up (hard to explain in English >.>). I'm sure you could learn at least the basics of it very fast on your free time.
 
Yeah, personaly I'd say C# is the best to chose as well. C# are the most used out of .NET and Java, and if you really want to learn JAVA, you can easily learn it on your free time. Out of the ones mentioned, C++ and C# are the most useful. JAVA is only really good to know business wise if you plan on making mobile phone components or games, or browser games (read: neopets.com)

edit: it really depends on what you plan to work with in the future. If you plan to take the game route, C# is better.

Speaking of which, I saw a fun picture on a web design company's "Job application" page.

Code:
var jobApplication = new StoredProcedureCall( "applications_get") {
"technical_skill_level" : "advanced",
"social_skill_level" : "great",
} );

for (  ; !jobApplication.EOF; jobApplications.MoveNext() )
{
var interview = new panagora.Interview( jobApplications( "person ") );
if ( interview-impression >= panagora.Interview.ImpressionLevels.VeryGood )
{
var Employee = panagora.Hire( interview.Applicant );
employee.MakeHappy();
}
}
which kind of made me laugh, lol
 
Last edited:
Having a C and C++ background, I really like C#.NET. It has a familiar style, really good libraries, and a decently fast runtime thanks to JIT compiling.
 
Speaking of which, I saw a fun picture on a web design company's "Job application" page.

Code:
var jobApplication = new StoredProcedureCall( "applications_get") {
"technical_skill_level" : "advanced",
"social_skill_level" : "great",
} );

for (  ; !jobApplication.EOF; jobApplications.MoveNext() )
{
var interview = new panagora.Interview( jobApplications( "person ") );
if ( interview-impression >= panagora.Interview.ImpressionLevels.VeryGood )
{
var Employee = panagora.Hire( interview.Applicant );
employee.MakeHappy();
}
}
which kind of made me laugh, lol

The job app is really funny! I really would like to -not- go into web design, so Java will be of less use to me. I'd like to go into software development. Cell phone programming knowledge is good for entry level help desk jobs, I suppose, but its honestly not something I'd want to spend my life doing...

Acks mentioned familiarity, so with all those things considered C# will probably be the best option for me. I can always pick up some Java knowledge if it's as simple as you guys say it is, and I do want to make the most of my money and time in school.
 
Someone recommended C# while downplaying .NET? I would strongly have to disagree. The wholly awesome flexibility .NET offers production environments where VB.NET, C++.NET, and C#.NET is used, just... amazing integration. Yes, I would imagine flaws do exist, especially the unmanaged nature of C++, but it really does cut down costs when it comes to building 'glue' applications.

As for C# and 'unix box' -- if I am not mistaken... C# and Linux != compatible. Open source devs are trying to ( the name of the damn project escapes me ) but for now, unless you're coding strictly for Windows environment, Java will be more portable.

I prefer C# for Console and GUI when coding on Windows.
If I have to target Linux or something else, Java.

I still strongly recommend C++ to you because just understanding near C-style coding will be the most beneficial thing you could do for yourself.
 
he's already taking C++ I assume from the OP :P

And C# works great for Linux. My friend program in Linux only on his home computer. Although he program in Windows at work. Kind of fun actually. He's a programmer, and his girlfriend is a #D modeler. Good team up ;p She's working for DICE Sweden (sub-division of EA-games)
 
I'm a She Uzor :P

I looked up the open source project you're referring to, Arc, and I found two - Mono and SharpDevelop.

Mono and SharpDevelop together create a complete open source tool set for writing, debugging, and running C#/.Net applications on Windows, with the added benefit that those applications can also be deployed on Linux.

The original webpage is not available, but it is cached on Google. From the looks of it, C# is not originally compatible with Linux, but the source is dated October 2006 so they may be further in the project now.
 
Mono is the one trying to transfer the .NET enviro to Linux. C# may work on Linux (I don't know, never tried) but there is no point in using C# unless you're using .NET imo...
 
Back
Top