Jump to page: 1 2
Thread overview
-betterC is amazing, make (/keep making) it more sophisticated!
Mar 21, 2018
Aedt
Mar 21, 2018
Seb
Mar 21, 2018
jmh530
Mar 22, 2018
Seb
Mar 22, 2018
Atila Neves
Mar 22, 2018
Aedt
Mar 22, 2018
Atila Neves
Mar 22, 2018
Seb
Mar 22, 2018
Walter Bright
Mar 22, 2018
Jacob Carlborg
Mar 22, 2018
Radu
Mar 22, 2018
Seb
Mar 23, 2018
Radu
Mar 23, 2018
John Belmonte
March 21, 2018
I've been playing with D for a while. I usually write/maintain/contribute to C and C++ applications for *nix. D is low key amazing, it has
- C standard library in the standard
- continually improving betterC idioms
- built in version blocks, unit test and debug blocks
- painless doc gen
- modules and painless dependency handling
- linter, formatting tool and suggestion tool independent of editors
Now if D manages all of the following it's going to be even better:
- complete porting the C99 compliant C compiler fornt end to the D compiler so you can seamlessly just import C headers (like C++)
- Improve shared library support

Don't know about other C programmers but if D grants me to write C with modules, doc gen and dep handling, I can switch any day! But I need to be able to use tons of C libraries without having to writing wrappers for them.

Thank you.
March 21, 2018
On Wednesday, 21 March 2018 at 22:33:37 UTC, Aedt wrote:
> I've been playing with D for a while. I usually write/maintain/contribute to C and C++ applications for *nix. D is low key amazing, it has
> - C standard library in the standard
> - continually improving betterC idioms
> - built in version blocks, unit test and debug blocks
> - painless doc gen
> - modules and painless dependency handling
> - linter, formatting tool and suggestion tool independent of editors

Thanks a lot for these kind words!

> Now if D manages all of the following it's going to be even better:
> - complete porting the C99 compliant C compiler fornt end to the D compiler so you can seamlessly just import C headers (like C++)

I heard that Walter recently ported his DMC++ to D and I heard that someone was working on this, so chances aren't too bad that this might happen ;-)

> - Improve shared library support

What do you miss / are referring to?

> Don't know about other C programmers but if D grants me to write C with modules, doc gen and dep handling, I can switch any day! But I need to be able to use tons of C libraries without having to writing wrappers for them.

Not sure whether you are aware of these two projects?

https://github.com/jacob-carlborg/dstep (converts C headers to D headers auto-magically)

https://github.com/Syniurge/Calypso (LDC fork which allows direct interfacing with C/C++ code)

For my use cases dstep works nicely.
March 21, 2018
On Wednesday, 21 March 2018 at 22:48:36 UTC, Seb wrote:
>
> I heard that Walter recently ported his DMC++ to D and I heard that someone was working on this, so chances aren't too bad that this might happen ;-)
>

You might check out Atila's github page (I don't think it's ready for release yet).
March 21, 2018
On 3/21/2018 3:48 PM, Seb wrote:
> I heard that Walter recently ported his DMC++ to D

Yes, indeed: https://github.com/DigitalMars/Compiler

I want to convert the back end to D, too, but am blocked by https://github.com/dlang/dmd/pull/7714

Seb, can you help with that?

March 22, 2018
On Wednesday, 21 March 2018 at 23:46:19 UTC, jmh530 wrote:
> On Wednesday, 21 March 2018 at 22:48:36 UTC, Seb wrote:
>>
>> I heard that Walter recently ported his DMC++ to D and I heard that someone was working on this, so chances aren't too bad that this might happen ;-)
>>
>
> You might check out Atila's github page (I don't think it's ready for release yet).

For reference, I think jmh530 was referring to this: https://github.com/atilaneves/include
March 22, 2018
On Thursday, 22 March 2018 at 00:24:34 UTC, Seb wrote:
> On Wednesday, 21 March 2018 at 23:46:19 UTC, jmh530 wrote:
>> On Wednesday, 21 March 2018 at 22:48:36 UTC, Seb wrote:
>>>
>>> I heard that Walter recently ported his DMC++ to D and I heard that someone was working on this, so chances aren't too bad that this might happen ;-)
>>>
>>
>> You might check out Atila's github page (I don't think it's ready for release yet).
>
> For reference, I think jmh530 was referring to this: https://github.com/atilaneves/include

That's the one. It's nearly ready to announce (although even by then there will be a loooot of work to do afterwards). Sneak peek, this works right now (yes, what's shown is, except for the #include directives, D code):


#include "nanomsg/nn.h"
#include "nanomsg/pubsub.h"

void main() {
    const sock = nn_socket (AF_SP, NN_PUB);
    scope(exit) nn_close(sock);
}


As for the how/what/why/WTF/etc, stay tuned.

Atila
March 22, 2018
On Thursday, 22 March 2018 at 10:45:50 UTC, Atila Neves wrote:
> On Thursday, 22 March 2018 at 00:24:34 UTC, Seb wrote:
>> On Wednesday, 21 March 2018 at 23:46:19 UTC, jmh530 wrote:
>>> [...]
>>
>> For reference, I think jmh530 was referring to this: https://github.com/atilaneves/include
>
> That's the one. It's nearly ready to announce (although even by then there will be a loooot of work to do afterwards). Sneak peek, this works right now (yes, what's shown is, except for the #include directives, D code):
>
>
> #include "nanomsg/nn.h"
> #include "nanomsg/pubsub.h"
>
> void main() {
>     const sock = nn_socket (AF_SP, NN_PUB);
>     scope(exit) nn_close(sock);
> }
>
>
> As for the how/what/why/WTF/etc, stay tuned.
>
> Atila


Just out of sheer curiosity, will I be able to #include <pthread.h> or <gtk.h>?
March 22, 2018
On Thursday, 22 March 2018 at 12:10:34 UTC, Aedt wrote:
> On Thursday, 22 March 2018 at 10:45:50 UTC, Atila Neves wrote:
>> On Thursday, 22 March 2018 at 00:24:34 UTC, Seb wrote:
>>> [...]
>>
>> That's the one. It's nearly ready to announce (although even by then there will be a loooot of work to do afterwards). Sneak peek, this works right now (yes, what's shown is, except for the #include directives, D code):
>>
>>
>> #include "nanomsg/nn.h"
>> #include "nanomsg/pubsub.h"
>>
>> void main() {
>>     const sock = nn_socket (AF_SP, NN_PUB);
>>     scope(exit) nn_close(sock);
>> }
>>
>>
>> As for the how/what/why/WTF/etc, stay tuned.
>>
>> Atila
>
>
> Just out of sheer curiosity, will I be able to #include <pthread.h> or <gtk.h>?

I'll have failed if you're not able to. If it doesn't work, it's a bug.

Atila
March 22, 2018
On Thursday, 22 March 2018 at 12:10:34 UTC, Aedt wrote:
> On Thursday, 22 March 2018 at 10:45:50 UTC, Atila Neves wrote:
>> On Thursday, 22 March 2018 at 00:24:34 UTC, Seb wrote:
>>> On Wednesday, 21 March 2018 at 23:46:19 UTC, jmh530 wrote:
>>>> [...]
>>>
>>> For reference, I think jmh530 was referring to this: https://github.com/atilaneves/include
>>
>> That's the one. It's nearly ready to announce (although even by then there will be a loooot of work to do afterwards). Sneak peek, this works right now (yes, what's shown is, except for the #include directives, D code):
>>
>>
>> #include "nanomsg/nn.h"
>> #include "nanomsg/pubsub.h"
>>
>> void main() {
>>     const sock = nn_socket (AF_SP, NN_PUB);
>>     scope(exit) nn_close(sock);
>> }
>>
>>
>> As for the how/what/why/WTF/etc, stay tuned.
>>
>> Atila
>
>
> Just out of sheer curiosity, will I be able to #include <pthread.h> or <gtk.h>?

I'm not sure whether you are aware, but D pthread "header" are shipped with DRuntime as core.sys.posix.pthread:

https://github.com/dlang/druntime/blob/master/src/core/sys/posix/pthread.d
March 22, 2018
On Wednesday, 21 March 2018 at 22:48:36 UTC, Seb wrote:

> Not sure whether you are aware of these two projects?
>
> https://github.com/jacob-carlborg/dstep (converts C headers to D headers auto-magically)
>
> https://github.com/Syniurge/Calypso (LDC fork which allows direct interfacing with C/C++ code)
>
> For my use cases dstep works nicely.

Quite old now and a proof of concept, DStep embedded into the compiler: https://github.com/jacob-carlborg/dmd/commit/2837d340c065cc2bf3f0a83cb96c4d9f22fb3a30

--
/Jacob Carlborg
« First   ‹ Prev
1 2