FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

D.NET
Goto page 1, 2  Next
 
Post new topic   Reply to topic     Forum Index -> Potential Projects
View previous topic :: View next topic  

Is D.NET a good idea?
Yes.
56%
 56%  [ 18 ]
No.
28%
 28%  [ 9 ]
I don't care.
15%
 15%  [ 5 ]
Total Votes : 32

Author Message
Humbled



Joined: 17 May 2004
Posts: 3

PostPosted: Mon May 17, 2004 2:37 pm    Post subject: D.NET Reply with quote

No, please don't kill me.

D is a very powerful and expressive language. It has C-family syntax, like Java and C#. In other words, it wouldn't be a stretch for people in the industry right now to learn it and start using it. I believe that because of unit testing, DBC, and other features (like the upcoming mixins), D could be a real contender in the enterprise.

The best way to get there is to take advantage of a known enterprise platform. I would suggest a JVM bytecode compiler, but I do not believe that the Java compiler has enough features to fully realize D as specified. I could be wrong, and I hope so.

But because of that risk, I believe efforts are better concentrated at targeting the CLR and .NET.

Here is a non-inclusive list of benefits D.NET will bring us:
- All .NET libraries (Managed DirectX anyone?)
- Possible deployment in the enterprise (read: industry attention)
- Write .NET libraries in D
- Cross-platform GUIs with Gtk#, or others

Not as many are embracing C# as Microsoft had hoped. Now's the time.

H

Edit: Sorry about the poll. Seemed good at first, but perhaps it's sorta dumb at this phase. That poll question is more applicable if D.NET exists. Smile
Back to top
View user's profile Send private message AIM Address
jcc7



Joined: 22 Feb 2004
Posts: 654
Location: Edmond, OK, USA

PostPosted: Mon May 17, 2004 5:11 pm    Post subject: D.NET Reply with quote

I think most fans of D would agree that the more portable and broad D support is, the more successful it is. Just as tying the front end into GCC allows D to be compiled on many more platforms, bringing D to .NET would also help D. As you mention, .NET has particular benefits.

I don't know how much effort it would take, but you might be able to hit the ground running by familiarizing yourself with David Friedman effort with GCC.
Back to top
View user's profile Send private message Visit poster's website AIM Address
brad
Site Admin


Joined: 22 Feb 2004
Posts: 490
Location: Atlanta, GA USA

PostPosted: Mon May 17, 2004 5:55 pm    Post subject: Reply with quote

I'm using D to get away from Java's JVM and get "closer to the metal" with something that is still cross-platform. So I don't have much interest in this project. But as JCC said, exposure for D is not a bad thing. This is an add-on in my mind that could be used or not be used - up to the developer.
_________________
I really like the vest!
Back to top
View user's profile Send private message Visit poster's website
csauls



Joined: 27 Mar 2004
Posts: 278

PostPosted: Mon May 17, 2004 7:38 pm    Post subject: Reply with quote

I'm not sure how likely I'd personally be to use it, but I wouldn't mind seeing a D.NET. Especially if it could be supported in Mono... then I probably would use it for certain things.
_________________
Chris Nicholson-Sauls
Back to top
View user's profile Send private message AIM Address Yahoo Messenger
Carlos



Joined: 19 Mar 2004
Posts: 396
Location: Canyon, TX

PostPosted: Mon May 17, 2004 8:48 pm    Post subject: Reply with quote

I thought about that a couple of months ago, and I actually started something. I have a C# project that takes C/C++/D/Java/C# like syntax and produces IL code, but only for arithmetic expressions yet. Basically, you can do things like this:

Code:
int a
a=4+5-3*2
int b
b=a*a-6


And it creates a program that outputs the values of a and b, calculated at runtime.
As you can see, there's not much yet. There're 2 problems, though: a) my lack of knowledge of compilers and such, and b) my lack of time.

Another thing that I did was take Walter's front-end and try to compile it with C++ .net, but it's more complicated, at least for me (because I have no idea how that thing works).

So, nothing of really importance, but I thought it'd be good to tell.
Back to top
View user's profile Send private message Yahoo Messenger MSN Messenger
Humbled



Joined: 17 May 2004
Posts: 3

PostPosted: Tue May 18, 2004 7:24 am    Post subject: Reply with quote

Thanks for your input.

Yes, I agree with all of you. Whether we, personally, will use D.NET is an unknown, but its hard to deny that it could bring more exposure to the language.

I know very little about ILASM, but I guess it's about time to start learning. I would still rather target the JVM (I'm more familiar with it), but I don't think bytecode has the appropriate features to support D. Notably, delegates.

I'll take a look at some of the projects suggested, to see how they work and if I can't cannibalize any code. I figure that GCC must be able to take some sort of language-neutral intermediary form for that project to work. If I can get a complete D parser already made, that would certainly speed things up... Smile

Have any of you seen good ILASM books besides the spec? Wink
Back to top
View user's profile Send private message AIM Address
Humbled



Joined: 17 May 2004
Posts: 3

PostPosted: Wed May 26, 2004 2:51 pm    Post subject: Reply with quote

Walter confirmed my suspicions on the D newsgroup:

Java Bytecode is not sufficient for D. However, ILASM should be capable.

Just as an aside, for those of you who like D but need to stay in a JVM, check out Groovy.
Back to top
View user's profile Send private message AIM Address
auzy



Joined: 11 Jun 2004
Posts: 4

PostPosted: Fri Jun 11, 2004 3:28 am    Post subject: tagging behind MS Reply with quote

WE shouldn't do it.. MS will just change .Net and we'll be catching up yet again.. We should develop our own libraries which are used primarily, and only have minimal support for .net..

MS already has a few plans to change .NET.. we will never catch up, so why bother at all?? Our implementation will always be inferior, and if we dont have it, ppl will ignore it, but if we do, people will think our .NET implementation is incomplete, so the rest will be..

We should do our own thing.. Just please, think to the future.. Remember what happened to HTML and java, and now to SVG.. MS is breaking all of those standards to steal them away.. Sun finally got back in control of Java now that they won a lawsuit against MS.. Adding .NET support is basically a way of asking MS to take D, and make D#, a language guarenteed only to ever be up to date on windows.

I'd say lets get our library working fully first, because we even add minimal .NET support, your asking maybe you'll get a lot of programmers, but at the end, its a BAD idea.. just cause everyone else does something, doesn't mean its a good idea, just means they are following the crowd
_________________
Auzy
http://driverondemand.sourceforge.net
Back to top
View user's profile Send private message
jcc7



Joined: 22 Feb 2004
Posts: 654
Location: Edmond, OK, USA

PostPosted: Fri Jun 11, 2004 11:12 am    Post subject: Re: tagging behind MS Reply with quote

auzy wrote:
WE shouldn't do it.. MS will just change .Net and we'll be catching up yet again.. We should develop our own libraries which are used primarily, and only have minimal support for .net..
I'm not going to argue with you about the underhanded tactics and corporate warfare techniques of Microsoft , but I don't think that making use of their tools is necessarily bad.

If D really takes off (as I hope it will), I'm sure Microsoft itself would create its own crippled D# (and we'd all wish it hadn't). I'd rather see D's premiere to the .NET world as something created by a D fan than as a poison pill developed in Redmond, WA. I see the D.NET idea as trying to subvert .NET for the purpose of promoting D. Get the interest of .NET enthusiasts with D.NET and maybe they'll fall in love with D itself.

Personally, I probably won't spend any time working on D.NET, but if someone else has an interest in both D and .NET, I'm not going to discourage him from undertaking such a project.
Back to top
View user's profile Send private message Visit poster's website AIM Address
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Fri Jun 11, 2004 3:11 pm    Post subject: Auzy Reply with quote

After reading Auzy's post, I tend to agree with most of what was said. The battleground is conveniently situated on the enemy turf to the advantage of the opponents tactics. This will likely misrepresent D as the weaker language. C# will clobber D, that way. Not a good way to introduce D to the masses.

Just my opinion,

John R.
Back to top
View user's profile Send private message
auzy



Joined: 11 Jun 2004
Posts: 4

PostPosted: Fri Jun 11, 2004 9:37 pm    Post subject: Actually, I'd like to change my response a bit Reply with quote

I actually think that what will happen is that we will never catch up to .NET, we will keep getting more and more behind, until people just give up on .NET completely.. Or they base their software on .NET in linux, but it falls so far behind that to keep up, they will just port their software to C# (which is similar enough that it wouldn't take a substantial amount of effort)..

There is no way we could keep up to it, so why try?? At the end it will just make D look like its trying to imitate C#, always trying to catch up with it, while the situation is the opposite..
_________________
Auzy
http://driverondemand.sourceforge.net
Back to top
View user's profile Send private message
jcc7



