Ниша PascalABC.NET

Он и так универсальный. На нём в принципе можно писать всё.

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

3 лайка

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

И много ли таких модулей будет написано?

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

2 лайка

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

Не стоит горевать, что изучив один язык, человек перейдет к следующему. А ведь из школьников, если потом, в работке своей, программировать будет хотя бы 5-10% - это уже хороший результат. Следовательно, остальные 95-90% так и останутся с Паскалем. По-моему, неплохая ниша)))

Ну, я больше склоняюсь к мнению уважаемого RAlex. И обращаю внимание, что на форуме нет никого, кто обсуждал бы нужды и чаяния этих 95%. По объективным причинам конечно.

Ещё раз зафиксируем эту пропорцию. 95%.

Именно поэтому, язык надо развивать в сторону образования. Издавать по нему литературу, включать модули, делающие работу с ним более эффективной. Например, сделать построение “настоящих” графиков какой-нибудь стандартной возможностью Plot() в одной из графических библиотек. Был бы принят на “ура” генератор блок-схем из паскалевского кода, раз их уж так любят в школах. В общем, есть что обсуждать и о чем думать. Возможно, через некоторое время “в нашем стане” прибавится желающих пообсуждать))

%D0%9E%D0%B1%D0%BB%D0%BE%D0%B6%D0%BA%D0%B0%202%20small

1 лайк

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

Актуальна среди кого?

Простите, очень напоминает фразу “Как широко известно в нашем узком кругу…”

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

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

1 лайк

Речь идёт не о конкретном круге людей, а о направлении в целом. Вы просто ради интереса посмотрите, какие задачи можно решить простейшей сетью! Там никакие “традиционные” методы рядом не стояли.

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

Я не об этом. Речь шла о реализации модулей, которые могут расширить круг программистов, использующих Паскаль для своих проектов. Питон-явный пример. Вот разработали свёрточную нейросеть. Появилась потребность в быстрой разработке сетей данной структуры. Быстро нашлись разработчики, реализовавшие модуль под Питон. Теперь ради запуска нейросети, многие готовы ставить виртуальную машину с Линуксом, ставить Питон… Питон на высоте. А раз он стал набирать не шуточную популярность, под него стали писать кучу всяких других прибампасов. Теперь сам факт того, что программа на Питоне обеспечивает +1 к рейтингу.

1 лайк

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

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

   У бурмистра Власа бабушка Ненила
   Починить избенку лесу попросила.
   Отвечал: нет лесу, и не жди — не будет!»
   «Вот приедет барин — барин нас рассудит,
   Барин сам увидит, что плоха избушка,
   И велит дать лесу»,- думает старушка.
                     (Н.Некрасов)
1 лайк

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

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

“Но как же быть со всеми современными особенностями вроде обобщённого программирования, ООП, лямбда функций и другими?” - спросите вы. Для их изучения вполне можно обратиться к конкретному популярному языку, особенно если учесть, что реализация всего этого зоопарка в разных языках достаточно сильно различается, а в некоторых языках вообще отсутствует.

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

1 лайк

Возможно Вы будете удивлены, но алгоритмический язык Algol получил свое название, как аббревиатуру от английских слов ALGOritmic Language и во всем мире позиционировался, как универсальный язык программирования, более того, он был во всем мире признан также официальным языком для публикаций алгоритмов. И я напомню, что при этом в нем не было символьного типа данных, системы ввода-вывода, как таковой, нельзя было создавать свои типы данных - только базовые использовать, которых было три: целые, вещественные и булевы. Никаких классов в помине не было. Никаких обработок исключений. И это был язык “первый и последний” - и для обучения новичков. и для программирования самых серьезных проектов того времени - и в народном хозяйстве. и в инженерно-технических расчетах, и в науке… В космос запускали ракеты, строили атомные ледоколы, проектировали самолеты - все это был Алгол, а кое-где параллельно еще менее “универсальный”, как следует из Ваших слов, Фортран-II.

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

А вот это, извините, чувствуется…

После этого заявления чувствуется значительно сильнее.

2 лайка

А что мешает начинающему просто не лезть в дебри? Когда я только начинал учиться программированию, я писал в стиле TP, однако это не помешало мне начать осваивать новые конструкции и впоследствии перейти на стиль C#. А вот C как раз не лучший выбор для первого языка. Причину уже описывали на форуме - много хлама, который просто путает начинающих, только вот избавиться от него невозможно. Такова структура языка.

3 лайка

Думаю, что Ваш вывод неверен. Язык для обучения не должен быть “проще”. Он должен дать возможность познакомиться с основными (в том числе и современными) концепциями программирования, узнать о стиле написания программ, научиться выражать свои мысли в терминах языка программирования и т.д. Упомянутые Вами С и Basic для этого не подходят (только можно я не буду объяснять, почему именно).

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

PascalABC.NET сейчас заполняет пропасть между названными видами языков. И это правильно и очень здорово. А.Кей говорил, что язык программирования должен быть “инструментом для думания”. И такой язык как топор: можешь дров нарубить, а можешь при помощи одного топора и дом поставить. Ты берёшь то, до чего дорос.

3 лайка