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

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

Настало время, и я решил перейти из братства паскалистов (читать — синих) в братство сишников.

Посоветуйте пожалуйста, какой компилятор качать и по возможности литературу по си...

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

Буду благодарен за любые советы ...

Спасибо всем, кто отписался =) Очень признателен.

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

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

Компилятор Bloodshed Dev-C++ 4.9.9.2. Свободно распространяемый + обычно именно он стоит на компах на школьных олимипиадах.

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

Наверное, проще с Java'ой трудоустроиться.

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

    Возможно. Но C++ побыстрее, что иногда очень помогает в олимпиадном программировании.

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

    Мое очень субъективное мнение: на С++ программистов ниже спрос, чем на Java, но и предложение хороших С++ программистов гораздо ниже, чем хороших Java программистов. Мне смутно кажется, что если действительно хорошо знать С++, трудоустроиться как минимум не сложнее.

»
13 лет назад, # |
Rev. 2   Проголосовать: нравится -6 Проголосовать: не нравится

братства паскалистов (читать — синих)

Ему — tourist — это скажи.

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

    Гениальность туриста никто не отрицает =) искренне верю, что он устроится даже на блокноте =) я же со своим средним уровнем требую как минимум си==)

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

      > на паскале особо не трудоустроишься

      > верю, что он устроится даже на блокноте

      Научи меня кодить на блокноте, пожалуйста.

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

        это была похвально-ироничная идиома =)

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

        Как среда программирования блокнот очень даже ничего.

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

          Не понимаю почему заминусовали, но gEdit вполне себе неплох.

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

            gedit и блокнот — это совершенно разные вещи.

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

              Возможно. Имел ввиду "чистый" gEdit без плагинов и прочего, только подсветка синтаксиса.

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

                Вот именно. Подсветка синтаксиса, без неё грустно. Номер текущей строки/столбца. Ширина табуляции. Автоматический отступ.

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

                  Не знал, что стандартный Блокнок в Windows лишен столького. Тогда да, Вы правы.

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

                  Вставлю свои пять копеек. В седьмом классе я знал только один язык — JavaScript. Послали меня писать на нем олимпиаду районную. В качестве среды разработки использовался Блокнот, а компилятором был IE6. Так что люди, которые пишут/писали код в блокноте, есть. Подтверждаю. И у них даже есть шансы выбиться в красные :)

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

                  Желаю этим людям поскорее в них обратно вернуться:)

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

Если есть цель трудоустройства, то рекомендуется MS Visual C++, в совокупности с изучением не только Си/С++, но и собственно Visual Studio.

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

    Еще нужно добавить про удобство дебага в VS, что на ранних этапах важно.

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

По поводу литературы много сказать не могу, но вот это вроде бы неплохо: http://publications.gbdirect.co.uk/c_book/.

Бесплатные компиляторы и IDE для Windows:¹

  • MS Visual C++ Express
  • MinGW (GCC) + Code::Blocks
  • В интернете можно найти упоминания и про Dev-C++, однако это не советую, поскольку он уже много лет не разрабатывается и в поставке содержит очень старую версию GCC

¹Есть ещё и Qt Creator (в том числе и для Linux), но он более тяжеловесный.

Для Linux:

  • Компилятор — GCC (в Ubuntu надо установить пакет build-essential, в других дистрах по-другому)
  • IDE — Geany, тот же Code::Blocks, можно и просто писать код в VIM/Emacs
  • Отладка — можно через GDB, DDD или Nemiver

Самый важный совет: включать вывод предупреждений компилятора и читать их, иначе иногда можно долго думать, почему программа не работает. Для GCC надо добавлять по крайней мере параметр -Wall, для Visual Studio — /W3 (по умолчанию) или даже /W4.

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

http://www.codeforces.ru/blog/entry/43 — Java vs C++ для промышленного программирования
http://www.codeforces.ru/blog/entry/650 — С++ для начинающих
http://www.codeforces.ru/blog/entry/3753 — C++
http://www.codeforces.ru/blog/entry/4314 — с Delphi на C++

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

Рекомендую параллельно с С++ выучить еще C# и Java. Если хотите быстро выучить сразу все три — можете почитать книги Шилдта из серии "The Complete Reference" (они очень похожи друг на друга — прочитав одну, две другие Вы сможете читать по диагонали). Насчет сишных компиляторов скажу только, что, как говорится, на вкус и цвет товарищей нет. Лично я, если меня прижимает писать на С++, использую Visual Studio — после работы с графикой привык именно к ней.