Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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" и я сишный код читаю легко... Хотя конечно Паскалевский текст читать легче, спорить не буду. Тут скорее дело в привычке. Поначалу тоже гляну на сишную программу - мама родная! А сейчас ничего, намандрыкался, читаю как книгу. Детективчик эдакий :)



Страницы: 1 2 вся ветка

Форум: "Потрепаться";
Текущий архив: 2002.08.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.01 c
4-71438
Izyum
2002-06-17 12:16
2002.08.22
Работа с окнами


14-71367
Eugene_Jek_Efimochkin
2002-07-10 00:40
2002.08.22
Переустановка Delphi без потери компонентов


3-71010
vib
2002-07-31 22:10
2002.08.22
Копирование


3-71064
АСУ-Антон
2002-08-01 11:27
2002.08.22
Удаление большого числа записей из БД


7-71395
Ильнур
2002-06-10 14:50
2002.08.22
Работа со сканером





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский