Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.09.02;
Скачать: [xml.tar.bz2];

Вниз

Second Life, Second Chance for CodeGear   Найти похожие ветки 

 
oxffff ©   (2007-07-27 20:48) [0]

http://reddevnews.com/features/article.aspx?editorialsid=749


 
Sdubaruhnul   (2007-07-27 21:05) [1]

Ничего нового. Мечты... Мечты...


 
Суслик ©   (2007-07-27 23:45) [2]

посмотрим, что с Д2008 будет.
может быть последний их шанс.


 
Nic ©   (2007-07-28 00:35) [3]

Бегло проглядел. Полностью читать лень. Суббота-раннее-утро, как-никак :)
На самом деле Delphi находится в точке бифуркации, от качества новых версий зависит буквально всё. Не секрет, Delphi 8 и Delphi 2005 очень нестабильны. Не видел никого, кто бы разрабатывал что-то серьёзное на этих версиях Delphi. Хотя мазохисты наверняка есть, но их, скорее всего, меньшинство.

BDS 2006, Turbo Delphi - достаточно стабильны. И работать в них приятнее. О Delphi 2007 слышал только позитивные отзывы.

ИМХО, до такого состояния лучшую RAD-систему программирования под  Windows привели метания с CLX + Kylix, а позже и создание версии Delphi for .Net. + Создание C# Builder.

Кстати, кто-нибудь работал с Delphi for .Net и C# Builder? Как оно, по сравнению с Visual C#?


 
Nic ©   (2007-07-28 03:00) [4]


>
> Кстати, кто-нибудь работал с Delphi for .Net и C# Builder?
>  Как оно, по сравнению с Visual C#?


Неужели никто не сравнивал?


 
Alex Konshin ©   (2007-07-28 05:40) [5]

Как это ни прискорбно, но на сегодняшний день IDE Delphi - уже вчерашний день.
Они сильно отстают от Java IDE Eclipse и Netbeans, которые бесплатны, а тем более от платных IDE (Idea). Даже майкрософтовский Visual Studio уже более функционален. Если поработаешь в современных IDE, то Delphi IDE уже раздражает своей убогостью.
Вот над чем им надо работать в первую очередь. Кстати, решение Borland об отказе от Deplhi IDE в пользу Eclipse было вполне логичным. Только нужно было действительно делать, а не болтать. Заодно бы и с IBM подружились, так вместе и одолели бы супостатов из Redmond.
Да и без радикального обновления IDE у них масса задач, которые нужно было сделать еще вчера. VCL уже морально устарел. Когда будет полная поддержка UNICODE и других кодировок? В связи с появлением многоядерных процессоров в ближайщее время остро встанет вопрос о распараллеливании всего и вся. А существующая поддержка многопоточности убога. Уже несколько лет существуют 64-bit процессоры AMD/Intel и операционные системы для них. Когда наконец Delphi разродится поддержкой 64-bit? Уже даже бесплатные паскалевские компиляторы ее имеют(или в процессе доводки).  Я знаю о планах, но планы были и раньше, но ничего не меняется или меняется непростительно медленно.

Короче, Delphi тихо и долго умирает в результате стратегических ошибок меджеров Borland. Пока даже не видно, каким образом они собираются выкарабкиваться из ямы.


 
P_   (2007-07-28 06:13) [6]


> Alex Konshin ©   (28.07.07 05:40) [5]


Ну то что Java сейчас наступает на весь мир, особенно с последней реализацией SWING и новых компьютеров, которые не продаются с менее чем 512Мб ОЗУ, это понятно всем. Не зависеть от системы, железа, от СУБД и многих других мелочей довольно приятно.

Delphi был хорош, когда у него не было конкурентов, а сейчас уже поздно. Хотя еще лет 10-15 за счёт инерции продержится.

Я вот например UNICODE прикручиваю к решениям.


 
P_   (2007-07-28 06:15) [7]


> Alex Konshin ©   (28.07.07 05:40) [5]


А в чем проблема с распараллеливанием в Delphi? Неужели для калькулятора обязательно нужно использовать два ядра?


 
IMHO ©   (2007-07-28 06:22) [8]


> P_   (28.07.07 06:13) [6]
>
>
> Delphi был хорош, когда у него не было конкурентов, а сейчас
> уже поздно. Хотя еще лет 10-15 за счёт инерции продержится.
>


Мне вот крайне интересно, откуда берутся эти цифры - "лет 10-15"?
С какого потолка?


 
Alex Konshin ©   (2007-07-28 09:51) [9]

> P_   (28.07.07 06:15) [7]
> > Alex Konshin ©   (28.07.07 05:40) [5]
> А в чем проблема с распараллеливанием в Delphi? Неужели
> для калькулятора обязательно нужно использовать два ядра?

Калькулятор на самом деле тоже должен быть многопоточным, чтобы UI не блокировался. И это только самый простой пример.
Я не говорю, что многопоточные приложения нельзя делать на Delphi, сам этим занимаюся уже более 10 лет, но за эти 10 лет ничего в этом плане так и не изменилось. А вот конкурирующие технологие на месте не стояли, да и новые появились. Вот об этом-то и речь.

> P_   (28.07.07 06:13) [6]
> > Alex Konshin ©   (28.07.07 05:40) [5]
> Я вот например UNICODE прикручиваю к решениям.

Ну и я тоже, но ведь какой ценой это дается! А вот в Java с этим никаких проблем.


 
Nic ©   (2007-07-28 12:51) [10]

Почитал в википедии про Eclipse. Что-то захотелось найти этого зверя и поставить, чтобы распробовать :) Это можно где-то бесплатно скачать? Яндекс дал ссылки на какие-то mp3-файлы :)

Но всё же, чем Delphi отстаёт от той же Eclipse?


 
Sdubaruhnul   (2007-07-28 13:34) [11]

http://www.eclipse.org/


 
Nic ©   (2007-07-28 13:41) [12]


> Sdubaruhnul   (28.07.07 13:34) [11]

Спасибо ;)


 
Alexis ©   (2007-07-28 14:19) [13]


> ...до такого состояния лучшую RAD-систему программирования
> под  Windows привели

Когда в 2001 мы имели Delphi7 и VisualStudio6, это была правда. Сейчас я не представляю, кем надо быть, чтобы начинать разработку нового продукта на Delphi, который, к примеру, до сих пор не удосужился поддерживать UNICODE.

Тем кто утверждает, что Delphi2007, Turbo там всякие работают стабильно, я предлагаю посмотреть VS2005. Вот там действительно стабильно. Более того, я не понимаю, как Borland"у надо писать IDE, чтобы скорость загрузки среды и появление, к примеру, выпадающих подсказок в 3-4 раза отличалась от VS.


 
oxffff ©   (2007-07-28 14:46) [14]


> Суслик ©   (27.07.07 23:45) [2]
> посмотрим, что с Д2008 будет.
> может быть последний их шанс.


Шанс он всегда есть.
Хейлсберг, Торп ушли.

Посмотрим, что сделает Allen Bauer.


 
Nic ©   (2007-07-28 14:54) [15]


> Alexis ©   (28.07.07 14:19) [13]

VS 2005 не видел. Когда имел в виду стабильность, то сравнивал с D2005, D8. Однако среда не может похвастать такой же скоростью работы как D5-D7 и глюки в новых версиях имеются. Скажем при разработке сложного GUI среда порядком подтормаживает на неплохом компьютере. Тем не менее, новые версии хотя бы не падают постоянно и в них можно вести разработку.
Скажем, при разработке Dll вообще милое дело - всё работает отлично :) Однако примеры использования этой самой dll предпочитаю делать на седьмой версии, т.к. шустрее намного работает :)


 
Nic ©   (2007-07-28 15:01) [16]


> Nic ©   (28.07.07 14:54) [15]

Видел MS студию 2003. Она, конечно, работает шустро как былые версии Delphi.


 
имя   (2007-07-28 15:06) [17]

Удалено модератором


 
Nic ©   (2007-07-28 15:15) [18]


> это я   (28.07.07 15:06) [17]


Ну и идите отсюда лесом :) Кто-то цепями за яйца привязал к нему Вас чтоли? :)


 
это я   (2007-07-28 15:20) [19]

привык к нему :)


 
isasa ©   (2007-07-28 15:22) [20]

Alex Konshin ©   (28.07.07 09:51) [9]
Объясни, пожалуйста, тупому, зачем для компонентов GUI нужна многопоточность. Я исключаю ситуацию, когда времяемкая задача выполняется паралельно(это тупо просто организовать).
Остальное все равно, как ни крутись, а события по улавливанию мессаджей ты будешь писать руками, будь то COM+/.NET. Так плюс еще имеем гемморой с синхронизацией прорисовки, причем юзеру, в большинстве случаев на такие детали, плевать.

Alexis ©   (28.07.07 14:19) [13]
UNICODE на сегодняшний момент, самое больное место D ? :)

P_   (28.07.07 06:13) [6]

...это понятно всем. Не зависеть от системы, железа, от СУБД


Нереализуемо, по одной простой причине. Нет универсального лекарства.
Мы разрабатываем/поддерживаем проект клиент(D6)- сервер (MSSQL 7/2000\2005 ORACLE 8i/9i/10i) Все, в принципе просто. Есть разные куски в клиенте и сервере. Общее, попахивает дилетантством и кухонным программированием.


 
Nic ©   (2007-07-28 15:23) [21]


> это я   (28.07.07 15:20) [19]


Аналогично :)


 
isasa ©   (2007-07-28 15:38) [22]

isasa ©   (28.07.07 15:22) [20]
+
Жена отвлекла "Мясо ей срочно перекрути ..."

Универсальность хорошо, но всегда найдется клиент, которому надо втащить пару миллионов записей. Причем как бі не убеждали меня наши(delphimaster) крутые разработчики, что это неправильно и оно нафиг не надо, все это убивается одной фразой клиента:
"Я аналитик. И хочу видеть всю картину ...". После этого хоть на голове стой ...


 
Псалтырь   (2007-07-28 16:08) [23]


> UNICODE на сегодняшний момент, самое больное место D ? :
> )

Да, Юникод это самое больное место. Китайцев и иже с ними без Юникода даже можно и не трогать. А их до черта


 
DrPass ©   (2007-07-28 17:28) [24]


> Alexis ©   (28.07.07 14:19) [13]


> Тем кто утверждает, что Delphi2007, Turbo там всякие работают
> стабильно, я предлагаю посмотреть VS2005. Вот там действительно
> стабильно

Не хочу впадать в холивар, но именно в части стабильности к VS2005 у меня масса нареканий. Мы ее используем для разработки приложений под .NET CF, и тут уж она себя показывает "во всей красе", регулярно падая на пустом месте. Спасибо, хоть исходники при этом с собой в могилу не уносит, как это в свое время делала Delphi 6 до выхода апдейта.
Кстати, используемый у нас IBM"овский Rational Application Developer (основанный на Eclipse) ведет себя ничуть не лучше. Правда, он перед смертью сохраняет все файлы и десктоп, потом восстанавливаться проще :)


 
GrayFace ©   (2007-07-28 17:39) [25]

P_   (28.07.07 6:15) [7]
А в чем проблема с распараллеливанием в Delphi? Неужели для калькулятора обязательно нужно использовать два ядра?

Нету такой штуки, как OpenMP. С ней легко, например, распараллелить циклы внутри множества процедур. Вручную это будет весьма трудоемко. А при 2-ядерных процессорах это актуально. На действиях типа заполнения массива дает почти 2-кратный прирост производительности.

Alexis ©   (28.07.07 14:19) [13]
Более того, я не понимаю, как Borland"у надо писать IDE, чтобы скорость загрузки среды и появление, к примеру, выпадающих подсказок в 3-4 раза отличалась от VS.

Чему же удивляться, если у Microsoft"а время появления менюшек "Пуск -> Программы" в 10-100 раз больше? :) Все равно, гораздо важнее скорость компилляции, и хотя бы по ней D вне конкуренции.


 
Иа   (2007-07-28 23:07) [26]

Интересно, я пропустил что они из Калифорнии переезжают в Техас.


 
Alex Konshin ©   (2007-07-29 10:01) [27]

> isasa ©   (28.07.07 15:22) [20]
> Alex Konshin ©   (28.07.07 09:51) [9]
> Объясни, пожалуйста, тупому, зачем для компонентов GUI нужна
> многопоточность. Я исключаю ситуацию, когда времяемкая задача
> выполняется паралельно(это тупо просто организовать).
> Остальное все равно, как ни крутись, а события по улавливанию
> мессаджей ты будешь писать руками, будь то COM+/.NET. Так
> плюс еще имеем гемморой с синхронизацией прорисовки, причем
> юзеру, в большинстве случаев на такие детали, плевать.
>
Про многопоточность в UI говорил как пример (в пику на заявление, что она в калькуляторе не нужна). Хотя да, я считаю, что для UI обязана быть отдельная нить. Это нужно в первую очередь для удобства пользователя.

Для чего-нибудь более-менее серьезного без потоков уже не обойтись. И не важно, GUI приложение это или некий сервис (в последнем случае так вообще без потоков не обойтись). Да, для простеньких клиент-сервер или консольный приложений можно обойтись и без этого. Но вот на очереди четерехядерные процессоры, в ближайшее пару лет будут и восьмиядерные. И если не задействовать многопоточность, то ваши приложения будут отставать в разы от приложений конкурентов.

Да, можно и на Delphi делать многопоточные приложения. Но средства языка убоги (по сути их практически нет, кроме threadvar и синхронизации внутри массивов), библиотека мало что добавляет, более того, далеко не все в библиотеке расчитано на использование во многопоточной среде.

> Alexis ©   (28.07.07 14:19) [13]
> UNICODE на сегодняшний момент, самое больное место D ? :)

А вы зря иронизируете. Отсутствие поддержки UNICODE сильно усложняет разработку приложений, расчитанных на интернацинальные компании и на азиатские рынки. Или вы считаете, что Япония, Китай, Корея - это мало? Тогда вы заведомо лишаете себя львиной доли покупателей.


 
isasa ©   (2007-07-29 11:09) [28]

Alex Konshin ©   (29.07.07 10:01) [27]
Отсутствие поддержки UNICODE сильно усложняет разработку приложений,...

Ни Боже мой. Я это неудобство поппробовал на собственной шкуре, т.к. доводилоси делать прилоржение на фарси.


 
isasa ©   (2007-07-29 11:11) [29]

Опять плохо выразился. :)
Т.е. тут я полностью с огласен. :)


 
oxffff ©   (2007-07-29 11:45) [30]


> Да, можно и на Delphi делать многопоточные приложения. Но
> средства языка убоги (по сути их практически нет, кроме
> threadvar и синхронизации внутри массивов), библиотека мало
> что добавляет, более того, далеко не все в библиотеке расчитано
> на использование во многопоточной среде.


Поясните свою мысль о синхронизации массивов.

>средства языка убоги

А Win32?


 
Alex Konshin ©   (2007-07-29 12:00) [31]

> oxffff ©   (29.07.07 11:45) [30]
> > Да, можно и на Delphi делать многопоточные приложения.  Но
> > средства языка убоги (по сути их практически нет, кроме
> > threadvar и синхронизации внутри массивов), библиотека мало
> > что добавляет, более того, далеко не все в библиотеке расчитано
> > на использование во многопоточной среде.
> Поясните свою мысль о синхронизации массивов.

А пояснять-то почти нечего. Где-то  в Delphi 3 или даже позднее вставили lock при работе со  String. Ну а потом аналогично сделали для динамических массивов.
То есть поддержка многопоточности практически отсутствует.

> >средства языка убоги
> А Win32?

А Win32 это средства языка?
Ладно, забудем о Java, развы так ее не любите. Но какая-то поддержка многозадачности была уже в Алгол 68. В Ада еще больше. А Delphi так на уровне Pascal и осталась.


 
oxffff ©   (2007-07-29 12:41) [32]


> А пояснять-то почти нечего. Где-то  в Delphi 3 или даже
> позднее вставили lock при работе со  String. Ну а потом
> аналогично сделали для динамических массивов.
> То есть поддержка многопоточности практически отсутствует.
>


А вы про lock prefix для ref counting. Понял вас.

Тут вы слегка лукавите.

Еще есть готовая реализация Iunknown (class TinterfacedObject) все c тем же lock prefix.

Далее есть мощнейшее средство TCustomVariantType
Там вам cast, binary op , unary op, Clear,

И главное его
copy, Copy by ref (задайте нужную семантику вашему типу)

То есть все в ваших руках.

P.S. Соглашусь однако, что языковые средства нужно расширять.


 
GrayFace ©   (2007-07-31 18:14) [33]

Alex Konshin ©   (28.07.07 5:40) [5]
Как это ни прискорбно, но на сегодняшний день IDE Delphi - уже вчерашний день.
Они сильно отстают от Java IDE Eclipse и Netbeans, которые бесплатны, а тем более от платных IDE (Idea). Даже майкрософтовский Visual Studio уже более функционален. Если поработаешь в современных IDE, то Delphi IDE уже раздражает своей убогостью.

По-моему, Дельфийский IDE лучше Visual Studio. В чем он отстает?


 
нефт   (2007-08-01 01:44) [34]


> Alex Konshin ©   (28.07.07 05:40) [5]
>
> Как это ни прискорбно, но на сегодняшний день IDE Delphi
> - уже вчерашний день.
> Они сильно отстают от Java IDE Eclipse и Netbeans, которые
> бесплатны, а тем более от платных IDE (Idea). Даже майкрософтовский
> Visual Studio уже более функционален. Если поработаешь в
> современных IDE, то Delphi IDE уже раздражает своей убогостью.
>
> Вот над чем им надо работать в первую очередь. Кстати, решение
> Borland об отказе от Deplhi IDE в пользу Eclipse было вполне
> логичным. Только нужно было действительно делать, а не болтать.
>  Заодно бы и с IBM подружились, так вместе и одолели бы
> супостатов из Redmond.
> Да и без радикального обновления IDE у них масса задач,
> которые нужно было сделать еще вчера. VCL уже морально устарел.
>


Ты много накидал понтов и наездов на Дельфи, а обосновать это ничем не смог.


 
нефт   (2007-08-01 01:50) [35]


> Alexis ©   (28.07.07 14:19) [13]
>
> > ...до такого состояния лучшую RAD-систему программирования
> > под  Windows привели
>
> Когда в 2001 мы имели Delphi7 и VisualStudio6, это была
> правда.


Delphi 7 - это 2002 год.


 
Piter ©   (2007-08-01 01:56) [36]

Alex Konshin ©   (28.07.07 5:40) [5]
Если поработаешь в современных IDE, то Delphi IDE уже раздражает своей убогостью


а можно рассказать, чем убога Delphi IDE, кроме невозможности получить стек вызовов?


 
atruhin ©   (2007-08-01 09:49) [37]

> а можно рассказать, чем убога Delphi IDE, кроме невозможности
> получить стек вызовов?

А что глюков мало? 2007 не смотрел, а в BDS2006 приходится отключать половину возможностей,
чтоб хоть как то работало.
Убогие возможности рефракторинга.


 
tesseract ©   (2007-08-01 09:53) [38]


> а можно рассказать, чем убога Delphi IDE, кроме невозможности
> получить стек вызовов?


Это вроде уже дебаггеровская фишка. в Turbo Delphi "View-Debug Windows - Call Stack". Хотя только раз в жизни им пользовался....


 
atruhin ©   (2007-08-01 10:17) [39]

> Хотя только раз в жизни им пользовался....

Хм. Странно. Постоянно использую, очень удобное средство при отладке.


 
tesseract ©   (2007-08-01 10:18) [40]


> Хм. Странно. Постоянно использую, очень удобное средство
> при отладке.


У меня cпециальность другая - COM/OLE/Аппаратура, да и привычка всё в классы и try .. except. Да и при многопоточном приложении проще лог, чем callstack смотерть.


 
Игорь Шевченко ©   (2007-08-01 10:29) [41]


> Кстати, кто-нибудь работал с Delphi for .Net и C# Builder?
>  Как оно, по сравнению с Visual C#?


Да нормально, если не считать, что Visual C# поддерживает второй .Net, а Delphi первый :)

Я вот тоже не понимаю двух вещей - это упреков в убогости IDE Delphi  (сравнивать могу только с VS2005, с Eclipse поработать не удалось - не осилил, уж больно монстровая среда, чем-то напомнило Visual Age, но продукты IBM всегда отличались монстровостью, это еще от Холлерита наверное...)
И необходимости многопоточности везде и всюду.

Когда пользователь сидит, ковыряя в носу, тут, ясное дело, без многопоточности ну никак. Особенно программисту скучно не будет во время борьбы с разного рода синхронизациями.

Вот юникода нету - это плохо, но обещают сделать. И русского хелпа тоже нет, но тоже обещали.


 
Sdubaruhnul   (2007-08-01 10:41) [42]

>Я вот тоже не понимаю двух вещей - это упреков в убогости IDE Delphi

Ну например, есть ли в Delphi гайдлайны (guidelines) при размещении контролов?


 
Игорь Шевченко ©   (2007-08-01 10:46) [43]

Sdubaruhnul   (01.08.07 10:41) [42]

Например есть.


 
Sdubaruhnul   (2007-08-01 22:14) [44]

><Игорь Шевченко ©   (01.08.07 10:46) [43]>

Хорошо, чего-то я от жизни отстал маленько...

А может ли Delphi (новая которая там), видя, что я надрываюсь и пишу ShowMessage("This number is " + IntToStr(A) + " and the other is " + IntToStr(B)) предложить мне заменить всё это форматированием, типа ShowMessage(format("This number......  или ShowMessageFmt, причём заменить автоматом???


 
atruhin ©   (2007-08-01 23:35) [45]

> И русского хелпа тоже нет, но тоже обещали.

Главное даже не русский хелп, хотя читать на родном языке приятнее, а дополнение существующего.
Несколько лет назад писал датасет, половины нужных функций в хелпе нет, на сайте борланда нашел фразу -
смотрите исходники TTable.
Сейчас занимаюсь задачей с RTTI (раньше почти не сталкивался), опять в хелпе ничего.


 
Игорь Шевченко ©   (2007-08-02 09:41) [46]

Sdubaruhnul   (01.08.07 22:14) [44]


> А может ли Delphi (новая которая там), видя, что я надрываюсь
> и пишу ShowMessage("This number is " + IntToStr(A) + " and
> the other is " + IntToStr(B)) предложить мне заменить всё
> это форматированием, типа ShowMessage(format("This number.
> .....  или ShowMessageFmt, причём заменить автоматом???


а нафига ?


 
tesseract ©   (2007-08-02 09:53) [47]


> Ну например, есть ли в Delphi гайдлайны (guidelines) при
> размещении контролов?


с 4-ой версии работаю -  есть.


> а нафига ?


Для увеличения монструозности IDE бесполезными прибавками.

> половины нужных функций в хелпе нет, на сайте борланда нашел
> фразу -смотрите исходники TTable.


В MSDN её тоже так просто не отроешь. А книг по написанию компонентов у меня аж две - одна про написание вторая про разъеснение работы VCL.


 
Игорь Шевченко ©   (2007-08-02 09:57) [48]

atruhin ©   (01.08.07 23:35) [45]


> Несколько лет назад писал датасет, половины нужных функций
> в хелпе нет, на сайте борланда нашел фразу -
> смотрите исходники TTable.


А Demos ты не устанавливаешь из принципа или установив, не читаешь ?
Там как раз есть пример, как сделать свой DataSet.


 
Псалтырь   (2007-08-02 09:58) [49]


> Sdubaruhnul   (01.08.07 22:14) [44]

А чего б тебе сразу не писать через Format? IDE не должна сидеть у тебя в башке, дорогой.


 
Sdubaruhnul   (2007-08-02 10:25) [50]

>с 4-ой версии работаю -  есть.

Значит, в седьмой убрали, или ты спутал сетку с гайдлайнами.

>а нафига ?

Лёгкий признак того, что IDE не только выплёвывает мастера подсказок, но и делает для кода немного больше.

>А чего б тебе сразу не писать через Format? IDE не должна сидеть у тебя в башке, дорогой.

Notepad. Срочно Notepad!


 
Игорь Шевченко ©   (2007-08-02 10:28) [51]

Sdubaruhnul   (02.08.07 10:25) [50]


> Лёгкий признак того, что IDE не только выплёвывает мастера
> подсказок, но и делает для кода немного больше.


Я вот, извини, честно не понимаю, зачем востребована такая фича.
Я понимаю, когда есть рефакторинг, автодополнение классов, а вот фича вида описанной мне лично представляется пятым квадратным колесом у велосипеда.
Если еще учесть, что формат работает медленнее, то смысл в подобной автозамене и вовсе сомнительный


 
Ping   (2007-08-02 10:37) [52]

Убогие возможности рефракторинга.

Убогий тот, чьи программы требуют рефакторинга. По определению.

А может ли Delphi (новая которая там), видя, что я надрываюсь

И огород вскопать она не может, прикинь! Сколько бы ты ни надрывался.
И это... на маму свою жалуйся, что она тебе в горле автозаполнитель речи и корректор акцента не вставила. Прикинь, классная система - хочешь, по-русски разговариваешь, хочешь - по-английски, а хоть на урду. Только шевельнул языком - а оно уже за тебя трепется. Прикинь, какой ты second-hand, раз у тебя такой фигни в горле нет.


 
Игорь Шевченко ©   (2007-08-02 10:38) [53]

Ping   (02.08.07 10:37) [52]


> Убогий тот, чьи программы требуют рефакторинга. По определению.


Не факт


 
Ping   (2007-08-02 10:49) [54]

Проектирование, проектирование и еще раз проектирование. (С) Ping

А если что-то править, то - вручную, ибо это подходящий случай освежить в памяти что и как сделано. Ибо, если правишь, значит, что-то не так спроектировал, значит - надо не только бездумно рефакторить, но и тщательно пересмотреть код.

Такое мое мнение.


 
Игорь Шевченко ©   (2007-08-02 10:52) [55]


> Ибо, если правишь, значит, что-то не так спроектировал,
> значит - надо не только бездумно рефакторить, но и тщательно
> пересмотреть код.


Безудумно вообще ничего не надо делать, а тем более заниматься рефакторингом, нес па ?

А что до того, что не так спроектировал - есть такое понятие, как изменяющиеся условия внешнего мира, например, изменяющиеся бизнес-правила предметной области. И могу привести сколько угодно примеров, когда эти правила изменяются насколько сильно, что
а) изначально даже не предполагалось подобного рода изменений
б) если изначально допустить такие изменения, то программа будет настолько несопровождаемой, что при изменениях ее кажется проще переписать заново.


 
tesseract ©   (2007-08-02 10:54) [56]


> Проектирование, проектирование и еще раз проектирование.


Про "динамическое ТЗ" не слышал ни разу ? Кем же ты работаешь тогда ?


 
Sdubaruhnul   (2007-08-02 11:14) [57]

>Я вот, извини, честно не понимаю, зачем востребована такая фича.

Вот, что Delphi делает с людьми. Модное форматирование уже давно применяется везде. В C# даже не нужны никакие отдельные функции. А ты не можешь отойти от традиционного сложения строк.


 
tesseract ©   (2007-08-02 11:21) [58]


> Модное форматирование уже давно применяется везде.


А какой от "Модного" форматирования смысл кроме внутреннего удовлетворения? C# уже пременяеться везде ? - не слышал такого.


 
Игорь Шевченко ©   (2007-08-02 11:25) [59]

Sdubaruhnul   (02.08.07 11:14) [57]


> Вот, что Delphi делает с людьми. Модное форматирование уже
> давно применяется везде.


Я далек от моды, дружище.


> В C# даже не нужны никакие отдельные функции. А ты не можешь
> отойти от традиционного сложения строк.


Кроме вызова String.Format, не так ли ?
И чем, кстати, плохо сложение строк ? Тем. что не было изначально в С и только ?


 
Sdubaruhnul   (2007-08-02 11:41) [60]

>И чем, кстати, плохо сложение строк ? Тем. что не было изначально в С и только ?

Оно плохо тем, что ненаглядно, громоздко и кодоёмко. И это в сравнении с дельфийским форматированием через Format и синтаксис в стиле C. Модное форматирование подразумевает другие placeholder"ы, а именно фигурные скобки, типа {1}, {2}.

Не нужна фича - пожалуйста. Это всего ли предложение от IDE по улучшению кода. Если бы я придерживался такого стиля и мне кто-то подсунул код со сложением строк, то я бы мог всё быстро переделать.

Но не форматирование главное. Это просто пример того, насколько умной может быть IDE. В Delphi пока что мы видим только мастера подсказок и автоматическое вставление begin .. end, т.е. шаблоны кода.


 
Игорь Шевченко ©   (2007-08-02 11:45) [61]


> И это в сравнении с дельфийским форматированием через Format
> и синтаксис в стиле C. Модное форматирование подразумевает
> другие placeholder"ы, а именно фигурные скобки, типа {1},
>  {2}.


Ну офигеть. Указывая явно спецификацию формата в Delphi и в C, я могу глядя на код, увидеть, что мне будет выдано в результате Format или [s|f]printf
а глядя на "модные" {0} мне еще придется выяснять, а что же возвращает метод .ToString()

Нафиг-нафиг такую моду


> Но не форматирование главное. Это просто пример того, насколько
> умной может быть IDE.


Ты хочешь сказать, что умная IDE видя "Foo " + bar.ToString + " baz "
сгенерирует мне String.Format ("Foo {0} baz", bar) ?


 
jack128_   (2007-08-02 11:55) [62]


> Ты хочешь сказать, что умная IDE видя "Foo " + bar.ToString
> + " baz "
> сгенерирует мне String.Format ("Foo {0} baz", bar) ?


Вот как раз _умная_ IDE не будет делать этого ;-)


 
Sdubaruhnul   (2007-08-02 12:01) [63]

>Ты хочешь сказать, что умная IDE видя "Foo " + bar.ToString + " baz "
сгенерирует мне String.Format ("Foo {0} baz", bar) ?


Всего лишь предложит. Слева на полях появится значок. Если я захочу, то воспользуюсь возможностью.

И всё, хватит про форматирование. Delphi ничего _подобного_ делать не умеет. Ключевое слово "подобного". Не умеет _так_ работать с кодом. Ключевое слово "так". Может форматирование и есть всего лишь игрушка, но сколько полезного можно предложить программеру, если использовать такой подход.


 
ZeroDivide ©   (2007-08-02 12:02) [64]

Фигня это все...

IDE феньки - хорошо, но и без них не много теряешь.

64 бита, многоядерность - Нафиг не надо, это больше маркетинг производителей железа. Да в некоторых областях важно, но пишуших проги для метеопрогноза или моделирующих ядерный распад - совсем не много. К тому же.. я хочу чтобы мои проги, которые я буду писать еще лет ...цать хорошо шли на старых системах, это для меня важнее.

Устаревшая VCL - Во-первых winforms ни чем не лучше, а во вторых за 10% от стоимости лицензии на D, можно купить у 3rd-пати разработчиков самую современнейшую VCL. Стандартной VCL никто не пользуется из профессионалов Delphi. К тому же, этого 3rd-party для D написано гораздо больше чем для .Net.

Unicode - важнее всего, пожалуй. Но и тож фигня, по крайней мере, для меня... я для китайцев не пишу... :)

Меня сдвинет с Delphi, только кардинально новая парадигма программирования, которая придет на смену ООП. Может быть Delphi IDE - вчерашний день, мне пофигу... важен не язык программирования и не IDE, важны те наработки - иерархии классов, библиотеки модулей, которые уже есть и именно они позволяют мне писать быстрее, чем кто либо на "модных" IDE и языках.


 
pasha_golub ©   (2007-08-02 12:37) [65]


> Sdubaruhnul   (02.08.07 12:01) [63]


> Delphi ничего _подобного_ делать не умеет.

И слава Богу. Кесарю кесарево... Зато все это прекрасно умеют делать эксперты. Castalia, GExperts...

И настолько много умеют, что аж тошно. Кроме того, никто не запрещает написать свой эксперт.


 
Игорь Шевченко ©   (2007-08-02 13:05) [66]

Sdubaruhnul   (02.08.07 12:01) [63]


> Delphi ничего _подобного_ делать не умеет. Ключевое слово
> "подобного". Не умеет _так_ работать с кодом. Ключевое слово
> "так". Может форматирование и есть всего лишь игрушка, но
> сколько полезного можно предложить программеру, если использовать
> такой подход.


Все остальное тоже будет такими же игрушками. Несерьезно.


 
Kolan ©   (2007-08-02 14:05) [67]

> Убогий тот, чьи программы требуют рефакторинга. По определению.

Человек понимающий что такое рефакторинг такой бред не напишет никогда.


 
Kolan ©   (2007-08-02 14:07) [68]


> Стандартной VCL никто не пользуется из профессионалов Delphi.

Я не большой проф. но я пользуюсь. И в основном только ей&#133


 
DVM ©   (2007-08-02 14:15) [69]


> ZeroDivide ©   (02.08.07 12:02) [64]


> Стандартной VCL никто не пользуется из профессионалов Delphi

А я вот все больше встречаю людей, кторые стараются пользоваться только VCL + свои наработки. Потом проблем меньше.


 
tesseract ©   (2007-08-02 14:21) [70]


> А я вот все больше встречаю людей, кторые стараются пользоваться
> только VCL + свои наработки. Потом проблем меньше.


DevExpress  у многих стоит, но это всё же полная перепись VCL :-)


 
pasha_golub ©   (2007-08-02 14:34) [71]


