PDA

View Full Version : .NET


kmj
09-11-2002, 11:13 PM
Today I got a quick introduction to .NET; I'm wondering what people think of it. What do you think are the good points of it? What do you think are the bad points (ignoring the fact that comes from MS)?

gish
09-12-2002, 12:42 AM
after devleping in "classic" asp for 3 years, ,I beleive that .NET (the development environement) is a very advance step into the future of development. What would take me 15 lines of code now takes me 3 or 4....the .net envoronment is a whole platform for microsoft.....soon the OS/apps will basically be one and the same the next office suite is said to be the next .NET step...which is basically one nig db....no more inporting/exporting to wordperfect/what ever else there is...the database will be a whole entity within itself operating on all levels -
OS/DB apps/apps/web apps.....this is MS dream....which is kind of scary..but as a whole a very neat idea...funto code in....I love it...and there is already a HUGE community of developers out there...this has been the most anticipated development enviroment MS has ever put out and I know of people who are acting like is has been christmass for the past year or so in regards to this .NET...
to make a long boring no point story short
1) Love it
2) very powerfull
3) exciting
4) true OO
5) cross plateform

it is now my development environment of choice (C#)

Strike
09-12-2002, 02:02 AM
What do you mean by "true OO"? C# doesn't force you to use OO for everything (afair, there are still pointers).

What is more powerful about it than Java?

What is more cross-platform about it than Java?

sans-hubris
09-12-2002, 02:20 AM
I like the framework. It and C#, unlike Java, are an ECMA standards. Not only that, but the CLR (the .NET Framework) was built ground up to be polyglotiness for most OO languages. Other OO languages can be compiled into the Java IL, but the Java IL was not made to do that.

As far as VS.NET goes, I don't think it's much of a break through. It's great for GUI building in OO languages, and that's it.

Basically, the .NET Framework, contrary to what some people believe, is not revolutionary technology. Everything that it can do, Java has already done. The only thing that .NET has over Java is the ECMA standard, and that's the ONLY reason I think it has more potential than Java.

'Nuff said.

kmj
09-12-2002, 10:31 AM
Other OO languages can be compiled into the Java IL, but the Java IL was not made to do that.


You mean Java bytecode? IL refers to .NET bytecode, not Java, from what I've been told.


One thing that I find interesting about .NET and VS.NET is that basically, any .NET language can be used with any other.. I.e, a C# class can inherit directly from a VB (or F#, C++, Python, etc.) class, because you're inheriting from the IL object. This allows different coders to write different parts of an application in different languages, with zero effort to tie them together.. (well, zero effort beyond the usual required for a one-language application). This seems to accomplish what COM promised, but did a really shitty job (IMO) doing; true language independent object libraries. Except they're IL, not object code. VS.NET then allows a cross-language integrated development environment. For example, debugging your perl code? Did it call some C++ code (which is easy to do in .NET)? Well, while stepping through your perl source, it'll step right into the C++ source when it gets to it, as if they were the same. I find this to be pretty interesting, and it makes me understand why some people are working on the Mono project. After all, .NET is a standard, and if it does catch on like some people think it will, then it would behoove anyone who prefers not to bow before MS to have an alternative.

gish
09-12-2002, 11:14 AM
Originally posted by Strike
What do you mean by "true OO"? C# doesn't force you to use OO for everything (afair, there are still pointers).

What is more powerful about it than Java?

What is more cross-platform about it than Java?


i guess I read the post and decided with my most intelligence that this was not a compare to java thread!!!???.......I personally HATE JAVE.....the slowest apps come form java...any ways.....

kmj
09-12-2002, 11:32 AM
What is more powerful about it than Java?


Well, I've heard it's not as slow.. we'll see, I guess. The fact that it (.NET) is a framework that supports any language, not just a single language, makes .NET something that can't really be compared to Java. You could, I guess compare it to the JVM, but I don't know how open the specs to the JVM & bytecode are.


What is more cross-platform about it than Java?

The fact that it's (theoretically) an open standard means that more people might be willing to adopt it. Because (theoretically) you can use .NET without depending on (or interacting with) MS at all. This doesn't inherently make it more crossplatform, but if more groups & companies support it, it may become so. For example; the Kaffe project for java always seemed to be a day late and a dollar short to me.. always too far behind to be a good choice.. Granted, I haven't researched it thoroughly. With an open standard, controlled by a (theoretically) independent body.. not the company that created it (Java still is controlled by Sun, no?), you have far more potential to create a system that is useful to more people. At least it seems that way to me.

Anyway; we'll see what actually happens. As you can see by reading the above; alot of things are up in the air, and while .NET has the potential to be something quite useful, it still has a ways to go before it has proved itself.
I will be looking into Mono, though.

kmj
09-12-2002, 12:37 PM
for more insight into .NET:

Ximian's Rationale for the Mono Project (http://www.go-mono.com/rationale.html)

sans-hubris
09-12-2002, 12:42 PM
Well, I've been calling the Java bytecode an IL for quite a while now (a lot longer than C# and the CLR have been out.)

Also, Java 1.4 is pretty quick. It's about as fast as C++ on most platforms. The only thing that holds it back is the garbage collector, whose performance impact can be minimize with careful coding.

I found some links to to Java IL compilers for non-Java languages:

GCJ C++ compiler (http://gcc.gnu.org/java/papers/cni/t1.html)
A large collection of Java compilers/interpreters for languages that are not Java that I just found now. (http://grunge.cs.tu-berlin.de/~tolk/vmlanguages)


As I said, .NET is NOT revolutionary in any manner, but it does manage to do a better job of being a polyglotiness development platform.

kmj
09-12-2002, 12:48 PM
Basically, the .NET Framework, contrary to what some people believe, is not revolutionary technology.


I don't think anyone reasonable familiar with .NET thinks it's revolutionary; in fact, every introduction I've seen for it in the past few days has stressed that there is nothing revolutionary about .NET.

Strike
09-12-2002, 12:54 PM
gish - one word: "huh?" He asked what is good and bad about it ... well, one of the things that I think is "bad" about it is that it is a waste of time as a new language in general - basically all of the stuff that it does has already been done.

kmj - as far as using multiple languages for the same project, you can do that with Java as well. It's just that, as far as I know, Python is the only language that has an easy way of doing it :) But, you can make honest-to-goodness Java classes that will work with your "true" Java classes using the jythonc command, as discussed here (http://www.jython.org/cgi-bin/faqw.py?req=show&file=faq06.001.htp)

Also, as far as native compilation goes, Java I think you can do that as well with things like gcj.

gish
09-12-2002, 01:11 PM
I guess why I think that it is better than java, and I have said it before, is it is so much faster.....every java app I have used, from freeware to paid multi thousand dollar software...was very very slow......I have not run into that with .net apps....I come from a solid MS background and development enviroment...and we all are very enthusastic about this non "revolutionary" product!

:)

jemfinch
09-12-2002, 02:07 PM
Originally posted by Strike
kmj - as far as using multiple languages for the same project, you can do that with Java as well. It's just that, as far as I know, Python is the only language that has an easy way of doing it :)


The compilers for various languages in .NET compile the language to .NET bytecode. Those languages are "native" in the sense that there's not much differentiating them from any other language in the .NET framework once they're compiled.

Jython, on the other hand, is a bytecode compiler for Python and a VM for that bytecode, just written in Java instead of C. It's nothing like the multiple-language functionality of .NET.

Several other languages have the ability to interoperate easily with Java; Ruby is one. I knew a guy (who's now vice-president of the FSF) whose master's thesis was on a Perl compiler-to-JVM, though I don't know how successful he was.

Jeremy

Strike
09-12-2002, 05:43 PM
Originally posted by jemfinch
Jython, on the other hand, is a bytecode compiler for Python and a VM for that bytecode, just written in Java instead of C.
But there is a program, jythonc (I linked to a reference about it above), that will compile Python code into Java bytecode to run in any Java VM, not just the Jython VM.

jemfinch
09-12-2002, 10:19 PM
jythonc is the equivalent of freeze for cpython. It doesn't compile the Python to Java bytecodes. It simply packages the already-compiled Python (to Jython bytecodes) with the code to interpret it.

Jeremy