LINUX.ORG.RU

Книжка о Free Pascal и Lazarus под открытой лицензией

 , , ,


1

1

23 декабря на сайте компании «Альт Линукс» появилась новость о выходе книги «Free Pascal и Lazarus: Учебник по программированию» под лицензией GNU FDL.

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

Страница с ссылкой на книгу.

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



Проверено: anonymous_incognito ()
Последнее исправление: post-factum (всего исправлений: 3)
Ответ на: комментарий от Nxx

>>В современном Паскале объектно-ориентированное программироваие поддерживается лучше, чем в Си и даже С++.

ООП в С? ) Улыбнул ) Современный Паскаль похож на современный C# скорее )))

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

gumanoed> Есть подозрение что книга будет очень востребована в среднепрофессиональном и высшем образовании.

Есть подозрение, что книга востребована если и будет, то только в ПТУ, так как в ВУЗах непрограммистские специальности проходят курс с визуалбесиком, а программистские - с Qt и C++. Delphi оттуда уже уходит.

Quasar ★★★★★
()

А чем плох язык С для изучания в школе?

В середине 90-х я учился в физмат классе и нам преподавали язык С по «Кенригану-Ричи». Язык для обучения простой, всего 15 операторов, как нам говорили. А зачем в школьной программке нужен Паскаль? Си и Паскаль очень похожие языки, только первый «захватил» мир, а второй постепенно умирает. Если стоит задача засорить мозг молодому поколению, может заставить из изучать FORTRAN?

Срочно нужно выпускать книжку «Языки C и Python для изучения в школе».

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

>Никогда не пробовал объяснить ребенку, почему 1/2 == 0?

Как всё запущено: ты и 2-й класс прогулял, когда изучали «деление с остатком» :(

Led ★★★☆☆
()
Ответ на: комментарий от Nxx

Nxx> В современном Паскале объектно-ориентированное программироваие поддерживается лучше, чем в Си и даже С++.

А в жабе без ООП писать нельзя в принципе (даже если попытаться - ООП никуда не уйдёт, и будет висеть мёртвым грузом в самой программе). И?

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

Никакая книга не поможет, если нет воли и желания обучаться, если человек не обладает пытливым умом.

Таких мало. Задача учителя заинтересовать, зародить интерес к предмету.

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

По сути первичное обучение программированию состоит из введения таких понятий как переменная, функция, простейшие операции (арифметические, алгебраические, немножко работы со строками), примитивный ввод/вывод, циклы и условия. А в качестве примеров используются математические формулы как достаточно формальная основа разрабатываемых алгоритмов

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

Раньше в школах, ССУЗах и ВУЗах так и было, сейчас это через <*censored*>, сначала обучают паскалю, а остальному как нибудь уж потом.

Эталоном подачи материала в таком ключе считаю SICP или Dive into Python. Обучающийся сразу может приступить к решению конкретных задач без какой-либо глубокой теоретической подготовки. К сожалению, для детей подобных курсов не видел.

По мне, так лучше бы уж язык Ершова расширили бы и реализовали в виде транслятора/компилятора и среды разработки.

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

Если уж чел по русски то не может объяснить и описать алгоритм программы, то чего он наваяет на англоязычном языке программирования?

ladserg
()

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

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

Я понимаю, куда ж без паясничания, но что отвечать преподавателю на такой вопрос.

Марьивановна, почему writeln 1/2*2 выводит ноль?

baverman ★★★
()
Ответ на: А чем плох язык С для изучания в школе? от azorg

А чем плох язык С для изучания в школе?

Язык С для изучения в школе плох тем, что министерство образование утвердило на государственном уровне АЯП Паскаль, и все учителя обязаны преподавать именно АЯП Паскаль.

Всё остальное в рамках иных дисциплин, например в рамках курса «Алгоритмические языки высокого уровня», «Современные методы программирования», или «Методы ООП», и т.д.

Т.е. Паскаль в школах и *УЗах --- суровая реальность суровых законов РФ.

ladserg
()
Ответ на: комментарий от X-Pilot

X-Pilot> Зачем нужен Паскаль, когда есть Си?

C - по сути высокоуровневый ассемблер. Его знать несомненно полезно. Однако:

X-Pilot> После Си у обучаемого есть дорога к C++ -> Java/C# сразу и без ужасной ломки от синтаксиса и «сахара»!

Это уже означает, что получается самый настоящий тупик. C++ - это трудно поддающееся пониманию тяжеловесное нагромождение костылей. Ну вот как поможет в скорости и эффективности разработки всё ЭТО? Оно только усложняет её. Жаба и обшарпанный Цэ - я понимаю, что есть некоторые преимущества у них, но эти преимущества отсутствуют, если рассматривать жабу и обшарпанный цэ как языки, а не готовые платформы.
К тому же есть более удобные языки в плане синтаксиса и гибкости.

X-Pilot> После Паскаля такой дороги нет => минус к «преимуществам» Паскаля, кстати, в чем они?

Итого видим, что эти «преимущества» надуманны, да и паскаль с C сравнивать некорректно.

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

>Марьивановна, почему writeln 1/2*2 выводит ноль?

Любой нетупой второкласник знает, что «1 разделить на 2 равняется 0 и 1 в остатке». А ты не знаешь :(

Led ★★★☆☆
()
Ответ на: комментарий от X-Pilot

X-Pilot> Чему же они тогда могут научить, если они не специалисты?

Собственно на практике мы и видим, что они в большинстве случаев не являются специалистами, и поэтому компьютерное образование в школе в глубокой ЖО.

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

mono> и разницу между дискматом и информатикой ты понимаешь?

Вмешаюсь в беседу с уточнениями:
1. То, что в школах называют информатикой, информатикой не является. Да и название дисциплины - ОИВТ (Основы Информатики и Вычислительной Техники). Говорит оно о том, что не единой информатикой живы.
2. Дискретная математика - очень важная составляющая информатики. Хотя бы потому, что современная информатика по большей части строится на логике.

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

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

Помню себя, начали давать Ершовскую информатику с блоксхемами, КНЦ и другими прелестями умозрительной информатики. Это было невообразимо скучно и совсем не познавательно. Всегда с нетерпением ждал практических заданий, где можно погонять на MSX живого робота по лабиринту. Самый эффективный способ обучения это метод проб и ошибок. Рисование каракуль в тетрадке пустая трата времени.

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

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

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

Macil> Процедурное программирование _кончилось_. Не используется оно больше нигде в чистом виде.

Как минимум в программируемых станках используется. Сам таким пользовался - вводишь программу резки, и делаешь дальше свои дела.

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

Ну же, не тупи, сделай последнее усилие, произведи нехитрую операцию умножения «ноль и один в остатке» на два и сравни с тем что дадут большинство языков.

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

Macil> Ой, нифига... Ну мы же графики строили? Строили? Исследования функций проводили? Проводили! Там всякие E(y), D(y), монотонность там... Или может быть это в шестом классе было. Я признаться уже не помню.

Действительно класс вундеркиндов. Исследование функций проходят не раньше 7-8 класса. В 7 классе только-только геометрию начинают проходить.

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

>> в С/С++ встроенной операции возведения в степень нет

А pow() и компанию уже отменили?

Вот и пример сегодняшних «программистов», не отличающий операцию от функции...

Led ★★★☆☆
()
Ответ на: комментарий от sjinks

А pow() и компанию уже отменили?

И чем эта функция отдельной и независимой от языка С библиотеки похожа на встроенную операцию?

Понимаю, например, в Бейсике, можно написать что либо вида: x^y, в С такого нет, нужно вызывать отдельную функцию.

Или ты считаешь функции - встроенными операторами?

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

Исследование функций проходят не раньше 7-8 класса.

Тут мне кажется нужно уточнить, на что исследовать функцию, может чел имел в виду исследование функции на экстремум, которое он прошел ещё во втором классе :-)

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

Окей, Марьивановна, напишу на вас докладную директору о несоответствии вашей квалификации занимаемой должности. На элементарные вопросы следуют какие-то левые ссылки, не имеющее никакого отношения к предмету разговора.

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

Macil> выучить стихотворение: тупой и монотонный труд, не требующий ни капли разума. Изучение иностранных языков — из той же оперы.

Стихотворение - верно. А вот в языках есть свои правила. Хотя смотря какой язык. В английском очень много выражений, не попадающих под правила языка, а идут они как выражения отедльных мыслей, которые нельзя переводить по словам.

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

>В современном Паскале объектно-ориентированное программироваие поддерживается лучше, чем в Си и даже С++.

Лучше, чем в Си - несомненно, т.к. в Си нет ООП.

А вот насчёт C++ действительно согласен. В современном паскале прекрасная система деления программ на модули, в то время как C++ унаследовал от Си коллекцию костылей и подпорок в виде макропроцессора и раздельной компиляции.

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

Macil> А вот с математикой такие штуковины не проходят. Во первых, упаси Боже относится к ней серьезно. Никогда не размышляй зачем в реальной жизни нужен моноид, например. Это всего лишь красивый объект.

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

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

le_legioner> По вашему так учителя физкультуры должны быть минимум призёры страны,а максимкум олимийцами.

Нет. Но знать, как подтягиваться, как правильно развивать тело и не допускать при этом травм - обязаны.
И вообще - не путай физкультуру со спортом. Спорт и физкультура - понятия друг друга взаимоисключающие.

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

> Как всё запущено: ты и 2-й класс прогулял, когда изучали «деление с остатком» :(

да? прогулял?

тогда понятно почему он такой бред несет

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

В современном паскале прекрасная система деления программ на модули, в то время как C++ унаследовал от Си коллекцию костылей и подпорок в виде макропроцессора и раздельной компиляции.

Почему костыли? Я, признаться, не испытывал проблем при вынесении классов в отдельные модули и даже в библиотеки, да и на уровне кода паскалевская модульность не особо отличается от реализаций С/С++, просто в паскале объявления классов, функций и процедур включено в юнит, а в С/С++ оно хранится отдельно в файле заголовков.

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

а в паскале 0.5

Оке, действительно 0.5, оказывается подзабыл, где приходилось повсюду точки расставлять. Эта претензия снимается.

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

>В советское время *все* спецы проходили повышение квалификации раз в 5 лет, железно. И попробовали бы не пройти...

Что-то сразу какой-то советский фильм вспомнился. Там пожилой инкассатор проходил комиссию, ну и по мишеням из пистолета промахивался, полосу препятствий прошёл не уложившись в норматив. Закадровый голос говорит что-то вроде: «А если сотрудник не проходит аттестацию, то его... всё равно оставляют на работе». Может быть это «Семь стариков и одна девушка», точно не помню.

morbo
()
Ответ на: комментарий от post-factum

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

паскакаль кстати более правильный язык, чем тот же васик, который калечит мозг

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

я тут недавно на каком-то сайте проходил «ЕГЭ по информатике», дык, там вполне себе встречались куски дискмата. Я аж удивился.

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

Тогда вернемся к истокам:

Ну не нужно знать школьнику отличие real от int, для него это должно быть просто числом.

Ты ещё не проходил в 4-м классе целые и действительные числа?

Тогда в каком классе проходят что 4.0 это не целое 4, почему в паскалевскую функцию принимающую integer нельзя передать real?

wow.pas(5,1) Error: Illegal expression
wow.pas(8,8) Error: Incompatible type for arg no. 1: Got "Single", expected "SmallInt"
baverman ★★★
()
Ответ на: комментарий от Quasar

>А вот в языках есть свои правила.

Полное незнание правил не мешало тебе бойко говорить на своем родном языке. Ты не пользуешься правилами, также как и не читаешь по буквам или даже по слогам. Из этого, конечно, не следует что правила не нужно изучать... Но факт остается фактом.

Macil ★★★★★
()
Ответ на: комментарий от X-Pilot

>Зачем нужен Паскаль, когда есть Си? После Си у обучаемого есть дорога к C++ -> Java/C# сразу и без ужасной ломки от синтаксиса и «сахара»!

Фи, какая ужасная дорога. Так хоть вкус к приличному языку появится, а если кроме Си ничего не видел, то будешь мучиться, даже не подозревая, что программирование может приносить удовольствие.

После Паскаля такой дороги нет


Та шо вы говорите?

=> минус к «преимуществам» Паскаля, кстати, в чем они?


А в чём преимущества Си и C++? В том, что это нагромождение костылей и подпорок? К преимуществам Паскаля можно отнести хотя-бы приличную систему модулей, читабельный синтаксис (конкурс типа IOCCC на нём провести посложнее будет), отсутствие неоднозначной грамматики (из-за чего создание компилятора с C++ превращается в огромную головную боль). ООП в паскале ровно такое же, как в C++.

morbo
()

Положительная новость. FPC рулит и педалит) Для тех, кому нужен современный обьектноориентированный и компилируемый кроссплатформенный язык с богатым набором написанных библиотек, и от С с его плюсами и костылями воротит - самое то!

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

>сторонник Ершова

сначала теоритический курс информатики, потом основы алгоритмизации, одно-двух годовалое дрочилово и трассировка программ на РАЯ на бумажке

вот оно как, оказывается, называлось! Только один хрен, потом били паскалем по голове - лет 5 на другие языки смотреть не хотел, идиот :(

В общем, множественно инкрементирую!

а

раньше это называлось курсами оператора ЭВМ

у нас тоже было, но под каким названием - не помню

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

>Что-то сразу какой-то советский фильм вспомнился.

Знаешь, а мне вот вспомнилась одна лаборатория конца 80-х. И заведующий, которому приходилось сочетать научную работу, производственную работу (они там меряли кое-что), переговоры по заключению договоров, повышение квалификации и еще дохрена всего. Про конференции, статьи и диссертации я скромно молчу.

Повыщение квалификации проходили раз в 5 лет. Все сотрудники. Безотносительно. И попробовали бы не пройти... Наверное потому что это была серьезная контора, а не какие-то инкассаторы. Наверное потому что билогоия — динамичная наука и подходы и мат. база за 5 лет успевают немножко устареть.

А про твоего инкассатора я могу сказать очень много и очень долго. И очень ненормативно.

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

>не надо ля-ля

Читай внимательно пост.

... это потом, когда ты будешь анализировать пачку казалось бы разнаородных объектов это всплывет... Но не во время обучения.

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

>Паскаль создавался для обучения и только для обучения.

да, но

1)40 лет назад

2)нынешний паскаль - уже не тот паскаль, а эдакий франкенштейн, который получился при попытке сделать из учебного языка промышленный, с натаскиванием фич из модулы, цэ/цэпэпэ и прочего.

lazyklimm ★★★★★
()
Ответ на: комментарий от X-Pilot

>Чему же они тогда могут научить, если они не специалисты?

Учителя - специалисты. Специалисты по педагогике. Чему может научить айти-специалист? Ставить обновления, лечить винду от вирусов, втыкать карточки в слоты на материнской плате, настраивать маршрутизацию на Cisco, писать программы для создания отчётов на PL/SQL, быдлокодить сайты на PHP?

Я вот пока учился, часто задумывался о том, что преподаватели тянут обучение на себя, пытаясь порвать твои мозги на лоскутное одеяло. Каждый думает: «да без знания этого вы не сможете бла-бла-бла». В результате программа обучения распухает до невероятных масштабов и курс лекций превращается в «галоп по европам». В результате появляются те самые студенты, которые нихрена не знают, нихрена не умеют, обладают только корочкой об образованиии и сильной головной болью из-за промывания мозгов гранитом науки.

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

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

>SICP или Dive into Python.

да

К сожалению, для детей подобных курсов не видел.

увы, но может детей и не надо (образно говоря) подпускать к компьютеру, а учить, как уже писали выше, по Ершову?

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

>нынешний паскаль - уже не тот паскаль

паскаль уже не тот... грустно и одиноко:)

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

>Почему костыли?

Включение и парсинг ~8 мегабайт хэдеров при компиляции helloworld.cpp - это не костыли?

Led ★★★☆☆
()
Ответ на: комментарий от baverman

>Тогда в каком классе проходят что 4.0 это не целое 4

В 4-м

почему в паскалевскую функцию принимающую integer нельзя передать real?

Можно. Руки из ж... вынь.

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