Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Embarcadero RAD Studio XE3

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

Открыть новую тему     Написать ответ в эту тему

LadyOfWood

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
1. Чем им не угодил AnsiString, AnsiChar - зачем их выкидывать?  

Может есть какие либо особенности iOS, хотя скорее всего не захотели портировать часть кода которая завязана на ansistring. Но со строками они и так натворили

Всего записей: 620 | Зарегистр. 16-09-2003 | Отправлено: 17:30 21-04-2013
valgreesh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
HeMet
 
 
 

Цитата:
последние несколько лет говорят, что уберут эту конструкцию, потому что она бардака добавляет и вообще нужно использовать промежуточные переменные.

 
Вот и пусть используют кому добавляет, а меня не прикалывает здоровую библу перелопачивать для совместимости. Уроды, блин Похоже, пора валить на FPC.

Всего записей: 292 | Зарегистр. 30-11-2011 | Отправлено: 17:42 21-04-2013
zertyuiop



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Про FPC вы правильно говорите, при наличии прямых рук возможно писать программы лучше, чем на RAD Studio (вспомним Total Commander).
 
Сам сижу на XE2 (в XE3 так и не пошла документация), надеялся на XE4, но реакция та же. По моему мнению, XE2 остается самой стабильной версией. Visual Studio в нужной редакции для меня слишком дорог.
 
Евгений Крюков продался Embarcadero с потрохами (хотя, если посмотреть, там многие подобные люди сидят), и, как видно, не работает. FireMonkey еще слишком сырой, для чего-то мощнее демонстратора технологий он не подходит.
 
Из достойных продуктов Embarcadero можно назвать разве что RADPHP (не HTML5Builder) и Interbase.
RAD Studio успешно загибается, уже переходят на полугодовой режим выпуска версий (бабло только качать), FireMonkey не оправдывает ожиданий, документация по типу Visual Studio, без самой Visual Studio, на нескольких компьютерах у меня не пошла. Одно радует: 64-битные компиляторы, но проблем все равно больше.
 
Сам перехожу на Lazarus/FPC и Qt SDK (лицензию на коммерческую версию я осиливаю без проблем). 5 версия Qt очень порадовала, Lazarus 1.0.8 достаточно стабилен.
 
Летит RAD Studio в трубу, главное, вовремя слезть.
 
Как вариант, можно использовать Oxygene, но с ним я еще дело не имел.

Всего записей: 350 | Зарегистр. 25-08-2012 | Отправлено: 23:04 21-04-2013 | Исправлено: zertyuiop, 23:18 21-04-2013
LadyOfWood

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
при наличии прямых рук возможно писать программы лучше, чем на RAD Studio (вспомним Total Commander).  

А Total вроде на Delphi 2. Или это про 64 бита?

Всего записей: 620 | Зарегистр. 16-09-2003 | Отправлено: 23:29 21-04-2013
miwa

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LadyOfWood
64-битный точно на FPC собирается; а где-то видел (возможно что и домыслы), что автор вообще полностью на лазарус переходит. Сейчас ссылку найти не могу, так что «за что купил, за то продаю».

Всего записей: 455 | Зарегистр. 10-10-2004 | Отправлено: 11:09 22-04-2013
deks



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LadyOfWood
 
по поводу нативных для платформы managed-code SDK: windows phone разработка сейчас вся на managed-code. Нативный C/C++ вроде бы анонсирован, но пока нету.  
 
С BB10 ситуация вообще запутанная - там есть равноправные SDK - native C/C++ (QT), android/java runtime, adobe air и html5.  
 
С palm webOS думаю, все и так понятно - JS, аналогично с FirefoxOS. Про bada/tizen/и прочие нишевые поделки не в курсе.  
 
Но iOS+Android+BB+WinPhone покрывают 99% мобильных платформ. Для многих есть нативные managed решения. Ну и iOS нельзя назвать полностью классической нативной платформы - там типизирование все-таки динамическое (гуглить Objective-C runtime - там написано как именно заворачиваются классы в вызовы C-функций).
 
RuXandr
 
Чем AnsiString не угодил? На iOS нативным типом является строка UTF-16, fixed-width 2-byte characters. Причем, строка - это объект. Видимо, ЭМРО не хотелос в новом компиляторе городить поддержку типов вроде "указатель на массив символов" - прямой необходимости в них на мобильной платформе нету, а "для совместимости" можно перенести на потом - как будут менять компилятор для desktop. Думаю, при такой замене VCL станет legacy, и "отомрет" - видимо, для VCL оставят старый компилятор win32/64. Для всех новых FMX проектов будут использовать новый компилятор, как на desktop, так и на мобильных платформах. А может к тому времени старая кодовая база отомрет сама собой, и не придется тащить за собой костыли совместимости с древним багажом - эдакий Apple-way.

Всего записей: 857 | Зарегистр. 09-10-2003 | Отправлено: 12:55 22-04-2013
RuXandr

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
deks,
Да я тоже так думаю, что теперь новой делфе нужно играть по правилам LLVM, отсюда видимо и неизменяемые строки. Однако ведь вы же не перестаете пользоваться типом BYTE, когда есть тип NativeInt? Я это к тому что AnsiString/AnsiChar типы полезные сами по себе а не только для совместимости. А вот что больше всего меня расстроило так это то что убрали WITH. Я лично считаю что это великая глупость. Да при его использовании есть возможность сделать определенный тип ошибок, однако плюсов я считаю все равно больше, чем минусов. Сколько можно сделать ошибок при объявлении временных переменных и присвоению им значения? Это уже не говоря о том что им нужно придумать имена которые иногда должны быть не перекрывающиеся с более высокой областью видимости.  И конечно же, все это явно не ускоряет скорость написания кода. Короче печаль. Но походу это еще не все... сегодня прочел в What's new  вот это:  

Код:
 
With the DCCIOSARM compiler, finally blocks can catch a hardware exception only if the try block contains a method or function call. This is a difference related to the LLVM backend of DCCIOSARM, which only generates a landing pad for a function, and thus cannot return if no method/function is called in the try block.
 
For example, this is how to structure a try-finally block that can catch a hardware exception:
 
var
  P: ^Integer = nil;
 
procedure G1;
begin
  P^ := 42;
end;
 
begin
  try
    G1;
  except
    writeln('Catch:G1 - pass');
  end;
end.
 

Т.е. если написать так:

Код:
 
try
  P^ := 42;
except
  writeln('Catch:G1 - pass');
end;
 

исключение не будет обработано??? Это эпик фейл!  
источник: _http://docwiki.embarcadero.com/RADStudio/XE4/en/Migrating_Delphi_Code_to_iOS_from_Desktop

Всего записей: 96 | Зарегистр. 13-10-2009 | Отправлено: 13:41 22-04-2013
LadyOfWood

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А вот что больше всего меня расстроило так это то что убрали WITH. Я лично считаю что это великая глупость.

Да, возможно и глупость. Но логика в этом есть. With имел проблемы с портированием, например

Код:
 
var
R: TRect; Form: TForm;
 
with R, Form do
  Width := 100;
 

хороший понятный код, но после того как в записях появились методы (TRect имеет метод Width), упс код работает совсем по другому, причем не предупреждений ничего нет. Хотя могли оставить директиву компилятора.

Всего записей: 620 | Зарегистр. 16-09-2003 | Отправлено: 15:07 22-04-2013
XPerformer



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LadyOfWood
методы в записях появились значительно раньше. Это не повод беспредельничать, я считаю

Всего записей: 2536 | Зарегистр. 20-06-2011 | Отправлено: 15:15 22-04-2013
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Web-"технологии" - это вообще хохма. Поэтому не будем про них. Когда будет хоть какое-то единство в Web'e, тогда и поднимем этот разговор,

 
Интересные у вас понятия. Значит все, что касается интернета - по определению несерьёзная хохма. Например Microsoft SQL Server - несерьёзная хохма, потому что на нём крутится stackoverflow.com
 
Кстати, и в нативном мире тоже "нет единства". Кто-то на VB6 пишет, кто-то на ObjC, кто-то на фортране, кто-то на GCJ, кто-то вообще на Дельфи. И даже у пл.сплюсников - разные компиляторы. Нет единства хоть тресни.
 

Цитата:
Что там с ним? с ejabberd этим? он рвёт всех или что?

Имеем, что как только понадобился не блокнотик на одного юзера, а сервер на десятки тысяч, программы написаные на managed-языках (Erlang, Java) оказались практичнее, чем нативные C++
C jabberd на managed-сервера миргрируют, а обратно - фиг.

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 15:53 22-04-2013
LadyOfWood

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
методы в записях появились значительно раньше. Это не повод беспредельничать, я считаю

Это больше похоже на средство обеспечения устойчивости. Хотя да могли просто пометить как deprecated. Хотя я например with практически не использую.

Всего записей: 620 | Зарегистр. 16-09-2003 | Отправлено: 16:12 22-04-2013
XPerformer



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Это больше похоже на средство обеспечения устойчивости. Хотя да могли просто пометить как deprecated.  

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

Всего записей: 2536 | Зарегистр. 20-06-2011 | Отправлено: 16:24 22-04-2013
LadyOfWood

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Если каждый, у кого молоко на губах не обсохло, будет выкидывать операторы, входившие в стандарт  испокон века, то цивилиция

Это все конечно так, но тут давно забили на стандарты и делают что хотят.

Цитата:
основанная на принципе совместимости снизу вверх, долго не протянет

Лавры Apple сильно заразительны

Всего записей: 620 | Зарегистр. 16-09-2003 | Отправлено: 16:55 22-04-2013
XPerformer



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Это все конечно так, но тут давно забили на стандарты и делают что хотят.

Выхожу со встречным предложением: давайте запретим глобальные переменные.
Зло? несомненно. Но все используют, начиная с переменных Screen и Application

Всего записей: 2536 | Зарегистр. 20-06-2011 | Отправлено: 17:04 22-04-2013
LadyOfWood

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Выхожу со встречным предложением: давайте запретим глобальные переменные.

Тише, а то могут и услышать

Цитата:
Но все используют, начиная с переменных Screen и Application  

Ну это singleton, как его еще использовать.

Всего записей: 620 | Зарегистр. 16-09-2003 | Отправлено: 17:20 22-04-2013
Eternal_Shield

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arioch1

Цитата:
Интересные у вас понятия. Значит все, что касается интернета - по определению несерьёзная хохма. Например Microsoft SQL Server - несерьёзная хохма, потому что на нём крутится stackoverflow.com

Стоп-кран. Причём тут MSSQL Server? Разговор за платформы/браузеры.
 

Цитата:
Кстати, и в нативном мире тоже "нет единства". Кто-то на VB6 пишет, кто-то на ObjC, кто-то на фортране, кто-то на GCJ, кто-то вообще на Дельфи. И даже у пл.сплюсников - разные компиляторы. Нет единства хоть тресни.  

Ага, но при этом DrawRectangle хоть ты тресни правильно рисуется и из VB6 приложения и из Delphi и т.п., чего с вебом не наблюдается вообще.  
 

Цитата:
Имеем, что как только понадобился не блокнотик на одного юзера, а сервер на десятки тысяч, программы написаные на managed-языках (Erlang, Java) оказались практичнее, чем нативные C++.  C jabberd на managed-сервера миргрируют, а обратно - фиг.

Разумеется, ведь в managed языках плюшек много, которые существенно повышают производительность одного кодера и уменьшают кол-во багов на 1000 строк кода по сравнению с С++/С. Это очевидно ... только вот какова цена всего этого? Я же не зря в одном и постов назад написал про цену всего этого ...  
 
Так к слову: Есть какой-нибудь пример, который убедительно показывает, что managed хоть что-то может? Например, аналог MSSQL Server'a? Или Havok Engine? Может что-нить типа Sony Vegas/Sony Sound Forge? ... или, может, PhotoShop или 3dmax? ... ?

Всего записей: 767 | Зарегистр. 18-05-2009 | Отправлено: 17:24 22-04-2013
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
причём тут браузеры ? разговор только о пригодности managed vs native языков для разработки сложных программ.
 
при чём тут Веб и браузеры ? если уж хочется приплести разные рантаймы думаю, можно найти функцию., которая по разному выполняется на Windows, WinE и Open32. И что с того ?
 
 

Цитата:
 Или Havok Engine? Может что-нить типа Sony Vegas/Sony Sound Forge? ... или, может, PhotoShop или 3dmax? ... ?

т.е. за исключенем СКУЛя все примеры - математические вычисления над большими матрицами не объектов, а пассивных простых цифр. Из того, что для вычислительной математики managed не применяют, как правило, делается вывод - что "managed не может ничего ваапсче"
 
Это примерно как говорить, что C++ ничего не может, потому что PhpBB написан не на C.
 
Да, кстати, IL2 Sturmovik насколько помню написан был на Java 1.4
Конечно, Хавока по тем временам не было, но игра была далеко не аркадной.
 
Добавлено:

Цитата:
Но все используют, начиная с переменных Screen и Application  
 
   Ну это singleton, как его еще использовать.

 
Например с обязательным указанием содержащего их объекта (юнита): VCL.Forms.Application
 
Ну или with VCL.Forms do Application.Hint := ...
 
 
Другой вариант, в стиле FMX, завести в язык системную функцию
 
function System.GetSystemService(const Name: string): IDictionary<string, TValue>;
 
System.GetSystemService('Screen')['Forms'].AsType<TArray<TForm>>[0].Caption := 'Нашёл!';
 
 

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 17:35 22-04-2013
LadyOfWood

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
System.GetSystemService('Screen')['Forms']

В FMX действительно так? Это же клиника, операции со строками всегда самые медленные, зачем их городить где не надо, можно ведь именнованные константы использовать.

Всего записей: 620 | Зарегистр. 16-09-2003 | Отправлено: 23:29 22-04-2013
valgreesh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arioch1

Цитата:
Другой вариант, в стиле FMX, завести в язык системную функцию  

 
Как хорошо, что до такого маразма они не додумались. Проблема решается переменными/свойствами класса: TApplication.Instance;

Всего записей: 292 | Зарегистр. 30-11-2011 | Отправлено: 00:49 23-04-2013
XPerformer



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Как хорошо, что до такого маразма они не додумались. Проблема решается переменными/свойствами класса: TApplication.Instance;

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

Всего записей: 2536 | Зарегистр. 20-06-2011 | Отправлено: 07:20 23-04-2013
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Embarcadero RAD Studio XE3


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru