Форум: "Потрепаться";
Текущий архив: 2002.08.22;
Скачать: [xml.tar.bz2];
ВнизОбъясните пожалуйста насчёт С++ Найти похожие ветки
← →
cyborg (2002-07-25 09:17) [0]Не профессионалам прошу не беспокоиться!
Скажите пожалуйста, правда не знаю, везде вижу говорят что С++ гибче ОбжектПаскаля, профессионалы объясните пожалуйста, в чём эта гибкость заключается?
← →
Lord Warlock (2002-07-25 09:23) [1]я не профессионал, но скажу как писавшие и на том и на другом, есть и свои + и свои - для различных задач. расписывать не буду, про это писано много.
← →
cyborg (2002-07-25 10:06) [2]Да я как раз и спросил что бы расписали мне что за гибкость такая, я не задаюсь челью развести опять тут что круче, просто хочу знать что за гибкость такая! Все говорят гибче, гибче, а чем и как гибче никто не может сказать.
>про это писано много
Где писано, не видел такого, один трёп только?
← →
Виктор Щербаков (2002-07-25 10:16) [3]cyborg © (25.07.02 10:06)
Просто OP и C++ несколько отличаются.
Скажем в С++ есть переопределение операций, множественное наследование, а в OP нет.
Но с другой стороны, в OP есть много удобных встроеных типов (String, Dinamic Arrays, Sets), интерфейсы...
Так что в большинстве случаев гибче то, что лучше знаешь.
← →
Anatoly Podgoretsky (2002-07-25 10:24) [4]Пишут, на заборах и сараях, попрой войти и посмотреть
← →
kull (2002-07-25 10:33) [5]А я скажу просто о том, что бы мне хотелось перенести в Object Pascal из C++:
1. Множественное наследование.
2. Шаблоны функций и классов.
3. Макросы
4. статические члены классов (да и вообще статические переменные)
5. Такие фишки как: дружественные функции и дружественные классы.
Ну и еще может что...
Вот это добавило бы "гибкости".
← →
id_privin (2002-07-25 10:38) [6]
> Но с другой стороны, в OP есть много удобных встроеных типов
> (String, Dinamic Arrays, Sets), интерфейсы...
В С++ есть STL. И вообще пожалуй все кроме шаблонов в из C++ в OP можно реализовать. Правда мороки будет больше чем пользы.
← →
MBo (2002-07-25 10:42) [7]Псевдошаблоны для D от Rossen Assenov и Joanna Carter видели?
← →
Igorek (2002-07-25 10:50) [8]То, чего нет в языке С++, а есть в ОР реализовано в виде библиотек. Можно даже подобие самого ОР реализовать в рамках С++. А то, чего нет в ОР, а есть в С++ никакими библиотеками не реализуешь, а если реализуешь, то настолько криво и запутанно, что оно того не стоит. Поэтому С++, как язык, на порядок мощнее. Я стараюсь быть максимально обьективным, так, как поработал достаточное время с обеими.
← →
cyborg (2002-07-25 11:05) [9]Мда-а-а... как всё запущено... я безнадёжен и испорчен Паскалем :)...
Сколько новых слов, скажите пожалуйста что такое шаблоны функций, дружественный функции и классы?
И если можно ма-а-аленький пример кода, что бы нельзя на паскале сделать такое, что бы понятно мне было, буквально пару строчек.
← →
Алексей Петров (2002-07-25 11:21) [10]> Igorek © (25.07.02 10:50)
А как на C++ реализовать виртуальные конструкторы? И прочие вещи, связанные с class of ...?
только "если реализуешь, то настолько криво и запутанно, что оно того не стоит.", т.е. через отдельный ClassFactory.
И еще из той же оперы: виртуальный абстрактный классовый метод - в Delphi - можно, в C++ - Не переводится.
Но фичей "наоборот" конечно больше. Мне самому в Delphi больше всего не хватает template и inline.
← →
cyborg (2002-07-25 11:24) [11]Вот что скажу почему я за Паскаль взялся, просто Бейск был на английском, и документации вообще никакой не было, и вводить номера строчек тоже муторно как то было, затем был Клиппер, документции то же никакой не было, благо он на русском языке, я его ковырял неделю, и забросил, затем мне купили книгу по ТР6.0, но компилятора не было, да и был я тогда полным ламером :), даже стыдно говорить как я пытался делать программы, но потом по стечению обстоятельств один человек узнал что у меня есть книжка и принёс ТР 6.0, и прежде чем я начал что-то понимать в нём, прочитал эту книгу 3 раза, из знакомых никого программистов не было, в школе тогда нас не учили этому делу, и компьютеров в школе-то не было, но потихоньку всётаки разобрался в паскале только с помощью той книги, она у меня и сейчас есть, знакомому дал, вся такая потёртая, бумага как тряпка стала :),одним словом хорошая книга, хотя щас в неё гляну, те проблемы которые мне казались тогда сейчас кажутся смешными и сделать, как раз плюнуть, потом мне подарили книгу программирование под виндоуз на С++, но компилятора не было, сейчас вот в тумбочке лежит, и вот теперь зная Паскаль не хочу/не могу начать учить С++, как то не тянет на это дело, хотя компиляторов теперь достать не проблема, да и интернет очень большую помощь оказывает. Вот потихоньку подумываю за Ассамблер взяться, к тому же в Дельфи Ассамблер не плохой, может посоветуете какую документацию почитать на русском языке, для начинающих, в интернете, или может у кого есть?
← →
Дмитрий Баранов (2002-07-25 11:56) [12]>>И если можно ма-а-аленький пример кода, что бы нельзя на паскале
Насущное неудобство - например, нельзя экземпляр класса в стеке создать. Часто забываю деструктор вызвать, отсюда утечки. Неудобно.
← →
Ally (2002-07-25 13:06) [13]
> kull © (25.07.02 10:33)
Дружественность классов в ОР реализована - в пределах одного модуля все объявленные классы являются дружественными...
← →
NailS (2002-07-25 13:30) [14]
> Дмитрий Баранов © (25.07.02 11:56)
> >>И если можно ма-а-аленький пример кода, что бы нельзя
> на паскале
> Насущное неудобство - например, нельзя экземпляр класса
> в стеке создать. Часто забываю деструктор вызвать, отсюда
> утечки. Неудобно.
Используй интерфейсы ;)
← →
[NIKEL] (2002-07-25 17:14) [15]2
Дмитрий Баранов © (25.07.02 11:56)
>>И если можно ма-а-аленький пример кода, что бы нельзя на паскале
Насущное неудобство - например, нельзя экземпляр класса в стеке создать. Часто забываю деструктор вызвать, отсюда утечки. Неудобно.
Почитайте про интелектуальные укзатели - поможет...
← →
Дмитрий Баранов (2002-07-25 17:20) [16]>>[NIKEL] ©
Читал, но вообще-то я про Делфи говорю...
← →
Digitman (2002-07-25 17:52) [17]>cyborg
Главные преимущества OP, реализованного в Делфи - простая воспринимаемость, очевидность и наглядность исх.кода, однозначность операторов и операций, четкая ориентация всех средств на быстрое создание высокоэффективного прикладного ПО, высокоскоростная однопроходная (!) компиляция, весьма конкурентноспособный оптимизатор результирующего исп.кода...
Если все это тебе надоело, или ты не видишь этих явных и неоспоримых преимуществ OP, или ты решил повергнуть себя исключительно в "дебри" системного программинга - ну что ж, есть смысл углубиться в тот же C/C++ ... дабы оценить все "утраченное" потом, со стороны, по достоинству)...
Хотя, imho, по-любому, в C/C++ и TASM/MASM оч.желательно было бы ориентироваться, и уже хотя бы потому, что порой единственным источником инф-ции о неких, ну совершенно необходимых и срочных для использования в OP-проекте интерфейсах являются заголовочные файлы, "сверстанные" изначально именно для этих языков/языковых сред.
← →
DiamondShark (2002-07-25 18:13) [18]Блин, ну почему всегда рядом с Ц/Ц++ появляются слова "системный програминг". Что там такого системного?
← →
Suntechnic (2002-07-25 18:58) [19]>Digitman © (25.07.02 17:52)
Я аж слезу пустил :). Как, оказывается, я много в жизни потерял программируя на С++...
Ну а если автора вопроса действительно инетересует большинство из того, что так красиво описано в параграфе 1, то я бы смотрел бы в сторону .NET и C#
← →
cyborg (2002-07-25 19:06) [20]>Если все это тебе надоело, или ты не видишь этих явных и
>неоспоримых преимуществ OP
Мне не надоело, просто захотелось узнать чего я лишаюсь в Паскале.
Мой мозг уже загажен процедурами и функциями, begin и end, думаю до С++ я не дотяну, а вот за ассамблер хотелось бы взяться, но документации не имею, верней есть у меня документация, но не для начинающих по ней мне вникнуть трудновато. Мне нравится Паскаль и кажется что это самый лёгкий и удобный язык.
Вот ещё один маленький вопрос возник, для С++ есть бесплатные компиляторы, а есть ли такие от Борланда для Паскаля, что бы под win32?
← →
DiamondShark (2002-07-25 21:04) [21]2 cyborg
Ну от Борланда Вы вряд ли дождетесь бесплатного компилера (разве что на толкучке ;) ) а вот бесплатный не от борланда есть -- Free Pascal. Мало того что под Win32, так еще и под *nix и DPMI. Язык похож на дельфевый ОП.
А в Паскале, поверьте мне на слово, Вы ничего не лишаетесь. Так что уж если считаете его легким и удобным, то и не стоит смущаться.
← →
Anatoly Podgoretsky (2002-07-25 21:20) [22]cyborg © (25.07.02 19:06)
Дельфи 6 Персонал Едишн
← →
drpass (2002-07-25 21:47) [23]Бесплатно и от Borland:
Delphi 6 Personal
C++Builder 6 Personal
Kylix 2 Open
Одно условие - нельзя писать коммерческие проги.
А что касается "фишек" С++ - ну в чем-то гибче этот язык, ну и что? Приведите реальную задачу, которая на С++ решается легко, а на ОР (или хотя бы убогом VB) с трудом? Все разговоры о превосходстве того или иного языка - чушь. Просто программист, привыкший решать задачу средствами С++, некомфортно чувствует себя среди правил Паскаля, точно так же привыкший к Паскалю программер будет путаться и напрягаться, если его пересадить за компилятор С++.
А знать С++ нужно. Даже если он не будет твоим основным языком, все равно нужно понимать, что пишут другие. Точно так же нужно уметь читать и писать Java-программы и проги на VB.
← →
evgeg (2002-07-25 21:49) [24]> Ну от Борланда Вы вряд ли дождетесь бесплатного компилера (разве что на толкучке ;)
Borland С++ 5.4 (тот, что в билдере используется)
← →
evgeg (2002-07-25 21:54) [25]Допустим, захотел человек писать на C++ под Windows.
Что использовать?
Visual C++ -- там стандарт не полностью реализован, зато всяких своих штучек, дублирующих возможности стандарта до хрена. MFC -- пример как не надо писать программы на C++.
Borland C++ Builer - построен на VCL, добавлены возможности OP,
опять же дублирование, две модели классов -- все равно придется писать, как на Паскале -- так не лучше ли сам OP и использовать?
Поправьте, в чем неправ.
← →
vuk (2002-07-25 22:07) [26]Кстати, тут вот Kylix3 вышел. Так там, судя по описанию, Delphi и Builder в одном флаконе - сделали единую среду разработки для двух языков. Что-то мне подсказывает, что под Win будет то же самое...
← →
Suntechnic (2002-07-25 22:15) [27]>evgeg © (25.07.02 21:54)
>Допустим, захотел человек писать на C++ под Windows.
>Что использовать?
Если человек решил писать на C++ по Windows он садится и пишет причём не важно на каком средстве... а то что где-то что-то через одно место реализовано.... дык недостатков везде хватает, и Delphi как среда из этого правила не исключение. Я вот лично ещё десять раз подумаю писать на Visual C++ с недостаточной подержкой стандарта или трахаться с установкой копмонент в проект, который кто-то когда-то написал на Delphi, а мне сказали его поддерживать. Тот кто-то, натаскал компонент из Инета и слепил проект, а ты теперь попробуй его у себя на машине открыть....
← →
vuk (2002-07-25 22:15) [28]Тьфу ты! Не вышел, а анонсирован... Ну в общем понятно...
← →
987 (2002-07-25 22:21) [29]Да, много умного узнал... Но всё-таки паскаль продуманнее. В Си, с его всеми наворотами программы почему-то пишутся гораздо дольше. А Паскаль очень красив и лаконичен. Чего стоит хотя бы "end." - красота!!! И зачем, например, создавать объекты в стеке? Дельфи их сам где надо создаёт. А хочется экстрима - можно там на Асме писать.
← →
evgeg (2002-07-25 23:06) [30]> трахаться с установкой копмонент в проект, который кто-то когда-то написал на Delphi, а мне сказали его поддерживать. Тот кто-то, натаскал компонент из Инета и слепил проект, а ты теперь попробуй его у себя на машине открыть....
А на VC сумете построить проект, использующий отсутствующие библиотеки? Описанный вами случай -- проблема не Дельфи, а организации.
← →
Suntechnic (2002-07-25 23:24) [31]>evgeg © (25.07.02 23:06)
Ну не скажите. На VC эти библиотеки включены в проект и этого достаточно. На Delphi же компоненты не являются частью проекта.
← →
evgeg (2002-07-25 23:42) [32]> Suntechnic
Что в VC обязательно каждую используемую библиотеку включать в проект?
← →
Suntechnic (2002-07-25 23:55) [33]>evgeg © (25.07.02 23:42)
А как вы собираетесь использовать библиотеку, которая не является частью проекта? Вам как минимум надо дать ссылку на заголовочный файл в проекте и включить в проект lib файл вот ваша библиотека и стала частью проекта. И перенос этого проекта на другую машину не представляет труда; достаточно скопировать проект. А как максимум вам надо иметь исходники библиотеки которые тоже будут являтся частью проекта... Или вы знаете как использовать библиотеки в VC не включая в проект? Тогда поделитесь знаниями с общественностью.
Ну а как это организовано в Delphi и какая задница вас там ожидает я думаю мне вам объяснять не стоит...
Безусловно всё зависит от принятых правил в организации, но если бы все и всегда подчинялись првилам и писали бы совершенные исходные коды, то на земле давно бы наступил коммунизм :)
← →
evgeg (2002-07-26 00:01) [34]Это то чтоже, lib надо в папку проекта копировать? Для каждого проекта свой lib? Если так, то неудобно это очень, а если нет -- то не вижу, чем проще копировать такой проект.
Да и просто включать библиотеку в проект каждый раз -- неудобно как то. То ли дело Дельфи -- кинул компонент на форму -- и готово.
← →
Suntechnic (2002-07-26 00:12) [35]>evgeg © (26.07.02 00:01)
>Это то чтоже, lib надо в папку проекта копировать? Для каждого проекта свой lib?
Я вам описал самый экстремальный случай. Так что не волнуйтесь, для каждого проекта вам lib не потребутся. Обычно проекты включаются в Workspace и идут вместе с исходниками. А на счёт копирования.... дык вы обычно копированием и занимаетесь когда пытаетесть использовать совместны ресурс.
>То ли дело Дельфи -- кинул компонент на форму -- и готово.
Готово, это если у вас на машине этот компонент есть, а если его нет, то здравствуй большая Ж... А уж если это был компонент сторонннего разработчика, да ещё и без исходников, да ещё и написанный под другую версию Delphi... вообщем вы меня поняли :)
← →
Billy (2002-07-26 01:12) [36]Странно, что перечисляя плюсы С++ (извините за тавталогию :) ), никто не упомянул о такой замечательной вещи, как адресная арифметика. За одно только это можно влюбиться в этот язык. Конечно всё это можно делать и средствами ObjectPascal"я, но геморрой с Ptr и иже с ним почему-то нагнетают жуткое уныние :). Ну и еще упомянутые макросы, inline-функции... К томуже фигурную скобочку поставить занимает в 5 раз меньше времени, чем написать begin :). Из минусов Ц крест-крест - очень не хватает оператора with и порою код получается черезчур "загруженным". Но последнее - это уже наверно вина не языка, а моя.
← →
Dmk (2002-07-26 01:46) [37]Зато господин Billy вашу скобочку видно в 5 раз хуже.
А вот продолжение банкета: http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1027393590&n=3
← →
Billy (2002-07-26 02:46) [38]2Dmk
Я отнюдь не заявляю что Delphi скоро накроется медным тазом и "по базам данных ее заменит Oracle" :-) . Просто в попытке объяснить автору вопроса, почему Ц называют гибким языком и в чем его приемущества создал о себе мнение, что я противник OP. Так вот, я категорически заявляю, что я не являюсь противником Паскаля и наоборот отношусь к нему сугубо положительно! А то, что скобочку видно плохо, так это уже проблеммы лично твои и твоих глаз :). Тем более, что если грамотно делать отступы, то разницы в читаемости кода не чувствуется.
← →
Dmk (2002-07-26 03:20) [39]Тьфу Тьфу Но зрение у меня пока 110 процентов. :) Текст С более нечитабелен чем текст Pascal. Я думаю это его единственный недостаток. Хотя если иметь монитор дюйма так 22 и подобрать шрифт нормальный ... Все может быть.
← →
Billy (2002-07-26 03:30) [40]Ну у меня монитор 13,8" и я сишный код читаю легко... Хотя конечно Паскалевский текст читать легче, спорить не буду. Тут скорее дело в привычке. Поначалу тоже гляну на сишную программу - мама родная! А сейчас ничего, намандрыкался, читаю как книгу. Детективчик эдакий :)
← →
Dmk (2002-07-26 03:45) [41]У меня 21" :) Я тоже читаю Сишный код легко. Но Pascal"евский еще легче. Кстати в Builder"е C код тоже легко читается. Грамотно Borland подсветку операторов сделали.
← →
Billy (2002-07-26 03:55) [42]А вот Билдер я вообще не переношу. По моему уж если С++ - дак MS Visual C++, но никак ни это чудо в перьях - изврат одновременно над двумя языками программирования. В попытке соединить несовместимое у уважаемого Борланда получилась программа, которая из всех своих приемуществ имеет только грамотную подсветку :).
← →
Dmk (2002-07-26 04:01) [43]Пойду я спать однако :o
← →
Billy (2002-07-26 04:06) [44]И это правильно! У меня-то уже 7-й час ночи %) в связи с этим всё сказанное мной выше предлагаю считать полусонным бредом и не воспринимать всерьез. всем peace and love :) спокойной ночи
← →
cyborg (2002-07-26 09:04) [45]К томуже фигурную скобочку поставить занимает в 5 раз меньше времени, чем написать begin
Ну не скажите, это ведь ещё Shift держать нужно :), а так, у меня уже автоматом набираются слова: привет, begin и end :).
Anatoly Podgoretsky © (25.07.02 21:20)
Дельфи 6 Персонал Едишн
Вроде тут говорилось что он 100$ стоит?
← →
DiamondShark (2002-07-26 10:52) [46]Не знаю как другим, а лично мне "гибкость" Ц++ кажется излишней избыточностью:
main()
{
1;
2;
3;
"I"m a cool hacker";
}
Формально правильная прога на Ц
← →
[NIKEL] (2002-07-26 11:47) [47]
Тьфу Тьфу Но зрение у меня пока 110 процентов. :) Текст С более нечитабелен чем текст Pascal. Я думаю это его единственный недостаток. Хотя если иметь монитор дюйма так 22 и подобрать шрифт нормальный ... Все может быть.
Это смотря кто как пишет... чистая стилистика, если человек не умеет писать - то и на Паскале его проги ты с трудом прочитаешь
И причем тут, что легче писать begin чем { ??? это вы так шутите наверно? :) (в принципе если уж так привыкли define begin {; и т.д)
А мен билдер нравиться, и не вижу я в нем ничего плохого. Вижу реальную среду, не уступающую дельфи(а превосходящая), и имеет в своей основе универсальный, великолепно, до мелочей, продуманный язык. Большее число программистов в Дельфи сейчас переходит на C++ Builder
DiamondShark © (26.07.02 10:52)
Не знаю как другим, а лично мне "гибкость" Ц++ кажется излишней избыточностью:
main()
{
1;
2;
3;
"I"m a cool hacker";
}
Формально правильная прога на Ц
Это чё такое??? :) Опять шутите ;]
← →
Игорь Шевченко (2002-07-26 12:08) [48]И не надоело вам ? :-)
Оба языка одинаково хороши - и Object Pascal, и C++ - успокойтесь. Ни в одном из нет упора на что-то "системное", все, что можно написать на одном из них, можно написать на другом (по функциональности, разумеется), за примерно одинаковый срок.
← →
DiamondShark (2002-07-26 12:40) [49]>>[NIKEL] © (26.07.02 11:47)
>>Это чё такое??? :) Опять шутите ;]
Ничуть. Скопируйте и компильните. Даже запустится.
← →
[NIKEL] (2002-07-26 13:48) [50]
DiamondShark © (26.07.02 12:40)
>>[NIKEL] © (26.07.02 11:47)
>>Это чё такое??? :) Опять шутите ;]
Ничуть. Скопируйте и компильните. Даже запустится.
да я шучю же (читайте смайлики);]
я конечно понимаю что это смотриться странно, но такие вещи ни кто не пишет, язык допускает очень причудливые конструкции, но ведь в этом и дело, если с умом подойти то получаеться очень гибко...
если интиресно, то вот это тоже синтаксически(<- здесь может быть ошибка :]) правильная программа:
main()
{
; ;; ;; ;; ;
; ;; ;; ;; ;
; ;; ;; ;; ;
; ;; ;; ;; ;
; ;; ;; ;; ;
; ;; ;; ;; ;
}
← →
Игорь Шевченко (2002-07-26 13:53) [51][NIKEL] © (26.07.02 13:48)
Это и на паскале будет работать
begin
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
end;
← →
VuDZ (2002-07-27 01:57) [52]как человек не трезвый скажу, что С++ мне нравиться гораздо больше, из-за.... не знаю, своей сложности, обманчивой простоты, гибкости... хез...
накидать компоненты это конечно круто, но сколько кода приходиться писать вручную для серьёзного софта....
однако with иногда сильно не хватает...
> Но с другой стороны, в OP есть много удобных встроеных типов
> (String, Dinamic Arrays, Sets), интерфейсы...
а в С++ есть STL... шаблоны это вообще вещь, если речь не стоит о скорости...
и вообще, хватит флеймить.
автору темы - купи или скачай Б. Страуструпта любую его книгу о С++ и читай и сравнивай...
← →
int64 (2002-07-27 03:10) [53]Люди спорят по поводу begin end и {}. Общего языка не находят, каждый при своём мнении. Спорят не только здесь; на RSDN когда-то была статья, где автор утверждал, что постянное набирание begin end увеличивает время разработки программы. Вот тот ещё бред!
А после споров о таких "высоких материях", кому какое дело до STL, With, Dinamic array ...
Страницы: 1 2 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.08.22;
Скачать: [xml.tar.bz2];
Память: 0.6 MB
Время: 0.009 c