LINUX.ORG.RU — Русская информация об ОС Linux

[#]  
ConnorMcLaud

[programming] Скриптовые языки

Вот есть приложение. Цивилизация 4, например. Да и не важно какое приложение. Но основная часть написана на С++. А многое на скриптовом языке (Python, вроде).

Внимание, вопрос: Какую функциональность приложения (теперь абстрактного) лучше разрабатывать на скриптовых языках программирования, чем компилируемых?

Именно интересует область применения.

ConnorMcLaud (07.10.2009 18:29:04)
Juick

[#]  
Manhunt

Re: [programming] Скриптовые языки

Плюсую к вопросу. Тоже не понимаю толком, где должна проходить грань.

Manhunt *** (07.10.2009 18:31:22)
[#]  
f3ex

Re: [programming] Скриптовые языки

веб-сфера - скриптовые языки, так же где важна скорость разработчки (а не скорость выполнения).

Или допустим я делаю концепты в ruby\Qt (потому что быстро), а потом переношу на c++\Qt

f3ex * (07.10.2009 18:32:42)
[#]  
LinuxUser

Re: [programming] Скриптовые языки

++

LinuxUser * (07.10.2009 18:32:43)
[#]  

Re: [programming] Скриптовые языки

Эм, там где скриптовость не будет бить по производительности и будет давать прирост скорости разработки?
Ваш К.О.
На самом деле тут вопрос в конкретном приложении и его архитектуре. Скажем если какие-то ресурсы грузятся один раз где-то в фоне, то можно эти ресурсы грузить скриптами или сами ресурсы могут быть скриптами. Так частенько в играх делают. Также гуй может быть на скриптовом языке, но при условии что не будет страдать производительность и не будет увеличиваться сильно потребление памяти и тд - а это уже возникается вопрос что за гуй и как он сделан.
В принципе значительную часть логики программ можно вынести в виде скриптов, и лиш сильножрущие операции писать на том же С или С++, так пистонисты делают частенько.
Главный вопрос какой профит получится. Потому что при разгильдяйском отношении можно не только не получить преимущества, но заработать гемороя.

ixrws * (07.10.2009 18:35:25)
[#] Ответ на: Re: [programming] Скриптовые языки от f3ex 07.10.2009 18:32:42  

Re: [programming] Скриптовые языки

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

ixrws * (07.10.2009 18:37:04)
[#] Ответ на: Re: [programming] Скриптовые языки от ixrws 07.10.2009 18:37:04  
f3ex

Re: [programming] Скриптовые языки

У гугля очень большие запросы. Я думаю не стоит сравнивать нагрузку на гугли к примеру с нагрузкой на ЛОР.

f3ex * (07.10.2009 18:39:03)
[#] Ответ на: Re: [programming] Скриптовые языки от f3ex 07.10.2009 18:39:03  

Re: [programming] Скриптовые языки

Не стоит, но и то и другое - это веб. Просто если речь о небольших веб-сайтах - то так и надо писать. А то ведь вебом считаются и приложения, для которых веб - это лиш небольшая морда. Тоже самое касается и обычных приложений. Чем больше, тем серьёзнее должен быть подход к архитектуре и тем взвешеннее должно быть решение о использовании ЯП. А то заюзать сначала пистон, а потом переписывать придётся:)

ixrws * (07.10.2009 18:41:24)
[#]  
Sun-ch

Re: [programming] Скриптовые языки

Да любую. Например perl подходит для очень многих задач.

Sun-ch # (07.10.2009 18:44:16)
[#]  
EmStudio

Re: [programming] Скриптовые языки

/me вчера пробовал на скриптах сделать DVD-слайдшоу - жуткие тормоза, оказалось, что проще было написать нужное на Си, что я и сделал.

EmStudio # (07.10.2009 18:46:15)
[#]  
gkrellm

Re: [programming] Скриптовые языки

Дык ядро на Си, а платформозавизимую обертку и подгрузки библиотек — на скриптах, чтоб если что поправить можно было. Не?

gkrellm (07.10.2009 18:46:23)
[#] Ответ на: Re: [programming] Скриптовые языки от ixrws 07.10.2009 18:41:24  
f3ex

Re: [programming] Скриптовые языки

Такое ощущение, что большая половина ЛОРа у нас работаеют в таких проектах как Гугл.

f3ex * (07.10.2009 18:46:37)
[#]  
kost-bebix

Re: [programming] Скриптовые языки

ИМХО, нужно изначально писать на Питоне, а потом профилировать что и где долго работает или тормозит. Просто если что-то тяжелое делать на питоне - будет видно где он тормозит даже визуально и даже при самой ранней стадии разработки. Ну, я игр не писал, но если бы писал - писал бы так.

kost-bebix ** (07.10.2009 18:47:11)
[#] Ответ на: Re: [programming] Скриптовые языки от f3ex 07.10.2009 18:46:37  

Re: [programming] Скриптовые языки

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

ixrws * (07.10.2009 18:49:11)
[#]  
jtootf

Re: [programming] Скриптовые языки

>Какую функциональность приложения (теперь абстрактного) лучше разрабатывать на скриптовых языках программирования, чем компилируемых?

всю, какую только можно. вот что нельзя (по производительности, или ещё по каким причинами) - то пишем на C (C++, Java, whatever). вот и всей грани

jtootf **** (07.10.2009 18:52:07)
[#]  

Re: [programming] Скриптовые языки

> на скриптовых языках программирования, чем компилируемых?

facepalm.svg Назовешь мне пару-тройку некомпилируемых скриптовых языков?

Если взять для примера Си и Питон, то на Си нужно писать то, что должно быть гарантированно и предсказуемо быстрым, и/или должно интегрироваться в программы на других языках через стандартный интерфейс вызовов (а не какой-нибудь вид RPC).

Альтернативно, как уже сказано выше - профилирование и переписывание на Си кусков, где быстродействия Питона не хватает (а уже написанный Питон-код используется как прототип и эталон).

tailgunner ***** (07.10.2009 18:54:04)
[#] Ответ на: Re: [programming] Скриптовые языки от tailgunner 07.10.2009 18:54:04  
jtootf

Re: [programming] Скриптовые языки

>Назовешь мне пару-тройку некомпилируемых скриптовых языков?

Tcl. в некотором обобщении - Prolog. насчёт Lua не знаю, но подозреваю что там тоже интерпретация на уровне исходного кода должна быть

jtootf **** (07.10.2009 19:02:54)
[#] Ответ на: Re: [programming] Скриптовые языки от tailgunner 07.10.2009 18:54:04  
AITap

Re: [programming] Скриптовые языки

> Назовешь мне пару-тройку некомпилируемых скриптовых языков?

Скомпилируй мне код на Perl в отдельный ELF-файл.

AITap ***** (07.10.2009 19:38:07)
[#]  

Re: [programming] Скриптовые языки

> Внимание, вопрос: Какую функциональность приложения (теперь абстрактного) лучше разрабатывать на скриптовых языках программирования, чем компилируемых?

Можно предположить, что ту, для которой нужно обеспечить гибкость настройки (например для исправления баланса в игре) - исправить скрипт, не перекомпилируя приложение.

Byron * (07.10.2009 19:39:03)
[#] Ответ на: Re: [programming] Скриптовые языки от AITap 07.10.2009 19:38:07  
jtootf

Re: [programming] Скриптовые языки

>Скомпилируй мне код на Perl в отдельный ELF-файл.

а что, кто-то говорил о компиляции в машкод?

jtootf **** (07.10.2009 19:43:46)
[#] Ответ на: Re: [programming] Скриптовые языки от jtootf 07.10.2009 19:02:54  

Re: [programming] Скриптовые языки

>> Назовешь мне пару-тройку некомпилируемых скриптовых языков?

> Tcl

Это не так для версий 8.x

> Lua

Тоже нет.

Остаётся Ruby и...? Что ещё, кроме шеллов, подсказывайте знатоки.

Hjorn * (07.10.2009 19:55:33)
[#] Ответ на: Re: [programming] Скриптовые языки от Hjorn 07.10.2009 19:55:33  
jtootf

Re: [programming] Скриптовые языки

>Это не так для версий 8.x

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

>Тоже нет.

да, там я уже заметил CLR и JVM-реализации

jtootf **** (07.10.2009 19:59:26)
[#] Ответ на: Re: [programming] Скриптовые языки от Hjorn 07.10.2009 19:55:33  
Mystra_x64

Re: [programming] Скриптовые языки

>Остаётся Ruby и...?

Там в 1.9 уже тоже какая-то VM, кажется.

Mystra_x64 ***** (07.10.2009 20:03:16)
[#]  
abraziv_whiskey

Re: [programming] Скриптовые языки

База, которую нельзя изменять простым юзерам, - на С, а та часть, которая часто изменяется - на скриптовых. Типа, как макроязык в РПГ нужен для модописателей, которых в С пускать нельзя.

abraziv_whiskey ***** (07.10.2009 20:16:25)
[#] Ответ на: Re: [programming] Скриптовые языки от jtootf 07.10.2009 19:59:26  

Re: [programming] Скриптовые языки

> это так даже в 8.5, с поправкой на многочисленные оптимизации процесса.

Это всё равно уже не тот чистый интерпретатор, каким были старые реализации тикля. Это в большей степени компилятор, с некоторыми исключениями для слишком динамических вещей. Хотя на практике это не имеет особого значения, пожалуй. Такая компиляция конечно совсем не то, что обычно ожидают от "компилируемого языка".

Hjorn * (07.10.2009 20:21:18)
[#] Ответ на: Re: [programming] Скриптовые языки от Hjorn 07.10.2009 20:21:18  
jtootf

Re: [programming] Скриптовые языки

>уже не тот чистый интерпретатор, каким были старые реализации тикля

факт. но компилятор из него ещё более грязный, чем интерпретатор :)

>Такая компиляция конечно совсем не то, что обычно ожидают от "компилируемого языка"

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

jtootf **** (07.10.2009 20:27:13)
[#] Ответ на: Re: [programming] Скриптовые языки от jtootf 07.10.2009 19:02:54  

Re: [programming] Скриптовые языки

> в некотором обобщении - Prolog

А он разве скриптовый? :) Ну и машина Уоррена опять же.

tailgunner ***** (07.10.2009 22:50:55)
[#] Ответ на: Re: [programming] Скриптовые языки от tailgunner 07.10.2009 22:50:55  
jtootf

Re: [programming] Скриптовые языки

>А он разве скриптовый? :)

ну не компилируемый точно - за исключением чудо-диалекта Turbo Prolog

>Ну и машина Уоррена опять же.

это канал о сферических конях в вакууме?

jtootf **** (07.10.2009 23:01:43)
[#] Ответ на: Re: [programming] Скриптовые языки от jtootf 07.10.2009 23:01:43  

Re: [programming] Скриптовые языки

>>А он разве скриптовый? :)

>ну не компилируемый точно

Мы вроде выяснили, что большинство скриптовых языков компилируются :)

> за исключением чудо-диалекта Turbo Prolog

И того самого эдинбургского Пролога Уоррена. И GNU Prolog. И SWI Prolog. И наверняка кучи других Прологов %)

>>Ну и машина Уоррена опять же.

> это канал о сферических конях в вакууме?

ДА!!!111

tailgunner ***** (07.10.2009 23:11:34)
[#]  
EmStudio

Re: [programming] Скриптовые языки

Кстати, вспоминается старый конфигосрач в новостях и конфиг от нгинкса, который тоже скриптовый. Быть может, скрипты - это такие настройки приложения, которые, как известно, должны задаваться на этапе компиляции? :)

EmStudio # (07.10.2009 23:17:25)
[#] Ответ на: Re: [programming] Скриптовые языки от tailgunner 07.10.2009 23:11:34  
jtootf

Re: [programming] Скриптовые языки

>И того самого эдинбургского Пролога Уоррена. И GNU Prolog. И SWI Prolog. И наверняка кучи других Прологов %)

не хочу тебя расстраивать, но ты несколько ошибаешься

>Мы вроде выяснили, что большинство скриптовых языков компилируются :)

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

>ДА!!!111

а вы говорите - ЛОР не торт :) что-то неизменное тут всё-таки есть

jtootf **** (07.10.2009 23:17:54)
[#] Ответ на: Re: [programming] Скриптовые языки от jtootf 07.10.2009 23:17:54  

Re: [programming] Скриптовые языки

>>И того самого эдинбургского Пролога Уоррена. И GNU Prolog. И SWI Prolog. И наверняка кучи других Прологов %)

> не хочу тебя расстраивать, но ты несколько ошибаешься

Да ладно, не жалей меня. Сейчас еще раз посмотрел в гугле - таки GNU Prolog и в байткод, и в машкод компилируется, а про SWI Prolog написано просто "компиляция".

>>Мы вроде выяснили, что большинство скриптовых языков компилируются :)

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

По-моему, для ТС существенной разницей был VM или нативный код.

tailgunner ***** (07.10.2009 23:29:30)
[#] Ответ на: Re: [programming] Скриптовые языки от tailgunner 07.10.2009 23:29:30  
jtootf

Re: [programming] Скриптовые языки

>По-моему, для ТС существенной разницей был VM или нативный код.

ну тогда он неверные термины выбрал

>таки GNU Prolog и в байткод, и в машкод компилируется, а про SWI Prolog написано просто "компиляция"

а теперь закрываем педивикию, пишем какое-нибудь приложение на Prolog'е (хоть GNU, хоть SWI), и смотрим - насколько это можно считать компиляцией. как и в случае Tcl я не считаю этот термин тут хоть сколько-нибудь подходящим

jtootf **** (07.10.2009 23:35:12)
[#] Ответ на: Re: [programming] Скриптовые языки от jtootf 07.10.2009 23:35:12  

Re: [programming] Скриптовые языки

>> По-моему, для ТС существенной разницей был VM или нативный код.

> ну тогда он неверные термины выбрал

О чем и речь.

> пишем какое-нибудь приложение на Prolog'е (хоть GNU, хоть SWI), и смотрим

Эх, не сыпь мне соль на сахар :/

tailgunner ***** (07.10.2009 23:45:35)
[#] Ответ на: Re: [programming] Скриптовые языки от tailgunner 07.10.2009 23:45:35  
jtootf

Re: [programming] Скриптовые языки

в кои-то веки спор на ЛОРе закончился согласием o_O причём параллельно в двух ветках в Talks (и оба раза - на технические темы). ад какой

jtootf **** (07.10.2009 23:51:45)
[#] Ответ на: Re: [programming] Скриптовые языки от kost-bebix 07.10.2009 18:47:11  
Reset

Re: [programming] Скриптовые языки

Дурная затея. Как показывает практика такое обычно выливается в эпопею с профилированием и непониманием почему все и везде тормозит, а потом по переписыванию 90% кода на С++. Оставшиеся 10% на скриптовых языках в виде "клея".

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

Reset ***** (08.10.2009 0:07:31)
[#] Ответ на: Re: [programming] Скриптовые языки от Reset 08.10.2009 0:07:31  

Re: [programming] Скриптовые языки

> Как показывает практика такое обычно выливается в эпопею с профилированием и непониманием почему все и везде тормозит

Практика еще и показывает, что таким способом получаются и вполне быстрые программы (тот же mercurial).

tailgunner ***** (08.10.2009 0:10:39)
[#] Ответ на: Re: [programming] Скриптовые языки от jtootf 07.10.2009 23:51:45  

Re: [programming] Скриптовые языки

> в кои-то веки спор на ЛОРе закончился согласием o_O причём параллельно в двух ветках в Talks

ЛОР уже не торт (я всегда хотел это сказать!!11)

tailgunner ***** (08.10.2009 0:12:57)
[#] Ответ на: Re: [programming] Скриптовые языки от Reset 08.10.2009 0:07:31  
jtootf

Re: [programming] Скриптовые языки

>изначально разработывать архитектуру так, чтобы каждая часть приложения была написана на подходящем для этого языке

именно

jtootf **** (08.10.2009 2:04:18)
[#] Ответ на: Re: [programming] Скриптовые языки от tailgunner 08.10.2009 0:12:57  
jtootf

Re: [programming] Скриптовые языки

>ЛОР уже не торт (я всегда хотел это сказать!!11)

а мне нравится :)

jtootf **** (08.10.2009 2:04:40)
[#] Ответ на: Re: [programming] Скриптовые языки от Reset 08.10.2009 0:07:31  
kost-bebix

Re: [programming] Скриптовые языки

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

kost-bebix ** (08.10.2009 11:42:57)

О Сервере - Правила форума
http://www.linux.org.ru/

Rambler's Top100 Рейтинг@Mail.ru