Marketing for D: Making D an official Cloud Foundry built-in language

Rikki Cattermole via Digitalmars-d digitalmars-d at puremagic.com
Fri Oct 9 19:49:21 PDT 2015


On 10/10/15 7:26 AM, Andre wrote:
> I want to share my experiences with making marketing for D.
> At the company I am working for, Cloud and Cloud Foundry is a big thing.
> At the office github there are several coding examples how to
> develop applications for the languages Cloud Foundry supports
> out of box: Java, Node.js, Ruby, Go, PHP and Python.
> I decided to also develop a coding example in the D Language to make
> some marketing for D.
> Unfortunately it was not added directly to the coding examples,
> because it is not an official Cloud Foundry language.
>
> Using a third party buildpack it is possible to also support D but the
> marketing
> effect for D would be huge if it would be listed as official supported
> language.
>
> Short explanation for buildpack: Cloud Foundry gives your application an
> environment
> which is prepared by using 3 shell scripts called the buildpack. You
> only upload the D
> source code to Cloud Foundry. In Cloud Foundry dmd / dub ... are
> downloaded and executed
> to compile your application.
>
> There are some prerequisites which would maximize the chance for D to
> become an official CF language:
>
> 1. Easy installation: Bundle dmd with dub
> The buildpack coding should be small and easy. At the moment dmd and dub
> must
> be downloaded from different places to different cache folders,
> extracted with different tools...

Wrong way round. Bundle dub with dmd is already planned.

> 2. Stable link to last released dmd
> Is there an archive link, always pointing to the last released dmd archive?
> Instead of always adapting the buildpack, a stable link to the recent
> dmd archive
> would be a great benefit
>
> 3. Fast installation: Currently the dmd zip is about 60 Mb. The download
> size doesn't
> matter that much, because it is downloaded once and then cached. But it
> must be unzipped on every push of the
> application. This makes the push slow. Could be a minimized archive
> provided, with only these
> files absolutely necessary to compile a D application?

I am sure Walter will have no problem with you creating a custom 
archive, perhaps with tar? If that suits you better. Check with him however.

> 4. Dub support for git repositories
> I wrote a http/OData library in the office and uploaded it to the
> company internal github.
> The buildpack shell script loads in addition to the dmd and dub archive
> also this git repository
> and added it to DUB with command "add-local". This is a bad hack, but I
> cannot publish it on code.dlang.org
> due it is an company internal library.
> I wish dub would support to specifiy a git repository.
> With this feature, you could push d applications to Cloud Foundry which
> either uses a http engine
> from code.dlang.org (vibe-d with libasync) or in a company scenario,
> from an internal git repository.

That may not be possible. Unless you want to make dub dependent upon 
git. Which it currently isn't. Right now it uses e.g. Github to create 
an archive of the repository and download that.
Although some trade off will be possible.

Also it all goes through code.dlang.org the last I remember.

> 5. Dub support for package registries other than code.dlang.org
> Either by manipulation a DNS or by taking over code.dlang.org or an
> github repository,
> an attacker could insert malicious code into your application. To reduce
> the attack vector,
> companies have their own package registries with proven packages. I
> would like to specify in
> dub.json which package registries, DUB will load the packages from.

It exists, the support is there. Just not in the dub configuration file. 
It is something that would be nice to have.



More information about the Digitalmars-d mailing list