Блог пользователя MikeMirzayanov

Автор MikeMirzayanov, 13 лет назад, По-русски

Как известно майские праздники — это праздник труда и трудящихся. Поэтому 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.

  • Проголосовать: нравится
  • +216
  • Проголосовать: не нравится

»
13 лет назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

а в полигоне не появился python3?

  • »
    »
    13 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +9 Проголосовать: не нравится

    Есть определенные трудности с его поддержкой. Например, язык загружаемых файлов определяется по расширению, а для Py2 и Py3, видимо, принято простое .py. Как вариант — если это Py3, то обязательно первой строкой чтобы включали #!/usr/bin/env python3. Ну или заставить расширение py3 ставить (это мне меньше нравится).

    Вторая неприятность, это то, что для сборки пакета задачи будет нужен еще и установленный Py3. А еще нельзя рассчитывать, что он в PATH (опять-таки как минимум под Windows оба интерпретатора называются одинаково python).

    Еще момент — поддержка языка в Полигоне должна быть более обдумана, чем просто добавить на Codeforces. Ведь потом с этими задачами предстоит еще долго жить и работать (возможно, будущим поколениям). Хотя Py3 выглядит правильным кандидатом.

    • »
      »
      »
      13 лет назад, скрыть # ^ |
       
      Проголосовать: нравится +14 Проголосовать: не нравится

      1) достаточно проверять наличие строки python3 в первой строке входного файла.

      2) над этим сейчас работают разработчики python

      3) безусловно рассчитывать на то, что через 2-3 года у всех будет 3й питон, и редко у кого второй — более рационально.

      • »
        »
        »
        »
        13 лет назад, скрыть # ^ |
         
        Проголосовать: нравится +6 Проголосовать: не нравится
        1. Ну вроде как далеко не все и всегда ставят #...python3. Я посмотрел несколько случайных файлов из архивов — такого нет. Я не знаю Python, но опасаюсь вот чего — пользователь не поставит python3, на стадии проверки синтакса или даже пробных запусков код не будет палиться, а потом выяснится, что код определился как python2 и из-за этого вылезут ошибки. Такое возможно?

        2. Отлично. Кажется, Python3 был зарелизен около 4.5 лет назад. Надеюсь, скоро сделают.

        3. Видимо да. Но семимильными шагами этот процесс не идет. Не прошло и 5 лет, как вышел Django 1.5, наконец поддерживающий Python 3. Опять же существует огромное количество кода на Python 2, которые еще долго будет использоваться. Полагаю, двум версия еще долго придется сосуществовать.

»
13 лет назад, скрыть # |
 
Проголосовать: нравится +16 Проголосовать: не нравится

Мольбы питонистов наконец были услышаны!

»
13 лет назад, скрыть # |
 
Проголосовать: нравится +13 Проголосовать: не нравится

Awesome !! .. .

»
13 лет назад, скрыть # |
 
Проголосовать: нравится +7 Проголосовать: не нравится

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

»
13 лет назад, скрыть # |
← Rev. 2  
Проголосовать: нравится +7 Проголосовать: не нравится

Спасибо за MS C# .NET 4!

Однако, актуальная версия платформы уже 4.5 довольно давно.

  • »
    »
    13 лет назад, скрыть # ^ |
    ← Rev. 2  
    Проголосовать: нравится +2 Проголосовать: не нравится

    Кстати, да. Я не нашел папочку вида v4.5.что-то в C:\Windows\Microsoft.NET\C:\Windows\Microsoft.NET\Framework, но вот что выводит csc:

    C:\Windows\Microsoft.NET\Framework\v4.0.30319>csc.exe
    Microsoft (R) Visual C# Compiler version 4.0.30319.17929
    for Microsoft (R) .NET Framework 4.5
    

    Наверное, все работает под .NET 4.5. Тем более в установленных программах значится .NET 4.5.

»
13 лет назад, скрыть # |
 
Проголосовать: нравится +10 Проголосовать: не нравится

Sorry, I have a question. Can there new languages solved almost problems in 2 secs and 256 megabytes memory?

»
13 лет назад, скрыть # |
 
Проголосовать: нравится -15 Проголосовать: не нравится

О нет! Надо все отбросить и пускать, Pascal, C++, C, C#, Java.

»
13 лет назад, скрыть # |
← Rev. 2  
Проголосовать: нравится +20 Проголосовать: не нравится

УРА! Настоящий, майкрософтовский, .NET! Теперь на C# можно использовать глубокие рекурсии и все доступные в .NET коллекции, не боясь, что в mono этого нету :) Спасибо! :)

  • »
    »
    13 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    На всякий случай предупрежу. На данный момент размер стэка дефолтный (1 мб) и менять его нельзя. Надеюсь в будущем это пофиксят. Все остальное вроде работает и плюс добавили поддержку System.Numerics, т.е. теперь можно BigInteger использовать.

»
13 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Я даже предпринял попытку настроить Clojure, но выяснилось, что благодаря его динамической натуре и прочим AOT, простейшее решение A+B работает на нем около 1 секунды. Видимо как-то можно компилировать решения прям в байткод сразу, но пока я не разобрался. Может есть специалисты?

Насколько я знаю, у него всегда такое ужасное время загрузки (вроде бы, потому что он каждый раз компилирует всю свою стандартную библиотеку).

Может быть, вот эта штуковина может помочь.

»
13 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Does anyone know , how Codeforces manages malware programs/code ! How they have implemented SandBox ? Is the System on Windows or Linux ?

»
13 лет назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

В clojure макросы очень и очень мощные. В compile time можно делать значительный препроцессинг. С этим как-то планируется бороться?

  • »
    »
    13 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +9 Проголосовать: не нравится

    Есть же какой-то лимит на время компиляции (30 секунд?). Успеет ли за это время Clojure сделать то, что скомпилированный код на C++ делает за две секунды?

»
13 лет назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится

Стоило было устроиться шарпистом и разочароваться, что на кф нету майкрософтовского компилятора, как на тебе:)

»
13 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

Great news! Thanks!

»
13 лет назад, скрыть # |
 
Проголосовать: нравится -9 Проголосовать: не нравится

GJ!

»
13 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

в Go функции ввода-вывода из пакета fmt работают очень медленно, даже с bufio. Никогда ими не пользуйтесь, если не хотите получить TL

»
13 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Is it guaranteed that C# Array.Sort is implemented as Introsort or is it still Quicksort with worst case O(n2)?

»
12 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Python 3.4.2 is available now :) please put on your system as soon as possible

»
11 лет назад, скрыть # |
 
Проголосовать: нравится -14 Проголосовать: не нравится

i write simple code for an easy problem using C# but i found"Runtime error"? please any one help me??

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +27 Проголосовать: не нравится

Даёшь Kotlin! )