On Friday, 28 July 2017 at 14:58:01 UTC, Ali wrote:
While the Orgs using D page is very nice ... I hoping to hear more personal stories ...

So

How do you use D?
In work, (key projects or smaller side projects)
in your side project, (github, links please)
just to learn something new? (I would easily argue that learning D will make you a better C++ programmer, maybe not the most efficient way, but I a sure it i very effective)

Did you introduce D to your work place? How? What challenges did you face?

What is you D setup at work, which compiler, which IDE?

And any other fun facts you may want to share :)

I am working for a german software company. There are various programming languages used. I created several non customer facing tools in D for the projects I am involved. Also I tried to make advertisements for the D Programming Language by creating internal wiki pages, recordings, video channel with screencams and telling everyone
about that nice programming language called D.

To be able to write customer facing software in D I have to integrate the D programming language into the existing build landscape (Jenkins/XMake). It was possible to
integrate D but there are rough edges.

Before I start I want to say a big thank you to Sönke and everyone involved in the Dub project. Without Dub, the usage of D would not be possible at all!

1) There is a deprecated "version" attribute in dub.json. Dub now forces you to specify the application version using git tags. As the build landscape itself creates git tags which aren't Semver compatible, the deprecation of the "version" attribute is a great pain for me. I solved the problem by "inventing" an own way to specify a version (version.txt file), which is a bad solution.
https://github.com/dlang/dub/issues/1301

2) During the official build no connection to the internet is allowed (e.g. code.dlang.org). For the moment I have no possibility to run an inhouse dub repository. This forces me to include source code of the dub packages I want to use, in my applications.

The company is running a big Maven repository in which I could store the dub packages as zip files and which has http access to these artefacts. I would like to specify in my dub.json the url address to the zip file stored in the maven repository.
https://github.com/dlang/dub/issues/1134

3) It is not possible to run DMD with the microsoft linker and libs without adapting the sc.ini. That is a pain! In the build infrastructure I can only use the dmd zip archive and not the setup routine. Also the adapation of the sc.ini I need to automate in a python script (XMake build plugin).
Python does not like the sc.ini... due to duplicate keys...

Just compare with LDC windows 64. You only have to extract the zip archive, call vcvarsall batch
file which sets the environment variables and thats it!
https://issues.dlang.org/show_bug.cgi?id=17967

4) Every open source software I want to use, needs to go through an open source process before I can use it in customer facing software. Dub has a very annoying behavior. If I want to use a package A and it has an optional dependency to be package B, Dub fails if B is not available. That leads to the issue that even I do not want to use B, I need to go through the open source process for B due to the behavior of Dub. I had this issue with the unit test frame work D-Unit. Fortunatelly the developer of D-Unit was kind and removed the optional dependency completely!
https://github.com/dlang/dub/issues/1272

I have also to say a big thank you to Adam D. Ruppe. He has created a great library with very helpful functionality like database access, http server, terminal, ...
and he is a very helpful and kind person.

My hobby project is to create a bridge between the Embarcadero RAD Studion (Delphi) and D. The idea is to use all functionality from Delphi and RAD Studio (GUI designer, thousands of libraries) without writing one 1 line Pascal but write everything in D. At the moment I have already a windows demo application running, but I hope I can extend it to MacOS/Android/IPhone...
https://github.com/andre2007/delta-core-10-2-1
The package you see on github is written by hand. At the moment I am writing a Pascal Parser to have everything generated by the Pascal Source files (VCL/Firemonkey/Indy/...) automatically.

Kind regards
André

Reply via email to