Среда, 18 Декабря 2024, 08:56

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Программы для создания программ
НохчиДата: Пятница, 03 Мая 2013, 12:28 | Сообщение # 1
заслуженный участник
Сейчас нет на сайте
Всем доброго времени суток.
Интересует принцип работы различных конструкторов, в которых методом drag&drop собирается программа, а затем выплевается исполняемый файл, зачастую под разные платформы. Как вообще такое реализуется? Программа описывается на каком-либо языке, а затем компилируется компилятором, который тащит с собой конструктор?
Спасибо smile


Многие вопросы по Windows отпадут, если посмотреть тут
allxumukДата: Пятница, 03 Мая 2013, 12:36 | Сообщение # 2
старожил
Сейчас нет на сайте
Цитата (Нохчи)
Программа описывается на каком-либо языке, а затем компилируется компилятором

Как вариант, программа описывается скриптами, а затем эти скрипты "приклеиваются" к интерпритатору, как в Love2d, например (только в нём нет конструктора да и вообще родного ide).


Любой дурак может написать программу, которую поймёт компилятор.
Хорошие программисты пишут программы, которые смогут понять другие программисты.
daunДата: Пятница, 03 Мая 2013, 13:13 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Почему то многим кажется, что конструктор сделать очень просто, увы и ах.

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

2. Компиляция сразу объектов на своем компеле, бр, вариант для мазохистов.

3. Интерпретатор - плеер.
Тут как mp3 - плеер, есть на всех платформах. Напоминает редактор уровней, но разнесенный, чем больше вариантность, тем лучше (в идеале содержит скриптовый (или визуальный) движок). На выходе тормоза, болезнь всех плееров. На входе файлы с данными (и логикой).
ArchidoДата: Пятница, 03 Мая 2013, 14:00 | Сообщение # 4
Сэнсэй
Сейчас нет на сайте
Да, интерпретатор - наиболее вероятный вариант как мне кажется, но скорее только частично.
Скажем, ноды в визуальном редакторе кода на самом деле используют нативный код, который написан и определен заранее. Скрипты используются чтобы связать эти ноды воедино (передавать входные\выходные параметры между ними и вызывать сам код), а все вычисления которые они выполняют - делает натив. Если есть внутренний скрипт язык (а он наверняка есть), то опять таки - все готовые ф-ции которые там есть - это натив, а вот уже лично написанный код исполняется чисто интерпретатором. При этом таки, никто не мешает повесить все эти скрипты на виртуальную машину вроде LLVM и получить в добавок JIT компиляцию, что прилично покроет расходы на обычную интерпретацию.

Преимущества очевидны - есть некая "платформа", которая портирована много куда и которая умеет исполнять внешние сценарии (скрипты), не привязанные к конкректной аппаратной или программной части. К платформе заранее прилинкован специфичный "гейм" код, API которого выведено наружу и которое используется скриптами, а остальное интерпретируется (или JIT компилируется). В итоге имеем относительно несложную реализацию и неплохую скорость исполнения всего этого дела.


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)

Сообщение отредактировал Archido - Пятница, 03 Мая 2013, 14:02
allxumukДата: Пятница, 03 Мая 2013, 16:03 | Сообщение # 5
старожил
Сейчас нет на сайте
Нохчи, можешь побаловаться с Констракт 2, он же на HTML5, так, что можно посмотреть "исходные материалы" и "конечный результат".

Любой дурак может написать программу, которую поймёт компилятор.
Хорошие программисты пишут программы, которые смогут понять другие программисты.
UndeadДата: Пятница, 03 Мая 2013, 16:19 | Сообщение # 6
NeoAxis User
Сейчас нет на сайте
Ну на .net такое сделать просто.
Можно генерить код и компилировать, обычные .Net программы.
Дизайнер форм и систему с созданием логики drag&drop написать тоже не сложно.
Ну в принципе такой вариант для люього языка/платформы сойдёт.


Вcем зла.

Сообщение отредактировал Undead - Пятница, 03 Мая 2013, 17:15
НохчиДата: Пятница, 03 Мая 2013, 17:41 | Сообщение # 7
заслуженный участник
Сейчас нет на сайте
Undead, ты имеешь ввиду первый вариант daun`a, тоскать с собой компилятор и линкер?
daun, Archido, allxumuk, спасибо. Над этой инфой надо как следует подумать.


Многие вопросы по Windows отпадут, если посмотреть тут
UndeadДата: Пятница, 03 Мая 2013, 17:57 | Сообщение # 8
NeoAxis User
Сейчас нет на сайте
Нохчи, Ну в .Net ничего с собой таскать не нужно.

Вcем зла.
VinchensooДата: Пятница, 03 Мая 2013, 18:47 | Сообщение # 9
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Цитата (Нохчи)
зачастую под разные платформы

.NET и это не совместимы.


UndeadДата: Пятница, 03 Мая 2013, 19:34 | Сообщение # 10
NeoAxis User
Сейчас нет на сайте
Vinchensoo, Mono?

Вcем зла.
VinchensooДата: Пятница, 03 Мая 2013, 19:40 | Сообщение # 11
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Цитата (Undead)
Vinchensoo, Mono?

Моно- не дотнет, а сторонняя реализация. Многие считают ее еще тем костылем, между прочим. И это нужно понимать.


Alisher987Дата: Пятница, 03 Мая 2013, 19:41 | Сообщение # 12
участник
Сейчас нет на сайте
так я прочел но ничего не понял biggrin

UndeadДата: Пятница, 03 Мая 2013, 21:32 | Сообщение # 13
NeoAxis User
Сейчас нет на сайте
Цитата (Vinchensoo)
Моно- не дотнет, а сторонняя реализация.

Ну да. но официально признана реализацией .net,а на всяких там никсах.
По сути ничем не уступает оригиналу, только скорость немного ниже.


Вcем зла.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг