Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.191.46.36] |
|
Страницы: (37) « Первая ... 7 8 [9] 10 11 ... 36 37 ( Перейти к последнему сообщению ) |
Сообщ.
#121
,
|
|
|
Ах, простите великодушно - сразу не опознал, что вас интересуют версии, а не как оно на самом деле. Впредь не стану вам мешать искать ту, что больше нравится. |
Сообщ.
#122
,
|
|
|
Цитата sergioK @ D_KEY В целом да если вникать в суть ,а не тупо не повторять его слишком эмоциональную фразу, Ну так чем не ответ ? Еще есть софт, который был написан изначально непрограммистами(как nginx, который писал сисадмин). Они вполне могут знать Си, в этом ничего удивительного нет. Но вот вряд ли они будут знать С++ на достаточном уровне. |
Сообщ.
#123
,
|
|
|
Давай я попробую. Смотри. Язык (любой: естественный, компьютерный) - это средство выражения мысли. Причём, правила языка определяют форму того, как эта мысль будет выражена. Используя язык в течение длительного времени (когда ты начинаешь на языке думать, а не переводить с одного на другое) язык начинает оказывать влияние на способ собственно мышления, способ формулирования, набор категорий, в которых мыслишь и т. п. Будешь использовать Haskel - начнёшь мыслить в категории чистых функций, лямбд, монад и прочего. Будешь использовать SQL - начнёшь думать в терминах запросов, связок таблиц, подзапросов и т. д. Способ структурирования программы, распределения ответственностей, работы с объектами, ресурсами, памятью... Естественно, это начинает проявляться тогда, когда язык используется достаточно долго. Отсюда и возникают явления типа "C с классами", "программировать на C# как на C++" и т. п. Привычка выражать мысли одним образом накладывает отпечаток на то, когда инструмент их выражения меняется. |
Сообщ.
#124
,
|
|
|
Это все понятно, но, ИМХО, не имеет никакого отношения к тому контексту, в котором "культура" была упомянута.
Кроме того, я считаю, что с помощью языка нужна решать задачу, а не "мыслить" на этом языке. Ну и да, си-программисты вполне способны мыслить категориями классов и объектов без поддержки со стороны языка. Подобно тому, как можно мыслить категориями тех или иных паттернов без встроенной их поддержки в языке. |
Сообщ.
#125
,
|
|
|
Цитата D_KEY @ Ну и да, си-программисты вполне способны мыслить категориями классов и объектов без поддержки со стороны языка. Ох, лучше бы они этого не делали... |
Сообщ.
#126
,
|
|
|
Цитата D_KEY @ Кроме того, я считаю, что с помощью языка нужна решать задачу, а не "мыслить" на этом языке. «Нужно» и «как оно происходит» на самом деле не всегда совпадает все же. |
Сообщ.
#127
,
|
|
|
А в чем их принципиальное отличие? Из статей с вики о них как-то не очень понял. Да и вообще - дело не в них же, а в том, что использование встроенных в C++ классов, очевидно, удобнее костылей С. |
Сообщ.
#128
,
|
|
|
Цитата korvin @ Цитата D_KEY @ Кроме того, я считаю, что с помощью языка нужна решать задачу, а не "мыслить" на этом языке. «Нужно» и «как оно происходит» на самом деле не всегда совпадает все же. +100500 |
Сообщ.
#129
,
|
|
|
Цитата korvin @ Цитата D_KEY @ Кроме того, я считаю, что с помощью языка нужна решать задачу, а не "мыслить" на этом языке. «Нужно» и «как оно происходит» на самом деле не всегда совпадает все же. Конечно не всегда. Ну так какую культуру навязывает С++, если люди на нем пишут совершенно разный код, если есть несколько "противоположных" культур его использования, если быдлокода на нем очень много, а репутация его, как быдлоязыка, не сильно отличается от php? Если бы С++ навязывал свое правильное использование, то не понадобилось бы всяким Саттерам вести всякие GoW, выпускать "сложные задачи"(которые почти все связаны с языковыми проблемами С++). Добавлено Цитата OpenGL @ что использование встроенных в C++ классов, очевидно, удобнее костылей С. Ну это как посмотреть. Унаследованный от GObject класс на С(или Vala) я могу спокойно использовать, например, в питоне(прослойка пишется один раз и работает для всех классов - т.к. gobject - это прозрачное API для ООП). С классами С++ дело обстоит очевидно не так. Задачи бывают разными А для не обобщенной реализации ООП в Си достаточно структурок с указателями на функции. И то, только когда это действительно нужно. Можешь глянуть как это делается в сырцах subversion, например. С другой стороны, можно сделать более гибкую систему, чем та, что зашита в плюсах. Да, плюсы удобнее, но не всегда И даже в этих случаях, профит от С++ не всегда перевешивает связанные с использованием С++ трудности. Я не понимаю, почему С++ нужно всегда предпочитать С. Я думаю, что все зависит от задачи, команды и перспектив развития. |
Сообщ.
#130
,
|
|
|
Цитата D_KEY @ Ну это как посмотреть Да как ни смотри - если хочешь видеть, конечно. Цитата D_KEY @ Унаследованный от GObject класс на С(или Vala) я могу спокойно использовать, например, в питоне И это выставляется как плюс? В мире Qt биндингов это рядовое событие. Цитата D_KEY @ С классами С++ дело обстоит очевидно не так Очевидно, это не для всех очевидно Цитата D_KEY @ А для не обобщенной реализации ООП в Си достаточно структурок с указателями на функции. В C++, наверное, потребуется что-то ещё? Цитата D_KEY @ Можешь глянуть как это делается в сырцах subversion OpenGL, не надо: психика, она дороже. Цитата D_KEY @ С другой стороны, можно сделать более гибкую систему, чем та, что зашита в плюсах. Покажи мне пример такой системы. А заодно покажи, почему её нельзя было сделать на C++. Добавлено Кстати, D_KEY, в соседней теме Fester наглядно показывает причину, по которой выбирают C. |
Сообщ.
#131
,
|
|
|
Цитата MyNameIsIgor @ И это выставляется как плюс? В мире Qt биндингов это рядовое событие. В отличие от Qt, gobject'у не потребовались никакие расширения языка, moc и пр. Цитата Цитата D_KEY @ А для не обобщенной реализации ООП в Си достаточно структурок с указателями на функции. В C++, наверное, потребуется что-то ещё? В С++ реализация ООП зашита. И если тебе нужно что-то большее, приходится делать moc и ему подобные дополнительные инструменты. Ну или просто заводить параллельно "еще одну" ООП-реализацию. Цитата Покажи мне пример такой системы. Да тот же GObject. Ну или что-нибудь в таком роде. Цитата А заодно покажи, почему её нельзя было сделать на C++. Можно, но в обход существующей в языке ООП-реализации. От С это будет мало отличаться. |
Сообщ.
#132
,
|
|
|
Цитата D_KEY @ В отличие от Qt, gobject'у не потребовались никакие расширения языка, moc MOC - лишь возможное решение. И оно лучше, чем переложить его работу на макрухи. Так что раз GObject'у он не потребовался, им лишь в минус. Цитата D_KEY @ и пр. Что именно? Цитата D_KEY @ В С++ реализация ООП зашита. И если тебе нужно что-то большее, приходится делать moc и ему подобные дополнительные инструменты. Ну или просто заводить параллельно "еще одну" ООП-реализацию. Т.е. таки не приходится, а является возможным решением. Цитата D_KEY @ Можно, но в обход существующей в языке ООП-реализации. От С это будет мало отличаться. Поскольку эту параллельную реализацию ООП можно делать с использованием имеющейся реализации, шаблонов и пространств имён, то разница будет огромна и исключительно в лучшую сторону. Цитата D_KEY @ Да тот же GObject. Ну или что-нибудь в таком роде. Ты шутишь? Там двести страниц. |
Сообщ.
#133
,
|
|
|
Цитата MyNameIsIgor @ Т.е. таки не приходится, а является возможным решением. Выходящим за рамки языка. Цитата Цитата D_KEY @ Можно, но в обход существующей в языке ООП-реализации. От С это будет мало отличаться. Поскольку эту параллельную реализацию ООП можно делать с использованием имеющейся реализации, шаблонов и пространств имён, то разница будет огромна и исключительно в лучшую сторону. И говорила бы о негибкости предложенной в С++ реализации ООП. Цитата Ты шутишь? Там двести страниц. Я не заставляю. Можешь не читать, вряд ли ты увидишь там что-то новое Посмотри на содержание. Добавлено Ладно, я перегибаю палку, честно говоря |
Сообщ.
#134
,
|
|
|
Цитата D_KEY @ Ладно, я перегибаю палку, честно говоря Кто ты и что ты сделал с D_KEY? |
Сообщ.
#135
,
|
|
|
Цитата OpenGL @ Цитата D_KEY @ Ладно, я перегибаю палку, честно говоря Кто ты и что ты сделал с D_KEY? Копирайт Астин забыл |