• Java vs C++. Что полезнее?

    @coodan
    Согласен с DancingOnWater. C++ - это игра в шахматы с гроссмейстером. После таких игр и только после таких понимаешь, что есть шахматы. Но это требует безумного напряжения, беспощадности к себе, времени и большого желания.

    Практичен ли С++ для говнокодерства? Нет. Он будет беспощаден. И в этой беспощадности его сила. Код, написанный идеально, будет работать идеально. Но где этот идеал? И сколько времени Вам понадобится, чтобы найти свое в С++ нуля?

    Зачем играть в шахматы с гроссмейстером, если можно легко обыгрывать соседей? И что даст Вам такая игра? К чему Вы стремитесь? На эти вопросы можете ответить только Вы.

    Вместе с тем, не совсем согласен с ним же в том, что он упоминает STL несколько пренебрежительно. Уже один только STL, но не только базовые контейнеры вместо массивов, как его обычно используют, а во всей полноте его подхода, вместе с Boost, который его концептуально расширяет - вот удар для неподготовленного сознания. И вот мощь, которую необходимо обрести тому, кто желает играть в шахматы с гроссмейстерами.
    Ответ написан
    5 комментариев
  • Java vs C++. Что полезнее?

    @DancingOnWater
    Про Java не знаю, но я расскажу про C++ и C#, даром что последний сравнивают с Java.
    Макросы, нетипизированные шаблоны, частичная реализация этих самых шаблонов, указатели, константные ссылки, константные методы, перегрузка унарных операторов, разделение памяти на стек и кучу, - это только часть того, по чем я скучаю, программируя на C#.

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

    Также стоит заметить, что C++ не заканчивается на голом синтаксисе и STL, после того как вы познакомитесь с ними перед вами откроется целый мир различных библотек. От того обилия высококласных математических библиотек, что есть на C\C++ (а первый вы совершенно спокойно можете подлинковать к проекту и использовать без проблем) у меня слюны все клавиатуру заливают. А Qt с его сигналами и слотами.... И да, не верьте, что многопоточные приложения сложны плюсах, Qt и C++11 упрощают до предела.

    А когда баловство закончится и вы поймете, что вам надо решать задачи по-серьезнее, то перед вами откроется новый мир: вы начнете изучать компилятор и узнаете много нового о его ключах и возможностях оптимизаций. вы узнаете как можно ускорить свою прогу с помощью SSE, что такое OpenMP и OpenCL.

    Да, C++ строг и беспощаден, его изучение сравни с игрой в шахматы с превосходящим по силе соперником, где любая мелкая ошибка может оказаться фатальной. Но работая на C++ (работая, а не кодя так, чтоб отвязались) вы получите гораздо больше в понимании того, как устроены It-технологии, на чем зиждются и в чем их ограничения.
    Ответ написан
    1 комментарий