> tesseract ©   (02.08.07 14:21) [70]


> DevExpress  у многих стоит, но это всё же полная перепись
> VCL :-)

Не самая лучшая, смею заметить, в силу своей тяжелости.

Как вам, например, финт ушами:

FName := MinimizeName("VeryLongLongFileName", BarManager.Bars[0].Control.Canvas.Canvas, 200);

Поясняю. Первый Canvas: TcxCanvas, а второй уже TCanvas.

Еще один минус, что в ДевЭкспресс нет Юникода. А стандартные контролы можно влегкую заменить на TNT и впаривать друзьям с раскосыми глазами.

Хотя было дело, что ДевЭкспресс вроде как по итогам голосования провозглашал курс на поддержку Юникода. Но... Все тихо. И плюс, чтобы этого монстра переписать это надо недюжинные силы. Коих всегда не хватает. Плюс затраты, скорей всего, не оправданы.


 
Игорь Шевченко ©   (2007-08-02 14:40) [72]


> Стандартной VCL никто не пользуется из профессионалов Delphi


Ерунда, уж извини


 
ZeroDivide ©   (2007-08-02 16:38) [73]


> Игорь Шевченко ©   (02.08.07 14:40) [72]
>
>
> > Стандартной VCL никто не пользуется из профессионалов
> Delphi
>
>
> Ерунда, уж извини


А чем ты пользуешься из VCL? Неужели TEdit у тебя стандартный? :) Мне сложно поверить.


 
Nic ©   (2007-08-02 16:42) [74]


> Игорь Шевченко ©   (02.08.07 14:40) [72]
>
> > Стандартной VCL никто не пользуется из профессионалов
> Delphi
>
>
> Ерунда, уж извини


+1

Как раз стандартный VCL - отличный инструментарий.


 
Kolan ©   (2007-08-02 16:52) [75]

> Неужели TEdit у тебя стандартный? :)

Развод? Ессно  стандартный. А чего в нем не хватает?


 
Piter ©   (2007-08-02 16:55) [76]

ZeroDivide ©   (02.08.07 16:38) [73]
А чем ты пользуешься из VCL? Неужели TEdit у тебя стандартный? :)


у меня самый стандартный TEdit, а что в этом такого?!

Это виндовое окно класса "Edit" - что же еще нужно?


 
Eraser ©   (2007-08-02 16:57) [77]


> ZeroDivide ©   (02.08.07 16:38) [73]

чем плох стандартный TEdit? )


 
DVM ©   (2007-08-02 16:58) [78]

Мне стыдно признаться, но у меня даже TButton стандартный.


 
Dib@zol ©   (2007-08-02 16:59) [79]

> чем плох стандартный TEdit? )

Тем что у него изначально проставлен в стилевых флагах WS_EX_CLIENTEDGE. А вдруг кому взбредёт в голову замутить едит с приподнятой рамкой? :)


 
ZeroDivide ©   (2007-08-02 17:01) [80]


> Развод? Ессно  стандартный. А чего в нем не хватает?


Нет не развод. Внем очень сильно не хватает проперти EditType типа (etChar, etInteger, etNumber, etDate, etTime, etDateTime....
MinValue, MaxValue - тоже отсутствуют.

И, соответственно, проверок нет никаких на тип вводимой информации. Неужели кто-то до сих пор пишет эти проверки на обработчиках.

Это так, для примера... стандартная VCL давно уже морально устарела.


 
DVM ©   (2007-08-02 17:03) [81]


> MinValue, MaxValue - тоже отсутствуют.

TSpinEdit ?


> etDate, etTime, etDateTime


TDateTimePicker ?


 
clickmaker ©   (2007-08-02 17:03) [82]


> И, соответственно, проверок нет никаких на тип вводимой
> информации

ES_NUMBER
EM_LIMITTEXT
а также DateTimePicker


 
DVM ©   (2007-08-02 17:14) [83]


> И, соответственно, проверок нет никаких на тип вводимой
> информации. Неужели кто-то до сих пор пишет эти проверки
> на обработчиках.

есть еще TMaskEdit


 
Kolan ©   (2007-08-02 17:26) [84]

> EditType

Бред. Это фенечки, в большинстве случаев мне это не понядобится&#133

MinValue, MaxValue
Ессно там же текст. А вот длину текста можно ограничить.


> Неужели кто-то до сих пор пишет эти проверки на обработчиках.

Представь себе. А интересно, а если мне надо на правильность проверить несколько контролов(например диапазон. Начало не болше конца) &#151; тоже TEdit должен это делать?


 
Игорь Шевченко ©   (2007-08-02 18:03) [85]


> А чем ты пользуешься из VCL? Неужели TEdit у тебя стандартный?
>  :) Мне сложно поверить.


Я практически всем пользуюсь из VCL, из нестандартных только RxLib, EhLib сколько-то фирменных и сколько-то своих.

Собственно компоненты, особенно оболочки над стандартными контролами меня вполне устраивают.


 
Игорь Шевченко ©   (2007-08-02 18:06) [86]


> Нет не развод. Внем очень сильно не хватает проперти EditType
> типа (etChar, etInteger, etNumber, etDate, etTime, etDateTime.
> ...
> MinValue, MaxValue - тоже отсутствуют.


А зачем ? Оно ж действительно должно в обработчиках обрабатываться...
Мало ли какая бизнес-логика у меня будет - что же мне, от компонентов требовать ее безусловного выполнения ? Логика, она может быть здорово сложнее, чем просто ввод даты или числа...


 
Sdubaruhnul   (2007-08-02 18:09) [87]

>Игорь Шевченко, jack128, pasha_golub, tesseract....

Молодцы, навалились разом и задавили. Только что бы вы там ни говорили, как бы эти фичи не были вам не нужны, их нет в IDE BDS, и поэтому она уступает другим IDE. (Устраивает вас такая - пожалуйста. Да, кесареву кесарево. Но IDE от CodeGear - далеко не самая продвинутая. Такие вот факты.)

И как ты, tesseract, можешь обвинять, что все эти фичи для увеличения монструозности, когда BDS без всего этого всё равно самый настоящий монстр?


 
Kerk ©   (2007-08-02 18:11) [88]

> [87] Sdubaruhnul   (02.08.07 18:09)

Ты пока ниодного примера действительно полезной фичи не привел.


 
Игорь Шевченко ©   (2007-08-02 18:24) [89]

Sdubaruhnul   (02.08.07 18:09) [87]


> их нет в IDE BDS, и поэтому она уступает другим IDE


А другим - это каким ? И нельзя ли привести пример IDE, работающей с паскалем, где они есть ?

В Lazarus я не видел...

Впрочем, можно и не с паскалем.


 
Sdubaruhnul   (2007-08-02 19:13) [90]

>Впрочем, можно и не с паскалем.

IntelliJ Idea


 
ZeroDivide ©   (2007-08-02 19:26) [91]

DVM ©   (02.08.07 17:03) [81]

> MinValue, MaxValue - тоже отсутствуют.
TSpinEdit ?

> etDate, etTime, etDateTime
TDateTimePicker ?


Зачем мне это все нужно в разных компонентах, у меня все это в одном есть, и в более продвинутом, гибконастраиваемом виде.


> Игорь Шевченко ©   (02.08.07 18:06) [86]
> А зачем ? Оно ж действительно должно в обработчиках обрабатываться.
> ..


Оно и обрабатывается в обработчиках, внутри компонента, снаружи только пропертя для кустомизации. И нужно это чтобы кучу тупых обработчиков по 10000 раз не писать.

> Мало ли какая бизнес-логика у меня будет - что же мне, от
> компонентов требовать ее безусловного выполнения ? Логика,
>  она может быть здорово сложнее, чем просто ввод даты или
> числа...


Для мало-ли какой логики, согласен, писать обработчик придется. Чтобы проверить, например, валидность введенного значения по какой-нибудь особой чексумме и т.п. И в то же время тупо, писать в 10000-ый обработчик для того, чтобы пользователь ввел целое положительное значение.


> оболочки над стандартными контролами меня вполне устраивают

Ну флаг тебе... Ты ведь вообще, насколько я помню, case-средствами для проектирования не пользуешься... все ручками... :)


 
tesseract ©   (2007-08-02 21:29) [92]


> И как ты, tesseract, можешь обвинять, что все эти фичи для
> увеличения монструозности, когда BDS без всего этого всё
> равно самый настоящий монстр?


Где ? в каком месте ? если имеешь в виду BDS 2006 то извините меня там 7 языков как-никак. До такого количества только  MS Visual Studio доплёвывает.


 
Anatoly Podgoretsky ©   (2007-08-02 21:39) [93]

> ZeroDivide  (02.08.2007 12:02:04)  [64]

> Unicode - важнее всего, пожалуй. Но и тож фигня, по крайней мере, для меня... я для китайцев не пишу... :)

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


 
Anatoly Podgoretsky ©   (2007-08-02 21:41) [94]

> ZeroDivide  (02.08.2007 12:02:04)  [64]

> Стандартной VCL никто не пользуется из профессионалов Delphi.

Видать профессионала за версту.
Детский сад ей богу.


 
Anatoly Podgoretsky ©   (2007-08-02 21:44) [95]

> Игорь Шевченко  (02.08.2007 18:03:25)  [85]

Я вообще пропащий, у меня даже RxLib, EhLib
Из постороннего только TNT поскольку в Дельфи пока нет.

P.S. для поборников узких глаз, у меня нет необходимости в иероглифах.


 
Sdubaruhnul   (2007-08-02 21:54) [96]

>Где ? в каком месте ? если имеешь в виду BDS 2006 то извините меня там 7 языков как-никак. До такого количества только  MS Visual Studio доплёвывает.

Я имею ввиду как раз BDS 2006. 7 языков - так вот, что тебе надо? И на скольки одновременно ты можешь программировать?


 
ZeroDivide ©   (2007-08-02 22:04) [97]


> Эта фигня имеет место быть даже на русской Виндоус, если
> локализация установлена например немецкая. Юникод дает независимость
> от локализации конкретной ОС. А уж про английские версии
> ОС и говорить не стоит, частое явление.
>


Да, я не спорю. Просто, как-то CG умудряется до сих пор существовать и без поддержки юникода в VCL... и BDS продает несмотря на все это... А так, я всеми руками и ногами...

Вот что действительно нехватает, так это ХОРОШЕЙ справки. В турбопаскале я часто нажимал F1, в D7 тоже... сейчас уже не нажимаю :( Продукты Borland всегда славились хорошей справкой, может CG поддержит эту традицию, надеюсь на это.

В общем с Delphi я не слезу, даже если она вообще больше не будет развиваться, я в отличие от ИШ, не сижу на голой VCL и стандартных модулях и мне есть что терять, при переходе на другую систему. Под Жабу я не писал, а в .Net похоже, кроме ASP.NET смотреть не на что... .Net-овские контролы, такой же отстой, как VCL, даже хуже.


 
Игорь Шевченко ©   (2007-08-03 09:50) [98]

Sdubaruhnul   (02.08.07 19:13) [90]


> IntelliJ Idea


Ну, Java - это не интересно. Это тормоза сами по себе.

ZeroDivide ©   (02.08.07 19:26) [91]


> Оно и обрабатывается в обработчиках, внутри компонента,
> снаружи только пропертя для кустомизации. И нужно это чтобы
> кучу тупых обработчиков по 10000 раз не писать.


Как ты понимаешь, тупые обработчики по 10000 раз я и не пишу, написал один раз, а дальше использую. Наседование великая вещь и необязательно ее оформлять в виде компонентов.


> Ну флаг тебе... Ты ведь вообще, насколько я помню, case-
> средствами для проектирования не пользуешься... все ручками.
> .. :)


Проектирую я точно ручками - это ты прав. Потому как не могу найти удобного и дешевого средства для проектирования, которое бы стоило изучать. Потому что изучение оно тоже время занимает.

А код я ручками редко пишу, в основном использую готовый или всякого рода генераторы кода пользую.


 
Dib@zol ©   (2007-08-03 09:54) [99]

Удалено модератором
Примечание: Детский сад находится в другом месте


 
pasha_golub ©   (2007-08-03 11:39) [100]


> Sdubaruhnul   (02.08.07 18:09) [87]
>
> Молодцы, навалились разом и задавили.

Глупость. Нету у меня никаких причин давить кого-то. Я вам еще раз повторяю. Сижу на Д7. Потребовался некое расширение функционала. Ну например, поиск компонентов на палитре, ибо один набор ДувЭкспресса чего стоит. В процессе поиска было установлено DDevExtensions, Castalia & GExperts. Впоследствии, Castalia была снесена, а у GExpert"a оставлено только несколько фич, остальные задизаблены. А вкупе они такого функционала предлагают, что и не снилось, Вопрос: почему я так сделал? Потому что, чтобы воспользоваться некой фишкой, мне нужно отвлекаться, вспоминать горячие клавиши, и т.п. и т.д.

Format я на автомате наберу и не чихну, MessageDlg или как там и прочее тоже. Я, если верите, больше времени код созерцаю нежели набираю. А при таком варианте всякого рода вспомогательные штуки душу не греют. Достаточно встроенных.

С другой стороны, периодически пересаживаясь на TP7, я оценил, необходимость в фичах среды Delphi.


 
AZIZE ©   (2007-08-03 11:45) [101]

каждый програмирует на том, на чём ему удобней, или на том, что больше подходит для требуемой задачи, нельзя всё оценивать со своей колокольни, мне например более всего удобней работать на Delphi но при необходимости я пересаживаюсь и на Жаву и на С


 
atruhin ©   (2007-08-03 14:15) [102]

[48] Игорь Шевченко ©   (02.08.07 09:57)
> А Demos ты не устанавливаешь из принципа или установив,
> не читаешь ?
> Там как раз есть пример, как сделать свой DataSet.

Примитивно:
Как указать что значение поля равно nil?
Как выделять буфера calculated полей?

Это первое что в голову пришло. Будь добр покажи где это есть в примере или хелпе.
PS. Функции TypInfo в хелпе тоже описаны?


 
atruhin ©   (2007-08-03 14:16) [103]

> поля равно nil?

Естественно: поля равно NULL


 
Kolan ©   (2007-08-03 14:47) [104]

> Функции TypInfo в хелпе тоже описаны?

Вот что описано в BDS
TypInfo Unit

Classes
EPropertyConvertError
EPropertyError
TPublishableVariantType
Types
TParamFlag
TTypeKind
Routines
FreeAndNilProperties
GetEnumName
GetEnumValue



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

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

Наверх





Память: 0.78 MB
Время: 0.061 c
15-1186171905
Kostafey
2007-08-04 00:11
2007.09.02
С днем рождения ! 4 августа


2-1186727836
cvg
2007-08-10 10:37
2007.09.02
Как в TChart изменить точность осей grid а?


15-1186238067
JanMihail
2007-08-04 18:34
2007.09.02
Как поменять текст "Приветствие" на какой-либо другой


15-1185994245
JohnJ
2007-08-01 22:50
2007.09.02
Распознавание текста с изображения (картинки формата bmp)


2-1186487790
axezzz
2007-08-07 15:56
2007.09.02
Word Server





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский