Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Модератор
 Аватар для Curry
5170 / 3534 / 536
Регистрация: 01.06.2013
Сообщений: 7,685
Записей в блоге: 9

Какой язык лучше для поддержки пользовательского кода в вашем приложении

04.06.2018, 15:14. Показов 2127. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Короче было бы написать "Какой встраиваемый язык лучше", но это не совсем точно.
Допустим, мы делаем приложение компилируемое в машинный код (допустим С++, хотя я и к Delphi прикручивал).
Допустим что есть там сложно конфигурируемые действия, которые галочками в окне Options сложно настроить.
Логично, в таком случае, предоставить пользователю (если среди них есть не только "блондинки"), возможность написать небольшие(?) куски кода взимодействующие с нашим приложением.

Признаюсь, я выбирал такие языки случайно, из того про что слышал, из желания попробовать, из совета единичного пользователя. Я использовал в разных проектах:

lua - это очевидно.
javascript через WSH, MS VS C++.
Erlang/Elixir - коннект к узлу виртуальной машины Erlang на котором может крутиться скрипт на этих языках. (Да, экзотика.)

Ещё знаю что питон для таких целей часто используют.

Холиварный вопрос: какие языки для этого лучше?

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

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

Хотя, и специально заумно наворачивать скрипт нет смысла.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.06.2018, 15:14
Ответы с готовыми решениями:

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

Какой язык лучше для OpenGL?
Нужна помощь! Какой язык лучше для OpenGL и почему?! Типа сравнения. Желательно аргументированные ответы. Поискал в интернете, не особо,...

Какой язык для веб программирования лучше?
Какой язык для веб программирования лучше?

27
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
09.06.2018, 20:23
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от korvin_ Посмотреть сообщение
От эта бред.
Вы читайте внимательно что я пишу..
А я писал о СТРУКТУРЕ кода!!! Там всё по сишному, кто в теме, конечно. И не надо тут нести кто в адеквате, а кто нет..
Ruby
1
2
3
for {set x 0} $x<10 {incr x} {
    puts "x is $x"
}
Это что не по сишному разве? Что тут мне заливает? Ещё привести примеры?
Ruby
1
2
3
4
while {$x<10} {
    puts "x is $x"
    incr x
}
?
Команды соответствую функциям си, а параметры функций си соответствуют подкомандам тикля. Ну вам бесполезно обьяснять, конечно..
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
10.06.2018, 00:58
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Это что не по сишному разве?
Нет. Ты, видимо, понятия не имеешь о семантике выражений тикля. Впрочем, ожидаемо.

Цитата Сообщение от CoderHuligan Посмотреть сообщение
Ну вам бесполезно обьяснять, конечно..
Ога, куда уж нам до тебя, о Великий.

Опиши семантику приведённого тобой тиклевского for и семантику Сишного for.

Вот, кстати, тебе такой Сишный код:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
int
main(int argc, char* argv[])
{
    int x = -1;
    if (argc > 1) {
        x = atoi(argv[1]);
    }
    if (x > 0) {
        goto restore;
    }
    for (x = 0; x < 10; x++) {
restore:
        printf("%d\n", x);
    }
}
Каким он будет на тикле?

Или, вот тебе такой код на Scheme:
Lisp
1
2
(for ((i 0) (< i 10) (set! i (+ i 1)))
  (println i))
— это тоже по-сишному?
0
 Аватар для tmpValue
41 / 75 / 15
Регистрация: 04.10.2017
Сообщений: 283
10.06.2018, 01:38
Я просто оставлю это здесь как наглядное пособие по сабжу.

Добавлено через 2 минуты
Цитата Сообщение от korvin_ Посмотреть сообщение
Или, вот тебе такой код на Scheme
Кстати, тоже толково. Но, насколько я помню ТС тошнит на скобки. Хотя на это похкур.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
10.06.2018, 02:21
Цитата Сообщение от tmpValue Посмотреть сообщение
ТС тошнит на скобки
Видимо, только на круглые, но не фигурные, лол.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
10.06.2018, 12:28
Цитата Сообщение от korvin_ Посмотреть сообщение
Опиши семантику приведённого тобой тиклевского for и семантику Сишного for.
Тиклевский for это команда, которая имеет 4 параметра:
Ruby
1
2
3
for {set x 0} {$x<10} {incr x} {
#тело цикла
}
первый инициализирует переменную-счётчик; второй условие; третий инкримент цикла; четвёртый тело цикла. В си это управляющая конструкция по структуре точно совпадающая с тиклевской. Просто имя for не является командой в си сама по себе:
C
1
2
3
for(int 1 =0; i<10;++1){
//тело цикла
}

Цитата Сообщение от korvin_ Посмотреть сообщение
Каким он будет на тикле?
Ruby
1
2
3
4
5
6
7
8
9
10
11
set x -1    
if { $argc > 0 } {
    set x [lindex $argv 0]
}
if { $x > 0} {
    puts "$x"
} else {
   for {set i $x} {$i<10} {incr i} {
    puts "$i"
}
}
Цитата Сообщение от korvin_ Посмотреть сообщение
это тоже по-сишному?
почти, за исключение 13 скобок, в отличие от 6 на TCL.
0
 Аватар для tmpValue
41 / 75 / 15
Регистрация: 04.10.2017
Сообщений: 283
10.06.2018, 12:57
Цитата Сообщение от korvin_ Посмотреть сообщение
Видимо, только на круглые, но не фигурные, лол.
Там вообще тоска и безнадега.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
13.06.2018, 09:54
Цитата Сообщение от CoderHuligan Посмотреть сообщение
А во-вторых битая ссылка и есть битая ссылка.
Где ж она битая? Нормальная ссылка.

Цитата Сообщение от CoderHuligan Посмотреть сообщение
У меня всё заплачено. Провайдер - мегафон.
Зря заплачено, видимо.
Миниатюры
Какой язык лучше для поддержки пользовательского кода в вашем приложении  
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
13.06.2018, 12:15
Цитата Сообщение от korvin_ Посмотреть сообщение
Где ж она битая? Нормальная ссылка.
Opera пишет что не удаётся получить доступ к сайту. Попробовал IE та же картина. Через мозиллу захожу спокойно. Дело не в мегафоне, а в конкретных браузерах. Мозиллу я использую только для тестирования, а не для работы в сети.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.06.2018, 12:15

Какой язык программирования лучше для игр?
си или си++?

Какой язык лучше для работы с массивом картинок
Пожалуйста подскажите какой язык подойдёт для следующей задачи- создать окно, положить картинку (как стол) и на него положить маленькие...

Какой язык программирования лучше для создания игры???
Какой язык программирования лучше для создания игры, С++ или С#???

Какой язык лучше использовать для написания dll для Excel?
Visual Basic не предлагать :))

Какой язык программирования лучше изучать для создания сайтов?
Всем привет! На данный момент программирую на с++. Стаж программирования 2 месяца. В неком деле встала задача- нужен простенький...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru