Languages update

It’s not super important, you can use explicit SIMD, it’s just a nightmare without libraries. But if you can enable a compiler flag to potentially gain a performance boost at no cost, might as well enable it.

1 Like

Go has been updated to 1.17.1

1 Like

Rust just released Rust 2021. Any chance of getting a new update?

3 Likes

.NET 6 just released (with C# 10). Any plans to update it?

4 Likes

Hello Thibaud, Thanks a lot for all your work!
Any chance to see a PHP update soon please? 7.3’s LTS stops December 6 anyway, and 7.4/8.0/8.1 bring many useful updates.
Thanks,

2 Likes

May I reactivate this subject: is it possible to consider adding Numba package for Python in order to improve a bit the language performance on CIG platform?

1 Like

Hey Thibaud, thanks for this awesome platform!
Would there be a chance we could see Nim (https://nim-lang.org/) added to the pool of available languages?
Cheers!

Hello @TwoSteps, is there any news on the C# update before the next context?
There are really major changes in term of languages and performances compare to the version we have available in CG which is a few major version below…

We’ll try to update the languages before the next challenge (which should happen around April-May)

6 Likes

Thanks !

If it could be done, PHP 8.1 would be very appreciated.

1 Like

This will be awesome, rust is already on to 1.59, It would be nice to get a library or two also, like ndarray or similar, this is like numpy but for rust.

1 Like

Please consider also JAVA 15 at least 17 would be great (And it’s a long term release)

Thank you

I would be happy to contribute if I can get a bit of guidance in which repository I should start from :slight_smile:

2 Likes

There is a on-going project to have a common process for the update of languages between CoderPad, CG for Work and CG.
As I wrote before, the idea is to do an update before the challenge.
We have a meeting planned next week about this. I’ll know more at that time :crossed_fingers:

2 Likes

Seconding this. Rust (and other low-level/verbose languages) would be much more attractive to me if we had access to (at minimum) a linear algebra library (I’d personally much prefer nalgebra to ndarray as it’s more mature and has stronger/math-oriented abstractions, but either is fine). For bots I’ve been copy-pasting a custom minified library, but for puzzle solutions that’s not ideal.

Currently Python has a whole suite of math libraries (NumPy, pandas, SciPy), giving it not only linear algebra but stats, interpolation, and calculus/optimization, making it by far the most attractive language in terms of terseness, but one of the least attractive in terms of performance.

Also, if you were to add Julia in the future (:crossed_fingers:), which includes a lot of that stuff as part of the standard library, Python would no longer be alone in having access to strong math abstractions. Since Julia is also far faster than Python, being JIT-compiled, many other languages would become even less attractive than they are presently.

I’d argue that since linear algebra library code is largely boilerplate and low-level, it is not something that belongs in a “solution” to a puzzle. This is also a self-described “game” programming and training site, and in the real world, linear algebra routines are simply a prerequisite in any competent game dev or scientific programming environment, and largely deferred to pre-existing libraries written by specialists (BLAS, LAPACK, CUDA, etc.) not something implemented ad-hoc or without any abstraction whatsoever.

Many public solutions are written in a hacky, confusing, non-general way just to keep their length to a minimum in the absence of math libraries.

4 Likes

The idea is still to do an update before the challenge. Not sure of the versions targeted yet. I’ll share the info when it’s done.

Rust just released 1.60 Stable. (I should also mention edition = “2021”)
I think mag.py is right about nalgebra, I just want a standard linear algebra built in, and someone said ndarray earlier.

If you happen to upgrade to php 8.1, pls also add these to the config file:

zend_extension=opcache
opcache.enable=1
opcache.enable_cli=1
opcache.jit_buffer_size=64M
opcache.jit=tracing

Since you are considering updating most of the supported languages soon, could you consider making NUMBA available for Python ? That would be great to gain a bit of efficiency.
Fingers crossed… :slight_smile:

1 Like

Could you please update Golang to version 1.18?

It would be cool to update languages a bit before contest, to fix all problems before start.

1 Like