В 90-х Microsoft решила не просто использовать JavaScript от Netscape, а сделать свою версию - JScript. Причина была простая: лицензии, контроль и желание не отставать в браузерной гонке с Netscape Navigator. Так JScript стал частью Internet Explorer и быстро разошелся по миллионам компьютеров.
Проблема? Он был «почти как JavaScript», но не совсем.
На практике это означало одно: сайты начинали вести себя по-разному в разных браузерах. Где-то код работал идеально, а где-то - ломался без объяснений. Разработчики буквально писали отдельные куски логики под разные браузеры. Появились знаменитые куски кода «если Internet Explorer, то делаем так…».
Это породило настоящий хаос несовместимости:
— разные реализации одного и того же языка
— разные объекты и API
— баги, которые были «фичами» только в одном браузере
Веб начал трещать по швам 🪖
Но именно этот хаос стал толчком к стандартизации. В итоге появился ECMAScript - единый стандарт, который должен был привести все реализации к общему знаменателю. Со временем браузеры начали сближаться, а различия - уменьшаться.
JScript в итоге ушел в историю вместе с эпохой Internet Explorer, но оставил после себя важный урок: без стандартов интернет превращается в зоопарк несовместимых технологий.
Сегодня мы пишем код, который работает почти везде.
И во многом это благодаря тем самым болезненным экспериментам 90-х 🙂
