Languages update

I’d like to reiterate the request for optimized Rust builds in the IDE.

Every challenge is a misery since the 10x + runtime factor between debug and release means you cannot replicate issues or even properly test your code in the IDE. It also means other players cannot replicate issues encountered against you as your code will immediately time out. And it means lots of useless submits since these are the only realistic way of trying your code against other people’s bots.

12 Likes

Hi @_CG_Thibaud
I would like to remind if it was possible to look into the issue with Groovy language.
Not sure if it was because of the language updates done, but it seems that I’m getting timeouts for different codes from previous contests (that were working perfectly fine) as well as the last contest (Spring Challenge), if I rerun the same exact code it works sometimes, therefore, the timeouts are random for me.
It would be great if we can investigate and try to fix it.

1 Like

Could you then update FAQ please?

1 Like

Is it still the case that C# and VB are compiled/executed by dotnet core but only for solo/multi games ?
If so, the FAQ is misleading suggesting that dotnet core is used for C# and VB everywhere.

Besides, why is F# still not using dotnet core ?

The language update always affected all kind of puzzles/multiplayers.
The only difference is that you have a release-mode compilation for multiplayer games on submit while puzzles are played in debug mode.

I’m pretty sure that it affects F# too and someone forgot to update the FAQ.

So why did @_CG_Thibaud explicitly say

and then

I just decided to print the Environment.Version at the power of thor puzzle.
C#: 3.1.3
VB. net: 3.1.3
F#: 4.0.30319.42000

The last one is clearly not a .net Core version, the other two are (you can repeat the experiment in multiplayer games. I did that for C# to get 3.1.3 again).

You’re right. The FAQ is not up to date and the switch to .net core is not complete yet. It’s been paused for now, but is still in the roadmap and currently planned for August.

The move to .Net Core is complete for C#.
Complete implementation for VB.net and F# will come in the coming weeks.

2 Likes

Hey, I’ve got a request I’m REALLY excited about! It’s been a while since I competed much, but Rust just included support for conditionals and looping constructs in const functions (similar to c++ constexpr?) and I’d absolutely LOVE to see the rust environment updated to 1.46 so I can leverage loops in const fn :smiley:

3 Likes

The move to .Net Core is now complete for VB.net and F# too :confetti_ball:

FAQ will be updated tomorrow.

4 Likes

There was a major Kotlin update recently: https://blog.jetbrains.com/kotlin/2020/08/kotlin-1-4-released-with-a-focus-on-quality-and-performance/

2 Likes

“Python 3.8 was released on October 14th, 2019

I believe there will be the language update at anniversary, right guys? :wink:

Complain about CG if you want but other AI related sites force you to use 3.7 for their contests too through their dependencies on other libraries being for specific versions only.

1 Like

Python 3.8 doesn’t bring much on the table anyway.
Most notable new features are the walrus operator and pow allowing negative numbers to compute modular inverse.

I tend to disagree.
math.comb()
math.prod()
math.dist()
math.hypot() - for more then 2D
f’{variable=}'
reversed() for dictionary
These are the ones I missed today.

I’m not complaning about CG. As a user I state what would be useful in my opinion.
“The others are as bad as we are”? - that’s your point? :wink:
Come on, let’s rise to the level of the best.

1 Like

A while ago there was mention of the fact that all the languages are basically installed together on the same OS, and that updating one can easily break another.

There was mention of a move to a dockerised infrastructure that would allow languages to be updated individually and maybe even by the community.

Has there been any progress on this?

unfortunately no, and I don’t see it happening anytime soon :frowning:
Moving to a dockerized infrastructure represents a huge rework of the code base.

1 Like

Ah, that makes a lot of sense, thanks for the context!

Is there anything the community can do to help make this happen? I loved the experience of TwoSigma’s Halite competitions where users could define almost any programming environment they wanted for the competition, and would love to get closer to that power on CodinGame. Being able to set my own compiler flags and select a Rust version would completely resolve my request above for an update to 1.46, and I imagine there are huge benefits to folks writing in other languages like setting custom JVM options for the JVM language crowd.

1 Like