Linked by Eugenia Loli on Sat 21st Jan 2006 22:40 UTC
Mono Project "The combination of Mono, Gtk#, C#, Glade, Glade# and Monodevelop will get you knocking out desktop and Web apps like a pro in no time. The best part is that Gtk# is available on both Windows and Linux, so it's pretty easy to make a cross-platform application that uses the .Net framework on Windows, and Mono on Linux." Read more here.
Order by: Score:
Monodevelop
by Lumbergh on Sat 21st Jan 2006 23:13 UTC
Lumbergh
Member since:
2005-06-29

Did MonoDevelop ever its kinks worked out? I tried it on at least 3 different distros, all built from source, and everytime, inevitably, it would lock up the desktop until I killed it from a virtual console.

Hell, I don't even know if its MonoDevelop's problems. It actually seemed to be somewhat related to Monodoc, but it could've been gtk# (most likely) or something else with its myriad of dependencies.

Reply Score: 1

RE: Monodevelop
by Get a Life on Sun 22nd Jan 2006 00:00 UTC in reply to "Monodevelop"
Get a Life Member since:
2006-01-01

You should probably specify the version(s) you used, otherwise you're just going to receive a bunch of "it works fine for me" comments.

I once had a problem with monodevelop in conjunction with xfwm4 for example, but nothing that resembled "locking" the desktop. For me the biggest kink in the program is finding a compelling reason to use it.

Reply Score: 3

RE: Monodevelop
by dogen on Sun 22nd Jan 2006 02:28 UTC in reply to "Monodevelop"
dogen Member since:
2005-11-13

Note that MS codes Visual Studio in C++ and COM. I just can't believe C# is the right tool for the right job in an IDE.

Reply Score: 1

RE[2]: Monodevelop
by cilcoder on Sun 22nd Jan 2006 07:51 UTC in reply to "RE: Monodevelop"
cilcoder Member since:
2005-07-06

Care to explain why it wouldn't be the right tool for the job?

Reply Score: 1

RE[2]: Monodevelop
by miguel on Sun 22nd Jan 2006 16:37 UTC in reply to "RE: Monodevelop"
miguel Member since:
2005-07-27

Well, your assumption that Microsoft does not use C# in Visual Studio is incorrect. Visual Studio contains 7.5 million lines of code (http://blogs.msdn.com/danielfe/archive/2005/12/16/504847.aspx) according to Dan Fernandez, one of Visual Studio product managers).

Its true that it is not a 100% managed application, but this is the norm for most older software. Its only new software that is written using managed languages. There is no point in throwing existing working and tested code just for the sake of being a managed language.

Hosting the CLR or Mono runtimes in your application is just another tool to help developers get the most out of their existing work.

Miguel.

Reply Score: 3

RE[3]: Monodevelop
by dogen on Mon 23rd Jan 2006 05:22 UTC in reply to "RE[2]: Monodevelop"
dogen Member since:
2005-11-13

Well, I had read that VS2005 was basically a C++ product and, being a user, I still believe it because the responsiveness feels more C++ than C#. But I read your link and here's a quote from the blogger
-------------------
"For those of you that refuse to believe, here's an estimate of the lines of managed code in Microsoft applications that I got permission to blog about:

* Visual Studio 2005: 7.5 million lines
-------------------

Huh? 7.5 MILLION lines of c# code in VS? I don't want to seem obtuse - but I just don't believe it. Doesn't pass my bullshit meter.

By the way, I'm a c# programmer and support mono's efforts, but simply think that there are more suitable languages for apps like IDE's and Text Editors than
C#.

Reply Score: 1

RE[4]: Monodevelop
by segedunum on Mon 23rd Jan 2006 13:36 UTC in reply to "RE[3]: Monodevelop"
segedunum Member since:
2005-07-06

Huh? 7.5 MILLION lines of c# code in VS? I don't want to seem obtuse - but I just don't believe it. Doesn't pass my bullshit meter.

Doesn't pass mine either. It sounds like they've included absolutely any managed code that is bolted on to Visual Studio in the form of add-ons and libraries (the SDK, framework and the runtime) and said "Look, Visual Studio has C# code in it!". We all know that's not true. Visual Studio is not written with C# or with .Net.

There we go again - the Mono project and Mono people trying to back up untrue Microsoft bullshit.

Reply Score: 1

RE[4]: Monodevelop
by miguel on Mon 23rd Jan 2006 21:04 UTC in reply to "RE[3]: Monodevelop"
miguel Member since:
2005-07-27

I used the ".NET or Not" tool and Visual Studio 8 contains 487 managed libraries out of 1,495 files. And 11 programs included with .NET host the CLR.

Those 487 managed libraries make up 179 megabytes of space. A quick extrapolation from Mono's own libraries puts the code that shipped in my version of Visual Studio at 2 million lines of code.

Am using the small edition of Visual Studio here: not enterprise nor architect, so the only debatable piece is whether enterprise and architecture features make up for another 5.5 million lines of code.

Miguel.

Reply Score: 1

RE: Monodevelop
by thebluesgnr on Sun 22nd Jan 2006 04:45 UTC in reply to "Monodevelop"
thebluesgnr Member since:
2005-11-14

You could give the Mono Live CD a try:

http://www.mono-live.com/

Reply Score: 1

collinm
Member since:
2005-07-15

it's pretty easy to make a cross-platform application
like java does it since many years

Reply Score: 2

thebluesgnr Member since:
2005-11-14

And C since the beginning of Earth. ;)

There's no point in talking about Java here, unless you're interested in participating in a flamewar.

Reply Score: 1

JavaOne Member since:
2006-01-22

I didn't realize that I could run C binaries on multiple platforms. Interesting...

I think the point that collinm was making takes the form of a question. Why does Mono exist? Is it a yardstick or example when discussing the performance of inferior VMs? Is it to bolster MS against a competing technology? Does it contain anything new or compelling? What possible reason justifies the existance of Mono?

Reply Score: 1

Lumbergh Member since:
2005-06-29

What possible reason justifies the existance of Mono?

What possible reason justifies the existance of Java?

Reply Score: 1

thebluesgnr Member since:
2005-11-14

Who said you can run C binaries on multiple platforms?

To answer your other question, what justifies the existence of Mono is that some people wanted to write Mono. It's very simple, I'm surprised you had to ask.

The fact that a lot of developers are interested in Mono and a lot of developers are using Mono is also something for you to think about. Now, back on topic.

Reply Score: 2

Lobotomik Member since:
2006-01-03

Binaries are not *that* important if code is cross-compilable. But it is unfortunate that with Linux you don't have binary compatibility even on a single platform! It would indeed be nice if we Linux users had click-and-forget software installation, just as Win users do.

It would be great if it were possible to write a program and put it in a web page for everybody to download and use with no need to find people to build 20 subtly different packages for just the past four versions of Redhat, Suse, Ubuntu, Debian and Mandrake, leaving everybody else to the pain of building their own package.

Will Mono achieve this, or will we reach the hilarious situation where a Mono-GTK package runs on a single version of Linux plus on every version of Windows?

Reply Score: 1

dylansmrjones Member since:
2005-10-02

It would indeed be nice if we Linux users had click-and-forget software installation, just as Win users do.

We already have - we just don't like it, when we meet it.
It's not a problem downloading a distro-independent binary package, unpack it and run it from a folder in /home/[user] or from a folder on the desktop or whatever.

We also have a Mac-inspired approach. Few use that as well. We have autopackage. Few use that as well.

Reply Score: 1

thebluesgnr Member since:
2005-11-14

That won't happen until people stop thinking of Linux as an operating system and start thinking of Debian GNU/Linux sarge, Red Hat Enterprise Linux 4, etc, as operating systems.

For the people who still think of Linux as an operating system and insist on supporting "Linux x86" as a platform, full compatibility will only happen when the standards manage to make these different systems (Debian, Red Hat, etc) almost fully compatible. That's a slow process.

Reply Score: 1

JonPryor Member since:
2005-07-29

Why does Mono exist?

http://mail.gnome.org/archives/gnome-hackers/2002-February/msg00031...

