Программирование на русском языке: «Национальные» языки программирования / Habr – Языки программирования, разработанные российскими и советскими программистами: luckyea77 — LiveJournal

Несколько бесплатных книг по программированию на русском языке / Habr

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

Александр Круглов — Ruby — Эту книгу можно использовать как справочник и как отдельный учебник по Ruby. Для изучающих Rails считаю исчерпывающим руководством по языку. Версия языка изучаемая в этой книге — 2.0.0p247.

Слова автора: Не думайте, что прочитав эту книгу вы сразу станете писать высоконагруженные приложения. Максимум чему вы научились — это программирование небольших скриптов, способных немного облегчить вашу повседневную работу. Еще множество необходимых знаний о стиле кода, тестировании и отладке, архитектуре и оптимизации (и т.д.) отделяет вас от гордого звания программиста. Могу лишь надеяться, что удовольствия от работы с Ruby поможет преодолеть все эти препятствия и сообщество получит еще одного единомышленника. Github репозиторий


RSpec. Better Specs — Интересный справочник с хорошими примерами по инструменту для тестирования RSpec.

Параллельные технологии — Pdf версии интересных статей из журнала Linux Format. Написано все простым и понятным языком. Автор: Балдин Евгений. Для поднятия левела и общей технической грамотности must read! Выложены на сайте автором этих статей с согласия журнала.

Просто о Vim — Перевод книги по Vim (версия 7) от Swaroop C H. Для желающих изучить этот многофункциональный редактор — отличный выбор.

Smalltalk. Язык и его реализация — Перевод книги Адэль Голдберг и Дэвид Робсон Smalltalk: The Language and its Implementation. (83го года)

Введение в reverse engineering для начинающих — Книга по реверс-инжинирингу от российского автора Дениса Юричева. В свободном доступе на его сайтe.

Анализ данных с R — Цикл статей по языку R из журнала Linux Format. Автор: Евгений Балдин

Маленькая книга о Redis — Перевод книги The Little Radis Book Карла Сегуина. Github

