Создание мобильного языка программирования

Если вы используете IPython, вам нужно ввести «foo ??»

In [19]: foo??
Signature: foo(arg1, arg2)
Source:
def foo(arg1,arg2):
    #do something with args
    a = arg1 + arg2
    return a

File:      ~/Desktop/<ipython-input-18-3174e3126506>
Type:      function
14
задан Robinicks 11 September 2009 в 17:08
поделиться

12 ответов

При включении поддержки редактора (вложенные структуры, расположенный с отступом дисплей, балансировка...) затем, некоторая форма LISP была бы относительно проста, чтобы реализовать и использовать. Я видел снимки экрана (но не может найти их теперь) основанного на LISP языка для живого программирования интерактивной производительности. Это использовало расположенный с отступом, теневые прямоугольные области на экране (вместо круглых скобок) для показа вложения структуры.

6
ответ дан 1 December 2019 в 06:59
поделиться

Я думал бы, что дизайн редактора будет самым большим соображением, не языком. Например, поддержка некоторого "intellisense" - как автозавершение была бы жизненно важна для сохранения thumbstrokes. Некоторая чувствительность языка в редакторе помогла бы много также. Например, когда пользовательские типы C "для" автоматического заполнения должны показать вариант для того, чтобы заполнить синтаксис цикла:

   for (;;) {
   }
6
ответ дан 1 December 2019 в 06:59
поделиться

Я не уверен, что легко ввести по мобильному телефону, но язык, который я знаю с большей частью вычислительной мощности на символ, APL. Как источник синтаксических или дизайнерских идей, Вы могли бы предпочесть его современного преемника, язык программирования Дж .

3
ответ дан 1 December 2019 в 06:59
поделиться

По мобильному телефону необходимо также рассмотреть языки как Царапина (smalltalk), потому что интерфейс неввода был бы прост в использовании.

Также по смартфонам с drag&drop возможностью, это было бы что-то хорошее.

С другой стороны, IDE был бы намного более тяжелым на ЦП и других ресурсах.

3
ответ дан 1 December 2019 в 06:59
поделиться

Lisp было бы трудно ввести из-за весь () s, хотя ответ joel.neely демонстрирует один способ работать вокруг той проблемы.

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

Затем существует проблема размера экрана. Чем более подробный язык, тем меньшим количеством кода, который Вы сможете соответствовать на экран сразу. К каким устройствам Вы стремитесь? Смартфоны с большими экранами (ограниченная аудитория) или кнопочные телефоны на 240x240 пикселей?

Принимают во внимание, что interpreter/VM для Вашего языка должен будет вписаться в небольшой объем памяти, и производительность не может быть очень хорошей.

1
ответ дан 1 December 2019 в 06:59
поделиться

Forth обычно считают законным претендентом на эти виды требований. И это почти столь кратко, как может быть предположен. Расширяемый, маленький и покорный. Встроенный маленький экранный редактор, также.

3
ответ дан 1 December 2019 в 06:59
поделиться

Brainfuck имеет только 8 символов - очень легкий ввести по мобильному телефону.

Конечно, понимая и делая материал с ним... не настолько легкий. Но это удовлетворяет требование....

1
ответ дан 1 December 2019 в 06:59
поделиться

Когда я иду о видении во сне языка, я думаю о том, какие функции важны для меня в то время, когда я мечтаю. Только, после того как Вы выясняете, какие функции важны для Вас, может Вы придумывать лучший ответ на какой синтаксис. Например, если Вы хотите названные параметры, это значительно влияет на Ваше проектное решение о том, как вызовы метода смотрят (а-ля Objective C или Python).

Разработка языка может быть действительно забавной задачей. Я поощряю Вас отступать и спрашивать себя, "Мне действительно нравится, как это сделано в X?" (заменяющий некоторым именем языка). Если это - что-то, что Вы всегда любили, кража это . В противном случае посмотрите в другом месте. Создайте свой окончательный мэшап того, что Вы любите и не учитываете то, что Вы ненавидите!

1
ответ дан 1 December 2019 в 06:59
поделиться

Основной очень легко.

я избегал бы шепелявости. Если Вы не хотите дать Вашим мобильным пользователям головную боль сверх головной боли, они имеют от радиоволн.

-2
ответ дан 1 December 2019 в 06:59
поделиться

Я являюсь автором именно такого языка: Hecl, на http://www.hecl.org . Чтобы упростить приложения, я также создал сайт, на котором вы можете создавать простые приложения через веб-интерфейс: http://www.heclbuilder.com . Я также написал статью, в которой обсуждалась реализация языка:

http://www.welton.it/articles/hecl_implementation

Другие языки, на которые стоит обратить внимание, включают Lua и Javascript, оба из которых имеют мобильные реализации. .

12
ответ дан 1 December 2019 в 06:59
поделиться

Вы можете посмотреть Hecl: http://www.hecl.org/

4
ответ дан 1 December 2019 в 06:59
поделиться

Если вы хотите суперкомпактность, попробуйте nano-False http://www.aldweb.com/pages/winikoff/#false

Это не очень удобно, хотя и более того, чем намеренно болезненные Brainfuck и Whitepace. Думайте об этом как о Forth с простым синтаксисом, сделанным более кратким; -)

Я нашел Quartus Forth достаточно простым в использовании, при условии, что вы можете мыслить стеками, и с большей поддержкой Intellisense для API это было бы были гораздо более продуктивными. Для создания прототипов небольших алгоритмов на Palm я предпочел Plua или Lispme . Среда LispMe в любом случае заслуживает изучения, потому что она обеспечивает хорошее использование списков для поиска ключевых слов и упрощает программирование графического интерфейса

. Важное решение, которое вы должны принять, состоит в том, ожидаете ли вы, что пользователи будут просто использовать цифровую клавиатуру телефона или смогут вводить текст. разумные приближения к полноценной клавиатуре. Одним из огромных преимуществ Palm была высококачественная полноразмерная складная клавиатура, которой я, к сожалению, скучаю (и надеюсь, что кто-то сделает аксессуар для iPhone для подключения). Если у вас нет полноценной клавиатуры, используйте селекторы для глаголов, чтобы они могли использовать действия выбор вместо того, чтобы вводить слова. Рассмотрим количество кода, набранного в традиционном коде для классов и методов фреймворка, по сравнению с кодом пользователя.

Одним из огромных преимуществ Palm была высококачественная полноразмерная складная клавиатура, которой я, к сожалению, скучаю (и надеюсь, что кто-то сделает аксессуар для iPhone для подключения). Если у вас нет полноценной клавиатуры, используйте селекторы для глаголов, чтобы они могли использовать действия выбор вместо того, чтобы вводить слова. Рассмотрим количество кода, набранного в традиционном коде для классов и методов фреймворка, по сравнению с кодом пользователя.

Одним из огромных преимуществ Palm была высококачественная полноразмерная складная клавиатура, которой я, к сожалению, скучаю (и надеюсь, что кто-то сделает аксессуар для iPhone для подключения). Если у вас нет полноценной клавиатуры, используйте селекторы для глаголов, чтобы они могли использовать действия выбор вместо того, чтобы вводить слова. Рассмотрим количество кода, набранного в традиционном коде для классов и методов фреймворка, по сравнению с кодом пользователя.

2
ответ дан 1 December 2019 в 06:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: