Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2010, 20:48   #1
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию Скриптовые языки как самостоятельные единицы

Если ошибся разделом, прошу не ругать, но этот раздел показался мне наиболее подходящим.
Здравствуйте.
В последнее время стал популярным такой феномен, как использование скриптовых языков(Lua, MaxScript, PHP, javascript) как единиц разработки приложений без приложения-родителя. Иными словами, с помощью скриптовых языков стали делать самостоятельные приложения.
Для меня это показалось диким, необычным. Решил попробовать на языке луа(а заодно вспомнить его) с библиотекой GTK+. Получилось довольно необычно, хотя и кривовато(опыта работы со скриптовыми языками у меня, честно говоря, маловато. Соответственно не привык использовать методы, свойственные для скриптовых языков), но тем не менее - это работает.
Теперь вопрос, ради которого я и создал эту тему:
Как вы относитесь к этому? Что думаете об этом?
Прошу сильно не ругаться, меня это действительно интересует.
pushl $0x18E3DF6B
call ICQ

Последний раз редактировалось russian-stalker; 27.10.2010 в 10:36.
russian-stalker вне форума Ответить с цитированием
Старый 26.10.2010, 21:12   #2
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Скриптовые языки на то и скриптовые что бы быть неким дополнением, имхо. Хотя они интересны с точки зрения кросплатформенного программирования и hot programs (программки для быстрого решения мелкой задачи).

p.s.
Цитата:
Levsha100'ой
просто левшой )

Последний раз редактировалось Levsha100; 26.10.2010 в 21:43.
Levsha100 вне форума Ответить с цитированием
Старый 26.10.2010, 21:19   #3
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Согласен с Levsha100'ой, место им в быстрых локальных дополнениях + web, на настольные и мобильные платформы не стоит покушаться, т.к. просто не ровня тем монстроподобным фреймворкам

Сам отношусь к данному типу языков никак, т.к. использую для web (ради познания нового) и для написания инсталлятора для Windows, сам по себе разработчик мобильных и десктопных приложений.
BOBAH13 вне форума Ответить с цитированием
Старый 26.10.2010, 21:40   #4
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

ну а я решил испытать языки в этой роли:
Hello World:
Код:
require "gtk"

Application = {} --Класс приложения
Window = {} --Класс окна

function Window:new(title, width, height) --Создание нового окна
    self.w = gtk.window_new(gtk.WINDOW_TOPLEVEL) --Создаем новое окно
    self.w:connect('destroy', gtk.main_quit) --Устанавливаем колбэк на уничтожение
    self.w:set_default_size(width, height) --Устанавливаем размеры окна
    self.w:set_title(title) --Устанавливаем заголовок
    self.w:show_all() --Показываем все
end

function Window:createVBox() --Создание контейнера
    self.vbox = gtk.vbox_new (true, 0) --Создаем
    self.vbox:show() --Показываем
    gtk.container_add (self.w, self.vbox) --Присоединяем к окну
end;

function Window:createButton(title) --Создание кнопки
    self.button = gtk.button_new_with_label(title) -- Создаем кнопку с текстом внутри
    self.button:connect("clicked", self.buttonOnClick) --Присоединяем колбэк на клик по кнопке
    self.button:show() --Показываем кнопку
    gtk.box_pack_start(self.vbox, self.button, true, true, 0) --Пакуем кнопку в контейнер
end;

Application.mainWindow = {} --Будущий экземпляр класса окна

function Application.mainWindow:buttonOnClick() --Колбэк на нажатие кнопки 
    self:get_child():set_text(self:get_child():get_text().." - Clicked") --При создании кнопки с текстом внутри, у кнопки создается текстовое поле внутри, которое мы и меняем
end

function Application:new() --Создание приложения
    setmetatable(self.mainWindow, {__index = Window}) --Ну типа так и должно быть
    self.mainWindow:new("Hello World!",300,200) --Создаем экземпляр класса
    self.mainWindow:createVBox() --Создаем контейнер
    self.mainWindow:createButton("First hello world") --Создаем кнопку
    self.mainWindow:createButton("Second hello world") --Создаем кнопку
    self.mainWindow:createButton("Third hello world") --Создаем кнопку
end

function Application:start() --Запуск главного цикла
    gtk.main() --Запускаем главный цикл
end;

local app = {} --Будущий экземпляр класса приложения
setmetatable(app, {__index = Application}) --Будем считать, что так и должно быть
app:new() --Создаем приложение
app:start() --Запускаем главный цикл
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 26.10.2010, 22:21   #5
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Цитата:
Вышла бета-версия linux-дистрибутива Pardus.

Pardus Linux — турецкий, ни на чём не основанный дистрибутив.
...
Цитата:
1) Свой собственный формат хранения и передачи пакетов (pisi)
Некоторые особенности этого формата:
Использует формат LZMA для сжатия
Всё написано на Python
Вот тут уже страшно.
Levsha100 вне форума Ответить с цитированием
Старый 26.10.2010, 22:56   #6
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

К скриптовым язык отношусь никак, ибо просто не интересно...нету той свободы действий что ли при их использовании или я даже не знаю как это назвать...ну вобщем как-то так...)))
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 27.10.2010, 00:45   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

отношусь к ним средне, меня более интересует в них возможность встраивости...но порою и только...
Цитата:
Levsha100'ой
=Левша стоой
Цитата:
(pisi)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.10.2010, 06:58   #8
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

А мне нравится, кстати, Lua часто используется в играх, например в Warcraft III. А это мощная индустрия, поэтому рост таким языкам обеспечен.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 27.10.2010, 07:44   #9
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

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

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 27.10.2010, 08:08   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Левша стоой
)))))))))))))))))))))))

По теме: Я на МаксСкрипте Астру рисовал - прикольно получилось.
Код:
delete $Lepestok*
--m=Ellipse length:10 width:50 pos:[0,0,100] name:Lepestok01
m=$
--mwidth=m.width --m.max.y-m.min.y
mwidth=m.max.x-m.min.x
--addModifier m  (Extrude ()) ui:on
n=5
r=10
m.wirecolor = color 225 88 199
ang=360/r
rang=ang
beginUgol=-30
endugol=270

stepugol=(abs(endugol)+abs(beginUgol))/n
ug=beginUgol
for i=1 to n do (
	for j=1 to r-1 do (
		k=copy m
		k.name="Lepestok"
		k.wirecolor=m.wirecolor
    	--convertToMesh k
		k.pivot=k.max
		k.pos=m.pos
		k.pos.z-=100
		---addModifier k  (Extrude ()) ui:on
		--k.modifiers[#Extrude].Amount=0.1
		addModifier k  (Bend ()) ui:on
		k.modifiers[#Bend].center.x += mwidth/2
		k.modifiers[#Bend].BendAxis = 0
		k.modifiers[#Bend].BendAngle =ug-- random -45 45
		--k.modifiers[#Bend].FromTo = on
		--rotate k (eulerangles (random -40 40) (random 0 0) rang)
		rotate k (eulerangles 0 0 rang)
		rang+=ang
	)
	ug+=stepugol
	rang=i*50
)
--delete m
--group e name:"Astra"
просто форму лепестка указал, а дальше скрипт сам его в цветок закрутит
Вручную я бы долго пыхтел а так раз-два и готово

В общем за скриптами будущее.
Нативные программы уже уступили пальму первенства и даже удобства.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как запустить цикл for с шагом отличным от единицы Altera Общие вопросы Delphi 25 21.05.2015 15:14
Ищутся внедряемые скриптовые языки OCTAGRAM Софт 0 21.09.2010 17:54
Перестановка единицы RIO Общие вопросы Delphi 1 26.10.2009 15:30
единицы измерения ulito4ka Microsoft Office Word 2 13.04.2009 15:05
Единицы по диагонали ChipLink Общие вопросы Delphi 2 24.01.2008 19:45