Re[28]: Предложения по улучшению
От: FDSC Россия consp11.github.io блог
Дата: 15.06.05 17:43
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>FDSC wrote:


>> ЧУШЬ. ЧУШь. ЧУшь. Чушь. чушь....

>> Умные указатели в Delphi есть, прада только в строковых типах.

C> Шутка дня.


C>Читать здесь: http://en.wikipedia.org/wiki/Smart_pointer и по ссылкам.



Прочитал. Ну и что? ANSIString и т.д. типичные Smart pointer.
Re[26]: Предложения по улучшению
От: FDSC Россия consp11.github.io блог
Дата: 15.06.05 17:46
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, FDSC, Вы писали:


WH>>>В проекте на 10 метров кода будет тАкой граф...

FDS>>Чушь. Это смотря как его представить.
WH>Да хоть как ты его представляй. Всеравно утонешь в тысячах классов.

Граф можно представлять частями и т.п. Не надо мне говорить, что я утону — я видел прототип.

WH>А для тех приложений где нужен действительно сложный ГУИ то тут C++ с WTL рулят со страшной силой. Никакая дельфя с ее убогим VCL рядом не валялась ибо VCL это шаг в право, шаг в лево расстрел без права переписки.


Поверю наслово.

WH>>>А сейчас в недрах мелкософта создается очень интересный оптимизатор который можно будет расширять своими правилами.

FDS>>Откуда знаешь?
WH>http://research.microsoft.com/phoenix/

Спасибо.
Re[12]: Частота ошибок в зависимости от языка: что делать?
От: FDSC Россия consp11.github.io блог
Дата: 15.06.05 17:47
Оценка:
Здравствуйте, GlebZ, Вы писали:

GZ>Здравствуйте, Сергей Губанов, Вы писали:


СГ>>Это Вы про устаревший Turbo Pascal? Согласен, не надо больше так издеваться. Пора учить современный живой удобный нужный Component Pascal.


GZ>А у меня мелькнула мысль: а зачем их учить какому-то языку? Им бы русский выучить, и то хорошо.


Истина в первой инстанции.

Приговор окончателен. Обжалыванию не подлежит. Заседание и дело объявляю закрытым.

Re[30]: Предложения по улучшению
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.06.05 22:02
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>3)Озвереешь ловить утечки памяти. В дельфе...


Кстати, не то чтобы дофига.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[20]: Предложения по улучшению
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.06.05 23:25
Оценка:
Здравствуйте, Sinclair, Вы писали:
S>...

Все же специалист на конкретном железе всегда сделает программу.

S>Что это означает? Что асм применяют сейчас почти только те, кто пользуется некачественным компилятором. Ребята, возьмите нормальный компайлер. Это сэкономит вам сотни часов бессмысленно потраченного времени.


А вот с этим согласен. Все же тратить свою жизнь на борьбу с битами глупо.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[26]: Предложения по улучшению
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.06.05 23:25
Оценка: :)
Здравствуйте, Cyberax, Вы писали:

C>RTTI есть в С++ уже лет 10. Reflection'а нет — это недостаток, но он и

C>не нужен.

Так недостаток или не нужен?

Если серьезно, то главное приемущество Дельфи — это то что это был компонетный язык. Ну, возможно есть.

C>Именованые конструкторы — это фабрики, только интегрированные в язык

C>(уродство).

Ага. А if, for, switch это просто немного улучшенные макросы MASM-а.

C> Аргументы переменной длины в С++ не нужны


Действительно. Нафиг они если можно просто по памяти жахнуь?

C>- есть другие

C>средства (перегрузка операторов).

Да, да. Потом ожно про эффетивность поговрить... про инлайникнг. А тем временем удивляться почему:
printf("%d", myDoubleVar);

дает странные результаты.

C>Зато в Дельфи нет: умных указателей, автоматических объектов,

C>темплейтов. Дальше можно не продолжать.

Мама купит мне казу я тебе не показу. Спорьте музчины.

ЗЫ

Ночилась эра и дельфи и плюсов. Кто не спрятался... я не виноват.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[27]: Предложения по улучшению
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.06.05 23:25
Оценка:
Здравствуйте, tarkil, Вы писали:

T>Reflection это типа сериализации — сохранение/восстановление из потока? Ну кому как... Мне — нужен.


Куль! И мне такой... травы.

T>Кому как, а мне следующий вариант кажется куда как более простым и наглядным:


T>
T>// C# - подобный
T>s = new String;
T>s.Format(
T>  "Фигня на постном масле = {0}\n"
T>  "Она же, но на сливочном = {0,8:p2}",
T>  [obj.getX()]
T>);
T>foo( s );
T>


Однако не вооруженным взглядом ясно, что Дельфи (8) рулит.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[28]: Предложения по улучшению
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.06.05 23:25
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, tarkil, Вы писали:


WH>>>В С++ тоже есть RTTI. Несколько скромнее чем в дельфе но есть.

T>>Ага, несколько. "Москвич-412" он тоже несколько хуже, чем Toyota Mark II.
WH>А что такого крутого в дельфийском RTTI? Возможность перебрать свойства в published секции?

Ну, почему только свойства? И почему только в паблишь?

WH>Вот только толку от этого мало.


О... Это называется компонентным программированием. Это то что даже с мидлом и разными утилитами на С++ выглядит полной задницей. Если бы Страуструп был несколько дальновднее...

WH>А учитывая что в следующем стандарте наверняка появится compile time reflection


Гы. Мечтать не вредно. Боюсь, что в следующем стандарте будет еще больше расуждений о том, что все проблемы лучше решать в библиотеках.

WH> то дельфя будет мягко говоря нервно курить в углу.


Да, оно давно присоседилось к дотнету и курит в середине комнаты.

WH>Хотя скорее всего она не доживет ибо ее убъет .НЕТ


Тяжело умереть от собственного рантайма.

WH>Ты вобще понимаешь механику работы конструкторов/деструкторов в С++?


В дельфи конструктор действительно круче. А деструкторы... Да кому они теперь нужны?


WH>ИТОГО: Отсутствие необходимых инструментов компенсируется парой сомнительных фичек


Хорошая фраза. Подставляшь любое средство разработки и оно остаетвя в силе.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[28]: Предложения по улучшению
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.06.05 23:25
Оценка:
Здравствуйте, WolfHound, Вы писали:

FDS>>Умные указатели в Delphi есть, прада только в строковых типах.

WH>А толку? Умные указатели нужны везде. Только строки меня не устраивают.

Ты вот сейчас на дотнете пишешь. Так? И часто тебенужны умные указатели?
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[30]: Предложения по улучшению
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.06.05 23:25
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Есть всего 3 врианта

WH>1)ГЦ. В дельфе нет.

Эта... ты ничего не путашь? Купи на досуге диск с современной дельфёй.

WH>3)Озвереешь ловить утечки памяти. В дельфе...


Это есть везде. Вот только в С++ чувствуется острее всего.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Частота ошибок в зависимости от языка: что делать?
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.06.05 23:25
Оценка: +1 :))
Здравствуйте, Cyberax, Вы писали:

>> C>>Использовать мертвые, неудобные и никому ненужные языки.

>> Это Вы про устаревший Turbo Pascal? Согласен, не надо больше так
>> издеваться. Пора учить современный живой удобный нужный Component Pascal.

C>К сожалению, он не живой, ни удобный, ни современный.


Тю... всего три недостатка?
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Частота ошибок в зависимости от языка: что делать?
От: Mr. None Россия http://mrnone.blogspot.com
Дата: 16.06.05 03:17
Оценка: :))) :)
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, FDSC, Вы писали:


FDS>> ...или, вообще, придумать другой язык... Чтоб ошибок в 100 раз меньше было, ведь от средства разработки то же многое зависит.


СГ>Такой язык есть — Оберон
Автор: Сергей Губанов
Дата: 14.06.05


Ну понеслась не скажу что по кочкам... А я то всё ждал, когда это слово вновь упомянут!
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Re[18]: Частота ошибок в зависимости от языка: что делать?
От: WolfHound  
Дата: 16.06.05 06:40
Оценка: +2 -1 :)
Здравствуйте, VladD2, Вы писали:

VD>Ты оп осторожнее с ярлычками вроде демоггии. Прочитай еще раз ветку. Я заранее сказал, что "в безопасном режиме Шарпа и Яве (где другого режима нет)...".

VD>Ансэйф режим для хаков и введен. Но это не означает, что весь язык должен быть одним большим ансэйвом (хаком).
Ты всетки объясни мне какая разница между ЯВНЫМ обходом тапизации и unsafe.

VD>Думаю ты представляшь как на том же Шарпе в безопасном режиме написать очень даже эффективный контейнер.

Для value типов нет.
VD>Значит таки можно жить без хаков на каждом шагу?
Так ведь и в С++ нормальные люди без хаков живут. А те хаки которые есть скрыты под мощьной защитой.
VD>А ведь чем человек не опытнее, тем его больше тянет на подвиги. И без разумного контроля — это приводит к очень неприятным резултатам.
Не разумные товарищи и на шарпе дров наломают... поверь мне я знаю о чем говорю. Последствия конечно будут не столь разрушительны как на С++ но легче от этого не становится.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[31]: Предложения по улучшению
От: WolfHound  
Дата: 16.06.05 06:40
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Эта... ты ничего не путашь? Купи на досуге диск с современной дельфёй.

Толку то от этой дельфи... какой смысл ее использовать? В лучшем случае ее ожидает судьба J#'а.

VD>Это есть везде. Вот только в С++ чувствуется острее всего.

Я знаю ты мне не веришь но у меня их нет. Что я делаю не так?
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[19]: Частота ошибок в зависимости от языка: что делать?
От: WolfHound  
Дата: 16.06.05 06:40
Оценка:
Здравствуйте, VladD2, Вы писали:

WH>>Тут ты тоже явно обошол защиту. Так что...

VD>Какую?
Дурака выключи.
VD>Я просто пользовался штатными возможностями языка.
unsafe тоже вполне себе штатная возможность языка.
VD>Более того, так как язык не позволяет автоматически управлять памятью, я буду вынужден писать подобный код реализуя свои контейнеры. И мест для ошибок приводящих к очень неприятным последствиям тут хоть отбавляй. И все в следствии дизайна языка.
1)Контейнеры уже давно написаны.
2)Контейнеры должны писать опытные люди. Если опыта не хватает то надо использовать STL.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[31]: Предложения по улучшению
От: tarkil Россия http://5209.copi.ru/
Дата: 16.06.05 08:26
Оценка:
Здравствуйте, FDSC, Вы писали:

FDS>Не бывает в Delphi утечек памяти. Там всё равно всё освобождается.


Вероятно, при завершении приложения? Так это заслуга исключительно Винды
--
wbr, Peter Taran
Re[30]: Предложения по улучшению
От: tarkil Россия http://5209.copi.ru/
Дата: 16.06.05 08:28
Оценка: :)
Здравствуйте, WolfHound, Вы писали:

WH>1)ГЦ. В дельфе нет.

WH>2)Умные указатели. В дельфе нет.
WH>3)Озвереешь ловить утечки памяти. В дельфе...
4) Аккуратное программирование. В конце-концов, создавать объект приписывая к нему try-finally и писать в деструкторе уничтожение всего вложенного не так уж трудно — я быстро привык Однако, 1 или 2 поприятнее, да.
--
wbr, Peter Taran
Re[28]: Предложения по улучшению
От: tarkil Россия http://5209.copi.ru/
Дата: 16.06.05 08:40
Оценка:
Здравствуйте, Mr. None, Вы писали:

MN>Reflection — это как раз и есть возможность перебрать поля и методы класса.


Ага, я уже просветился, спасибо Под RTTI я подразумевал RTTI+Reflection (положа руку на сердце — это разные части одного и того же).

MN>А зачем они, если вы всегда можете объвить статическую функцию в классе, которая будет создавать вам объект? По сути тоже самое


Вот-вот. Есть конструктор, есть статическая функция-фабрика — а делают одно и то же. То что в Delphi их объединили в одно понятие мне нравится.

T>>А с переменные аргументами всё равно часто удобнее. Классика это, конечно, форматирование строк.

MN>Не нравится не кури... или кури strintf ...

Там правильно смайлик стоит. Его и курю, за неимением лучшего, но пару раз накалывался на несоответствии типа... я — пару раз, в силу въедливости, а коллеги чаще. Правда тут подсказали с boost::format познакомиться...

T>>Да, там много чего нету, кто б спорил. Темплитами, кстати, почти никто похвастаться не может, кроме C++.

MN>Зато шарп может ими постыдиться...

Умгу. Непростая задачка, да, шаблоны реализовать?

T>>Зато в C++ не хватает вложенных функций... Вот, буквально полчаса назад жалел об этом.

MN>Зато в C++ есть локальные классы, что суть есть тоже самое, только круче, потому что они могут быть даже шаблонами и быть вложены в шаблоны...

Ага, мне уже приелась эта новомодная заморочка — в ответ на "хотелось бы немножко эту функцию улучшить" отвечают "а ты сделай из функции класс; а лучше — два". Хотя нужна-то мне функция.
--
wbr, Peter Taran
Re[29]: Предложения по улучшению
От: Cyberax Марс  
Дата: 16.06.05 08:51
Оценка:
tarkil wrote:

> T>>Зато в C++ не хватает вложенных функций... Вот, буквально полчаса

> назад жалел об этом.
> MN>Зато в C++ есть локальные классы, что суть есть тоже самое, только
> круче, потому что они могут быть даже шаблонами и быть вложены в
> шаблоны...
> Ага, мне уже приелась эта новомодная заморочка — в ответ на "хотелось
> бы немножко эту функцию улучшить" отвечают "а ты сделай из функции
> класс; а лучше — два". Хотя нужна-то мне функция.

void func()
{
    struct
    {
       void operator ()(int a, int b)
       {
          ....
       }
    } inner;

    inner(1,2);
}

Чем не функция?

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[31]: Предложения по улучшению
От: WolfHound  
Дата: 16.06.05 08:56
Оценка:
Здравствуйте, tarkil, Вы писали:

T>4) Аккуратное программирование. В конце-концов, создавать объект приписывая к нему try-finally и писать в деструкторе уничтожение всего вложенного не так уж трудно — я быстро привык Однако, 1 или 2 поприятнее, да.

Весьма хреновый выход ибо если надо создать несколько объектов причем конструктор каждого из них может кинуть искольчение...
disclaimer: на дельфе не писал очень давно.
begin
    obj1 := SomeClass.Create;
    try
    begin
        obj2 := SomeClass.Create;
        try
        begin
            obj3 := SomeClass.Create;
            try
            begin
...
            end
            finally
            begin
                obj3.Free();
            end
        end
        finally
        begin
            obj2.Free();
        end
    end
    finally
    begin
        obj1.Free();
    end
end;

Или тоже самое на С++
{
    SomeClass obj1;
    SomeClass obj2;
    SomeClass obj3;
}

или если хочется создать все в динамической памяти то так
{
    SmartPtr<SomeClass> obj1 = new SomeClass();
    SmartPtr<SomeClass> obj2 = new SomeClass();
    SmartPtr<SomeClass> obj3 = new SomeClass();
}

Думаю бъяснения почему второй вариант лучше излишне.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.