Обсуждение книги Осипова А.В. «PascalABC.NET: Введение в современное программирование»


#42

Выложил 8 часть “Многомерные массивы”


#43
  • Может, - сказал Маленький Клаус, - мой колдун может сделать все, чего я захочу.

(Г.Х. Андерсен)

:mage:


#44

Простите,может ,не совсем по теме,но все же…Я простой инженер-конструктор,мне нужна хорошая среда для программирования узкоспециализированных технических задач…образно выражаясь калькулятор при написании расчетной записки.Сейчас я использую excel.но меня вполне устраивает Си ,Си++,но только до момента написания консольных приложений ,под виндовс это уже куча совсем ненужного кода…Питон тоже так себе,Си шарп тоже пробовал,Лазарус …все это вполне годные инструменты,но потом узнал о Вашем Суперпаскале…В общем я не могу распыляться ,хочу иметь один язык прикладного программирования ,без глубокого вникания в тонкости АПИ под ОС. Хотелось бы получить примеры работы из вашего Паскаля с пакетом офисных приложений от Майкрософт и примеры вызова функций САПР Компас из пакета Компас-Мастер,в справке по пакету Компас-Мастер есть примеры применения Си-шарп…Также в Системах САПР SolidWorks и T-flex есть возможность писать макросы на Си-шарп ,некое подобие VBA , не могли бы вы на страницах Вашей книги описать несколько примеров как это можно реализовать через Ваш СуперПаскаль…Также интересует работа СуперПаскаля через компорт с Ардуиной…Язык интересный,сравнивал с Си при распараллеливании вычислений Ваш СуперПаскаль быстрее…MinGW&Code::Blocks.


#45

Спасибо за обращение! К сожалению, формат данной книги не позволяет останавливаться на вопросах, которые Вы затрагиваете. Попробуйте прочитать “Введение”, возможно Вам станут более понятны поставленные цели и задачи. По поводу вызовов внешних модулей - обращайтесь, пожалуйста, в ветку “Помощь новичкам”. Если там возникнет интересное обсуждение, администраторы форума оформят его в самостоятельную тему.

P.S. Конечно, мне льстит, что Вы как-то объединили меня с разработчиками PascalABC.NЕТ, употребляя термин “Ваш СуперПаскаль”, но меня с ними объединяет лишь то, что я проживаю в одном городе с одним из разработчиков )))


#46

Уж,извините,коль не по адресу… Все же есть много книг по Си шарп,Бейсику где подобные вещи описаны,но все книги по практическому применению Паскаля как-то оставляют этот вопрос в тени…Все заканчивается тем,что для чего-то практически полезного Паскаль не применяет практически никто из инженеров,которые неплохо разбираются в своей области знаний,но у них нет ни времени ,ни желания вникать в мутные технологии от Майкрософт…Меня бы вполне устроил пример создания рабочей книги, обращения к рабочей книге екселя,к листу и считывания из ячейки строки и запись в ячейку строки…А вся логика находится в Паскале… Точно также и с монитором ком-порта ,считал строку,записал строку…как это сделано в Процессинге… Просто у нас миллион своих чисто инженерских заморочек и нам просто некогда постигать все тонкости этих мутных технологий от Майкрософта…Вообще я бы с удовольствием избавился от всех англосаксонких программ в пользу наших отечественных…ведь,мы ,если хотим развития своей страны должны иметь и уметь сами создавать подобные технологии…Какой-нибудь Питон по своим возможностям написать что-то быстро на коленке очень привлекателен,но зачем мне весь этот зоопарк разных языков и сред программирования…А в Паскале есть,что-то такое приятное,чего нет ни в Си++ ни в чем либо другом…и он почти как настоящий компилятор ,правда ,если установлен NET)))…Надеюсь,в следующей Вашей книге мы сможем увидеть ответы на вопрос о чисто практическом применении Паскаля…хотя ,всегда ли обязательно,чтобы приложение было как окошко с кнопками…Не проще ли в блокноте вписать в нужные строки ваши значения,считать их обработать и вернуть назад в блокнот без всяких “окошек”…для расчетных программ это даже выгоднее,не нужно тратить время на изучение пользователем и написание программистом виндовс интерфейса…ведь нужны же не сами кнопки,а рассчитанные программой параметры для исходных данных конструкторской работы… В любом случае спасибо,за Ваш труд ,постараюсь в ближайшее время изучить первые главы Вашей книги…


#47

Он и есть самый настоящий компилятор, такой же, как C# или VB.NЕТ, поскольку строит исполняемый файл.

По поводу вызова из PascalABC.NЕТ других программ. Если Вы можете вызывать программу из C# (к примеру), Вы сможете вызвать ее и из Паскаля - все .NET-языки совместимы. Как это сделать, будет показано на примерах в частях 11 и 13. Пока же посмотрите внимательнее здесь, на форуме, такие вопросы уже задавались.


#48

@Алекс, я всё же выкроил время и бегло прошёлся по Части1, и кроме общих замечаний насчёт полуофициальной стилистики и плеоназма (лаконизм - это способность ценить своё и чужое время, используя выражения попроще и покороче), разорванных строк и абзацев (особенности версии для печати/DTP?), хотелось бы побольше полезных примеров, ссылок, графиков/схем. Например, для лучшего понимания и наглядности, можно сразу дать общую схему типов (классическую или mindmap), расширяя и дополняя на основе предыдущего, То же касается параллельных сравнений PABC/классического Паскаля – лучше в табличке или в две колонки с границей. Если у вас шрифты не фиксированы для типографии, можно выбрать такие, где кириллицу и латиницу легко отличить визуально или же добавить цвет/тень. Это легко проверить при повторной ксерокопии с ксерокопии.

Честно говоря, при таком объёме теории, я так и не понял целевую аудиторию, но это субъективность, а главное - польза, ликбез.

Кстати, может добавить какой-то пример трактовки без/знаковых значений, вроде

var s: shortint;
      b: byte absolute s; //как: var b:byte:=byte(s);
      i:integer;
      w: word absolute i; //как: var w:word:=word(i);
begin
randomize;
 s:=-random(127);
//var b:byte:=byte(s); 
writeln(s,':',b);

 i:=-random(31000);
//var w:word:=word(i); 
writeln(i,':',w);

//и далее по char
end.

Не говоря уже почему скошены значения у знаковых типов (“плюс/минус ноль”) и почему они медленее.

Также ИМО лучше сразу вводить понятие “правильного” именования переменных, констант и функций (венгерская, горбатая [паскалевская] и составная).


#49

Общая схема типов дана во Введении.

Это вообще не тема для обсуждения. Выложено неполное содержимое для желающих с ним ознакомиться, а вопросы оформления - это уже совсем иное. Не путайте выложенный ознакомительный материал с электронным изданием.

Смысл? Что начинающий в этом может понять? А более опытный и так это знает.

Это не мой вопрос - почему. Для меня это просто установленный факт. Вот так оно есть и так работает.


#51

Спасибо, RAlex! Вашу книгу пока не читал, но обсуждение увлекательное. Его можно было бы экранизировать на Первом канале.

Мораль: никогда не пишите книги по программированию. А если пишете, то ни с кем не обсуждайте.

Я написал несколько книг по программированию на ЯП PascalABC.NET. Ни с кем не обсуждал, и никто о них не знает. Поэтому я живу спокойно, радуюсь жизни и получаю удовольствие от программирования. Кому нужно, мои книги находит.

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

Всех благ и успехов в работе!

С наилучшими пожеланиями

Валерий Рубанцев


#52

@Valery, спасибо, что откликнулись! Вашу книгу как раз я читал - она практически единственная (если не считать тех, что выпущены авторами ЮФУ) из всех книг, содержащих в названии “PascalABC.NЕТ”, в которой показаны хотя бы некоторые возможности языка. Все же, в основе там по прежнему “традиционный Паскаль”, кроме, конечно же, графической библиотеки. Это и не удивительно, учитывая в каком году Вы книгу опубликовали: с тех пор язык очень сильно развился. Смею полагать, что при более тесном знакомстве со входным языком PascalABC.NЕТ Вас еще ждут немало “открытий”. :grinning:

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

Александр Осипов

P.S. Это еще не совсем книга, скорее, “рыба”.


#53

Не совсем в тему, но близко и рядом. Много раз слышал, что совсем нет книг по программированию на PascalABC.NET. Такие книги совсем есть. Либо лень искать, либо они не нужны (да, ещё вариант: и то,и другое, и можно без хлеба)

Это не книга, а журнал, но проекты интересные (мне по крайней мере) http://www.mediafire.com/file/qsf146ewc8y72l4/Smekailik01.zip/file

Писано тоже не вчера, но некоторые открытия всё же присутствуют.

Одолел часть 1. программирование - это жизнь. В том смысле, что трудная штука. Больше всего понравились игры с унарным плюсом и минусом. Вообще трюки и фокусы любят все. Это неожиданно и эффектно. Начинающие с помощью трюков резко повышают свою самооценку. Желание разгадать трюк приводит к глубокому пониманию языка программирования.

Здесь были рассуждения о педагогике. Какой учебник способствовал интересу к предмету? Учебник - это правильная, но скучная книга. А ученикам нужны яркие примеры. Моя жена в бытность учителем химии на каждом уроке показывала занимательные опыты. Наверняка все знания у её учеников давно рассосались, а эти опыты остались в памяти народной. Однажды ей предложили взорвать школу, на что она ответила: сначала школу закончите, а потом уже взрывайте. Кто-то украл порошок магния, но школа до сих пор на месте.

Gaudeamus igitur, Juvenes dum sumus!

С глубочайшим почтением ко всем, кто пишет книги по программированию. Иначе что бы мы ругали?


#54

Это как раз то, что все тут массово ругают и склоняют выкинуть или заменить.

Жизнь - это боль. Итак, программирование - это боль? :stuck_out_tongue_winking_eye:

Что до ссылки на “Смекалика” - это я тоже видел. Но, во-первых, это уровень Микки-Мауса, во-вторых, это жуткое Console.Writeline c цветами “вырвиглаз” - это для кого? Явно нечто детское, завлекушка. Ни один взрослый человек в трезвом уме и здравой памяти, если он не педагог 5-6 классов, не станет этим материалом пользоваться, чтобы понять, что же это за такой “паскаль”, ради которого надо бросить любимое занятие и начать обучаться. Если там из примеров облупить шелуху, получатся коды длиной в несколько строчек.

Вот, подтверждаю Ваш тезис, что любое дело обгадить - это и быстро, и ума не надо особого. )))


#55

Как это никто не знает? Весь интернет знает. Они единственные по-существу…

А про обсуждение - вот уж точно не надо обсуждать. Вон - Александр Викторович обсуждает - и как из-за этого мучаецца ))

А не согласитесь ли, уважаемый Валерий, размещать ссылки на ваши книги на сайте? В любом удобном варианте.

А то литературы по PascalABC.NET действительно мало и мы этим слишком поздно озадачились - и вот сейчас собираем по крупицам. А у Вас слог потрясающий конечно!

В любом варианте. Жаль, что сайт ваш уже не работает, по крайней мере Главная.

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


#56

Спасибо, Станислав Станиславович.

Как раз во втором журнале разбираю Ваши задачи с Роботом: http://www.mediafire.com/file/wf158d85isrt83r/Smekailik02.zip/file

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

Есть у меня и продолжение этих странствий Робота - книга Исполнительный Робот. На сайте появился новый раздел Книги по PascalABC.NET. Я могу прислать некоторые книги для него. Напишите, как это сделать.

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

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


#57

Мы пробовали обсудить это здесь и здесь


#58

Да, я в своё время это читал. Но я о другом: почему паскаль в принципе неинтересен? Я не про олимпиады, а вообще про жизнь. Вот я лично не наблюдаю интереса к паскалю ни с какой стороны. Тогда получается: а для кого книги писать? Я уже все темы перепробовал, но не вижу интереса ни к какой теме вообще. А паскаль можно использовать не только на олимпиадах и ЕГЭ, однако не используют. Всё, пустил слезу - и полегчало.


#59

Да, могу Вам завести раздел - книги Валерия Рубанцева. На нём можно публиковать ссылки с краткой аннотацией, а если захотите, то можно и несколько подразделов сделать. Отдельно можно сделать подраздел на платные источники - я бы сделал аннотации со ссылками на страницы вашего сайта.

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

Для интереса публикую также наше решение задачи RBcc5 с зигзагом: %D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5

uses Robot;
begin
  Task('cc5');
  var Зигзаг := Right*13 + Down + Left*13 + Down;
  Run(Зигзаг*4);
end.

Интересно, а к другим книгам бОльший интерес?

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

То есть, это один из факторов - несомненно. Без книг - плохо.

То, что мало кто осознанно хочет писать в стиле PascalABC.NET - да, есть такое дело. Для меня это тоже странно - языковые средства очень хорошие. Есть конечно желание писать на “промышленных языках” - и оно порой перекрывает все разумные доводы. Мы существенно довольствуемся тем, что в Ростове-на-Дону каждый год выпускаем около 350 учащихся - юных программистов - в нашей детской компьютерной школе при мехмате. Учат в школе около 10 преподавателей мехмата, PascalABC.NET там основной, но есть в программе и Python и C#. Как хотя бы частично это масштабировать - не знаю. Свою голову ведь другим не оденешь.


#60

Со школами и подобными им учебными заведениями это более или менее объяснимо. Школьная информатика преподается на двух уровнях: базовом и углубленном. Базовый уровень - 36 часов в год, углубленный - 108 часов.

Вот что требует от школьника ФГОС:

Summary
  • На базовом уровне:
  1. владение умением понимать программы, написанные на выбранном для изучения универсальном алгоритмическом языке высокого уровня; знанием основных конструкций программирования; умением анализировать алгоритмы с использованием таблиц;
  2. владение стандартными приемами написания на алгоритмическом языке программы для решения стандартной задачи с использованием основных конструкций программирования и отладки таких программ; использование готовых прикладных компьютерных программ по выбранной специализации.
  • на углубленном уровне:
  1. владение универсальным языком программирования высокого уровня (по выбору), представлениями о базовых типах данных и структурах данных; умением использовать основные управляющие конструкции;
  2. владение навыками и опытом разработки программ в выбранной среде программирования, включая тестирование и отладку программ; владение элементарными навыками формализации прикладной задачи и документирования программ.

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

Поэтому учителям нужно такое подмножество языка, чтобы ученики могли понять текст в КИМах ЕГЭ или ОГЭ, а также написать что-то простенькое, поскольку к компьютерам на экзаменах их пока еще не подпускают. А в КИМах нет кодов в стиле PascalABC.NЕТ…


#61

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

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

А сейчас - вот этого нет в школьной программе, и учить не нужно. Так есть ещё и олимпиады, а там и вовсе не школьные задачи.

Пороть их надо!


#62

Интерес ко всем книгам очень слабый. Пожалуй, пока на Си-шарп ещё более или менее есть спрос. А на всё остальное практически −273,15 °C.

Пока готов новый Смекайлик http://www.mediafire.com/file/fidqxevmmnnoal4/Smekailik03.zip/file

Там есть проекты на нашем паскале.

По Роботу есть книга. В ближайшие дни подготовлю. Как лучше: прислать Вам книгу или выставить на своём сайте и дать ссылку? Что-то мне подсказывает (уж не лень ли?), что первый вариант лучше. Книга бесплатная.

Да, Робот - это по-нашему. Интерес есть, готов взяться. Ваше решение обескураживает. Такого я даже от паскаля не ожидал. Видимо, давно не брал я эти штуки в руки. Да, присмотрелся - это круче, чем зигзаг.

Есть ещё несколько книг по паскалю, но их нужно проверить на новой версии.