- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
//We want to create a range of N elements (from 0 to N-1 for simplicity)
const N = 10;
const res1 = Array.apply(null, {length: N}).map(Number.call, Number);
const res2 = [...Array(N).keys()];
const res3 = Array.from({length: N}, (val, i) => i);
const res4 = Array(N).fill().map((e,i)=>i);
Иньо парсил xml регулярками?
{{test}}
почему вот так писать плохо
а вот так хорошо
?
https://cs8.pikabu.ru/post_img/big/2018/03/25/7/1521974068128958990.jpg
PHP был зашкварен теми, кто предал учение MVC и генерировал HTML вместе с логикой. Ввели Smarty, который был пока ещё не зашкварен.
Когда на Smarty появляется смешение логики и интерпейсов, Smarty зашкваривается, и на его место должно прийти что-то другое (то же самое, но с другим названием), что будут использовать для шаблонизации до следующего зашквара.
На глагне «ГК» всплывают говнокоды на разных языках. Просмотр говнокода на «PHP» мгновенно зашкваривает зрителя. Ваши родные знают, что вы бываете на «ГК», но через плечо к вам не заглядывают, поэтому не знают, видели ли вы код на «PHP» или ещё нет. Получается, что для них вы одновременно зашкварены и ещё нет.
питон
руби
питон короче, но руби читаемей
http://php.net/manual/ru/language.generators.overview.php
В «ES6» вроде много чего добавили, но я им не владею (нужно позвать 1024--).
На ES6 декларативно выразить "сделай мне массив значений от х до у" невозможно, будем костылить:
https://habr.com/ru/post/106274/
Думаю что в аду для него есть специальная сковородочка, рядом со сковородочкой для Расмуса
По какой-то причине на OCaml, C++ и JavaScript пишут разные люди.
Я ничего не имею против JS как против языка для несложных скриптов.
Но кажется что на нем уже начали писать IDE, и это как-то пугает
Я довольно часто слышу такое мнение и полностью с ним согласен.
>Но кажется что на нем уже начали писать IDE, и это как-то пугает
https://www.reddit.com/r/emacs/comments/ahjfpk/wouldnt_it_be_nice_if_emacs_rewrote_in_o op/
JS удивителен в этом плане: язык прошел огромный путь, развился и разросся за такое малое время. Если так на это смотреть, то стандартная библиотека js без range, но с wannabe-метапрограммированием с помощью Object и Function методов полностью такой порядок дел вокруг отображает.
Просто пинок JS получил в конце нулевых, когда война за rich client application закончилась его победой.
И поскольку им занимается не одна компания, то у нас классический design by committee:)
А в целом пора бы уже начать хоронить скриптовые языки.
Это в 1995 году статическая типизация мешала, а теперь помогает. Я правда не понимаю чем JS лучше того же Kotlin
А интересно, как бы выглядели сайты в альтернативной вселенной, где основным языком является VBScript.
Скорее всего они взяли бы всё в свои руки, заставили бы производителей браузеров платить им fee, в итоге VBS ни в каких попен сурс системах бы не работал, и W3C с ноля разработал бы что-то более внятное.
зы: почему вообще надо выбирать между двух стульев?
Главное - есть все возможности для реализации в библиотеках.
Начиная с ??? работает r = range(1, 10); while((x = r.next()) !== null) ...
Начиная с ES5 работает range(1, 10).forEach(...).
Начиная с ES2016 работает for(const x of range(1, 10)), причём range - ленивый питух.
Начиная с ES2018 работает for await (const x of range(1, 10)), причём range - ленивый асинхронный питух.
JS - хороший низкоуровневый язык, на основе которого можно легко создавать свои выразительные диалекты.
Причём они даже завезли variable templates, через которые можно описать это пи... Но пи как не было так и нет. Зато есть функции бесселя.
дождаться выполнения операции над массивом, выполнить другую операцию и сохранить результат, я пишу что-то вроде
Как вышло что в ES5 нам дают array методы, а в ES2016-2018 мы снова откатываемся к for?
Uniform Function Call Syntax:
Но комитету такие смелые дизайнерские решения не нужны, поэтому лучше они накидают блочной императивной хуйни чтобы индусам, которые получают карри за кол-во строк кода, было на что жить.
Опустим Wolfram language или тот же R, которые ты, очевидно, посчитаешь хуйней для задротов, приведу тебе пример из моей практики веб-макаки:
В reactjs если надо создать много (относительно) одинаковых элементов, нужно каждому присвоить уникальный key, и если элементы чисто визуальные(например, затычки), то присвоить каждому компоненту элемент натурального ряда чисел - первое, что приходит в голову.
К слову, костыльный вариант ES6 отлично с этим справляется, так как позволяет отрендерить элементы "не отходя от кассы":
А «Ideone» не поддерживает «\b». Ну и говно!
Кроссплатформенность!
https://wandbox.org/permlink/5jKwmvNFmQxCs0De
То ли дело Haskell:
З.Ы. Ну хотя ты его на "vhdl" перепишешь. Так что и правда тлен.
if + goto же.
А вот какой-нибудь mov cr3, page_table уже хер перепишешь.
Ты просто пишешь в регистр указатель на таблицу странц в памяти, какая разница на каком язвке?
В борланд си например был API доступа к регнистрам
cr3 там конечно не было, но всякие AX были
З.Ы. Само собой, для верилога и вхдл есть симуляторы которые работают на последовательной машине через эти ваши if/then. Но они пригодны только для отладки и юнит-тестов. Это операторы параллельного присваивания. Они выполняются одновременно по фронту сигнала clk. Удачной реализации на обычном языке ;)
Ты можешь симулировать всё это даже на одном ядре. Но такты растянутся во времени и, скорее всего, нормально взаимодействовать с внешним миром эта симуляция уже не сможет. Резиновая женщина, в общем.
Давай, чтобы не оскорблять ничьи религиозные чувства, будем считать "Verilog" не языком программирования, а языком для описания схем.
И раз уж у нас есть машина тьюринга с бесконечной памятью, то пусть она будет ещё и очень быстрой.
З.Ы. Прочитают джва - один хер не прочитают 200.
P.S. Я понял, чем плохи мультибайтовые инструкции IN/OUT. Можно отправлять данные только в смежные порты, а не в произвольные.
Положим, у меня древнепроц и шина 16 бит. Будет последовительно писнуто 2 байта и еще 2 байта итд?
ЗЫ. Мне всегда CA нравились. Интересно, есть ли какие-нибудь каптуперы на их основе?
Машина тьюринга на life? Вроде есть...
http://govnokod.ru/24819#comment431158
Хотя, даже если писать на HQ9+, придёт человек со знанием HQ9++ и напишет такой же квайн на другом языке.
Хотя, тут как с самым большим числом: всегда можно придумать свой язык, который делает то же самое.