Fog Creek Software
Discussion Board




Welcome! and rules

Joel on Software

.NET and Linux

http://bdn.borland.com/article/0,1410,32056,00.html

Anyone out there doing any C# running on Linux?

I am hoping this gap can be crossed, it sure helps fight the silly arguments around here - as the number one complaint seems to be C# inability to run on anything but Windows.

Steve
Saturday, April 02, 2005

http://nat.org/demos/gtksharp.html

http://www.mono-project.com/ASP.NET

Steve
Saturday, April 02, 2005

http://monoforge.com/

Steve
Saturday, April 02, 2005

http://www.ondotnet.com/pub/a/dotnet/2001/07/09/icaza.html

Steve
Saturday, April 02, 2005

"Certainly, C# is similar to Java, but what de Icaza found intriguing was that .NET was not targeted for a single language. The problem with Java is, of course, that developers must work in Java. As a development environment, .NET is language-agnostic. It allows developers to program in whatever language they like. "In .NET, Microsoft has created the common language runtime (CLR), which is a way for languages to generate code that interoperates easily," said de Icaza. "You can have Visual Basic running in the same environment as C#, Fortan, Pascal, or whatever. You could create a class in C++ and pass it over to a C# object and then have it instantiated as a Visual Basic object. It's a programmer's dream come true.""

People don't understand this around here I don't think.

Steve
Saturday, April 02, 2005

Good article:

http://www.apcmag.com/apc/v3.nsf/0/22F356ECB65244E2CA256F6A00107C19

Steve
Saturday, April 02, 2005

I like this quote:

"Mono's highest profile gig, however, will be its integration as a core element of Novell's Linux Desktop, due before the end of this year. By incorporating Mono elements into the rejigged SuSE desktop, Novell will be providing developers with a complete Linux-based, .NET 1.1-compatible environment that will permit developers to write C# enterprise applications that are hosted on a broad range of operating systems. This will be a significant differentiator for developers, many of whom will consider Novell's "development platform in a box" to be a welcome improvement over Microsoft's all-or-nothing Windows proposition."

Steve
Saturday, April 02, 2005

"People don't understand this around here I don't think."

I like .NET, preferring it vastly over Java, but what you copy/pasted there is unadulterated FUD.

Java, since the very early days, has an underlying VM that can be targetted by a wide range of languages. In fact it is targetted by a large number of languages - one site lists 160 different programming languages that can be used to generate managed code runnable in the JVM. These languages can share objects, and basically act as first class neighbours.

Dennis Forbes
Monday, April 04, 2005

Guess these guys are all full of FUD as well

interesting

moron
Monday, April 04, 2005

"moron",

I'm not quite sure what exactly you're saying - are you disagreeing with what I posted?

The "Java only has Java, but .NET has a complex environment of languages" has been a bogus statement since it was first uttered in the nascent days of .NET, yet somehow it keeps being repeated (as if repetition makes it true, or quoting people incorrectly repeating it somehow makes it more real. Hint - it doesn't).

It _is_ entirely true that the VAST majority of JVM targeted development occurs in Java, but that's quite simply because it was built as the "best in breed" language specifically to target the JVM.

The reality is that, if not for the continued legacy of VB, the overwhelming majority of .NET development would be done in C# for the same reason. The number of developers trying to create managed code with a mangled variant of C++, or with Python.Net, or any other of the many general purpose languages, is absolutely miniscule.

Dennis Forbes
Monday, April 04, 2005

The language is practically irrelevant... what matters are the libraries, and obviously they're the same everywhere.

Also, if you read any .NET compiler theory stuff, .NET imposes many requirements and limitations that are reasonable enough but make directly porting any given language to .NET unchanged virtually impossible. For example your language has to support structured exceptions and many don't.

So all in all, IMO the whole ".NET works with any language" thing is B.S.

NetFreak
Friday, April 08, 2005

@Steve:
.NET is no more language independent than Java. Both work with some kind of intermediate code (IL or Bytecode)  and use some kind of runtime environment. There are compilers for other languages than produce Java bytecode, just as there are different compilers to produce IL. IMHO Java and C# are the languages which are most "true" to their environment. There´s no real good reason to use a different language. Btw, for those VB - Lovers, I don´t consider LoC as a good measure for productivity. Especially Java with it´s strictness (e.g. checked Exceptions) makes it way easier to build tools to enhance productivity. "Loose" languages like JS or VB aren´t particular good for things like MDA. On the other hand I find it amazing that things like eval() can be made to work in JS.NET.

Regarding .NET on Linux: There´s the Mono project, but a good amount of API is ported yet (most importantly: System.EnterpriseServices).  One lack of Mono is tool support. There is nothing like VS.NET for Linux and there is not plugin for Eclipse either. Monodevelop is still in it´s infancy.

Patrick
Sunday, April 10, 2005

Mono is still a long way off. They don't even support Windows Forms yet. They are currently on their third rewrite because the first two designs were uter crap. I think they finally have a good strategy and are about to release their first real version of Windows Forms. We'll see how well they have done on it. I'm not going to hold my breath given their current track record.

matt
Sunday, April 10, 2005

If you're writing GUI apps on Linux, it makes a lot more sense to use Gtk#, which has been available for a long time (and supports Windows).

Brad Wilson [MSFT]
Monday, April 11, 2005

"People don't understand this around here I don't think."

The only point to adding other languages would be to facilitate people with existing skill sets in those languages and porting existing code.

Needless to say, J# doesn't port Java code very well, VB.NET isn't a VB substitute and I would be even more frightened of COBOL.NET than I am of COBOL.

Colm O'Connor
Monday, April 11, 2005

This is a worthwhile topic for everyone to continue tracking. The total cost of development station for a .Net Framework SDKorMono/Free IDE/Postgres 8.0/Windows 2003orRedHat/ASP 1.1-2.0 stack is essentially the price of Windows 2003 or Red Hat support. It will continue interest a lot of beginner programmers and coders in developing inexpensive cross-platform web stacks.

Li-fan Chen
Sunday, April 24, 2005

*  Recent Topics

*  Fog Creek Home