[ale] Hello World - in C# - in Mono - in Ubuntu is done

Ron Frazier atllinuxenthinfo at c3energy.com
Thu Sep 16 22:25:39 EDT 2010


Aaron,

I would have hoped for a more informative and less divisive reply from 
you.  However, I have no desire to start an argument.  8-)  If you type C# 
vs C++ vs Java into Google, you get about 2.5 million results.  So, 
obviously, it's a hot debate.  Instead of trying to read or summarize them, 
I'll just give my take on the issue.

First and foremost, I want the knowledge I'm trying to acquire to make me 
money.  These Wikipedia articles talk about market share:

http://en.wikipedia.org/wiki/Microsoft_Windows - Windows - ~ 91%
http://en.wikipedia.org/wiki/Macintosh#Software - Mac OS - ~ 10%
http://en.wikipedia.org/wiki/Linux - Linux Server - ~ 20% - 40%, Linux 
Desktop - ~ 5%

A quick and dirty search on the Monster job board within 200 miles of 
Atlanta yields:

C++ - 11 jobs
C# - 57 jobs
Java - 106 jobs

So, I think I can certainly make money by learning C#.  I could make money 
with Java too, but I'm more concerned about Oracle being a corporate evil 
demon than Microsoft at this point, given their propensity to sue people 
after acquiring Sun.  The Java community seems to be in an uproar.  Also, 
Microsoft is under scrutiny by the US Government for potentially anti 
competitive practices.  That past is not good, but they have to be careful 
about further activities of that nature.

http://arstechnica.com/open-source/news/2010/08/oracles-java-lawsuit-undermines-its-open-source-credibility.ars
http://www.linuxinsider.com/rsstory/70619.html?wlc=1284686907
http://www.infoworld.com/t/intellectual-property/oracles-android-lawsuit-pandoras-box-serious-evils-359
http://phandroid.com/2010/08/23/android-developers-unhappy-with-oracle-over-baseless-lawsuit/

In addition, I want the following from my language of choice:

Modern, high performance (but not real-time, for drivers, or kernels), 
object oriented, multi threaded, capable of usage for desktop, server, or 
network based applications.  In my mind, the candidates are:
      C++, C#, Java

In terms of performance, the list above should be in order of fastest to 
slowest.  Also, my personal experience with Java applications indicates 
they tend to be slower than native applications.

I want my language to protect the programmer from bugs like memory leaks 
and pointer errors.  That knocks out C++.  Both Java and C# are resistant 
to those types of errors and have automatic garbage collection as far as I 
know.  Remaining candidates:
      C#, Java

In terms of being proprietary, both C# and Java are - in that their syntax 
and features are controlled by corporations.  See post #11 in the following 
thread:

http://bytes.com/topic/c-sharp/answers/249140-c-proprietary-programming-language

C# is documented and specified in international EMCA standards.  I'm not 
sure whether anything similar exists for Java.

I want my language to be cross platform.  Java is well known for 
this.  However, through the Mono project, as well as possibly others, it 
appears that C# is very cross platform as well.  I believe the situation 
has been improving recently.  A Google search on C# cross platform yields 
948,000 results.  Also, the following link on the Mono site lists 20+ 
applications that have been written in Mono.

http://mono-project.com/Screenshots

Finally, I want my language to be able to produce self contained free 
standing applications.  As far as I know, this knocks out Java.

So, overall, I don't think I was so short sited after all. 8-)

PS# 1 - I was thinking about learning Java, before the Oracle debacle.
PS# 2 - I did produce my Hello World app in a fully Linux environment.
PS# 3 - The /ect/sudoers file, for example, uses the # symbol as a comment, 
not a NOT.

Sincerely,

Ron

At 9/16/2010 05:51 PM -0400, aaron wrote:

>I can't think of anything more short sighted than learning to program in
>a totally proprietary language, especially given that there are so many
>fully capable and liberated open source languages available whose
>designers don't try to handcuff you to proprietary API's and put
>daunting
>roadblocks in the way of cross platform compiling.
>
>In some assembly code languages, "#" is the NOT symbol, so even the
>name of the C# language is telling you NOT to use it!  :-)
>
>peace
>aaron


--------------------------
(PS - If you email me and don't get a quick response, you might want to 
call on the phone.  I get about 300 emails per day from alternate energy 
mailing lists and such.  I don't always see new messages very quickly.)

Ron Frazier

770-205-9422 (O)   Leave a message.
linuxdude AT c3energy.com



More information about the Ale mailing list