Реализация - это компилятор или интерпретатор для языка программирования; это способ перевести инструкции языка в поведение. Наиболее распространенным языком с несколькими реализациями сегодня является, вероятно, JavaScript.
Когда люди говорят о реализации, часто приходится сталкиваться с проблемами, возникающими из-за наличия нескольких. Есть преимущества - ваш любимый будет делать то, что вам нравится, но проблемы могут быть неприятными. Поскольку Chrome и Firefox, а также IE и Safari ведут себя немного по-разному с одним и тем же кодом JavaScript, веб-разработчикам приходится тратить много времени на тестирование своего кода в различных браузерах, определение того, какой из них вы используете, и адаптацию кода к немного разные наборы библиотек, ошибок и т. д.
Некоторые языки определяются стандартной реализацией (ruby, perl, python), а не документом, поэтому вы не слышали о множественных реализациях этих программ. Даже на этих языках у вас есть проблема, связанная с различными версиями, имеющими разное поведение.
Реализации - не новое явление: например, в старшие школьные годы Билл Гейтс начал писать одну из многих реализаций BASIC, например.
Что усугубляет проблемы со Scheme по сравнению с другими языками, так это то, что спецификация намеренно мала - старается указывать очень мало. Преимущество заключается в том, что люди, разрабатывающие языки программирования, могут относительно быстро создать новую экспериментальную реализацию Scheme с новыми качественными свойствами. Сделав это, они могут утверждать, что даже написанный ими маленький язык «полезен», потому что другие показали, как расширить маленький язык до полезного. Однако в этом «простом вопросе программирования» предстоит проделать большую работу, и каждая реализация должна самостоятельно принимать очень много решений, поэтому различия между реализациями велики и велики. Таким образом, проблем, связанных с множественными реализациями, много и много в Схеме по сравнению с более полно определенными языками.
Сообщество Scheme признает эту проблему вместе с небольшой спецификацией и активно работает над тем, чтобы сделать переход от экспериментального языка к полезному языку более понятным с помощью новых версий стандарта.
http://scheme -reports.org /
На данный момент (2010) я лично рекомендую, чтобы новые пользователи начали работать в Схеме PLT, и я рад, что вы начали там. Не позволяйте проблеме многих реализаций напугать вас: работа на языке, который разработчики языка программирования разработали для себя, приносит большую пользу. PLT имеет большое сообщество и хороший набор библиотек, которые помогут вам преодолеть трудности, описанные выше.
Лучший,
Grem