Пользователь
0,0
рейтинг
16 октября 2010 в 14:13

Разработка → История создания Javascript перевод

Brendan Eich (создатель языка JavaScript) между делом пишет о том, как язык создавался, и почему он такой, какой есть.

JS был обязан «выглядеть как Java», только поменьше, быть эдаким младшим братом-тупицей для Java. Кроме того, он должен был быть написан за 10 дней, а иначе мы бы имели что-то похуже JS.

что-то вроде PHP, только еще хуже. Его босс Netcsape быстро «зарубил» (в июле 1995, если мне не изменяет память; я сдлелал JS в начале/середине мая), т.к. это был уже третий язык после Java и JS. Было и так трудно обосновать то, что у нас 2 новых языка программирования для web.


В то время мы должны были двигаться очень быстро, т.к. знали, что Microsoft идет за нами.


Считайте, что JavaScript (пожалуйста, только не «JScript») спас вас от VBScript.


10 дней на то, чтобы сделать лексер, парсер, компилятор в байткод (bytecode emitter), интерпретатор, встроенные классы и декомпилятор. Помощь была только с файлом jsdate.c — от Ken Smith из Netscape (который, по нашему излишне оптимистичному соглашению, склонировал java.util.Date — Y2K баги и т.д. Гослинг...).

Простите, времени было мало для того, чтобы сделать правильную оптимизацию хвостовой рекурсии. 10 дней почти без сна, чтобы сделать JS с чистого листа, заставить его «выглядеть как Java» (я сделал, чтобы он выглядел как C), и тайком протащить туда его спасительные фишки: first class functions (замыкания сделал позже, но они были частью плана сразу) и прототипы (примерно как в языке Self).

I'll do better in the next life.
Перевод: Brendan Eich
Коробов Михаил @kmike
карма
333,7
рейтинг 0,0
Пользователь
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (39)

  • +3
    Занятно, но зачем лакуны?
    • 0
      Не уверен, что правильно понял, что такое «лакуны». Вы про перевод? Что конкретно не так?
      • 0
        В лингвистическом смысле. Там где у вас многоточия между абзацами, что-то было, что вы посчитали не интересным переводить?
        • +10
          Дело в том, что там не цельная статья, которую написал Brendan Eich, а несколько разрозненных ответов в обсуждении. Переводить все комменты в обсуждении мне показалось лишним, выдавать разрозненные ответы Brendan Eich за статью — неправильным. Поэтому остановился на этом компромиссном варианте.
          • +4
            Простите, стормозил.
  • НЛО прилетело и опубликовало эту надпись здесь
    • +12
      Джеймс Гослинг, автор Java)

      А язык и правда хороший — лучше уж иметь в браузерах веселую помесь Scheme, Self и C, чем VBscript какой-нибудь.
      • НЛО прилетело и опубликовало эту надпись здесь
        • +1
          Думаю, это не совпадение, а забавная игра слов. Код копипастили по общей договоренности, и претензии не к тому, кто копипастил, а к тому, кто написал оригинальную версию.
          • –3
            Язык вроде не он придумал. Ecmascript, все-таки.
            Брэндану принадлежит первая реализация Javascript.
            • +1
              Стандартизовали в ECMA уже постфактум с подачи Netscape. (про это есть и в вики)
    • 0
      Отличный от чего?
      • 0
        хороший. отличный от плохого :)
  • +28
    «что-то вроде PHP, только еще хуже»… бодро, бодро сказано…
    • 0
      Скоро, скоро, благодаря серверному JS у серверных приложений тупо ничего не останется кроме последнего выбора — сдаться. Ну просто так сложилось, что ничто не в состоянии составить конкуренция JS. Питон и Руби могут попытаться, но вряд ли )
      • НЛО прилетело и опубликовало эту надпись здесь
        • +4
          будущее за лиспом уже лет 50 как)
  • 0
    Интересно, а как он сам видел отладку программ на javascript? интересно было бы узнать его мнение по этому вопросу ;)
  • 0
    кстати, Brendan Eich — 1 из 5 директоров Mozilla Foundation и действующий CTO Mozilla Corporation.
  • 0
    что будет вместо js через 10-20 лет?
    • +2
      Через 10-20 лет мы наконец-то похороним седьмой и восьмой Эксплореры. Ура!!! и сможем писать более вменяемый код чем сейчас.
      Затем, Жаваскрипт крепко займет свою нишу на сервер сайд и десктоп. На десктоп в том смысле, что писать десктоп приложения будет намного дешевле и легче, чем на чем либо ином.
      Да, ну и жаваскрипт станет основной платформой для разработки под мобильники.

      • +1
        Хм, а может наоборот — мы наконец-то освободимся в web от одного единственного языка, и вместо js у нас будет некая web-vm, в которой можно будет писать хоть на пыхе, хоть не перле, или на haskell < — никакой обфускации не потребуется, шпионы не поймут монадические заклинания ;-)
        • 0
          а вы романтик, Михайл.
          Но давайте смотреть реально на вещи. Эксплореры мы будем поддерживать еще очень долго. Если для обратной совместимости придется писать на Жаваскрипте. Никто не будет увеличивать стоимость разработки на пустом месте 2 раза и писать под ВМ на другом языке.
          Тем более что Жаваскрипт вполне справляется с поставленными задачами.
          • 0
            Вы оцениваете сегодняшними мерками.
            Нука вспомните что было с веб-разработкой 10 лет назад? Какой был джаваскрипт, и какой браузер был новинкой? (Да-да ie6, он родимый)
            А где была веб-разработка 20 лет назад?
            А теперь представив масштаб произошедших изменений, попробуйте представить будущее веба на ближайшие 10-20 лет
            • 0
              Минимум до 2014 года доля 6 еще будет больше 1%, доля 9ого из семейства эксплорера будет для минимальна поскольку корпорейшнс не будут спешить сносить Windows XP и переходить на 7.
              И учтите, что 9ка более чем не идеальна.
              Когда майкрософт выпустит новую версию? еще через 3 года?
              Многое может изменить мобильная индустрия, но кто будет запускать виртуальные машины на мобилках??
              • +1
                Я так понимаю это у вас не аргументы, а просто мысли вслух?
                9ка еще не вышла вы ее уже неидеальной обозвали. И что за странный прогноз до 2014 года? Почему на 7 с ХР не будут переходить если уже переходят? Да, я слышал от некоторых что 7-ка де «сырая», но это, извините, школоте присуще, «наученной на горьком опыте Висты». Я сам 7-ку пользовал еще RC, даже тогда она уже была готова к пользованию на обычных офисных компах.
                Почему никто не будет запускать ВМ на мобилках? Вы опять же оцениваете текущими мерками. 4 года назад не было Андроида, вы только представьте — одной из популярнейших ныне мобильных ОС. iPhone тогда не вызывал такого ажиотажа, нетбуки были новинкой. Да, черт возбми, и Chrome еще не было.
                За 4 года может многое измениться, тем более за 10.
                Я не сомневаюсь, что через 10 лет смартфоны будут иметь мощность моего нынешнего компьютера
                • 0
                  2014 — год до которого официально поддерживается винд XP
                  корп не будут переходить до тех пор в большинстве своем, поскольку это лишние траты.
                  • 0
                    Очень интересно было почитать ваше обсуждение того что будет через n-лет, через 4 года. Не знаю как вы там в своем времени, а у нас android, и запускают на мобильнике вм. А про нетбуки вроде и забывать начали даже.
      • 0
        Может и не станет конечно, но таки для разработки десктоп и мобильных аппликух он весьма удобен, но только пока эти аппликухи маленькие, потом начинаются проблемы, что хочется часть на плюсах переписать
        • 0
          зато работает и на Айфоне и на Андроиде:)
        • 0
          маленькие аппликухи — это какие? какие проблемы начинаются?
    • 0
      Вряд ли js куда то денется, ЯП весьма живучи. Но есть надежда, что будет еще что то кроме JS, так как разнообразие есть хорошо. Может у гугловского нэйтив клаент что то выйдут с изменением нынешней ситуации, может у кого то другого, но наверняка выйдет.
      • 0
        Все решает обширность стандартной библиотеки, прилагающаяся к языку.
      • 0
        если они даже сейчас это сделаю… то на этому будет писать ток лет через 10. ибо на javascript 1.6 то перейти не можем, а тут на нэйтив )
        скорее просто новые фишки добавлять будут, с обратной совместимостью
  • +3
    Там ещё одна его интресная реплика появилась:
    After the beginning came a painful death dance, largo non troppo. Netscape used its IPO mad-money to binge on acquisitions and over-invest in for-diminishing-profits servers,«enterprise groupware» (which killed the Netscape browser as much as MSFT did), and Java, while under-investing in HTML and JS (never mind CSS).


    После начала [coздания js] пришёл болезненный танец смерти, largo non troppo. Netscape прокутил свои шальные деньги с IPO на приобретения и чрезмерное инвестирование в доходоснижающие серверы,«enterprise groupware» (которые убили браузер Netscape настолько же, как и MSFT), и в Java, при этом недоинвестируя HTML и JS (даже не говоря о CSS).

    enterprise groupware — надо полагать Netscape Directory Server

    В переводе «in for-diminishing-profits servers» не уверен.
    • 0
      > В переводе «in for-diminishing-profits servers» не уверен.
      Скорее всего имеется в виду уменьшение ROI по мере увеличения вложений — иначе говоря, логарифмический рост дохода как функции от инвестиций.
      • 0
        Спасибо. Наверно пора бы мне экономику подучить :)

        То есть по смыслу получается что-то вроде «низкодоходные» / «неокупаемые»? Или как по-русски это можно выразить 1-3 словами?
        • +1
          Если бы я знал, как это выразить в паре слов, я бы вот ту телегу про логарифмы не толкал =)
  • +4
    > Считайте, что Javascript (пожалуйста, только не «Jscript») спас вас от VBscript.

    Господи, как же это прекрасно!

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.