Pull to refresh
54
0
Евгений Головин @evgeniyup

User

Send message

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

Reading time5 min
Views4.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>
Читать дальше →
Total votes 33: ↑14 and ↓19-5
Comments12

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

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

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

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

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

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

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

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

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

Reading time5 min
Views4.8K
ObjectScript — новый встраиваемый объектно-ориентированный язык программирования с открытым исходным кодом. ObjectScript расширяет возможности таких языков, как JavaScript, Lua и PHP.

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

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

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

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

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

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


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

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

Reading time4 min
Views3.7K
ObjectScript — новый объектно-ориентированный язык программирования с открытым исходным кодом. ObjectScript расширяет возможности таких языков, как JavaScript, Lua и PHP.

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


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

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

Reading time1 min
Views4.5K
ObjectScript — новый объектно-ориентированный язык программирования с открытым исходным кодом. ObjectScript расширяет возможности таких языков, как JavaScript, Lua и PHP.

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


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

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

Reading time5 min
Views8.6K
ObjectScript — новый объектно-ориентированный язык программирования с открытым исходным кодом. ObjectScript расширяет возможности таких языков, как JavaScript, Lua и PHP. Его презентация прошла на хабре некоторое время назад в этой статье и вызвала у читателей интерес и бурное обсуждение. Поэтому я решил не останавливаться на презентации и описать ObjectScript API.
Читать дальше →
Total votes 34: ↑26 and ↓8+18
Comments11

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

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

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

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

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity