Delphi 2007: Что год текущий нам готовит?.. |
Из неофициальных источников появилась некоторая интересная информация по поводу развития Delphi в 2007 году.
Компания-разработчик нашего любимого RAD-средства, проанализировав пожелания Delphi-сообщества, изменила свои первоначальные планы на текущий год.
Основные моменты:
1) В марте 2007 года выйдет Delphi 2007 (win32)
Плохая новость: в мартовской версии Delphi 2007 не будет юникода;
Хорошая новость: юникод будет в середине лета!
И это не единственная хорошая новость! В мартовской версии Delphi 2007 обещают много интересных "вкусностей", в том числе DBX4 и полную поддержку VISTA.
2) В марте 2007 года должен появиться новый и очень интересный продукт — Delphi for PHP — полноценное RAD-средство для разработки на PHP.
3) Выход новых версий продуктов линейки Turbo предполагается в конце 2007 года.
4) И еще небольшой сюрприз: стоимость Turbo Delphi Pro снизилась до 250$.
Вот так, коротенько...
Елена Филиппова
Всего в теме 1215 сообщений
Добавить свое сообщение
Отслеживать это обсуждение 
№ 675 14-02-2008 03:15 |  |
Ответ на »сообщение 671« (Jack Of Shadows)
___________________________
>>> Подумать только, ведь именно о реализации алгоритмов на персональных компьютерах с процессором фирмы IBM, мне постоянно напонимают апологеты императивного программирования как только я завожу разговор об ФП.
"В лесу -- о бабах, с бабами -- о лесе" ;-)
Сейчас разгоовр идет о понятности. При этом возможности реализации отходят на второй план.
>>> "Ждать" - это из области решения а не постановки задачи.
"Милый, встреть меня полпервого у метро. Если я не появлюсь вовремя, то подожди хотя бы полчасика."
Это решение или постановка? ;-)
На бытовом уровне, в отличие о компьютерного, при задании алгоритма вполне допустимо использовать конструкцию ждать: ждать столько-то времени или ждать пока что-то не произойдет. При этом подразумевается, что ожидающий волен заниматься чем угодно, но это выходит за рамки постановки задачи. И способ синхронизации параллельных потоков также возлагается на программируемого. Исключения разве что для маленьких детей (снег не ешь, на дорогу не выходи и т.п.).
Еще про бытовой и привычный обычному человеку мир.
Школьникам рассказывают, как построить треугольник по трем сторонам. Выглядит это примерно так:
1. Разместить две точки на расстоянии X1 и соединить их отрезком.
2. Построить окружность с центром в первой точке и радиусом X2.
3. Построить окружность с центром во второй точке и радиусом X3.
4. Соединить концы отрезка с точкой пересечения окружностей.
А в принципе, можно и так:
Треугольник, построенный по трем сторонам, -- это отрезок длины X1, концы которого соединены с точкой пересечения окружностей с центрами в концах отрезка и радиусами X2 и X3.
Но второй вариант почему-то не используют, когда нужно объяснить последовательность действий, переводящих вход в выход.
А "функциональный стиль" используется для определения понятий (ромб -- это четырехугольник, у которого все стороны равны).
№ 674 13-02-2008 16:13 |  |
Ответ на »сообщение 671« (Jack Of Shadows)
___________________________
Что вы говорите ?! Подумать только, ведь именно о реализации алгоритмов на персональных компьютерах с процессором фирмы IBM, мне постоянно напонимают апологеты императивного программирования как только я завожу разговор об ФП. Мол на существующем железе ФП не катит.
Это уже просто смешно :)))
Джек, я в третий или даже четвертый раз напоминаю, что мю-лисп и турбо-пролог замечательно работают на ИБМ ПЦ ХТ образца 1988 года с 640 Килобайтами ОЗУ и частотой процессора 8 Мегагерц.
№ 673 13-02-2008 16:07 |  |
Ответ на »сообщение 665« (Jack Of Shadows)
___________________________
Наоборот обьяснять детям что для того чтобы выяснить произошло ли некое действие надо писать громоздкие конструкции, в который нужно лазить куда то каждые несколько сеунд и проверять странные вещи - вот это детям тяжко обьяснять. Вы то уже забыли. В вас это вдолбили, вот вы и считаете это легким.
В повседневной жизни присутствуют оба механизма.
Если нужного товара нет в магазине можно узнать примерную дату завоза и прийти попозже. Можно сделать заказ, и ждать посылки. Если дело касается книги, то заказ, видимо, предпочтительнее, а если свежего молока или круассанов, то народ замечательно сам справляется.
В задачке с чаем время закипания чайника примерно известно (его можно даже точно вычислить), так что не надо городить событийных и многопоточных механизмов, там где они не нужны.
Aleg Azarousky - респект, единственный понятный на уровне школьника пример на процедурах.
ООП там тоже не пришей кобыле хвост (а попробуйте на жабе или пошарпанном си написать код без класса и объяснить детишкам, а нахрена этот класс вообще сдался).
Впрочем, тексты на ленте, думаю, все кто хотел непредвзято разобраться это уже сделали.
№ 672 13-02-2008 15:31 |  |
№ 671 13-02-2008 14:37 |  |
Ответ на »сообщение 669« (Geo)
___________________________
Вагиф! Какой процессор? Какие объекты и свойства?! Речь идет об алгоритме, а не о реализации алгоритмов на персональных компьютерах с процессором фирмы IBM.
Что вы говорите ?! Подумать только, ведь именно о реализации алгоритмов на персональных компьютерах с процессором фирмы IBM, мне постоянно напонимают апологеты императивного программирования как только я завожу разговор об ФП. Мол на существующем железе ФП не катит.
Так как же ? Чистый Алгоритм или реалии компьютеров ?
Или вы тоже мне скажете что в ФП нет алгоритмов ? :))
Далее что касается алгоритма. Я уже только что секунду в секунду с вами ответил на этот вопрос.
"Ждать" - это из области решения а не постановки задачи.
То есть принципиально алгоритм в котором есть операция "ждать" и алгоритм в котором есть два потока, один из которых стартует по получении сообщения от второго потока - ничем не отличаются.
И тот и другой - это алгоритм.
№ 670 13-02-2008 14:29 |  |
Ответ на »сообщение 667« (Aleg Azarousky)
___________________________
Вот исходная команда, которую нужно запрограммировать:
4. Ждать, пока чайник закипит
Кстати этого в постановке задачи нет :))
Это уже из области решения задачи. В постановке не говорится ни черта о том что вы должны сидеть и ждать. Там просто говорится - завари чай, а будешь ты при этом дежурить у чайника, или заниматься своими делами это уже на твое усмотрение, лишь бы задачу выполнил.
№ 669 13-02-2008 14:28 |  |
Ответ на »сообщение 668« (Jack Of Shadows)
___________________________
>>> Как обьяснить ученику, что система жутко грузит процессор потому что он слишком часто проверяет ?
>>> Как обьяснить ученику что свойство которое он проверяет каждую секунду вобще то принадлежит другому обьекту и оно может быть изменено прямо в тот самый момент когда он пытается его считать <...>
Вагиф! Какой процессор? Какие объекты и свойства?! Речь идет об алгоритме, а не о реализации алгоритмов на персональных компьютерах с процессором фирмы IBM.
В начальной школе учат арифметике, давая упражнения на сложение и вычитание яблок и мячиков. А понятия натуральных, целых, рациональных и действительных чисел вводят вскользь только в старших классах. Кстати, возможно, напрасно вводят: один черт, у большинства школяров в голове от этого ничего не остается.
№ 668 13-02-2008 13:49 |  |
Ответ на »сообщение 667« (Aleg Azarousky)
___________________________
Ничего общего не находите? Это сложно объяснить детям? Это громоздкая конструкция?
Кoнечно громоздкая.
Почему надо ждать 10 секунд ? Почему не одну секунду ?
Как обьяснить ученику, что система жутко запаздывает с реакцией потому что он слишком долго ждет ?
Как обьяснить ученику, что система жутко грузит процессор потому что он слишком часто проверяет ?
Как обьяснить ученику что свойство которое он проверяет каждую секунду вобще то принадлежит другому обьекту и оно может быть изменено прямо в тот самый момент когда он пытается его считать (проблемы с синхронизацией потоков и shared memory, deadlocks etc.) Все это вещи весьма нетривиальные и сложные технически.
Вы продолжаете цепляться за то что вам знакомо, не понимая что если убрать вот это преимущество и представить оба подхода ученику с ними незнакомому, то обмен сообщениями гораздо более легкий для понимания и усваивания.
Просто потому что там нет всех этих проблем.
Глядя на пройденный путь всегда кажется что он легче. А вы взгляните со стороны человека которому его еще предстоит пройти.
№ 667 13-02-2008 13:00 |  |
Ответ на »сообщение 665« (Jack Of Shadows)
___________________________
Наоборот обьяснять детям что для того чтобы выяснить произошло ли некое действие надо писать громоздкие конструкции, в который нужно лазить куда то каждые несколько сеунд и проверять странные вещи - вот это детям тяжко обьяснять. Вы то уже забыли. В вас это вдолбили, вот вы и считаете это легким.
Вот исходная команда, которую нужно запрограммировать:
4. Ждать, пока чайник закипит
Вот полученный текст на псевдо-Паскале:
пока не ЧайникКипит делать
Ждать(10);
Ничего общего не находите? Это сложно объяснить детям? Это громоздкая конструкция?
Я не против обучения детей ООП, ФП и событийному программированию, но это не делается на том же уроке, где дается понятие "алгоритма".
Сначала учим детей основным понятиям информатики: "алгоритм", "константа", "переменная", "команда", "процедура"; затем ООП; затем событиям и управлению объектами с их помощью (может и на примере Scratch, почему нет); и на закуску ФП (или факультативно).
№ 666 13-02-2008 11:02 |  |
Ответ на »сообщение 663« (Geo)
___________________________
А почему я в Вашем ряду не вижу Event для классов Delphi? Или это тоже топорный метод?
Конечно топорный. Event то не с неба свалился. Его нужно предусмотреть и сделать.
Да мало еще сделать, надо еще в нужных местах проверять его наличие и ЯВНО запускать.
И всю эту машинерию надо детям обьяснять. А то они кроме как готовыми классами пользоваться ничеум не научатся.
В нормальном ОО языке возможность посылать сообщения (кричать миру) и принимать сообщения (слышать что кричат другие обьекты) заложена на уровне языка. Ничего самому делать не надо.
Дети могут с первых же занятий создавать обьекты (любые обьекты, а не те в которых вы для них предусмотреи нужные Events) которые могут свободно состыковываться друг с другом.
Добавить свое сообщение
Отслеживать это обсуждение 
Дополнительная навигация: |
|