Текущий архив: 2006.10.29;
Скачать: CL | DM;
Вниз
Соц. опрос Найти похожие ветки
← →
iZEN © (2006-10-02 16:37) [160]
> Marser © (02.10.06 12:20) [152]
> Не, ну это явная агония. "Он был ранен шесть раз, но не
> сдавался"(С)
Для особо одарённых: выражение "APPTYPECONSOLE" читайте как: "исключительное использование текстового редактора вместо дизайнера форм". Считайте, что для вас я зачёркиваю слово APPTYPECONSOLE.
> DrPass © (02.10.06 12:27) [154]
>
> > iZEN © (02.10.06 11:16) [143]
>
> > Размерность Ineger зависит от разрядности процессора -
> это
> > декларация Паскаля. Способы работы со строками (+длинные
> > строки) - это свойство языка, а не компилятора. Кодировка
> > символов, кстати, тоже разная при переходе от TP к Delphi
> > (ASCII -> ANSI).
>
> Пункт 1. В стандарте С вообще отсутствует привязка к разрядности
> процессора, оставляя размерность того же int на совести
> компилятора. Что разработчики компиляторов и делают
Разработчики C-компиляторов может быть и делают, посколько язык C МАШИННО-ЗАВИСИМ со времён PDP-7. Но мы говорим о Pascal и его вариантах. Почитайте Н. Вирта, что он пишет по поводу виртуальных машин.
> DrPass © (02.10.06 12:27) [154]
> Пункт 2. Способы работы со строками в Паскале совместимы
> с самой первой версии. Они только расширялись и добавлялись,
> но никогда не менялись
Н да? Вы знаете, что в самой первой публичной версии виртовского Pascal строк НЕ БЫЛО! Строки представлялись массивом значений типа Сhar. Не заглядывал в ISO-стандарт языка, но с большей долей уверенности могу предположить, что типа String там нет.
Что касается строк типа String (здесь: ShortString в интерпретации Delphi) с ёмкостью 0-255 байт со значением размера строки в нулевом байте, то они появились как расширение языка (напомните, где, в каком диалекте).
Язык Delphi продолжил традицию: увеличил длину строки и сделал строки этого типа совместимыми с ASCIIZ - Си-реализациями массива символов-байтов с нулём в последнем элементе, и этот факт повлиял на МЕТОДЫ работы со строками, стало необходимо использовать специальный менеджер памяти длинных строк прежде всего для операций конкатенации таких строк и прицеплять его для работы с Си-кодом из чужих DLL библиотек.
> DrPass © (02.10.06 12:27) [154]
>
> > iZEN © (02.10.06 11:16) [143]
>
> Пункт 3. По поводу кодировки - странно слышать такое утверждение
> от человека, который, по его словам имеет опыт программирования
> больше 6 лет... вообще странно слышать такое от человека,
> который имеет какой-либо опыт программирования.
Прежде всего старые иходники из TurboPascal не годятся для работы со строками, где требуется лексический анализ текста на национальном (русском) языке.
Это я и хотел сказать.
> DrPass © (02.10.06 12:27) [154]
>
> > iZEN © (02.10.06 11:16) [143]
>
> Пункт 4. Так как там насчет "хоть одного неопровергнутого
> твоего утверждения"? ;-)
Читайте внимательно, что пишете.
← →
Marser © (2006-10-02 16:48) [161]> [160] iZEN © (02.10.06 16:37)
>
> > Marser © (02.10.06 12:20) [152]
> > Не, ну это явная агония. "Он был ранен шесть раз, но не
>
> > сдавался"(С)
>
> Для особо одарённых: выражение "APPTYPECONSOLE" читайте
> как: "исключительное использование текстового редактора
> вместо дизайнера форм". Считайте, что для вас я зачёркиваю
> слово APPTYPECONSOLE.
Э... Вот я и говорю, что агония. Потому что ничто не мешает сделать это дополнительно, да и тот же dfm в тесктовом виде неплох вплоть то переноса в другие форматы, пусть, как сказал Петруха, и с долей геморроя.
← →
iZEN © (2006-10-02 16:50) [162]
> isasa © (02.10.06 16:26) [159]
>
> iZEN © (02.10.06 09:44) [117]
>
> подтверждаю утверждение о преемственности кода
> Юрий Зотов © (02.10.06 09:11) [115]
>
> У меня в сборке под D7 работает код, писанный мною в ~1990
> году на Turbo Pascal 5.0 с использованием Turbo Professional
> 5.5.
> Функциональность довольно обширна - системы нелинейных уравнений
> 2-3 порядка. Итерация.
Даже Real на Real48 нигде не пришлось заменять или не указывать ничего компилятору по этому поводу?
Отлично!
Жму вашу мужественную руку. :)
← →
iZEN © (2006-10-02 16:54) [163]
> Marser © (02.10.06 16:48) [161]
>
> Э... Вот я и говорю, что агония. Потому что ничто не мешает
> сделать это дополнительно, да и тот же dfm в тесктовом виде
> неплох вплоть то переноса в другие форматы, пусть, как сказал
> Петруха, и с долей геморроя.
Ну попробуйте перенести проект трёхзвенки из Delphi3 в Delphi6. Я думаю, благодаря библиотеке MIDAS шансов сделать это легко и непринуждённо немного.
← →
Тугодум © (2006-10-02 16:56) [164]iZEN © (02.10.06 16:54) [163]
Я переносил с 4 на 6. В итоге делал DataModule заново.
Есть другой проект, на 3. Пока решили не переносить даже на 4 :)
← →
isasa © (2006-10-02 17:55) [165]iZEN © (02.10.06 16:50) [162]
Даже Real на Real48
:)
А зачем. Я не фанат 6-ти байт. Стандарт IEEE тоже устраивает, число знаков больше.
Real types
A real type defines a set of numbers that can be represented with floating-point notation. The table below gives the ranges and storage formats for the fundamental real types.
Type Range Significant digits Size in bytes
Real48 2.9 x 10^–39 .. 1.7 x 10^38 11–12 6
Single 1.5 x 10^–45 .. 3.4 x 10^38 7–8 4
Double 5.0 x 10^–324 .. 1.7 x 10^308 15–16 8
Extended 3.6 x 10^–4951 .. 1.1 x 10^4932 19–20 10
Comp –2^63+1 .. 2^63 –1 19–20 8
Currency –922337203685477.5808.. 922337203685477.5807 19–20 8
The generic type Real, in its current implementation, is equivalent to Double.
← →
Oldman © (2006-10-02 17:59) [166]
> Сатир (30.09.06 13:54)
> Назовите преимущества разработки программного обеспечения
> в среде Delphi.
не назову.
потому что их нет!
:)
← →
Ketmar © (2006-10-02 18:00) [167]>[166] Oldman(c) 2-Oct-2006, 17:59
>не назову.
>потому что их нет!
а вот и неправда. можно с полным правом учавствовать в обсуждениях на этом форуме. мало разве? %-))
← →
Oldman © (2006-10-02 18:03) [168]
> Ketmar © (02.10.06 18:00) [167]
Ага. ты еще Борландам идею рекламы подкинь:
"Если вы разрабатываете приложение в нашей среде, то можете с полным правом потрепаться на Дельфимастер!"
:)))
← →
Ketmar © (2006-10-02 18:05) [169]>[168] Oldman(c) 2-Oct-2006, 18:03
>Ага. ты еще Борландам идею рекламы подкинь:
а что? знатная пиар-компания. пусть несчастный борланд погреется в лучах нашего величия. %-)
← →
DrPass © (2006-10-02 18:25) [170]
> iZEN © (02.10.06 16:37) [160]
И причем здесь "академический" виртуальный язык, если мы говорим про живую реализацию? Pascal как промышленный инструмент существует с 1983 года. Обратная совместимость присутствует во всех версиях. Речь о нарушениях стандарта не идет, потому как ISO-стандарта на Паскаль нет, но разработчик фактически один - и это позволяет ему динамично развиваться, не нарушая при этом изначальную идеологию и сохраняя совместимость версий.
> Язык Delphi продолжил традицию: увеличил длину строки и
> сделал строки этого типа совместимыми с ASCIIZ - Си-реализациями
> массива символов-байтов с нулём в последнем элементе, и
> этот факт повлиял на МЕТОДЫ работы со строками, стало необходимо
> использовать специальный менеджер памяти длинных строк прежде
> всего для операций конкатенации таких строк и прицеплять
> его для работы с Си-кодом из чужих DLL библиотек
...и что? Обратная совместимость сохранена, при этом разработчику на его выбор предоставлен мощный инструмент, недоступный в других средах. Менеджер памяти - это действительно достоинство Delphi и ее большое преимущество перед конкурентами. Опять же, если разработчика что-либо не устраивает (хотя такого в принципе не случается, но мало ли что), Delphi ему предоставляет и нативный C-шный тип PChar, и нативные функции ОС работы с памятью.
Так в чем недостаток? Что Delphi предоставляет богатый выбор технологий?
> Прежде всего старые иходники из TurboPascal не годятся для
> работы со строками, где требуется лексический анализ текста
> на национальном (русском) языке.
Годятся - достаточно исходные данные переконвертировать в требуемую кодировку, либо сами исходники. Делается в пару щелчков мыши. Ту же самую операцию необходимо проделать для программы на ЛЮБОМ языке программирования при ее переносе с платформы DOS на Windows.
← →
Oldman © (2006-10-02 18:27) [171]
> Ту же самую операцию необходимо проделать для программы
> на ЛЮБОМ языке программирования при ее переносе с платформы
> DOS на Windows.
Да ну?
← →
DrPass © (2006-10-02 18:29) [172]
> Oldman © (02.10.06 18:27) [171]
А что, есть сомнения?
Если, конечно, тебе не нужно отображать в старой кодировке. Если нет - тогда и с Pascal-кодом делать ничего не придется
← →
Ketmar © (2006-10-02 18:31) [173]>[170] DrPass(c) 2-Oct-2006, 18:25
>потому как ISO-стандарта на Паскаль нет, но
есть. %-)
← →
Oldman © (2006-10-02 18:32) [174]
> DrPass © (02.10.06 18:25) [170]
> достаточно исходные данные переконвертировать
> в требуемую кодировку,
Я DOS dbf-файлы не конвертирую...
А с паскаль-кодом приходится что-то делать...
← →
DrPass © (2006-10-02 18:35) [175]
> Ketmar © (02.10.06 18:31) [173]
> есть. %-)
Есть? Тогда я круто неправ :)
> Oldman © (02.10.06 18:32) [174]
Все то же справедливо. Только DBF за тебя в кодировку клиента конвертирует драйвер БД
← →
Ketmar © (2006-10-02 18:36) [176]>[175] DrPass(c) 2-Oct-2006, 18:35
>Есть? Тогда я круто неправ :)
есть. но никто его не соблюдает. %-) GNU Pascal, кажется, умеет. %-)
← →
Oldman © (2006-10-02 18:41) [177]
> DrPass © (02.10.06 18:35) [175]
Стоп! разговор о тексте? (дбф тоже потоковый текст)...
А как насчет других данных?
Электрические сигналы?
Видео?
Граф-изображения?
Двоичные файлы?
← →
clickmaker © (2006-10-02 18:50) [178]Лично для меня плюсы Дельфей перед C++, например, такие:
- более структурированный и дисциплинирующий синтаксис. Не позволяет слишком уж извращаться, код более читаем.
- более удобный дизайнер форм (если за уши привлечь для сравнения редактор диалогов из VC++ или .NET Forms)
- быстрая компиляция
- наглядная и понятная иерархия VCL, без лишнего геморроя в виде множественного наследования, шаблонов и прочего пальцегнутия
- местами более удобный редактор кода
← →
Oldman © (2006-10-02 18:54) [179]
> clickmaker © (02.10.06 18:50) [178]
> - более структурированный и дисциплинирующий синтаксис.
> Не позволяет слишком уж извращаться
гы...
кому как...
:)))
← →
clickmaker © (2006-10-02 19:02) [180]правда иногда очень не хватает в делфях сишной конструкции
d = (a == b ? c : f);
пожалуй, это единственная элегантная по-настоящему фишка :)
← →
isasa © (2006-10-02 19:24) [181]clickmaker © (02.10.06 19:02) [180]
пожалуй, это единственная элегантная по-настоящему фишка
А как в MS VS задрала фишка по добавлению private метода в класс, делающего его(метод) public в описании. Или это только я такой счасливый. :)
← →
Oldman © (2006-10-02 19:28) [182]
> clickmaker © (02.10.06 19:02) [180]
> правда иногда очень не хватает в делфях сишной конструкции
> d = (a == b ? c : f);
> пожалуй, это единственная элегантная по-настоящему фишка
> :)
А в чем фишка?
Ты, видимо, никогда не работал в команде...
← →
default © (2006-10-02 19:29) [183]clickmaker © (02.10.06 19:02) [180]
это просто великолепная конструкция, её создателю надо поставить памятник
← →
default © (2006-10-02 19:31) [184]Oldman © (02.10.06 19:28) [182]
причём тут команда?
← →
Oldman © (2006-10-02 19:34) [185]
> default © (02.10.06 19:31) [184]
Команде потом сложно разбраться в твоем синтаксисе без присутствия тебя...
← →
default © (2006-10-02 19:36) [186]Oldman © (02.10.06 19:34) [185]
это не так, а наоборот
← →
Oldman © (2006-10-02 19:38) [187]
> default © (02.10.06 19:36) [186]
илахеорп ,ондал и ун
← →
default © (2006-10-02 19:40) [188]ну вот хотя бы такой пример
string state = IsOn ? "ON" : "OFF";
string state;
if (IsOn) state = "ON"; else state = "OFF"
да хоть так отформатировать
string state;
if (IsOn)
state = "ON";
else
state = "OFF"
первая конструкция выигрывает
← →
Oldman © (2006-10-02 19:41) [189]
> default © (02.10.06 19:40) [188]
давай еще вспомним iif из clipper...
← →
Marser © (2006-10-02 19:43) [190]> [180] clickmaker © (02.10.06 19:02)
> правда иногда очень не хватает в делфях сишной конструкции
> d = (a == b ? c : f);
> пожалуй, это единственная элегантная по-настоящему фишка
> :)
Да, это оно, иогда так хочется, а нету... :-)
> [185] Oldman © (02.10.06 19:34)
>
> > default © (02.10.06 19:31) [184]
>
>
> Команде потом сложно разбраться в твоем синтаксисе без присутствия
> тебя...
Да, мне по этому поводу накостыляли в соответствующей ветке :-)
← →
default © (2006-10-02 19:49) [191]Marser © (02.10.06 19:43) [190]
ещё, например, в метод можно передавать типа
Object.Method( IsValidString ? Str : "", 5);
с if-ом тут бы были строки кода....
← →
default © (2006-10-02 19:51) [192]то есть мы получаем компактность не теряя наглядности
← →
saxon (2006-10-02 19:52) [193]
> Oldman © (02.10.06 19:41) [189]
IIf тут и рядом не стояла, откуда бы она нибыла :)
← →
Чапаев © (2006-10-02 19:59) [194]> давай еще вспомним iif из clipper...
Лучше Фортран с "арифметическим if"... ;-)
← →
Marser © (2006-10-02 20:49) [195]> [191] default © (02.10.06 19:49)
> Marser © (02.10.06 19:43) [190]
> ещё, например, в метод можно передавать типа
> Object.Method( IsValidString ? Str : "", 5);
> с if-ом тут бы были строки кода....
Красиво.
← →
Petr V. Abramov © (2006-10-02 23:26) [196]> Marser © (02.10.06 16:48) [161]
> пусть, как сказал Петруха, и с долей геморроя.
А кто такой Петруха? Если имелось в виду Petr V. Abramov © (02.10.06 12:35) [155], то заметь, что я спокойно отношусть к таким цитатам со стороны:
Rouse, он меня было дело сильно выручил
pasha_golud, я у него маааленький шмоток сала сала стырил и увез в Тимково, чем заслужил прощение жены, хоть и по приезде прошел участок на 4-х конечностях и в дверь стучал не рукой :)
Вот пока шмоток сала в МАскву не привезешь, цитируй меня по нику.
← →
clickmaker © (2006-10-03 09:32) [197]
> Ты, видимо, никогда не работал в команде...
Команда команде рознь.
Если выработать некий общий стиль кодинга, то проблем не будет. Главное, новобранцев вовремя вводить в курс.
А вот большая текучка и правда очень больно бьет по проектам... Особенно, если они хреново (в лучшем случае - обычно никак) документрируются
← →
Lamer@fools.ua © (2006-10-03 10:51) [198]>>iZEN © (02.10.06 16:37) [160]
> Язык Delphi продолжил традицию: увеличил длину строки и
> сделал строки этого типа совместимыми с ASCIIZ - Си-реализациями
> массива символов-байтов с нулём в последнем элементе, и
> этот факт повлиял на МЕТОДЫ работы со строками, стало необходимо
> использовать специальный менеджер памяти длинных строк
Post hoc ergo propter hoc.
← →
digger © (2006-10-03 13:54) [199]Во время знакомства со средствами разработки под Windows поработал немного в Delphi 5, потом открыл VisualStudio 6.0 - потыкался, закрыл и больше не открывал. К языку C++ неприязни не имею. Delphi по сравнению с билдером работает шустрее. Поэтому остановился на Delphi. Считаю, что Delphi хорошо пригодна как для новичков так и для профи.
← →
iZEN © (2006-10-03 15:51) [200]
> Lamer@fools.ua © (03.10.06 10:51) [198]
> Post hoc ergo propter hoc.
Не без этого. ;)
Программист, как пользователь Delphi (языка), видит, что появился новый тип строк (длинные строки), и применяет в работе с ним новые методы, чтобы правильно использовать чужой код.
И наоборот.
> digger © (03.10.06 13:54) [199]
>Считаю, что Delphi
> хорошо пригодна как для новичков так и для профи.
Возможно.
„В современном мире важны не навыки, но способности.“
Новые <несовместимые> версии Delphi как раз и тренируют эти способности, нивелируя роль прежних ранее приобретённых (в ранних версиях Delphi) навыков.
Джоэл Спольски правильно говорит.
Остаётся только несколько неизменных навыков: эффективно работать мышью, "кидать батоны на формы", присваивать "свойства в Инспекторе", не сильно задумываясь о самом языке. А зачем о чём-то задумываться, если язык и библиотеки меняются с выходом каждой новой версии?
Страницы: 1 2 3 4 5 6 вся ветка
Текущий архив: 2006.10.29;
Скачать: CL | DM;
Память: 0.85 MB
Время: 0.086 c