Как стать автором
Обновить
54
0
Евгений Головин @evgeniyup

Пользователь

Отправить сообщение

ObjectScript в качестве нового языка для веб разработки

Время на прочтение 5 мин
Количество просмотров 4.7K
ObjectScript — новый встраиваемый объектно-ориентированный язык программирования с открытым исходным кодом. ObjectScript расширяет возможности таких языков, как JavaScript, Lua, Ruby, Python и PHP. Вы можете ознакомится с синтаксисом языка в этой статье.

За последнее время была существенно увеличена производительность виртуальной машины, стабилизировано ядро и спецификация, в язык добавлена поддержка исключений (try, catch, throw), вышел релиз языка OS 1.0, готовится документация и открытый сайт проекта.

Первая веб страница на OS


Создадим документ index.osh в корне нашего сайта:

<!doctype html>
<html>
    <head>
    <title>OS-FCGI FastCGI demo</title>
    </head>
<body>
    <h1>Hello world!</h1>
    <h2>ObjectScript FastCGI demo</h2>
    <p>
    <%
        echo "Добро пожаловать! <br />"
		var num = 20
		var r = {|a| a <= 1 ? 1 : a*_F(a-1)}(num)
		printf("factorial of %v = %v", num, r)
    %>
    </p>
</body>
</html>
Читать дальше →
Всего голосов 33: ↑14 и ↓19 -5
Комментарии 12

Большое обновление ObjectScript 0.99-vm3. Часть 1: Регистровая виртуальная машина

Время на прочтение 7 мин
Количество просмотров 5.7K
ObjectScript — новый встраиваемый и очень легкий объектно-ориентированный язык программирования с открытым исходным кодом. ObjectScript расширяет возможности таких языков, как JavaScript, Lua, Ruby и PHP. Вы можете ознакомится с первоначальным синтаксисом языка в этой статье.

ObjectScript 0.99-vm3 — новая быстрая виртуальная машина и новые возможности.

Убраны некоторые операторы, например, clone, numberof и др. заменены функциями. Последнее значение в функции возвращается автоматически. Добавлена короткая запись для доступа к членам объекта — @varname, новый короткий синтаксис для объявления функций и мн. др.
Читать дальше →
Всего голосов 24: ↑19 и ↓5 +14
Комментарии 1

ObjectScript, разработаем спецификацию совместно: операторы сравнения

Время на прочтение 5 мин
Количество просмотров 2.3K
ObjectScript — новый встраиваемый и очень легкий объектно-ориентированный язык программирования с открытым исходным кодом. ObjectScript расширяет возможности таких языков, как JavaScript, Lua и PHP. Синтаксис в основном взят из JavaScript, множественное присваивание — из Lua, работа со свойствами — из PHP.

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

Вопрос довольно щекотливый, т.к. от результата булевского выражения зависит, не много не мало, выполнится кусок кода или нет. Русская пословица «одна голова хорошо, а много лучше» подсказывает мне, что лучше обратится к программерскому сообществу и разобраться наверняка в том, какое поведения при сравнении (это операторы >=, >, <=, <, ==, !=) разных типов данных в скриптовом языке является наиболее уместным. Выработать коллегиональное решение и закрепить результат в спецификации ObjectScript.
Читать дальше →
Всего голосов 19: ↑8 и ↓11 -3
Комментарии 22

ObjectScript API, интеграция с C++. Часть 4: подключение пользовательских классов и функций на C++

Время на прочтение 5 мин
Количество просмотров 4.8K
ObjectScript — новый встраиваемый объектно-ориентированный язык программирования с открытым исходным кодом. ObjectScript расширяет возможности таких языков, как JavaScript, Lua и PHP.

По результатам предыдущих статей было много вопросов о том, как подключать свои классы и функции на C++ к ObjectScript. Имеющийся в первых сборках OS способ подключения едва ли удовлетворял потребности и я решил сделать более мощный и удобный биндинг, который теперь идет в комплекте с OS поумолчанию.

В чем собственно преимущество нового биндинга: теперь можно подключать любую функцию, с любыми параметрами, любым возвращаемым значением без дополнительных оберток. Сразу подключаете ту функцию, которая у вас есть и все, готово.
Читать дальше →
Всего голосов 10: ↑8 и ↓2 +6
Комментарии 7

ObjectScript — новый язык программирования, быстрее чем PHP и JS

Время на прочтение 5 мин
Количество просмотров 8.9K
ObjectScript — новый встраиваемый и очень легкий объектно-ориентированный язык программирования с открытым исходным кодом. ObjectScript расширяет возможности таких языков, как JavaScript, Lua и PHP. Синтаксис в основном взят из JavaScript, множественное присваивание — из Lua, работа со свойствами — из PHP.

ObjectScript 0.97-vm2 быстрее, чем PHP 5.3.3 и JS на 34% и 61% соответственно.

Как тестировалось


Для тестирования был взят алгоритм Fannkuch. Довольно удобный тест, одна функция с параметром, при увеличении параметра на 1, количество вычислений увеличивается примерно в 10 раз.
Читать дальше →
Всего голосов 50: ↑17 и ↓33 -16
Комментарии 39

ObjectScript API, интеграция с C++. Часть 3: подключение модуля с функциями на C++

Время на прочтение 4 мин
Количество просмотров 3.7K
ObjectScript — новый объектно-ориентированный язык программирования с открытым исходным кодом. ObjectScript расширяет возможности таких языков, как JavaScript, Lua и PHP.

Часть 3: подключение модуля с функциями на C++


Давайте создадим свой модуль с фунциями, которые будут доступны в коде на OS. Назовем модуль my, он будет содержать
Читать дальше →
Всего голосов 15: ↑11 и ↓4 +7
Комментарии 0

ObjectScript API, интеграция с C++. Часть 2: выполнение скрипта на OS из C++

Время на прочтение 1 мин
Количество просмотров 4.4K
ObjectScript — новый объектно-ориентированный язык программирования с открытым исходным кодом. ObjectScript расширяет возможности таких языков, как JavaScript, Lua и PHP.

Часть 2: выполнение скрипта на OS из C++


Возьмем пример кода на OS из Части 1: работа со стеком, вызов функций OS из C++.
Читать дальше →
Всего голосов 30: ↑21 и ↓9 +12
Комментарии 2

ObjectScript API, интеграция с C++. Часть 1: работа со стеком, вызов функций OS из C++

Время на прочтение 5 мин
Количество просмотров 8.6K
ObjectScript — новый объектно-ориентированный язык программирования с открытым исходным кодом. ObjectScript расширяет возможности таких языков, как JavaScript, Lua и PHP. Его презентация прошла на хабре некоторое время назад в этой статье и вызвала у читателей интерес и бурное обсуждение. Поэтому я решил не останавливаться на презентации и описать ObjectScript API.
Читать дальше →
Всего голосов 34: ↑26 и ↓8 +18
Комментарии 11

ObjectScript — новый язык программирования

Время на прочтение 13 мин
Количество просмотров 29K
Сколько же существует всяких языков программирования, еще один? Ну можно и так сказать, а можно сказать и по другому: я программист и пишу программы на разных языках программирования для разных задач. В одних языках есть одни плюсы, в других — другие. Вот я и решил предложить свой универсальный язык программирования для множества задач.

ObjectScript — новый объектно-ориентированный язык программирования с открытым исходным кодом. Сами исходники занимают 459 Кб (парсер, компилятор и виртуальная машина) и находятся в двух файлах source\objectscript.h и source\objectscript.cpp. Скачать их можно по прямой ссылке тут. ObjectScript — очень легкий, предназначен для вставки в приложение на C++.

ObjectScript сочетает в себе возможности таких языков, как JavaScript, Lua и PHP. Например, синтаксис в основном взят из JavaScript, множественное присваивание — из Lua, работа со свойствами через перегружаемые методы — из PHP.

Кроме унификации нескольких существующих языков программирования, ObjectScript добавляет также и свои уникальные и полезные фишки.
Читать дальше →
Всего голосов 131: ↑107 и ↓24 +83
Комментарии 146

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность