I have a fair bit of knowledge of Java and C#.NET (prefer C#).
What should I use to create small applications that will work well in Windows, Mac and Linux? Speed will probably not be the main concern (small applications; using Sockets etc).
I have a fair bit of knowledge of Java and C#.NET (prefer C#).
What should I use to create small applications that will work well in Windows, Mac and Linux? Speed will probably not be the main concern (small applications; using Sockets etc).
Java
because
Eclipse
is great tool for Java Development. (NOTE:you will miss visual studio but not as much)mono
is as mature and as good as .NET
yet.If you are creating a server application I would most likely go for Java, but you could also look at Mono for cross platform.
For a desktop application I would try Mono, since I'm mostly a .Net guy. And the desktop apps created in Java are not that appealing graphics wise. Or try to go with SilverLight, but that's not supported as well under Linux (MoonLight).
Both of those are viable options.
Java is officially supported on all three platforms.
C# can be used on Linux and Mac if you're prepared to use the subset of .Net supported by Mono.
Which is more suitable depends on which you're more comfortable with and the exact requirements of the applications you'll be developing.
Java is your best bet. C# and .NET won't work on Mac and Linux without a lot of hoop jumping and headaches. Another option for smaller programs is something like Python.