Здравствуйте, anonymous, Вы писали:
S>>1) Если язык не способен контролировать элементарные ошибки, грош цена такому языку. A>Ну сколько можно твои вкусы обсуждать?
Вы имеете в виду ваши вкусы? Потому что ничего разумного, подтверждающего вашу точку зрения, кроме "это нормально", вы не привели.
A>>>Я не переходил на аналогии. Я использовал иллюстрацию. Мой тезис находится непосредственно перед ней. S>>В таком случае я проиллюстрировал другую точку зрения. И мой тезис вы знаете. A>>>Ты игнорируешь тезис и пытаешься развить аналогию. S>>Ваш тезис "язык идеален, а тот кто не согласен не прав, ибо пункт 1". Нет, я с таким тезисом (особенно в отношении js) не согласен, что и выразил. A>Если ты возомнил себя мастером демагогии, я тебя разочарую.
Да куда мне до вас. А всё же объясните: почему вам позволено "иллюстрировать", а мне нет? Просто (не)интересно.
A>Это не надо называть. Надо приводить контраргументы — в этом суть дискуссии. Пока их не видно.
С вашей стороны — безусловно. Я привожу примеры почему подобное плохо, вы отвечаете только "это нормально", "язык такой" — ну просто замечательные аргументы, особенно если гонять их по кругу.
Здравствуйте, Somescout, Вы писали:
S>>>1) Если язык не способен контролировать элементарные ошибки, грош цена такому языку. A>>Ну сколько можно твои вкусы обсуждать? S>Вы имеете в виду ваши вкусы?
Нет, я имею в виду твои вкусы.
S>Да куда мне до вас. А всё же объясните: почему вам позволено "иллюстрировать", а мне нет? Просто (не)интересно.
Нет, всё же вернёмся к моему тезису: язык не при чём, это просто инструмент.
A>>Это не надо называть. Надо приводить контраргументы — в этом суть дискуссии. Пока их не видно. S>С вашей стороны — безусловно.
Нет, с твоей. (Отличный уровень аргументации. Напиши теперь, что всё же с моей.)
Здравствуйте, anonymous, Вы писали:
A>Нет, я имею в виду твои вкусы.
А, то есть когда вы говорите что подобное нормально — это объективный факт, а когда я говорю что нет — это вкусовщина. Ок, вопросов нет, идите лесом уважаемый.
Здравствуйте, neFormal, Вы писали:
F>вот короткий код: F>
F>map(str, [1,2,3])
F>
F>какой тут сокращённый будет?
Ты показал зипование, сэкономил на слове lambda. Если последовательность константа, то лучше использовать comprehension.
Если же последовательность не константа, то лучше писать явно, не возникает геморроя с необязательными переменными
map(lambda x: str(x), arrayOfNumbers)
Примерно так. Извини, на питоне не писал много лет.
I>>И соответственно перформанс никакой. F>это что же, у нас у js перфоманс появился? F>нет, правда?
Именно. В полтора раза выше самого лучшего питона. По тестам techempower идет рядом с новым дотнетом.
Языки, которые транслируются в JS: gwt, script#, coffee, dart
I>>Это значит, что крутые герои на поверку оказались хуже говна, потому что не могут его сбороть. F>никому не было нужно. веб в таком виде взлетел без разумного анализа, на том, что было.
Это значит экономика джаваскрипта оказалась выгоднее других
I>>Как думаешь, кто даёт взятку людям, что бы они тащили JS во все области ? F>мозг. перестаёт утомляться, выбрасывает эндорфины.
И это правильно.
I>>У тебя есть объяснение ? F>"везде" — это где? кроме скриптинга html js можно встретить разве что в виде ноды. да и ту выпинывают все, кому не лень.
Ога. JS пролазит везде. Сервер, Десктоп, IoT например. И в микроконтролеры пролез.
Здравствуйте, Ikemefula, Вы писали:
F>>какой тут сокращённый будет? I>Ты показал зипование, сэкономил на слове lambda. I>Если же последовательность не константа, то лучше писать явно, не возникает геморроя с необязательными переменными I>
I>map(lambda x: str(x), arrayOfNumbers)
I>
дык:
1. всё же понятно
2. нет лишней переменной x
3. код проще для чтения. иначе зачем использовать ФВП, если есть боязнь таких выражений?
I>Если последовательность константа, то лучше использовать comprehension.
в среднем, везде лучше использовать компрехеншоны, но они ещё более кучеряво выглядят
F>>это что же, у нас у js перфоманс появился? I>Именно. В полтора раза выше самого лучшего питона. По тестам techempower идет рядом с новым дотнетом.
хм, дотнета там рядом не увидел. "самый лучший питон" там flask, который давно не самый лучший.
но вообще да, голая нода быстрее. за счёт того, что в ней совсем ничего нет, и даже тело запроса приходится парсить отдельным плагином.
интересно, протекает ли она, как раньше.
Здравствуйте, Ikemefula, Вы писали:
F>>"все" — это один и тот полудохлый vbs? I>Вот неполный список языков поддерживаемых в разное время браузерами: vbs, perl, python, rexx, tcl
перл вроде видел в такой ипостаси. про остальных не в курсе. когда они успели-то?
I>Непрямые конкуренты — С++, C# и Action Script: activex, flash, silverlight
в принципе, у них был шанс стоять рядом. кабы не косяки с ns-контейнером и безопасностью.
но на замену никогда не катили.
I>Языки, которые транслируются в JS: gwt, script#, coffee, dart
и не только. есть scalajs, есть лиспы.
I>Это значит экономика джаваскрипта оказалась выгоднее других
да, формошлёпством занимаются на том, что попроще, чтобы можно было набирать дешёвых сотрудников.
но я не вижу экономических причин в том, что какой-нибудь питон не заменил js. вижу только то, что в браузеры не встраивали.
I>>>Как думаешь, кто даёт взятку людям, что бы они тащили JS во все области ? F>>мозг. перестаёт утомляться, выбрасывает эндорфины. I>И это правильно.
зависит от целей. от этого дальнейшего развития и упрощения не будет. наоборот, всё будет усложняться, пока не рухнет.
I>>>У тебя есть объяснение ? F>>"везде" — это где? кроме скриптинга html js можно встретить разве что в виде ноды. да и ту выпинывают все, кому не лень. I>Ога. JS пролазит везде. Сервер, Десктоп, IoT например. И в микроконтролеры пролез.
фигня это всё. как питон в raspberryPi или lego mindstorm. поиграются и бросят.
когда потребуется решать реальные задачи они придут к другим технологиям. потому что мощность и выразительность языка конечны, да и рантайм не для таких вещей.
на десктопе же оно давно. в разных осях его часто пытались протащить. но для скриптинга в приложениях оно не очень подходит.
Здравствуйте, neFormal, Вы писали:
F>дык: F>1. всё же понятно
Кому ? Тебе или тому, кто будет после тебя код читать ?
F>2. нет лишней переменной x
Она явно показывает, сколько ты параметров используешь в каком виде.
F>3. код проще для чтения. иначе зачем использовать ФВП, если есть боязнь таких выражений?
Догадываться о неявных деталях значит проще ? ФВП у тебя и так есть, это фича не для зипования, а для комбинирования функций, дсл например.
I>>Если последовательность константа, то лучше использовать comprehension. F>в среднем, везде лучше использовать компрехеншоны, но они ещё более кучеряво выглядят
Это не страшно, явно == хорошо.
F>>>это что же, у нас у js перфоманс появился? I>>Именно. В полтора раза выше самого лучшего питона. По тестам techempower идет рядом с новым дотнетом.
F>хм, дотнета там рядом не увидел. "самый лучший питон" там flask, который давно не самый лучший.
Рядом или даже выше дотнета. Как то так. В целом позиции нода в этих тестах очень высокие, в некоторых даже в десятке.
F>но вообще да, голая нода быстрее. за счёт того, что в ней совсем ничего нет, и даже тело запроса приходится парсить отдельным плагином. F>интересно, протекает ли она, как раньше.
Здравствуйте, Ikemefula, Вы писали:
F>>дык: F>>1. всё же понятно I>Кому ? Тебе или тому, кто будет после тебя код читать ?
всем, кого я знаю. это настолько обыденное явление, что ещё лет 10 назад было нормой и описывалось в туториалах по языку.
время прошло, а ты так и перерос боязнь передачи ф-ций?
F>>2. нет лишней переменной x I>Она явно показывает, сколько ты параметров используешь в каком виде.
аа, я понял. это изза того, что js передаёт всё неявно, ты боишься, что и здесь будет лажа.
ну, блин, я даже не знаю. это, конечно, психологическая проблема: одним нужно явно прописать использование в коде, другим надо, чтобы язык спасал от лажи с неявной передачей аргументов.
F>>3. код проще для чтения. иначе зачем использовать ФВП, если есть боязнь таких выражений? I>Догадываться о неявных деталях значит проще ? ФВП у тебя и так есть, это фича не для зипования, а для комбинирования функций, дсл например. I>Это не страшно, явно == хорошо.
всё более чем явно. просто не так, как в js
I>Именно, в ней совсем ничего нет, в том и дело.
да, но для работы всё это нужно, поэтому такая синтетика нездорово выглядит.
тот же flask, например, содержит много чего. при этом по некоторым тестам он может сливать даже более жирной django. всё сложно.
Здравствуйте, neFormal, Вы писали:
F>>>"все" — это один и тот полудохлый vbs? I>>Вот неполный список языков поддерживаемых в разное время браузерами: vbs, perl, python, rexx, tcl
F>перл вроде видел в такой ипостаси. про остальных не в курсе. когда они успели-то?
По моему в конце 90х примерно. В начале нулевых уже почти никого не осталось.
I>>Непрямые конкуренты — С++, C# и Action Script: activex, flash, silverlight
F>в принципе, у них был шанс стоять рядом. кабы не косяки с ns-контейнером и безопасностью. F>но на замену никогда не катили.
Именно потому, что js был хилый, ajax не придумали, а DOM был слабо динамичный, куча всякого убер-динамичного UI делалось на всяих флешах и активиксах.
БОлее того, уже в начале нулевых были hta приложения, фактически, браузер без секурити который запускает всякие activex. Сейчас к этом вернулись только в виде nwjs и electron.
То если, на этих технологиях пытались пилить 'более лучший веб', потому что в браузеры никто не верил.
Скажем, когда я изучал activex, кругом во всех доках, журналах и блогах были примеры в основном по UI. И это было очень круто — один и тот же компонент в браузере и в офисе да забесплатно.
Все изменилось, когда Гугл показал какие чудеса можно творить внятным аджаксом, динамическим DOM и тд и тд. Соответственно все ящеры быстро сдохли.
I>>Языки, которые транслируются в JS: gwt, script#, coffee, dart F>и не только. есть scalajs, есть лиспы.
I>>Это значит экономика джаваскрипта оказалась выгоднее других
F>да, формошлёпством занимаются на том, что попроще, чтобы можно было набирать дешёвых сотрудников. F>но я не вижу экономических причин в том, что какой-нибудь питон не заменил js. вижу только то, что в браузеры не встраивали.
Выходит, что встраивали и все это отгнило.
I>>И это правильно.
F>зависит от целей. от этого дальнейшего развития и упрощения не будет. наоборот, всё будет усложняться, пока не рухнет.
Весь прогресс идет именно в том направлении, где мозг меньше устаёт и эндорфинов больше.
I>>Ога. JS пролазит везде. Сервер, Десктоп, IoT например. И в микроконтролеры пролез.
F>фигня это всё. как питон в raspberryPi или lego mindstorm. поиграются и бросят. F>когда потребуется решать реальные задачи они придут к другим технологиям. потому что мощность и выразительность языка конечны, да и рантайм не для таких вещей. F>на десктопе же оно давно. в разных осях его часто пытались протащить. но для скриптинга в приложениях оно не очень подходит.
Именно скриптинг в приложениях на JS появился еще раньше аджаксов всяких.
Здравствуйте, neFormal, Вы писали:
I>>Кому ? Тебе или тому, кто будет после тебя код читать ?
F>всем, кого я знаю. это настолько обыденное явление, что ещё лет 10 назад было нормой и описывалось в туториалах по языку. F>время прошло, а ты так и перерос боязнь передачи ф-ций?
Предлагаешь закрывать глаза на баги в чужом питоновском коде ?
I>>Она явно показывает, сколько ты параметров используешь в каком виде.
F>аа, я понял. это изза того, что js передаёт всё неявно, ты боишься, что и здесь будет лажа.
Я предпочитаю всё делать явно. Если в питоне затейники объявляют необязательные аргументы, ты огребаешь ровно те же проблемы, только хуже. Ибо есть иллюзия что питон все проверяет.
F>ну, блин, я даже не знаю. это, конечно, психологическая проблема: одним нужно явно прописать использование в коде, другим надо, чтобы язык спасал от лажи с неявной передачей аргументов.
Это статистика. В большинстве случаев, когда я вижу зипованый код как у тебя, там почти всегда ошибки находятся. Кодинг занимает мизерную часть времени, что бы на нём вот так экономить.
I>>Догадываться о неявных деталях значит проще ? ФВП у тебя и так есть, это фича не для зипования, а для комбинирования функций, дсл например. I>>Это не страшно, явно == хорошо.
F>всё более чем явно. просто не так, как в js
Покажи где в твоём примере явная передача параметров. Представь, что вместо map какой нибудь xxx. Сразу станет некомфортно.
I>>Именно, в ней совсем ничего нет, в том и дело.
F>да, но для работы всё это нужно, поэтому такая синтетика нездорово выглядит. F>тот же flask, например, содержит много чего. при этом по некоторым тестам он может сливать даже более жирной django. всё сложно.
Нужно всё не не сразу и далеко не во всех проектах. Так что для нода находится пространство.
Здравствуйте, Ikemefula, Вы писали:
F>>перл вроде видел в такой ипостаси. про остальных не в курсе. когда они успели-то? I>По моему в конце 90х примерно. В начале нулевых уже почти никого не осталось.
понятно. я большинство из них не встречал в дикой природе.
I>БОлее того, уже в начале нулевых были hta приложения, фактически, браузер без секурити который запускает всякие activex. Сейчас к этом вернулись только в виде nwjs и electron.
сейчас это всё через мобильные приложения типа facebook'а
I>Все изменилось, когда Гугл показал какие чудеса можно творить внятным аджаксом, динамическим DOM и тд и тд. Соответственно все ящеры быстро сдохли.
гугл это сделал, потому что уже тогда было понятно, что все эти технологии нерабочие.
activex к середине нулевых практически помер. остался лишь в рамках стека технологий мелкософта. например, для ie, msoffice.
I>Выходит, что встраивали и все это отгнило.
не видел примеров встраивания хотя бы питона.
всё остальное было хуже, чем js. при чём только в плане обучения и поиска кадров.
F>>зависит от целей. от этого дальнейшего развития и упрощения не будет. наоборот, всё будет усложняться, пока не рухнет. I>Весь прогресс идет именно в том направлении, где мозг меньше устаёт и эндорфинов больше.
да, а потом всё рушится, если нет развития.
I>Именно скриптинг в приложениях на JS появился еще раньше аджаксов всяких.
он же для бравзеров был наделан.
в приложениях типа игр js практически не встречается.
Здравствуйте, Ikemefula, Вы писали:
F>>всем, кого я знаю. это настолько обыденное явление, что ещё лет 10 назад было нормой и описывалось в туториалах по языку. F>>время прошло, а ты так и перерос боязнь передачи ф-ций? I>Предлагаешь закрывать глаза на баги в чужом питоновском коде ?
бага же нет.
I>Я предпочитаю всё делать явно. Если в питоне затейники объявляют необязательные аргументы, ты огребаешь ровно те же проблемы, только хуже. Ибо есть иллюзия что питон все проверяет.
тут нет необязательных аргументов, в том-то и дело.
I>Это статистика. В большинстве случаев, когда я вижу зипованый код как у тебя, там почти всегда ошибки находятся. Кодинг занимает мизерную часть времени, что бы на нём вот так экономить.
зависит от задач. ну или от скорости придумывания решений.
но в данном примере особого сокращения нет. это не экономия на спичках, это бОльшая выразительность кода.
F>>всё более чем явно. просто не так, как в js I>Покажи где в твоём примере явная передача параметров. Представь, что вместо map какой нибудь xxx. Сразу станет некомфортно.
дело ж именно в том, что тут как раз map. это очень стандартная операция.
другой случай я тоже могу представить. например, у меня есть несколько ф-ций, которые отправляют схожие запросы. если отделить формирование параметров и саму отправку, то получится что-то типа:
Здравствуйте, neFormal, Вы писали:
I>>Все изменилось, когда Гугл показал какие чудеса можно творить внятным аджаксом, динамическим DOM и тд и тд. Соответственно все ящеры быстро сдохли.
F>гугл это сделал, потому что уже тогда было понятно, что все эти технологии нерабочие.
Они как раз были рабочие. Флеш до сих пор в нише. Аплеты держались до 10го года.
F>activex к середине нулевых практически помер. остался лишь в рамках стека технологий мелкософта. например, для ie, msoffice.
I>>Выходит, что встраивали и все это отгнило.
F>не видел примеров встраивания хотя бы питона.
Питон работал в браузере, его не надо было встраивать. Мы встраивали питон в своё приложение, кстати говоря, он быстро отгнил, практически мгновенно.
F>всё остальное было хуже, чем js. при чём только в плане обучения и поиска кадров.
F>>>зависит от целей. от этого дальнейшего развития и упрощения не будет. наоборот, всё будет усложняться, пока не рухнет. I>>Весь прогресс идет именно в том направлении, где мозг меньше устаёт и эндорфинов больше. F>да, а потом всё рушится, если нет развития.
Как и везде.
I>>Именно скриптинг в приложениях на JS появился еще раньше аджаксов всяких.
F>он же для бравзеров был наделан. F>в приложениях типа игр js практически не встречается.
Это не так. Не в большинстве случаев, но есть. Я даже писал расширения на ём.
Здравствуйте, neFormal, Вы писали:
I>>Предлагаешь закрывать глаза на баги в чужом питоновском коде ?
F>бага же нет.
Наоборот, полно. Ктото же этот код пишет, прикинь ?
I>>Я предпочитаю всё делать явно. Если в питоне затейники объявляют необязательные аргументы, ты огребаешь ровно те же проблемы, только хуже. Ибо есть иллюзия что питон все проверяет. F>тут нет необязательных аргументов, в том-то и дело.
Все в порядке — в питоне есть и необязательные, и переменной длины.
I>>Это статистика. В большинстве случаев, когда я вижу зипованый код как у тебя, там почти всегда ошибки находятся. Кодинг занимает мизерную часть времени, что бы на нём вот так экономить.
F>зависит от задач. ну или от скорости придумывания решений.
Проектирование всегда занимает на порядок больше времени, если ты конечно не тривиальные задачи чпокаешь.
F>но в данном примере особого сокращения нет. это не экономия на спичках, это бОльшая выразительность кода.
Все эти неявные фокусы вылазят боком при правильном тестировании.
I>>Покажи где в твоём примере явная передача параметров. Представь, что вместо map какой нибудь xxx. Сразу станет некомфортно.
F>дело ж именно в том, что тут как раз map. это очень стандартная операция.
Я и говорю — частный случай, в котором все в порядке.
F>другой случай я тоже могу представить. например, у меня есть несколько ф-ций, которые отправляют схожие запросы. если отделить формирование параметров и саму отправку, то получится что-то типа: F>это как абстрагирование через типы, только через ф-ции.
Здравствуйте, Ikemefula, Вы писали:
I>Они как раз были рабочие. Флеш до сих пор в нише. Аплеты держались до 10го года.
флэш не в нише интерфейсов. игрушки на нём делали, да и сейчас делают. потому что удобно графоний натягивать.
а апплеты держались вплоть до отключения nsplugins в бравзерах. потому что разные банки любили их использовать. в остальных сферах они померли.
F>>не видел примеров встраивания хотя бы питона. I>Питон работал в браузере, его не надо было встраивать.
а когда это было?
I>Мы встраивали питон в своё приложение, кстати говоря, он быстро отгнил, практически мгновенно.
что за приложение было? какое применение питона?
F>>он же для бравзеров был наделан. F>>в приложениях типа игр js практически не встречается. I>Это не так. Не в большинстве случаев, но есть. Я даже писал расширения на ём.
Здравствуйте, Ikemefula, Вы писали:
F>>бага же нет. I>Наоборот, полно. Ктото же этот код пишет, прикинь ?
wat?
F>>тут нет необязательных аргументов, в том-то и дело. I>Все в порядке — в питоне есть и необязательные, и переменной длины.
ключевое слово "тут".
I>Проектирование всегда занимает на порядок больше времени, если ты конечно не тривиальные задачи чпокаешь.
больше, чем кодирование? ты там алгоритмы кодирования на js пишешь, что у тебя текста мало?
впрочем, после пассажа про dsl я уже не уверен в совпадении терминологии.
F>>но в данном примере особого сокращения нет. это не экономия на спичках, это бОльшая выразительность кода. I>Все эти неявные фокусы вылазят боком при правильном тестировании.
во1х, это явное указание
во2х, тестирование от этого не страдает. или показывай пример.
F>>другой случай я тоже могу представить. например, у меня есть несколько ф-ций, которые отправляют схожие запросы. если отделить формирование параметров и саму отправку, то получится что-то типа: F>>это как абстрагирование через типы, только через ф-ции. I>Это уже почти дсл.
да хоть что. код становится проще, читабельней, хорошо поддаётся правке.
Здравствуйте, Ikemefula, Вы писали:
I>Аналоги Q я видел вне JS задолго до появления их в JS. Как то так
Разумеется! Мракобесного индусского C кода очень много.
Но все разумные люди ничего серьезного на C давным-давно не делают.
А когда-то были попытки, isapi такой. http://rsdn.org/article/inet/wrisapi.xml
Здравствуйте, Ikemefula, Вы писали:
I>Ты лучше расскажи, зачем тебе в этом коде дебагать ? В браузере уже есть промисы свои, их не надо проверять и дебажить
В каком — этом??? Любая машина со временем превращается в опель, любое приложение на JS, который сложнее Hello world, превращается в набор из показанных мной компактных личинок.
Write-only код, написан чукчей-нечитателем, неподдерживаем в принципе.
Именно об этой фиче нашего простого языка мы тут и разговариваем.
Здравствуйте, Serginio1, Вы писали:
S> Ну к этому времени и JS будет совсем другим. Добавили модульность, async await. Linq прикручивают http://www.javascriptlinq.com/ S> Правда типизация пока только в TS.
Очаровательный сайтик — даже навигация (меню и ссылки) работает только в 1/3 случаев. Даже боюсь представить что они там предлагают в своих библиотеках.