LINUX.ORG.RU

Free Pascal 2.0


0

0

15 мая 2005 года, после 5 лет разработки вышел Free Pascal 2.0.

Поддерживаются следующие процессоры (AMD-64, SPARC, PPC (32/64 бит), ARM) и платформы (Mac OS classic, Mac OS X, MorphOS, and Novell Netware). Среди улучшений: большая совместимость с Delphi, поддержка widestrings, обновление компонент для доступа к базам данных, добавление документации и консольного IDE.

>>> Подробности

★★★★★

Проверено: Shaman007 ()

Ответ на: комментарий от anonymous

> Нормальный способ , если быстродействие поджимает.

В свое время я подсчитывал такты, необходимые для применения XLAT на 88-м процессоре (по табличке в конце справочника Р. Джордейна). Если мне не изменяет память, то получалось, что XLAT + MOV BX, адрес таблицы (а уж тем более LDS BX) + затраты на сохранение и восстановление регистров --- не быстрее трюка с ADD/DAA. Ну а тем более сейчас, когда обращение в память --- потенциальный кэш-промах со всеми вытекающими.

Если я ошибаюсь --- такты в студию.

--

SVK

anonymous
()

ну почему все ламо повторяют что windows первых версий был написан на паскале?

там использовались вызовы функций по паскалевскому соглашению, для уменьшения
расхода памяти вот и все.

anonymous
()

Да, народ, развели тут флейм... Я учитель одного из физ-мат лицеев областного центра в Украине. ИМХО для будущих математиков, физиков-теоретиков начальное обучение -- только Паскаль. Теория -- выбранные места по Кнуту. С радостью уйду от Франки (книжка для начинающих по С++), по которой у нас осваивали восьмиклассники начала информатики. Если директор, конечно, позволит...

anonymous
()

Я не понял, для QNX уже FPC не будет? Жаль.

anonymous
()
Ответ на: комментарий от nsav

"one way to do it" это для непроходимых тупиц привыкших ходить строем. и для обучения не годится совсем. у каждого свой тип мышления и загонять их в рамки - это не развитие, а фигня какая то.

как правильно заметил Ларри Уолл "There's more than one way to do it"

anonymous
()
Ответ на: комментарий от ivlad

>при обучении нужно сначала вводить процедурную парадигму

Угу, чтобы спустя полгода, матерясь, переучивать на объектную,

и массу времени потратить на искоренение дурных привычек.

Sun-ch
()
Ответ на: комментарий от anonymous

>для будущих математиков, физиков-теоретиков начальное обучение -- только Паскаль.

Ну и на фиг им паскаль? Научите лутше программировать в Maxime.

Sun-ch
()
Ответ на: комментарий от Sun-ch

> Угу, чтобы спустя полгода, матерясь, переучивать на объектную,

Ля-ля... :-P Сначала давать процедуры, record'ы, затем динамику (списки, стеки, деревья). Наконец сообщаем, что есть объекты, которые процедуры в record'ах + списки... ;-) И всех делов... :)

atrus ★★★★★
()
Ответ на: комментарий от Sun-ch

Саныч, привязка к одному пакету -- нежелательна. К тому же системы компьютерной алгебры -- это чересчур узконаправленно. Да и руководство считает, что лучше MatLab им не найти. (Я частично с этим согласен). Но так как Матлаб -- дорогое удовольствие, ориентируем старшеклассников на Scilab как на разумную бесплатную альтернативу.

anonymous
()
Ответ на: комментарий от Sun-ch

> Ну и на фиг им паскаль? Для закрепления на практике книги Кнута. Для школьников с хорошей матподготовкой, не планирующих стать программерами это самое то.

anonymous
()
Ответ на: комментарий от atrus

Это профанация.

Чел всю жизнь будет писать код в стиле

for(;;){
}

Вывихнутый в децтве мозг очень трудно выправить.

Sun-ch
()

Учить алгоритмам надо не на Паскале. И даже не на lisp. И тем более не на прологе. Алгоритмам надо учить на регистровой машине и машине Тьюринга. И только потом переходить к собственно языкам программирования.

Eldhenn
()
Ответ на: комментарий от Sun-ch

Ты несколько драматизируешь ситуацию.

ООП и структрное программирование как методологические подходы к разработке ПО - две стороны одной медали. Тут весь вопрос в декомпозиции, т.е. в том, в каких терминах ты представишь исходную задачу перед тем как ее запрограмить. Если используешь алгоритмическую декомпозицию и в основе структуры твоей программы лежит описание некоторых процессов получишь структурное программирование. Если один из видов декомпозиции по данным, то получишь ООП. Если человеку объяснить это, то ничего ломать в голове не придется. Максимум что ему надо будет сделать - усвоить новые принципы декомпозиции и новый язык программирования (или освноить неосвоенную часть старого). Все. Это совсем не сложно. главное правильно систематизировать в голове.

ukez
()
Ответ на: комментарий от Eldhenn

Точно :)))

Объявление в школьной раздевалке.

Ученики не сдавшие контрольную "Грамматики Хомского типа О" на машину

Тьюринга допущены не будут.

Sun-ch
()
Ответ на: комментарий от Eldhenn

Учить алгоритмы надо на собственной шкуре, в армии .... Алгоритм суточного наряда, например http://www.nsu.ru/vk/ustav/5.htm.

Заставляет мыслить четче :)

ukez
()
Ответ на: комментарий от Eldhenn

> Учить алгоритмам надо не на Паскале. И даже не на lisp. И тем более не на прологе. Алгоритмам надо учить на регистровой машине и машине Тьюринга. И только потом переходить к собственно языкам программирования.

прикинь, машину Поста (по книжке Успенского) и немного про машину Тьюринга они и учат в первом полугодии на парах по информатике.

anonymous
()
Ответ на: комментарий от ukez

А как насчет паттернов проектирования?

В структурном программирование разве есть адекватные сущности?

Уже упоминавшийся здесь MVC Pattern (general solution to the problem of

users controlling a large and complex data set) был создан еще в 1979 г.

Ключевое слово general, т.е. решение в "общем виде".

Sun-ch
()
Ответ на: комментарий от anonymous

Счастливые люди. Мы учили это только в 4м семестре. Лично я понял как писать алгоритмы только после выполнения курсовой "Интерпретация машины Тьюринга на нормальных алгоритмах Маркова". Полгода изучения РМ и МТ - можно считать, что процедурное программирование изучено. Можно приступать к ООП на облачках :)

Eldhenn
()
Ответ на: комментарий от Eldhenn

> А паттерны в школе - это лишнее. Это где-то во втором семестре давать надо.

Отнять у детей сказки? Садист.

anonymous
()
Ответ на: комментарий от Sun-ch

Суть паттернов в ООП - общия решения для некоторого класса задач, представленные в виде декомпозиции по данным (почти твоя цитата).

Аналогом при алгоритмической декомпозиции являются типовые алгоритмы. Например сортировка массива методом пузыря.

ukez
()

Решил авторизоваться. посты 17.05.2005 12:53:48 17.05.2005 13:46:14 17.05.2005 13:52:07 17.05.2005 14:25:05

про физ-мат лицеистов мои.

Есть у них паттерны, только не даём названия.

Stalin ★★★★★
()
Ответ на: комментарий от Eldhenn

Дык может когда эти дети прийдут на работу, вся задача программиста

будет сведена к натягиванию проблемы на суперпозицию известных

паттернов, а сама реализация (код) уже никого не будет интересовать.

Sun-ch
()
Ответ на: комментарий от ukez

>сортировка массива методом пузыря

А теперь давай представим, что это не числа, а некоторое объекты

с собственными предикатами сравнения.

Можешь изобразить решение сортировки в общем виде?

Sun-ch
()
Ответ на: комментарий от Sun-ch

Скорее от них будет требоваться чёткая формулировка задачи на естественном языке.

anonymous
()
Ответ на: комментарий от Sun-ch

