LINUX.ORG.RU

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

 , , ,


1

1

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

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

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

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



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

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

>Лет 30 назад появились языки достойнее паскаля. Лет 20 назад появились новые теоретические разработки, которые в паскале не отражены.

Лет 15 наза появился ты. Пора уже тебе того... самовыпилиться, а еще лучше было бы и не появляться.

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

>> Лет 30 назад появились языки достойнее паскаля. Лет 20 назад появились новые теоретические разработки, которые в паскале не отражены.

Тогда должны вымереть C/C++, Java и иже с ними. Ан нет.

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

Склероз у вас батенька ;)

Графики-то рисовались в 5-6м классе по точкам, а исследование функций на монотонность, непрерывность и экстремумы это уже практически 11 класс средней школы (обычные классы), если не первый курс института.

Я не буду спорить, что в 5-6 классе могли быть даны примеры функций, но именно примеры, а не определение функции.

В прочем, спор пустой. Главное что бы в мозги ученикам дисциплину вбили, а на каком языке они будут самовыражаться уже не важно.

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

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

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

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

> Если появится подобная свободная книга по программированию на си-подобном языке

А чем Си-подобный язык лучше Паскаля?

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

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

Совершенно точно помню, что до 9-го (по старому к 8-ому) классу уже определения функций заведомо были. В 9-ом (8-ом) классе изучали логарифмы и тригонометрию.

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

>я тебя расстрою, но обычный студент технического ВУЗа уже курсу к третьему не вспомнит, что такое функция(сужу по своей группе).

Значит не объяснили. В этом-то и проблема. Невозможно обучать математике гуманитарными методами. Этого у нас не понимают. Например, открываешь «... математику для экономистов», а там вместо компактной и емкой математической нотации словоблудие на полстраницы. Оно же не понятно! От него разум вываливается в stack overflow.

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

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

Во вторых, нужно очень хорошо понимать что из чего получается. Не заучивать, а выводить. Многие матобъкеты — братья. И та же пресловутая функция определяется через другие объекты: множество и отношение. И когда до тебя допрет, что функция — всего лишь отношение между двумя множествами, то как такое можно забыть? И самое главное, метод повтроений не работает. Нужно на полную катушку врубать разум, иначе действительно, это забудется сразу после сдачи очередного экзамена.

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

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

Лично мне почти безразлично, какой синтаксис...

Это был ответ на «ломку от нового синтаксиса». Просто си-подобные ЯП сегодня более распространены.

Amuser
() автор топика
Ответ на: комментарий от aen

>Напишете книжку под свободной лицензией?

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

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

>Зато не профессионализм меряется одинаково

да, в сантиметрах :)

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

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

Литературоведы-все на уровне классиков.

Каждый учитель биологии должен открыть свой путь развития цивилизации.

Каждый учитель химии обязан открыть хотя бы парочку новых элементов...

Бред же!Учитель информатики не обязан быть IT-специалистом.Он обязан уметь вложить в головы детей определённый объём знаний.Не более,но и не менее.

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

>Он обязан уметь вложить в головы детей определённый объём знаний.Не более,но и не менее.

То есть, он должен быть евангелистом какой-нибудь крупной корпорации?

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

>То есть, он должен быть евангелистом какой-нибудь крупной корпорации?

цепочку рассуждений в студию.

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

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

Вот это троллинг! Если не секрет, сколькими иностранными языками профессионально владеете?

sjinks ★★★
()

>Страница с ссылкой на книгу.
Ёж, машу вать! В последнее время на ЛОР пишут новости иностранцы, переводя текст с родного албанского :(

Новость хорошая, кстати, но как можно даже чисто теоретически написать «с сс(ылкой)». Автор новости сможет это произнести при случае? Или например, роликом на YouTube выложить? Кстати, отличная идея, давайте предложим автору новости произнести «с ссылкой» 256 раз и потом запись продадим за миллион долларов. Каково? ;)

DRVTiny ★★★★★
()

Кстати, авторов книги за фирменный бред российских учителей информатики про «ввод-вывод матрицы» - поставить к стенке и расстрелять к чёртовой матери! Или заставить вводить матрицу 1024х1024 в то самое время, как автор новости будет давиться тремя звуками [с] подряд. Господи, ну неужели же в США где-нибудь такой отборной ахинее учат школьников? Ни за что вообще в это не поверю, подобное псевдообразование для галочки может практиковаться только у нас.
Вот скажите, ну какую реальную цель может преследовать обучение информатике на столь абсурдных примерах? Если нужно научить детей азам программирования, то тогда и нужно уделять больше внимания фундаментальным вещам типа передачи параметров по ссылке и значению, структуре циклов, каким-то простейшим теоремам (ведь именно подобным образом происходит обучение, например, геометрии). Если же нужно зачем-то дать ещё и представление о программировании для решения практических задач, то в этом случае уж хотя бы матрицу-то можно считывать из файла? Заодно можно было бы обсудить и форматы файлов (о существовании которых дети и без учителя знают, а о том, что там внутри - зачастую не имеют ни малейшего представления), и о хранении данных в памяти компьютера.

DRVTiny ★★★★★
()

Странно. Она и раньше там была. Что сейчас изменилось?

В любом случае это хорошо что есть книга

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

>>А в чём проблема произнести?

А вы пробовали?

Честно говоря нифига не понял в чём сложности с трямя последовательными «С», Новость то для чтения, а не для произношения. Если интересен филологический диспут, то не там пишем.

ladserg
()

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

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

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

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

П.С. Глава о вводе матрице соответствует материалу, который нам давали в универе, хз что там не понравилось. Неудобно конечно без пояснений, интерфейса и т.д., но боюсь что этот раздаел в ВВУЗах и ССУЗах всегда преподносят именно так.

ladserg
()

спасибо ТС за новость и ссылку, почитаем

coldy ★★
()

Рис 1.8 лют до невозможности. У школьников и учителей будет невообразимое WTF.

baverman ★★★
()

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

вывода кириллического текста в консольном приложении.

Надеюсь обходные пути этой проблемы описаны в дальнейшем изложении?

baverman ★★★
()

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

Остался при своем мнении: паскаль для обучения не годен, тупо нет книжки для школьников.

baverman ★★★
()

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

Чем думали авторы при составлении пособия совершенно не понятно.

baverman ★★★
()

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

Определённую проблему представляет возведение x в степень n. Если значе-

ние степени n — целое положительное число, то можно n раз перемножить x (что даёт более точный результат и при целом n предпочтительней)

Тройная лицоладонь в прогибе.

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

> Алгебраические типы

Абстрактные типы

Параметрический полиморфизм


Параметрический полиморфизм



А ты садист! :)

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

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

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

И еще, в очередной раз порадовало, отсутствие функции возведения в степень в языке для *обучения*

Функция power из модуля math:

program Power;
uses Math;
begin
    WriteLn(Power(2,3));
end.

В принципе функция возведения в степень не является стандартной не только для паскаля, в С/С++ встроенной операции возведения в степень нет. Да и не только в С/С++.

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

Заинтриговал, даже включил отображение аватаров — блжад, это таким образом администрация ЛОРа заставляет пользователей делать юзерпики? No way! Интересно, и давно я такой? А я думаю, что это в последнее время меня иначе чем за тролля и не держат.

Спасибо, тебе товарищ, как говорится, открыл глаза.

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

Функция power из модуля math

Ну вот, оказывается есть, а авторы не знают, я считаю это верхом некомпетентности.

В принципе функция возведения в степень не является стандартной не только для паскаля, в С/С++ встроенной операции возведения в степень нет. Да и не только в С/С++.

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

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

baverman ★★★
()

Насколько я понял, фундаментальная проблема Пасквиля для прикладного программирования осталась неизменной со времен Турбо-Пасквиля: размерность типа string всё так же 255 символов. Не смешно.
В пасквиле хороший набор функций для работы со строками, но конечная размерность строк превращает всё это дело в фарс: либо работай с короткими строками (а это далекоооо не всегда возможно - возьмите хоть необходимость парсить файл-табличку из сотни-другой полей), либо используй array[] of char, но тогда не используй встроенные функции работы с текстом. Есть над чем поржать.

su
()

По факту книги:

«В России есть 2 беды: дураки и дороги. Причем, первые занимаются строительством вторых.» (с)

Ну, блджад, на кой фиг аффтары сего опуса разместили описание напосредственно языка во 2 и последующих главах, ПОСЛЕ кучи примеров.
Где у аффтараф моск? Какой же вменяемый препод рискнет ЭТО ученикам преподать?

Вот я ученик, среду программирования-то увидел в первый раз в жизни - и мне НАААА кучу примеров. Поскольку английский в меня пытаются вбить, часть слов таки знакома (например, read-write). Остальное - бессмысленный набор пугофог.

Короче, описание типов и основных операторов в книге должно быть В НАЧАЛЕ. И вовсе не зря любая вменяемая книжка по программированию начинается с «Hello World!»...

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

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

Хм, не совсем понял что есть промышленный язык :-)

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

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

Если уж говорить о ребёнке, то тут я сторонник Ершова, нефиг насиловать мозг детей всякой дрянью. ИМХО лучше как в классических школах информатики, сначала теоритический курс информатики, потом основы алгоритмизации, одно-двух годовалое дрочилово и трассировка программ на РАЯ на бумажке, а АЯП пущай изучают сами, благо ученикам классической школы фиолетово на чём писать, хоть FORT'е (боже упаси от такого)...

П.С. Посмотрел чего сыну на информатике преподают... В общем раньше это называлось курсами оператора ЭВМ (ну или компьютерная грамотность по новому, если для взрослых). Информатикой на информатике у него не пахнет.

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

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

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

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

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

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

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

>размерность типа string всё так же 255 символов.

4.2

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

Насколько я понял, фундаментальная проблема Пасквиля для прикладного программирования осталась неизменной со времен Турбо-Пасквиля: размерность типа string всё так же 255 символов. Не смешно.

В пасквиле хороший набор функций для работы со строками, но конечная размерность строк превращает всё это дело в фарс: либо работай с короткими строками (а это далекоооо не всегда возможно - возьмите хоть необходимость парсить файл-табличку из сотни-другой полей), либо используй array[] of char, но тогда не используй встроенные функции работы с текстом. Есть над чем поржать.

В FPC есть AnsiString и WideString, они не ограничены по длине. При чём использование первого типа вместо стандартного string на этапе компиляции можно включить обычной галочкой в настройках компилятора.

Все строковые функции FP, в основном написаны с использование трёх типов строк String, AnsiString, WideString.

П.С. А перл для парсинга текста не катит уже? ;-)

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

Спасибо, что открыл глаза! А то я думал откуда все проблемы с CS-образованием в стране: а дело-то в том, что их в школе учат на файлах-табличках из 5 полей, а не из сотни-другой.

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

В принципе для минимума достаточно

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

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

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

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

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

> Учитель информатики не обязан быть IT-специалистом.Он обязан уметь вложить в головы детей определённый объём знаний.Не более,но и не менее.

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

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

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

Когда прочитал новость после подтверждения, то сам удивился такой ошибке. Уж не знаю, кто её допустил: я или модератор...

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

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

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

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