Languages update

Please, update Free Pascal to 3.3.x I cannot work with dynamic arrays

@_CG_Simon: Next opportunity upcoming; let’s update that GCC to something that actually supports C++20 (and put the switch to c++23 at the same time) for fall challenge '24! I know it’s not quite as easy as a command-line switch, but surely you have your build containers dockerised? I’d think it should be doable within a couple of hours to setup a new build environment, no?
You know, this is a real-world issue. I’m currently hiring a C++ engineer, and we’re about to start the coding interviews. Our code-base is actively using many recent C++ features, and so a main question to the candidates is how they can handle that. You guessed it, we’re not using CoderPad for our interviews. (Also: C++ Online IDE & Code Editor for Technical Interviews is grossly self-inconsistent; it mentions three different compiler versions, and two different versions of the standard - none of which is recent enough for us).

1 Like

Hello, the following languages have been updated:

  • C# (.Net 6 => .Net 8)
  • VB Net (.Net 6 => .Net 8)
  • F# (.Net 6 => .Net 8)
  • Java (17.0.8 => 21.0.4)
  • Javascript (Node: 16.14.2 -> 20.9.0)
  • Typescript (TS: 4.6.3 => 5.6.2 ; Node: 16.14.2 -> 20.9.0)

These updates are live on CodinGame (runtime + language server), so dive in, and let us know if you spot any regressions!

11 Likes

Nice! (a bit sad there’s no Go update though)
Could you update the Help Center accordingly?

Any information on that?

I have not heard anything. The current compilation times are not quite as abysmal any more, but still not good: about 12 s for an almost empty program, as compared to 2 s for Java, so still unusable for CoC.
@_CG_Onora, do you have more info?

PHP 7.3.9 was released 5 years ago and is unsupported for almost 3 years (2 years and 9 monthes exactly).
Any chance to get an update soon ? :wink:

6 Likes

@ _CG_dhubleur: Any chance we get a modern C++ compiler for the winter challenge? Something like gcc 14 or clang 19? Also, please enable C++23.

1 Like

Hey, the Simon’s answer is still relevant and, unfortunately, this migration is, for the moment at least, not planned.

That’s a pity. Just for reference, Simon’s answer was to an enquiry made two contests (i.e. half a year) ago. In Spring, I did still participate normally, but in autumn, I only participated marginally; i.e. whatever I could do in python, but no C++.

Given that CoderPad’s whole business-model seems to be centered around providing an online sandbox tor programming languages for coding interviews, I’d have expected them to have a modern DevOps infrastructure to continuously deliver language updates. It should need as little as a Dockerfile to setup each toolchain, with which you could hand-off compilation jobs to a Kubernetes cluster using k8s-run or similar. Then, a manual toolchain update would be as simple as a two-line change in a dockerfile, and a bit of web-scraping could fully automate that. Contact me privately, if you want me to build a proof-of-concept for you. I might even do it for free (except a bit of insider information on the next contest - just kidding ;-).

PS; In autumn, I hired a C++ engineer for my team for which I would have loved to use CoderPad, but couldn’t, because the C++ one can write on this platform here bears little resemblance with the code we write in my company.

Thanks for your suggestion, work is well underway to enable us to modernize our execution stack and thus facilitate language updates. Unfortunately, as Simon said, there’s much more impact on the products than we can see on the surface, and it takes time. But believe me, we’re all looking forward to delivering it

2 Likes

I would add that it’s not just about running the code:

  • It needs to be able to running thousands of codes in parallel
  • It needs to prevent any user from being able to impact others users (cpu, memory and disk)
  • It needs to prevent any user from doing unwanted stuff (mining bitcoin, using it as a DDOS tool…)
  • It needs to unsure fairness between users (in terms of memory, cpu and disk)
  • It needs to be able to respond quickly to the client
  • It needs to limit the resources it needs so the company doesn’t go bankrupt

We currently rely on a system built by hands which is pretty good at respecting those constraints, at the cost of a higher maintenance effort. A new more modern system will eventually come when it’ll be ready.

Kubernetes is indeed a good candidate to build a solution on though, but it still have downsides and limitations that needs to be circumvented.

Feel free to suggest anything you feel like is relevant to help us, but keep in mind that’s something that was already deeply investigated.

7 Likes

I would also like an update to the Dart SDK if possible. Thank you developers!

What’s the chance of upgrading rust to the latest edition - 2024 and version 1.90

9 Likes

+1 to the previous speaker. I am interested in learning rust. The outdated standard library is a pain.

1 Like

Hi, I’m doing the spring challenge in Dart (learning CPU profiling and tooling) and the currently supported version is very old (before 3.0). Until now, I tweaked the code (removing switch expressions, List.fold, …) but there is still a big miss: Records (data structure perfectly suited for the challenge).
Would it be possible to update dart version to last stable release (or anything above 3.0) ?
Thanks

Could you please add an arbitrary precision math library crate to Rust ? Some solo puzzles are very hard to complete without such lib and some other languages have similar support included (mostly coming from their standard library).
E.g. add this to cargo.toml if you are using cargo internally.

[dependencies]
num-bigint = "0.4"

arbitrary precision float support would be even better, but bigint would already help a lot.

1 Like

Absolutely right. Although the problem is also in moderation. Contributions are not checked for solvability in all programming languages ​​on the platform.

For some reason they don’t use cargo…
But one of the things that makes Rust awesome is how easy it is (in normal code) to add a library. It would be great if codingame helped us out, it would be nice to have some crates like the rust playground, some may not be appropriate but others definitely belong.

Hello, would it be possible to update from java 21 to 25 ?

Java 25 changes a lot and basically allows classless files, IO class to replace Scanner and modules imports.
All those changes are perfect for something like codingames. And the fact that you need to write less code also makes it better for certain challenges.