Jump to page: 1 29  
Page
Thread overview
What's left for 1.0?
Nov 16, 2006
Bill Baxter
Nov 16, 2006
Andre Osterhues
Nov 18, 2006
Bill Baxter
Nov 16, 2006
Craig Black
Nov 16, 2006
Pragma
Nov 16, 2006
Craig Black
Nov 16, 2006
Craig Black
Nov 16, 2006
Pragma
Nov 16, 2006
Craig Black
Nov 16, 2006
Pragma
Nov 16, 2006
genie
Nov 16, 2006
Kyle Furlong
Nov 17, 2006
genie
Nov 16, 2006
Walter Bright
Nov 16, 2006
Craig Black
Nov 16, 2006
Walter Bright
Nov 17, 2006
Craig Black
Nov 17, 2006
Walter Bright
Nov 17, 2006
Craig Black
Nov 17, 2006
Daniel Keep
Nov 18, 2006
John Reimer
Dec 04, 2006
bobef
Nov 16, 2006
Benji Smith
Nov 18, 2006
Bill Baxter
Nov 20, 2006
Jeff
Nov 16, 2006
Marcin Kuszczak
Re: What's left for 1.0? - string class
Nov 17, 2006
Aarti_pl
Nov 17, 2006
Bill Baxter
Nov 17, 2006
Samuel MV
Nov 17, 2006
Samuel MV
Nov 17, 2006
Bill Baxter
Nov 17, 2006
Samuel MV
Nov 17, 2006
Aarti_pl
Nov 17, 2006
Aarti_pl
Nov 17, 2006
Aarti_pl
Nov 18, 2006
Marcin Kuszczak
Nov 17, 2006
Nahon
Nov 17, 2006
BCS
Nov 17, 2006
Daniel Keep
Nov 18, 2006
Walter Bright
Nov 18, 2006
Bill Baxter
Nov 18, 2006
Walter Bright
Nov 18, 2006
Bill Baxter
Nov 18, 2006
Alexander Panek
GVim and Unicode ( was Re: What's left for 1.0?)
Nov 19, 2006
Lars Ivar Igesund
Nov 20, 2006
Daniel Keep
Nov 20, 2006
Lars Ivar Igesund
Nov 17, 2006
Walter Bright
Nov 20, 2006
Olli Aalto
Nov 20, 2006
Daniel Keep
Nov 20, 2006
Olli Aalto
Nov 21, 2006
Walter Bright
Nov 18, 2006
Bill Baxter
Nov 18, 2006
Kyle Furlong
Nov 18, 2006
Walter Bright
Nov 18, 2006
Bill Baxter
Nov 18, 2006
Walter Bright
Nov 18, 2006
Samuel MV
Nov 18, 2006
Bill Baxter
Nov 18, 2006
Johan Granberg
Nov 18, 2006
Walter Bright
Re: What's left for 1.0? (static data)
Nov 20, 2006
Bill Baxter
Nov 22, 2006
Walter Bright
Nov 18, 2006
Sean Kelly
Nov 18, 2006
Chris Miller
Nov 18, 2006
Sean Kelly
Nov 19, 2006
BCS
Nov 19, 2006
Bill Baxter
Nov 20, 2006
Kirk McDonald
Nov 24, 2006
Bill Baxter
Nov 29, 2006
Bill Baxter
Nov 29, 2006
Kirk McDonald
Nov 29, 2006
Bill Baxter
Nov 29, 2006
Bill Baxter
Nov 28, 2006
Stewart Gordon
November 16, 2006
So, what's left on everyone's lists for D1.0 must-have features?

I glanced over the "Pending Peeves" list, but none of those things seems particularly serious to me.

What about the iterators?  Mostly that can be a library thing that comes after the 1.0 release, but it would be nice if foreach at least had the smarts built-in to use an iterator once the method names are decided upon.

--bb
November 16, 2006
== Quote from Bill Baxter (dnewsgroup@billbaxter.com)'s article
> So, what's left on everyone's lists for D1.0 must-have features?

I think that the "Design by Contract" methods need to be updated to match the documents. Still, there are no AssertException, InException, OutException, and InvariantException in Phobos. To me, Design by Contract is a killer feature seldom found in other languages, yet its implementation (sorry to say that) is still quite poor.
November 16, 2006
This is not a 1.0 blocker, but it is a blocker my development.  D doesn't have a good solution for cross-platform dynamic libraries.  Full dynamic class loading would be nice, but D should at the very least do what C++ does and support overridding virtual method across DLL boundaries.

I have a C++ code base that I want to port to D, but it uses an cross-platform plugin system that I can not replicate with D in its current state.  I don't think this kind of functionality will get into 1.0, and that's OK, just as long as it does with the next year or so.

Other than that, I can see no shortcoming in D that would hinder development.  I'm really very anxious to port my code, but I don't want to start until D is ready.  On the positive side of things, I forsee gobs and gobs of C++ template code shrinking down to nothing, and a fifteen minute compile time reduced to less than a minute.

-Craig


November 16, 2006
Craig Black wrote:
> This is not a 1.0 blocker, but it is a blocker my development.  D doesn't have a good solution for cross-platform dynamic libraries.  

Out of curiosity, what feature set are you looking for when it comes to dynamic libs being "cross-platform"?  Are you looking for write-once, deploy everywhere, some other killer feature, or is just seamless/effortless compilation-per-platform good enough?

-- 
- EricAnderton at yahoo
November 16, 2006
"Pragma" <ericanderton@yahoo.removeme.com> wrote in message news:eji7vs$2cla$1@digitaldaemon.com...
> Craig Black wrote:
>> This is not a 1.0 blocker, but it is a blocker my development.  D doesn't have a good solution for cross-platform dynamic libraries.
>
> Out of curiosity, what feature set are you looking for when it comes to dynamic libs being "cross-platform"?  Are you looking for write-once, deploy everywhere, some other killer feature, or is just seamless/effortless compilation-per-platform good enough?

Like I said, full class loading would be nice, but my requirement is what C++ currently offers.  That is, I can compile the same code on Windows and Linux and get a .dll and an .so that are linked at run-time.  I want to be able to use an abstract class to interface to them.

-Craig


November 16, 2006
"Craig Black" <cblack@ara.com> wrote in message news:eji8g0$2dpp$1@digitaldaemon.com...
>
> "Pragma" <ericanderton@yahoo.removeme.com> wrote in message news:eji7vs$2cla$1@digitaldaemon.com...
>> Craig Black wrote:
>>> This is not a 1.0 blocker, but it is a blocker my development.  D doesn't have a good solution for cross-platform dynamic libraries.
>>
>> Out of curiosity, what feature set are you looking for when it comes to dynamic libs being "cross-platform"?  Are you looking for write-once, deploy everywhere, some other killer feature, or is just seamless/effortless compilation-per-platform good enough?
>
> Like I said, full class loading would be nice, but my requirement is what C++ currently offers.  That is, I can compile the same code on Windows and Linux and get a .dll and an .so that are linked at run-time.  I want to be able to use an abstract class to interface to them.

BTW, I didn't mean to belittle DDL in any way.  Sorry if it seemed like that is what I was doing.  I might be able to use DDL instead of an abstract class if DDL worked in Linux.  However, I don't think this is currently possible since last I heard DMD didn't produce shared objects in linux. Correct me if I'm wrong.

-Craig


November 16, 2006
Craig Black wrote:
> "Craig Black" <cblack@ara.com> wrote in message news:eji8g0$2dpp$1@digitaldaemon.com...
>> "Pragma" <ericanderton@yahoo.removeme.com> wrote in message news:eji7vs$2cla$1@digitaldaemon.com...
>>> Craig Black wrote:
>>>> This is not a 1.0 blocker, but it is a blocker my development.  D doesn't have a good solution for cross-platform dynamic libraries.
>>> Out of curiosity, what feature set are you looking for when it comes to dynamic libs being "cross-platform"?  Are you looking for write-once, deploy everywhere, some other killer feature, or is just seamless/effortless compilation-per-platform good enough?
>> Like I said, full class loading would be nice, but my requirement is what C++ currently offers.  That is, I can compile the same code on Windows and Linux and get a .dll and an .so that are linked at run-time.  I want to be able to use an abstract class to interface to them.

Believe me, I know.  This is *the* way to do things in an OOP-based language.  Once I saw java doing that 10 years ago, I haven't looked back.

And to keep this marginally on-topic, I'll add that I never expect something like DDL to be embraced by Walter or DMD anyway.  It's the kind of project that is really quite happy living as a lib.

> BTW, I didn't mean to belittle DDL in any way.  Sorry if it seemed like that is what I was doing.  I might be able to use DDL instead of an abstract class if DDL worked in Linux.  However, I don't think this is currently possible since last I heard DMD didn't produce shared objects in linux. Correct me if I'm wrong.

It's no problem Craig.  I know you've posted around here for a long time, but I couldn't recall (for the moment anyway) if you'd given it a shot yet or not.  Plus I'm always fishing for better ways to do things, and insight from people who think it's not the right tool for the job.

But to be fair DDL isn't 100% on Linux yet.  Provided it was, you could do just what you're talking about: compile once per platform and deploy like you do with .dll and .so files now.  DDL will be able to load ELF and Ar files much like it can do OMF .obj and .lib files now.

As far as I know, DMD can create the needed file types to pull this off.  DMD's shared-object capability (absent or not) isn't a problem, as DDL has a healthy appitite for ELF Modules straight from the compiler.  The runtime linker does the rest.

Futhermore, Shared-Objects of both the relocatable and non-relocatable varieties are by definition internally linked, which makes them questionable candidates for DDL's "full-linking" design anyway.  I'm sure others will find creative ways to exploit them through DDL, but they're not a concern at this point.

So that leaves only one sticking point: the differences in exception handling between operating systems (future 64bit compatibility notwithstanding).  I haven't researched it fully, but I'm willing to bet that DDL could insert a thunk at link time that can bridge the gap for suitably coded (read: no OS-specific code) modules.

-- 
- EricAnderton at yahoo
November 16, 2006
Bill Baxter wrote:
> So, what's left on everyone's lists for D1.0 must-have features?

Although D doesn't currently use a generational copying collector, it would be nice if we could anticipate the hurdles to implementing a copying GC in the current language, and develop some syntactic extensions to the language for copying with a copying GC.

In a language like Java, where there are only reference types and primitives (i.e., no pointers), the implementation of a copying GC is pretty straightforward, because when an object gets moved to a new location in memory, you never have to worry that it will leave behind a orphaned pointer.

In C#, which does allow pointers, certain blocks of code are marked as unsafe, and certain objects or pointers can be temporarily "pinned" to their current memory location. If the GC thread comes to life during the execution of an unsafe block, the GC will ignore any objects or pointers that have been pinned at their current location. Those items will be collected later, during a subsequent GC run, after they've been "un-pinned".

It would be nice, before version 1.0 of D, to get the syntax in place for pinning pointers. With the current GC, all objects are permanently "pinned" anyhow, so this implementation would be semantically correct, even if it didn't do anything :) But at least, with the syntax in place, we'd be prepared for the eventual introduction of a generational copying GC, when such a thing is inevitably implemented.

--benji
November 16, 2006
So it's possible for DDL to work in Linux.  Are there plans for implementing this in the near future?  If so how long would you expect it to take?

Also, it seems that Walter will eventually implement some kind of run-time reflection.  How do you think native reflection would influence DDL?  It seems to me that it would make it easier to do what  you are doing.

-Craig

"Pragma" <ericanderton@yahoo.removeme.com> wrote in message news:ejic3q$2jdj$1@digitaldaemon.com...
> Craig Black wrote:
>> "Craig Black" <cblack@ara.com> wrote in message news:eji8g0$2dpp$1@digitaldaemon.com...
>>> "Pragma" <ericanderton@yahoo.removeme.com> wrote in message news:eji7vs$2cla$1@digitaldaemon.com...
>>>> Craig Black wrote:
>>>>> This is not a 1.0 blocker, but it is a blocker my development.  D doesn't have a good solution for cross-platform dynamic libraries.
>>>> Out of curiosity, what feature set are you looking for when it comes to dynamic libs being "cross-platform"?  Are you looking for write-once, deploy everywhere, some other killer feature, or is just seamless/effortless compilation-per-platform good enough?
>>> Like I said, full class loading would be nice, but my requirement is what C++ currently offers.  That is, I can compile the same code on Windows and Linux and get a .dll and an .so that are linked at run-time. I want to be able to use an abstract class to interface to them.
>
> Believe me, I know.  This is *the* way to do things in an OOP-based language.  Once I saw java doing that 10 years ago, I haven't looked back.
>
> And to keep this marginally on-topic, I'll add that I never expect something like DDL to be embraced by Walter or DMD anyway.  It's the kind of project that is really quite happy living as a lib.
>
>> BTW, I didn't mean to belittle DDL in any way.  Sorry if it seemed like that is what I was doing.  I might be able to use DDL instead of an abstract class if DDL worked in Linux.  However, I don't think this is currently possible since last I heard DMD didn't produce shared objects in linux. Correct me if I'm wrong.
>
> It's no problem Craig.  I know you've posted around here for a long time, but I couldn't recall (for the moment anyway) if you'd given it a shot yet or not.  Plus I'm always fishing for better ways to do things, and insight from people who think it's not the right tool for the job.
>
> But to be fair DDL isn't 100% on Linux yet.  Provided it was, you could do just what you're talking about: compile once per platform and deploy like you do with .dll and .so files now.  DDL will be able to load ELF and Ar files much like it can do OMF .obj and .lib files now.
>
> As far as I know, DMD can create the needed file types to pull this off. DMD's shared-object capability (absent or not) isn't a problem, as DDL has a healthy appitite for ELF Modules straight from the compiler.  The runtime linker does the rest.
>
> Futhermore, Shared-Objects of both the relocatable and non-relocatable varieties are by definition internally linked, which makes them questionable candidates for DDL's "full-linking" design anyway.  I'm sure others will find creative ways to exploit them through DDL, but they're not a concern at this point.
>
> So that leaves only one sticking point: the differences in exception handling between operating systems (future 64bit compatibility notwithstanding).  I haven't researched it fully, but I'm willing to bet that DDL could insert a thunk at link time that can bridge the gap for suitably coded (read: no OS-specific code) modules.
>
> -- 
> - EricAnderton at yahoo


November 16, 2006
Craig Black wrote:
> This is not a 1.0 blocker, but it is a blocker my development.  D doesn't have a good solution for cross-platform dynamic libraries.  Full dynamic class loading would be nice, but D should at the very least do what C++ does and support overridding virtual method across DLL boundaries.

I'm not sure why that wouldn't work now. What happens when you try it?
« First   ‹ Prev
1 2 3 4 5 6 7 8 9