Цитата:
Для многих программирование не самоцель.
Просто способ лично проверить какие-то свои идеи.
Обычно весьма простые.
У меня вопрос к профессионалам: какой из языков программирования наиболее прост для программирования непрофессионалами.
Например, Delphi или С++?
Имеет ли смысл что-то рекомендовать, например со стороны РАН.
Я являюсь знатоком следующего набора языков.
1) BASIC,
2) Visual Basic,
3) Pascal,
4) Delphi,
5) C,
6) C++,
7) C#,
8) PHP,
9) MatLab,
10) ASM,
11) Mathcad.
Языки учу с ранних лет. Так что знаю их отлично.
Вот Русский язык хромает, так как ему не уделял нужного внимания. За что извиняюсь сразу.
Также владею ещё рядом языков в меньшей степени.
Первое что надо сказать выучив один язык, вы легко освоите другие языки.
По мимо прочего существует множество реализаций и библиотек. Которые добавляют к языкам диалекты.
QT, MFC, CLX, VCL и тд. Это всё библиотеке подпрограмм.
Надо сказать что языки имеют специализацию. На одном языке удобнее делать одно на другом другое.
К языком программирования общего назначения можно отнести с 2 по 9.
Из них 8 и 9. Имеют ряд особенностей которые создают ограничения для их применения.
1, 10 и 11 я отношу к специализированным языкам.
Теперь по поводу освоения. Проще всего начинать с преподавания BASIC. И обучаться ему будет проще.
1. Он не требует объявлений чего либо можно сразу писать код.
2. Число типов переменных ограниченно 4 типами: число, логический тип, строка, массив.
Что ограничивает работу и возможность применять язык.
3. Отсутствия большинство возможностей, которые поддерживают более развитые программы.
Поэтому спецификация языка ограничивается несколькими страницами.
По поводу недостатков.
Имеет ряд недостатков:
1) Не поддерживает типы данных принятые в компьютере и других языках программирования.
2) Не поддерживает сложные типы данных.
3) Нет указателей, как следствие нет динамической памяти. Очень сильно ограничивает круг алгоритмов которые можно реализовать.
4) Отсутствие классов. Отсутствие шаблонов. Что затрудняет написание на нём средних и больших программ.
5) Мало популярен.
6) зачастую реализация языка выполнена в виде интерпретатора что замедляет работу. Также в виду отсутствия указателей тоже замедляет код, так как данные приходится копировать, а не передавать по ссылке.
Pascal и C богаче и для полного освоения придётся освоить еще и указатели. Типы данных богачи. И отсюда более строгие правила программирования, которые требуется соблюдать.
Но учить стоит. Так как они являются языками общего назначения. На них можно сделать всё.
Стандарты обоих языков очень похожи, как по содержимому так и по объёму. Но С имеет по больше возможностей. Как перегрузка операторов. Арифметика указателей. И др.
Delphi и С++ развивает своих предшественников. Добавляя ООП. ООП хорошо применять для написания больших программ. Это больше нужно для профессиональных программистов или любителям.
Сразу скажу что тут есть над чем поломать голову. С++ гораздо богаче чем Delphi. Дело в том что в C++ помимо ООП подбавляли всякое разные возможности. Что развивают возможности языка, но портят его красоту, стройность, строгость.
Если вы хотите осваивать параллельное программирование, то стоит учить C++ в связке с OpenMP.
В Delphi нет ничего подобного. Что заставляет реализовывать все алгоритмы на более низком уровне.
Если вам надо обрабатывать строковые данные то вам надо освоить специализированные языки.
Такие как EBNF и язык регулярных выражений.
Первый применяется для описания формальных грамматик.
Обычно они применяются, как расширения языков общего назначения.
Перейдём к MathCad. Это язык стоит особняком, так как запись программ идёт в виде формул. Язык более примитивен чем BASIC. Работа с ветвлениями затруднена. Но есть особенность в нём есть модуль для символьных вычислений, что полезно для математиков и школьников. Символьные вычисления построены на ядре среды Maple.
Maple - это ещё один язык и одноименная среда.
Тут некоторые спорили про символьные вычисления и численные расчёт - что быстрее? В общем случае этот спор бессмысленный. Так как символьные вычисления применяются для другого.
Независимо от языка приходиться осваивать библиотеки подпрограмм что расширяют дополняют язык.
MathLab знаменит не как язык, а как набор готовых программ для математических вычислений и моделирования. В других языках вам просто потребуется поискать готовые либо реализовать самому.
Но C и C++ очень популярны поэтому под него очень легко найти готовые наборы подпрограмм на все случаи жизни.
Итог: советую начинать с BASIC, а потом переходить на C. Хотя ничто не мешает вам выбрать паскаль вместо С.