Ответы пользователя по тегу C++
  • Стоит ли в качестве первого языка программирования выбирать C++?

    @cap_nemo
    Не рекомендовал начинать изучения ЯП с C++. Дело в том, что С и С++ разрабатывались для того, чтобы "упростить" ассемблер и повысить скорость написания кода, при этом сохранив его эффективность. Многие ключевые особенности С и С++ связаны с адресацией, ссылками, указателями. Понять как это устроено проще всего после изучения ассемблера. А вот стоит ли его изучать сейчас? Он запросто может отбить охоту к программированию :-)

    ЯП - всего лишь механизм решения задач
    Так то оно так, только каждый язык имеет свои структуры и парадигмы программирования, которые влияют на эффективность решений. Так или иначе ЯП влияет на образ мышления при решении проблем, как и обратно. Если вы привыкли все делать тяп-ляп, то С++ этого не любит, а если вы педант, и любите планировать - то С++ отличный язык для вас.

    Если Вам интересно программирование, то надо себе задать вопрос - а для чего оно вам? Для работы, хобби?
    Для работы лучше, вероятно Java, для хобби - Python. В любом случае, попробуйте понять парадигму ЯП и почитать про нее. К примеру, JAVA - это ООП, и очень хорошая книга по этому поводу под авторством Г.Буча. Только она академичная и способна усыпить любого после прочтения 50 страниц подряд :-) После понимания идеологии - вам будет проще всего понять заложенные в язык конструкции.
    Ответ написан
    Комментировать
  • Как писать кроссплатформенные приложения на C++?

    @cap_nemo
    На GTK писать под С++ не очень удобно, так как GTK предназначен для С.
    Остальной выбор не очень велик из того, что Вы сами нашли: QT или WxWidgets. Многие могут и будут рекомендовать QT и это не плохой выбор. У этой библиотеки есть существенный момент - это его лицензия и ее стоимость. Если Вы инди-разработчик, то для вас это может стать потенциальной проблемой в будущем. WxWidgtets хорошая библиотека и у нее более гибкая лицензия, есть русская документация (перевод) - поэтому я рекомендую ее. В качестве среды разработки могу рекомендовать CodeBlocks. Она сама использует WxWidgets, и работает под Windows и под Linux. В ней так же есть конструктор GUI интерфейсов для WxWidgets. Тот же Codeblocks позволяет настроить различные компиляторы, в том числе и для Arduino и подобных процессоров.
    В качестве компилятора - лучше не использовать Visual C, так как он может запросто отходить от стандартов языка, это обычная практика Microsoft. Лучше писать под Linux, так как там по субъективным впечатлениям компиляция осуществляется быстрее в 1,5-2 раза чем на Windows для небольших приложений. С Андроидом все сложнее, так как чтобы в нем писать на С++ надо сильно постараться. Для Андрода есть другие решения, только с ними тоже не все просто из-за лицензий и т.п.
    Ответ написан
    5 комментариев
  • Какие есть хорошие онлайн ресурсы по изучению С++?

    @cap_nemo
    Если хотите научиться писать на с++, то читайте книги отечественных авторов. Безусловно, полно классических книг иностранных авторов. Только для начала изучения лучше взять книги, которые учитывают российский менталитет. Иначе Вы рискуете тем, что вам забьют голову терминами типа "инкапсуляция", "полиморфизм" и другими страшными ругательствами, так и не объяснив их сути. Лучше разобраться в элементарных понятиях, и тогда вы почувствуете мощь С++ по сравнению с другими языками [может быть за исключением ассемблера :-) ]. А в качестве справочника по библиотекам, хороший ресурс этот.
    Ответ написан
  • Как пишется анализатор трафика c++?

    @cap_nemo
    Комментировать
  • Как правильно разпарсить условные выражения?

    @cap_nemo
    Можно исходный текст разбить на токены, написав для этого небольшие классы. Примеров и рецептов полно в интернетах.
    Можно использовать уже готовые элементы лексического анализа из библиотеки www.boost.org/doc/libs/1_60_0/libs/spirit/doc/html...
    Или классика: yacc+lex.

    В вашем случае грамматика очень простая, поэтому имеет смысл самому написать классы токенизации. Скорее всего, готовые есть уже в Qt.
    Ответ написан
    Комментировать