
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.5] |
![]() |
|
Страницы: (117) « Первая ... 31 32 [33] 34 35 ... 116 117 ( Перейти к последнему сообщению ) |
Сообщ.
#481
,
|
|
|
Кстати, насчёт строк в Delphi хотел спросить вот что: если имеется несколько строковых переменных s1, s2, s3, ..., sn и их нужно сложить
![]() ![]() s1 + s2 + s3 + ... + sn насколько эффективно выполняется такое сложение? Для строк STL это ужасно неэффективно, поскольку каждое сложение приводит к полному копированию левой части выражения, а это очевидный overhead (имеем сложность O(n2), где n - количество слагаемых). Со строками в Delphi тоже так или там реализация похитрее? |
Сообщ.
#482
,
|
|
|
При чем тут мсявки? ![]() |
Сообщ.
#483
,
|
|
|
Цитата Астарот @ При чем тут мсявки? ![]() Астарот, расскажи-ка мне как вообще связаны С++ и кнопки? Если писать под винду без использования готовых классов/компонентов, то один фиг: и в дельфе и в С++ WinApi один и тот же. |
Сообщ.
#484
,
|
|
|
Цитата Если писать под винду без использования готовых классов/компонентов, то один фиг: и в дельфе и в С++ WinApi один и тот же. Винапи в С++ удобнее использовать, чем в делфе. |
Сообщ.
#485
,
|
|
|
Цитата Nich @ Астарот, расскажи-ка мне как вообще связаны С++ и кнопки? Если писать под винду без использования готовых классов/компонентов, то один фиг: и в дельфе и в С++ WinApi один и тот же. Nich, они связаны напрямую - это задача требующая решения. В дельфи начинающий прогер эту задачу решит достаточно просто, при чем в виде отдельного реюзабельного компонента, в си ему придется долго грызть гранит науки. |
Сообщ.
#486
,
|
|
|
Цитата Астарот @ В дельфи начинающий прогер эту задачу решит достаточно просто, при чем в виде отдельного реюзабельного компонента, в си ему придется долго грызть гранит науки. А при чем здесь язык? Бери C++ Builder -- то же самое, только вид сбоку. И будет там та же кнопка, только синтаксис другой. Мы тут не VCL vs Qt/GTK/whatever воюем. |
Сообщ.
#487
,
|
|
|
Цитата linuxfan @ А при чем здесь язык? Бери C++ Builder -- то же самое, только вид сбоку. И будет там та же кнопка, только синтаксис другой. Мы тут не VCL vs Qt/GTK/whatever воюем. Я уже говорил, что в случае рисования компонента достаточно иметь Блокнот - пиши, не хочу. Сама среда подключается только на этапе компиляции/помещения компонента в пакет. Повторяю, в данной задачке (ее даже задачей не назовешь) даже речи нет о использовании визуального программирования, или автоматического создания кода (не считать же автоматическим создаванием кода код-болванку, которую можно и самому написать. благо там строк 10 будет). В дельфи вооружившись блокнотом я такой компонент напишу очень быстро, практически сразу, как ознакомлюсь с синтаксисом. В си мне помимо ознакомления с синтаксисом языка придется продратся сквозь все навороты (а си язык ну очень навороченный), и только после этого начать думать что такое GDI, и как с ним работать... |
Сообщ.
#488
,
|
|
|
Цитата Астарот @ Цитата linuxfan @ А при чем здесь язык? Бери C++ Builder -- то же самое, только вид сбоку. И будет там та же кнопка, только синтаксис другой. Мы тут не VCL vs Qt/GTK/whatever воюем. Я уже говорил, что в случае рисования компонента достаточно иметь Блокнот - пиши, не хочу. Сама среда подключается только на этапе компиляции/помещения компонента в пакет. Повторяю, в данной задачке (ее даже задачей не назовешь) даже речи нет о использовании визуального программирования, или автоматического создания кода (не считать же автоматическим создаванием кода код-болванку, которую можно и самому написать. благо там строк 10 будет). В дельфи вооружившись блокнотом я такой компонент напишу очень быстро, практически сразу, как ознакомлюсь с синтаксисом. В си мне помимо ознакомления с синтаксисом языка придется продратся сквозь все навороты (а си язык ну очень навороченный), и только после этого начать думать что такое GDI, и как с ним работать... Дело не только в IDE. Ты забыл про библиотеку, на основе которой ты рисуешь кнопочки. Даже в рамках одного языка процесс создания кнопки будет сильно отличаться при использовании разных библиотек. |
Сообщ.
#489
,
|
|
|
Цитата Астарот @ В дельфи вооружившись блокнотом я такой компонент напишу очень быстро, практически сразу, как ознакомлюсь с синтаксисом. В си мне помимо ознакомления с синтаксисом языка придется продратся сквозь все навороты (а си язык ну очень навороченный), и только после этого начать думать что такое GDI, и как с ним работать... Навороты в Билдере в основном созданы для того, чтобы язык был больше похож на Дельфи. В остальном - не думаю, что Билдер намного сложнее Дельфи. На нем можно спокойно писать, зная только "Си с классами" ну и VCL соответственно. ![]() ![]() ![]() |
Сообщ.
#490
,
|
|
|
Оффтоперы!
Все желающие провести бенчмарк переезжаем сюда: Сравнение производительности Delphi & C++ Читаем окончательные условия. |
Сообщ.
#491
,
|
|
|
Цитата Астарот @ В си мне помимо ознакомления с синтаксисом языка придется продратся сквозь все навороты (а си язык ну очень навороченный), и только после этого начать думать что такое GDI, и как с ним работать... Позволю себе не согласиться с данным утверждением. Если говорить о языке C, а не о C++, то он очень прост. В Delphi «наворотов» гораздо больше. Взять хотя бы те же самые properties или ООП. C -- не ООП язык ![]() А вот плюсы -- да, те позапутаннее будут на много порядков. Увы, но плюсы это такой язык, который позволяет решать некоторые задачи очень элегантно, но в общем случае достаточно непонятно ![]() Чтобы убедиться в «красоте» C++ достаточно посмотреть на заголовочные файлы STL. std::* приятно использовать, но читать эти исходники лично мне еще сложнее, чем транслит ![]() |
Сообщ.
#492
,
|
|
|
Цитата linuxfan @ Увы, но плюсы это такой язык, который позволяет решать некоторые задачи очень элегантно, но в общем случае достаточно непонятно ![]() Для кого непонятно? Для того, кто не знает язык? Дык, это не смертельно. ![]() Цитата Чтобы убедиться в «красоте» C++ достаточно посмотреть на заголовочные файлы STL. std::* приятно использовать, но читать эти исходники лично мне еще сложнее, чем транслит ![]() Во-первых, есть разные реализации STL, соответственно, и код внутри разный. Во-вторых, конкретно что там неприятно? Два довода сразу отметаются: 1. Обилие знаков подчеркивания. 2. Код, который получился усложнённым вследствие получения большей эффективности (ну, например, множество внутренних многократно перегруженных функций, принимающих итераторы - для того, чтобы по разному обрабатывать разные итераторы). Всё-таки STL - базовая штука, может использоваться в очень широком классе задач, в т.ч. и весьма требовательных к скорости. |
Сообщ.
#493
,
|
|
|
Цитата Hryak @ Во-первых, есть разные реализации STL, соответственно, и код внутри разный. От SGI. Не нравится как раз отметаемыми доводами. ![]() Цитата Hryak @ Для кого непонятно? Для того, кто не знает язык? Дык, это не смертельно. ![]() Не считаю, что совсем уж не знаю язык, но 1. От обилия всевозможных видов скобок (круглых, фигурных, квадратных и угловых) рябит в глаза. Паскалевские begin и end длинне, но в силу особенностей человеческого восприятия, «перевариваются» гораздо легче 2. В C++ очень много нюансов и, чтобы не напороться на подводные камни, необходимо либо очень тщательно изучать стандарт, либо использовать максимально простые и однозначные конструкции 3. Метапрограммирование с помощью шаблонов убивает меня ![]() |
Сообщ.
#494
,
|
|
|
Цитата Alex Forth @ Дело не только в IDE. Ты забыл про библиотеку, на основе которой ты рисуешь кнопочки. Ну, ты же создавая сишный проект практически сразу пишешь инклуд что-то там, и это что-то там за тебя написал добрый дядя программист. Если уходим вообще от каких-либо библиотек, то... ну, тогда и дельфи и плюсы оказываются в глубокой ж, и начинает рулить ассемблер. Цитата linuxfan @ Если говорить о языке C, а не о C++ Ессно о плюсах, бо в теме присутствует именно С++. |
Сообщ.
#495
,
|
|
|
Цитата Астарот @ Если уходим вообще от каких-либо библиотек, то... ну, тогда и дельфи и плюсы оказываются в глубокой ж, и начинает рулить ассемблер. А чем лучше валить лес: бензопилой «Дружба» или лобзиком? Ты скатываешься к обсуждению VCL, а разнообразные библиотеки, в т. ч. и для построения GUI, никоим образом не относятся к языку. Даже более того, если при сравнении брать в расчет библиотеки, то кресты порвут Delphi, т. к. для них такие тулзы занятные есть. Хотя бы даже и bison++ ![]() |