www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Another opportunity for a major design win has presented itself

reply Walter Bright <newshound2 digitalmars.com> writes:
No, I can't say who it is at this time. Sorry. But it is a huge opportunity for
us.

To get the design win, we need to:

(a) get dynamic linking and loading to work

(b) improve language safety without degrading efficiency

(c) improve quality as always

Of course, these things benefit pretty much all D users anyway. Initially, (a) 
is the most important.
Feb 07 2013
next sibling parent reply Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 2/7/13, Walter Bright <newshound2 digitalmars.com> wrote:
 To get the design win
What do you mean by "design" win? You mean we'd win another company over to D?
 (a) get dynamic linking and loading to work
Yeah we've been talking about this for ages.
Feb 07 2013
next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 2/7/2013 12:34 PM, Andrej Mitrovic wrote:
 What do you mean by "design" win? You mean we'd win another company over to D?
Yes (for a project of theirs).
Feb 07 2013
parent reply Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 2/7/13, Walter Bright <newshound2 digitalmars.com> wrote:
 On 2/7/2013 12:34 PM, Andrej Mitrovic wrote:
 What do you mean by "design" win? You mean we'd win another company over
 to D?
Yes (for a project of theirs).
Can you give us a teaser on generally what kind of work they do?
Feb 07 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 2/7/2013 12:47 PM, Andrej Mitrovic wrote:
 Can you give us a teaser on generally what kind of work they do?
Much as I'd like to say more, I can't.
Feb 07 2013
prev sibling parent "bearophile" <bearophileHUGS lycos.com> writes:
Andrej Mitrovic:

 What do you mean by "design" win? You mean we'd win another 
 company over to D?
At design time you sometimes have the luxury to choose the main language you will use. I guess Walter meant that if D improves in the first of those points, D risks being the chosen language for that project. Bye, bearophile
Feb 07 2013
prev sibling next sibling parent "bearophile" <bearophileHUGS lycos.com> writes:
Walter Bright:

 (b) improve language safety without degrading efficiency
This request is a bit too much vague. Please explain better what do you mean. (And in what cases? Maybe just in release mode, or in all kinds of releases?) There are many different ways to do this. Some of them need type system improvements (region analysis, removing some undefined situations, introducing a bit of flow analysis, introduce not-nullables, etc), some other of them ask for some kind of static analysis tool inside all the distributions of D compilers. Implementing a good library-defined Typedef (that the compiler is able to optimize away as much as possible) is a simple but useful improvement. In some cases safety comes from improving parts of D, like improving its Contracts, like this: http://d.puremagic.com/issues/show_bug.cgi?id=9454 Or adding the "old" (pre-state) to contracts, to make them more usable. Other ways to do it is to add a bit of analysis to be able to remove some array bound in non-release builds. If the request of not "degrading efficiency" is meant only in release mode, then there are many more ways to do it without making the type system more complex. General rule to keep in mind: if you accept no degraded efficiency then you need a more complex&refined type system, that usually is also more fussy and less easy to use. Bye, bearophile
Feb 07 2013
prev sibling next sibling parent reply "Maxim Fomin" <maxim maxim-fomin.ru> writes:
On Thursday, 7 February 2013 at 20:16:03 UTC, Walter Bright wrote:
 No, I can't say who it is at this time. Sorry. But it is a huge 
 opportunity for us.
This is nice.
 To get the design win, we need to:

 (a) get dynamic linking and loading to work
Wasn't this realized before? By the way, last weeks there seems to be increasing dynamic linking & loading buzz like it was not an issue for ages.
 (b) improve language safety without degrading efficiency
This is vague. Language safety (meaning design improvement) or implementation (fixing bugs)? How you can measure such improvement?
 (c) improve quality as always
This is also vague. Quality of what: dmd/druntime/phobos?
 Of course, these things benefit pretty much all D users anyway. 
 Initially, (a) is the most important.
I guess recent patches dedicated to the issue came at right time.
Feb 07 2013
next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 2/7/2013 1:01 PM, Maxim Fomin wrote:
 I guess recent patches dedicated to the issue came at right time.
The timing is indeed fortuitous. As for your comments about vagueness, yes, it is vague. The DLL support is clear, though, it either works or it doesn't. The other issues are a work in progress, and they understand that. We just have to make progress.
Feb 07 2013
next sibling parent reply "Nick B" <nick.barbalich gmail.com> writes:
On Thursday, 7 February 2013 at 21:11:18 UTC, Walter Bright wrote:
 On 2/7/2013 1:01 PM, Maxim Fomin wrote:
 I guess recent patches dedicated to the issue came at right 
 time.
The timing is indeed fortuitous. As for your comments about vagueness, yes, it is vague. The DLL support is clear, though, it either works or it doesn't. The other issues are a work in progress, and they understand that. We just have to make progress.
I know this is off-topic, but can/do companies purchase D support from you/Digital Mars ? Nick
Feb 07 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 2/7/2013 1:19 PM, Nick B wrote:
 but can/do companies purchase D support from
 you/Digital Mars ?
As of this year, yes.
Feb 07 2013
prev sibling parent David <d dav1d.de> writes:
Am 07.02.2013 22:11, schrieb Walter Bright:
 On 2/7/2013 1:01 PM, Maxim Fomin wrote:
 I guess recent patches dedicated to the issue came at right time.
The timing is indeed fortuitous. As for your comments about vagueness, yes, it is vague. The DLL support is clear, though, it either works or it doesn't. The other issues are a work in progress, and they understand that. We just have to make progress.
Well, 110 open pull requests on DMD, awaiting their merge, look like progress to me And Phobos has 43! Lot's of progress
Feb 07 2013
prev sibling next sibling parent Marco Leise <Marco.Leise gmx.de> writes:
Am Thu, 07 Feb 2013 22:01:10 +0100
schrieb "Maxim Fomin" <maxim maxim-fomin.ru>:

 On Thursday, 7 February 2013 at 20:16:03 UTC, Walter Bright wrote:
 (a) get dynamic linking and loading to work
Wasn't this realized before? By the way, last weeks there seems to be increasing dynamic linking & loading buzz like it was not an issue for ages.
It is like the news: Things boil up, get covered for a week and disappear from public sight for a year. It has been an issue but people have probably arranged with static linking for now or not started to write a particular program in D. I remember I've tried to use structs with const members for a while for example, but arranged with making every field mutable. Now the topic showed up again after months. -- Marco
Feb 07 2013
prev sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-02-07 22:01, Maxim Fomin wrote:
 On Thursday, 7 February 2013 at 20:16:03 UTC, Walter Bright wrote:
 No, I can't say who it is at this time. Sorry. But it is a huge
 opportunity for us.
This is nice.
 To get the design win, we need to:

 (a) get dynamic linking and loading to work
Wasn't this realized before? By the way, last weeks there seems to be increasing dynamic linking & loading buzz like it was not an issue for ages.
As far as I know and if nothing has changed in the recent days shared libraries to not work, at least not on Posix. -- /Jacob Carlborg
Feb 08 2013
prev sibling next sibling parent "Dicebot" <m.strashun gmail.com> writes:
Can't wait to finally see (a) in all its glory :)
Feb 07 2013
prev sibling next sibling parent reply "Oleg Kuporosov" <Oleg.Kuporosov gmail.com> writes:
On Thursday, 7 February 2013 at 20:16:03 UTC, Walter Bright wrote:
 No, I can't say who it is at this time. Sorry. But it is a huge 
 opportunity for us.

 To get the design win, we need to:

 (a) get dynamic linking and loading to work

 (b) improve language safety without degrading efficiency

 (c) improve quality as always

 Of course, these things benefit pretty much all D users anyway. 
 Initially, (a) is the most important.
That is cool, but what is the target platform - Win/Lin, 32/64? Oleg.
Feb 07 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 2/7/2013 10:36 PM, Oleg Kuporosov wrote:
 That is cool, but what is the target platform - Win/Lin, 32/64?
Initially, Linux. Once that is worked out, doing the others should be straightforward.
Feb 07 2013
next sibling parent Benjamin Thaut <code benjamin-thaut.de> writes:
Am 08.02.2013 08:18, schrieb Walter Bright:
 On 2/7/2013 10:36 PM, Oleg Kuporosov wrote:
 That is cool, but what is the target platform - Win/Lin, 32/64?
Initially, Linux. Once that is worked out, doing the others should be straightforward.
Well windows will be quite some work because DLLs are not really fully supported yet. Starting with these two issues: http://d.puremagic.com/issues/show_bug.cgi?id=3956 http://d.puremagic.com/issues/show_bug.cgi?id=6673 I will make bug reports for all the dll issues I found in the next few days. Kind Regards Benjamni Thaut
Feb 08 2013
prev sibling parent "eles" <eles eles.com> writes:
On Friday, 8 February 2013 at 07:18:56 UTC, Walter Bright wrote:
 On 2/7/2013 10:36 PM, Oleg Kuporosov wrote:
 That is cool, but what is the target platform - Win/Lin, 32/64?
Initially, Linux. Once that is worked out, doing the others should be straightforward.
My old request: if you speak Linux, a big + would be to push forward gdc and gcc integration.
Feb 08 2013
prev sibling next sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-02-07 21:16, Walter Bright wrote:
 No, I can't say who it is at this time. Sorry. But it is a huge
 opportunity for us.

 To get the design win, we need to:

 (a) get dynamic linking and loading to work
We want to have this on all platforms but is there a platform that is prioritized for them? -- /Jacob Carlborg
Feb 08 2013
prev sibling next sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-02-07 21:16, Walter Bright wrote:

 (a) get dynamic linking and loading to work
I'm willing to help on this one, especially for Mac OS X. I have wanted this for quite a long time. -- /Jacob Carlborg
Feb 08 2013
prev sibling next sibling parent "nazriel" <spam dzfl.pl> writes:
On Thursday, 7 February 2013 at 20:16:03 UTC, Walter Bright wrote:
 No, I can't say who it is at this time. Sorry. But it is a huge 
 opportunity for us.

 To get the design win, we need to:

 (a) get dynamic linking and loading to work
AFAIK Martin Nowak has done first part for you. Pull requests only needs to be merged to druntime I guess :)
 (b) improve language safety without degrading efficiency

 (c) improve quality as always

 Of course, these things benefit pretty much all D users anyway. 
 Initially, (a) is the most important.
Feb 08 2013
prev sibling next sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
On Feb 7, 2013, at 12:16 PM, Walter Bright <newshound2 digitalmars.com> =
wrote:

 No, I can't say who it is at this time. Sorry. But it is a huge =
opportunity for us.
=20
 To get the design win, we need to:
=20
 (a) get dynamic linking and loading to work
Which platform? Loading a single dynamic D library or multiple = libraries? What language will the hosting app be written in? What are = the parameters for the dynamic library interface? ie. extern C? D = functions? UDTs as well? Might exceptions be thrown across the library = boundary? Portions of this work better than others and it would help to = know where to focus our efforts.=
Feb 08 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 2/8/2013 12:29 PM, Sean Kelly wrote:
 On Feb 7, 2013, at 12:16 PM, Walter Bright <newshound2 digitalmars.com>
 wrote:

 No, I can't say who it is at this time. Sorry. But it is a huge opportunity
 for us.

 To get the design win, we need to:

 (a) get dynamic linking and loading to work
Which platform?
linux.
 Loading a single dynamic D library or multiple libraries?
 What language will the hosting app be written in?  What are the parameters
 for the dynamic library interface?  ie. extern C?  D functions?  UDTs as
 well?  Might exceptions be thrown across the library boundary?  Portions of
 this work better than others and it would help to know where to focus our
 efforts.
A D app consisting of a main D exe with multiple D DLLs that can be loaded/unloaded at runtime will work.
Feb 08 2013
prev sibling next sibling parent "Rob T" <alanb ucora.com> writes:
On Thursday, 7 February 2013 at 20:16:03 UTC, Walter Bright wrote:
 No, I can't say who it is at this time. Sorry. But it is a huge 
 opportunity for us.

 To get the design win, we need to:

 (a) get dynamic linking and loading to work

 (b) improve language safety without degrading efficiency

 (c) improve quality as always

 Of course, these things benefit pretty much all D users anyway. 
 Initially, (a) is the most important.
Consider that there are apparently problems when linking and loading D libs into C/C++ apps. I was told that the GC won't work correctly, but I'm no longer sure exactly why. If we can safely link+load shared D libs into C/C++ apps, it is not only useful to have right now, but it also opens up a safe migration path for C/C++ users to start using D with their existing C/C++ apps, and if it works well, they may start using D fully. --rt
Feb 08 2013
prev sibling next sibling parent reply Iain Buclaw <ibuclaw ubuntu.com> writes:
On 7 Feb 2013 20:21, "Walter Bright" <newshound2 digitalmars.com> wrote:
 No, I can't say who it is at this time. Sorry. But it is a huge
opportunity for us.
 To get the design win, we need to:

 (a) get dynamic linking and loading to work
We should probably discuss implemetation ideas when you next have the opportunity. :) ---- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';
Feb 08 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 2/8/2013 6:19 PM, Iain Buclaw wrote:
 On 7 Feb 2013 20:21, "Walter Bright" <newshound2 digitalmars.com
 <mailto:newshound2 digitalmars.com>> wrote:
  >
  > No, I can't say who it is at this time. Sorry. But it is a huge opportunity
 for us.
  >
  > To get the design win, we need to:
  >
  > (a) get dynamic linking and loading to work
  >

 We should probably discuss implemetation ideas when you next have the
 opportunity.  :)
Sure. I want to get the next release out, first, and then we'll get the shared library thing working.
Feb 09 2013
prev sibling parent reply "Rob T" <alanb ucora.com> writes:
The compiler currently has an option -shared for generating a 
shared library. It also has an option -fPIC for generating 
position independent code.

If option -shared is selected, will it automatically generate as 
PIC, or do you have to also specify -fPIC?

--rt
Feb 08 2013
parent "Michael" <pr m1xa.com> writes:
 If option -shared is selected, will it automatically generate 
 as PIC, or do you have to also specify -fPIC?
When I used gfortran, it was -shared only on windows, on linux both options: -shared and -fPIC. Was obtained empirically.
Feb 09 2013