Маленькая книга о MongoDB — Перевод книги The Little MongoDB Book Карла Сегуина. Слова автора: Не моя вина, что книга такая короткая, просто MongoDB легка в освоении.
Эта и предыдущая книга по NoSQL мне показались очень интересными, думаю они стоят того, что бы сними ознакомится, тем более, что они не большие (: Странно что упоминание об этой книге на Хабре, я не встретил.

Advanced Bash-Scripting Guide — Перевод книги от Mendel Cooper по скриптингу на Bash.

Scrum и XP: заметки с передовой — Перевод книги от Хенрика Книберга From the Trenches.

Github — Список книг на русском языке, регулярно пополняется, я привел только самые интересные книги из него, упоминания о которых я не нашел на хабре.

Учебник по языку программирования D. Часть 1 / Habr

Данный пост начинает серию переводов D Programming Language Tutorial, дабы компенсировать информационный вакуум об этом системном языке. Каждая часть будет содержать константое количество материала из книги, так как оригинальные главы имеют широкий разброс в размере: от пары абзацев до нескольких печатных страниц. Все примеры кода проверяются на текущем релизе компилятора dmd 2.065, и если возникают проблемы с технической частью, прошу отписываться в комментариях.

Другие части:

Благодарности

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

Главы прошли первоначальную проверку членами турецкого форума Ddili Forum. Я благодарен турецкому коммьюнити D за поддержание моего азарта и мотивации на высоком уровне.

Mert Ataol, Zafer Çelenk, и Salih Dinçer написали отзывы практически на каждую строчку книги. Can Alpay Çiftçi и Faruk Erdem Öncel играли важную роль в развитии и книги и ddili.org.

Спасибо следующим людям за их существенные исправления, рекомендации и идеи: Ergin Güney, Jordi Sayol, David Herberth, Andre Tampubolon, Gour-Gadadhara Dasa, Raphaël Jakse, Andrej Mitrovic, Johannes Pfau, Jerome Sniatecki, Jason Adams, Ali H. Çalışkan, Paul Jurczak, Brian Rogoff, Михаил Страшун, Joseph Rushton Wakeling, Tove, Hugo Florentino, Satya Pothamsetti, Luís Marques, Christoph Wendler.

Эта книга была вычитана Ergin Güney для улучшения моего Инглиша (ориг. Inglish) до нормального Английского.

Введение

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

Для того, чтобы книга не была бесполезной, нам будет необходима среда для написания, компилирования и запуска программ на D. Эта

среда разработки должна включать в себя, по крайней мере, следующие элементы:

  • текстовый редактор
  • компилятор для D

Вместо того, чтобы скачивать и устанавливать их по отдельности, можно рассмотреть вариант с интегрированной средой разработки (IDE). Вы можете найти информацию о редакторах и IDE для D на страницах Editors и IDE на dlang.org. Обучиться программировать на D (прим. да вообще на любом языке, кроме псевдокода) без текстового редактора или комплилятора невозможно. Инструкции по установке компилятора dmd и как им пользоваться будут рассмотрены чуть позже в следующих главах.

Каждая глава книги пытается ввести настолько мало новых понятий, насколько это возможно. Большинство глав содержат несколько упражнений, и к ним имеются решения для того, чтобы сравнить свои решения с моими. (прим. В данном переводе решения находятся под спойлерами рядом с заданиями.)

Я предполагаю, что вы не пропускаете главы. Если натыкаетесь на главы, которые особенно тяжело даются, это может быть из-за того, что в книге неудачно предоставлены все необходимые понятия. Пожалуйста, напишите автору ([email protected]) (прим. оставьте комментарий) о таких проблемах, чтобы помочь сделать эту книгу полезнее.

Книга не раскрывает программирование с использованием графического интерфейса пользователя (GUI). Хотя многие программы гораздо удобнее использовать вместе с GUI, GUI напрямую не относится к языкам программирования. Более того, проектные решения и стиль программирования с GUI может конфликтовать со стилем самого языка и его стандартной библиотеки, и усложнить изучение языка. Поэтому книга описывает только консольные программы. Как только изучены основы D и его стандартная билиботека, Phobos, вы сможете использовать любую библиотеку для GUI, какую захотите.

Главы книги доступны онлайн по мере перевода с Турецкого языка. Можно использовать ленту RSS, чтобы быть в курсе выхода новых глав.

Изучать программирование гораздо веселее в коллективе. Заходите на D.learn newsgroup, чтобы следить за дискуссиями и задавать вопросы, и отвечать на них.

Практика программирования

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

Программирование преподается с 1950-х, и все еще не разработаны эффективные или успешные обучающие методики.

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

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

The Hello World

Первой программой в большинстве книг по программированию является hello world программой. Это очень короткая и простая программа, которая выводит «привет мир» и завершается. Эта программа важна, так как она включает некоторые базовые понятия языка.

Ниже hello world на D:

import std.stdio;
 
void main()
{
    writeln("Hello world!");
}

Исходный код выше должен быть скомпилирован компилятором D для создания вызываемого файла.

Установка компилятора

На момент написания этой главы можно выбирать из трех компиляторов D: dmd, компилятор от Digital Mars; gdc, компилятор D для GCC; и ldc, компилятор, который использует LLVM инфраструктуру.

dmd — D компилятор, который использовался для проектирования и разработки языка в течении многих лет. Все примеры в этой книге были протестированы на dmd. По этой причине самый простой выход — начать с dmd и пробовать другие компиляторы, если для этого есть конкретная необходимость (прим. например,

gdc выдает наиболее оптимизированный код).

Для установки последней версии dmd зайдите на страницу скачивания на Digital Mars и выберите версию компилятора, которая подходит под окружение компьютера. Вы должны выбрать версию dmd, которая соответствует установленной операционной системе и пакетному менеджеру, и совпадает с архитектурой процессора: 32-разрядная или 64-разрядная. Не устанавливаете компилятор для D1 (прим. первая версия — уже история)! Эта книга освещает только D второй версии.

Последовательность установки разная для разных окружений, но она должна быть настолько проста, как следование простым инструкциям на экране и нажатие пары кнопок.

Исходник

Файл, который пишет программист для компиляции, называется файлом исходных кодов или просто исходник. Так как D — компилируемый язык, исходники сами по себе не являются исполняемыми файлами. Исходный код должен быть переведен в исполняемую программу компилятором.

Как и все файлы, исходник должен иметь имя. Хотя это имя может любым, которое дозволяется операционной системой, обычно используется расширение .d для файлов с исходными кодами на D, так как среды разработки, инструменты программирования и программисты ожидают именно такое расширение. Например,

test.d, game.d, invoice.d и т.д. подходят как имена для исходника.

Компилирование hello world

Скопируйте текст программы выше в текстовый файл и сохраните под именем hello.d.

Компилятор скоро проверит корректность синтаксиса исходного кода (т.е. на соответствие правилам языка) и создаст из него программу переводом в машинные коды. Для компиляции следуйте следущим шагам:

  1. Откройте окно консоли
  2. Перейдите к директории, где сохранен hello.d
  3. Введите следующую комманду (Не пишите символ $, он для обозначения командной строки.)
    $ dmd hello.d
    

Если вы не совершили ошибок, то может показаться, что ничего не произошло. Иначе, это означает, что все прошло хорошо. В папке должен появится исполняемый файл с именем hello (или hello.exe под Windows), который только что был создан компилятором.

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

Как только программа удачно создалась, напишите имя исполняемого файла для ее запуска. Программа должна вывести «Hello world!»:

$ ./hello     ← запуск программы
Hello world!  ← сообщение, которое она вывела

(прим. под Windows вместо ./hello нужно вводить hello)

Поздравляю! Ваша первая программа на D работает как ожидается.

Флаги компилятора

Компилятор имеет множество параметров командной строки, которые используются для влияния на процесс компиляции. Чтобы увидеть список параметров, введите только имя компилятора:
$ dmd    ← введите только имя
DMD64 D Compiler v2.065
Copyright (c) 1999-2013 by Digital Mars written by Walter Bright
Documentation: http://www.dlang.org/index.html
Usage:
  dmd files.d ... { -switch }

  files.d        D source files
...
  -unittest      compile in unit tests
...
  -w             enable warnings
...

Сокращенный вывод выше показывает только флаги, которые я рекомендую всегда использовать. Хотя это не имеет значения для hello world программы в этой главе, следующая комманда скомпилирует программу с включенными предупреждениями и модульными тестами. Мы рассмотрим эти и другие параметры детальнее в следующих главах:

$ dmd hello.d -w -unittest

Полный список параметров dmd можно найти в оффициальной документации DMD.

Еще один флаг, который может быть полезен: -run. Он компилирует исходный код, создает исполняемый файл, и запускает его за одну комманду:

$ dmd -run hello.d -w -unittest
Hello world!  ← программа автоматически запустилась
IDE

В добавок к компилятору можно установить IDE (интегрированная среда разработки). IDE спроектированы для упрощения разработки программ путем упрощения шагов написания, компиляции и отладки кода.

Если вы установите IDE, компиляция и запуск программы будут проводиться просто нажатием на клавишу клавиатуры или кнопку в IDE. Я все еще рекомендую ознакомиться с компилированием программ вручную в консольном окне.

Если же решили установить IDE, перейдите на страницу с IDE на dlang.org, чтобы увидеть список доступных IDE (прим. пер. я пользуюсь DDT).

Разбор hello world программы

Вот краткий список из многих понятий из D, которые появились в этой короткой программе:

Ядро: Каждый язык определяет свой синтаксис, фундаментальные типы, ключевые слова, правила и т.п. Все они формируют ядро этого языка. Круглые скобки, точки с запятой и слова, такие как: main и void — все в соответствии с правилами D. Это похоже на правила Английского (Русского) языка: подлежащие, глаголы, пунктуация, структура предложения и т.д.

Ключевое слово: Специальные слова, которые являются частью ядра языка называются ключевыми. В этой программе есть два ключевых слова: import, которое используется для подключения модулей к программе; и void, которое означает «ничего не возвращает».

Библиотека и функция: Ядро определяет только структуру языка. Оно используются для определения функций и пользовательских типов, и они в свою очередь используются для проектирования библиотек. Библиотека — коллекция многоразовых частей программ, которые связываются (прим. линкуются) с вашими программами для помощи в достижении их целей.

writeln выше является функцией в стандартной библиотеке D. Она используется для вывода строки текста, как можно догадаться по ее имени: write line — написать строку.

Модуль: Содержимое библиотек собраны по типам задач, для решения которых они предназначены. Такая группа называется модулем. Единственный модуль, который использует наша программа — std.stdio, который отвечает за ввод и ввод данных.

Символы и строки: Выражения такие, как "Hello world!" называются строками, и элементы строк называются символами. Единственная строка в нашей программе содержит символы 'H', 'e', '!' и другие.

Порядок выполнения: Программы выполняют свои задачи с помощью вызова операций в определенном порядке. Выполнение задач начинается с операций, которые написаны в функции с названием main. Единственная операция в нашей программе выводит строку "Hello world!".

Важность регистра: Можно выбирать любые символы внутри строк, но вы должны использовать остальные символы точно так, как они появляются в программе. Это так, так как в программах на D важен регистр. Например, writeln и Writeln являются двумя разными именами.

Мы рассмотрим все эти особенности D подробнее в следующих главах.

Упражнения

  • Написать программу, которая выводит что-нибудь другое.
  • Измените программу, чтобы она выводила более чем одну строку.
  • Попробуйте скомпилировать программу после других изменений: например, уберите точку с запятой в конце строки с writeln и изучите ошибку компиляции.
Решения
  • import std.stdio;
     
    void main()
    {
        writeln("Something else... :p");
    }

  • import std.stdio;
     
    void main()
    {
        writeln("A line...");
        writeln("Another line...");
    }

  • Следующая программа не может быть скомпилирована, так как отстутсвует точка с запятой в конце строки с writeln:
    import std.stdio;
     
    void main()
    {
        writeln("Hello world!")
    }


writeln and write

В предыдущей главе мы увидели, что writeln берет строку внутри круглых скобок и печатает ее.

Части программы, которые фактически делают работу называются функциями и информация, которая им нужна для выполненения работы, называется параметрами. Акт передачи такой информации функции называется передачей значений параметров в функцию. Параметры передаются в функцию между круглыми скобками и разделяются запятыми.

Заметка: Слово параметр описывает информацию, которая передается в функцию на концептуальном уровне. Конкретная информация, которая на самом деле передается во время выполнения программы называется аргументом. Хотя и неправильно, но эти термины иногда заменяют друг друга в индустрии программного обеспечения.

writeln может принимать более одного аргумента. Она печатает их последовательно, один за другим на той же самой строке:

import std.stdio;
 
void main()
{
    writeln("Hello world!", "Hello fish!");
}

Иногда вся информация сразу, которая должна быть напечатана на одной строчке, может быть труднодоступна для передачи в writeln. В таких случаях первые части строки могут быть распечатаны с помощью write, и последняя часть — с помощью writeln.

writeln переходит на следующую строку, write остается на той же:

import std.stdio;
 
void main()
{
    // Напишем то, что можем на данный момент
    write("Hello");
 
    // ... предположим, что здесь есть еще операции ...
 
    write("world!");
 
    // ... и наконец:
    writeln();
}

Вызов writeln без параметров просто завершает текущую строку.

Строки, которые начинаются с //, называются строками комментариев или просто комментариями. Коментарии не являются частью кода в смысле того, что они не влияют на поведение программы. Их единственное назначение — объяснять, что делает код в конкретных секциях программы. Аудиторией комментариев является любой, кто позже может прочитать исходный код, в первую очередь включая программиста, который сам написал эти комментарии.

Упражнения

  1. Обе программы в этой главе печатают строки без пробелов между ними. Измените программы так, чтобы присутствовали пробелы между аргументами, как в «Hello world!».
  2. Также попробуйте вызывать write с более чем одним параметром.
Решения
  1. Один из методов — использовать другой параметр посередине:
    writeln("Hello world!", " ", "Hello fish!");
  2. write также может брать несколько параметров:
    write("one", " two", " three");


Программирование на кириллице может повысить производительность / Habr

Привет, Хабрахабр. Как известно, технический английский — язык мира информационных технологий. Основная документация, все стандарты программирования представлены на английском языке. В числе прочих, главная кодовая страница ASCII и переносимый набор символов включают 26 латинский символов, с которыми не возникает проблем при использовании разных кодировок. Исторически так сложилось благодаря международному уровню английского языка и лидерству США в области информационных технологий. Это обстоятельство позволяет добиться максимальной совместимости техники в эпоху Интернета и глобализации. В данной статье я не ставлю цель менять стандарты, а просто хочу показать альтернативный подход к IT на русском языке.

Изначально мне просто ради спортивного интереса захотелось построить похожую на ASCII 7-битную таблицу символов, включающую весь русский алфавит, 10 цифр и все знаки пунктуации из переносимого набора символов стандарта POSIX. В процессе все больше всё больше выяснялось, что такая таблица гораздо удобнее ASCII из-за чёткого определения её подразделов. Я знаю, что есть Юникод, но здесь рассматривается именно возможность однобайтового кодирования. В процессе создания находились дополнительные преимущества, таблица много раз полностью переписывалась, появились управляющие символы, далее представлен один из получившихся конечных результатов.

В чём же преимущества? Разберём по частям.

1. Очевидно, литеры в полном составе занимают всю вторую половину таблицы. Не хватило места только для буквы Ё, не критично, все давно привыкли к её особому статусу «дальнего родственника», хотя лично я вынес бы из списка твёрдый знак Ъ, непонятно зачем оставленный лингвистами вместо более нужной Ё. Но такое решение будет совсем бунтарским, поэтому, как в ISO 8859-5 и Win-1251, ей отведено место отдельно от алфавита, заглавный и строчный вариант в соседних ячейках. Без этой хорошей буквы русский алфавит состоит из 32 букв, добавив второй регистр, получаем 64 символов, или 2^6. Таким образом, один бит может определять, является ли символ буквой и применим ли к нему средний регистр (о котором позже). Как положено настоящему буквенному ряду, он идёт в алфавитном порядке, при этом сначала все строчные, затем все заглавные. Почему не наоборот, скажу после, сейчас главное, — что благодаря степени двойки границы обоих алфавитов совпадают с границами строк шестнадцатеричной таблицы, а это просто замечательно. Двоичный индекс каждой буквы в массиве равен числу последних 5 битов на кодовой странице, регистр определяется шестым, а сама буквенная природа символа — седьмым.

2. В первой половине множество не-букв так же поделено надвое, причём дважды: здесь действует та же адресация, и добавлен дополнительный регистр, я назвал его «средним». Верхнюю строку занимают управляющие символы, здесь они прописаны на русском, потому что что наличие латиницы в православной русской картинке вопреки всем правилам выглядело топорно. Их назначение не важно, я не мастер ассемблера и тем более машинных команд. С момента создания ASCII технологический прогресс ушёл далеко вперёд, и большинство управляющих символов 70-х более не актуальны. С такой кодировкой не смогут работать телетайпы и многие коммутаторы, но для использования компьютера с современной архитектурой 16 команд вполне достаточно, если нужно ещё, в конце специально отведена специальная команда «УПР», при получении которой устройство иначе воспримет следующий байт.

Если кратко: ПУС — \0, БИП — \a, НАЗ — \b, ТАБ — \t, НОВ — \n, АБЗ — \v, ПОД — \f, ВОЗ — \r, РАЗ — пробел, КОН — сигнал об окончании, СТО — команда остановки, ВЕР — верхний регистр, shift, ФИК — фиксировать регистр, caps lock, АЛЬ — средний регистр, альтернативное назначение литер, alt, ОТМ — отмена, esc, УПР — управление, начало команды, ctrl. Команды отобраны не самые лучшие, в частности, нет нужной команды ДЕЛ — delete, запроса отклика процесса, но УПР решает вопрос. К тому же, в данной статье не рассматриваются тонкости работы процессора. Важно, что набор управляющих символов целиком расположен в первой строке и соответствует стандарту POSIX. Для управляющих команд не действуют регистры, первые 4 нулевых бита в начале отключают любые переключения остальных.

3. На вторую строку действуют два регистра. Первый, верхний, меняет значение третьего бита слева с 0 на 1 и переводит чтение на четвертую строку. Второй, средний, меняет третий и четвертый биты и переводит на третью. Можно поменять вторую строку с четвертой, тогда «средний» регистр назовётся скорее «нижним», а переключение будет осуществляться одной подменой. Но я расставил строки так как расставил для лучшей читаемости. Для неё же, кстати, левую половину 3 и 4 строк занимают арифметические знаки, а правую — пунктуация. Если кто-то решил с особой тщательностью рассмотреть таблицу, уже заметил отсутствующие в ASCII полезные символы ¬ (логическое НЕ, весьма нужная вещь) и ¤ (знак валюты, для финансовой документации), а ещё родная буква Ё, скрытая без определенной клавиши и два резервных знакоместа.

Порядок символов в строке также имеет значение: один столбец — одна клавиша. То есть, кодирование клавиш клавиатуры полностью соотносится с таблицей. Да, механическая раскладка клавиатуры здесь обычная, но функциональная тоже своя, дело в том, что стандарт QWERTY был разработан для максимального замедления печати. В 1870-х ещё не существовало метода слепой печати, а пишущая машинка Ремингтон 1 уже успели приобрести коммерческий успех. На её предшественниках не было единой раскладки, и при работе на них часто происходило сцепление рычагов друг с другом. Кристофер Шоулз постоянно экспериментировал, стараясь как можно больше нагрузить мизинцы и замедлить скорость печати текста, тем самым предотвратив сцепление. Часто используемые буквы и знаки препинания оказались труднодоступны. С тех пор реалии изменились, современные клавиатуры не страдают механическими болезнями, а стандарт остался, ведь переучиваться печатать на новой раскладке — все равно что поставить клавиши фортепиано в обратном порядке. Впрочем, альтернативы всё же существуют, например, раскладка Дворака. Русская раскладка изначально проектировалась, основываясь на десятипальцевом методе, нам повезло больше. Но знаки препинания всё равно частично унаследовали QWERTY, а запятая и вовсе оказалась в верхнем регистре. В клавиатуре представленной в статье кодировки цифровые клавиши, а потому и знаки арифметики и пунктуации, идут слева направо, При этом учитывается частота их использования.

Возвращаясь к открытым вопросам, вот почему заглавные буквы следуют после прописных, — команда ВЕР опускает нас на две строки ниже для всех строк, кроме первой. Поскольку адресация знаков 3 и 4 строк происходит через регистры второй строки, для них повторное применение регистра обычными методами невозможно (клавиша shift или alt либо нажата, либо нет, увеличение давления пальцев сверху бесполезно). Большую роль играет и восприятие правила: если третий бит слева равен 0, — значит регистра нет, 1 — включен верхний регистр, маленькие буквы сменяются большими.

Благодаря этим правилам, таблицу можно восстановить по памяти буквально после первого прочтения, а свойства попадающего в поток нового символа определяются уже при считывании первых битов, что можно использовать для значительного увеличения производительности. Вряд ли эта кодовая страница найдёт какое-либо применение, программисты всего мира давно привыкли к английскому, а для обычных пользователей существует Юникод, над фундаментальным программированием и архитектурой ПК — работают американские корпорации. Данная статья носит чисто неформальный характер, хотя шустрый интерпретатор ЯП высокого уровня (да и низкого тоже) на русском всё же можно создать. А для ещё большей производительности, в ущерб удобочитаемости, представляю второй вариант таблицы, где средний регистр определяется одним четвёртым слева битом, и оба регистра включаются нулём, а не единицами.

Почему нет языка программирования полностью на русском языке?

Это будет считаться национализмом =)

