Re[22]: А что мешает заменить JS?
От: Somescout  
Дата: 16.03.17 10:25
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Это и есть пример. А вопрос для того, что бы ты сам подумал. Система типов JS VM резко отличная от JVM. Соответственно есть два варианта решения — поддержка этих типов в gwt или же эмуляция. Надо объяснять, что в джаве первый вариант недоступен принципиально ? А вот из за эмуляции ты и огребаешь проблемы, потому как полностью заткнуть дыры джавой ну никак не получится.


Это не пример, это ваши теоретизирования на тему почему оно должно работать плохо. Вы покажите исходный код, во что он транслировался и почему это не оптимально.

I>Не нравятся — это вкусовщина, а не аргумент.

На любом языке, насколько бы плох он не был, можно писать. Соответственно про любой аргумент за и против любого языка можно сказать что это "вкусовщина". Но в случае с js слишком много неочевидного поведения, чтобы считать это вкусовщиной.

S>>Классика

I>Это никак не мешает писать код Такие вещи только на форумах и встречаются.
И в отладке, когда пытаешься выяснить с чего вдруг этот оно криво ведёт себя в данной ситуации.
ARI ARI ARI... Arrivederci!
Отредактировано 16.03.2017 10:37 Somescout . Предыдущая версия .
Re[10]: А что мешает заменить JS?
От: Somescout  
Дата: 16.03.17 10:30
Оценка:
Здравствуйте, Ikemefula, Вы писали:

S>>А что не так? В одном случае фрэймворк браузер, в другом COM + MSOffice. Ситуация более чем схожая.


I>Браузер есть по дефолту в любой взрослой ОС. ОФис еще покупать надо, а COM — только на винде и то не любой.

Изначально как звучал вопрос — "покажите код на 30 или меньше строк", а теперь, внезапно, добавились новые требования. Изворачиваетесь.

I>Например твой код в макоси не заработает. И в андроиде/иосе не заработает. А JS вариант заработает везде и сразу

А в nodejs? А без браузера? А в старых версиях браузеров?
ARI ARI ARI... Arrivederci!
Re[2]: А что мешает заменить JS?
От: neFormal Россия  
Дата: 16.03.17 10:30
Оценка:
Здравствуйте, mgu, Вы писали:

mgu>1. Почему ничто другое не вытеснило это говно?

mgu>JS сам вытеснил VBScript, который был в общем зачёте лучше. Много званых, но мало избранных. Спросите у знакомой блондинки, почему она выбрала именно текущего партнёра из множества женихов.

эм, js выбрали потому, что разработчики тупые? ~_^
...coding for chaos...
Re[20]: А что мешает заменить JS?
От: novitk США  
Дата: 16.03.17 11:13
Оценка: +1
Здравствуйте, Ikemefula, Вы писали:

I>JS к твоему сведению легко пролез чуть не везде. NodeJS тоже думаешь благодаря DOM взлетел ?

NodeJS взлетел исключительно потому, что код относительно легко можно переместить между клиентом и сервером. "Один язык" это суперфича. С точки зрения серверной платформы Python/Ruby/JVM/.NET уделывает NodeJS и в хвост и в гриву.

I>А встраиваемый скриптинг ? JS сейчас по факту есть вообще везде, его даже в микроконтроллеры встроили.

По тем же причинам по которым там часто берут LUA. Язык известный, компактный, с хорошими бесплатными реализациями.

I>JS это очень гибкая объектная модель, функциональное программирование и все это с очень достойной производительностью.

Только по сравнению с VB6. По сравнение с тем же Питоном, JS это неудобное, невыразительное и глюкавое г..о.
Re[11]: А что мешает заменить JS?
От: novitk США  
Дата: 16.03.17 11:34
Оценка:
Здравствуйте, TimurSPB, Вы писали:

S>>Ну, это вы зря. При всей моей нелюбви к js, ситуация с boost'ом просто один в один, если не хуже. Та жесть, которую творят создатели буста в своих шаблонах выглядит ни чуть не менее уродливой, чем соответствующие извращения в js.

TSP>Внутри да — он монструозен.
Никакого "внутри" в плюсах/бусте нет. Чтобы разобрать гирлянду бессмысленных ошибок пользователю в 100% случаях надо лезть в это "внутри". Это просто классический пример как текут абстракции и как быть не должно.
Re[2]: А что мешает заменить JS?
От: borya_ilin  
Дата: 16.03.17 15:06
Оценка:
V>

V>Мои языки программирования улыбаются, глядя на меня, мелкософты. А ваши — улыбаются вам?


Когда-то и меня вела дорога программиста на с++, но потом я прострелил себе колено
Re[15]: А что мешает заменить JS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.03.17 16:21
Оценка: -1
Здравствуйте, Ночной Смотрящий, Вы писали:

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


G>>>>Тем не менее Джава съела долю рынка C++, а C# съел долю рынка Java.

НС>>>Опять аналогии. Джава не транслируется в С++, а C# в Java.
G>>А что это меняет?
НС>Все.
Аргумент, да.

G>>Была java в вебе в виде апплетов, с++ в виде activex и C# в виде Silverlight.

НС>И везде — большие проблемы, если не вообще отсутствие удобных средств манипуляции DOM, ровно как и практически полное отсутствие интеграции с HTML/CSS.
ActiveX прекрасно работают с DOM, SL тоже, про апплеты не в курсе.

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

НС>Да, именно так я думаю. При условии что этот байткод будет first class citizen, а не плагин сбоку.
Выше ты пишешь что нужна интеграция с DOM, а теперь про байткод. Чем компиляция в JS хуже байткода?


G>> Если компилируем язык X в JS, то имеем проблемы с перформансом и отладкой, а если пишем на голом JS то не имеем? Это как?

НС>Это так. Текущая абстракция называется.
Ты не ответил на вопрос. Скажи конкретно в чем разница "проблем с перформансом и отладкой" при написании на голом JS или компиляции другого языка в JS?



НС>>>Куча библиотек, нацеленных на синтаксическое улучшение, типа той же jquery, на слишком долеко отошедшем языке становится полностью бесполезной.

G>>Это проблема JS, JQuery или "слишком долеко отошедшего языка"? И почему "слишком долеко отошедший язык" не может предложить решение лучше?
НС>Потому что нельзя вот так взять и сразу переписать весь веб (здесь картинка с Боромиром).
Зачем переписывать? В чем потребность? Нельзя сделать язык из-за которого не надо переписывать весь веб? TS сделали, переписывать не надо.

НС>>>Вобщем, JS слишком высокоуровневый и слишком вся инфраструктура браузера на него завязана, так что при попытке его скрыть получаем классический случай сильно текущей абстракции.

G>>То есть современные языки недостаточно высокоуровневые чтобы писать код с той же выражительностью, что и JS?

НС>То есть у современных языков другая основа. IL/JVM байткод это максимально возможный уровень абстракции, когда существование поверх более менее различных языков еще как то работает. И то не без проблем — с несовместимостью системы типов они имеют место быть. Тот же функциональный тип в F#/Nemerle/etc приходится придумывать свой, так как с делегатами проблемы. И это уж точно не означает, что F# недостаточно высокоуровнев чтобы писать код с той же выразительностью, что и в ilasm.

А при чем тут это? Java, C# и даже C++ компилируются в JS. При чем тут IL или JVM?


НС>>>Верно. Хотя до нормальных языков по удобству TS не дотянулся.

G>>Странно, ты же сам пишешь выше, что JS более высокоуровневый, а TS — надмножество JS. Кто до кого не дотянулся в итоге?
НС>TS до современных универсальных языков. И это не потому что TS сам по себе плох, а потому что JS висит у него на ноге тяжелой гирей.
TS тут при чем? Ты же писал что JS слишком высокоуровневый для компиляции в него других языков. TS от JS в этом плане не отличается.

G>>Ну ты уже сам признал что JS более высокоуровневый (обладает большей выразительной силой), чем другие языки.

НС>Еще раз припишешь мне то чего я не говорил — будешь общаться в гордом одиночестве.
Понятие логического вывода знакомо?
Так вот твоя фраза:

Вобщем, JS слишком высокоуровневый