Summary: the CLI (Common Language Infrastructure) ISO standard, which Mono implements, more easily permits a multi-language environment with garbage collection (yay productivity), value types (helps with performance), and features to better support multiple languages (try getting a C compiler to efficiently target Java bytecode -- it can't be done, while Portable.NET already provides a C compiler for IL).

In particular, the cross-language support means that instead of needing to provide a GTK+ binding for each language, we can instead bind GTK+ once (in Gtk#), and all .NET languages can then use GTK+. Instead of needing N independently maintained libraries, you need one.

This simplifies maintenance, requires less memory on the system (you don't have N libraries duplicating each others functionality, assuming you have apps in multiple languages running simultaneously), and allows developers to be more efficient with their time.

Is it to bolster MS against a competing technology?

No. It's just the realization that MS can come up with good ideas, and that good ideas should be used, wherever they come from.

What possible reason justifies the existance of Mono?

It allows developers to be more productive than they would be otherwise. As such, it's being used in 7 (or more) Novell products, and is also used by Imeem (http://www.imeem.com), MedSphere, and other companies.

It should be noted that Mono is not limited to just providing the libraries that .NET provides. Mono also ships a number of additional libraries, from command-line argument handling (Mono.GetOptions.dll: http://www.go-mono.com/docs/index.aspx?tlink=0@N%3aMono.GetOpti...), Unix integration (Mono.Posix.dll: http://www.go-mono.com/docs/index.aspx?tlink=0@N%3aMono.Unix),
wrapping Mozilla's Gecko rendering engine (Gecko#), and more.

Reply Score: 1

GTK#
by JMcCarthy on Sun 22nd Jan 2006 01:05 UTC
JMcCarthy
Member since:
2005-08-12

I can actually stand to use GTK+ when used w/ the C# binding. Not so bad.

To me at least, the future would seem more bright if it became the primary choice for GTK+ apps.

Edited 2006-01-22 01:07

Reply Score: 1

RE: GTK#
by youknowmewell on Sun 22nd Jan 2006 01:17 UTC in reply to "GTK# "
youknowmewell Member since:
2005-07-08

The future would be even brighter if lisp became the primary choice for language bindings on GTK.

http://www.gigamonkeys.com/book/

Reply Score: 1

RE[2]: GTK#
by Get a Life on Sun 22nd Jan 2006 06:42 UTC in reply to "RE: GTK# "
Get a Life Member since:
2006-01-01

Which lisp? What binding? Why would the future be brighter?

Reply Score: 1

RE[3]: GTK#
by youknowmewell on Sun 22nd Jan 2006 07:56 UTC in reply to "RE[2]: GTK# "
youknowmewell Member since:
2005-07-08

Any one of the implementations supported by the bindings. If your favorite implementation isn't supported, maybe you should be support in it?

Bindings here http://common-lisp.net/project/lambda-gtk/

I won't be able to give a thorough reason for why the future would be brighter, but just take into account that C# and other 'modern' languages are only recently getting features that have been built into lisp (and matured) for decades. Lisp itself dates back 45 years, just 6 months younger than Fortran, which means it is a very mature language to use.

Eric Raymond said in his book 'How to be a Hacker', "Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot."

And don't forget Greenspun's Tenth Rule:

"Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp."

The biggest problem Lisp has today is a lack of comprehensive libraries, which would be fixed if there were more people available to help build them. Even so, you can find a list of libraries at cliki.net

So even if you think I am full of it, you probably can't help but be intrigued by a language that has had such things spoken about it. Wouldn't you like to know what all the rage is about?

Edited 2006-01-22 08:02

Reply Score: 1

RE[4]: GTK#
by Get a Life on Sun 22nd Jan 2006 09:46 UTC in reply to "RE[3]: GTK# "
Get a Life Member since:
2006-01-01

Not all Common Lisp environments support callbacks in their FFIs, so that should be loads of fun. There's a dearth of performant free implementations of Common Lisp for Win32, too. The age of lisp on the whole, rather than Common Lisp, is also fairly insignificant. Fortran being older would of course then be more compelling for some reason that is unknown to us.

Please don't take this the wrong way, but citing Eric Raymond's advice is completely uncompelling because the sum total of Eric Raymond's development experience is dismal. Peter Norvig makes a much better class of person to promote Lisp with.

Lisp is certainly an interesting family of languages, but since the average programmer when presented with Lisp runs away complaining about parentheses, the future of Gtk with Lisp as the dominant binding would probably look barren. That is if we entertain the possibility.

Reply Score: 2

RE[4]: GTK#
by johndaly on Sun 22nd Jan 2006 09:57 UTC in reply to "RE[3]: GTK# "
johndaly Member since:
2006-01-16

>"Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp."

So why does CLisp implement the other half too? Just kidding but the point can be made easily that CLisp is bloated. You should be aware that Lisps age dose not just mean stability and well tested but also warts, lots of them and the separate implementations can still be bugy, same goes for libs.
Anyway if you don't read it already start reading PlanetLisp, you get some of the bad point with the good.

P.S.: you should look at these GTK Lisp bindings, they are still alive:

http://common-lisp.net/project/cells-gtk/

Reply Score: 1

RE[5]: GTK#
by youknowmewell on Sun 22nd Jan 2006 15:51 UTC in reply to "RE[4]: GTK# "
youknowmewell Member since:
2005-07-08

Though I can't argue the deep techincal merits of Lisp beyond macros, I do know that CL implementations like SBCL can out-perform C in benchmarks, that CL is more terse than many other languages and that it has more features than most (all?) programming languages. Bloated in what sense of the word?

Reply Score: 1

RE[6]: GTK#
by johndaly on Sun 22nd Jan 2006 16:37 UTC in reply to "RE[5]: GTK# "
johndaly Member since:
2006-01-16

Benchmarks:
Benchmarks suck; if you look at 3 different benchmarks you get 3 or more different measures of speed. I pity anybody that chooses his language based on benchmarks.

Bloat:
Common Lisps was created by unifying previous preexisting Lisp dialects, you can argue that there is lots in there that shouldn't be in there (libs). But since bloat is personal taste opinions may vary.

Features:
I give you that CLisp has more features then most programming languages but not all. Look at Erlang, Mercury and Alice, research in programming languages has not ended with Lisp.


Since this thread is heading strongly in the Lisp direction I want to include a link to the blog entry by a Microsoft programmer that writes about his opinion on Lisp, it brings up a few nice relations of Lisp to C# and .NET. I liked it immensely.

http://blogs.msdn.com/sriram/archive/2006/01/15/lisp_is_sin.aspx

Reply Score: 1

RE[7]: GTK#
by youknowmewell on Sun 22nd Jan 2006 18:10 UTC in reply to "RE[6]: GTK# "
youknowmewell Member since:
2005-07-08

True, benchmarks can be inaccurate. But then again, what do we have to give us an idea about the performance of programming languages? Perhaps people should just try it and see for themselves? Orbitz and ITA software have (http://www.paulgraham.com/carl.html)

I've read that blog entry. It says something that people already know: other languages are still catching up to lisp feature-wise. Then again, one must read the many comments on that blog entry to get the whole picture.

Reply Score: 1

RE[4]: GTK#
by Morin on Sun 22nd Jan 2006 12:59 UTC in reply to "RE[3]: GTK# "
Morin Member since:
2005-12-31

> Eric Raymond said in his book 'How to be a Hacker',
> "Lisp is worth learning for the profound enlightenment
> experience you will have when you finally get it; that
> experience will make you a better programmer for the
> rest of your days, even if you never actually use Lisp
> itself a lot."

I totally agree with that, and I'd call it the main reason to learn Lisp.

> And don't forget Greenspun's Tenth Rule:
>
> "Any sufficiently complicated C or Fortran program
> contains an ad hoc, informally-specified, bug-ridden,
> slow implementation of half of Common Lisp."

I know that this rule is accepted to be true by many Lisp fans, but did anyone ever care to provide proof for it? The observant eye may also notice that fans of *any* system repeat such phrases again and again when comparing it to competing systems, be it Lisp, Java, C#, Linux, Windows, Mac, ...

- Morin

Reply Score: 1

RE[2]: GTK#
by Lumbergh on Sun 22nd Jan 2006 06:48 UTC in reply to "RE: GTK# "
Lumbergh Member since:
2005-06-29

I thought all the smug Lisp monkeys had jumped ship to Haskell by now.

Reply Score: 2

RE[3]: GTK#
by youknowmewell on Sun 22nd Jan 2006 08:00 UTC in reply to "RE[2]: GTK# "
youknowmewell Member since:
2005-07-08

I'm a new lisp monkey and I'm not being smug. I'm advocating the use of an alternative (and many would say more powerful) language to be more common-place in the GNOME community. I'm simply making Lisp more visible.

Reply Score: 1

RE[3]: GTK#
by Get a Life on Sun 22nd Jan 2006 09:47 UTC in reply to "RE[2]: GTK# "
Get a Life Member since:
2006-01-01

Lisp weenies don't like static typing.

Reply Score: 1

RE[4]: GTK#
by Morin on Sun 22nd Jan 2006 12:53 UTC in reply to "RE[3]: GTK# "
Morin Member since:
2005-12-31

> Lisp weenies don't like static typing.

This always puzzles me. Whenever I write a program in Lisp, the first thing I curse is the lack of static typing. Finding all type errors (usually forgetting to convert some value before sending it to a function), fixing typos, and similar things always takes me at least as much time as writing the code itself, whereas with a static type system it would be fixed in seconds.

Haskell is a good comparison when it comes to types. In a Haskell program, as soon as the compiler accepts my code at all, it almost always correct (this is by experience). Now if Haskell only had Lisp-like macros, and some implementation that doesn't suck at performance...

- Morin

Reply Score: 1

how fast is GTK#?
by dogen on Sun 22nd Jan 2006 02:25 UTC
dogen
Member since:
2005-11-13

author says GTK# on windows isn't as fast as running it on Linux.

Anybody ever measure? I use PyGTK and Ruby/GTK on windows and it sure seems blindingly fast to me. Would GTK# be any slower?

Maybe if you're painting a big bitmap pixel by pixel windows GTK might be slower than linux, but it would be interesting to see real numbers.

Reply Score: 1

RE: GTK#
by JohnMG on Sun 22nd Jan 2006 03:48 UTC
JohnMG
Member since:
2005-07-06

youknowmewell wrote:
The future would be even brighter if lisp became the primary choice for language bindings on GTK.

http://www.gigamonkeys.com/book/


Python + PyGTK seems like a pretty nice combo.

What advantages does Common Lisp have over Python?

BTW, I just read this:
http://reddit.com/blog/2005/12/on-lisp.html
which I think was linked to from an osnews poster a while ago. It outlines a switch that one site made from Lisp to Python. Pretty interesting reading.

Edited 2006-01-22 04:06

Reply Score: 1

RE[2]: GTK#
by youknowmewell on Sun 22nd Jan 2006 05:25 UTC in reply to "RE: GTK#"
youknowmewell Member since:
2005-07-08

That switch was largely done for two reasons.

1. Past mistakes that the reddit folks thought would be corrected easier if the code was rewritten (like we haven't heard that before)

"Regardless of Python, reddit was begging for a rewrite. Whether it was the best decision to do it all at once is up for debate, but I'm very pleased at the way it turned out. We nabbed a number of lingering glitches at once-- glitches that would have been messy to fix incrementally because they were rooted in the early designs of reddit."

2. They picked Python because they knew it and it is popular. Which means it has lots libraries that they needed that (maybe) lisp doesn't have.

"One of the biggest issues was the lack of widely used and tested libraries. Sure, there is a CL library for basically any task, but there is rarely more than one, and often the libraries are not widely used or well documented."

However, the funny thing is that they mention that reddit's code is "... not incredibly complex, and we could use almost all of the old HTML, Javascript, and CSS from the original version, a rewrite seemed the easiest solution. The entire task took less than a week, with 80% of the code written in a single weekend."

There are logical deficiencies here, which leaves a bad taste in my mouth. Regardless (I don't want to take this off-topic any further), the world needs more lisp.

"Practical Common Lisp"
http://www.gigamonkeys.com/book/
Finalist in the 2006 Jolt awards for Best Technical book of the year.

Read the book to find out what features Lisp has that Python doesn't (you won't them, they'll find you).

Edited 2006-01-22 05:36

Reply Score: 1

theGrump
Member since:
2005-11-11

for a long time i was a vocal mono critic.

i hated seeing .dll/.exe files on my linux box.

i hated the fact that we were aping an ms platform.

i hated the mystery of the patent issue.

i hated the fact that despite the above, mono seemed to perform well.

i got over the .exe issue, okay it smells funny but its four meaningless chars.

i got over aping ms when i realized that at this point .net wsa not going to "take over" even if microsoft wanted it to; at best it is just a faster/safer way to write windows programs.

i got over the patent issue when i realized that microsoft had much much bigger fish to fry, that mono was not a "threat" to it, and that potential patent issues are more pervasive than just the mono world.

c# is a good drop-in replacement for c++.

the mono/clr vm is turning out to be a decent multi-language platform.

lots of apps are running on it.

debian accepted it.

okay, now i can install it.

Reply Score: 4

Lobotomik Member since:
2006-01-03

> debian accepted it.

And, incredibly surprisingly, Red Hat!!!

Reply Score: 1

dylansmrjones Member since:
2005-10-02

Weeeeeh.. people have learned a new buzz word ;)

C#/mono is fine. So is java. So is a gazillion other solutions.

It's nice to see mono accepted, though the .exe ending is disturbing. And mixing it with GTK+ yields nice results on my Gentoo box. Fits in perfectly with the rest of the GUI apps.

CĄ/mono is not going to "take over", but it's going to get a quite nice marketshare. But it's not replacing anything.

Mankind does not replace technology. Mankind supplements technology.

(Edit: Added Mankind-sentences)

Edited 2006-01-22 14:45

Reply Score: 1

Post from the dark side
by werpu on Sun 22nd Jan 2006 09:52 UTC
werpu
Member since:
2006-01-18

Everyone should also check out the Matisse gui builder in the new Netbeasn 5....
Excellent stuff

www.netbeans.org

Reply Score: 1

lisp vs. objective-c
by broken_symlink on Sun 22nd Jan 2006 13:11 UTC
broken_symlink
Member since:
2005-07-06

can anyone tell me the differences between the two? i have recently started playing with objective c and cocoa. I think it is amazing how easy it is to do things with the gui. I played with e17 before on linux for my app with gui writing needs but none of that stuff made sense to me. One of my friends keeps telling me to learn lisp, but i told him i'm happy with objc ;-)

Reply Score: 1

RE: lisp vs. objective-c
by JonPryor on Mon 23rd Jan 2006 14:27 UTC in reply to "lisp vs. objective-c"
JonPryor Member since:
2005-07-29

can anyone tell me the differences between the two [lisp and objective-c]?

They're completely different. :-)

Objective-C is Smalltalk-style object-oriented programming constructs on top of C, complete with method calls being implemented as message passing and limited compile-time type safety.

In short, Objective-C is yet another OO language. It has its own unique features and drawbacks, but that's the short of it.

Lisp, on the other hand, isn't an OO language. It's a functional language. "Functional" describes the programming paradigm; C is procedural, Objective-C is procedural with OO extensions, and functional programming describes a style that is heavily focused on recursive algorithms and the lack of assignment. (For those keeping score at home, there's also a logic paradigm, which best describes the semantics of make(1) and Prolog.)

It takes awhile to get your head wrapped around it, which is why really good programmers understand it: it changes your outlook, makes you aware of alternative approaches, and expands your mind.

You might try reading these:
http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html
http://www.joelonsoftware.com/articles/TestYourself.html

Reply Score: 1

RE: Post from the dark side
by collinm on Sun 22nd Jan 2006 15:29 UTC
collinm
Member since:
2005-07-15

really great tool, i tried....

Reply Score: 1