Создание мобильного языка программирования - PullRequest
14 голосов
/ 13 января 2009

Я думаю о создании небольшого языка, который очень легко напечатать на мобильном телефоне (J2ME), Какой язык лучше использовать для запуска в мобильном телефоне (всегда j2me)? Соответствующее значение, маленький / простой синтаксис, легко набирать на мобильном телефоне.

Это лисп? Что-то вроде Basic / Python / Ruby (я думаю, что нет ...)? Или другой новый (можете ли вы предложить новый синтаксис?)?

Ответы [ 12 ]

12 голосов
/ 16 мая 2009

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

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

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

6 голосов
/ 13 января 2009

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

   for (;;) {
   }
6 голосов
/ 13 января 2009

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

4 голосов
/ 15 мая 2009

Возможно, вы захотите заглянуть в Hecl: http://www.hecl.org/

3 голосов
/ 08 апреля 2009

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

3 голосов
/ 08 апреля 2009

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

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

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

3 голосов
/ 14 января 2009

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

2 голосов
/ 03 июля 2009

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

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

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

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

1 голос
/ 08 апреля 2009

Brainfuck имеет всего 8 символов - очень легко набрать на мобильном телефоне.

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

1 голос
/ 13 января 2009

Лисп было бы сложно набрать из-за всех (), хотя ответ joel.neely демонстрирует один из способов решения этой проблемы.

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

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

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

...