Предлагаю Вашему вниманию рассмотреть не за и против, а плюсы и минусы.
За и против, это выражение мнения, а оно у всех разное.
Разбор плюсов и минусов, это более конструктивных подход, который "возможно" будет разрушать "выражения мнений" образовавшихся на хлипком фундаменте.
При этом обсуждать и выбирать нужно не "создать РЯП или нет", "плюсы и минусы РЯП", а то какие проблемы и задачи должен решать РЯП. Обсуждать и решать то, что вокруг находится.
ЯП - это всего лишь инструмент. Точно такой же как молоток или пила. Вот есть пила. Нужно ли создавать бензопилу? Зачем, ведь есть же просто пила.
Другой пример. Если можно выражать мысли на любом языке, почему русские писатели выражали мысли по-русски? Да, они писали и на других языках, но основная масса писателей ставшими классиками, всё равно написаны по-русски.
В противопоставление зарубежному, есть: Русская религия русская литература, русский язык, русские машины, русские самолёты итд. Есть даже русский язык программирования 1С, который как мы видим используется массово в определённой нише. Это говорит о том, что создать и использовать в России, в других областях это реально.
Есть плохая тенденция. Со школьной скамьи, нам вбивают в голову, что без знаний английского будет маленькая зарплата, сложно будет найти работу, не станешь разработчиком. Мы видим очень много зарубежных названий в рекламе. ТЦ, кафе и прочее используют зарубежные название или на латинице. В играх, никнеймы и прочее, лучше на латинице или на английском.
Самый большой масштаб, это интернет с компьютерами. Начиная с клавиатуры, зарубежной ОС (раньше меню и остальное было на английском), расширения, названия программ, домены. Удаление буквы "Ё" с клавиатуры. Дети в ругани используют зарубежные слова.
Всё это приводит к тому, что мы постепенно "англоизируемся/англизируемся" и забываем наш родной язык.
Минусы:
1. Для того чтобы стать программистом, необходимо преодолеть дополнительный барьер в изучении английского языка, хотя бы на базовом уровне. Носителе языка пропускают данный этап. Они легко читают документацию и пишут код.
2. Объективно оценивая, мало программистов, которые в совершенстве владеют английским языком. Их много, но их меньше, чем программистов, которые владеют на базовом уровне. Для обозначения переменных, конструкций языка они в 99.9% используют латиницу, либо используют не верные зарубежные слова (не верно сокращают, склоняют или) или используют не правильный перевод. Для того чтобы легко можно было давать правильные названия, нужно свободно владеть английским. Когда мыслишь на другом языке, то автоматом используешь верные конструкции.
Лично видел много раз, как некоторые программисты используют переводчик, чтобы "правильно" назвать переменную или функцию.
3. Вместо того чтобы думать над кодом, как он будет работать, что в нём должно быть, многие думают как назвать "правильно" отдельный кусочек кода. Тратят врем на подбор значения и на его запоминание.
4. Чаще всего нужно дополнять код подробными комментариями, чтобы не забыть что делает та или иная функция.
5. Я закончил школу больше 10 лет назад. Когда я учился в школе, у меня были большие проблемы с английским языком. Прошло 10 лет, сейчас преподаю в школе информатику и веду кружок робототехники. Ничего не изменилось с тех пор, как было много желающих изучать программирование и не знающих английского, так и осталось великое их множество. То есть за 10 лет, не сложилось так, что когда в 7-9 классе ученики решившие научиться программировать, все знали английский хотя бы на базовом уровне.
6. Используя иностранный язык программирования, приходится запоминать как переводится незнакомое слово. В РЯП забыв, что за переменная или функция, можно легко понять прочитав её название и содержимое.
7. При создании РЯП большинство разработчиков используют переключения раскладки, жуткие сокращения. Например, П/ПР/ПЕР = Переменная. Я набираю текст со скоростью 450 знаков в минуту. Для меня написать слово "Переменная" занимает меньше секунды. Я потрачу больше времени, в десятки раз больше вспоминая, что такое П = Счб Ф.СТР(5);. Хотите РЯП, делайте так, чтобы это был язык для человека, а не очередной перевод с английского на обрубки с использованием РЯ.
8. Все в основном хотят просто создать новый язык, не продумывая какие задачи и проблемы он будет решать, как развивать язык, как его пиарить, как внедрять в образовательный процесс итд. Возможно все преследую цель стать просто знаменитым. Просто очередная кувалда никому не нужна, по этой причине много РЯП есть, а никто их не использует. Нужно решить вопрос "Зачем?".
9. Перестать давать ужасные названия языкам. Например, Кумир - не сотвори себе кумира. Использовать нужно позитивные названия, без подтекста, с положительной ассоциацией. Либо абстрактные названия. Зарубежные примеры: Python, C, Apple, etc.
10. Две сущности: Как понимает код компьютер (компилятор), Как понимает человек (изложение мыслей в письменной форме). Что делают все? Все делают так, чтобы было проще написать компилятор/интерпретатор, а для этого упрощают код, который будет менее понятен человеку, зато легче обработать. И получается так, что мы как бы меньше затрачиваем усилий чтобы реализовать компилятор, но зато потом программисты много мучаются чтобы создать из готовых кубиков то, что будет понятно компьютеру. Стоит попробовать другой подход, забыть напрочь про всякие сложности с регулярными выражениями и созданием компиляторов, а уделить все внимание самому РЯП. Его синтаксису, семантике. Создать то, что будет приятно и понятно. И уже эту сущность переводить для компьютера.
Плюсы:
1. Сохранение культурных ценностей.
2. Исправление минусов на плюсы.
3. Легкое обучение школьников.
4. Разработка военных продуктов с РЯП.
5. Мыслить по-русски.
Предложение:
Вариант 1. Создать среду, простой редактор с интерпретатором. Отрабатывать в нём простые конструкции. Чтобы задать стиль. И постепенно наращивать мощь. Среда может быть оффлайн или онлайн.
Вариант 2. Работать в онлайн документах, писать просто текст, придумывать то, как он язык будет выглядеть. Интерпретатор в голове, сами являемся средой для проверки. После первого утвержденного наброска можно создать среду.
Естественно, предварительно выбрав нишу и какие задачи должен решать язык.
Отредактировано Infum (10.07.2014 10:43:17)