Re[2]: А что мешает заменить JS?
От: Kesular  
Дата: 14.03.17 18:12
Оценка: +2 :)
Здравствуйте, velkin, Вы писали:

V>то я скажу, что уж лучше буду есть кроссплатформенные пирожные на C++


По цене сопровождения и отладки в 10x... но кого волнуют такие мелочи?
Re[4]: А что мешает заменить JS?
От: Kesular  
Дата: 14.03.17 18:15
Оценка:
Здравствуйте, velkin, Вы писали:

V>а рядом проносятся скоростные болиды C++.


Такие как Толстолис, например. Несутся и несутся, и ни одной улитке их не обогнать.
Re[7]: А что мешает заменить JS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 14.03.17 18:41
Оценка: -2
Здравствуйте, Somescout, Вы писали:

S>Здравствуйте, gandjustas, Вы писали:


G>>На перле не сделаешь Excel в 30 строк, ну вообще никак.

S>В примере демонстрируется кривая мощь DOM, а не js.
От dom там только insertcell и innerHTML, остальное именно JS.

G>>Если не в курсе — посмотри https://habrahabr.ru/post/202304/

S>Ога, в строку вписываешь =alert(1) и внезапно. Нафиг такие эксели.
Да уж, докопался...

G>>Так ты сам упрекал что не масштабируется. Оказывается гигантам не проблема иметь команду в 60 человек, которая OWA пилит, и все у них масштабируется. А что тебе мешает?

S>Я, к примеру, не агитирую заменять js. Но он кривой по сравнению с тем же typescript.
В чем? TS добавляет очень мало того, что не входит в текущие или перспективные стандарты ES.
Re[7]: А что мешает заменить JS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 14.03.17 18:42
Оценка:
Здравствуйте, Somescout, Вы писали:

S>Здравствуйте, gandjustas, Вы писали:


S>>>Если посмотреть на TS и C#, то по мне так C# не особо то и сильно проигрывает.

G>>JS для клиентского кода
S>JS безальтернативен. Он кривой, неудобный (хотя его пытаются привести во вменяемое состояние) и ничего другого использовать нельзя. В этом и проблема.
Если бы он был настолько плох, насколько о нем говорят, то уже бы заменили. Тем более попыток было сильно больше одной.
Re[5]: А что мешает заменить JS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 14.03.17 18:44
Оценка:
Здравствуйте, TimurSPB, Вы писали:

G>>А если убрать эмоции, то в чем конкретно претензии к современному JS? (который ES 2017, NodeJS, TypeScript)

TSP>Поддерживается не везде даже ES6. Понятно что можно сборку сделать и всё такое..
Так все и работают. Разработка на JS уже давно не в блокноте ведется.
Re[6]: А что мешает заменить JS?
От: MTD https://github.com/mtrempoltsev
Дата: 14.03.17 18:47
Оценка:
Здравствуйте, gandjustas, Вы писали:

S>>А вот возможностей больше на порядки. Те же финализаторы.

G>за 10 лет ни одного финализатора на C# не написал.

Вот этим гордится точно не стоит
Re[8]: А что мешает заменить JS?
От: Somescout  
Дата: 14.03.17 18:49
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

S>>В примере демонстрируется кривая мощь DOM, а не js.

G>От dom там только insertcell и innerHTML, остальное именно JS.
И таблицу js рисует, и вводи мыши обрабатывает, и с сетью работает. Правильно по соседству заметили — мы пахали, я и трактор.

S>>Ога, в строку вписываешь =alert(1) и внезапно. Нафиг такие эксели.

G>Да уж, докопался...
До того что там используется сырой eval без какой либо фильтрации данных? Да, это такая мелочь... зато 30 строк.

G>>>Так ты сам упрекал что не масштабируется. Оказывается гигантам не проблема иметь команду в 60 человек, которая OWA пилит, и все у них масштабируется. А что тебе мешает?

S>>Я, к примеру, не агитирую заменять js. Но он кривой по сравнению с тем же typescript.
G>В чем? TS добавляет очень мало того, что не входит в текущие или перспективные стандарты ES.
JS кривой уже сейчас, и разве в js собираются добавлять возможность аннотации типов? (а это как раз то, что мне нравится в TS).
ARI ARI ARI... Arrivederci!
Re[7]: А что мешает заменить JS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 14.03.17 18:49
Оценка: -1 :))
Здравствуйте, Ops, Вы писали:

Ops>Здравствуйте, gandjustas, Вы писали:


G>>C# хорош для серверного кода и мобилок (xamarin), JS для клиентского кода .

Ops>JS плох для любого кода, особенно вкупе с его бардаком в библиотеках. Просто для других языков никто не дает API, поэтому альтернативы нет.
Факты, сестра, факты! В этой теме еще никто не привел конкретного факта почему именно JS плох.

Были возгласы про this и модульность. Это действительно проблемы JS... раньше были.
В современном стандарте есть import и arrow functions, в стандарте 2015 года появились. А примерно с 2014 были доступны в TS. Фактически 3 уже года можно использовать.
Re[8]: А что мешает заменить JS?
От: Somescout  
Дата: 14.03.17 18:50
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

G>Если бы он был настолько плох, насколько о нем говорят, то уже бы заменили. Тем более попыток было сильно больше одной.


Вы сами признаёте, что "попыток было сильно больше одной", а уж сколько трансляторов склепали. Видимо всё от внутреннего совершенства js.
ARI ARI ARI... Arrivederci!
Re[11]: А что мешает заменить JS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 14.03.17 18:51
Оценка:
Здравствуйте, Ops, Вы писали:

Ops>Здравствуйте, gandjustas, Вы писали:


G>>Очень даже поймешь, особенно если знаешь. Другое дело если ты никогда не изучал куда на самом деле ссылается this и пытаешься писать на JS используя знания java\c++\c#.


Ops>А вот зачем так выпендриваться? Чтобы язык был не таким, как все? Ну да, этого добились. Это как передачи на ушастом запорожце сделали, в обратную сторону.

Это была ошибка, признали. Просто исправить не могут, поломается совместимость. В ES 2015 ввели arrow functions.
Re[11]: А что мешает заменить JS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 14.03.17 18:53
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Здравствуйте, gandjustas, Вы писали:


AK>>>TS имеет весьма ограниченные возможности отслеживания ошибок в JS. И более-менее хорошо работает лишь с тем кодом, который изначально писался с прицелом на TS.

G>>Это бред. Я не одной из презентаций качал чисто js приложение (node+клиент) и за 10 минут превращал его в типизрованное на TS без единого any.

Ф>И что это показывает? О чём это говорит?


Это опровергает мнение что "И более-менее хорошо работает лишь с тем кодом, который изначально писался с прицелом на TS". То есть код из JS в TS можно превратить в 100-1000 раз быстрее, чем код был написан.
TS не дураки придумали (те же не дураки, которые придумали C# и Delphi), они долго изучали паттерны JS прежде чем выкатить TS.
Re[11]: А что мешает заменить JS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 14.03.17 18:55
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Здравствуйте, gandjustas, Вы писали:


AK>>>А многопоточный перебор коллекции в две строчки вы на JS сделаете? В C# легко.

G>>В JS все работает в одном потоке и это прекрасно. Хренову тучу ошибок убирает.
G>>Кстати в продакшене за все время всего один раз parallel foreach использовал.

Ф>Ответа сети оно в том же потоке ожидает? Чтение с диска?

JS всегда асинхронный.

Ф>Кстати, каким профайлером пользуешься? А есть какие-нибудь профайлеры памяти?

В каждый браузер встроены. Для NoodeJS не использую, так как там только самые примитивные скрипты.
Re[5]: А что мешает заменить JS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 14.03.17 18:58
Оценка:
Здравствуйте, koandrew, Вы писали:

K>Здравствуйте, gandjustas, Вы писали:


G>>JS — очень простой язык. Все его особенности можно уместить на двух листах А4, в отличие от всяких плюсанутых языков.

K>Ты только "забыл" указать, что рядом с этими двумя листками А4 будет 2 огромных тома из серии "WTF.js"

Классическая картинка:


Суровая правда в том, что для полного изучения JS необходимо и достаточно прочитать книжку слева (260 страниц или около того). К книжке справа лучше даже не приближаться.
Я не шучу, у меня программисты только good parts читают.
Re[7]: А что мешает заменить JS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 14.03.17 19:02
Оценка: :)
Здравствуйте, koandrew, Вы писали:

K>Здравствуйте, gandjustas, Вы писали:


G>>за 10 лет ни одного финализатора на C# не написал.

K>Это говорит исключительно о том, что среди твоих проектов не было ничего кроме говносайтегов.
Ок, пусть говносайтиками.
А ты часто финализаторы пишешь? У тебя что за проекты?
Re[9]: А что мешает заменить JS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 14.03.17 19:05
Оценка:
Здравствуйте, Somescout, Вы писали:

S>Здравствуйте, gandjustas, Вы писали:


G>>Если бы он был настолько плох, насколько о нем говорят, то уже бы заменили. Тем более попыток было сильно больше одной.

S>Вы сами признаёте, что "попыток было сильно больше одной", а уж сколько трансляторов склепали. Видимо всё от внутреннего совершенства js.
Сколько склепали и все сдохли Не смогли победить JS, странно да? Такой ужасный язык никто не смог победить. Даже гугл со своим dart не осилил.
Re[7]: А что мешает заменить JS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 14.03.17 19:07
Оценка: 1 (1) :)
Здравствуйте, MTD, Вы писали:

MTD>Здравствуйте, gandjustas, Вы писали:


S>>>А вот возможностей больше на порядки. Те же финализаторы.

G>>за 10 лет ни одного финализатора на C# не написал.
MTD>Вот этим гордится точно не стоит

Да ладно? Как раз стоит гордиться тем, что ты не используешь функцию, которая не нужна. Я повидал много проектов, в которых программисты использовали вообще все что знали, потому что могли. Ни один из них не был хорош.
Re[8]: А что мешает заменить JS?
От: Ops Россия  
Дата: 14.03.17 19:07
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

G>Факты, сестра, факты! В этой теме еще никто не привел конкретного факта почему именно JS плох.

Ну загугли "js wtf", а то ты тут что-то про 3 странички руководства написал, так эти wtf не меньше потянут.

G>Были возгласы про this и модульность. Это действительно проблемы JS... раньше были.

G>В современном стандарте есть import и arrow functions, в стандарте 2015 года появились. А примерно с 2014 были доступны в TS. Фактически 3 уже года можно использовать.
Ага, с транспилерами и, внезапно, без модульности, потому как клиент ее не умеет, и приходится навешивать всякие require.js, а то и выдавать склеенные многомегабайтные скрипты.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[3]: А что мешает заменить JS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 14.03.17 19:10
Оценка:
Здравствуйте, Ops, Вы писали:

Ops>Здравствуйте, TimurSPB, Вы писали:


TSP>>Сейчас уже есть JS для серверной части. Почему бы, например, не сделать PHP для клиентской?


Ops>Потому же, почему не делают питон, луа, C/C++ и C# — разработчики браузеров не дают API для них. Возможно, это даже действительно сложно сделать, т.к. все существующее заточено исключительно под JS, причем под конкретные реализации.

Да ладно. Такие попытки были неоднократно. Все сдохли. Недавно вот NaCL гугловый сдох. Хотя он по сути решал проблему запуска недоверенного кода (с++) на клиенте. Но оказался не нужен, JS его победил.
Re[12]: А что мешает заменить JS?
От: Ops Россия  
Дата: 14.03.17 19:11
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Это была ошибка, признали. Просто исправить не могут, поломается совместимость. В ES 2015 ввели arrow functions.


Так там и другие моменты "не как у всех", одни прототипы чего стоят.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[9]: А что мешает заменить JS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 14.03.17 19:15
Оценка: :)
Здравствуйте, Ops, Вы писали:

Ops>Здравствуйте, gandjustas, Вы писали:


G>>Факты, сестра, факты! В этой теме еще никто не привел конкретного факта почему именно JS плох.

Ops>Ну загугли "js wtf", а то ты тут что-то про 3 странички руководства написал, так эти wtf не меньше потянут.
Ты не путай половой прибор с пальцем. Специально на любом языке можно сделать много wtf.
Имеет значение wtf которые можно получить в процессе написания обычного кода. Все эти wtf_ы c подробнейшим объяснением собраны в книге javascript:good parts. А если отжать, то два листа А4 будет.
Для C++ например потребуется отдельная книга, чтобы просто перечислить все WTFы.


G>>Были возгласы про this и модульность. Это действительно проблемы JS... раньше были.

G>>В современном стандарте есть import и arrow functions, в стандарте 2015 года появились. А примерно с 2014 были доступны в TS. Фактически 3 уже года можно использовать.
Ops>Ага, с транспилерами и, внезапно, без модульности, потому как клиент ее не умеет, и приходится навешивать всякие require.js, а то и выдавать склеенные многомегабайтные скрипты.
А ты думал что разработка JS до сих пор ведется в блокноте? И ничем тут мегабайтные скрипты? Как они связаны с arrow functions или модулями?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.