Пожалуйста, прочтите новое правило об ограничении использования AI-инструментов. ×

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

Автор SyFy, 14 лет назад, По-русски
1) Есть ли веские причины переходить на Шарп на контестах?
2) Ожидается ли на КодФорсе не Моно Шарп?

Спасибо за внимание и ответы.
  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится

14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Это дело вкуса. Но я с Java расставаться не планирую)
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Стоит ли переходить с C++ на Java? ))
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Зачем куда то переходить? Может просто стоит посмотреть на возможности языка и самому понять - надо оно тебе или нет и может просто добавить в свою "копилку" знание ещё одного языка?
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Просто вопрос немного рассмешил. Про C# писал SkidanovAlex, по-моему.
      А какие библиотеки явы разрешены на соревнованиях?
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Точно запрещено любое сканирование директорий, то есть библиотека:

        java.file

        На моей памяти вроде ничего и никогда не приходилось использовать, что могло дать Security Violation. Если только попытка случайно прочитать файл со входными данными при условии, что чтение с консоли :)

        Помнится на одном из контестов жюри дало задачу на шифрование, а слова для словаря "как бы должны быть даны". Наша команда ни о чем не подозревая пыталась открыть файл со словарём прямо на сервере, а оказалось, что этот файл был доступен только на самих локальных машинах. А за работу с файлами на сервере система якобы должна выдавать Security Violation.  Помню удивление одного из жюри, когда мы его спросили - Почему наша программа не может найти файл и получает RE.

        Почему мы не получили сразу SV он так и не смог объяснить... 

        Ах эта Java :)

        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Скорее всего причина в том, что их системка (РГАТА'овская, ты же вроде о четвертьфинале прошлого учебного года говоришь вроде =)) написана на яве. В этом году у них как тоже какие-то проблемы были, именно с явой: автор быстро бегал и что-то исправлял. =) В итоге всё заработало через короткое время. =)
          • 14 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится

            В этом году помню, как нам один из жюри говорил, как "припухли"  все, когда наша команда первая протащила задачу про Ханойские башни на Java со временем около 0.9 из 1 сек :)

            Ты уверен, что их система написана на Java? Весьма странно иметь проблемы с языком, если ты сам нём пишешь. У меня другая информация.

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

              Вроде бы Михаил Копачев говорил, что именно на Яве.

      • 14 лет назад, # ^ |
          Проголосовать: нравится +5 Проголосовать: не нравится
        Вопрос вполне осмысленный, в плане того, что с точки зрения возможностей языка C# практически является надмножеством Java, однако сред разработки для него меньше. So tradeoff must be made.
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Если есть студия, важно ли количество сред разработки?
          Студия очень мощная среда. И в C# проблемы с отладчиком, который уходит в реализацию STL, как в С++, нету. В C# очень крутой отладчик в студии.
          Короче это не проблема в данном случае - Visual C# Express бесплатный, качаем, радуемся.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Переходить нет смысла, потому что нигде кроме codeforces C# нормально не поддерживается.
Про "не моно C#" очевидный вопрос (который мне задали когда я спрашивал тоже самое) - а чем моно плох? Я пишу все последние контесты тут на C# и не вижу проблем с моно.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    На топкодере нормально поддерживается.

    Mono C# во-первых, медленнее MS.NET, а во-вторых, желающих писать у себя в MSVS больше и им предпочтительнее сдавать на том же компиляторе, что установлен у них.

    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Я не считаю, что C# поддерживается нормально, если в нем нет Linq :о) На TopCoder очень старая версия C#.
      Конечно, кодячить можно и на том, что есть. Оно не хуже чем Java получается, например. Но без Linq, без var, кодячить на C# менее приятно. И зачем - я хочу юзать всю функциональность.
      Например, на отборочных на TopCoder в этом году я буду писать на С++. На отборочных на GCJ - однозначно на C#.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Про Моно - все-таки тут принципиальный момент
      В С++ различия в компиляторах часто очень критичны. Есть много случаев, которые компилируется в одном и не компилируются в другом, на которые можно нарваться по незнанию
      В C# я лично пока не встречал случая, когда мой код, написанный в студии (замечу - в 2010, то есть даже в другой версии .NET) не скомпилировался бы тут. Кроме SortedSet - но это новая фишка .NET 4.0, и полностью мой фол тогда с ним был.
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Пробовал кстати использовать BigInteger в 2010 Студии с 4.0 НЕТом, но не хочет.
        Не подскажешь в чем дело?
        Читал правда, что класс BigInteger сняли так как были обнаружены кое-какие дефекты в реализации, но так ли это в действительности?
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          а ты using прописал соответствующий?? просто я пробовал - работает
          • 14 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            А перед этим еще add reference
          • 14 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            using System.Numerics <- у меня такого даже нет...
            юзаю 2010 студию, ставил 4.0 .NET
            может где в настройках студии надо что-то прописать?
            • 14 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              Ты когда создаешь проект убедись что установлено в 4.0
              http://img96.imageshack.us/img96/5142/fw4k.png
              Ну и потом в проекте references -> add references...
              Выбираешь вкладку .NET и там ищешь System.Numerics
              Вот тогда уже и можно будет написать using System.Numerics;
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          а ты using прописал соответствующий?? просто я пробовал - работает