Здравствуйте, Vitaliy_www, Вы писали:
V_>Народ, мне нужно написать о разнице в контроле типов в етих двух языках, где лутше... где хуже, чем ето лутше, чем хуже... выскажыте свои мнения об етом! Спасибо!
И С++ и Pascal статически-типизированы.
В то же время Pascal в большей степени сильно-типизированный язык (но не в такой степени, как Java, Python или С#).
C++ же в большей степени слабо-типизированный язык (хотя и не в такой степени, как C).
Здравствуйте, Андрей Коростелев, Вы писали:
АК>Здравствуйте, Vitaliy_www, Вы писали:
V_>>Народ, мне нужно написать о разнице в контроле типов в етих двух языках, где лутше... где хуже, чем ето лутше, чем хуже... выскажыте свои мнения об етом! Спасибо!
АК>И С++ и Pascal статически-типизированы. АК>В то же время Pascal в большей степени сильно-типизированный язык (но не в такой степени, как Java, Python или С#). АК>C++ же в большей степени слабо-типизированный язык (хотя и не в такой степени, как C).
Вот это заявочки среди голивуда .
Здравствуйте, vasmann, Вы писали:
V>Я не удивлюсь если они прикрутят еще "недо-шаблоны" к Делфе, это будет нечто.
Шаблоны обещают, я уже видел синтакисис. Правда Они ещё не пришли к единой идее, как их правильно обявить.
ЗЫ. Отвечать самому себе — прикольно!
OV>ЗЫ. Отвечать самому себе — прикольно!
Это да, редактировать я не научился .
V>>Я не удивлюсь если они прикрутят еще "недо-шаблоны" к Делфе, это будет нечто. OV>Шаблоны обещают, я уже видел синтакисис. Правда Они ещё не пришли к единой идее, как их правильно обявить.
Можно глянуть на синтаксис этих шаблонов. Неужели они тоже будут для рекордов? Если да, то может они наконец прикрутят к рекордам конструкторы/деструкоторы? Дадут возможность для рекорда обьявлять член-функции? Дадут модификаторы прав private/public/protected — вообще старнный и не понятный для меня? И тогда будет Селфи++ ?
Я в восторге. Или они предложат рядом с рекордами делать свободные функции, которые на вход будут принимать первым параметром указатель на рекорд? . Мдя. Смешно.
А как по мне — так большая чувствительность за кодом. А для Си++ специально понаделывали разным чекеров, а то разработчик забыл случайно уничтожить переменную или создал в стеке и возвратил return'ом V>Мне все больше кажется что эту модель выбрали просто насло С++ — типа хоть чемто будет отличаться, в то время как в С++ мы имеем все механизмы нам необходимые V>нужна ссылка? Получите &.
в делфи тоже никто не мешает — @ и всё V>нужен поинтер на обеькт — получите и распишитесь
тоже никто не мешает V>нужен обьект который урет при разрушении стека — получите.
мне никто не мешает это через интерфейсы намутить. V>И отсюда ж сколько прелестей вытекает.
И скоко же гадости.
Здравствуйте, OdesitVadim, Вы писали:
OV>Здравствуйте, vasmann, Вы писали:
OV>убейте, не вижу я преимущества в том что мне в каждой функции писать такое: V>>
OV>А как по мне — так большая чувствительность за кодом. А для Си++ специально понаделывали разным чекеров, а то разработчик забыл случайно уничтожить переменную или создал в стеке и возвратил return'ом V>>Мне все больше кажется что эту модель выбрали просто насло С++ — типа хоть чемто будет отличаться, в то время как в С++ мы имеем все механизмы нам необходимые V>>нужна ссылка? Получите &. OV>в делфи тоже никто не мешает — @ и всё V>>нужен поинтер на обеькт — получите и распишитесь OV>тоже никто не мешает V>>нужен обьект который урет при разрушении стека — получите. OV>мне никто не мешает это через интерфейсы намутить. V>>И отсюда ж сколько прелестей вытекает. OV>И скоко же гадости.
Можно о гадостях?
Также фраза понравилась "интерфейсами намутить" — потому как именно намутить, и сами интерфейсы намученыб костылями вкручены в язык.
Про обьект который забыли удалить? — Смарт поинтер спасет.
В общем я не хочу с вами спорить, серьезно, у меня есть мое мнение на эту тему, оно мое, и навязывать доказывать — я не хочу. Я знаю что могу решить задачу эффективнее на С++ -я решу, на Делфе — решу, на питоне — тоже решу, не проблема эта. Просто в любом языке есть свои + и -, меня единственное что сдерживает в Делфи = то что считается что в Делфе быстрее разрабатывать — ха ха — ГУЙ — вот что быстро разрабатывать и ВСЕ, это все его преимущества.
Серьезно. Прошу меня простить за то что начал спорить с вами, не хочу войн, не хочу ссор и отстаиваний своих точек зрения — мне удобно и там и там и там, хочется большего и лучшего — и никто ж этого не запрещает.
Спасибо.
Здравствуйте, vasmann, Вы писали:
V>Здравствуйте, OdesitVadim, Вы писали:
OV>>Здравствуйте, vasmann, Вы писали:
V>>>Круто, хоть что-то чем нечего . OV>>Ну а вы так хотели, что бы у нас было на уровне 90. V>А вы считаете граблявое, костылявое решение лучше заранее заложенного элегантного в язык? V>Я нет.
То что оно плохое — ваше мнение. А на данный момент сказано, "ребята, мы тут фичу новую прикрутили. Потестите, отпишитесь. А потом введём как новую возможность языка". V>Вы считаете что та перегрузка операторов которую смогли вкрутить/ввертеть борманци в делфи это та перегрузка которую дает стандарт С++? Не смешите.
О святой стандарт. почти ни один компилятор не следует ему. Вот нашёл к примеру пакость, хочу узнать почему так. Смотрю в стандарт. Там написано что то. А на самом деле разработчики "незаметили" или "истолковали по своему". Ну и зачем стандарт???
К тому же стандарт пишет горстка людей. А вдруг они ошибаются? V>Как я уже отписался выше — все кривости растут из референсной модели которая ничего, не то чтобы ничего а ВООБЩЕ НИЧЕГО положительно в себе не несет, кроме как гемороя. Но это ж раздел уже священных воин.
Ваше надуманое мнение и термин. V>И главное — с этим можно жить и как не странно можно програмить.
На си тоже. И странно, даже это делают.
Здравствуйте, OdesitVadim, Вы писали:
OV>Здравствуйте, vasmann, Вы писали:
V>>Здравствуйте, OdesitVadim, Вы писали:
OV>>>Здравствуйте, vasmann, Вы писали:
V>>>>Круто, хоть что-то чем нечего . OV>>>Ну а вы так хотели, что бы у нас было на уровне 90. V>>А вы считаете граблявое, костылявое решение лучше заранее заложенного элегантного в язык? V>>Я нет. OV>То что оно плохое — ваше мнение. А на данный момент сказано, "ребята, мы тут фичу новую прикрутили. Потестите, отпишитесь. А потом введём как новую возможность языка". V>>Вы считаете что та перегрузка операторов которую смогли вкрутить/ввертеть борманци в делфи это та перегрузка которую дает стандарт С++? Не смешите. OV>О святой стандарт. почти ни один компилятор не следует ему. Вот нашёл к примеру пакость, хочу узнать почему так. Смотрю в стандарт. Там написано что то. А на самом деле разработчики "незаметили" или "истолковали по своему". Ну и зачем стандарт??? OV>К тому же стандарт пишет горстка людей. А вдруг они ошибаются? V>>Как я уже отписался выше — все кривости растут из референсной модели которая ничего, не то чтобы ничего а ВООБЩЕ НИЧЕГО положительно в себе не несет, кроме как гемороя. Но это ж раздел уже священных воин. OV>Ваше надуманое мнение и термин. V>>И главное — с этим можно жить и как не странно можно програмить. OV>На си тоже. И странно, даже это делают.
Стандард лучше тем — что он есть, чего нет в Делфе. Это тоже для меня не мало важно. Я не хочу следовать принципу — мне тут бабка нашептала — на заборах х.. тоже пишут, но это ж ничего не значит.
И я так и не услышал минусов не референсной модели.
Здравствуйте, vasmann, Вы писали:
OV>>ЗЫ. Отвечать самому себе — прикольно! V>Это да, редактировать я не научился .
V>>>Я не удивлюсь если они прикрутят еще "недо-шаблоны" к Делфе, это будет нечто. OV>>Шаблоны обещают, я уже видел синтакисис. Правда Они ещё не пришли к единой идее, как их правильно обявить.
V>Можно глянуть на синтаксис этих шаблонов.
Найду ссылку, не забуду -отпишу. Но всё равно раскритикуете, потому что они либо будут похожи на С++ (тогда "нагло содрали") либо непохожи (тогда "это же ужос, лучше бы сделали похожими на С++") V>Неужели они тоже будут для рекордов? Если да, то может они наконец прикрутят к рекордам конструкторы/деструкоторы?
К рекордам врядли. Они просто добавлят класам перегрузку операторов. V>Дадут возможность для рекорда обьявлять член-функции? Дадут модификаторы прав private/public/protected — вообще старнный и не понятный для меня? И тогда будет Селфи++ ?
Вы на С++ классы никогда не писали? там всё это есть — private/public/protected. V>Я в восторге. Или они предложат рядом с рекордами делать свободные функции, которые на вход будут принимать первым параметром указатель на рекорд? . Мдя. Смешно.
почём трава, где брали???
V>Можно о гадостях?
я написал. Утечки памяти, которые можно только отладчиком, да и то не всегда отследить.
Я писал выше. Читайте. V>Также фраза понравилась "интерфейсами намутить" — потому как именно намутить, и сами интерфейсы намученыб костылями вкручены в язык.
Как по мне то нормально сделаны. а "намутить" — потому что так никогда не делают. Ну не нужно оно в делфи — идиология другая. V>Про обьект который забыли удалить? — Смарт поинтер спасет.
Костыль? V>В общем я не хочу с вами спорить, серьезно, у меня есть мое мнение на эту тему, оно мое, и навязывать доказывать — я не хочу. Я знаю что могу решить задачу эффективнее на С++ -я решу, на Делфе — решу, на питоне — тоже решу, не проблема эта. Просто в любом языке есть свои + и -, меня единственное что сдерживает в Делфи = то что считается что в Делфе быстрее разрабатывать — ха ха — ГУЙ — вот что быстро разрабатывать и ВСЕ, это все его преимущества. V>Серьезно. Прошу меня простить за то что начал спорить с вами, не хочу войн, не хочу ссор и отстаиваний своих точек зрения — мне удобно и там и там и там, хочется большего и лучшего — и никто ж этого не запрещает. V>Спасибо.
Простите и меня за спор(?). И пусть модераторы не обижаются на нас.
Нас учили не спорить, а вести дискусию. Хотя разница между ними мала.
Здравствуйте, vasmann, Вы писали:
V>Стандард лучше тем — что он есть, чего нет в Делфе. Это тоже для меня не мало важно. Я не хочу следовать принципу — мне тут бабка нашептала — на заборах х.. тоже пишут, но это ж ничего не значит.
Мы ещё диспутируем?
Страндарт нужно соблюдать. Для делфи он тоже в хелпе описан. V>И я так и не услышал минусов не референсной модели.
Мне непонятен этот термин. И какая же модель в С++. И какие есть вообще.
Здравствуйте, OdesitVadim, Вы писали:
OV>Здравствуйте, vasmann, Вы писали:
OV>>>ЗЫ. Отвечать самому себе — прикольно! V>>Это да, редактировать я не научился .
V>>>>Я не удивлюсь если они прикрутят еще "недо-шаблоны" к Делфе, это будет нечто. OV>>>Шаблоны обещают, я уже видел синтакисис. Правда Они ещё не пришли к единой идее, как их правильно обявить.
V>>Можно глянуть на синтаксис этих шаблонов. OV>Найду ссылку, не забуду -отпишу. Но всё равно раскритикуете, потому что они либо будут похожи на С++ (тогда "нагло содрали") либо непохожи (тогда "это же ужос, лучше бы сделали похожими на С++")
То что они нагло содрали — меня это никак не будет волновать, ибо будет практичным. (если будет конечно) V>>Неужели они тоже будут для рекордов? Если да, то может они наконец прикрутят к рекордам конструкторы/деструкоторы? OV>К рекордам врядли. Они просто добавлят класам перегрузку операторов.
К классам? Классно. А как же референсная модель? А как быть в случае если опереатор должен вернуть ссылку на обьект класса? Тот же оператор сложения "+", должен вернуть ссылку на результат, что подразумевает что внутри этого опереатора будет создавастья новый обьект, и все бы ничего, если бы не одно но
type
TMyClass=class
private:
//private memberspublic
class operator add(left, right: TMyClass) : TMyClass;
end
..
class operator TMyClass.add(left, right: TMyClass) : TMyClass;
begin
Result := TMyClass.Create; //ВАЖНОend;
//и теперь где то в коде имеемvar
a, b, c, d: TMyClass;
...
begin
...
a := b + c + d; //Имеем лик, ах да, вы можете посоветовать вкрутить костыль с подсчетом ссылк :))) :))) Ню ню, а травка действительно хороша
...
end;
V>>Дадут возможность для рекорда обьявлять член-функции? Дадут модификаторы прав private/public/protected — вообще старнный и не понятный для меня? И тогда будет Селфи++ ? OV>Вы на С++ классы никогда не писали? там всё это есть — private/public/protected.
Я говорил про модификаторы для рекордов, это конечно если внимаетльно читали. V>>Я в восторге. Или они предложат рядом с рекордами делать свободные функции, которые на вход будут принимать первым параметром указатель на рекорд? . Мдя. Смешно. OV>почём трава, где брали???
Здравствуйте, OdesitVadim, Вы писали:
OV>Здравствуйте, vasmann, Вы писали:
V>>Можно о гадостях? OV>я написал. Утечки памяти, которые можно только отладчиком, да и то не всегда отследить. OV>Я писал выше. Читайте. V>>Также фраза понравилась "интерфейсами намутить" — потому как именно намутить, и сами интерфейсы намученыб костылями вкручены в язык. OV>Как по мне то нормально сделаны. а "намутить" — потому что так никогда не делают. Ну не нужно оно в делфи — идиология другая. V>>Про обьект который забыли удалить? — Смарт поинтер спасет. OV>Костыль? V>>В общем я не хочу с вами спорить, серьезно, у меня есть мое мнение на эту тему, оно мое, и навязывать доказывать — я не хочу. Я знаю что могу решить задачу эффективнее на С++ -я решу, на Делфе — решу, на питоне — тоже решу, не проблема эта. Просто в любом языке есть свои + и -, меня единственное что сдерживает в Делфи = то что считается что в Делфе быстрее разрабатывать — ха ха — ГУЙ — вот что быстро разрабатывать и ВСЕ, это все его преимущества. V>>Серьезно. Прошу меня простить за то что начал спорить с вами, не хочу войн, не хочу ссор и отстаиваний своих точек зрения — мне удобно и там и там и там, хочется большего и лучшего — и никто ж этого не запрещает. V>>Спасибо. OV>Простите и меня за спор(?). И пусть модераторы не обижаются на нас. OV>Нас учили не спорить, а вести дискусию. Хотя разница между ними мала.
Давайте уж в одном месте дискутировать.
OV>А как по мне — так большая чувствительность за кодом.
чувствительность за кодом — это новое понятие такое?
расширяемость, сопровождаемость, чувствительность
А для Си++ специально понаделывали разным чекеров, а то разработчик забыл случайно уничтожить переменную или создал в стеке и возвратил return'ом
В Delphi тоже можно забыть удалить переменную или вернуть указатель на локальную record.
V>>нужен обьект который урет при разрушении стека — получите. OV>мне никто не мешает это через интерфейсы намутить.
Получится через одно место. Задача интерфейсов — это поддержка COM. Они не очень предназначены для другого использования. Требует наследования от TInterfacedObject или ручной реализации IUnknown.
Еще сам себе отвечу )
Я не ярый противник Делфи и приверженец С++, и также не на оборот. Я лояльно отношусь к тому и другому. С++ я вижу практичнее и удобнее в плане понимания языка, потому как на С++ можно говорить а не писать, на делфе увы нужно писать и понимать что пишешь, о разговоре можно забыть (это естесвенно все абстракции).
Здравствуйте, vasmann, Вы писали:
V>К классам? Классно. А как же референсная модель? А как быть в случае если опереатор должен вернуть ссылку на обьект класса? Тот же оператор сложения "+", должен вернуть ссылку на результат, что подразумевает что внутри этого опереатора будет создавастья новый обьект, и все бы ничего, если бы не одно но V>
V> type
V> TMyClass=class
V> private:
V> //private members
V> public
V> class operator add(left, right: TMyClass) : TMyClass;
V> end
V>..
V>class operator TMyClass.add(left, right: TMyClass) : TMyClass;
V>begin
V> Result := TMyClass.Create; //ВАЖНО
V>end;
V>//и теперь где то в коде имеем
V>var
V> a, b, c, d: TMyClass;
V>...
V>begin
V> ...
V> a := b + c + d; //Имеем лик, ах да, вы можете посоветовать вкрутить костыль с подсчетом ссылк :))) :))) Ню ню, а травка действительно хороша
V> ...
V>end;
V>
Интересненький пример. Но они умные, что нибуть придумают. Например так
class operator TMyClass.add(right: TMyClass) : TMyClass;
begin
Result := TMyClass.Create; //ВАЖНО? Уже не надоend;
Хотя не знаю. Увидим что они придумают. V>>>Дадут возможность для рекорда обьявлять член-функции? Дадут модификаторы прав private/public/protected — вообще старнный и не понятный для меня? И тогда будет Селфи++ ? OV>>Вы на С++ классы никогда не писали? там всё это есть — private/public/protected. V>Я говорил про модификаторы для рекордов, это конечно если внимаетльно читали.
А я же написал, что теперь в делфи между класами и рекордами разница незначительная. Просто в си для рекордов (извените, структур) видимость всегда одна — public.
V>>>>Дадут возможность для рекорда обьявлять член-функции? Дадут модификаторы прав private/public/protected — вообще старнный и не понятный для меня? И тогда будет Селфи++ ? OV>>>Вы на С++ классы никогда не писали? там всё это есть — private/public/protected. V>>Я говорил про модификаторы для рекордов, это конечно если внимаетльно читали. OV>А я же написал, что теперь в делфи между класами и рекордами разница незначительная. Просто в си для рекордов (извените, структур) видимость всегда одна — public.
Неправда. Она по-умолчанию public. Но можно и так написать:
OV>Интересненький пример. Но они умные, что нибуть придумают. Например так OV>
OV>class operator TMyClass.add(right: TMyClass) : TMyClass;
OV>begin
OV> Result := TMyClass.Create; //ВАЖНО? Уже не надо
OV>end;
OV>
OV>Хотя не знаю. Увидим что они придумают.
Вот именно — они будут думать что придумать в этом случае, как бы его прикрутить, и будет тот же маразм что и с интерфесами (IUnknown) V>>>>Дадут возможность для рекорда обьявлять член-функции? Дадут модификаторы прав private/public/protected — вообще старнный и не понятный для меня? И тогда будет Селфи++ ? OV>>>Вы на С++ классы никогда не писали? там всё это есть — private/public/protected. V>>Я говорил про модификаторы для рекордов, это конечно если внимаетльно читали. OV>А я же написал, что теперь в делфи между класами и рекордами разница незначительная. Просто в си для рекордов (извените, структур) видимость всегда одна — public.
Не нужно путать тему, тема была ... С++ и Делфи — заметьте не Си а Си++ — это два разных языка со схожим синтаксисом. И Очень важно не путать их вместе.
В Си++
struct/class одно и тоже с одним различием struct по умолчанию член-данные public; class — private все — это все отличие.
Как может быть не значительная разница между обьектами за временем жизни которого следит компилятор по средствам стека (рекорды в делфе) или программер через удаление обьекта из кучи (естественно если его там создали), и программер через прямой целенаправленного вызова деструктора? Я схожести не вижу.
Думаю если сделают рекорды в делфе полноценными классами — от этого никто не пострадает, даже выиграют, если сделают нормальный синтаксис — то может наконец люди поймут что С++ НЕ ЗЛО , и плюнут на Делфи и пойдут в том направлении (С++) в котором уже не один 10 лет люди кропотливо настраивают язык под цели и программиста .
В общем возможна ситуация что делфи сама себя и похоронит с равноправием рекорда и обьекта . Это мое мнение. Но плюсов в этом будет больше чем минусов — если это сделают нормально.
И еще один ответ на свой же вопрос
Ну вы приведете минусы не референсной модели?
Поясню — в делфи рефернсная модель — любой обьект представляется только ссылкой, за временем жизни следит только программист (исключение составляют классы реализующие интерфейс IUnknown, там зависит от того как сделал программер что делать в случае обнуления кол-ва ссылок, да и вообще считал ли он эти ссылки — короче жалкое подобие смарт поинтеров).
Не рефернсная модель — это С++.
За временем жизни следит либо компилятор либо программер в зависимости от создания обьекта (либо в стеке либо в куче) — небольшая вольность, развязывающая руки и демонстрирующая колосальную мощь — я могу решать как погибнет обьект, от моей руки или от руки компилятора .
Это элемнтарнейшее сравнение.
OdesitVadim wrote:
> V>Стандард лучше тем — что он есть, чего нет в Делфе. Это тоже для меня > не мало важно. Я не хочу следовать принципу — мне тут бабка нашептала — > на заборах х.. тоже пишут, но это ж ничего не значит. > Мы ещё диспутируем? > Страндарт нужно соблюдать. Для делфи он тоже в хелпе описан.
Делфи выпускается одной конторой, а С++ стандарт выпущен одной конторой, а туева хуча реализаций этого стандарта
различными конторами. Такая проблема есть практически во всех продуктах жизнедеятельности информационных технологий,
созданием которых занимается несколько контор.
Если уж сравнивать с делфи, то надо сравнивать не С++, а, скажем, MSVC, "стандарт" которого очень хорошо расписан в msdn
и поддерживается на ура.
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай