You are not logged in.

#1 2010-03-18 01:24:58

Vamp898
Member
From: 東京
Registered: 2009-01-03
Posts: 934
Website

The C# mistake

A lot of people complained about Mono on GNOME and so on you know (i dont have to retalk this here).

But there is one thing that bothers me.

Watch here: http://www.gtk.org/language-bindings.html

What do you see?

C# have one of the worst Language Bindings to GTK+. No support for >2.12 so why did C# became a part of GNOME?

You would think: "Hey GTKmm and Vala have the best support for GTK+ so if i dont like C i choose them" but you dont. There is a reason why you use C#. Could you imagine the reason? I tell it to you smile

The reason is only there if your name is Miguel de Icaza and you work for Novell.

Why is that a important part in this place? Beceause Novell likes to get into the as* of Microsoft to get more money. Is that bad? No. As long they produce OpenSource stuff like Mono to improve the compatibility there is nothing bad with this. But Miguel de Icaza is the founder of GNOME smile and when the founder of GNOME works for a company who loves to create apps in C# beceause of Windows they get really soon into GNOME itself.
We all know that C# is now in the community promise and Mono is 100% GPL so 100% OpenSource so nothing is bad about C#.... except the bad GTK+ Support.

What is the most important thing when you develop for GNOME? Right. GTK+.

So to say the truth. The only reason why C# is used by GNOME is beceause Miguel de Icaza works for Novell. Mono is slower than C/C++/Vala, needs more memory and have much worse GTK+ bindings.

I still can´t imagine why i would like to write an app in C# which is for GNOME

Is there a reason? Tell it to me. I would like to hear it smile

Oh and plz no flamewar threads like "C# is shit", "C# is bad cause its from M$" and things like that.

//Edit: The Gtk# Homepage tells that they didn´t updated beceause there where not much changes except GIO. The GTK+ Homepage tell other things like new Widgets, much Bug Fixing and more stability. Cleanup in form of removing deprecated stuff and so on but it seems that the excuse of the Gtk# Developers gets accepted. I mean nobody needs a FileChooser where you can select Multiple Files like on GPictureResizer or Jpeg2000 support. Other changes here: http://en.wikipedia.org/wiki/GTK%2B#History that "Nothing except GIO changed" seems for me no longer as an excuse. Its a lie!

Last edited by Vamp898 (2010-03-18 02:11:13)

Offline

#2 2010-03-18 07:22:53

wuischke
Member
From: Suisse Romande
Registered: 2007-01-06
Posts: 630

Re: The C# mistake

I can think of two reasons, since you asked.

Reason 1: C# is a pretty nice language.  Really, it is, try using it. Imho much better than Java or C++, but I'm mostly using Python these days and my opinion doesn't count.

Reason 2: Many people coming from the Windows world know C# and developing in C# for Gnome is easier for them.

That being said, I don't use mono or GTK+ and I don't see myself using it anytime soon.

Offline

#3 2010-03-18 07:40:00

schuay
Package Maintainer (PM)
From: Austria
Registered: 2008-08-19
Posts: 564

Re: The C# mistake

wuischke wrote:

Reason 1: C# is a pretty nice language.

Agreed. I love C#, it's a pleasure to develop with it. On the other hand, the only language I really dislike is VB smile That, and I probably wouldn't use bash to implement anything nontrivial, even though it's great on the command line.
Haven't tried Mono yet - gotta do that sometime.

Last edited by schuay (2010-03-18 07:43:27)

Offline

#4 2010-03-18 16:01:16

Bralkein
Member
Registered: 2004-10-26
Posts: 354

Re: The C# mistake

Mono is pretty cool, I have done development for Windows on Linux using Mono, and it works well enough that you can generate the .exe with Mono, copy it across to Windows and then run it unchanged. All seemed to work perfectly for what I was doing, anyway, and it saved me from having to do my development in Windows which is the main thing smile

C# as a language I can give or take. It's good because it's so similar to Java, but if C# vanished tomorrow I wouldn't care... because I could just use Java.

Anyway, technical preference is not the only concern. When it comes to developing FOSS, especially on Linux, there are other things to consider when it comes to language choice. One of the important things is what the users want. There are so many users around who simply won't touch Mono with a bargepole. Personally, I think the hate is misplaced, but my opinion alone doesn't change anything - the hate remains. From a practical perspective then I would never choose C# for FOSS work. There's no point in saving yourself that development hassle when it cripples adoption because of political problems.

As for what I'd choose instead - well, I'm a KDE fan so I suppose I would be using C++ and Qt anyway tongue But if I were writing for Gnome, I'd probably choose C++ as well, though I'd do a little research first of course to check how nice the bindings are and to scout for potential problems (the general due diligence one always applies when making these decisions). I would never use straight C, because I am philosophically opposed to using such a low-level language for high-level application development (I'm deadly serious!).

As for Java, well people seem to dislike Java on the desktop, so I'd avoid it for the same reasons as I'd avoid C#. But on the server of course it would be a real contender.

Offline

#5 2010-03-18 16:05:29

bharani
Member
From: Karaikudi, India
Registered: 2009-07-12
Posts: 202

Re: The C# mistake

wuischke wrote:

Reason 2: Many people coming from the Windows world know C# and developing in C# for Gnome is easier for them.

That being said, I don't use mono or GTK+ and I don't see myself using it anytime soon.

May be off topic. But there is language named vala have syntax inspired by c#. And it compiles into pure C.


Tamil is my mother tongue.

Offline

#6 2010-03-18 17:48:05

fsckd
Forum Fellow
Registered: 2009-06-15
Posts: 4,173

Re: The C# mistake

There are also patent concerns with C#. Some people are afraid MS could cause legal trouble for the GNU/Linux and other FOSS communities. May be not now, but later on when C# becomes entrenched. Given MS's activities for the past 5 years, it isn't any surprise people consider this valid.


aur S & M :: forum rules :: Community Ethos
Resources for Women, POC, LGBT*, and allies

Offline

#7 2010-03-18 18:24:50

Vamp898
Member
From: 東京
Registered: 2009-01-03
Posts: 934
Website

Re: The C# mistake

C# is maybe a nice langauge.

But Vala for example have the same Syntax than C# and there is a small Tutorial where C# Developer can learn Vala in about 5-10 minutes.

And as i said. Maybe C# is a nice language. Maybe a lot of langauges are nice langauges. If they have worse GTK+ bindings (GTK+ is the most important in GNOME Development) than its not usable for GNOME

http://live.gnome.org/Vala/QuickIntroFo … rogrammers

And Vala have much better GTK+ bindings (to say the truth the best beside/with GTKmm) and it compiles into Pure C

So Vala for GNOME Development is better than C# from _every_ viewpoint so i still see no reason why to use C# anyway

Offline

#8 2010-03-18 18:51:26

Bralkein
Member
Registered: 2004-10-26
Posts: 354

Re: The C# mistake

Speaking of Vala, does anyone here have much experience with it? Well what I'm really saying is I don't really trust a programming language until I've heard someone slagging it off tongue Otherwise it just means that nobody has used it enough to run into the bad points! People always say how it's a great replacement for C#, but these things are always a trade-off in my experience, so I wonder if it's really that simple?..

Offline

#9 2010-03-18 19:21:15

Vamp898
Member
From: 東京
Registered: 2009-01-03
Posts: 934
Website

Re: The C# mistake

Cheese is written in Vala since GNOME 2.30

http://live.gnome.org/Vala#Projects_Developed_in_Vala

All these applications are written in Vala

I write in Vala and can proof. Yes it is easy. In my experience easier than C#

So at all. No reason to use C# in context with GNOME/GTK+

Offline

#10 2010-03-18 20:04:14

Primoz
Member
From: Ljubljana-Slovena-EU
Registered: 2009-03-04
Posts: 689

Re: The C# mistake

fsckd wrote:

There are also patent concerns with C#. Some people are afraid MS could cause legal trouble for the GNU/Linux and other FOSS communities. May be not now, but later on when C# becomes entrenched. Given MS's activities for the past 5 years, it isn't any surprise people consider this valid.

Not trying to fan the flames but I'm pretty sure that's just FUD from the BoycottNovell and similar sites. I doubt that Microsoft would go in any kind of legal battle for mono. Mono does more good than bad for Microsoft.

I unfortunately can't say anything about the program language it self as I don't know how to use it sad .


Arch x86_64 ATI AMD APU KDE frameworks 5
---------------------------------
Whatever I do, I always end up with something horribly mis-configured.

Offline

#11 2010-03-18 20:32:41

Vamp898
Member
From: 東京
Registered: 2009-01-03
Posts: 934
Website

Re: The C# mistake

Microsoft put C# under the Community Promise so C# belongs no longer to Microsoft (only on the Paper)

In fact C# belongs to everyone and everyone is allowed to implement it however he want (like Mono)

Offline

#12 2010-03-18 20:41:44

PJ
Member
From: Sweden
Registered: 2005-10-11
Posts: 602

Re: The C# mistake

One thing that I find strange with C# is that if it is "the best thing since sliced bread", why don't we see it in more of Microsoft's products?
Why isn't Office or Internet Explorer or any other big software product written in C#? Maybe they do eat their own dog food but that is not my impression.

I don't know the language but dislike it already and that is because of its fanboys and all the haters which surrounds it. I don't like when people are trying to force their opinion (in this case, hate or love for C#), until the language can speak for itself on technical merits, I am not interested.

Offline

#13 2010-03-18 20:55:04

Peasantoid
Member
Registered: 2009-04-26
Posts: 928
Website

Re: The C# mistake

PJ: With regard to Office or IE, they're pretty damn big hunks of software. If *you* were in charge of the development group, would you decide to waste time on rewriting those in a different language, or would you say 'ehh, it's good enough' and direct effort elsewhere?

I imagine it's the same with other large products. They were likely already established before the introduction of C#, and it's not exactly a good idea to rewrite something every time a perceivedly better language surfaces.

Offline

#14 2010-03-18 21:03:46

fsckd
Forum Fellow
Registered: 2009-06-15
Posts: 4,173

Re: The C# mistake

I don't think MS would want to make it any easier to bring their flagship products away from Windows.


aur S & M :: forum rules :: Community Ethos
Resources for Women, POC, LGBT*, and allies

Offline

#15 2010-03-18 21:10:32

Vamp898
Member
From: 東京
Registered: 2009-01-03
Posts: 934
Website

Re: The C# mistake

People dont want to rewrite C/C++ stuff in C#

But people like to rewrite C# stuff in C++ (look GNote) xD

that isn´t a good sign at all wink

//Edit oh and GNote becomes even better than Tomboy. That is a double minus for C# xD it should be called C--

Last edited by Vamp898 (2010-03-18 21:12:11)

Offline

#16 2010-03-18 21:33:26

PJ
Member
From: Sweden
Registered: 2005-10-11
Posts: 602

Re: The C# mistake

Peasantoid wrote:

PJ: With regard to Office or IE, they're pretty damn big hunks of software. If *you* were in charge of the development group, would you decide to waste time on rewriting those in a different language, or would you say 'ehh, it's good enough' and direct effort elsewhere?

I imagine it's the same with other large products. They were likely already established before the introduction of C#, and it's not exactly a good idea to rewrite something every time a perceivedly better language surfaces.

Well, obviously it is not a good idea to rewrite everything, MS could have created libs for all the old functionality and call it from C#. Office 2003 and later do have a new gui so it could have been created in C# with all the old functionality and logic in the libs. C# is supposed to be able to integrate between language so this shouldn't be a problem at all.

Offline

#17 2010-03-18 22:25:14

Bralkein
Member
Registered: 2004-10-26
Posts: 354

Re: The C# mistake

I always assumed that all of the C# hype was coming from the MS fanboys, who generally seem to harp on about whatever MS happens to throw their way. I think the other people who got excited about it were Gnome people who were sick of grubbing around in C and saw C#/Mono as the answer to all of their problems. Well, so much for that it seems tongue

I don't think MS can really be criticised for a lack of C# adoption, they seem to have rewritten so much stuff that it makes me shudder to think how many man-hours that must have taken. Of course I don't think they've done a great job with a lot of it, but then as an Arch user I would say that tongue There are still some high-profile examples of MS software which still do things the "old way" but as PJ says even MS aren't just going to rewrite stuff for no reason.

The thing I'm dreading is this whole F# nonsense when that hits. I suppose it will be nice to see functional programming get some more mainstream attention, but I find myself infuriated by the idea that MS can take a decades-old idea, rubber-stamp it with their official approval and have their 1000s of followers talk it up like it's the most amazing and original thing, "ooh where do they get their ideas from",,,

Last edited by Bralkein (2010-03-18 22:26:16)

Offline

#18 2010-03-18 23:03:35

Vamp898
Member
From: 東京
Registered: 2009-01-03
Posts: 934
Website

Re: The C# mistake

When i looked at GObject, C# seemd to be a very nice alternative.

I´d never understand why GNOME does not use GTKmm, they rather switch to C# than to C++ only beceause they dont like C++ or something like that.

But i hope that now Vala changes that back.

Banshee and Tomboy will never be rewritten in Vala. Banshee is developed by Novell and Novell loves every stuff from Microsoft.

Tomboy have already a C++ Port (but this Port maybe switches to Vala).

But i hope that they bring in Vala in future Projects. It will help the GNOME guys a lot, save a lot of time and maybe give them some new Developers (showing GTK+ and GObject will getting Devs afraid xD)

I think the idea of a Meta-Langauge is great at all. If a language is awesome (like C) but there are things which are just to complicated and to time consuming (like GObject or some other things) why not just create a language which make this things much easier with keeping all the advantages of the language.

Offline

#19 2010-03-19 22:12:20

Anikom15
Banned
From: United States
Registered: 2009-04-30
Posts: 836
Website

Re: The C# mistake

Well, I do like Java, but I hate the "We have everything you need in this giant tarball" philosophy to programming that Java and .NET were born with. To be honest I think GNOME's popularity is falling due to many reasons, not just mono (though I'm more apt to use an app that doesn't use mono).


Personally, I'd rather be back in Hobbiton.

Offline

#20 2010-03-19 23:04:36

Vamp898
Member
From: 東京
Registered: 2009-01-03
Posts: 934
Website

Re: The C# mistake

The worst on Java is the API. No compromise

Offline

#21 2010-03-20 19:13:13

Bralkein
Member
Registered: 2004-10-26
Posts: 354

Re: The C# mistake

The "everything in a giant tarball" design behind Java apps is a means of satisfying the "write once, run anywhere" goal. I think you'd have to admit that it works pretty well in that respect. The API can be a bit infuriating at times but compared to C/C++ it offers so many things that it's quite a treat when you've been using those other languages smile Gotta love being able to do so many things without fiddling about installing extra libs and integrating it all into your build system or whatever.

Offline

#22 2010-03-20 20:17:11

Vamp898
Member
From: 東京
Registered: 2009-01-03
Posts: 934
Website

Re: The C# mistake

Qt 4tw smile you can do everything with Qt xD no extra libs wink and Qt is 100% portable

Offline

#23 2010-03-20 20:37:48

raf_kig
Member
Registered: 2008-11-28
Posts: 143

Re: The C# mistake

Bralkein wrote:

The thing I'm dreading is this whole F# nonsense when that hits. I suppose it will be nice to see functional programming get some more mainstream attention, but I find myself infuriated by the idea that MS can take a decades-old idea, rubber-stamp it with their official approval and have their 1000s of followers talk it up like it's the most amazing and original thing, "ooh where do they get their ideas from",,,

Well Microsoft has always been into functional languages (haskell) - so I don't see whats bad about pushing them into mainstream.

Offline

#24 2010-03-20 20:43:01

skottish
Forum Fellow
From: Here
Registered: 2006-06-16
Posts: 7,942

Re: The C# mistake

raf_kig wrote:
Bralkein wrote:

The thing I'm dreading is this whole F# nonsense when that hits. I suppose it will be nice to see functional programming get some more mainstream attention, but I find myself infuriated by the idea that MS can take a decades-old idea, rubber-stamp it with their official approval and have their 1000s of followers talk it up like it's the most amazing and original thing, "ooh where do they get their ideas from",,,

Well Microsoft has always been into functional languages (haskell) - so I don't see whats bad about pushing them into mainstream.

There's a running joke now that most employed Haskell coders work for Microsoft.

Offline

Board footer

Powered by FluxBB