Блоґ одного кібера

Історія хвороби контуженого інформаційним вибухом

Багатомовність і суржик

with 2 comments

Щось давненько я про політику не писав, треба виправлятись, правда народ? 😉

Знати багато мов добре, кажуть ще що скільки мов ти знаєш – стільки разів ти програміст. Але при їх використанні має відбуватись якесь перемикання контексту. А якщо мови мають подібні парадигми – часом це перемикання відбувається не повністю. Тут на сторожі мали б стояти граммар-наці – аналізатори синтаксису, але буває так що вони занадто поблажливі.

Ось наприклад якось я написав подібний код:

function hello(msg='Hello world!') {
    alert(msg);
}
hello(1); hello();

Ви нічого підозрілого не помітили? Я теж. Зауважу, що це JavaScript. Тестую в FireFox. Він каже “1”, “Hello world!”. Я щасливий, закриваю браузер, закриваю редактор і йду спати.

Потім проходить певний час, і мені пишуть що нічого не працює. Я відкриваю FireFox, все працює… Шляхом деяких переговорів встановлено що не працює воно в Chrome.

Відкриваю в Chrome, а там:

Uncaught SyntaxError: Unexpected token =

Виявляється, що те що я написав вище – таки не JavaScript, а Python-суржик. 🙂 Правильно писати параметри за замовчуванням в JavaScript наступним чином:

function hello(msg) {
    if(typeof(msg) === 'undefined') msg = 'Hello world!';
    alert(msg);
}

Тепер думаю, невже SpiderMonkey реалізує якусь надмножину JavaScript?

Ну й простіше звісно було б знати одну мову добре, а не всі по трохи, тільки от біда, ніяк не вгадаєш яку саме треба знати добре. 🙂

P.S. Firefox (Gecko, а не SpiderMonkey) реалізує кусочок чорновика стандарту ECMAScript 6, починаючи з версії 15.0. Жоден інший браузер ще не підтягнувся.

Advertisements

Written by bunyk

Березень 15, 2013 at 15:03

Оприлюднено в Кодерство, Павутина

Tagged with

Відповідей: 2

Subscribe to comments with RSS.

  1. 🙂 Жорстко про політику

    volodimirg

    Березень 15, 2013 at 15:08

    • Щоб бути популярним блоґером треба писати на популярні в народу теми. 🙂

      bunyk

      Березень 15, 2013 at 16:46


Залишити відповідь

Заповніть поля нижче або авторизуйтесь клікнувши по іконці

Лого WordPress.com

Ви коментуєте, використовуючи свій обліковий запис WordPress.com. Log Out / Змінити )

Twitter picture

Ви коментуєте, використовуючи свій обліковий запис Twitter. Log Out / Змінити )

Facebook photo

Ви коментуєте, використовуючи свій обліковий запис Facebook. Log Out / Змінити )

Google+ photo

Ви коментуєте, використовуючи свій обліковий запис Google+. Log Out / Змінити )

З’єднання з %s

%d блогерам подобається це: