Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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
10-1086846960
Karlson
2004-06-10 09:56
2005.03.20
Работа со сгенерированными из Делфи файлами Экселя


14-1109674782
Alx2(remote)
2005-03-01 13:59
2005.03.20
Оформление гражданства детям, рожденным после 1.07.2002


1-1110167360
X-Disa
2005-03-07 06:49
2005.03.20
Отлов щелчка мыши


3-1108621131
Sour
2005-02-17 09:18
2005.03.20
Можно ли в условии запроса использовать хранимую процедуру


14-1109678822
asafr
2005-03-01 15:07
2005.03.20
сочинение по теме «Кем я хочу стать когда я буду большим»





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