[.net] .NET 3.0 is a lot closer than we thought

Started by
46 comments, last by mutex 17 years, 10 months ago
Quote:Original post by CoffeeMug
Quote:Original post by capn_midnight
ClickOnce Application Manifest.

That's an alternative to Sun's WebStart. It doesn't address the problem I mentioned (having the .NET runtime *in the first place*). This makes it completely impractical to deploy .NET applications and a royal pain in the ass to write server applications (one thing is dropping python.exe in the bin directory, another thing is waiting for an hour to install an "update" to the OS). Why can't they just let us link to .NET libraries statically? Furthermore, ClickOnce only runs on IE.

Because linking to the libraries statically completely defeats the purpose of having a COMMON Language Runtime, a COMMON Language Interface, etc, as well as defeats the purpose of having parallel versioning. And since you're talking about server applications, the market is mainly held by Java, which has the same (if not worse) issues. You're so worried about platform independence, statically linking the libraries is going AGAINST that goal!

Right now I can write apps that run on .NET, mono, and DotGNU, specifically because the API is standardized and the application is free of those libraries.

ClickOnce will, however, help you manage application dependencies. What do we have for that with native languages? Apt-get? How do I run that on Windows? I don't want to get locked into Linux. Google Pack Updater? Who knows if they'll ever finish it.
Quote:
Quote:Original post by capn_midnight
F#.

Dude, I know about F#. It's a research project. It's no more officially supported than IronPython.

It's not a research project, it's currently in Beta. .NET is only a few years old, It's progressed extremely far in that time, especially compared to it's nearest competitor, Java. There are a lot of companies that are working on different .NET languages. Maybe you could throw your hat in the ring. Do you expect MS to do all the work? I thought you didn't want to depend on MS too much. JScript.NET has a lot of what you're talking about and it IS a fully released language.
Quote:
Quote:Original post by capn_midnight
Rotor.

Come on, man. If I build my business around .NET and tomorrow Microsoft chooses to obsolete existing Windows version and double the price for the new version, I'm stuck. I may choose to run Windows today because I feel it's a great server OS for the buck, but if they double the price I might wanna move. Whoops, I can't.

I want a commercial version of .NET supported on multiple platforms (no, Win32 and Win64 is not it). I also want assurances that they won't drop support tomorrow. Contributions to other projects would be nice. Their current license doesn't allow that.

If MS were to do that, they would be completely shooting themselves in the foot, especially since .NET is only MS's implementation of the CLR/CLI ECMA Standard. Why standardize it if they were going to jack everyone over?

*Current* applications (with a few minor exceptions) run on .NET and Mono (DotGNU is kind of lagging behind). So if you adopt .NET now, and MS jacks you over, there is nothing preventing you from switching to FreeBSD or OSX and running Mono or Rotor.

The standard is open, which is more than can be said for Java OR C++. If anything, .NET has a better chance of becoming the panacea of cross-platform compatability than either Java (in bytecode) or C++ (in source code).

All I hear from you is "I want to be free from the tangles of MS" and "I want MS to do more."

[Formerly "capn_midnight". See some of my projects. Find me on twitter tumblr G+ Github.]

Advertisement
"All I hear from you is "I want to be free from the tangles of MS" and "I want MS to do more.""

those two statements are certainly *not* mutually exclusive.
Quote:Original post by CoffeeMug
Quote:Original post by capn_midnight
F#.

Dude, I know about F#. It's a research project. It's no more officially supported than IronPython.
The whole god damn point of the CLI is that anyone can do a language and it doesn't need "official" support to be perfectly usable for everybody. You can go write an app in F# today, ship it, and your users will have no idea that anything is different. Admittedly the VS extension is primitive and such, but to insist that MS build a whole new language team and award it C# importance is just unreasonable.
Quote:I want a commercial version of .NET supported on multiple platforms (no, Win32 and Win64 is not it). I also want assurances that they won't drop support tomorrow. Contributions to other projects would be nice. Their current license doesn't allow that.
Novell supports Mono. More than that, I do not know.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Quote:Original post by capn_midnight
Because linking to the libraries statically completely defeats the purpose of having a COMMON Language Runtime, a COMMON Language Interface, etc

The purpose of CLR and CLI is to allow interoperation of multiple languages. Statically linking to the runtime (which shouldn't be more than a few hundred kb) and the appropriate class libraries doesn't defeat this purpose.

Quote:Original post by capn_midnight
as well as defeats the purpose of having parallel versioning.

The purpose of concurrent versioning is to ensure that replacing a shared library with a newever version won't break applications that depend on the old version. If you link statically, this problem disappears all together.

Quote:Original post by capn_midnight
And since you're talking about server applications, the market is mainly held by Java, which has the same (if not worse) issues.

I never said Java is any good.

Quote:Original post by capn_midnight
You're so worried about platform independence, statically linking the libraries is going AGAINST that goal!

No it doesn't. It prevents people from running the same executable on many different architectures without recompiling. If you want that, you'd have to do dynamic linking. Most people don't mind recompiling though, but they do mind having the user download 100 meg runtime and spend an hour installing it just to run a 3 meg app.

Quote:Original post by capn_midnight
Right now I can write apps that run on .NET, mono, and DotGNU, specifically because the API is standardized and the application is free of those libraries.

As I said, few people care about that. All you'd have to do to port is recompile. You're trading off ability to deploy your app without recompiling with ability to deploy your app at all. Why not just give people the option?

Quote:Original post by capn_midnight
ClickOnce will, however, help you manage application dependencies.

If you link statically you won't have any dependencies.

Quote:Original post by capn_midnight
It's not a research project, it's currently in Beta.

It's not supported in Visual Studio, Microsoft didn't put its weight behind it, it's not being properly funded. Instead they chose to fund the abomination that is C#.

Quote:Original post by capn_midnight
.NET is only a few years old, It's progressed extremely far in that time, especially compared to it's nearest competitor, Java.

Dude, stop comparing .NET to Java. Saying something is better than Java is like not saying anything at all. Why don't you compare it to other competitors like Ruby, Python, or Lisp?

Quote:Original post by capn_midnight
Do you expect MS to do all the work? I thought you didn't want to depend on MS too much.

I expected them not to ignore every single aspect of programming language research in the first place. As it stands, C#/.NET is just a very well polished Java. I don't want a very well polished Java.

Quote:Original post by capn_midnight
*Current* applications (with a few minor exceptions) run on .NET and Mono (DotGNU is kind of lagging behind). So if you adopt .NET now, and MS jacks you over, there is nothing preventing you from switching to FreeBSD or OSX and running Mono or Rotor.

There was a time when I was contributing bug reports to Mono when I was trying to port a .NET application to it. It certainly wasn't easily portable. That was a few years ago though, the situation might have changed dramatically. Rotor doesn't support the latest version of .NET on platforms other than windows.

Quote:Original post by capn_midnight
All I hear from you is "I want to be free from the tangles of MS" and "I want MS to do more."

Well, yeah. There is an abudance of very powerful languages that are free as speech and beer. If they want my business they have to work harder.
Quote:I expected them not to ignore every single aspect of programming language research in the first place. As it stands, C#/.NET is just a very well polished Java. I don't want a very well polished Java.


Then take a look at the C# 3.0 specification.

[OpenTK: C# OpenGL 4.4, OpenGL ES 3.0 and OpenAL 1.1. Now with Linux/KMS support!]

Quote:Original post by Fiddler
Then take a look at the C# 3.0 specification.

If you look at it from this point of view, yeah, they're getting way ahead of Java. But Java isn't a good benchmark. If you look at Lisp and Haskell, they're years behind, and IMO Haskell isn't really a holy grail of type systems.
Well, .NET has Nemerle. Nemerle is quite like ML, and is positioned as a C#/ML hybrid. It already has most of the stuff on the C# 3.0 spec, and more besides. Java has Scala, which also has a .NET port.

But yes, the best languages out there don't target .NET.
Quote:Original post by CoffeeMug
Quote:Original post by capn_midnight
It's not a research project, it's currently in Beta.

It's not supported in Visual Studio


Yes it is. Not on a default install, granted, but neither are most of the languages that Visual Studio supports.

Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse

Quote:Originally posted by CoffeeMug
Dude, stop comparing .NET to Java. Saying something is better than Java is like not saying anything at all. Why don't you compare it to other competitors like Ruby, Python, or Lisp?

It makes more sense to compare Java and .NET, given that both are platforms.
www.aidanwalsh(.net)(.info)
The term "platform" has been used in so many different contexts by so many different parties that it's almost meaningless. Is C a "platform"? It runs on far more architectures than .NET and Java put together, it has a runtime system that abstracts basic services like memory allocation and IO, it provides a clearly defined binary interface to allow communication with other languages. Is Perl a platform? It has everything that C has plus a garbage collector. Is Erlang a platform? It allows for building massively concurrent and distributed systems by abstracting threading and communication, and it's portable to many architectures.

If it makes sense to compare .NET to Java because they're both "platforms", it makes sense to compare almost anything to almost anything else.

This topic is closed to new replies.

Advertisement