Конечно. Сортировка будет работать на множестве любых объектов, где есть отношение порядка (короче когда можно сказать что один объект больше/меньше другого). например, на строках с лексикографическим отношением порядка (ala strcmp). Как реализовать ? man qsort например. Более сложные примеры см. функциональные языки с концепцией полиморфических типов данных.

ukez
()
Ответ на: комментарий от ukez

Ну дык это и есть объектный подход :))

Storage[first .. last].get.sort

Возвращает из некоторого абстракного хранилища некоторое упорядоченное

множество абстрактных объектов из диапазона first .. last.

Sun-ch
()
Ответ на: комментарий от Sun-ch

> Вот волшебная формула щастья

> ruby = (lisp + perl)/2

Ты наверное хотел сказать:

ruby = (perl + smalltalk) / 2

Всё, что в ruby есть от lisp он взял из perl.

Всё же ruby (как бы он мне и тебе ни нравился) не подходит для деток, слишком он высокоуровневый и однобоко-объектированный. Начинать надо с более низкоуровневых языков как Pascal и C, где нет garbage collection. :)

anonymous
()
Ответ на: комментарий от Sun-ch

Разумеется на стыке методологий, в реальных средствах разрабтки все концепции переплетаются, но имхо объектный и структурный подходы отличаются не кодом (реализацией), а подходом к представлению предметной области в программе. т.е. декомпозицией.

ukez
()
Ответ на: комментарий от Sun-ch

Что? После школы? На работу? На ортогональное разложение задачи по паттернам? Это в 17-то лет?

Eldhenn
()
Ответ на: комментарий от ivlad

Последнее сообщение про ruby было моё. :)

> > паскаль ломает представление о правильном программировании, потом сложно будет привыкать грамотно писать и оформлять код

> Это Паскаль ломает? А что - нет? BASIC? C?

Верно, всё ломает, но особенно python. Уж очень много искусственных ограничений и очень сильно давление со стороны языка.

Знаком с людьми, кто начав с Паскаля знает теперь с десяток языков программирования. И знаком с многими, кто начав с Питона так однобоко и продолжают мыслить, не выучив ни одного нового языка.

mihalych ★★★
()
Ответ на: комментарий от anonymous

>вот только он уже никому не нужен, кроме кучки фанатиков.. >

Зря вы так! Если вы его не используете, это не значит, что это плохой инструмент.

anonymous
()
Ответ на: комментарий от Sun-ch

> Дык может когда эти дети прийдут на работу, вся задача программиста будет сведена к натягиванию проблемы на суперпозицию известных паттернов, а сама реализация (код) уже никого не будет интересовать.

Видел я таких программистов. Они два года моделировали в Rational Rose MP3-декодер.

ivlad ★★★★★
()
Ответ на: комментарий от anonymous

>>Чел всю жизнь будет писать код в стиле

>>for(;;){
>>}

>Саныч, а в чём трабл, я всегда так пишу.

А надо вот так
for I := 0 to MaxI do
begin
end;

%)

vada ★★★★★
()
Ответ на: комментарий от Sun-ch

> Ну дык это и есть объектный подход :))

Нет, это именно функциональный.

> Storage[first .. last].get.sort

>Возвращает из некоторого абстракного хранилища некоторое упорядоченное множество абстрактных объектов из диапазона first .. last.

И в чём тут объектный подход?

anonymous
()

Моё мнение такое. Во-первых на то, как человек будет писать код, влияет отнюдь не язык, с которого он начал изучать программирование. Мне кажется, это зависит от самого человека и от его опыта. А потом уже он сам прийдёт к осознанию того, как надо и как не надо писать. А Паскаль в качестве первого языка весьма неплох. Он действительно довольно прост. На первом курсе мы его изучали (стандарт) за 10-15 лекций. И в принципе на нём все решали задачи и писали семестровые работы (естественно с разным успехом, но это зависило уже от самого человека). Конечно можно и Си использовать как первый язык, но, мне кажется, Си слишком перегружен указателями для этого (я не говорю, что это плохо, но это сложно понять). Про Питон я ничего не буду говорить, я его не знаю.. В любом случае переводить обучение на Питон не имеет смысла из-за отсутствия квалифицированных преподавателей.

anonymous
()
Ответ на: комментарий от MS

Он просто не смог написать компилятор для более сложного языка.

anonymous
()
Ответ на: комментарий от anonymous

> А Паскаль в качестве первого языка весьма неплох. Он действительно довольно прост. На первом курсе мы его изучали (стандарт) за 10-15 лекций.

Вот фундаментальная ошибка. Изучать надо не язык программирования, а алгоритмы и структуры данных, а также - методологию программирования.

ivlad ★★★★★
()
Ответ на: комментарий от JB

>слава богу после первого курса смог заставить себя сесть изучать перл и питон

вы серьёзно считаете Perl языком программирования? Perl хороший рабочий инструмент но языком программирования его называть не надо / (Питон это издевательство . К счастью есть Ruby). Но у питона много фанатиков ... :( надеюсь Python не сильно попортит жизнь PHP/Perl/Ruby. Лучшая альтернатива Borland Pascal была Virtual Pascal (Очень любимая среда у программистов в OS/2). Linux версия там не очень . Исходников автор не дал и проект весной официально умер (после 10 лет разработки.проект давно перепродан но качество и сейчас на высоте. но устарел морально ... )

anonymous
()
Ответ на: комментарий от MS

Не лучше. Педагог из него - отстойный.

anonymous
()
Ответ на: комментарий от anonymous

10-15 лекций - на один только язык?!?

Сам язык должен изучаться за одну-две лекции, и после к этому возвращаться не следует. Язык потом надо использовать, в изучении собственно программирования. Достаточное для полноценной работы подмножество Схемы легко можно с нуля, без каких либо начальных знаний, за эти самые две лекции осилить.

anonymous
()
Ответ на: комментарий от vada

Это всего лишь Луговский. Почему только под анонимусом? Идеи ОАА проникли в массы?

anonymous
()
Ответ на: комментарий от mikhail

А учить программировать надо на чем то что сможет дать в конечном итоге бинарный код (файл на диске который можно запустить без компилятора или интерпретатор+среда эмулятор. Необходимость runtime не в счёт. то есть можно считать java файл бинарным). Зачем сейчас учить на Pascal равно как и на языках типа lisp неясно. Так как реально программировать [если] придётся на C подобных высокоуровневых языках. Уж лучше учить ASMу - это хоть какой то смысл имеет. (в моём сообщении нет наездов на lisp но он реально малоприменим в отличии от C/Perl/PHP/Ruby/Java/C#).

anonymous
()
Ответ на: комментарий от vada

>А надо вот так
for I := 0 to MaxI do
begin
end;

А это чо - цикл от 0 до MAXINT? В паскале for(;;) нету? Ну и говнище!
ЗЫ: паскаля не знаю.

anonymous
()
Ответ на: комментарий от anonymous

>Матлаб -- дорогое удовольствие, ориентируем старшеклассников на Scilab как на разумную бесплатную альтернативу.

Тогда уж лучше http://www.octave.org/

действительно свободная альтернатива Матлаб

anonymous
()
Ответ на: комментарий от ivlad

>Вот фундаментальная ошибка. Изучать надо не язык программирования, а >алгоритмы и структуры данных, а также - методологию программирования.

Ну мы сначала и изучали машину Тьюринга, алгорифмы Маркова и тд. Где-то с месяц. Потом нам преподали Паскаль и потом используя Паскаль мы учили непосредственно списки, деревья, хэш-таблицы, и тд. Правда одно но, я до этого знал Паскаль достаточно неплохо, тем не менее, глядя на своих однокурсников могу сказать, что они за полгода хорошо поняли, что такое программирование.

PS Надеюсь реплика насчёт Луговского была не ко мне, на всякий случай, никакого отношения к этому уважаемому человеку я не имею :-)

anonymous
()
Ответ на: комментарий от vada

Ты посмотри на любую хорошую программу лекций, основанную на Схеме - там ровно столько на сам язык и выделяют, и не только для крутой аудитории (типа студентов MITа) но даже и для школьников.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.