View previous topic :: View next topic |
Is D.NET a good idea? |
Yes. |
|
56% |
[ 18 ] |
No. |
|
28% |
[ 9 ] |
I don't care. |
|
15% |
[ 5 ] |
|
Total Votes : 32 |
|
Author |
Message |
Humbled
Joined: 17 May 2004 Posts: 3
|
Posted: Mon May 17, 2004 2:37 pm Post subject: D.NET |
|
|
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. |
|
Back to top |
|
|
jcc7
Joined: 22 Feb 2004 Posts: 657 Location: Muskogee, OK, USA
|
Posted: Mon May 17, 2004 5:11 pm Post subject: D.NET |
|
|
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 |
|
|
brad Site Admin
Joined: 22 Feb 2004 Posts: 490 Location: Atlanta, GA USA
|
Posted: Mon May 17, 2004 5:55 pm Post subject: |
|
|
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 |
|
|
csauls
Joined: 27 Mar 2004 Posts: 278
|
Posted: Mon May 17, 2004 7:38 pm Post subject: |
|
|
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 |
|
|
Carlos
Joined: 19 Mar 2004 Posts: 396 Location: Canyon, TX
|
Posted: Mon May 17, 2004 8:48 pm Post subject: |
|
|
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 |
|
|
Humbled
Joined: 17 May 2004 Posts: 3
|
Posted: Tue May 18, 2004 7:24 am Post subject: |
|
|
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...
Have any of you seen good ILASM books besides the spec? |
|
Back to top |
|
|
Humbled
Joined: 17 May 2004 Posts: 3
|
Posted: Wed May 26, 2004 2:51 pm Post subject: |
|
|
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 |
|
|
auzy
Joined: 11 Jun 2004 Posts: 4
|
Posted: Fri Jun 11, 2004 3:28 am Post subject: tagging behind MS |
|
|
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 |
|
|
jcc7
Joined: 22 Feb 2004 Posts: 657 Location: Muskogee, OK, USA
|
Posted: Fri Jun 11, 2004 11:12 am Post subject: Re: tagging behind MS |
|
|
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 |
|
|
JJR
Joined: 22 Feb 2004 Posts: 1104
|
Posted: Fri Jun 11, 2004 3:11 pm Post subject: Auzy |
|
|
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 |
|
|
auzy
Joined: 11 Jun 2004 Posts: 4
|
Posted: Fri Jun 11, 2004 9:37 pm Post subject: Actually, I'd like to change my response a bit |
|
|
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 |
|
|
jcc7
Joined: 22 Feb 2004 Posts: 657 Location: Muskogee, OK, USA
|
Posted: Sun Aug 08, 2004 3:52 pm Post subject: |
|
|
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 |
|
|
StringCheesian
Joined: 31 Mar 2005 Posts: 17
|
Posted: Mon Apr 25, 2005 2:59 am Post subject: |
|
|
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 |
|
|
aldacron
Joined: 05 May 2004 Posts: 1322 Location: Seoul, South Korea
|
Posted: Mon Apr 25, 2005 4:28 am Post subject: |
|
|
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 |
|
|
stjepan
Joined: 11 Apr 2005 Posts: 22 Location: Croatia
|
Posted: Mon Apr 25, 2005 11:10 am Post subject: |
|
|
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 |
|
|
|
|
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
|