Joined: 22 Feb 2004
Posts: 654
Location: Edmond, OK, USA

PostPosted: Sun Aug 08, 2004 3:52 pm    Post subject: Reply with quote

Update: Deja Augustine has been working on a project to create a D compiler that produces MSIL called D.NET. (I summarized some of his newsgroup posts at Wiki4D.)
Back to top
View user's profile Send private message Visit poster's website AIM Address
StringCheesian



Joined: 31 Mar 2005
Posts: 17

PostPosted: Mon Apr 25, 2005 2:59 am    Post subject: Reply with quote

Please correct me if I'm wrong, but doesn't D as it is (without .NET) provide most of the important advantages of stuff like Java/.NET: Garbage Collection, etc, without the disadvantages:
1. high memory/CPU overhead
2. slowness
3. dependancy on bulky (read: bad for 56Kers that don't already have it) runtime environments to run
all 3 caused by the interpretted bytecode virtual machine...

I mean, why would you actually want it to not be native machine code, which is superior in every way except perhaps binary portability?
Back to top
View user's profile Send private message
aldacron



Joined: 05 May 2004
Posts: 1322
Location: Seoul, South Korea

PostPosted: Mon Apr 25, 2005 4:28 am    Post subject: Reply with quote

StringCheesian wrote:
Please correct me if I'm wrong, but doesn't D as it is (without .NET) provide most of the important advantages of stuff like Java/.NET: Garbage Collection, etc, without the disadvantages:
1. high memory/CPU overhead
2. slowness
3. dependancy on bulky (read: bad for 56Kers that don't already have it) runtime environments to run
all 3 caused by the interpretted bytecode virtual machine...

I mean, why would you actually want it to not be native machine code, which is superior in every way except perhaps binary portability?


Your list of disadvantages falls short, as they either aren't disadvantages at all, or they are outweighed by the benefits/advantages. Not every application need to be as close to the metal as possible, and it seems that you don't quite realize the benefits Java/C# offer.

#1 on your list may look like a big negative, but for everything going on under the hood and all of the benefits you get, the memory overhead associated with the virtual machine is acceptable. Introspection, reflection, runtime compilation, runtime object reloading/replacing, on-the-fly compilation of Java/C# source as scripts, dynamic instantiation, memory protection (array bounds checking, null pointer access trapping) ... there's quite a large list. Many of the features you automatically get in these languages are often emulated in libraries for statically compiled languages, and often with less efficient results (both in terms of performance and overhead). Of course, if you do not need them or want them, the benefit goes away.

#2 is a myth. Both Java and C# are compiled to native code - Java for a few years now and C# since the beginning. Runtime compilation (aka Just In Time compilation) is where those languages have headed. The big advantage to that is that the application can automatically take advantage of improvements to the user's system. So say you run an app on a P3 today, and upgrade to a P4 tomorrow. The JIT compiler will now be able to take advantage of P4 specific optimizations. Statically compiled languages, like D, cannot do this. There's a great deal of information available for the runtime compiler that a static compiler just can't have. Neither Java nor C# are 'slow' languages. Niether are they 100? bytecode interpreted (though Java originally was, and some implementations might still be). Runtime compilation can potentially cause either language to outperform a statically compiled application in some circumstances. In reality, you wind up with such a small difference in performance as to be negligible.

#3 can be a disadvantage for online distribution, depending upon the nature of your application and your target market, but in the general case it isn't. Retail applications can distribute the runtime environment on the CD. Don't know about .NET, but it's possible to get an embedded license from Sun for their JRE, and cut down distro size tremendously. There are other tricks as well (such as wrapping the runtime with Molebox, which makes a huge difference).

People who develop with Java and C# generally don't see the same disadvantages you list, or, in the case of #3, have found ways around them. Porting D to .NET allows you to take advantage of a host of libraries that would otherwise be unavailable (such as Windows Forms). It allows D to interoperate with several other .NET languages (even Python has been ported to .NET!). It brings to D the benefit of runtime compilation, allows you to use debugging/profiling tools that work with any .NET language, allows you to script your D applications with VB, C#, and probably even D... and I'm sure there's more.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
stjepan



Joined: 11 Apr 2005
Posts: 22
Location: Croatia

PostPosted: Mon Apr 25, 2005 11:10 am    Post subject: Reply with quote

I hate Virtual Machines!
I like D because it doesn't have Vm.
_________________
I speak a little English. I am beginner in programming. I know C++, C# and D.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> Potential Projects All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group