Таки JavaScript всех победил
От: achmed Удмуртия https://www.linkedin.com/in/nail-achmedzhanov-9907188/
Дата: 18.06.19 10:14
Оценка: 7 (1)
Кто все еще не признал, пора принять факт и жить дальше

JavaScript
The most used overall programming language



The State of Developer Ecosystem 2019
Re: Таки JavaScript всех победил
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 18.06.19 11:43
Оценка:
Здравствуйте, achmed, Вы писали:

A>Кто все еще не признал, пора принять факт и жить дальше


A>

A>JavaScript
A>The most used overall programming language

Можно ли на основе это сделать предположение об отраслях где он применяется?
Sic luceat lux!
Re: Таки JavaScript всех победил
От: dmitritch  
Дата: 18.06.19 12:37
Оценка: 14 (2) +5 -1
A>Кто все еще не признал, пора принять факт и жить дальше

отвратительный язык. мерзкий. сейчас вот сижу читаю код на яваскрипте и чувствую что нифига не понимаю. Вот для примера что это за говно и какой может быть аналог у данного кода в нормальном языке?:

function _typeof(obj) {
    if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
      _typeof = function (obj) {
        return typeof obj;
      };
    } else {
      _typeof = function (obj) {
        return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
      };
    }

    return _typeof(obj);
}
Re: Таки JavaScript всех победил
От: kov_serg Россия  
Дата: 18.06.19 12:39
Оценка:
Здравствуйте, achmed, Вы писали:

A>Кто все еще не признал, пора принять факт и жить дальше

A>The State of Developer Ecosystem 2019

Почему-то у всех оценки разные. И никто оценку погрешности не приводит.
Re: Таки JavaScript всех победил
От: ononim  
Дата: 18.06.19 14:34
Оценка: +3 :)
Миллион, миллион алых роз мух...
Как много веселых ребят, и все делают велосипед...
Re[2]: Таки JavaScript всех победил
От: achmed Удмуртия https://www.linkedin.com/in/nail-achmedzhanov-9907188/
Дата: 18.06.19 15:20
Оценка:
Здравствуйте, Kernan, Вы писали:

K>Можно ли на основе это сделать предположение об отраслях где он применяется?


Можно предположить что используется везде, где может запуститься node.js.
Re[2]: Таки JavaScript всех победил
От: Буравчик Россия  
Дата: 18.06.19 16:03
Оценка: +1 -1
Здравствуйте, dmitritch, Вы писали:


A>>Кто все еще не признал, пора принять факт и жить дальше


D>отвратительный язык. мерзкий. сейчас вот сижу читаю код на яваскрипте и чувствую что нифига не понимаю. Вот для примера что это за говно и какой может быть аналог у данного кода в нормальном языке?:


Не завидую тебе. Похоже, ты читаешь код, созданный транспилятором. Т.е. фактически занимаешься reverse engineering

До транспиляции этот код мог выглядеть как-то так:
typeof obj


Зачем так сделано — это к создателям babel. Скорее всего были причины.

P.S. Я тоже не очень люблю js. Но пример совсем не подходит, чтобы показать "мерзкость" языка
Best regards, Буравчик
Re[3]: Таки JavaScript всех победил
От: MamutArGud  
Дата: 18.06.19 18:31
Оценка:
Б>Зачем так сделано — это к создателям babel. Скорее всего были причины.

Потому что это попытка транспилировать в код, который работает даже в допотопных браузерах работает. В частности, в данном коде похоже на работу чего-то типа babel-plugin-transform-es2015-typeof-symbol. A Symbol отсутствует в IE
Re: Таки JavaScript всех победил
От: TimurSPB Интернет  
Дата: 18.06.19 18:40
Оценка: 7 (1) +1
A>Кто все еще не признал, пора принять факт и жить дальше
Это ещё в 1996 произошло. https://web.archive.org/web/19961216191511/http://sunsite.nus.sg/hotjava/pr951204-03.html
Будь проклят тот день
Make flame.politics Great Again!
Re[3]: Таки JavaScript всех победил
От: Мёртвый Даун Россия  
Дата: 19.06.19 03:49
Оценка: +3 -2 :))
Здравствуйте, Буравчик, Вы писали:

Б>Не завидую тебе. Похоже, ты читаешь код, созданный транспилятором. Т.е. фактически занимаешься reverse engineering

Б>Зачем так сделано — это к создателям babel. Скорее всего были причины.
Б>P.S. Я тоже не очень люблю js. Но пример совсем не подходит, чтобы показать "мерзкость" языка

Хуже только перл.

Что такое транспилятор? Кто такой babel? Что всё это за гавно?
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Re[3]: Таки JavaScript всех победил
От: dmitritch  
Дата: 19.06.19 05:56
Оценка:
Б>P.S. Я тоже не очень люблю js. Но пример совсем не подходит, чтобы показать "мерзкость" языка

А, понял. То есть вместо стандартного typeof запилили свой _typeof который работает в старых браузерах. ну нормально. Зачем только этот код засунули в основной код проекта, нельзя было его куда-то в utils засунуть или типа того
Re[4]: Таки JavaScript всех победил
От: Буравчик Россия  
Дата: 19.06.19 07:20
Оценка: 11 (2) +1 :)
Здравствуйте, dmitritch, Вы писали:


Б>>P.S. Я тоже не очень люблю js. Но пример совсем не подходит, чтобы показать "мерзкость" языка


D>А, понял. То есть вместо стандартного typeof запилили свой _typeof который работает в старых браузерах. ну нормально. Зачем только этот код засунули в основной код проекта, нельзя было его куда-то в utils засунуть или типа того


Нет, ты не понял. Этот код не писал программист, который делал проект. В своем проекте он просто написал typeof obj.
Код, который ты видишь, добавил в проект транспилятор. Поэтому его не нужно засовывать в utils или еще куда-нибудь.

Транспилятор — это как компилятор, только переводит исходный код не в машинные коды (как компилятор), а в другой язык (в данном случае в другую версию этого же языка). Это нужно, в том числе, чтобы нивелировать различия между браузерами, т.к. разные браузеры интерпретируют код js по-разному. Добро пожаловать в реальный мир.

Поэтому повторюсь, ты читаешь "машинный код", и по нему пытаешься восстановить программу. Данный пример показывать только то, что существует куча проблем с совместимостью. А также то, что ты не разобрался в вопросе, и делаешь выводы. Но твой пример не показывает, что js, как язык, плох.
Best regards, Буравчик
Re[4]: Таки JavaScript всех победил
От: Erop Россия  
Дата: 19.06.19 07:27
Оценка: -1
Здравствуйте, dmitritch, Вы писали:


D>А, понял. То есть вместо стандартного typeof запилили свой _typeof который работает в старых браузерах. ну нормально. Зачем только этот код засунули в основной код проекта, нельзя было его куда-то в utils засунуть или типа того


А ещё в некоторых языках принято писать комментарии
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[5]: Таки JavaScript всех победил
От: dmitritch  
Дата: 19.06.19 07:49
Оценка:
Б>Нет, ты не понял. Этот код не писал программист, который делал проект. В своем проекте он просто написал typeof obj.
Б>Код, который ты видишь, добавил в проект транспилятор. Поэтому его не нужно засовывать в utils или еще куда-нибудь.

нет, это код из гитхаба реального проекта svedit.js, а что еще за транспилятор и зачем он нужен?
Re[6]: Таки JavaScript всех победил
От: Буравчик Россия  
Дата: 19.06.19 08:11
Оценка: :)
Здравствуйте, dmitritch, Вы писали:

D>а что еще за транспилятор и зачем он нужен?


Второй абзац моего поста был как раз про это.
Там еще и третий абзац есть.
Best regards, Буравчик
Re[6]: Таки JavaScript всех победил
От: Буравчик Россия  
Дата: 19.06.19 08:16
Оценка:
Здравствуйте, dmitritch, Вы писали:

D>нет, это код из гитхаба реального проекта svedit.js


Ссылка есть?
Очень маловероятно, что этот код был добавлен вручную. Хотя, конечно же, все может быть
Best regards, Буравчик
Re[7]: Таки JavaScript всех победил
От: dmitritch  
Дата: 19.06.19 08:28
Оценка:
Б>Очень маловероятно, что этот код был добавлен вручную. Хотя, конечно же, все может быть

https://github.com/SVG-Edit/svgedit/blob/master/svgedit-config-iife.js — вот пожалуйста. даже гитхаб не хочет такой большой файл показывать. еще одна проблема js
Re[8]: Таки JavaScript всех победил
От: achmed Удмуртия https://www.linkedin.com/in/nail-achmedzhanov-9907188/
Дата: 19.06.19 08:49
Оценка:
Здравствуйте, dmitritch, Вы писали:


Б>>Очень маловероятно, что этот код был добавлен вручную. Хотя, конечно же, все может быть


D>https://github.com/SVG-Edit/svgedit/blob/master/svgedit-config-iife.js — вот пожалуйста. даже гитхаб не хочет такой большой файл показывать. еще одна проблема js


Этот большой файл скорее всего собран из нескольких каким то инструментом
Re: Таки JavaScript всех победил
От: Mihas  
Дата: 19.06.19 09:34
Оценка:
Здравствуйте, achmed, Вы писали:

Тоже чуток зацепил его.
Работа с ним мне напомнила работу с моим собственным поделием. Когда для решения задачи не хватает возможностей поделия, ты, как автор, начинаешь использовать не документированные и не очевидные приемы. Оно, конечно, работает, но окружающие начинают смотреть на тебя с недоверием и поделием пользоваться отказываются.
Re[8]: Таки JavaScript всех победил
От: Буравчик Россия  
Дата: 19.06.19 09:41
Оценка: 18 (3) +2
Здравствуйте, dmitritch, Вы писали:


Б>>Очень маловероятно, что этот код был добавлен вручную. Хотя, конечно же, все может быть


D>https://github.com/SVG-Edit/svgedit/blob/master/svgedit-config-iife.js — вот пожалуйста. даже гитхаб не хочет такой большой файл показывать. еще одна проблема js


Этот код сгенерирован, это не исходный файл проект. Фактически это весь проект в одном файле (поэтому файл такой большой).
Об этом даже упоминание в документации на первой странице есть.

Run npm run build-config within the node_modules/svgedit directory.

This will rebuild svgedit-config-iife.js (applying Babel to allow it to work on older browsers and applying Rollup to build all JavaScript into one file). The file will then contain non-ES6 module JavaScript that can work in older browsers. Note that it bundles all of SVGEdit, so it is to be expected that this file will be much larger in size than the original ES6 config file.


Babel — это уже упомянутый транспилятор https://en.wikipedia.org/wiki/Babel_(compiler)
Best regards, Буравчик
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.