View Full Version : Java or C#?
Hoffmann
April 29th, 2006, 03:42 PM
Hi All,
Which language would be better as a second language for learning (Python being the first one): Java or C#, and why?
Thanks,
Hoffmann
MichaelZ
April 29th, 2006, 04:39 PM
Hello,
Here a couple of links that could help you getting what would be more suitable for you:
http://www.veridicus.com/tummy/programming/java_vs_csharp.asp
http://www.javacamp.org/javavscsharp/
http://www.25hoursaday.com/CsharpVsJava.html
http://www.networkmagazineindia.com/200111/workshop1.htm
http://www.theserverside.com/articles/pdf/J2EE-vs-DotNET.pdf
Best wishes,
Michael
mostwanted
April 29th, 2006, 04:44 PM
C# is the better language, but whether you want the better language or the better language support, I don't know. Java is probably better supported.
But hey, C# + Gtk# is an awesome way of making apps, just too bad it's not very well documented :)
Hoffmann
April 29th, 2006, 04:52 PM
Hello,
Here a couple of links that could help you getting what would be more suitable for you:
http://www.veridicus.com/tummy/programming/java_vs_csharp.asp
http://www.javacamp.org/javavscsharp/
http://www.25hoursaday.com/CsharpVsJava.html
http://www.networkmagazineindia.com/200111/workshop1.htm
http://www.theserverside.com/articles/pdf/J2EE-vs-DotNET.pdf
Best wishes,
Michael
MichaelZ:
Those links are great. Many thanks!
Best,
Hoffmann
Hoffmann
April 29th, 2006, 04:54 PM
C# is the better language, but whether you want the better language or the better language support, I don't know. Java is probably better supported.
But hey, C# + Gtk# is an awesome way of making apps, just too bad it's not very well documented :)
mostwanted:
Is it possible to program in C# on Ubuntu? I mean, to write a code in C# that will be compiled and used in Ubuntu.
Thanks!
Hoffmann
LordHunter317
April 29th, 2006, 05:31 PM
What do you want to do? One doesn't learn a language without a reason.
kaamos
April 29th, 2006, 05:59 PM
Is it possible to program in C# on Ubuntu? I mean, to write a code in C# that will be compiled and used in Ubuntu.
http://www.mono-project.com/
Hoffmann
April 29th, 2006, 06:45 PM
What do you want to do? One doesn't learn a language without a reason.
Of course!
unbuntu
April 29th, 2006, 07:06 PM
As a matter of fact, they are very similar...(not API, just the core language part), and since its beginning, C# is always bearing the accusation of "copying" Java features. C# has a richer feature set and allows more flexibility. Commanding one and the other is relatively easy to learn, language-wise. As for learning the frameworks they are using, that's another story.
Hoffmann
April 29th, 2006, 08:11 PM
As a matter of fact, they are very similar...(not API, just the core language part), and since its beginning, C# is always bearing the accusation of "copying" Java features. C# has a richer feature set and allows more flexibility. Commanding one and the other is relatively easy to learn, language-wise. As for learning the frameworks they are using, that's another story.
Hi unbuntu:
After studying several books and tutorials about Python, I am starting to become 'confortable' with the language. It seems like all I need to do now is to start practing as much as I can. In the mean time, I am thinking about a second language to learn, as well. (I have some superficial experience with C, too).
I have read elsewhere that Java and C# are good as second languages, and this is the reason I started this topic.
After reading the comments from you and others, it seems like C# would be the best choice between those two languages. Is that correct? I am not so sure how a Microsoft "stuff" would work for the development of linux (or multplatform) applications.
If you guys have more comments about that, please, let me know.
Many thanks to all of you!
Hoffmann
yaaarrrgg
April 29th, 2006, 10:05 PM
As for jobs, Java seems to be one of the best languages to know. Here's a site that tracks trends in programming languages:
http://www.tiobe.com/tpci.htm
Although it is hard to predict what the languages will look like in five years.
For Java to flourish, I think there needs be an effort to simplify things for developers. For C# to flourish, Microsoft needs to avoid doing anything Microsoftian :)
Hoffmann
April 29th, 2006, 10:25 PM
As for jobs, Java seems to be one of the best languages to know. Here's a site that tracks trends in programming languages:
http://www.tiobe.com/tpci.htm
Although it is hard to predict what the languages will look like in five years.
For Java to flourish, I think there needs be an effort to simplify things for developers. For C# to flourish, Microsoft needs to avoid doing anything Microsoftian :)
yaaarrrgg:
Very interesting.
Thanks for the link.
Hoffmann
LordHunter317
April 30th, 2006, 01:02 AM
I have read elsewhere that Java and C# are good as second languages, and this is the reason I started this topic.They're good if you want to work in the business world, sure. But so's C++. But is that what you want to do? Maybe you're interested in logical programming, which would make Prolog a good choice. Or maybe you're intersted in functional programming, which is a worthwhile pursuit even if you never use it in the real world. Which would make Scheme and Haskell good choices.
Or maybe you're interested in kernel-level programming, which makes C the only real choice, plus perhaps assembly.
Or maybe you're intersted in practical implementations of data-structures, which makes C++ a good choice with the STL and portions of Boost.
I was serious when I asked the question. What do you seek to acquire by learning another language? Marketability? The ability to design better algorithms? Self-gratification?
After reading the comments from you and others, it seems like C# would be the best choice between those two languages. Is that correct?It depends. I find S.W.F superior to Swing for most GUI applications, though both have their clear, obvious, nasty flaws and drawbacks. ASP.NET is superior for pure webpage stuff, though .NET cannot do everything Java can on the server: there's no support natively for any sort of managed persistence (not that EJB CMP is worth writing home about, but it's still there), for remote business objects of any kind via a trival remoting mechanism, and clustering support is totally lackluster.
Also, for server-side stuffs, Java is the UNIX winner right now and will be for sometime. Several mature and functional platforms exist for J2EE deployments like WebLogic and WebSphere, while Mono remains relatively immature. It's improving, but will be sometime.
OTOH, on Windows, .NET has taken a lot of marketshare from Windows J2EE deployments and will continue to do so. If all you're doing is serving webpages or web services, it's incredibly attractive.
Either way, you could get a job developing both in just about any business capacity you could think of. Learning both languages is easy (learning the syntax and rules of most languages is easy) but learning the API will not be. Both the J2EE (superset of J2SE) and .NET APIs are huge. No matter what you do, you'll spend lots of time searching documentation on any project you work on. However, playing around some is always a good idea, so you have some clue.
I am not so sure how a Microsoft "stuff" would work for the development of linux (or multplatform) applications.MS is rather Mono-ambivalent and will probably continue to be that way. It's not to their advantage to kill the project.
Hoffmann
April 30th, 2006, 12:26 PM
They're good if you want to work in the business world, sure. But so's C++. But is that what you want to do? Maybe you're interested in logical programming, which would make Prolog a good choice. Or maybe you're intersted in functional programming, which is a worthwhile pursuit even if you never use it in the real world. Which would make Scheme and Haskell good choices.
Or maybe you're interested in kernel-level programming, which makes C the only real choice, plus perhaps assembly.
Or maybe you're intersted in practical implementations of data-structures, which makes C++ a good choice with the STL and portions of Boost.
I was serious when I asked the question. What do you seek to acquire by learning another language? Marketability? The ability to design better algorithms? Self-gratification?
It depends. I find S.W.F superior to Swing for most GUI applications, though both have their clear, obvious, nasty flaws and drawbacks. ASP.NET is superior for pure webpage stuff, though .NET cannot do everything Java can on the server: there's no support natively for any sort of managed persistence (not that EJB CMP is worth writing home about, but it's still there), for remote business objects of any kind via a trival remoting mechanism, and clustering support is totally lackluster.
Also, for server-side stuffs, Java is the UNIX winner right now and will be for sometime. Several mature and functional platforms exist for J2EE deployments like WebLogic and WebSphere, while Mono remains relatively immature. It's improving, but will be sometime.
OTOH, on Windows, .NET has taken a lot of marketshare from Windows J2EE deployments and will continue to do so. If all you're doing is serving webpages or web services, it's incredibly attractive.
Either way, you could get a job developing both in just about any business capacity you could think of. Learning both languages is easy (learning the syntax and rules of most languages is easy) but learning the API will not be. Both the J2EE (superset of J2SE) and .NET APIs are huge. No matter what you do, you'll spend lots of time searching documentation on any project you work on. However, playing around some is always a good idea, so you have some clue.
MS is rather Mono-ambivalent and will probably continue to be that way. It's not to their advantage to kill the project.
Hi LordHunter317,
Many thanks for the nice information.
Well, I am a chemist, and all I want is to use programming in my work. Another very attractive field for me is bioinformatics and, consequently, it is necessary to know how to program in this field. I realized that Python, Perl, and Java have been mature in the field. For instance, there exist interesting projects such as Biopython, Bioperl, and Biojava.
Best regards,
Hoffmann
MichaelZ
April 30th, 2006, 03:02 PM
Hi unbuntu:
After reading the comments from you and others, it seems like C# would be the best choice between those two languages. Is that correct?
I think that no one can tell you if one language is most suitable for you than another.
IMHO, you should set your requirements and then give a try to both languages. Eventually, you can post specific questions to this forum, which answers will help in deciding for one language or another.
I am not so sure how a Microsoft "stuff" would work for the development of linux (or multplatform) applications.
Yes, this is a good question. Personally I am always careful with M$.
Best wishes,
Michael
MichaelZ
April 30th, 2006, 03:45 PM
http://www.tiobe.com/tpci.htm
Interesting link indeed. Thanks :).
Best wishes,
Michael
treak007
May 7th, 2006, 07:38 PM
Mostly it is personal preference. However, I think I read somewhere that 70% of programming jobs use java. So, if you plan on programming for cash, java is the way to go.
cocox
May 8th, 2006, 01:23 AM
Mostly it is personal preference. However, I think I read somewhere that 70% of programming jobs use java. So, if you plan on programming for cash, java is the way to go.
That's true... all depends about what do you want... if you just want to do some programing for money java is the way for web projects also..... but if you are interested in networking programing maybe you can learn C or just for try buffer overflows and some hacking stuff .... mmmmmm and if you want to make quick applications for windows plataforms well maybe .NET or VB .... it all depends about what do you want to do :rolleyes:
claudio99
May 18th, 2008, 05:13 PM
I am not so sure how a Microsoft "stuff" would work for the development of linux (or multplatform) applications.
If you care about multiplatform (and clearly you do) then Java is the only option of this two. Java as a platform is multi-platform at heart, while c#/.net is just windows only. Implementations and copycat projects of the language of libraries are a nice exercise but at the end of the day it's Microsoft that decides (patents, etc)...
eperry2011
February 15th, 2009, 08:15 AM
I know as students here at nc state univ., we actually start by learning java - it's supposedly great for the workplace. As for me, it was not really that hard to pick up - it seemed pretty intuitive for me...but then again, so was C# too - the back end of both languages may be drastically different, but the actual development isn't much differing...they're similar oo languages - I think if in doubt though, learn 'em both - one can never know too much, and to learn something in Java...that idea can usually be implemented fairly easily in C# as well, so...yeah...I am currently teaching myself C#, and being taught Java. Might pick up Fortran later on just for kicks, and definitely C AND C++. Good luck though - and as far as the sciences are concerned, python is moving up as well. Out here some professors helped in creating a visual package for python so you can make pretty simulations and crap that tend to aggravate any majors other than computer science/computer engineering haha - but I happened to have liked it; not enough to learn it yet (!), but it was pretty nice to use nevertheless. Hope that helps! =)
jimi_hendrix
February 15th, 2009, 09:48 AM
from using both, i must say i will use C# over java every time. but java is more native to linux
ajackson
February 15th, 2009, 09:52 AM
from using both, i must say i will use C# over java every time. but java is more native to linux
I'd have to go along with that C# feels more right to me than Java does (I know not a very scientific way of measuring a language).
jimi_hendrix
February 15th, 2009, 09:56 AM
i also prefer not having to type boolean out and String with an uppercase S...and C# doesnt require you to instantiate a class for input from console...and classes are named logically in C#...
directhex
February 15th, 2009, 11:19 AM
Think of C# as Java with hindsight ;)
achelis
February 15th, 2009, 12:32 PM
i also prefer not having to type boolean out and String with an uppercase S...and C# doesnt require you to instantiate a class for input from console...and classes are named logically in C#...
These are fairly good examples of how similar the languages are.
If you learn one of them you can pick up the other with ease.
I'm still not trusting Microsoft to wanting C#/.NET to becoming fully Linux compatible though - as far as I know it isn't right now, though Mono is doing a good job of it.
If you wanna make some quick GUI stuff for Windows, C# + VS is a really good combination - I still prefer Java + Eclipse, but then again, I don't make Windows apps.
Conclusion: Choose either, you can always learn the other if you change your mind :)
PythonPower
February 15th, 2009, 12:37 PM
I prefer C# myself.
jespdj
February 15th, 2009, 04:29 PM
Wow, this is a thread from April 2006. Why did someone dig this one all the way up?
Java and C# are quite similar languages. One is not clearly better or more suited for the beginning programmer than the other, and both work fine on Ubuntu and Windows.
I prefer Java because it's available for more platforms than C# / .NET / Mono. (Does something like Mono run on Mac OS X?).
ajackson
February 15th, 2009, 04:32 PM
I prefer Java because it's available for more platforms than C# / .NET / Mono. (Does something like Mono run on Mac OS X?).
Yeah mono runs on OS X. I have to admit with Java writing a GUI program that has to run on multiple OSes is easier, out of the two I'd lean more towards C# still.
bapoumba
February 15th, 2009, 05:56 PM
Moved to Recurring.
From April 2006, never ending recurring story :)
doomstone
March 28th, 2009, 05:41 PM
I have a Bachelor of Science in IT engineering, and have therefore been required to learn both Java and C#.
I must say that I personally find C# to be a far superior language to java. Not only because of the language itself, the editors also play a HUGE role, in which language you might find as the best.
Eclipse, the best editor for java, dose a great job, but I does not come near the greatness of Microsoft visual studio.
Allot of the arguments for java is that it is cross platform, I’m sorry to say but this is the greatest piece of ******** I have ever head. Java can ONLY run on the Java Virtual Machine. Yes running java is like installing a Virtual Machine on your Linux computer and run Windows XP on that. This also dose that java is allot slower than most other languages, and the memory that you have use, is not limited to what you have on your computer, what the Java Virtual Machine is designed with as a max.
Dam I’m gonna get flamed by the Java fanboys now :D
gnomeuser
March 28th, 2009, 05:55 PM
(Does something like Mono run on Mac OS X?).
Yes, it does.
http://www.mono-project.com/Supported_Platforms
liviubero
June 4th, 2009, 04:52 PM
Java has a much better api documentation. And documentation is what you need when learning and using a language. Try to look into the Java api documentation and into the C# one... The Java doc looks much more professional and is really helpful.
Also, for learning reasons Java is much better because you have the source code of it.
When trying to implement a linked list in Java it feels so great being able to read the source of the LinkedList class.
SKLP
June 4th, 2009, 06:06 PM
Also, for learning reasons Java is much better because you have the source code of it.
When trying to implement a linked list in Java it feels so great being able to read the source of the LinkedList class.http://anonsvn.mono-project.com/viewvc/trunk/mcs/class/System/System.Collections.Generic/LinkedList.cs?revision=133864&content-type=text%2Fplain
doas777
June 4th, 2009, 06:28 PM
I much prefer c#. it feels a little less hacked together in places. the syntax is just a touch more intuitive than java (seriously, i hate String.equals(String) ). the object model also seems a bit more straight forward, and a bit better organized. the VS express edition is more than enough IDE for most uses (the wysiwyg is far better than eclipse or matisse), and monodevelop has come a very long way in it's time.
liviubero
June 5th, 2009, 05:30 AM
http://anonsvn.mono-project.com/viewvc/trunk/mcs/class/System/System.Collections.Generic/LinkedList.cs?revision=133864&content-type=text%2Fplain
Thanks for the link.
munishvit
September 4th, 2009, 06:41 AM
bump!!!
directhex
September 4th, 2009, 07:45 AM
bump!!!
Why?
vBulletin® v3.8.1, Copyright ©2000-2009, Jelsoft Enterprises Ltd.