Where is D language?

I can’t wait to see D language in codingame.
Your competitors use it already but not here. I’m not sure you’ll get new customers right now. I’m sure you’ll get them a few later if you add D language right now.

5 Likes

Yes. Please. I want to use D. I usually prototype in Python, and in performance related I stuff use D a lot. D 2.x please. LDC implementation is doing very good these days.

Yes, please.
IMO, this is not too difficult: compiler is command line already; keyword list not too differ from C# and C++ (for internal code editor)

This is the right thread for language suggestions:
https://www.codingame.com/forum/t/please-add-the-following-programming-languages/717

I do agree though! Add D to codingame. You guys forgot to mention how fast D is!
https://dlang.org/overview.html

Hi,

How is the process to add support for another programming language?
The D Programming Language is one of the greatest programming languages but unfortunately not supported by CodingGame.

Could you please check wheter you can support it?

Kind regards
Andre

(I had to add many empty lines to the end of this message, otherwise I cannot see the Create Topic button on my mobile phone)

Hello,

please add the D language. I already asked for it and you said you will do it, but it’s still not here :frowning:

I’m a bit surprised and doubtful. Honestly, we would like to support every languages asked by the community but it’s not so simple. Sorry, but we haven’t planned to add D in the near future.

That being said, I’m planning on doing a large survey about the next languages to support to be able to push it internally. I have a qualitative view of the demand, but I’d like a more quantitative view.

What exactly has to be done to support D? I would assume you just had to add a new Dockerfile and add some configuration values. Can the D community help you to make it happen?
I had a look at the currently supported languages. None of them makes fun to develop when comparing with D.

Please add the D Programming Language to bring the fun again to development.

Check the link to the language update thread, which i posted in this thread earlier. It contains the answer to your questions and more.

As far as I can see, your link points to a voting site. My question was more technical oriented. What implementation steps needed to be done. I would like to understand why it is difficult to add support for D. I assume only a new Dockerfile has to be added and some customizing needed to be set.

Also please note, D is officially included in GCC 9.

They don’t use Docker.

indeed, we don’t use Docker for puzzles and games, only for playgrounds.

Max explained it a few weeks ago (that’s what @AntiSquid linked you to):

Very close. Our infrastructure to compile and execute your codes has been developed before Docker was ready. Therefore, we are not using it. We use a combination of overlayfs, ramfs, chroot and cgroups to do something very similar. The big difference is that we don’t have access to that nice system of images and layers provided by Docker… Thus, we have a big “jail” that contains all the tools needed to compile and execute the codes in 25 different languages. We have in our TODO list the migration of our system to docker, but I can’t tell you when.
The playgrounds are more recent and use a different stack based on docker images.

If I understand you correctly the chance to get support for D within the next years is low.
This means the only way to get codingame with D support is to develop an own codingame which supports D ):

If there is any way how the D community can support you to add support, please tell us. Installing D compiler on a linux system is just download & extract 1 tar.xz file, that’s it. If codingame is developed modular, this should be doable with a very low effort on your side.

If you see any other issues, please tell us.

http://downloads.dlang.org/pre-releases/2.x/2.086.0/dmd.2.086.0-beta.1.linux.tar.xz

Create a file app.d with content:

import std;

void main()
{
    while(true)
    {
        string enemy1 = readln().strip;
        int dist1 = to!int(readln().strip);

        string enemy2 = readln().strip;
        int dist2 = to!int(readln().strip);

        // Write an action using writeln()
        writeln(dist1 > dist2 ? enemy2 : enemy1);
        // Enter the code here
    }
}

Compile source code file app.d with command
dmd app.d -lowmem

This will create an executable ./app. The switch -lowmem will reduce the memory consumption due to the 768 Mb limit.

2 Likes

D-lang takes 23 place in TIOBE rating https://www.tiobe.com/tiobe-index/
upper than Lua, Haskel, Kotlin, F#, Rust and Bash that u support already.
installation is just run 1 script and no dependents https://dlang.org/install.html
script will download files and set some ENV-vars.
just try install it and if something other will break forget it (with such comment here)

and add some dumb for all clashes and tests
import std.stdio, std.math, std.conv, std.typecons, std.algorithm;
void main() { auto line = readln(); }

IMO this is not too much. just make a one try to install please

1 Like

Thanks, I fully aggree, it doesn’t make sense to exclude D which is also even included in GCC 9.
I just noticed, the D coding is even properly formatted in the forum.

I updated my example and added the code for the onboarding example.
( With latest dmd, you can import complete std.* by just writing import std; )

1 Like

Please vote for D here