Что я увидел в начале статьи? 5 пунктов, которые делают Claude Code уникальным. Уникальным в чем? Разве Codex от OpenIA или Gemini-cli не могут делать тоже самое?
Что еще есть в статье? Цепочки обработки данных, тесты, ограничения, пре и пост-хуки.
А где работа с реальным кодом и логикой, с которой собственно и работают программисты, и что в общем-то и идет потом в продакшен? Что вы собрались обрабатывать, ограничивать и тестировать, если нет самого главного - кода, который обеспечивает какую-то реальную функциональность?
Может bootstrap и делает тоже самое, что и tailwind, вот только что-то я не припомню на нем таких длинных строк.
Видимо потому, что tailwind изначально позиционируется как "CSS-фреймворк, ориентированный на утилиты, для быстрого создания современных веб-сайтов без необходимости покидать HTML-код". А в результате получется каша, в которой куча классов, согласно философии фреймворка, не покидает HTML-код. И, как результат, код превращается в нечитаемый почти равномерно заполненный текстом прямоугольник, где глазу не за что зацепиться. Причем, это начинается прямо с документации фреймворка.
А я привык как-то по старинке: стили в одной части файла (или даже отдельном файле - файлах), верстка (JSX или HTML) - в другой части файла, логика - собственно JS с обработчиками событий и хуками - в третьей. И все отлично видно. И у всего своя понятная, легко читаемая структура. И не важно, это React, или Vue, или Svelte.
Понятную структуру легко поддерживать и сопровождать, добавлять туда новые фичи, искать причины багов. А пытаться что-то найти в простыне прямоугольников текста, в которых мозги отказываются определять отдельные сущности кода - очень непродуктивное и неприятное занятие.
Прилетают иногда проекты после любителей Tailwind. Открываешь, а там километры классов прямо внутри тега. И код который должен читаться в одном направлении - сверху вниз - приходится читать в двух - ещё и слева направо. За обилием классов теряется структура верстки.
Такое себе.
На текущем проекте тоже был у нас. Пришлось выпилить. И сразу код стал намного легче читаться.
А зачем мне чьи-то кастомные промпты? В gemini-cli за пару дней с помощью общения на нормальном русском языке, правда не всегда литературном, при правильном подходе вполне можно собрать довольно таки годный проект уровня MVP. И нет, это не совсем вайб-кодинг: предварительное проектирование архитектуры, выбор технологий, разработку тз и поэтапного плана реализации, тесты, проверку кода, коммит после проверки на каждом этапе и все такое никто не отменял.
Обычно мне хватает бесплатной квоты от Gemini часов на 7 непрерывной работы. Ну и первым же делом на новом проекте запрещаете ему делать коммиты. Все сами, все своими руками. Под строгим контролем. А то оно накоммитит ).
Для разработки с gemin-cli я использую VS Code. Как говорится и мощь cli и удобство почти IDE. И все в одном флаконе. И вполне себе работает без 3-х заветных букв.
После первичной не очень сложной настройки для начала использования на новом проекте вполне будет достаточно перекинуть в его корень один файлик состоящий из одной строки с id-шником проекта Google.
Учитывая все вышеперечисленное мной у меня такой вопрос к автору статьи: что мне сверх этого даст ваша разработка?
Автор не подумал об одной достаточно серьезной вещи - обучении. Для JS, который на английском, есть огромнейшая куча разнообразных обучающих материалов. А как учить тот язык, который предлагает он? Если пользоваться тем материалом, который есть для традиционного JS, то получается не очень удобно - в учебнике ключевые слова на английском, а в языке, который изучается, - на русском. Мозги обычно такое не любят. Будет куча проблем.
В общем случае, информатика - это не только и не столько про написание кода, как про изучение работы с информацией вообще. И не надо сводить информатику только к программированию. Или к компьютерным вычислениям. А уж каким боком к информатике комбинаторика мне вообще не понятно.
Сколько лет назад это было? Сначала Macromedia Flash купила Adobe, а потом аккуратно прибила.
Не интересно современным школьникам написание кода ни в Delphi, ни в VS Code - подавляющему большинству из них. Потому что это скучно и занудно. Это надо очень много думать, напрягать мозги. И очень маленький выхлоп.
Я знаю, потому что я работаю со школьниками в школе. И нет, я не учу их программировать. Я организовал в этой школе музыкальную группу. Вот это им действительно интересно - придти на репетицию и тусоваться там, записывать короткие ролики и выкладывать их в Tik-Tok и Инстаграм. Выйти на сцену и спеть песню. Иногда выступить на концерте. Сидеть за настоящим пультом и рулить настоящим звуком на настоящем выступлении. Да, с косяками, с иногда заводящимися микрофонами. Но самим. Это то, что они реально могут и хотят кому-то из своих одноклассников и другей - подруг показать.
И в одном из классов этой же школы есть очень увлекающийся компьютерами, в том числе и программированием, мальчик. Так вот то, что он делает, никому из его одноклассников абсолютно не интересно. И сейчас, да, информатика - это всего лишь еще один предмет, по которому надо делать какие-то домашние задания. А компьютер - ну это посмотреть фильм, послушать музыку, или же это что-то скучное - для отчетов, которые делают мама или папа. Да и не в каждой семье сейчас компьютер есть. Наверное потому что в каждом кормане есть смартфон или два.
Вспомнил я историю, связанную с изучением программирования.
Преподавал я лет 9 назад на курсах Node.js. Народ разный там встречался, уровень тоже разный, но много начинающих. И вот в одном из потоков учились двое друзей - один был достатончо продвинут - все примеры на своем ноутбуке делал прямо в консоли, безо всякой IDE. А второй - второй почти всегда приходил малость выпивши. Но я его не стал выгонять, так как он был не один, ну и никогда проводить занятия не мешал. Ну такое вот сыто-выпимши. Не думал я, что из него что-то получится.
Ну и где-то месяца через 4 встречаю его в метро, подбегает ко мне - трезвый, зоровается и говорит: Огромное Вам спасибо! Взяли меня на работу программистом...
Чтобы вызвать интерес к программированию, обучение должно быть интересным. И желательно, чтобы обучаемый сразу видел какой-то внятный результат. И я не могу назвать интересным то, как обучали меня. Но это было очень давно. Сейчас есть лругие варианты и языки для этого.
https://www.freepascal.org/ - Не знаю, вот источник. Википедия тоже подтверждает это: последняя стабильная версия - "3.2.2 / May 20, 2021; 4 years ago "
Стажировки и доп.обучение по месту работы, плюс несколько лет преподавания на курсах (на курсах уже не работаю). Аудитория взрослая. Причем на курсах - совершенно различный стартовый уровень. Обучение через разработку небольших игровых приложений: крестики-нолики, шашки и т.д. Плюс разноплановые интересные задачи.
Я не говорю про полное отстутствие понимания типов. А про явное их указание в том же Паскале.
Ну и к тому, что можно и что нельзя сделать на Delphi/Pacal. Решил я тут как-то озадачиться написанием своего рантайма для JS на основе движка V-8. Начал искать концы - с чего начать и т.д. Оказалось ни в чем кроме Visual Studio это добро не собирается. Решил я посмотреть в сторону разработки VST-плагинов. Тут тоже ни о каких Delphi / C++ Builder - тоже речи идти не может. В основном библиотеки для разработки и фреймворки для этого заточены под использование Visual Studio. Подавляющее большинство мануалов - то же. Как бы выбор очевиден.
Я понимаю, что в плане удобства использования и набрасывания компонент на форму у Delphi / C++ Builder в свое время конкурентов не было. Но ни одна нетривиальная задача не сводится исключительно к набрасыванию компонент на форму. А когда начинается реальная большая работа с кодом: удобный автокомплит, рефакторинг, поиск в тысячах файлов, переход от файла к файлу и т.д, то и выясняется, что эти вещи, к которым так привык, у Delphi остались на уровне 15 - 20 летней давности. А последняя версия Free Pascal, который якобы интенсивно развивается, вышла 20 мая 2021 года - 4 года назад "FPC version 3.2.2 has been released!" И после этой даты там только 2 новости. Такая себе активность...
И поэтому ни с какой стороны сейчас я не могу рекомендовать начинать изучение программирования, используя Pascal.
Нет цели дать поверхностные знания. Есть цель с чего-то начать и быстро применить. И не дать погаснуть интересу к предмету изучения. И если во время начала обучения обучаемый думает только о логике работы его кода, ему гораздо проще начать что-то писать, чем если ему еще нужно думать и о типах на этом этапе. Сначала пусть подумает и поймет как это работает. И сам сделает что-то работающее. Потом мы можем добавить и типизацию. И много чего еще.
Обучение должно быть постепенным. Шаг за шагом. А многие глядят с высоты своего опыта и не понимают, или скорее уже забыли, что изучить новый для себя язык программирования намного проще, когда у тебя в багаже есть уже один или несколько других, чем в принципе начать изучение программирования. Что концепция присваивания - сама по себе далеко не тривиальная вещь. Что циклы и условия - это не то, с чем обычный человек работает каждый день. И надо еще уложить все это в голове и заставить работать в совокупности. А если сразу на все это навесить типы, понимание резко становится намного сложнее.
Статья об обучении программированию, а не о написании промышленного энтерпрайз кода. И мой коммент был об обучении программированию. Скорее даже о самом его начале. И о практическом применении полученных знаний с получением за это практическое применение оплаты.
Вакансии на Pascal/Delphi - их в моем двухмиллионном городе почти нет. Для джунов - нет от слова совсем. Что изучавший Паскаль будет делать после окончания его изучения? Где он сможет применить на практике полученные знания? На пет-проектах? А что потом? Сразу переучиваться на другой язык? А почему в таком случае не начать с этого другого языка и не изучить все необходимые концепции на нем?
И да, я действительно, в отличие от многих здесь, думаю об изучении программирования именно как преподаватель этого самого программирования, а не только как программист.
Давайте лучше скажем, что у него было в свое время продолжение в виде Delphi, лучшие времена которого закончились с окончанием эпохи Delphi 7. А то, что есть сейчас, да оно развивается как-то, да, там добавляются новые фичи. Может его кто-то даже и использует. Вот только как и где? В Вашем городе много работы на Delphi или на Free Pascal? Или Вы состоите в каком-то серьезном большом быстро развивающемся сообществе этого языка/среды разработки? Или есть какие-то курсы, которые проводятся по этому продукту? Я думаю что нет.
К сожадению, так и есть - не достаточно современная и удобная. Я пробовал работать в C++ Builder после Visual Studio или IDE от JetBrain. По удобству небо и земля совсем не в пользу наследника Delphi. Да и Delphi это у же не совсем Pascal.
Преподаю программирование более 10-ти лет. И у меня уже давно сложилось свое определенное мнение на счет того, какие из языков программирования в настоящее время наиболее подходят для этого. Помню, как у меня как-то одна дама в разговоре спросила: Хочу сына отправить учить программирование. Не подскажете, какой язык сейчас самый модный? Никогда не оценивал языки программирования с этой стороны до того момента...
Вообще довольно-таки странное ощущение от языка, автор которого долгие годы боролся с оператором goto, но так и не смог от него избавится в своем самом известном языке программирования.
Программирование - это достаточно сложный вид деятельности. Даже без явного использования типов. И обучающемуся в самом начале будет гораздо проще освоить присваивание, условия, циклы и функции и начать работать с ними без понимания того, что где-то там внутри у каждого значения есть свой конкретный тип. Плюс желательно иметь возможность объявить перенную как можно ближе к месту ее первого использования. И обе эти вещи не про Pascal, который к изучению логики работы кода сразу добавляет головную боль в виде типов и того, что переменные объявлены неизвестно где.
Еще одной проблемой Паскаля является отсутствие его практического применения в настоящее время на реальном проекте хотя бы для самого себя. А считать сферических коней в вакууме очень быстро надоедает. Обучающийся должен иметь возможность сделать что-то, что он может показать другим или как-то использовать сам. Плюс отсутствие современных удобных сред разработки, которые эту самую разработку существенно упрощают. Ну и, соответственно, возможность применения полученных знаний для последующей трудовой деятельности и зарабатывания денег себе на пропитание после изучения детища Вирта околонулевая. И все изучающие Паскаль очень скоро это понимают. И им становится просто скучно и не интересно заниматься дальнейшим изучением этого языка. И поэтому, с моей точки зрения, Паскаль - не очень подходящий вариант для изучения программирования.
Вы можете возразить: так он же специально создавался для обучения программирования. Но задайтесь таким вопросом: А какие еще были варианты в то время, когда Вирт его создавал, чтобы учить своих студентов? Бейсик? Алгол? Фортран? Ну или еще Кобол. Давайте вспомним, что тогда еще не было даже Си. Они создавались где-то в одно и то же время. И по сравнению со всеми вышеперечисленными языками, которые существовали на то время, я согласен, Паскаль вполне себе выигрывает для обучения программированию.
Однако сейчас есть много хороших современных языков намного более подходящих для этой цели. Причем, выучив один из них, мы можем вполне себе что-нибудь осязаемое на нем сделать.
С моей точки зрения два наиболее подходящих кандидата - это Javascript и Python. Низкий порог входа, пологая кривая обучения, возможность практического применения прямо со старта изучения и удобные современные среды разработки - их несомненные плюсы.
Научится человек использовать присваивание и другие возможности этих языков, поймет, как работают условия и циклы, уложится у него в голове все это, и вполне потом может двигаться дальше к чему-либо со строгой типизацией типа Си или Java. Если ему это нужно, если захочет или если он это будет использовать в своей практической делятельности. Ну и несомненно, профессиональный программист должен хорошо знать что такое типизация и уметь работать с типами.
Мы все учили в школе, а потом и в университете математику. Вот только никто из нас не начинал ее изучение с интегралов. И никто не изучал производные параллельно с элементарным сложением. Сначала было сложение 1 + 1, потом через некоторое время вычитание 2 - 1. В следующем классе или через класс - умножение 2 * 2 = 4. И только через годы логарифмы, а потом и интегралы.
Поэтому я считаю, что Javascript и Python - вполне себе подходящие для целей обучения кандидаты. Хотите что-то статически типизированное - Си, Java или C#. Ну уж точно не Pascal, который даже его автор всю свою последующую жизнь пытался улучшить и сам не считал идеальным языком.
И было это в конце 80-х — начале 90-х. И объем программ составлял десятки и сотни строк. Вполне можно было писать на бумажных листках и прогонять программу целиком в голове.
Сегодняшний реальный проект это сотни классов объединенные в десятки пакетов, в которых содержатся десятки или даже сотни тысяч строк. Насколько реально такую программу прогонять в голове? Если только какие-то малые ее части…
Что я увидел в начале статьи? 5 пунктов, которые делают Claude Code уникальным. Уникальным в чем? Разве Codex от OpenIA или Gemini-cli не могут делать тоже самое?
Что еще есть в статье? Цепочки обработки данных, тесты, ограничения, пре и пост-хуки.
А где работа с реальным кодом и логикой, с которой собственно и работают программисты, и что в общем-то и идет потом в продакшен? Что вы собрались обрабатывать, ограничивать и тестировать, если нет самого главного - кода, который обеспечивает какую-то реальную функциональность?
Может bootstrap и делает тоже самое, что и tailwind, вот только что-то я не припомню на нем таких длинных строк.
Видимо потому, что tailwind изначально позиционируется как "CSS-фреймворк, ориентированный на утилиты, для быстрого создания современных веб-сайтов без необходимости покидать HTML-код". А в результате получется каша, в которой куча классов, согласно философии фреймворка, не покидает HTML-код. И, как результат, код превращается в нечитаемый почти равномерно заполненный текстом прямоугольник, где глазу не за что зацепиться. Причем, это начинается прямо с документации фреймворка.
А я привык как-то по старинке: стили в одной части файла (или даже отдельном файле - файлах), верстка (JSX или HTML) - в другой части файла, логика - собственно JS с обработчиками событий и хуками - в третьей. И все отлично видно. И у всего своя понятная, легко читаемая структура. И не важно, это React, или Vue, или Svelte.
Понятную структуру легко поддерживать и сопровождать, добавлять туда новые фичи, искать причины багов. А пытаться что-то найти в простыне прямоугольников текста, в которых мозги отказываются определять отдельные сущности кода - очень непродуктивное и неприятное занятие.
Прилетают иногда проекты после любителей Tailwind. Открываешь, а там километры классов прямо внутри тега. И код который должен читаться в одном направлении - сверху вниз - приходится читать в двух - ещё и слева направо. За обилием классов теряется структура верстки.
Такое себе.
На текущем проекте тоже был у нас. Пришлось выпилить. И сразу код стал намного легче читаться.
А зачем мне чьи-то кастомные промпты? В gemini-cli за пару дней с помощью общения на нормальном русском языке, правда не всегда литературном, при правильном подходе вполне можно собрать довольно таки годный проект уровня MVP. И нет, это не совсем вайб-кодинг: предварительное проектирование архитектуры, выбор технологий, разработку тз и поэтапного плана реализации, тесты, проверку кода, коммит после проверки на каждом этапе и все такое никто не отменял.
Обычно мне хватает бесплатной квоты от Gemini часов на 7 непрерывной работы. Ну и первым же делом на новом проекте запрещаете ему делать коммиты. Все сами, все своими руками. Под строгим контролем. А то оно накоммитит ).
Для разработки с gemin-cli я использую VS Code. Как говорится и мощь cli и удобство почти IDE. И все в одном флаконе. И вполне себе работает без 3-х заветных букв.
После первичной не очень сложной настройки для начала использования на новом проекте вполне будет достаточно перекинуть в его корень один файлик состоящий из одной строки с id-шником проекта Google.
Учитывая все вышеперечисленное мной у меня такой вопрос к автору статьи: что мне сверх этого даст ваша разработка?
Что после форка было добавлено с вашей стороны?
Автор не подумал об одной достаточно серьезной вещи - обучении. Для JS, который на английском, есть огромнейшая куча разнообразных обучающих материалов. А как учить тот язык, который предлагает он? Если пользоваться тем материалом, который есть для традиционного JS, то получается не очень удобно - в учебнике ключевые слова на английском, а в языке, который изучается, - на русском. Мозги обычно такое не любят. Будет куча проблем.
В общем случае, информатика - это не только и не столько про написание кода, как про изучение работы с информацией вообще. И не надо сводить информатику только к программированию. Или к компьютерным вычислениям. А уж каким боком к информатике комбинаторика мне вообще не понятно.
Сколько лет назад это было? Сначала Macromedia Flash купила Adobe, а потом аккуратно прибила.
Не интересно современным школьникам написание кода ни в Delphi, ни в VS Code - подавляющему большинству из них. Потому что это скучно и занудно. Это надо очень много думать, напрягать мозги. И очень маленький выхлоп.
Я знаю, потому что я работаю со школьниками в школе. И нет, я не учу их программировать. Я организовал в этой школе музыкальную группу. Вот это им действительно интересно - придти на репетицию и тусоваться там, записывать короткие ролики и выкладывать их в Tik-Tok и Инстаграм. Выйти на сцену и спеть песню. Иногда выступить на концерте. Сидеть за настоящим пультом и рулить настоящим звуком на настоящем выступлении. Да, с косяками, с иногда заводящимися микрофонами. Но самим. Это то, что они реально могут и хотят кому-то из своих одноклассников и другей - подруг показать.
И в одном из классов этой же школы есть очень увлекающийся компьютерами, в том числе и программированием, мальчик. Так вот то, что он делает, никому из его одноклассников абсолютно не интересно. И сейчас, да, информатика - это всего лишь еще один предмет, по которому надо делать какие-то домашние задания. А компьютер - ну это посмотреть фильм, послушать музыку, или же это что-то скучное - для отчетов, которые делают мама или папа. Да и не в каждой семье сейчас компьютер есть. Наверное потому что в каждом кормане есть смартфон или два.
Вспомнил я историю, связанную с изучением программирования.
Преподавал я лет 9 назад на курсах Node.js. Народ разный там встречался, уровень тоже разный, но много начинающих. И вот в одном из потоков учились двое друзей - один был достатончо продвинут - все примеры на своем ноутбуке делал прямо в консоли, безо всякой IDE. А второй - второй почти всегда приходил малость выпивши. Но я его не стал выгонять, так как он был не один, ну и никогда проводить занятия не мешал. Ну такое вот сыто-выпимши. Не думал я, что из него что-то получится.
Ну и где-то месяца через 4 встречаю его в метро, подбегает ко мне - трезвый, зоровается и говорит: Огромное Вам спасибо! Взяли меня на работу программистом...
Я помню в конце 80-х книжка была "Язык Форт и его реализации" в которой изучался Форт через разработку интерепретатора Форта на ... Форте.
Не думаю, что это корректное сравнение. JS, Python, C# и Java - это не эверест. Да и Pascal / Delphi - не картинки и не легкая прогулка.
Чтобы вызвать интерес к программированию, обучение должно быть интересным. И желательно, чтобы обучаемый сразу видел какой-то внятный результат. И я не могу назвать интересным то, как обучали меня. Но это было очень давно. Сейчас есть лругие варианты и языки для этого.
https://www.freepascal.org/ - Не знаю, вот источник. Википедия тоже подтверждает это: последняя стабильная версия - "3.2.2 / May 20, 2021; 4 years ago "
Стажировки и доп.обучение по месту работы, плюс несколько лет преподавания на курсах (на курсах уже не работаю). Аудитория взрослая. Причем на курсах - совершенно различный стартовый уровень. Обучение через разработку небольших игровых приложений: крестики-нолики, шашки и т.д. Плюс разноплановые интересные задачи.
Я не говорю про полное отстутствие понимания типов. А про явное их указание в том же Паскале.
Ну и к тому, что можно и что нельзя сделать на Delphi/Pacal. Решил я тут как-то озадачиться написанием своего рантайма для JS на основе движка V-8. Начал искать концы - с чего начать и т.д. Оказалось ни в чем кроме Visual Studio это добро не собирается. Решил я посмотреть в сторону разработки VST-плагинов. Тут тоже ни о каких Delphi / C++ Builder - тоже речи идти не может. В основном библиотеки для разработки и фреймворки для этого заточены под использование Visual Studio. Подавляющее большинство мануалов - то же. Как бы выбор очевиден.
Я понимаю, что в плане удобства использования и набрасывания компонент на форму у Delphi / C++ Builder в свое время конкурентов не было. Но ни одна нетривиальная задача не сводится исключительно к набрасыванию компонент на форму. А когда начинается реальная большая работа с кодом: удобный автокомплит, рефакторинг, поиск в тысячах файлов, переход от файла к файлу и т.д, то и выясняется, что эти вещи, к которым так привык, у Delphi остались на уровне 15 - 20 летней давности. А последняя версия Free Pascal, который якобы интенсивно развивается, вышла 20 мая 2021 года - 4 года назад "FPC version 3.2.2 has been released!" И после этой даты там только 2 новости. Такая себе активность...
И поэтому ни с какой стороны сейчас я не могу рекомендовать начинать изучение программирования, используя Pascal.
Нет цели дать поверхностные знания. Есть цель с чего-то начать и быстро применить. И не дать погаснуть интересу к предмету изучения. И если во время начала обучения обучаемый думает только о логике работы его кода, ему гораздо проще начать что-то писать, чем если ему еще нужно думать и о типах на этом этапе. Сначала пусть подумает и поймет как это работает. И сам сделает что-то работающее. Потом мы можем добавить и типизацию. И много чего еще.
Обучение должно быть постепенным. Шаг за шагом. А многие глядят с высоты своего опыта и не понимают, или скорее уже забыли, что изучить новый для себя язык программирования намного проще, когда у тебя в багаже есть уже один или несколько других, чем в принципе начать изучение программирования. Что концепция присваивания - сама по себе далеко не тривиальная вещь. Что циклы и условия - это не то, с чем обычный человек работает каждый день. И надо еще уложить все это в голове и заставить работать в совокупности. А если сразу на все это навесить типы, понимание резко становится намного сложнее.
Статья об обучении программированию, а не о написании промышленного энтерпрайз кода. И мой коммент был об обучении программированию. Скорее даже о самом его начале. И о практическом применении полученных знаний с получением за это практическое применение оплаты.
Вакансии на Pascal/Delphi - их в моем двухмиллионном городе почти нет. Для джунов - нет от слова совсем. Что изучавший Паскаль будет делать после окончания его изучения? Где он сможет применить на практике полученные знания? На пет-проектах? А что потом? Сразу переучиваться на другой язык? А почему в таком случае не начать с этого другого языка и не изучить все необходимые концепции на нем?
И да, я действительно, в отличие от многих здесь, думаю об изучении программирования именно как преподаватель этого самого программирования, а не только как программист.
Давайте лучше скажем, что у него было в свое время продолжение в виде Delphi, лучшие времена которого закончились с окончанием эпохи Delphi 7. А то, что есть сейчас, да оно развивается как-то, да, там добавляются новые фичи. Может его кто-то даже и использует. Вот только как и где? В Вашем городе много работы на Delphi или на Free Pascal? Или Вы состоите в каком-то серьезном большом быстро развивающемся сообществе этого языка/среды разработки? Или есть какие-то курсы, которые проводятся по этому продукту? Я думаю что нет.
К сожадению, так и есть - не достаточно современная и удобная. Я пробовал работать в C++ Builder после Visual Studio или IDE от JetBrain. По удобству небо и земля совсем не в пользу наследника Delphi. Да и Delphi это у же не совсем Pascal.
Нет, как раз таки Вирт создавал его для обучения программированию своих студентов.
Преподаю программирование более 10-ти лет. И у меня уже давно сложилось свое определенное мнение на счет того, какие из языков программирования в настоящее время наиболее подходят для этого. Помню, как у меня как-то одна дама в разговоре спросила: Хочу сына отправить учить программирование. Не подскажете, какой язык сейчас самый модный? Никогда не оценивал языки программирования с этой стороны до того момента...
Вообще довольно-таки странное ощущение от языка, автор которого долгие годы боролся с оператором goto, но так и не смог от него избавится в своем самом известном языке программирования.
Программирование - это достаточно сложный вид деятельности. Даже без явного использования типов. И обучающемуся в самом начале будет гораздо проще освоить присваивание, условия, циклы и функции и начать работать с ними без понимания того, что где-то там внутри у каждого значения есть свой конкретный тип. Плюс желательно иметь возможность объявить перенную как можно ближе к месту ее первого использования. И обе эти вещи не про Pascal, который к изучению логики работы кода сразу добавляет головную боль в виде типов и того, что переменные объявлены неизвестно где.
Еще одной проблемой Паскаля является отсутствие его практического применения в настоящее время на реальном проекте хотя бы для самого себя. А считать сферических коней в вакууме очень быстро надоедает. Обучающийся должен иметь возможность сделать что-то, что он может показать другим или как-то использовать сам. Плюс отсутствие современных удобных сред разработки, которые эту самую разработку существенно упрощают. Ну и, соответственно, возможность применения полученных знаний для последующей трудовой деятельности и зарабатывания денег себе на пропитание после изучения детища Вирта околонулевая. И все изучающие Паскаль очень скоро это понимают. И им становится просто скучно и не интересно заниматься дальнейшим изучением этого языка. И поэтому, с моей точки зрения, Паскаль - не очень подходящий вариант для изучения программирования.
Вы можете возразить: так он же специально создавался для обучения программирования. Но задайтесь таким вопросом: А какие еще были варианты в то время, когда Вирт его создавал, чтобы учить своих студентов? Бейсик? Алгол? Фортран? Ну или еще Кобол. Давайте вспомним, что тогда еще не было даже Си. Они создавались где-то в одно и то же время. И по сравнению со всеми вышеперечисленными языками, которые существовали на то время, я согласен, Паскаль вполне себе выигрывает для обучения программированию.
Однако сейчас есть много хороших современных языков намного более подходящих для этой цели. Причем, выучив один из них, мы можем вполне себе что-нибудь осязаемое на нем сделать.
С моей точки зрения два наиболее подходящих кандидата - это Javascript и Python. Низкий порог входа, пологая кривая обучения, возможность практического применения прямо со старта изучения и удобные современные среды разработки - их несомненные плюсы.
Научится человек использовать присваивание и другие возможности этих языков, поймет, как работают условия и циклы, уложится у него в голове все это, и вполне потом может двигаться дальше к чему-либо со строгой типизацией типа Си или Java. Если ему это нужно, если захочет или если он это будет использовать в своей практической делятельности. Ну и несомненно, профессиональный программист должен хорошо знать что такое типизация и уметь работать с типами.
Мы все учили в школе, а потом и в университете математику. Вот только никто из нас не начинал ее изучение с интегралов. И никто не изучал производные параллельно с элементарным сложением. Сначала было сложение 1 + 1, потом через некоторое время вычитание 2 - 1. В следующем классе или через класс - умножение 2 * 2 = 4. И только через годы логарифмы, а потом и интегралы.
Поэтому я считаю, что Javascript и Python - вполне себе подходящие для целей обучения кандидаты. Хотите что-то статически типизированное - Си, Java или C#. Ну уж точно не Pascal, который даже его автор всю свою последующую жизнь пытался улучшить и сам не считал идеальным языком.
Сегодняшний реальный проект это сотни классов объединенные в десятки пакетов, в которых содержатся десятки или даже сотни тысяч строк. Насколько реально такую программу прогонять в голове? Если только какие-то малые ее части…