Это было про трансляцию других языков в JS. Мы все знаем что высокоуровневость и низкоуровневость языков — понятие относительное (см парадокс Блаба). Делаем простой вывод — JS более высокоуровневый, чем другие языки, которые мы тут рассматриваем.
Re[15]: А что мешает заменить JS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.03.17 16:24
Оценка:
Здравствуйте, TimurSPB, Вы писали:

TSP>>>Есть байт-код, есть нативный машинный код, и есть JS. Это всё разные вещи. И каждый слой должен оправдывать своё существование.

G>>Тебе никто ничего не должен.
TSP>Ну так себе аргумент. Пиши уж сразу "ой, всё!"
Каждый раз когда ты пишешь что кто-то должен означает что ты сам недостаточно в теме.

TSP>Все эти слои имеют недостатки, которые всё равно не получится игнорировать.

Какие именно недостатки?


TSP>>>В случае JS оправдание — не развитый язык и компенсация его кривой поддержки браузерами.

G>>Язык очень даже развитый, но поддержка браузерами хромает.
TSP>Я бы не сказал что он развитый. Я про ES5, про то что есть сейчас. Не про светлое будущее.
Мало ли что бы ты сказал. Ты не сильно в теме, твое мнение не авторитет.

TSP>С точки зрения результата(продукта) не важно что там хромает. Должно работать.

См выше про "должно".
Re[16]: А что мешает заменить JS?
От: vdimas Россия  
Дата: 16.03.17 16:40
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>С браузером будет ровно так же. Браузер — это платформа. Не важно, кривая она или нет. Важно, что на неё есть спрос. Переписывать никто не будет. И JS менять, потому что это не нравится некоторым девелоперам, тоже не будут.


Будут.
Уже меняют твой JS нафик.
Ему не оставили в ближайшем будущем места.
Более того, идёт отказ от DOM.
Потому что модель DOM — это тоже устаревшая тупая хрень, ограничивающая всё, что только можно ограничить. DOM был нужен исключительно и только для JS.


I>Потому языки или принимают правила платформы, или идут нахрен, как это было во все времена.


Ерунда полная.
"Платформа" — это не объективное явление природы, а субъективная хрень, творение рук человеческих.
Как пришла, так и умрёт.
Через 15 лет интернет не будет таким как сейчас.
И роль JS будет не больше, чем роль языка Perl сегодня — тоже бывшего когда-то основного скриптового языка. Но сейчас этого перла ровно ноль, считай.
Re[13]: А что мешает заменить JS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.03.17 16:43
Оценка:
Здравствуйте, TimurSPB, Вы писали:

G>>Давай по порядку, какие модули ты имеешь ввиду?

G>>1) Лексические модули — изоляция частей программы, так чтобы внутри части были видны все члены, а снаружи только часть.
G>>Лексические модули были в JS были всегда за счет объектов и замыканий. Но это не было стандартом и это было некрасиво.
TSP>Я про лексические в самом простом понимании. Просто разбиение на файлы. Встроенных в язык средств нет и при этом он "развитый". Про 7 лет ты ошибся.
Ты хочешь сказать что JS нельзя разбить на файлы? Ты точно видел JS?
Про 7 лет я не ошибся. requrejs появился примерно в 2010-2011 году. Модульность в твоем понимании была вообще там с самого начала.

TSP>Конечно, я не писал все семь лет на нём, но много опыта не надо, что бы увидеть очевидные проблемы.

очевидные проблемы похоже существуют в твоей голове.


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

G>>Внезапно оказалось что почти все нововведения могут быть реализованы небольшой генерацией кода. (это к вопросу о мощности языка)
TSP>Node.js имеет многое из коробки и программирование на нем отличается от фронтенда. Мы говорим о том, что исполняется в браузере.
Что например? Чем отличается?


TSP>>>Нет пока никакого ES 2017, и когда он будет никто не скажет. Если вообще будет.

G>>Будет. ES это тебе не C++, в комитете по ES вполне здравые люди и хорошие нововведения принимают быстро.
TSP>Когда будет, тогда и обсудим. Его пока тупа нет и даже примерно неизвестно когда будет и будет ли.
Для ES стандарт это майлстоун, спецификация развивается непрерывно https://github.com/tc39/ecma262, помжно смотреть какие предложения в разработке, какие в stage-0 и stage-1.
Браузерам и NodeJS ничего не мешает реализовывать finished proposals, чем они регулярно занимаются.
Вендоры браузеров и NodeJS прекрасно знают о существовании BabelJS, поэтому могут долго не реализовывать некоторые предложения babel может скомпилировать новые фичи в старые.

TSP>В комитете по плюсам есть свои проблемы, но это не имеет отношения к JS

Комитет по плюсам работает на несколько порядков медленнее комитета по JS.

G>>>>Как раз буст гораздо больше дырок в языке затыкает, чем фреймворки в js. Более того, в новые версии js отлично попадают подобные "затычки".

TSP>>>В самом языке буст ничего не затыкает. Он его расширяет и многое потом отправляется в стандарт.
G>>Это игра слов, которая по факту смысл не меняет.
TSP>Нет. Между расширением возможностей и затыканием дыр есть разница.
Да нету никакой разницы. Если есть потребность в расширении возможностей, значит изначально в возможностях была дыра. Вот была дыра из за которой появился jquery, в итоге селекторы включили в стандарт.
Была в C++ дыра с умными указателями. В итоге smart_ptr включили в стандарт.

TSP>>>А вот, например, $scope в angular это типичный пример костыля, который требуется понимать и правильно использовать.

G>>$scope это кривость самого ng и без него работает уже давно.
TSP>Ок. Но кривость эта именно из за недостатков JS родилась.
Нет, это кривость разработчиков библиотек, JS тут не при чем.

G>>>>Ну также в JS. Все давно забили на то, что на выходе. Проблема только в отношении. У многих в голове сидит паттерн "js — плохо, а <подставить любимый язык> — хорошо".

TSP>>>Большинство забили. Но не думаю, что на больших проектах удасться полностью абстрагироваться от выхлопа этих всех богомерзких тулов.
G>>Внезапно удается.
TSP>Не всем.
Так это проблема человека, а не тулов.

G>>>>Ты удивишься, но из 5 последних проектов jquery был только в одном.

TSP>>>Точно нет jquery? Покажи папку node_modules.
G>>Точно нету, там angular.
TSP>В ангуляре(1.х), как я помню, он косвенно присутствует в урезанном виде и волшебно подменяется, если доступна полная версия jquery
Первые версии ng опирались на jq. Потом jq выпилили, но чтобы не переделывать код сделали свою затычку для некоторых jq api. Так что jqlite это не урезанная версия jq, а просто имитация части api.
Re[21]: А что мешает заменить JS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.03.17 17:01
Оценка:
Здравствуйте, novitk, Вы писали:

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


I>>JS к твоему сведению легко пролез чуть не везде. NodeJS тоже думаешь благодаря DOM взлетел ?

N>NodeJS взлетел исключительно потому, что код относительно легко можно переместить между клиентом и сервером.
А ты вообще пробовал это сделать? Ничего что модули node не поддерживаются в браузере без приседаний?

N>"Один язык" это суперфича. С точки зрения серверной платформы Python/Ruby/JVM/.NET уделывает NodeJS и в хвост и в гриву.

Зависит от решения. Я использую node для socket.io сервера. Покажи как их уделает ruby.

I>>А встраиваемый скриптинг ? JS сейчас по факту есть вообще везде, его даже в микроконтроллеры встроили.

N>По тем же причинам по которым там часто берут LUA. Язык известный, компактный, с хорошими бесплатными реализациями.
LUA вообще за пределами C++ мира не применяется.

I>>JS это очень гибкая объектная модель, функциональное программирование и все это с очень достойной производительностью.

N>Только по сравнению с VB6. По сравнение с тем же Питоном, JS это неудобное, невыразительное и глюкавое г..о.

Да-да, где ваш пример про excel в 30 строк?
Re[18]: А что мешает заменить JS?
От: vdimas Россия  
Дата: 16.03.17 17:12
Оценка: +2
Здравствуйте, Ikemefula, Вы писали:

I>На x86 остались только те, которые на ней внятно заработали. И ровно то же с остальными платформами. Не язык диктует условия, а платформа.


Путать программную платформу и аппаратную?
Жесть. ))

Никто никогда ни за какие программные программные платформы не держался, не изобретай.
Мода на них редко превышала 10-15 лет. Выжили только самые изменчивые. В этом смысле JS не жилец.

Вон сейчас из любого магазина приложений для любых ОС, телеков или игровых приставок торчат тысячи сетевых приложух, всё больше отбирая хлеб у браузерных технологий, что дополнительно усугубляет плохие эволюционные навыки JS.


S>>Так я о том же: javascript говно, и говно безалтернативное.

I>Родовые травмы никого не интересуют. Все академически выведеные, вывереные языки нигде никогда не приживались.

Глупости. Паскаль был мейнстримом в течении своих ~15 лет.
Умер из-за своей неподвижности.
Для сравнения, Хаскель до сих пор живее всех живых и переживёт любое г-но типа JS многократно, ес-но.
Потому что это живой, развивающийся язык.


I>Вся история ЯП — приживаются уродцы.


Оправдание куликом своего болота через "ваше болото еще хуже".
Прижились, как раз, красавцы.
А вот JS не прижился. Его "прижили" искусственно.
Сначала Netscape, а потом Mozilla отказались поддерживать изкаробки языки помимо JS.
Дебилы, Б. (С)


I>Важны не те грабли ,что тебя смущают, а возможности которые представляет JS.


Возможности там уровня VB когда-то.
Сам VB тоже свои лет ~15 честно отпахал в корпоративе и тоже постарел из-за неподвижного образа жизни.
JS де-факто приближается к своей смерти по точно такой же причине — он безбожно устарел.

Все эти node.js — это "лебединая песня". Это свалка накопившихся снипетов кода, эдакая попытка хоть как-то весь этот мусор утилизировать и выжать из него еще ну хоть немного пользы. С плохой овцы хоть шерсти клок, как грится.


I>Программирование на любом языке это прежде всего идиомы. И в каждом языке начинаются проблемы, если ты пробуешь писать без этих идиом.

I>В каждом.

В рамках JS не изобретено ни одной идиомы.
Когда JS вскорости уйдёт из мейнстрима, мир IT этого даже не заметит, как не заметил в своё время ухода Перла.

Наше IT "помнит" только те языки, которые принесли какие-то новые идиомы/практики, типа Лиспа, С, Пролога, Хаскеля, Смолтолка.
Всё остальное — это представители оравы временщиков.

Отдельно от всего этого стоит С++. Этот переживет вообще все другие языки.
Почему? Потому что С++ образца 1989-го, 1998-го, 2003-го, 2011-го, 2017-го годов — это сильно разные языки.
С++ образца 2025-го точно так же будет сильно отличаться от нынешнего.
Как и C# образца 2002-го, 2005-го и т.д.

Если бы Жаба не стала шевелиться, то на прямо сейчас уже была бы забыта, как VB.

А пользоваться сегодняшним JS — это как если бы мы всё еще пользовались компиляторами С++ 93-го года выпуска.
Поэтому — ему дорога только на помоечку.
Вот он сейчас поможет "взлететь" web assembly, ну и всё...

В общем, эволюцию выигрывают приспособленцы.
А тупые динозавры заслуженно вымирают.
Re[13]: А что мешает заменить JS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.03.17 17:13
Оценка:
Здравствуйте, Artem Korneev, Вы писали:

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


G>>Тем не менее Джава съела долю рынка C++, а C# съел долю рынка Java.


AK>Там совершенно другая ситуация. Для того, чтобы взлетела Java, ей не нужно было занимать те же ниши, что занимает С++. Там совсем другая история.

Это ты пошутил так, да? Java взлетела именно потому что вытеснила C\C++ в банкинге и трейдинге, а в дальнейшем во всем остальном сервер-сайде. Это случилось в районе начала-середины 90-х. До этого Java позиционировалась как язык для чайников и была по факту не нужна вообще никому.


AK>С браузерами всё печальнее. Если вы сделаете новый крутой язык, который будет работать, например, только в браузере Opera, то этим языком пользоваться никто не будет. Нужна будет поддержка всего того же диапазона браузеров и платформ, который есть у JS и именно это и было бы проблемой для любого нового браузерного языка. А вовсе не какие-то волшебные фичи JS.

Не рпоблема, делай компиляцию языка в JS. По этому пути пошли все... И никто не дошел.

AK>CoffeeScript, TypeScript и Dart появились сравнительно недавно. Посмотрим. Может они вытеснят JS. Пока рано судить, все эти браузерные вещи очень инертны в силу огромного количества веб сайтов.

Нельзя в одну строчку ставить TS и dart. Дарт — новый язык, заменяюющий (в теории) js. TS расширяет JS. Как JS++.

G>>Но ни C++ (activex), ни Java (gwt), ни C# (Script#), ни dart не смогли победить JS.


AK>ActiveX работал в одном единственном браузере и благополучно издох, когда этот браузер утратил доминирующее положение на рынке. Честно сказать, я с этой вещью вообще почти не сталкивался, но я сомневаюсь, что оно подходило на роль убивцы JS — оно ж работало не на целой страничке, а в маленьком контейнере-компоненте. Или не?

Рисовать могло в своем контейнере, а DOM API через COM был доступен.

AK>GWT — не знал про него, спасибо за наводку! Вещь интересная. Особенно заинтересовали биндинги к питону — я с сыном в свободное время питоню понемногу, на простеньком уровне. Давно хотел его чему-нибудь простенькому в вёбе научить, но рассказывать ребёнку про JavaScript не хотел. А вот pyjs (надстройка над GWT) выглядит в этом плане интересно.


AK>Но это тоже из другой оперы по очевидной причине — если я правильно понимаю, оно тоже не работает с DOM. Нормальная замена JS должна работать с DOM (ну или иметь какое-то своё представление HTML-документа). А GWT это попытка натянуть десктопный UI на вёб. А это совсем другая ниша — там есть свои применения, но это не для обычных массовых веб сайтов.

Изначально GWT — компилятор в JS. Зачем поверх него попытались натянуть "десктопный UI" в вебе — мне неизвестно.

AK>Что такое Script#? Я порылся, что-то не нашёл никаких упоминаний в википедии.

https://github.com/nikhilk/scriptsharp
Уже сдох, хотя пара продуктов MS использует Script#.

AK>Я сейчас на Dart повнимательнее посмотрел. Вот этот, наверное, на роль убивцы подходит. Не могу, правда, сказать, насколько он лучше, но на первый взгляд выглядит интересно. Но я с фронтендом почти не работаю, пощупать нет повода.

По факту тоже сдох.

G>>в JS есть что-то чего нет в других языках и без этого другие языки не могут вытеснить JS.

AK>Что?
Не знаю, не уверен что это что-то одно. Возможно просто удачное сочетание фич.
Re[14]: А что мешает заменить JS?
От: vdimas Россия  
Дата: 16.03.17 17:15
Оценка:
Здравствуйте, gandjustas, Вы писали:

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


Причем, в ближайшие лет 5-10.
Уже через 5 лет JS станет не нужен для новых проектов.
А еще через 5 лет будет наблюдаться только на давно не обновляемых сетевых ресурсах.
Re[15]: А что мешает заменить JS?
От: vdimas Россия  
Дата: 16.03.17 17:20
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>И везде — большие проблемы, если не вообще отсутствие удобных средств манипуляции DOM


DOM на нашей памяти убьют.
Увы.
Ровно по той же причине, что и JS — это гиря на ногах.
Уже пошли телодвижения в эту сторону.
Re[15]: А что мешает заменить JS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.03.17 17:24
Оценка:
Здравствуйте, vdimas, Вы писали:

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


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


V>Причем, в ближайшие лет 5-10.

V>Уже через 5 лет JS станет не нужен для новых проектов.
V>А еще через 5 лет будет наблюдаться только на давно не обновляемых сетевых ресурсах.

Так говорили и 5, и 10 лет назад
Но даже это не имеет значения. Сейчас надо деньги зарабатывать и сейчас JS для этого очень пригодится.
Re[16]: А что мешает заменить JS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.03.17 17:25
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Уже пошли телодвижения в эту сторону.

Подробности в студию.
Re[3]: А что мешает заменить JS?
От: vdimas Россия  
Дата: 16.03.17 17:26
Оценка:
Здравствуйте, neFormal, Вы писали:

F>эм, js выбрали потому, что разработчики тупые? ~_^


Согласно исторической справке, у них просто не было времени на что-то большее.
Re[19]: А что мешает заменить JS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.03.17 17:29
Оценка:
Здравствуйте, vdimas, Вы писали:


V>Для сравнения, Хаскель до сих пор живее всех живых и переживёт любое г-но типа JS многократно, ес-но.

Улыбнуло. Есть подозрение, что за все время существования хаскела на нем написано меньше кода, чем пишется ежегодно (может даже ежемесячно) на JS.

V>В рамках JS не изобретено ни одной идиомы.

Ты не знаешь JS.

V>А пользоваться сегодняшним JS — это как если бы мы всё еще пользовались компиляторами С++ 93-го года выпуска.

Похоже ты до сих пор в 93 году. Современный JS видел хотя бы?
Re[14]: А что мешает заменить JS?
От: TimurSPB Интернет  
Дата: 16.03.17 18:11
Оценка:
TSP>>Я про лексические в самом простом понимании. Просто разбиение на файлы. Встроенных в язык средств нет и при этом он "развитый". Про 7 лет ты ошибся.
G>Ты хочешь сказать что JS нельзя разбить на файлы? Ты точно видел JS?
G>Про 7 лет я не ошибся. requrejs появился примерно в 2010-2011 году. Модульность в твоем понимании была вообще там с самого начала.
Точно видел и там точно нет.
<script src="/path/to/script.js"></script> не считается, т.к. это не часть JS а html
requrejs это вообще убожество, сделанное из за трудностей обусловленных языком.

TSP>>Конечно, я не писал все семь лет на нём, но много опыта не надо, что бы увидеть очевидные проблемы.

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

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

G>>>Внезапно оказалось что почти все нововведения могут быть реализованы небольшой генерацией кода. (это к вопросу о мощности языка)
TSP>>Node.js имеет многое из коробки и программирование на нем отличается от фронтенда. Мы говорим о том, что исполняется в браузере.
G>Что например? Чем отличается?
Доступом к файловой системе, встроенной системой модулей как минимум.


TSP>>Когда будет, тогда и обсудим. Его пока тупа нет и даже примерно неизвестно когда будет и будет ли.

G>Для ES стандарт это майлстоун, спецификация развивается непрерывно https://github.com/tc39/ecma262, помжно смотреть какие предложения в разработке, какие в stage-0 и stage-1.
G>Браузерам и NodeJS ничего не мешает реализовывать finished proposals, чем они регулярно занимаются.
G>Вендоры браузеров и NodeJS прекрасно знают о существовании BabelJS, поэтому могут долго не реализовывать некоторые предложения babel может скомпилировать новые фичи в старые.
То могут "могут долго не реализовывать некоторые предложения", то уже прям майлстоун.

TSP>>В комитете по плюсам есть свои проблемы, но это не имеет отношения к JS

G>Комитет по плюсам работает на несколько порядков медленнее комитета по JS.
Там и легаси на несколько порядков больше и требование к совместимости и много чего ещё.

TSP>>Нет. Между расширением возможностей и затыканием дыр есть разница.

G>Да нету никакой разницы. Если есть потребность в расширении возможностей, значит изначально в возможностях была дыра. Вот была дыра из за которой появился jquery, в итоге селекторы включили в стандарт.
G>Была в C++ дыра с умными указателями. В итоге smart_ptr включили в стандарт.
Не было там никогда дыры с умными указателями. Дыра это когда нет человеческого доступа к DOM и как результат, код вида "... (document).ready(function() {$('#IDDIV').draggable({' ... "

TSP>>>>Большинство забили. Но не думаю, что на больших проектах удасться полностью абстрагироваться от выхлопа этих всех богомерзких тулов.

G>>>Внезапно удается.
TSP>>Не всем.
G>Так это проблема человека, а не тулов.
И человека и тулов. В каждом случае с разным соотношением.

G>Первые версии ng опирались на jq. Потом jq выпилили, но чтобы не переделывать код сделали свою затычку для некоторых jq api. Так что jqlite это не урезанная версия jq, а просто имитация части api.

имитация части api это зашквар вообще.
Make flame.politics Great Again!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.