Нужен совет - на Delphi научиться писать

 
RU Dem_anywhere #18.04.2006 14:30
+
-
edit
 

Dem_anywhere

аксакал

Борланд действительно загнулась. Но ведь раньше она выдала уже нетленку, которая будет жить пока есть винды и 86-й процессор.
 
Процессор ныне уже х64... Достаточно скоро все серьёзные приложения (А Дельфи - это в основном работа с БД) на него перейдут - и?
 

TEvg

аксакал

админ. бан
>Процессор ныне уже х64... Достаточно скоро все серьёзные приложения (А Дельфи - это в основном работа с БД) на него перейдут - и?

хы... думаете Борланд не сможет при всей ее убогости сделать 64 Дельфу?

Достаточно скоро.. это еще посмотрим, поглядим. Лет через 5 перейдут может быть.
 
RU Dem_anywhere #18.04.2006 15:21
+
-
edit
 

Dem_anywhere

аксакал

хы... думаете Борланд не сможет при всей ее убогости сделать 64 Дельфу?
 
Конкуренты - уже сделали... А у них - даже простого компилера нет...
 
US Сергей-4030 #18.04.2006 17:24
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
Совершенно разные вещи. Жаба работает на жаба-машину и имеет похожий на Це синтаксис.
 


Совершенно одинаковые вещи. По крайней мере, тот же JBuilder и Delphi. Оба - RAD, те же предполагаемые задачи. А использует ли jvm.dll или какой нибудб - это bwcc.dll - детали реализации.


Хоть одну неприятность ОР назовите.
 


Ну, навскидку одна из самых дурацких - virtual с явно указываемым индексом в VMT. Это просто жопа.


Они не используют. Их маркетологи заставляют. Ну еще по глупости конечно.
 


Ну, что тут скажешь - думайте как знаете. Насмотревшись на ниспровергателей в топиках про альтернативную историю и про небывание американцев на Луне - желания обсуждать с вами этот вопрос не имею.
 
Это сообщение редактировалось 18.04.2006 в 17:45

TEvg

аксакал

админ. бан
Конкуренты - уже сделали... А у них - даже простого компилера нет...
 


Ну и зачем вам 64-битные приложения?
Либо большие числа обрабатывать (но здесь можно и 32 и 16 битами обходится, только медленнее будет), лиюо память более 4 гиг адресовать одним куском. А оно вам надо? Вычисления такие редки. 4 гига ОЗУ на одном компе пока еще не встречаются, не говоря уже о большем.

>Ну, навскидку одна из самых дурацких - virtual с явно указываемым индексом в VMT. Это просто жопа.

?? А в чем жопа, объясните? Ну указывается индекс в VMT, ну и что??

>Совершенно одинаковые вещи. По крайней мере, тот же JBuilder и Delphi. Оба - RAD, те же предполагаемые задачи. А использует ли jvm.dll или какой нибудб - это bwcc.dll - детали реализации.

Рисование формочек и VCL одинаковые. Языки разные. Жаба-быдлер дает код под жаба-машину, Дельфия код под 86-процессор. Задачи.. на Жаба-буилдере игры к примеру писать неудобно. Хотя отдельные извращенцы умудряются.
 

TEvg

аксакал

админ. бан
А по поводу динозавров. Сейчас довольно широко пошли промышленные встраиваемые 86-совместимые системы, а на них ДОС-совместимые ОС работают. А это значит что безнадежно устаревший трубо-паскаль тут как нельзя более кстати. И управлять станком или насосом при помощи таких штук - одно удовольствие.

А когда надо новые средства разработки использовать? Когда старые не справляются.
Вот к примеру у нас вагоны взвешиваются. В рельсу тензодатчики вмонтированы, сигнал усиливается, цифруется, заводится в комп. Можно тут трубо-паскаль использовать? Можно но неудобно. Например сетку надо организовывать. Это несложно на паскале, но дельфия удобнее. Сетка нужна чтобы скажем данные шли с разных сторон, эшелон с уголем на склад приехал, взвесился, уголь на складе приплюсовался. Уголь который по конвейеру в котел идет - сразу вычитался, а это разные весы и разные компы. Далее БД, на дельфи с этим хорошо, но трубо-паскале плохо. Память - на дельфи удобно, на паскале надо расширители использовать или вовсе с EMS, XMS и 64-килобайтными кусками возится. 4-гиговый явно удобнее. А вот интерфейс (гуевость) на Паскале делать легче и лучше.
Вот когда нужен новый инструмент. Дельфия подходит? Вполне.

А когда она неудобна? Только в вебах по-моему. Но веб во-1 мне не нужен, во-2 это вообще второстепенная область. Что еще? Дрова? Тут ассемблер нужен и во всяком случае не Це с решеткой или питон!

А заставляют использовать новые и ненужные инструменты ублюдки маркетинговые.
 
US Сергей-4030 #19.04.2006 07:11
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
Задачи.. на Жаба-буилдере игры к примеру писать неудобно. Хотя отдельные извращенцы умудряются.
 


Игры на Дельфи писать не менее неудобно. Уж никак не удобнее, чем на Java c Java2D и Java3D.
 
US Сергей-4030 #19.04.2006 07:14
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
Либо большие числа обрабатывать (но здесь можно и 32 и 16 битами обходится, только медленнее будет), ... А оно вам надо? Вычисления такие редки.
 


Вычислений таких скоко хошь. Кроме того, немаловажно то, что можно две операции над двумя 32-битными числами проводить одновременно.
 
US Сергей-4030 #19.04.2006 07:16
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
?? А в чем жопа, объясните? Ну указывается индекс в VMT, ну и что??
 


То есть, это вам нормально - когда я в программе должен думать о деталях VMT?! Это приличный язык?!! А может тогда уж не городить огород и эмулировать виртуальные методы и инкапсуляцию самостоятельно?
 
US Сергей-4030 #19.04.2006 07:18
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
Жаба-быдлер дает код под жаба-машину, Дельфия код под 86-процессор.
 


Ну и что? У вас java-машины нету? Сходите на Сан, они бесплатно раздают.
 
US Сергей-4030 #19.04.2006 07:22
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
А когда она неудобна? Только в вебах по-моему.
 


В туче вещей она неудобна. Как язык она никакая (то есть - много больше расходы на проектирование/поддержку/кодирование). Плохо поддерживается (есть ли Rational под Дельфи? Или хотя бы Together?) Приличного сервера приложений под нее нету. Мультиплатформенности у нее нету. Библиотеки у нее убогие.
 
+
-
edit
 

Mishka

модератор
★★☆
1. Ну и зачем вам 64-битные приложения?
Либо большие числа обрабатывать (но здесь можно и 32 и 16 битами обходится, только медленнее будет), лиюо память более 4 гиг адресовать одним куском. А оно вам надо? Вычисления такие редки. 4 гига ОЗУ на одном компе пока еще не встречаются, не говоря уже о большем.


2. ?? А в чем жопа, объясните? Ну указывается индекс в VMT, ну и что??

>Совершенно одинаковые вещи. По крайней мере, тот же JBuilder и Delphi. Оба - RAD, те же предполагаемые задачи. А использует ли jvm.dll или какой нибудб - это bwcc.dll - детали реализации.

3. Рисование формочек и VCL одинаковые. Языки разные. Жаба-быдлер дает код под жаба-машину, Дельфия код под 86-процессор. Задачи.. на Жаба-буилдере игры к примеру писать неудобно. Хотя отдельные извращенцы умудряются.
 


1. Ты пробовал реализовать алгоритм Брэзенхема для овалов? Посмотри, как быстро кончается 16 бит. 32 бита живут подольше. Всякие СУБД очень хотят много места. На работе у меня стоит с 3 гигами — мамка больше не дает. Дома пока 2 гига, но будет 8.

2. Ассемблером отдает сильно. Ну не дело это программиста указывать индекс метода в VMT — это предпологает знание устройства этой таблицы прогаммистом, а так же возможных оптимизаций компилятора.

3. Возьми нативный компилятор Java и создай х86 код.
 

TEvg

аксакал

админ. бан
>Вычислений таких скоко хошь. Кроме того, немаловажно то, что можно две операции над двумя 32-битными числами проводить одновременно.

Ха.. ха.. ММХ это умела делать еще при царе горохе (пенек ММХ). Там как раз 64-битный регистр - хошь одно 64 число, хошь - два 32, хоть четыре 16, хоть восемь байтов сразу. И не надо никаких новых процов!

>То есть, это вам нормально - когда я в программе должен думать о деталях VMT?! Это приличный язык?!!

Честно говоря никогда не возникало такой неоходимости. От любопытности только щупал. Опишите пожалуйста задачу, где дельфевый VMT проблемы создает.
 
+
-
edit
 

Mishka

модератор
★★☆
1. Ха.. ха.. ММХ это умела делать еще при царе горохе (пенек ММХ). Там как раз 64-битный регистр - хошь одно 64 число, хошь - два 32, хоть четыре 16, хоть восемь байтов сразу. И не надо никаких новых процов!


2. Честно говоря никогда не возникало такой неоходимости. От любопытности только щупал. Опишите пожалуйста задачу, где дельфевый VMT проблемы создает.
 


1. ММХ умеет выполнять только те операции, которые в него заложены :P Тут главный CPU явно выигрывает. И, поскольку сейчас развиты всякие вещи типа HT, то и CPU может выполнять несколько разных команд параллельно.

2. Ты знаешь, что такое сильные и слабые ссылки при линковке модулей? Просто спрашиваю, чтобы знать на каком уровне объяснить одну из проблем.
 

TEvg

аксакал

админ. бан
>1. Ты пробовал реализовать алгоритм Брэзенхема для овалов? Посмотри, как быстро кончается 16 бит. 32 бита живут подольше.

Если мой склероз меня не подводит, то Брезенхам это рисование растровой линии между двумя точками. Этот алгоритм реализуется просто и я это делал на паскале и на асме. Про овалы не знаю. Эллипсы или круги, если бы пришлось это делать рисовал бы при помощи полярных уравнений, построил бы таблицу синусов в памяти. Конечно тут память будет расходоваться, но и 16 бит хватит :). О 64 и речи нету.

>Всякие СУБД очень хотят много места.

СУБДы да, в перспективе уйдут на 64 бита. Но не дергающие их приложения.

Дергать VMT вживую - не вижу ничнго плохого. И ассемблер мне нравитцца :) Не дело программиста на высокоуровневой штуке? Так энто смотря чего программист делает. Многие вообще компоненты на формы кидают, обработчики евентов пишут, про существование VMT не знают и счастливы. Ну а ежели вглубь классов лазим, то почему бы и с VMT не работать? Конечно кого что напрягает. Меня вот напрягает в Це обыкновенная работа со строками. Привык понимаете ли к Паскалю. То что в Паскале делается со строками за одну минуту и всегда работает, в Це за десять с попутным вылавливанием глюков.
 

TEvg

аксакал

админ. бан
>2. Ты знаешь, что такое сильные и слабые ссылки при линковке модулей?

Нет, не знаю.
 
+
-
edit
 

Mishka

модератор
★★☆
>2. Ты знаешь, что такое сильные и слабые ссылки при линковке модулей?

Нет, не знаю.
 


Еще обозначаются вражескими слова hard-weak — по терминологии IBM еще из OS 360. Суть такова, что сильная силка на код приводит к тому, что код всегда включается при линковке, а слабые — только если есть реальное использование. Если такового нет, то этот кусок кода не линкуется и объем файла получается, соотвественно, меньше. Когда компилятор сам инициирует VMT — он имее достаточно информации где какие методы будут вызываться, эту инфу он передает линкеру — и тот может выкидывать ненужные методы — чтобы место не занимали. Понятно, что много зависит от уровня развитости линкера. Например, когда мы писали систему на Алголе 68, то наш линкер понимал и умел очень много того, чего стандартный майкрософтовский не мог делать. В том числе и запросто перемешать объектные коды вызываемые через массивы функций (аналог VMT) — вплоть до модификации таких массивов. Вот такая оптимизация.

Если ты указываешь авсолютное место в такой таблице, то многие такие оптимизации уже не действуют, т.к. юзер ожидает, что, если он указал метод на 4 месте, то первые тоже есть (если я помню правильно Дельфи). Минус еще и то, что это прямая индексация, а не ассоциативная — как при использовании имени метода. ИМХО, разработчики не сумели решить достаточно удовлетворительно это дело на автоматическом уровне и переложили это дело на разработчика.
 

TEvg

аксакал

админ. бан
Mishka понятно. Возражать не буду, все правильно.
 
RU Dem_anywhere #19.04.2006 12:15
+
-
edit
 

Dem_anywhere

аксакал

Ну и зачем вам 64-битные приложения?
Либо большие числа обрабатывать (но здесь можно и 32 и 16 битами обходится, только медленнее будет), лиюо память более 4 гиг адресовать одним куском. А оно вам надо? Вычисления такие редки. 4 гига ОЗУ на одном компе пока еще не встречаются, не говоря уже о большем.
 
Ну, большие числа - это в самом деле нечасто. А вот память - это да. Объём БД в десяток гиг никого не удивляет - а чтобы оно быстро работало, её желательно всю в память закачать.
Рисунки, опять же... Короче, стандартных 2(3) гигов уже мало, даже для домашних...
 
+
-
edit
 

Mishka

модератор
★★☆
Если мой склероз меня не подводит, то Брезенхам это рисование растровой линии между двумя точками. Этот алгоритм реализуется просто и я это делал на паскале и на асме. Про овалы не знаю. Эллипсы или круги, если бы пришлось это делать рисовал бы при помощи полярных уравнений, построил бы таблицу синусов в памяти. Конечно тут память будет расходоваться, но и 16 бит хватит :). О 64 и речи нету.
 


Брезенхэм, в основном, известен для рисования кругов при помощи целочисленной арифметики на растре. Очень быстро. Никаких синусов. Проблема для овалов в том, что, если полуоси начинают соотноситься в большую сторону (сильно вытянутые эллипсы), то один из счетчиков растет очень быстро.
 
US Сергей-4030 #19.04.2006 17:38
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
Многие вообще компоненты на формы кидают, обработчики евентов пишут, про существование VMT не знают и счастливы.
 


А некоторые из этих многих поддерживают системы по много сотен тысяч строк кода, над которыми работают десятки разработчиков. И любой выпендреж выливается в десятки и сотни багов, зачастую плохообнаруживаемых и трудноисправляемых.

 
US Сергей-4030 #19.04.2006 17:42
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
ИМХО, разработчики не сумели решить достаточно удовлетворительно это дело на автоматическом уровне и переложили это дело на разработчика.
 


Я не думаю - у них там вроде компиляторная команда зело сильная. :) Насколько я помню, умная идея была декларирована как новый подход к событийно-ориентированному программированию, когда код события приклепываем непосредственно к реализации обработчика. Впрочем, могу ошибаться, давно на Дельфи не писал.
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru