Бытует мнение что программисты перестали писать нормальный код. Они теперь только по верхушкам лазят и кричат от туда. Купи новое железо, нужно больше RAM! :)
Армянское Радио, Зачем нужен язык программирования, если на нем не писать? Дело не в количестве функция я повторяюсь. А как и где их использовать. Большинство библиотек на Си которые я смотрю. От 3 до 6 лет отроду. И люди там пишут не на ООП, потому что оно там не нужно и потому что C++ там не вывозит. Я вам приведу самый хороший пример. Смотрим на SDL2 и SFML. Смотрим прямо внутрь, а потом на производительность и качество. Надо ли говорить что SFML сделана ради ООП. Хорошая библиотека, только вот хуже аналогов на Си. Ну вот к чему я это? Так к тому что когда тебе нужно 99 функций и 1 класс. Лучше взять Си. А когда тебе нужно 99 классов и 1 функция. С++. Только это работает в целом для многих ЯП. Я немножечко утрирую. Есть читаемость кода, поддержка кода и прочее общие понятия. С++ это монстр. Сильный такой, много чего может. А Си это Левша что подковал блоху. Понимать как на Си писать другие концепции. Чуточку сложнее, чем брать и использовать готовые. Понимаете? Чем ниже слой тем сложнее. Поэтому мне и нужен Си. Потому что мне интересны графические вычисления и библиотеки. Где C++ это в большинстве случаев надстройка над ядром. Которое написано на Си / Ассемблере. Это мое сугубо личное мнение. Ваше я понял, спасибо вам за него. Хотя с вашей логикой программировать на 1/0 то очень легко. Всего две цифры.
Армянское Радио, Скажу по вашему. Ало реализация паттеров везде отличается. И понимание самого языка и его нюансов. Как раз дает понимание как лучше их использовать. А у вас Си это 5 конструкций. Ало-Ало ООП Ява и ООП С++ разные плоскости. Надеюсь мой сигнал дошел.
Армянское Радио, Я понял ваше личное мнение. Спасибо за него конечно же. Но только вот дело не в конструкциях. А в их применение избыточности или недостатке. И в разных ситуациях, на разном ЯП по разному. Си основа многих графических библиотек. И когда смотришь их изнутри, все становится не так действительно просто.
Про первое спасибо! Про второе знал, но сам не смотрел. Чем сейчас и займусь. Но если можно интересен ваш опыт от Си к С++. Вывод так сказать. Количество кода просто считаю не всегда играет ключевую роль. Да и просто ваше сугубо личное мнение. С чего начать глубокое изучение Си или С++?
Армянское Радио, Ваше сообщение из разряда, да что там его учить. 5 конструкций выучил. Как то уже абсурдно не? Безусловно С++ посложнее будет своей объемностью. Другое дело я больше за качество. ООП я не люблю, по прямо пропорциональной системе. Оно часто нарушает ту самую последовательность и логичность. Где то оно уместно, но то что писал я или читал. ООП много, толку мало. Читать код который сделан ради пометки фулл ООП. На Python / PHP это не очень приятное занятие. Этот вопрос задан именно по той причине. Что ради нескольких классов не хочется выбирать язык. Лучше поискать альтернативные походы.
Но про структурирование и ООП было смешно! Я оценил :)
Армянское Радио, Да я это понял. Но вот читать книгу по Си и по С++ одновременно. Думаю это плохо совместимо. Но я говорил немного о другом. Например информации о SDL2 на чистом Си, совсем мало. На C++ полно. Я к тому что иногда в библиотеке легче разобраться опираясь на рабочие примеры и анализируя код. Начиная понимать структуру всей библиотеки. Лично мне так. Читать сухую API без примеров. Мне тяжко. Вероятно опыта не хватает.
Если честно переходя от языков высокого уровня таких как Python / PHP / Go. В которых я все равно писал 70% кода в процедурном стиле. И читая информацию что же лучше изучить С или С++. Выпал совершенно в другую реальность. Кто то говорит можно учить оба они похожи, кто то наоборот. Кто то только одно. Выбрав интересую мне библиотеку на Си я начал писать код. Так как 90% библиотек на С++, для новичка в ООП это ад. ИМХО. Началась ломка по разным фичам из других языков. По пути пытаюсь разобраться с компилятором и прочими тонкостями. Сейчас вот тестирую поверхностно что мне удобнее. Мне нравится Си своей простотой, так как очевидно в процедурном стиле мне проще. Но есть чувство, что мне чего то не хватает. В частности даже каких то туториалов. Даже мелких плохих статей. Так же есть чувство что на 2х стульях не усидишь. Думаю может и писать по начала на Си с классами. Изучая тонкости Си, а потом С++. Но как то тоже звучит дико.
Saboteur, Спасибо за развернутый ответ! Думаю пока не стану лучше понимать Си, буду минимально использовать выделение памяти. Пока лучше не пойму этот момент.
А есть какие то издержки? Мне просто хотелось бы разобраться. Например до какой длинны строк лучше использовать такой подход. Я часто вижу когда кто то пишет что то вроде
"char msg [255]" где строка меньше. Но я так понял это просто что бы написать код, а потом уже оптимизировать.
GavriKos, У меня чистый си, я использую его для создания программы на графическом фреймворке. В теории я могу использовать C++, но его я совсем не знаю.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.