Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.20;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.62 MB
Время: 0.047 c
1-1109403719
Zapekank0
2005-02-26 10:41
2005.03.20
Как написать таймер не зависящий от системного времени


4-1107717795
GuAV
2005-02-06 22:23
2005.03.20
LoadLibrary => DllEntryPoint( .. DLL_PROCESS_ATTACH .. )


1-1109850033
Copperhead
2005-03-03 14:40
2005.03.20
Приложение не запускается только на одном компьютере сети


4-1108011957
guest_Dmitry
2005-02-10 08:05
2005.03.20
Почему хук срабатывает несколько раз?


14-1109184070
07BB:080Dh
2005-02-23 21:41
2005.03.20
Скоро в армию. Как быть?