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).

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!

10 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_dhubleur, 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:

3 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.

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.

6 Likes