Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/samgozman/YoptaScript
Joke programming language for 'gopniks' in Russia. Back from 2016!
https://github.com/samgozman/YoptaScript
javascript language pong-yoptascript programing-language russian yoptascript
Last synced: 13 days ago
JSON representation
Joke programming language for 'gopniks' in Russia. Back from 2016!
- Host: GitHub
- URL: https://github.com/samgozman/YoptaScript
- Owner: samgozman
- License: mit
- Created: 2016-11-14T19:00:35.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-10-28T06:15:14.000Z (17 days ago)
- Last Synced: 2024-10-29T12:59:22.133Z (15 days ago)
- Topics: javascript, language, pong-yoptascript, programing-language, russian, yoptascript
- Language: TypeScript
- Homepage: https://yopta.space
- Size: 4.18 MB
- Stars: 2,120
- Watchers: 52
- Forks: 105
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.txt
Awesome Lists containing this project
README
# YoptaScript
[![yoptascript logo](./docs/assets/img/YoptaScript.png)](https://yopta.space/)
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/C0C1DI4VL)
[![yoptascript](https://img.shields.io/badge/%D0%A1%D0%BA%D0%B0%D1%87%D0%B0%D1%82%D1%8C-YoptaScript-green)](https://github.com/samgozman/YoptaScript/tree/master/dist/yopta.js)
[![npm](https://img.shields.io/npm/v/yopta)](https://www.npmjs.com/package/yopta)
[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/samgozman/YoptaScript/issues)
[![contributions welcome](https://img.shields.io/packagist/l/doctrine/orm.svg?style=flat)](https://github.com/samgozman/YoptaScript/blob/master/LICENSE.txt)[YoptaScript](http://yopta.space/) это первый в мире скриптовый язык программирования для гопников и реальных пацанов, транслируемый в чистый JavaScript. YoptaScript позволит "чётким пацанам" быстро влиться в ряды программистов и процесс разработки.
Очень **приветствуются** добавления новых определений в [словарь](./src/dictionary/dictionary.ts) языка, а также поиск багов и расширение функционала!
Смотрите интервью о создании языка на канале Хекслет: [https://www.youtube.com/watch?v=Rk5wNGBIilM](https://www.youtube.com/watch?v=Rk5wNGBIilM)
[![yoptascript logo](./docs/assets/img/Yopta2.png)](https://github.com/samgozman/YoptaScript/blob/master/CONTRIBUTE.md)
## Разработка
При разработке языка использовались основные лексические и фразеологические единицы диалекта "нормальных пацанов" позаимствованные из следующих словарей:
* [ГСР](http://lurkmore.to/ГСР)
* [Краткий словарь блатного жаргона](http://www.aferizm.ru/jargon/slovar.htm)Так же были заимствованы крылатые слова и выражения в ходе наблюдения за некоторыми индивидами из представителей "чётких пацанов".
Толчком к разработке **YoptaScript** послужили события, произошедшие в середине 2016 года, в ходе которых журналистами Piter.TV была открыта такая категория программистов как [**гопники-программисты**](http://piter.tv/event/V_Peterburge_pyatero_studentov_kolledzha_grabili_shkol_nikov/).
Вся разработка и поиск ошибок ведётся в ветке **develop**!
## Предупреждения
YoptaScript не несёт в себе цели оскорбить кого-то или унизить. YoptaScript создан для облегчения обучению программированию определённых слоёв населения.
YoptaScript содержит **множество нецензурной лексики**.
## Использование
Скачайте [последнюю версию](https://github.com/samgozman/YoptaScript/tree/master/dist/yopta.js) языка и следуйте дальнейшим инструкциям.
### Браузер
1. Положите файл `yopta.js` из папки `dist` в папку c вашим проектом. Или используйте CDN
2. Подключите файл к вашей `html` странице в самый конец перед закрытием тега `body`:```html
```
3. Создайте внутри `body` элемент `script` с атрибутом `language="YoptaScript"` на странице до подключения основного скрипта
```html
... ...
//ваш йоптакод
```
Можно так же вынести йоптакод в отдельный файл и подключить через атрибут `src`.
4. Начните писать код!
```html
ксива.малява(" Оно работает ") нах
```
Полный пример можно посмотреть в файле [index.html](https://github.com/samgozman/YoptaScript/blob/master/demo/page/index.html) в директории `demo/page`. Конвертером из JavaScript в YoptaScript можно воспользоваться открыв файл [index.html](https://github.com/samgozman/YoptaScript/blob/master/demo/converter/index.html) в директории `demo/converter`.
### NodeJS
**YoptaScript** можно так же подключить для вашего проекта с помощью пакетного менеджера **npm**.
```bash
npm install yopta
```или введите `npm install -g yopta` чтобы установить йопту глобально.
## Проекты на YoptaScript
### Игра Ping-Pong
Один из разработчиков языка YoptaScript написал игру Ping-Pong на чистом YoptaScript с использованием canvas!
**[Pong-YoptaScript](https://github.com/grushan/Pong-YoptaScript) ([Demo](https://yopta-pong.herokuapp.com))**
## Примеры
См. папку examples.
1. [Переменные, функции, условия](https://github.com/samgozman/YoptaScript/blob/master/examples/vars.yopta)
2. [Циклы](https://github.com/samgozman/YoptaScript/blob/master/examples/loops.yopta)
3. [document & window](https://github.com/samgozman/YoptaScript/blob/master/examples/document.yopta)
4. [Math](https://github.com/samgozman/YoptaScript/blob/master/examples/math.yopta)
5. [Логические операторы](https://github.com/samgozman/YoptaScript/blob/master/examples/logical.yopta)## Поддержка разных диалектов
YoptaScript отлично работает с разными локальными диалектами!
Например:
* `трулио` -> `чётко` -> `четко` -> `чотко` -> **true**
* `нетрулио` -> `пиздишь` -> `нечётко` -> `нечетко` -> `нечотко` -> **false**
* `эквалио` -> `ровно` -> `однахуйня` -> `типа` -> **==**И другие
Все методы и свойства, содержащие букву `ё` можно писать без `ё`, используя `е`. Если в середине слова может присутствовать буква `ё`, то можно писать вместо неё букву `о`. Yopta поймёт.