Основанный на прототипе язык [закрывается]

6
задан Tinku 23 December 2009 в 10:28
поделиться

4 ответа

Ответ на оба ваших вопросов: Я . Self - это оригинальный объектно-ориентированный язык, основанный на прототипах, а также, вероятно, лучший (конечно, для совершенно ненаучного и субъективного определения «лучшего»). (На самом деле, ИМХО, это (вместе с новояз ) один из лучших объектно-ориентированных языков, точка.)

В любом случае, в Self приятно то, что он также содержит много отличной документации , включая, но не ограничиваясь этим, знаменитый самоучитель Создание приложений на основе прототипов с использованием SELF 4.0

На старом веб-сайте Sun Research также есть большое количество ресурсов:

Эти два (вместе с упомянутый выше учебник) в значительной степени объясняют, о чем вы спрашиваете. (Фактически, второй в значительной степени содержит ваш вопрос «Как я могу управлять кодом без классов» слово в слово в заголовке):

Затем есть Self; Фильм , вводный видеоролик о языке программирования Self, GUI Self, системе Self и Self VM с участием ведущих дизайнеров и разработчиков Self. К сожалению, он вышел в 1995 году на VHS, и когда видео было наконец оцифровано, исходные ленты уже были деградированы. Вы можете найти несколько версий видео на этом сайте с видео Smalltalk . Лично я считаю, что Large QuickTime легче всего просматривать.

Вот еще пара интересных ссылок на себя:

Дэйв Ангар, главный разработчик Self, выступил с докладом в Стэнфорде в сентябре под названием «Я» и «Я»: почему и зачем . Потоковое видео этого выступления доступно .

Небольшая проблема с Self заключается в том, что Sun в 1995 году отказалась от него в пользу малоизвестного небольшого языка сценариев для создания мультипликационных персонажей в электронных телегидах на Телевизионные приставки. (Вы, возможно, слышали об этом, это называется Java.) Таким образом, последний стабильный выпуск 4.3 работает только на OSX на PowerPC (, возможно, x86, тоже) и Solaris на процессоре Sparc. Пару месяцев назад, однако, проект Self был снова подхвачен некоторыми из его бывших участников, а также некоторыми новыми поклонниками языка, и теперь он был перенесен на Linux и OSX на x86 с пригодной для использования версией 4.4 Alpha 2. выпуск доступен, а окончательный выпуск ожидается в январе.

Вот пара других интересных языков, основанных на прототипах:

  • NewtonScript (вдохновленный Self) был задуман как язык разработки приложений для Apple Newton PDA; он также является прямым источником вдохновения для JavaScript
  • Slate - «чистая объектно-ориентированная среда в стиле Smalltalk»
  • Io - это язык программирования на основе прототипов, вдохновленный Smalltalk (все значения являются объектами, все сообщения динамическими), Self (на основе прототипов), NewtonScript (дифференциальное наследование), Act1 (субъекты и фьючерсы для параллелизма) , Lisp (код представляет собой проверяемое / изменяемое дерево во время выполнения) и Lua (маленький, встраиваемый)
  • Ioke - это язык программирования на основе прототипов, вдохновленный Io, Smalltalk, Lisp и Ruby

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

NewtonScript (дифференциальное наследование), Act1 (субъекты и фьючерсы для параллелизма), Lisp (код представляет собой дерево, проверяемое / изменяемое во время выполнения) и Lua (небольшое, встраиваемое)
  • Ioke - это язык программирования на основе прототипов, вдохновленный Авторы: Io, Smalltalk, Lisp и Ruby
  • Что касается вашего вопроса о том, как структурировать программы, я должен признать, что считаю, что классы на самом деле затемняют объектно-ориентированный дизайн. Я имею в виду, что существует причина , почему это называется объектно-ориентированным программированием, а не классо-ориентированным программированием.

    NewtonScript (дифференциальное наследование), Act1 (субъекты и фьючерсы для параллелизма), Lisp (код представляет собой дерево, проверяемое / изменяемое во время выполнения) и Lua (небольшое, встраиваемое)
  • Ioke - это язык программирования на основе прототипов, вдохновленный Авторы: Io, Smalltalk, Lisp и Ruby
  • Что касается вашего вопроса о том, как структурировать программы, я должен признать, что считаю, что классы на самом деле затемняют объектно-ориентированный дизайн. Я имею в виду, что существует причина , почему это называется объектно-ориентированным программированием, а не классо-ориентированным программированием.

    Lisp и Ruby

    Что касается вашего вопроса о том, как структурировать программы, я должен признать, что я считаю, что классы на самом деле затемняют объектно-ориентированный дизайн. Я имею в виду, что существует причина , почему это называется объектно-ориентированным программированием, а не классо-ориентированным программированием.

    Lisp и Ruby

    Что касается вашего вопроса о том, как структурировать программы, я должен признать, что я считаю, что классы на самом деле затемняют объектно-ориентированный дизайн. Я имею в виду, что существует причина , почему это называется объектно-ориентированным программированием, а не классо-ориентированным программированием.

    22
    ответ дан 8 December 2019 в 03:53
    поделиться

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

    2
    ответ дан 8 December 2019 в 03:53
    поделиться

    В целом, javascript является наиболее распространенным (и, возможно, единственным?) Языком на основе прототипов, который используется сегодня, но вы можете использовать шаблон прототипа на многих разных языках, таких как Java и Python - для примеры см. на странице википедии .

    Я бы посоветовал вам искать учебные пособия и руководства по шаблону прототипа, а не искать конкретный язык для работы, тем более, что вы, возможно, используете наиболее подходящий уже. Обратите внимание, что javascript может быть запущен на платформе Java через Rhino .

    Лучшее всестороннее введение в шаблоны прототипов, защищающее их использование, - это одна из статей в блоге Стива Йегге , «Универсальный шаблон дизайна».

    Стив Йегге также указывает нам на статью Мартина Фаулера по этой теме,

    0
    ответ дан 8 December 2019 в 03:53
    поделиться

    Лучшие рекомендации, которые я прочитал, чтобы воспользоваться преимуществами прототипной природы JavaScript, содержатся в книге JavaScript: полезные части , и вы также можете применить эти рекомендации к другим языкам. Я изменил способ написания кода на Python после прочтения этой книги.

    Если вы хотите изучить язык, похожий на JavaScript, сначала попробуйте ActionScript. Оба основаны на одном стандарте. Это будет легко и полезно.

    3
    ответ дан 8 December 2019 в 03:53
    поделиться
    Другие вопросы по тегам:

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