[ale] best cross platform development evironment
Ron Frazier
atllinuxenthinfo at c3energy.com
Mon Nov 8 15:45:17 EST 2010
Hello all,
Interesting that this topic should come up again. I have been wrestling
with exactly this question myself - which modern language to learn to
further my career after having learned Clipper (a C like database language)
15 years ago. I unintentionally started a firestorm on this list back in
September by posting a message with this subject: Hello World - in C# - in
Mono - in Ubuntu is done. Anyone interested can look up that thread,
although a few would probably rather forget it.
There are many people with passionate opinions. I cannot speak to the
legal ramifications of using this or that language. I will say that I
certainly have serious reservations about Java and Android at this point
because of Oracle's apparent intent to destroy anything FOSS that it got
from Sun. There also appears to be some risk of using C# based on prior
discussions, as well as MS history. I'm not even going to attempt to jump
into the MS is / is not evil debate.
I want to talk about the technological aspects of the language. From that
point of view only, here's why I'm most likely going to be learning
C#. (Caveat: I'm not super knowledgeable about all the new whizbang
programming technology developed since I last did programming
professionally. Also, plans can always change.)
Here are some quotes from the thread I was participating in a couple of
months ago, for those who haven't seen it.
<quote>
... 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
</quote>
(Being able to program mobile devices - smart phones and tablets would be
nice as well.)
<quote>
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. (Managed Code) 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
</quote>
(At this point, I am more worried about Oracle being evil than I am
Microsoft, although one might argue it's a toss up. In any case, I'm
excluding Java from my immediate consideration because of Oracle.)
<quote>
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.
</quote>
An explanation of that last item. In the old days, you could compile your
program, dump it in a folder along with maybe some DLL's, and run it. You
didn't have to necessarily install it, per se. I'd like to be able to do
that, at least for simple applications. I know you cannot do that with
Java without the JRE installed. I really don't know if you can do it with
C# or not.
So, I end up back at C# as the language of choice. I'll leave with a quote
from my prior posting.
<quote>
From what I can tell, there is no modern, medium-high performance, object
oriented, multi-threaded, multi-core capable language in wide use that is
not encumbered by patents. That's very discouraging.
</quote>
Sincerely,
Ron
At 11/8/2010 10:41 AM -0500, James Sumners wrote:
>On Mon, Nov 8, 2010 at 10:16 AM, Lightner, Jeff <jlightner at water.com> wrote:
> > To put it simply C# is NOT "free open source software" because of the
> restrictions M$ put in the patent agreement.
>
>Both ECMA 334 and 335 are covered under MS's Open Specification
>Promise[1], a legally enforceable[2] contract. Thus, MS cannot sue
>anyone who implements 334 and 335 as detailed in the standards.
>Therefore, Mono, the base implementation of C# and the .Net libraries,
>ARE FOSS.
>
>You not liking MS does not change that fact.
>
> > If you think the only ones on the hook would be folks like Novell then
> you do NOT know the history of M$. (By the way - It is ironic you used
> Novell as your example. They are the only Linux distributor (SuSe) dumb
> enough to sign a no-sue agreement with M$ over FOSS.)
>
>If you write an application using Mono, then you are not IMPLEMENTING
>.Net. You are USING an implementation of .Net. Nothing in that patent
>letter implies users of an implementation are subject to any action
>what-so-ever. Only implementors. Additionally, Novell was not an
>example (as indicated by my use of "i.e."[3]). Novell are the ones who
>write, and maintain, Mono -- the implementation of 334 and 335.
>
>This thread is about cross platform development environments for Linux
>_and_ Windows. Java was eliminated from the realm of possibilities
>because Oracle claims ownership of Java under threat of litigation,
>despite Sun having licensed something with the name "Java" under the
>GPL. So, the runner up, like it or not, is C# and .Net. Any other
>environment is going to require much more work (making sure the right
>libraries are installed, etc.).
>
>
>[1] -- http://en.wikipedia.org/wiki/Microsoft_Community_Promise
>[2] -- http://en.wikipedia.org/wiki/Promise
>[3] -- http://www.wikihow.com/Use-%22i.e.%22-Versus-%22e.g.%22
>
>--
>James Sumners
>http://james.roomfullofmirrors.com/
>
>"All governments suffer a recurring problem: Power attracts
>pathological personalities. It is not that power corrupts but that it
>is magnetic to the corruptible. Such people have a tendency to become
>drunk on violence, a condition to which they are quickly addicted."
>
>Missionaria Protectiva, Text QIV (decto)
>CH:D 59
--------------------------
(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