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

Автор emli, 13 лет назад, По-русски
Чем лучшее С++ от JAVA ? Стоит ли учить JAVA или C++ лучшее?
  • Проголосовать: нравится
  • -12
  • Проголосовать: не нравится

13 лет назад, # |
Rev. 2   Проголосовать: нравится -11 Проголосовать: не нравится
Не понимаю что значит стоит ли учить С++ или JAVA. Учи все. Наша команда видит длинную арифметику-переключается на явку, в основном на плюсах пишем. И так поступают почти все.
У явки полно положительных качеств, но есть врожденный порок-медлительность. То есть если в С++ с трудом уложилось решение в квадрат-на явке почти наверняка не пройдет.
  • 13 лет назад, # ^ |
      Проголосовать: нравится -16 Проголосовать: не нравится
    В олимпиаде для явы не дают отделный тайм лимит?
    • 13 лет назад, # ^ |
        Проголосовать: нравится -11 Проголосовать: не нравится
      Смотря в каких, но в основном нет. На опенкапе был какой-то этап где писалось ТЛ 2.5 и в скобках для явки 3.5. Но на официальных контестах-нет. Например позиция создателя этого сайта такая:если уж вы выбрали какой-то определенный язык программирования-миритесь с его недостатками. Иначе можно было бы писать все вообще на питоне(во всяком случае на КФ), который работает бывает в 10-20 раз медленнее но код на котором почти всегда выглядит намного проще.
  • 13 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится
    И так поступают почти все

    Серьезно? Я не веду статистику, но думаю, что в русской школе доминирующее большинство пишет на Java
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Сильно сомневаюсь что большинство в русской школе пишет на явке. И вообще имел в виду несколько другое. Переключения есть практически у всех-кто-то в основном на сях пишет, переключаясь время от времени на явку, кто-то наоборот-в основном на явке, но если нужно именно ногами запихивать в ТЛ, пишет на сях. 
      • 13 лет назад, # ^ |
          Проголосовать: нравится +6 Проголосовать: не нравится
        В моей практике что-то переписывать на си из-за ТЛ приходилось от силы 2-3 раза в год на каких-нибудь левых online-контестах, на официальных соревнованиях этого не требовалось ни разу.
        Знать второй язык несомненно полезно, но регулярно использовать 2 разных языка имхо ужасно непрактично, знать один язык идеально гораздо лучше чем 2 по-немногу
        • 13 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
          Ну, а мне явка не так часто требуется-все-таки на длинку не особо и любят давать организаторы . Опять-таки 7-8 раз в год. Не спорю что лучше. Но в то же время задавать вопрос стоит ли учить ИМХО неправильно
    • 13 лет назад, # ^ |
        Проголосовать: нравится -9 Проголосовать: не нравится
      В русской школе доминирующее большинство под словом Паскаль понимают философа.
      В лицеях еще быть может знают чем отличается функция от процедуры. Всё.
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Тут именно про русскую школу по программированию
    • 13 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится
      Именно поэтому на codeforces подавляющее большинство решений на контестах пишется на C++))).
13 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
Холивар детектед!

Вообще тайм-лимит рассчитывается так, что можно решить задачу на любом языке. Просто иногда C++ники умудряются запихивать неверные с точки зрения жюри решения (т.е. о которых жюри думало, что точно TLE будет).

Ну и еще в C++ куда больше возможностей выстрелить себе в ногу.
13 лет назад, # |
  Проголосовать: нравится -10 Проголосовать: не нравится
какие положительные качества у явы?
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Эта тема стара как мир...

    Смотри: на джаве код проверяется на ошибки по ходу написания, на джаве нельзя написать что-нибудь вроде if (a=0), у джавы хорошая стандартная библиотека. Ну и когда вырастешь, скорее всего будешь прогать на джаве или C#.

    Зато работает медленнее и объем кода в 2 раза больше.
    • 13 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится
      > Cмотри: на джаве код проверяется на ошибки по ходу написания

      Как и в С++ в нормальных средах
      • 13 лет назад, # ^ |
          Проголосовать: нравится +5 Проголосовать: не нравится
        А вот с этого места поподробнее.. Я максимум видел warning в таких случаях и то как-то в зависимости от фазы луны.
        • 13 лет назад, # ^ |
            Проголосовать: нравится +5 Проголосовать: не нравится
          Я под "код проверяется на ошибки по ходу написания" понял, что ошибки компиляции подчеркиваются сразу по ходу набора кода, без необходимости руками вызывать компиляцию. Видимо, имелось ввиду не это.
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Да, это имелось в виду.
            Но в студии же не подчеркиваются? В Саратове и Питере вот студия стоит.
            • 13 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              В 2010 подчёркивается.
              • 13 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                Не знал.
                Я просто уже давно джаву выбрал для себя и не интересовался особо, что в другом лагере творится.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Ну и когда вырастешь, скорее всего будешь прогать на джаве или C#.

      А это ты с чего взял? ;)
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Можно по-подробнее про объем кода в 2 раза больше? ) Часто слышал об этом, но ни разу не замечал этого на практике
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Под "в два раза больше" большинство понимают быстрый ввод/вывод через BufferedReader+StringTokenizer и PrintWriter
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        ну если сортить по размеру кода, то не найдется задач на CF где Джава была на первом месте хотя бы в десятке, если не считать задачи которые решили лишь несколько кодфорсесчан
      • 13 лет назад, # ^ |
        Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится
        Ну вот, например, про размер кода:

        Java:
        if (map.containsKey(key)) {
          map.put(key, map.get(key) + delta);
        } else {
          map.put(key, delta);
        }

        C++:
        map[key] += delta;

        Правда, теряется где-то секунд 15 всего. Не очень и критично.

        #define для for тоже сюда.

        И да, для ввода/вывода надо шаблон набить.
13 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Люди до сих пор ищут универсальный язык программирования. Может быть в далеком будущем такой появится.
Мне нравится С++ за его возможности работать на разных уровнях абстракции и быстро переключаться между ними.
По теме, Java или C# стоит учить в любом случае. C и С++ на свое усмотрение.
13 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Немного творчества из ЛКШ на тему. К сожалению пришлось доставать из кэша гугла. Исходной страницы почему-то нет.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Круто... Особенно перевод на английский:)
13 лет назад, # |
Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

Уж как я недолюбливаю java, но длинную арифметику приходилось писать на ней... А остальное на плюсах. 

С++ великолепен тем, что на нем можно такую чушь в ТЛ загнать, что никаким явам и не снилась. И код, конечно, значительно лаконичней.

А что по жизни больше пригодится это уж как сложится.  Плюсы и java, на мой взгляд, уже фактически устарели и будущее за языками типа питона или vala для низкого уровня. А вообще, как говорится, хороший программист должен писать на всем что шевелится =)

UPD: Что-то я про С# забыл, но это потому что я не от мира windows, а не потому что язык плохой.

  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Сомневаюсь что за ними. Не представляю себе нормальный дебаггер на хаскеле. Да и уж очень они тормозные. С++ и JAVA пока выглядят наиболее гармоничным вариантом между ассемблером и так называемыми функциональными языками
    • 13 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

      Ну, это мое мнение и мои надежды, да и примеры привел из мира gnome.  

      Про хаскель, я, кажется, ничего не говорил. Хаскель прелестен для общего развития, но всерьез писать на нем я бы постремался =) А питон вполне себе императивный язык, хотя и с зачатками функциональных фишек. И дебажить его - одно удовольствие =)

      А С++ вот именно что между. Т.е. язык максимум среднего уровня а никак не высокого по современным меркам. И еще он фактически несовместим в обратную сторону с С. Собственно, из-за совместимости я и написал vala, хотя хз еще что из нее выйдет. А под виндой эту роль, похоже, и дальше будет выполнять C/C++.

      Что касается тормознутости, то для олимпиадного программирования это проблема, а так по жизни в 90% случаев - нет. Где-то на эту тему видел замечательную фразу "use python where you can, use c where you must", хотя она не только про скорость.

      • 13 лет назад, # ^ |
          Проголосовать: нравится +5 Проголосовать: не нравится
        "Что касается тормознутости, то для олимпиадного программирования это проблема, а так по жизни в 90% случаев - нет."

        Имхо, во многом именно из-за таких мыслей современные программы жрут намного больше ресурсов, чем заслуживают.
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Ну, а с другой стороны, без таких мыслей эти программы, может быть, вообще бы не появились на свет. К тому же ресурсы современных копьютеров растут неслабыми такими темпами и вполне позволяют некоторые вольности.

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

13 лет назад, # |
Rev. 2   Проголосовать: нравится +4 Проголосовать: не нравится
Так понимаю, что суть вопроса: что лучше C++ или Java в спортивном программировании? Контрвопрос: а на чём Вы умеете программировать? Мне кажется, что так как оба языка имеют как недостатки так и преимущества по сравнению друг с другом, то лучше продолжать использовать тот язык, что уже знаешь. (Пример моей команды. В старом составе на C++ из троих писал только один, два других -- на Паскале. Попытка этих двоих в срочном порядке перейти на C++ закончилась ничем. И на Java никто не перешёл, никто не захотел учить ещё один язык.) Но быть знакомым с обоими языками желательно.

Если же суть вопроса и об обыденном программировании, то советую познакомиться как с C++, так и с Java, C# и некоторыми другими. Несмотря на синтаксическую схожесть и объектно-ориентированность языки на самом деле очень разные. В то же время ни один из них по сравнению друг с другом не является революционным, не увеличивает производительность программиста и качество разрабатываемого ПО.