Как известно майские праздники — это праздник труда и трудящихся. Поэтому 2-го мая бездельничать не пришлось (надо же соответствовать названию праздника). Встречайте новые языки на Codeforces:
- Python 3 (3.3.1)
- MS C# .NET 4
- Go (1.1 RC1)
Я даже предпринял попытку настроить Clojure, но выяснилось, что благодаря его динамической натуре и прочим AOT, простейшее решение A+B работает на нем около 1 секунды. Видимо как-то можно компилировать решения прям в байткод сразу, но пока я не разобрался. Может есть специалисты?
А пока раунд далеко я призываю вас попробовать новые языки.
С праздником!
P.S. В качестве дополнительного бонуса — Python 2 был обновлен до 2.7.4.
а в полигоне не появился python3?
Есть определенные трудности с его поддержкой. Например, язык загружаемых файлов определяется по расширению, а для Py2 и Py3, видимо, принято простое .py. Как вариант — если это Py3, то обязательно первой строкой чтобы включали
#!/usr/bin/env python3
. Ну или заставить расширение py3 ставить (это мне меньше нравится).Вторая неприятность, это то, что для сборки пакета задачи будет нужен еще и установленный Py3. А еще нельзя рассчитывать, что он в PATH (опять-таки как минимум под Windows оба интерпретатора называются одинаково
python
).Еще момент — поддержка языка в Полигоне должна быть более обдумана, чем просто добавить на Codeforces. Ведь потом с этими задачами предстоит еще долго жить и работать (возможно, будущим поколениям). Хотя Py3 выглядит правильным кандидатом.
1) достаточно проверять наличие строки python3 в первой строке входного файла.
2) над этим сейчас работают разработчики python
3) безусловно рассчитывать на то, что через 2-3 года у всех будет 3й питон, и редко у кого второй — более рационально.
Ну вроде как далеко не все и всегда ставят
#...python3
. Я посмотрел несколько случайных файлов из архивов — такого нет. Я не знаю Python, но опасаюсь вот чего — пользователь не поставит python3, на стадии проверки синтакса или даже пробных запусков код не будет палиться, а потом выяснится, что код определился как python2 и из-за этого вылезут ошибки. Такое возможно?Отлично. Кажется, Python3 был зарелизен около 4.5 лет назад. Надеюсь, скоро сделают.
Видимо да. Но семимильными шагами этот процесс не идет. Не прошло и 5 лет, как вышел Django 1.5, наконец поддерживающий Python 3. Опять же существует огромное количество кода на Python 2, которые еще долго будет использоваться. Полагаю, двум версия еще долго придется сосуществовать.
Мольбы питонистов наконец были услышаны!
Awesome !! .. .
Sweet! For a long time I've wanted a good as fall back language when Python gets too slow. Now I might just code everything in Go
Спасибо за MS C# .NET 4!
Однако, актуальная версия платформы уже 4.5 довольно давно.
Кстати, да. Я не нашел папочку вида
v4.5.что-то
вC:\Windows\Microsoft.NET\C:\Windows\Microsoft.NET\Framework
, но вот что выводитcsc
:Наверное, все работает под .NET 4.5. Тем более в установленных программах значится .NET 4.5.
Sorry, I have a question. Can there new languages solved almost problems in 2 secs and 256 megabytes memory?
It's not guaranteed. Some of these languages can work up to 10-20 times slower than C++/Pascal and I think (as Mike probably do) that split TLs is a bad idea — you should know your favorite language, with all its pros&cons, including syntax sugar and big execution time.
There's work too slow for solving many problems. But someone like Python or C# than other language so I think split TLs is good idea :D
"10-20 times slower" is definitely not about C# :)
My C++ code often takes a second to compile on my machine. I assume compile times on the judge are nearly instant and don't alter the run time.
Judge machines are rather old, and compilation takes some time. However, it is not counted in 'execution time'. Solution compiles once and then the resulting executable is being runned on a test.
Stupid question: what's your message have to do with mine?
О нет! Надо все отбросить и пускать, Pascal, C++, C, C#, Java.
УРА! Настоящий, майкрософтовский, .NET! Теперь на C# можно использовать глубокие рекурсии и все доступные в .NET коллекции, не боясь, что в mono этого нету :) Спасибо! :)
На всякий случай предупрежу. На данный момент размер стэка дефолтный (1 мб) и менять его нельзя. Надеюсь в будущем это пофиксят. Все остальное вроде работает и плюс добавили поддержку System.Numerics, т.е. теперь можно BigInteger использовать.
Спасибо! Проверил — действительно, нельзя. Эх. Будем надеяться :)
Насколько я знаю, у него всегда такое ужасное время загрузки (вроде бы, потому что он каждый раз компилирует всю свою стандартную библиотеку).
Может быть, вот эта штуковина может помочь.
Она вроде под Windows не работает. Да и персистентные JVM в условиях контеста не уверен что лучшая идея.
Does anyone know , how Codeforces manages malware programs/code ! How they have implemented SandBox ? Is the System on Windows or Linux ?
I don't know about sandboxing, but it definitely runs Windows.
It cannot self-replicate and access the internet and the file system, thats enough to make sure server is OK.
В clojure макросы очень и очень мощные. В compile time можно делать значительный препроцессинг. С этим как-то планируется бороться?
Есть же какой-то лимит на время компиляции (30 секунд?). Успеет ли за это время Clojure сделать то, что скомпилированный код на C++ делает за две секунды?
Стоило было устроиться шарпистом и разочароваться, что на кф нету майкрософтовского компилятора, как на тебе:)
Great news! Thanks!
GJ!
в Go функции ввода-вывода из пакета
fmt
работают очень медленно, даже сbufio
. Никогда ими не пользуйтесь, если не хотите получить TLИ что тогда использовать? Кстати, какую литературу можешь посоветовать по Go?
если во входных данных нет строк длиннее 65536 символов, то лучше всего
bufio.Scanner
.Никакая особая литература не нужна — язык очень простой, проще чем Си. Для начального знакомства есть http://tour.golang.org, документация по стандартной библиотеке — здесь http://golang.org/pkg/ (из нее на контестах могут пригодиться пакеты bufio, suffixarray, math, os для файлового ввода-вывода, sort и strconv)
Is it guaranteed that C# Array.Sort is implemented as Introsort or is it still Quicksort with worst case O(n2)?
It seems that it (at least the
Sort<T>(T[])
overload) uses introsort and runs in : http://msdn.microsoft.com/en-us/library/kwx6zbd4.aspxThe same article about .NET 4, not 4.5, still says it's O(n2). Which one is used here?
CF uses .net 4.5
Python 3.4.2 is available now :) please put on your system as soon as possible
By the way, CF has Python 3.4, you can check it using code:
It will say, that python is 3.4, however CF says, it's 3.3.
http://i.imgur.com/6fLNYcU.png
Yes! That's right! Thank you very much
i write simple code for an easy problem using C# but i found"Runtime error"? please any one help me??
http://codeforces.me/submissions/prog.amrayman/page/1
Not found any your submission using C#
Maybe he has more than one account?
Даёшь Kotlin! )