Какие функции могут быть добавлены к новому языку программирования , чтобы сделать его более «интуитивным»? Когда дело доходит до веб-сайтов и настольных компьютеров, мы предпочитаем удобство использования, почти интуитивно понятный удобство использования. Становится все более ожидаемым, что ваше приложение должно «просто работать». Для определенного класса приложений идея о том, что она имеет значение RTFM, представляет собой знак против эффективности приложения. Люди склонны к ожидать, что приложение будет работать так, как они «думают» должно работать. Можно утверждать, что это достойный стандарт , к которому должны стремиться дизайнеры.Должны ли языки программирования быть интуитивными?
Может ли такая же строгость юзабилити применяться к языкам программирования и среды разработчиков? Я понимаю, что есть такие инструменты, как IntelliSense, которые предоставляют подсказки, а хорошая IDE предоставляет вам вспомогательную помощь . Но как насчет основного языка? Что может быть добавлено (или удалено) , что делает определенные программирования или алгоритмы более очевидными для программирования? ? Как сделать сделать регулярные выражения или рекурсию более интуитивно понятными? Или это просто глупость?
Возьмите более конкретный пример: жидкие макеты в HTML, CSS, или Flex и MXML. В HTML и CSS модель окна - это что-то , но интуитивно понятное, учитывая различные реализации Internet Explorer и других браузеров. И если кто-то не читает документацию или не изучает концепцию коробки , было бы сложно «просто получить ее» при разработке макета на свой первый удар в CSS. Я бы сказал, что это , почему таблицы процветали в первые дни. Модель коробки была , неявной в концепции ячейки таблицы. С помощью таких инструментов, как Dreamweaver, можно было разглядеть вокруг процентные ширины и макет внутри ограничений . Затем CSS пришел в зрелость, и появился целый ряд допустимых причин: причин, почему таблицы не для макета. Но до добиться того же эффекта разработчики должны были действительно изучить реализаций CSS и модель коробки, а также ввести новый слой абстракции в их мышление.
В другом примере, я считаю, при программировании много вещей в ActionScript и MXML, вся концепция жидкости макетов и процент на основе ширины элементов не очень очевидных и не всегда следовать интуиции. Я понимаю основную проблему в том, что Adobe Flash player и макет нужен , чтобы понимать вещи в абсолютных пиксельных условиях. Когда он приходит к потенциальной ширине компонента, я понимаю, почему проценты не сразу очевидны для реализации на уровне ядра . Теоретически говоря, Flash Игрок должен знать (или рассчитать) точную ширину компонента , чтобы он мог обеспечить правильную геометрию видеокарты при рисовании на экране. Но когда вы вводите понятие процента, вы вводите теоретическую возможность бесконечной ширины . И найти «бесконечность - 1» пикселей - это не то, что компьютер может непосредственно обойтись без некоторого слоя абстракции и вычисления . На видовом экране должны быть указаны ссылки.Программа должна знать свои границы. Таким образом, абсолютная ширина - это норма, , хотя люди могут предпочесть дизайн с точки зрения процентов.
Когда речь заходит о языках программирования, могут быть выражения и функции, которые помогают интуиции, когда думают о задаче программирования. Или нам лучше «думать» как компьютер »и просто RTFM'ing руководство, когда нам нужно , чтобы понять, как реализовать какую-либо функцию или макет в коде ?
Если бы вы могли изменить синтаксис или семантику своего выбранного языка программирования , что бы вы добавили, измените, или удалите, чтобы улучшить его «интуитивность»?
Добавление, причина задать этот вопрос вдохновлен увидеть пример того, что «новички» смогли достичь в Smalltalk в Alan Kay's lecture: Doing with Images Makes Symbols.
На стороне примечание, это, вероятно, субъективный разговор и должно быть отмечено «wiki сообщества» – Randolpho