Форум: "Потрепаться";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];
ВнизBorland присоединилась к Eclipse. Найти похожие ветки
← →
Димон (2005-03-02 18:47) [40]
> [39] Игорь Шевченко © (02.03.05 18:42)
Да ладно тебе, Игорь:)
Понимание у всех разное.
Я тоже считаю, что не способствует. Но это лишь маленькая часть "неспособства". Там куча чего нужно модернизировать. При том многие аспекты куда более глубоко, чем подменить какие-то константы. Даже руки пачкать об такой код не хочеться. Все нафиг и написать заново.
:))
← →
Игорь Шевченко © (2005-03-02 18:55) [41]Димон (02.03.05 18:47) [40]
> Я тоже считаю, что не способствует
И вовсе не разное понимание.
Я к тому, что ставить вопрос о выборе компилятора для поддержки такого вот кода как-то и не очень уместно :) Проще код выкинуть :)
← →
Димон (2005-03-02 19:03) [42]
> [41] Игорь Шевченко © (02.03.05 18:55)
В дельфи есть средство импортирования библиотек типов com.
Дельфи (как минимум шестерка) имортирует последний параметр adodb.command.execute как integer, тогда как одно из возможных значений данного параметра равно -1, хотя борланд импортирует его как $FFFFFFFF. При этом шестерка радостно этот код компилитexecute(...., cmdUnspecified).
2005 компилит, но в runtime!!! бывает ошибка range check error.
Отключение $R- спасает.
Дельфи 6 компилит свой вариант импорта ado с отключенной $R-.
Как это делает 2005 я не знаю - в триале я не нашел исходников.
А сколько еще таких runtime ерроров будет? Ты можешь сказать? Вот и мне стремно (((
← →
Димон (2005-03-02 19:08) [43]Да, я допускаю, что я сам дурак - раз допускаю такое - передавать в параметр integer значение $ffffffff. Но ведь это делает сам borland. Он просто отключает $R. Я, конечно, пробегусь по всему проекту и исправлю места с моими ошибками. Но, скажите мне - я ли виноват, что прошлые версии дельфи были более либеральными к моим ошибкам?
Я сам являюсь разработчиком простенького языка - типа бейсика. Пишу не я, но я знаю, что зажимание гаек в новых версиях, ужесточение правил недопустимо: нужно поддерживать обратную совместимость.
Ну как минимум факт ужесточения нужно было бы явно описать. Допускаю, что я этого просто не нашел. Может потому что не умею искать, может еще почему. Может это где-то все-таки документировано?
← →
DiamondShark © (2005-03-02 19:11) [44]
> Я к тому, что ставить вопрос о выборе компилятора для поддержки
> такого вот кода как-то и не очень уместно
Не согласная я.
Корректность компилятора именно на извращенском коде и проверяется.
← →
Димон (2005-03-02 19:15) [45]Во-во. Полностью поддерживаю Акуличева.
Код любой изврщенности должен быть схаван и прежеван до приемлемой консистенции.
← →
Сергей Орлик (2005-03-02 19:28) [46]>Немного не в тему, но баги в компиляторе D2005 Borland править собирается? А то полезные вещи (типа class helpers) вроде есть, а в Win32 до конца не работают...
собирается и старается это делать:
update 1 доступен
update 2 находится в финальном тестировании
QC мониторится Borland R&D точно, но приоритеты выставляются исходя из сравнения с запросами в службу техподдержки
что касается class helper, еще и для win32)) - они созданы в первую очередь как внутренний механизм для Delphi for .NET. Конечно, они удобны для "хака" protected/private и т.п.
Архитектурно - на первый взгляд красивы, но если подумать - Imho, более чем опасны ....
С уважением,
Сергей
P.S. по StarTeam ответ ушел почтой. по результатам установки Starteam на SQL Server - сообщим общими усилиями ;)
← →
vuk © (2005-03-02 19:52) [47]to Сергей Орлик [46]:
>они созданы в первую очередь как внутренний механизм для Delphi
>for .NET.
Но ведь работают же. Хотя, и не до конца (пока виртуальные методы не объявляются). :o)
>Конечно, они удобны для "хака" protected/private
А еще для расширения возмжностей классов из сторонних библиотек, особенно если хочется "прикрутить" что-то в корень некоторой иерархии классов. Я понимаю, ситуация не то чтобы очень силно распространенная, но тем не менее... А хак private/protected как-то и без хелперов обходится обычно. :o)
← →
Димон (2005-03-02 19:57) [48]
> [47] vuk © (02.03.05 19:52)
Алексей, а у тебя все компилиться из старого? Или тоже беды есть?
← →
vuk © (2005-03-02 20:01) [49]to Димон (02.03.05 19:57) [48]:
>Алексей, а у тебя все компилиться из старого?
Я после написания статьи на "Королевстве" к D2005 не прикасался. Времени нет. Да и триал уже тю-тю давно. А сами на D6 сидим и не рыпаемся пока.
← →
Игорь Шевченко © (2005-03-02 22:12) [50]DiamondShark © (02.03.05 19:11) [44]
В QC-то все равно не вредно заявить. Пусть те, кто с компилятором поближе, и посмотрят, что следует сделать, чтобы поведение компилятора было однозначным.
Я почему-то уверен, что в Borland компилятор тестируют не только на программах "Hello, world" и содержимом каталога Demos.
Хотя, по собственному опыту могу сказать, что пользователи могут придумать такую конструкцию, которая разработчику языка/компилятора в кошмарном сне не могла привидеться.
С уважением,
← →
Юрий Зотов © (2005-03-02 22:40) [51]> Сергей Орлик (02.03.05 19:28) [46]
> Конечно, они удобны для "хака" protected/private и т.п.
> Архитектурно - на первый взгляд красивы, но если подумать -
> Imho, более чем опасны ....
Как иногда не хватает этого самого хака private (protected - не вопрос, это даже хаком трудно назвать). Разработчики VCL, конечно, монстры и гигантищи, но ведь никто не может предусмотреть абсолютно всего - вот изредка и возникают проблемы. И приходится либо хакать (что есть очень скверно, а с точки зрения идеологии - просто душу рвет), либо наследоваться от царя Гороха и писать здоровенные куски своего велосипеда (что есть потеря времени, раздутие кода и риск внесения дополнительных багов).
А тут легальный механизм - бери и пользуй. Опасность есть, конечно, так ведь в кривых руках даже и TForm1=class(TForm) - это уже опасность. :о)
← →
Димон (2005-03-03 00:08) [52]
> Игорь Шевченко © (02.03.05 22:12) [50]
Конечно не только на hello world они тестируют.
А в чем мы пользователи виноваты? Для нас же и делается. Вот и придумываем - а он пусть, ест и причмокивает :)))
Я вообще не совсем доволен языком как таковым. Совершил судя по всему ошибку лет 8 назад, когда за своим другом не пошел в плюсы и зарождавшуюся тогда жабу.
Мне, например, всегда не хватало inline classов. Ну не хочу я всякой батвой основной класс пачкать. Вообще не хочу никому показывать helper (здесь, вспомогательные) классы. При том, что объекты этих классов хранятся как private члены в основном классе. Вот и извращаюсь с реализацией public интерфейсов классами ПОД implementation. Формально ничем не запрещено. Пусть работает :)))
Ну да ничего - выбор сделан. Переучиваться сложно, главное команду новую нужно будет искать. Поэтому delphi мой выбор. И вот именно заявленные возможности object pascal (сейчас delphi) он должен переваривать без вопросов. Одними компонентами и ECO сыт не будешь :)))
← →
Игорь Шевченко © (2005-03-03 00:27) [53]Димон (03.03.05 00:08) [52]
> Я вообще не совсем доволен языком как таковым. Совершил
> судя по всему ошибку лет 8 назад, когда за своим другом
> не пошел в плюсы и зарождавшуюся тогда жабу.
Жаба хитра. Но маленький хрущ с винтом много хитрее ее.
(с) Японская народная мудрость.
> Мне, например, всегда не хватало inline classов
А меня раздражала необходимость писать слово implementation без словаря - ну и что ?
А что такое, кстати, inline classы ?
← →
Димон (2005-03-03 00:31) [54]
> А что такое, кстати, inline classы ?
Игорь, ты же писал статью по дельфи 2005. Если не ошибаюсь в нем это уже появилось :))) Вроде бы... (не бить палками, т.к. до дельфи 2005 я еще полноценно не дошел, пока ставлю star team).
Ну типа - классы в классе. Со совими правами доступа, друзья и прочеее :)
← →
Игорь Шевченко © (2005-03-03 00:41) [55]Димон (03.03.05 00:31) [54]
А..по этой части в D2005 Алексей больше разбирался. Да и триал у меня тоже кончился давно.
То есть, имеется в виду конструкция вида
class Foo {
....
private:
class Bar {
....
};
...
};
Я правильно понял ?
← →
Димон (2005-03-03 00:44) [56]Да
← →
Димон (2005-03-03 00:44) [57]У тебя есть принципиальные возражения против такого методики?
← →
Игорь Шевченко © (2005-03-03 00:58) [58]Димон (03.03.05 00:44) [57]
Абсолютно нет возражений. Одно из средств языка С++, в Object Pascal отсутствующее. Но, если не трудно, напомни, в каких еще широкораспростаненных языках такая возможность имеется, и если нет, то почему ? :)
← →
Юрий Зотов © (2005-03-03 01:01) [59]Э-э-э... а подскажите тупому - какие преимущества это дает?
← →
Димон (2005-03-03 01:09) [60]Игорю
-----
Я не силен в языках. Я прочел Липмана и поигрался с c++. Java знаю на уровене Фаулера, хотя она у меня установлена.
Я просто знаю, что мой концептуальны взгляд (спасибо тебе и форуму, что ввели в ООП :))) был бы более рад иметь inline class, чем видеть эти public классы (как сейчас в delphi), у которых даже конструктор нельзя сделать private :)))
Юре
---
Концептуальные :)))
← →
Игорь Шевченко © (2005-03-03 01:16) [61]Димон (03.03.05 01:09) [60]
> Java знаю на уровене Фаулера
Ты себе льстишь :) Поскольку уровень Фаулера довольно высокий.
← →
Димон (2005-03-03 01:17) [62]Формалист:))) Ты же понял, что я имел в виду книги Фаулера :))
ЗЫ. Ты по теме обоснованно не возразил :)))
← →
Игорь Шевченко © (2005-03-03 01:23) [63]Юрий Зотов © (03.03.05 01:01) [59]
Дополнительный уровень инкапсуляции. В сочетании с inline-методами может в ряде случаев способствовать более ясно структурированному коду (на мой взгляд).
С уважением,
← →
Димон (2005-03-03 01:25) [64]
> Игорь Шевченко © (03.03.05 01:23) [63]
А.... т.е. ты со мной согласен, что inline классы есть хорошо? Очень рад...
← →
Игорь Шевченко © (2005-03-03 01:31) [65]Димон (03.03.05 01:17) [62]
> Ты же понял, что я имел в виду книги Фаулера
beginner
- insure with the concept of a terminal
- has yet to learn the basic of EDIT/EDT
- has not figured out how to get a directory
- still has trouble with typing <RETURN> after
each line of input
- a totally lost IBM OS/VS guru
novice
- knows that "DIR" will produce a directory
- uses the editor but uses QUIT instead of EXIT
- has heard of "C" but never used it
- has had a bad experience with DEL *.*;*
- is wondering how to read mail
- is wondering why the person next door seems
to like VMS so very good
user
- uses EDIT/EDT and RUNOFF, but inexpertly
- has heard of kernel mode but don"t know what
is it
- has figured out that "/" preceds options
- is wondering how to move a directory
- thinks that /DEBUG is a brand of pesticide
- has lots of MAIL$*.MAI"s in her SYS$LOGIN
- has attempted to write a C program but
decided to stick with FORTRAN
- knows now to read mail and is wondering now
to read the news
knowledgeable
user
- uses RUNOFF with no trouble, and is beginning
to learn EVE
- uses SEARCH to search for fixed strings
- has figured out that RENAME will move
directories
- has learned that HELP usually help
- somebody has shown her how to write C programs
- watched somebody use /DEBUG once
- all UNIX expert looking for VMS make
- has stopped creating a path more that 8
levels deep
- has changed her process name
- writes DCL scripts occasionally
- uses SET QUEUE/REQUEUE when needed
- subscribes to INFO-VAX and/or reads VAX
Professional
expert
- has mastered the differences between symbols
and logicals
- has figured out to use the "inside"
- uses LEXICALS with comfort
- uses EVE, uses TPU commands directly when
necessary
- posts news to INFO-VAX at every possible
opportunity
- has figured out what esc[0,7] = %x1b ans
exit %x848800 are for
- uses RTL functions occasionally
- is still wondering how to successfully reply
to mail across gateways
- uses large number of RMS buffers because
somebody said it was faster
- writes C programs using EVE ans compile with
MMS or a mutant of UNIX"s MAKE
hacker
- starts to use MACRO
- installs shareable libraries
- uses undocumented features of DCL ( e.g. SET
WATCH)
- writes C code with "CREATE"
- sends mail without using MAIL
- writes her own TPU macros to supplement the
standard ones
- rebuilds DCL with using her own CLI
- installs bug fixed from the net
- uses appropriate number of RMS buffers
because she timed it
- spends New Year"s Eve in front of a uVAX
hacking
- has anonymously FTP"ed useless software from
other sites
- has been to DECUS conference at least once
- dispatches worms to SPAN/HEPNET
- tries to crack SYSUAF.DAT
- left Trojan horses in the default DECnet
directory and was caught
guru
- uses BLISS and MACRO with ease
- uses fab$ library functions with comfort
- writes MACRO code with "CREATE"
- customizes VMS utilities by patching the source
- reads device driver source with breakfast
- uses TECO instead of EVE because of nostalgia
- can answer any VMS questions after a little
thought
- has learned now to breach security but no
longer needs to try
- is putting her own utilities into the next
DECUS tape release
- uses MMS or MAKE for anything that requires
two or more commands
- has the title "VMS Guru" in her signature
wizard
- write device drivers with "CREATE"
- fixes bugs by patching the binaries
- can tell what question you about to ask, and
answer it
- posts her changes to VMS/DECUS utilities to
the net --- and they work
- is on a first-name basis with Ruth
Goldenberg, Nancy Kronenberg, Bill Strecker,
etc
- has the title "VMS Wizard" in her signature
Выбери себя :)
← →
Димон (2005-03-03 01:35) [66]ХитрО, но я не буду читать пожалуй. Уж извини:)) Может завтра на работе. Этот юмор не для меня: то ли он слишком умный, то ли слишком глупый...
А вообще, ты моему высказыванию все-таки не возразил :))))
← →
iZEN © (2005-03-03 01:51) [67]Инлайновые классы очень помогают в:
* определении обработчиков-по-месту (можно, например, использовать анонимные классы для обработки сложных событий);
* структурировании кода не по уровням методов, а по уровням целых классов (class Device.Media.Disk -> объект myIPaq.sdCardApacer.Volume2).
Представляете агрегаты на уровне типов/классов, когда, например в Pascal, использовались рекорды с вариантными полями? Но здесь уже вместо вариантных полей классы с методами... ;)
Страницы: 1 2 вся ветка
Форум: "Потрепаться";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];
Память: 0.61 MB
Время: 0.043 c