Глагол — язык программирования, родственный языкам Паскаль и Оберон. Основное отличие Глагола от Паскаля и Оберона состоит в использовании русских служебных слов. В комплект поставки, называемый разработками на Глаголе, кроме компилятора (преобразователя Глагола) входит набор математических и системных библиотек, код среды выполнения, выполняющей уборку памяти, небольшие игры и другие примеры приложений в исходных текстах.

вообще-то есть.. . 1С

было бы круто нада скачать глагол этот

Вообще то на 1С можно писать как полностью на русском, так и на английском. Но можно и в перемежку. И кстати, автор, в 1С компиляции нет как таковой - она Real-Time. Садись, два!

Программа алгоритм, поищи в инете.

Есть такие языки и довольно много, но смысла в них нет особого. Во-первых, использовать их могут только рускоговорящие товарищи, а во-вторых, из-за особенностей русского языка, довольно сложно представлять целостную структуру команд. В английском языке нет склонений слов и конструкция программы выглядит целостной в сознании, а когда ты видишь набор слов на русском языке без каких-либо склонений, это заставляет прилагать гораздо большие усилия для абстрагирования от собственно языка и представления слов только в виде операторов. Да и вообще, неважно на каком языке написаны команды, важно то, какие преимущества даёт тот или иной язык программирования и ни один русскоязычный не может предложить то, что дают их англоязычные аналоги. Вот тебе к примеру, русскоязычные: Рапира, Аналитик, Глагол (похож на Паскаль) , РАЯ ну и встроенный язык 1С: Предприятие.

Был такой язык. Назывался Алмир-65 (усовершенствованный и русифицированный Алгол-60). В 1975 году я его изучал и пользовался. Использовался язык на первом в мире персональном компьютере МИР-1 (Машина Инженерных Расчетов) . Такая машина была в институте, где учился - МТИИЛП (Московский технологический институт легкой промышленности) . Подробнее об <a rel="nofollow" href="http://notes.sochi.org.ru/1087/" target="_blank" >Алмире</a>

Языков программирования на русском языке очень много: Дракон - визуальный язык блок-схем. Самые известные проекты - написание ПО для Бурана, МБР Тополь, Морской старт. Глагол - нечто среднее между компонентным Паскалем и Модулой. Проект активно развивается уже несколько лет, последний релиз от 7.11.2008г. Лого - язык для обучения программированию детей от самых маленьких до подростков. Профт 5 - интерпретатор с визуальным интерфейсом. Похож на Visual Basic Кумир-язык сделан на основе алгоритмического языка преподаваемого в школе. Проект поддерживается министерством образования Робик - вообще для детского сада (даем команды черепашке, она ползает по экрану) Рапира - преподавался много лет во многих школах и училищах Алмир - ? Акторный пролог - ? Валентина (интерпретатор) Coco/R - генератор Компиляторов Алгоритм 2 - бесплатная программа для создания программ и игр. Сайт разработчиков <a rel="nofollow" href="http://algoritm2.ru/" target="_blank">http://algoritm2.ru/</a> РС/Б - Си подобный язык Странник - компилятор Си, Модула, Паскаль с русскими операторами И это еще не все вспомнил! 🙂 Кстати, загляни на <a href="/" rel="nofollow" title="31509848:##:">[ссылка заблокирована по решению администрации проекта]</a> там есть информация по языкам с русским интерфейсом и синтаксисом

Кстати, очень не удобно. Здесь кому-то на ответах писала программу в КуМире - замучалась раскладку туда-сюда переключать: переменные латинскими буквами, ключевые слова на кириллице.

Русский язык невыразителен? Кто-то явно не знает родного и могучего. Более выразительного, чёткого и многогранного языка не существует. Единственная проблема почему языки программирования на английском, так это его примитивизм и лёгкость для изучения иностранцами. Русский сложен для изучения мировым сообществом и если бы программирование было на великом и могучем, то программисты были бы только в России ))) А если интересно по прогить на русском, то советую попробовать систему программирования КуМир. Но если бы проги писались на нашем родном, то итоговые системы написанные на русском имели бы большую гибкость, меньше ошибок в коде и т. д.

ru.wikipedia.org/wiki/Языки_программирования_с_ключевыми_словами_не_на_английском_языке#Русскоязычные

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *