Язык форт: Язык программирования Форт / Хабр

Язык программирования Форт / Хабр

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

Окунемся в историю Форта (Forth). В начале 1970х годов Чарльз Мур занялся разработкой программного обеспечения для микроЭВМ, управляющей работой радиотелескопа. Поскольку программирование на Ассемблере привело к неуправляемости разработки довольно сложной программы, а для использующейся микроЭВМ из-за аппаратных ограничений не было языка высокого уровня, Чарльз Мур приступил к созданию компактного и мощного языка программирования, позволившего с блеском решить поставленные перед ним задачи. Успех нового языка программирования определился тем, что на ограниченных ресурсах устройства была создана быстрая и функциональная программа, позволившая делать намного больше, чем первоначально планировалось в техническом задании.


Форт (от англ. forth — вперед, получившееся из-за необходимости сократить слово fourth — четвертый, до пяти букв из-за ограничений операционной системы на длину имени файла) в 1976 году стал стандартным языком для программирования для американского астрономического общества. Благодаря высокой степени переносимости и компактности, а также быстродействию, Форт до 1990х активно применялся во множестве приборов с микроконтроллерным управлением (спектрограф на Шаттле, микромодули управления искусственными спутниками Земли, для системы управления в аэропорту Эр-Рияда, системах компьютерного зрения, автоматизации анализа крови и кардиологического контроля, карманных переводчиках). Форт выступает прародителем такого широко известного языка управления печатью как PostScript.

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

Форт сам для себя является метасистемой — в нем объединены функции компилятора и интерпретатора, Форт может использоваться без поддержки со стороны операционной системы и использоваться для того, чтобы компилировать самого себя, в том числе и на другие платформы.

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

До сих пор популярна тема создания Форт-процессоров, система команд которых является машинным представлением наиболее часто используемых слов-примитивов. Благодаря минимализму базовой Форт-системы это легко реализуемо, тем более что программируемые матрицы логических элементов сейчас достигли таких размеров, что Форт-процессор интегрируется на оставшиеся после программирования основной логики 10% вентилей как бонус. Это что-то из разряда такого: «А в углу нашей маленькой и уютной детской комнатки незаметно расположился аквариум с бегемотом».

Легкость написания Форт-систем привела к огромному разнообразию существующих реализаций — не писал свой Форт только ленивый фортер. Большое количество систем, достаточно плохо совместимых, поскольку имеется три стандарта Форта: Форт-79, Форт-83 и ANSI-Форт-94. Стандарты, хотя и описывают необходимый минимум слов для реализации, но дают огромный простор для самостоятельных изменений, что повсеместно и происходит. Существуют реализации Форта написанные на Ассемблере, Си, Питоне, Паскале, Яве, а также созданные с помощью целевых компиляторов других Форт-систем.

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

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

Для меня Форт дал много — после освоения языка я стал замечать, что код в Дельфи стал более коротким и понятным, появилась привычка документировать основные методы и поля объектов (поскольку в Форте очень желательно описывать стековые диаграммы для каждого слова).

Благодаря изучению книги «Проектирование и программная реализация экспертных систем на персональных ЭВМ» Таусенда и Фохта, я почерпнул много информации о внутренней логике работы таких языков как Лисп и Пролог. Книга Келли и Спайса «Язык программирования ФОРТ» привела меня к четкому пониманию того, как можно написать свой язык программирования и что такое Форт-ассемблер. Для совершенствования стиля программирования оказалась совершенно неоценимой по влиянию на меня книга Лео Броуди «Способ мышления — Форт».

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

Дмитрий Спицын

  • http://www.forth.org.ru/ — Russian FORTH Interest Group — на сайте размещена большая подборка книг и статей по Форту, много ссылок на существующие Форт-системы, интересующимся очень рекомендуется посетить
    http://www.nncron.ru/index_ru.shtml — продвинутый планировщик задач под Windows, пример коммерчески успешной программы на языке Форт
    http://winglion.ru/ — самодельный Форт-процессор, сайт содержит достаточно толковый форум по Форту
    http://www.msyst.ru/quark.htm — Форт-система с поддержкой OpenGL в виде . dll
    http://ronware.org/ — кроссплатформенный Форт Windows 32bit (x86) — Linux 32bit (x86) — WinCE (ARM)
    http://forth.gsfc.nasa.gov/ — список систем NASA, управляемых Фортом

Forth — Конкатенативный язык программирования / Хабр

Конкатенативный язык программирования

Статьи

Авторы

Компании

Сначала показывать

Порог рейтинга

Gennadij_Kalin2020

Forth *FPGA *Компьютерное железо Процессоры

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

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

Часть положений не имеет ссылок на литературу., в силу не полной разработанности темы. И еще потому, что это довольно общеизвестные факты, которые легко найти. А так же потому, что упор сделан на то что неизвестно широким массам общественности.

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

Читать далее

Всего голосов 13: ↑8 и ↓5 +3

Просмотры

3.2K

Комментарии
44

Bright_Translate

Блог компании RUVDS.com C++ *Отладка *C *Forth *

Перевод


Интересный небольшой эксперимент по использованию Cи в качестве цели компиляции для получения портативности программы, ее оптимизации и функциональной совместимости. В ходе эксперимента мы также напишем саму программу, реализующую алгоритм Эвклида, выполним ее отладку и профилирование, а также попутно задействуем функцию «красивой» печати gdb.

Читать дальше →

Всего голосов 45: ↑41 и ↓4 +37

Просмотры

8K

Комментарии
3

forthuse

Assembler *Forth *

Из песочницы

Оригинал текста Июнь 10, 2021 — 38 минут чтения

Программное обеспечение полно своих зависимостей, если смотреть достаточно глубоко. Компиляторы, написанные на языке, на котором они компилируются, — самый очевидный, но не единственный пример. Чтобы скомпилировать ядро, нам нужно работающее ядро. Линкеры, системы сборки, оболочки. Даже текстовые редакторы, если вы хотите писать код, а не просто загружать его. Как разорвать этот цикл?1 С тех пор как проблема начальной загрузки впервые привлекла мое внимание, я стал интересоваться этой уникальной областью программной инженерии. Не из страха, что кто-то попытается реализовать атаку на доверие, а просто как интересный вызов.

11 лет назад vanjos72 описал на Reddit то, что он называет мысленным экспериментом: что если бы вас заперли в комнате с IBM PC, на котором нет операционной системы? Какое минимальное количество программного обеспечения вам понадобилось бы для начала, чтобы вернуться к комфортной работе?

Так получилось, что в последнее время у меня появилось много свободного времени, поэтому я решил сделать это больше, чем просто мысленный эксперимент. Увы, мой компьютер не был оснащен переключателями на передней панели, поэтому некоторые программы должны уже присутствовать на компьютере …

Самым минимальным вариантом может быть простая программа, которая принимает ввод с клавиатуры, а затем переходит на нее. Поскольку подпрограммы ввода с клавиатуры в BIOS реализуют escape-коды alt+numpad, вам даже не нужно писать код преобразования базы.2Более того, циклу даже не нужно условие завершения а просто пишите в буфер обратно, пока не столкнетесь с существующим кодом и не перезапишете точку перехода. Такой подход занимает всего 14 байт.

Путь в четвёртое.

Всего голосов 19: ↑19 и ↓0 +19

Просмотры

4K

Комментарии
2

urmaas

Ненормальное программирование *Forth *

Форт и сейчас известен, главным образом, среди разработки встроенных систем, как что-то вроде необычайного высокоуровневого ассемблера, например, для микроконтроллеров — AmForth и Mecrisp. Однако, когда-то давным давно был известен в другой ипостаси — как язык программирования научных приложений.

Форт был выбран в качестве средства, с помощью которого объясняются детали программной реализации систем, основанных на знаниях, по следующим причинам: во-первых, транслятор с этого языка имеется практически на всех типах микрокомпьютеров, во-вторых, он достаточно дешевый, и, наконец, имеет много общего с языками искусственного интеллекта, в частности с Лиспом.

Таунсенд К., Фохт Д. ПРОЕКТИРОВАНИЕ И ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ЭКСПЕРТНЫХ СИСТЕМ НА ПЕРСОНАЛЬНЫХ ЭВМ. М.: Финансы и статистика, 1990.

Читать далее

Всего голосов 19: ↑18 и ↓1 +17

Просмотры

5K

Комментарии
8

jonnygreenwoodtelecaster

Ненормальное программирование *Prolog *Forth *Старое железо

Большая разработка — дело коллективное, и это хорошо. Что бы ни взбесило тебя в условных Go или JS, точно найдется сотня-другая разрабов с такой же болью. Преодолевать ее вместе легче — и когда ломаешь голову над рабочей задачей, и когда просто собираешься с товарищами поныть, как все плохо.

Но почти в каждой компании в этот момент найдется человек со взглядом на сотню ярдов в пустоту, который будет вспоминать, как 10 лет назад в своем НИИ ШМИИ ИПИАН «Меловой период» его заставляли переписывать гигантскую систему с Лиспа на Си. И у всех в этот момент пробежит холодок по спине — потому что никто не застрахован от рефакторинга чего-нибудь древнего и страшного.

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

Здесь мы собрали вместе людей, которые писали на Prolog, Forth, ABAP и X++, и дали им выговориться.

Читать далее

Всего голосов 51: ↑42 и ↓9 +33

Просмотры

24K

Комментарии
90

nckma

Forth *FPGA *Программирование микроконтроллеров *

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

Недавно я занимался запуском процессора Forth j1 в FPGA плате и пришлось вспоминать фортовские азы программирования. Да уж… чертовски трудно, но получил громадное эстетическое удовольствие. Как будто впервые взял кубик Рубика, и сам собрал его, и пазл сложился и программа работает…

Всего голосов 62: ↑62 и ↓0 +62

Просмотры

9.5K

Комментарии
18

dMac

Forth *История IT

Перевод

КДПВ взята отсюда

Введение


ФОРТ – простой и естественный компьютерный язык. Он получил заметное распространение там, где необходима высокая эффективность. В 60-х годах он прошел путь развития от университетов через бизнес к лабораториям. Это — история о том, как простой интерпретатор расширил свои возможности и смог стать полноценным языком программирования и операционной системой.

Лонгрид внутри

Всего голосов 27: ↑26 и ↓1 +25

Просмотры

6.7K

Комментарии
51

forther

Python *Компиляторы *Forth *FPGA *

Из песочницы

Собственный софт-процессор на ПЛИС с компилятором языка высокого уровня или Песнь о МышЕ — опыт адаптации компилятора языка высокого уровня к стековому процессорному ядру.

Распространенной проблемой для софт-процессоров является отсутствие средств разработки для них, особенно, если их система команд не является подмножеством команд одного их популярных процессорных ядер. Разработчики в этом случае вынуждены будут решать эту проблему. Прямым её решением является создание компилятора языка ассемблера. Однако в современных реалиях не всегда удобно работать на Ассемблере, так как в процессе развития проекта может изменяться система команд в связи, например, с изменившимися требованиями. Поэтому задача легкой реализации компилятора языка высокого уровня (ЯВУ) для софт-процессора является актуальной.

Компилятор языка Python — Uzh представляется легким и удобным инструментарием для разработки программного обеспечения для софт-процессоров. Инструментарий определения примитивов и макросов как функций целевого языка позволяет критичные места реализовывать на ассемблере процессора. В данной работе рассмотрены основные моменты адаптации компилятора для процессоров стековой архитектуры.

Читать дальше →

Всего голосов 14: ↑13 и ↓1 +12

Просмотры

7.1K

Комментарии
0

Beetle_ru

Блог компании TINKOFF .NET *Компиляторы *C# *Forth *

Tutorial


Язык предметной области. Не перегружен конструкциями языка общего назначения. При этом позволяет всего несколькими строчками реализовать весьма сложную логику. Все это — DSL.

Однако создание DSL требует от разработчика соответствующей квалификации. Регулярное использование этого подхода превращается в рутину разработки очередного языка. Решением может стать создание универсального инструмента — движка, который будет применим к совершенно разным задачам и прост в модификации. В этой статье мы на C# разработаем простейший с точки зрения реализации, но при этом достаточно мощный языковой движок, при помощи которого можно решить достаточно широкий круг задач.

Читать дальше →

Всего голосов 13: ↑12 и ↓1 +11

Просмотры

6K

Комментарии
48

arvi1973

Системное программирование *Компиляторы *Forth *

Эта статья — окончание цикла статей про eForth на программируемом калькуляторе. Начало здесь.

Команды входного языка «Электроники МК-161» занимают только половину файла eForth0.mkl. Вторую половину занимают таблицы, разработать которые был не меньший труд, чем написать алгоритмическую часть транслятора. Попробуем разобраться, как эти таблицы используются.

Читать дальше →

Всего голосов 12: ↑12 и ↓0 +12

Просмотры

2.5K

Комментарии
0

arvi1973

Системное программирование *Компиляторы *Forth *

Это первая статья цикла про 161eForth v0. 5b, окончание здесь:habr.com/ru/post/452572

Транслятор EFORTH теперь есть и на отечественном калькуляторе «Электроника МК-161»! 17 мая версия v0.5b успешно прошла мои тесты, а также пять авторских тестов TEST-TEST4. Я добился того, что можно сделать в одиночку, но считаю это лишь половиной дела. Настало время представить сообществу новый инструмент, открыв код 161eForth для публичного тестирования. У меня есть список, что улучшить и где «поработать над стабильностью». Ваши предложения и замечания будут учтены при завершении работ и выпуске версии 1.0

При переносе последней версии eForth на отечественную платформу успешно преодолены два препятствия — относительно низкое быстродействие 8-битной машинки, которая программируется на собственном входном языке, и скромный объём доступной двоичной памяти (см. 2.4.1), всего 4096 байт.

Всего голосов 40: ↑40 и ↓0 +40

Просмотры

6.5K

Комментарии
44

V2008n

Ненормальное программирование *Open source *Forth *Разработка под Windows *

Конструирование оснастки для обработки оконных сообщений Windows


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

Попробуем преодолеть этот миф.

Во-первых, программировать под Windows оказывается очень легко, достаточно открыть любую инструкцию по WinAPI.

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

Перед созданием окна необходимо создать свой класс. В структуре WNDCLASS есть поле WNDPROC lpfnWndProc, которое содержит ссылку на процедуру обработки сообщений, поступающих от окон данного класса.

Читать дальше →

Всего голосов 26: ↑26 и ↓0 +26

Просмотры

6. 6K

Комментарии
13

habit

Блог компании ua-hosting.company Open source *Программирование *Алгоритмы *Forth *

Recovery mode

Создатель 144-ядерного процессора GA144 и языка программирования Forth, известный программист Чарльз Мур (Charles H. Moore), известный также под именем Чак Мур (Chuck Moore), в своей лекции рассказывает о перспективах применения 144-х ядерного асинхронного чипа, созданного его компанией, GreenArrays, а также его программировании. Ведь его чип потребляет всего лишь 7 пДж энергии (при выполнении базовой инструкции ALU, что занимает 1.5 наносекунды), что делает его незаменимым в случаях, когда процессор может питаться лишь от автономного источника энергии без возможности подзарядки, начиная от разработок в сфере медицины и заканчивая робототехникой. Незадействованные ядра потребляют всего 100 нановатт, в то время, как активным, требуется всего 4 милливатта при обработке 666 MIPS: плотный код сводит к минимуму количество выполняемых инструкций, уменьшая количество выборки команд, переключения транзисторов и рабочего цикла.

Так как лекция еще не публиковалась ранее, мы опубликовали её для Вас на youtube:

Если кто-то будет в состоянии сделать субтитры — пишите, добавим, будем очень признательны, если кто-то найдет время для выполнения столь важной работы.

Сам процессор поступил в продажу в 2011-м году, по цене $20. В этой публикации мы постарались систематизировать имеющуюся новую информацию и заполнить пробелы, которые могут возникнуть после чтения документации от GreenArrays.

Всего голосов 33: ↑27 и ↓6 +21

Просмотры

14K

Комментарии
25

GlukKazan

Perl *Ненормальное программирование *Разработка игр *Forth *

 

           Какая медлительная страна! — сказала Королева. — Ну, а здесь,

знаешь ли, приходится бежать со всех ног, чтобы только остаться

на том же месте! Если же хочешь попасть в другое место, тогда

нужно бежать по меньшей мере вдвое быстрее! 

 

                        Льюис Кэрролл «Алиса в Зазеркалье» 

Сегодня, я хочу рассказать об удивительной и недооценённой игре, с которой я познакомился чуть менее двух лет назад. В каком-то смысле, именно с этой игры, а также с Ура, началось моё знакомство с Дмитрием Скирюком. В те дни я только начинал интересоваться настольными играми. Мои познания были скудны и, во многом, наивны. Такие игры как «Чейз», буквально открыли для меня новый необъятный мир. Даже сейчас, работа над этой игрой, в большой степени, напоминает детективную историю. В этом отношении, игра «Chase» полностью оправдала как своё название так и сходство с псевдонимом известного американского писателя.

Читать дальше →

Всего голосов 15: ↑15 и ↓0 +15

Просмотры

8. 7K

Комментарии
6

GlukKazan

Разработка игр *Forth *

          Круг танцующих извивался, как живое существо. Но среди них было свободное место и оно двигалось. Она знала, это место для нее. Мисс Тенета запретила ей. Но когда она это говорила? И потом, куда ей понять. Что она вообще понимает? Когда она танцевала в последний раз? Танец был в крови Тиффани, он манил ее. Шести танцующих недостаточно! 

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

           сэр Терри Пратчетт «Зимних дел мастер» 

Несмотря на всю свою неказистость, «Крестики-нолики» являются краеугольным камнем мира настольных игр. Принцип «N в ряд» настолько прост и естественен, что был независимо изобретён сразу несколькими древними народами. В Китае и Японии он лёг в основу таких игр как «Рендзю» и «Хасами Сёги», в древней Европе — породил «Мельницу» — прародительницу «Алькуэрка» и, в конечном итоге, всего разнообразия современных шашек.

В своём исходном виде, «Крестики-нолики» не кажутся игрой сколь нибудь интересной. В самом деле, беспроигрышная стратегия, для каждого из игроков, в этой игре, совершенно очевидна, а победить, при правильной игре, совершенно невозможно. Подобная игра может привлечь к себе младших школьников, но никак не серьёзных игроков. Впрочем, есть несколько способов всё исправить…

Читать дальше →

Всего голосов 16: ↑16 и ↓0 +16

Просмотры

15K

Комментарии
7

GlukKazan

Разработка игр *Forth *

Бросая в воду камешки, смотри на круги, ими образуемые;

иначе такое бросание будет пустою забавою.

                      Козьма Прутков «Плоды раздумья» 

 

Эта игра — самый настоящий долгострой. Я начал работать над ней ещё в июне! Нельзя сказать, чтобы я каждый день надрывался, но крови она мне попортила немало. На сегодняшний день, это мой самый сложный проект в Axiom. По объёму (весьма нетривиального) кода, MarGo сопоставима, разве что, с Ритмомахией.

Что особенного в этой игре? Стоило ли из за неё так мучиться? Я расскажу, а вы сами судите.

Читать дальше →

Всего голосов 22: ↑20 и ↓2 +18

Просмотры

14K

Комментарии
32

GlukKazan

Разработка игр *Forth *

             Хотя этикетка была не того цвета и содержала немало орфографических ошибок, большая ее часть находилась на месте, включая сделанную крошечным шрифтом надпись « «>Может содержать орехи».

                                                         сэр Терри Пратчетт 

Го или Ур? Можно долго спорить, какая из игр древнее, но победит, в этом противостоянии, скорее всего, Манкала. Археологи предпочитают иметь дело с материальными свидетельствами, но как только речь заходит о настольных играх, всё быстро уходит в область предположений. Было найдено немало досок, но гораздо меньше сведений о том, как на них играть. Древние не утруждали себя детальным описанием правил.

С Манкалой ситуация прямо противоположная. Это не одна игра, а весьма многочисленное семейство. В одной только Западной Африке, счёт идёт на десятки (если не на сотни) разновидностей. Доска (как материальный артефакт) для таких игр не обязательна. Достаточно взять пригоршню камушков и выкопать несколько ямок в песке. Не удивительно, что археологи испытывают затруднения с определением возраста этих игр. Им попросту нечего искать! Но для внимательного исследователя «настольных игр», манкалы не менее интересны, чем птицы семейства пересмешниковых для Чарлза Дарвина.

Читать дальше →

Всего голосов 16: ↑16 и ↓0 +16

Просмотры

9.3K

Комментарии
6

paulig

Блог компании НТЦ Метротек Разработка веб-сайтов *Программирование *Реверс-инжиниринг *Forth *

Всем привет!

На этих выходных в Санкт-Петербурге прошёл очередной фестиваль Chaos Constructions, на котором собрались фанаты, программисты и разработчики, чтобы посоревноваться в мастерстве создания demo.

О том, что такое demo, можно почитать на сайте организаторов. А если вкратце, то участникам даётся задача сделать что-то впечатляющее на spectrum’е или аналогичном ретро-железе, и при этом ставятся ограничения на размер программ и длительность демки. Например, меня очень впечатлила вот эта на Spectrum’е, которая уместилась всего в 256 байт! Да, демка выводится на большой экран с отличным звуком, поэтому зрелище впечатляет!

Наша компания выступила спонсором фестиваля, а мы с коллегами организовали и провели конкурс hardware hack, целью которого стало определить архитекутуру процессора, имея минимум знаний о ней и скромный набор инструментов.

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

Читать дальше →

Всего голосов 18: ↑16 и ↓2 +14

Просмотры

6.5K

Комментарии
6

GlukKazan

Разработка игр *Forth *

… И повторится все, как встарь:

Ночь, ледяная рябь канала,

Аптека, улица, фонарь. 

                 Александр Блок 

 

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

При игре человека с компьютером, это не проблема (понятно кто устанет первым), но что делать если играют два бота? Для сравнения «силы» различных вариантов AI, например, требуется провести в автоматическом режиме большое количество игр. Корректная обработка «ничьих», в такой ситуации, жизненно необходима. И крайне желательно, чтобы она выполнялась в точном соответствии с правилами игры.

Читать дальше →

Всего голосов 18: ↑16 и ↓2 +14

Просмотры

5.6K

Комментарии
2

GlukKazan

Разработка игр *Функциональное программирование *Forth *

Эта статья о том, как элементы функционального программирования помогают в реальной жизни. Таких статей на Хабре много, но, насколько я помню, про Forth, на эту тему, ещё никто не писал. Кроме того, я не собираюсь разводить по этому поводу теорию (теоретик из меня ещё тот). Я расскажу о сугубо практической задаче, с которой столкнулся буквально вчера. Надеюсь, мой рассказ будет интересен.

 

Читать дальше →

Всего голосов 13: ↑13 и ↓0 +13

Просмотры

8.7K

Комментарии
9

Факультет современного языка — Государственный университет Форт-Хейс

Свободное владение иностранными языками говорит о многом для профессиональной универсальности

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

Изучите язык успеха

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

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

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

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

  • Будьте готовы к десяткам профессий
  • Испытайте увлекательную курсовую работу и пообщайтесь с поддерживающими преподавателями и сотрудниками с опытом путешествий по всему миру
  • Воспользуйтесь уникальными внеклассными мероприятиями и студенческими ресурсами в рамках разнообразного факультета

Программы

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

  • Бакалавриат
  • Несовершеннолетние/Сертификаты

Откройте для себя наши программы

Карьера

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

Найди свое будущее

Преподаватели и сотрудники

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

Познакомьтесь со своим факультетом

Предстоящие события

08
9 НОЯБРЯ0005

08
НОЯБРЬ

08
НОЯБРЬ

08
НОЯБРЬ

Дополнительные мероприятия

Дополнительные ресурсы

Кредиты за предварительное обучение

Колледжи и факультеты

Основные, дополнительные направления и программы

Академические курсы

Служба приема в парк Van Park

co

co0001

Представьте, что сейчас 1845 год. Прогуливаясь по земляным улочкам Деревни служащих форта Ванкувер, вы слышите, как говорят на самых разных языках. Встречая мужчин, женщин и детей, живущих здесь, вы с такой же вероятностью услышите «бонжур» (французское), «таниси» (кри) или «алоха» (гавайское), как и «привет». Но, пожалуй, самое распространенное приветствие на языке чинук вава: «ɬaxayam».

Форт Ванкувер компании Гудзонова залива и близлежащая деревня были домом для мультикультурного сообщества. Жители этого места говорили на многих языках, и многие люди были полиглотами — говорящими на нескольких языках.

При посещении форта в середине 1840-х годов американский этнолог Горацио Хейл определил наиболее распространенные языки как английский, французский, чинук, кри и гавайский, но также отметил присутствие носителей чехали, валла-валла, калапуйя, и Нискуэлли. Являясь важным перекрестком торговых путей и центром европейско-канадской торговли мехом в регионе, форт Ванкувер был домом для людей из многих племен, которые приносили с собой свои языки, когда приезжали сюда работать или вести бизнес.

Женщины из числа коренных народов, приехавшие на объект в качестве жен сотрудников компании Гудзонова залива, также были известны тем, что говорили на нескольких языках: на языке их родной общины, на языке общины их мужа, а также на языках или диалектах других племен в регионе. .

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

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

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

Узнайте больше о многонациональном сообществе Fort Vancouver.


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

Anishinaabemowin

Жители форта Ванкувер из племен района Великих озер и европейско-канадские торговцы мехом, работавшие в этом регионе, говорили на языках Anishinaabemowin, включая язык оджибве.

The Ojibwe People’s Dictionary

Anishinaabemowin ресурсы коренных народов ниписсинг

Anishinaabemowin ресурсы индейцев Оттавы из племени Литтл-Ривер

Carrier

5

The Carrier говорят на северном языке Dahkel a Carrier жители форта Ванкувер. Одной из дакельских жительниц форта Ванкувер в 1840-х годах была Лизетт, жена хауденосауни (ирокеза) сотрудника HBC и мать сына по имени Чарльз.

Chehalis

Верхний Chehalis и нижний Chehalis — это прибрежные салишские языки, на которых говорят жители Chehalis Форта Ванкувер.

Чинукские диалекты

На чинукских диалектах говорили коренные народы, живущие вдоль реки Колумбия, включая Каскады, Чинук, Клатсоп, Катламет, Малтнома и Скиллют. Многие жители деревни Форт-Ванкувер происходили из этих племен, в том числе многие женщины, вышедшие замуж за сотрудников HBC.

Чинук Вава (Чинук Жаргон)

Для более широкого общения между служащими форта и членами местных племен, между племенами из разных областей и внутри домашних хозяйств Деревни, Чинук Жаргон или «Чинук Вава» был основным язык повседневного употребления. Чинук Вава возник как торговый язык, синтезированный из нескольких языков в контексте торговли и других межкультурных встреч, лингвистическое развитие, имеющее прецеденты в других местах приграничных торговых центров Северной Америки. В значительной степени опираясь на лексикон нижнего чинука, но также включив различные слова из нуу-ча-нулт (нуткан), салиш и других коренных языков, чинук-вава приобрел множество английских и французских элементов во время периода операций HBC в этом регионе, в пределах грамматика, которая была гибкой и допускала общую передачу смысла в мультикультурной среде. Этот язык пиджин, вероятно, уходящий корнями в торговые языки до контакта, использовавшиеся в нижней части Колумбии, продолжал развиваться в форте Ванкувер в направлениях, отражающих разнообразие сообщества фортов.

Сегодня инструкции на языке чинук-вава можно найти в приложении для смартфонов, разработанном Конфедеративными племенами Великого Ронда:
чинук-вава для Apple
чинук-вава для Google Play

Общественный колледж Лейн в Юджине, штат Орегон, имеет чинук Языковая программа вава, представленная в партнерстве с Конфедеративными племенами Великого Ронда. Узнайте больше здесь.

Каулиц

Язык Каулиц — это язык прибрежных салиш, похожий на язык Нижнего Чехалиса. В форте Ванкувер на нем говорили члены племени Коулиц.

Кри диалекты

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

Узнайте больше о сотрудниках Cree в Fort Vancouver здесь.

English

Штаб-квартира компании Гудзонова залива находилась в Лондоне, Англия, и многие сотрудники HBC, а также английские сотрудники говорили по-английски.

Французский

Французско-канадские сотрудники форта Ванкувер, а также католические миссионеры из восточной Канады говорили по-французски.

Гэльский

Шотландские сотрудники Fort Vancouver говорили на шотландском гэльском языке. Во время посещения форта губернатор HBC Джордж Симпсон заметил, что встретил «северного британца, который понимал только гэльский язык своих родных холмов».

Гавайцы

В 1840-х годах в форте Ванкувер проживало самое большое население коренных гавайцев за пределами Гавайев. На гавайском языке говорили эти гавайцы, в основном мужчины, приехавшие в Форт-Ванкувер, чтобы работать здесь. Узнайте больше о гавайцах в форте Ванкувер здесь.

Языки хауденосауни

Компания Гудзонова залива поощряла сотрудников хауденосауни (ирокезов) работать на постах компании по всей Северной Америке, включая Форт Ванкувер. Языками, на которых говорили эти сотрудники, могли быть могавк, онейда, онондага, каюга, сенека, тускарора и вайандот. Узнайте больше о сотрудниках Haudenosaunee в Fort Vancouver здесь.
Информация о языках хауденосауни из Конфедерации хауденосауни

Hul’qumi’num

На Hul’qumi’num говорили люди из племен Коуичан на постах компании Гудзонова залива, таких как Форт Ванкувер.

Калапуйя

Северная Калапуя, Центральная Калапуя и Йонкалла (Южная Калапуя) говорили калапуйские жители форта.

Кикшт

Кикшт — это язык Верхнего Чинука, на котором говорят жители форта Васко-Вишрам. Сегодня язык преподается в программе Кикшт Центрального Орегонского муниципального колледжа.

Клаллам/С’Клаллам

На клалламском языке говорили жители клалламского форта Ванкувер.
Ресурсы на языке клаллам из племени Нижняя Эльва Клаллам
Слово дня на языке клаллам в Твиттере

Диалекты лушутсид

Лушутсид — это язык прибрежных салиш со многими субдиалектами, на которых говорят жители Нисквалли и Снохомиш из Форт-Ванкувера. На диалектах лушутсид также говорили другие племена на северо-западе, в том числе пуяллап и тулалип, которые начали усилия по возрождению языка для лушутсида.
Ресурсы Nisqually из индейского племени Nisqually
Ресурсы Lushootseed из индейского племени Puyallup
Ресурсы Lushootseed из племен Тулалип из Вашингтона

Молала

На языке молала говорили молала, жители форта Ванкувер.

Niimiipuu

На языке Niimiipuu говорили посетители Nez Perce и жители Форта Ванкувер.
Ресурсы Niimiipuu из племени Nez Perce

Nsәlxcin

Nsәlxcin, или Colville-Okanagan Salish, на котором говорили колвилл и силикс (оканаган) жители форта Ванкувер.
Ресурсы Nsәlxcin племен Конфедерации резервации Колвилл
Salish School of Spokane
En’owkin Center

Nuu-chah-nulth

Nuu-chah-nulth, также известный как нутканский язык, на нем говорили жители нуу-ча-нулт и посетители форта Ванкувер. Нуу-ча-нулт также был языком, который повлиял на чинук-вава или чинукский жаргон.

Языки Пит-Ривер

Жители Пит-Ривер в форте Ванкувер говорили на языках ачумави или ацугеви.

Кино

На языке прибрежных сэлиш-кино говорят жители Кино или посетители форта Ванкувер.

Сахаптинские диалекты

На сахаптинском диалекте говорили жители Кликитат Форт-Ванкувер.

Салиш

На салишском языке говорили жители калиспела (Pend d’Oreille) форта Ванкувер.
Салишские ресурсы индейского племени Калиспел
Салишская школа Спокана

Шаста

Шаста Жители форта Ванкувер говорят на языке шаста или на одном из его диалектов.
Ресурсы шаста индейского народа шаста

Спокан

Спокан — это внутренний салишский диалект, на котором говорят жители Форта Ванкувер в Спокане.
Ресурсы Спокана от языка и культуры племени Спокан

Тилламук

Тилламук — салишанский язык, на котором говорят жители форта Тилламук.

Тлинкит

На тлинкитском языке говорили посетители Stikene и жители форта Ванкувер.

Уматилла

Язык Уматилла — южный диалект сахаптинского языка, на котором говорили жители форта Уматилла. Сегодня каюсе, уматилла и валла-валла являются частью конфедеративных племен индейской резервации уматилла.
Ресурсы Уматилла из племен Конфедерации индейской резервации Уматилла

Валла-Уолла

Язык валла-валла — северо-восточный диалект сахаптинского языка, на котором говорили жители форта валла-валла, такие как Мари, Уолла Уолла, жена служащего Хауденосауни, жившего в деревне в 1840-х годах. Сегодня каюсе, уматилла и валла-валла являются частью конфедеративных племен индейской резервации уматилла.
Ресурсы Уолла Уолла от Конфедеративных племен индейской резервации Уматилла

Слово недели Чинук Вава 2019 года

Организация Объединенных Наций объявила 2019 год Международным годом языков коренных народов. В честь языка коренных народов, на котором чаще всего говорили в форте Ванкувер компании Гудзонова залива, мы провели год, делясь словами на языке чинук-вава на нашей странице в Facebook.

Слова, представленные в фотогалерее ниже, их произношение и определения взяты из «Чинук Вава: как наши старейшины учат нас говорить на нем», публикации Конфедеративных племен Великого Ронда.

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

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