На днях коллеги опять вспоминали любимую историю коллеги Ромы Здебского про древний-древний DevDays в Москве, проходивший в Бауманке. Тогда я якобы сказал “JavaScript маньяки, я не вижу ваших рук”. Сам я точно такой фразы не помню, однако хорошо помню как публично признавался языку JavaScript в любви. И тут меня спросили, а почему я люблю JavaScript. Я задумался над этим вопросом и решил на него развернуто ответить, указав на те забавные или полезные моменты, которые мне нравятся. Программирование не этолько наука, но и искусство, а значит здесь есть место и словам “просто нравится так”.
1. Возможность передавать функции в качестве аргументов, возвращать их в качестве результатов выполнения других функций, присваивать переменных и сохранять в структурах данных. По-умному это называется first-class functions или то, что функции являются объектами первого класса.
>>181036420 Кроме того, я использовал еще одну любимую мною технику - анонимные функции, очень удобные в качестве параметров для всевозможных обратных вызовов, например для создания обработчиков событий элементов страницы.
2. Поскольку функции являются объектами, то они могут иметь свойства. Конечно, это следствие п. 1, однако само по себе оно весьма забавно, а иногда очень удобно и полезно. Например, свойства могут пригодиться при динамической работе с функциями, чтобы различать функции по типу, обрабатывая в соответствии с типом.
>>181036436 3. Замыкания (Closures). Возможность функций получать доступ к переменным из внешнего контекста. Подробно о замыканиях написано в Wikipedia.
4. Вызов функций в месте декларации.
Удобно определить функцию и тут же ее вызвать, при этом еще как-нибудь извратиться, создать объект, одним из свойств которых является функция, и этот объект использовать.
>>181036741 Но зачем мне писать на вашем объектно-недоориентированном говне? Язык для того чтобы было удобно на нем писать, а не чтобы постоянно помнить о его 9000 и одной мелкой подлянке и десятках глобальных косяков.
>>181037177 А ты, дурачок, видимо, никогда не работал в колективе над крупным проектом. тебе бы только шашкой помахать. Хренак, хренак, в продакшон, а завтра тебя уже нет. Если есть в языке такие рогатки, в крупном длинном проекте выстрелят обязательно. И ловить это придется мучительно долго.
>>181037007 Затем же, зачем любой сахар в любом языке, начиная с функций, которые нужны, чтобы в ручную не складывать аргументы на стек, передавать и возвращать управление по адресу.
>>181037708 сначала хотел написать, что на пике какая-то хуйня из синхронного код вперемешку с лапшой из колбэков, но потом вчитался и понял, что тот, кто это написал либо даун либо не знает js
Веб-макаки еще существуют разве? Надо же, живучие какие. Хотя они и поедая говно выживут. Всегда дико проигрываю когда слышу, что в 2018 кто-то планирует вкатываться в веб.
>>181038053 Ваше пизданутое бидон сообщество довело Гвидо. С другой стороны Гвидо создал чудовище которое привлекло всевозможных фриков, которые в итоге выжили создателя. Так и живем.
>>181041357 >реально кроме пары контор 4 в TIOBE Index, но в вашем мухосраске могут и не использовать >было-математиков не осиливших хацкел Зачем он в математике? >глючная поделка Не в js треде
>>181041667 >но в вашем мухосраске могут и не использовать Москва - мухосранск, ок. Хотя в этом виноваты в первую очередь всякие понаехавшие бидоно-кодеры
>>181044405 Чтобы начать писать на js хватит от нескольких часов, до нескольких дней. Чтобы усвоить концепции и нюансы объектной системы - могут уйти месяцы, в зависимости от человека.
>>181035691 (OP) При том что во фронт и дотнет пытается вкатиться, и ещё много кто через WebAssembly, то жс макаки могут начать в скором времени насасывать хуй.
>>181044743 Никаких кардинальных постоянных новшеств не происходит. Всему новому и модному уже 5-10 лет. Учитывая, что современному вебу всего лет 15 - это лишь иллюзия.
Товарищи прохромисты, "Автоматизация рутинных задач с помощью Python" Свейгарта подойдет для вката в автоматизационное тестирование, если до этого писал только хеллоуворлды? Для автоматизации ведь не нужен скилл кодинга как для разработки. Или с чего лучше начать вкат в qa automation?
>>181044844 Программирую 20 лет (веб-фулстек\прикладное по\мобильная разработка)- никакой пользы, выгоды и интереса в чистых функциональных языках никогда не видел и не вижу.
>>181045545 Это не пыхари. А те кто в него перекатываются. (точнее для тех) Так же, как в js тащат сахар, для тех, кто не может осилить прототипную объектную модель. Это обусловленно популярностью языка.
>>181047412 А потом кто нибуть полезет это говно разгребать и сгорит на работе. Алсо, в теории, можно же закодировать и создать ключ. Типо заменить все "переменнаянейм" на жопы, убирающая "или" если сравнивается одно и то же?
>>181047742 >А потом кто нибуть полезет это говно разгребать и сгорит на работе. На работе, работают с исходником, там названия нормальные. Js - скриптовой язык, исполняющийся на клиенте. Т.е. если не обфусцировать код, то любой пользователь может видеть исходник.
>>181049608 Разница концептуальна. Между джабой и джс нет ничего общего. Разные области применения, разные возможности. хотя есть ощущение, что джс через 5-7 лет будет везде, от веба до бигдаты с машин ленинг Это как сравнивать молоток с лобзиком -- вроде бы инструменты, но для совершенно разных задач. мимо энтерпрайз-господин
>>181049608 > между JavaScript и Java Первоначально JavaScript назывался Mocha, потом LiveScript, потом его стандартизовали, а самою популярную реализацию запатентовали под названием JavaScript, ввиду моды на Java в то время. В сущности сам язык сейчас называется ECMAScript.
>>181050218 >джс через 5-7 лет будет везде А сейчас жаба везде, если я правильно понял?
Просто я работаю за комбустером и чтобы не охуевать от рутины и застоя в мозгах решил что-нибудь учить, чисто для себя. Думал что выбрать, питон или джаву. В итоге начал курить курс по основам программирования, а там джаваскрипт. А тут как раз тред про него
>>181050645 Область применения джабы -- энтерпрайз. Джс -- веб. как фронтенд, так и бекенд. Путон -- веб бекенд(джанго), эмбедеддед, а так же машин ленинг, биг дата етц. Выбирай что душе угодно.
>>181051310 В емакс есть evil-mode, на 99% эмулирующий работу вима. Поэтому нет смысла ставить вим или емакс, надо ставить емакс+вим, т.е. emacs + evil-mode.
>>181051901 Ну у тебя есть множество символов для идентификаторов, и для операторов. А так же они должны не пересекаться. А поскольку минус поважней будет, дефис идёт нахуй.
Хотя, к примеру, в лиспах можно обойтись одним множеством.
>>181052570 Ну я ж говорю комп перед поломкой вис несколько раз с артефактами. Ладно, последний вопрос. Я правильно понимаю, что если бы процу была пизда, то комп даже бы не включался или не факт? Спасибо что отвечаешь няша
>>181053014 Тут почти всё не факт слишком нынче дохуя транзисторов в процессоре. Но грешить на проц, это последнее дело либо сразу брак, либо ему норм, если не спалить, конечно. С бо'льшей вероятностью с мамкой что-то не то и подобное.
>>181052307 if(getAuthorByID(181052307) == "Chmoha"){ alert("Я понял кто ты. Ты же та самая веб-макака из /pr/, которого чуть не изнасиловали 4 чеха, да? Узнал тебя по характерным синтаксическим ошибкам и неумением писать код. Ну что же ты опять размычался на весь тред о своих проблемах? Тебе мало было, когда круг почётных и олдфажных сеньеров дружно надудонил тебе на голову, да так, что ты потом ещё месяц тестировал сайты на IE, размахивая своей кровоточащей windows. Когда же ты угомонишься, несчастный имбецил, удел которого подбирать паттерны от нормальных и состоявшихся в жизни людей и перестанешь отписываться в тредах со своими шизоидными хтмл файлами. Даже не буду читать этот высер залётной даунидзы, просто просрусь на его прыщавый ебальник и нассу за шиворот холопу, чтобы не повадно было без разрешения тявкать. Свободен, тестируй."); }
>>181061391 Vanilla JS всегда будет в тренде, пока фреймворки на его базе будут вырастать и увядать. Довен не понимает, что тот, кто в состоянии делать инструменты, на голову выше того, кто пользуется инструментами. Впрочем, хорошо, что ты так думаешь, ведь чем больше таких, как ты, тем больше платят тем, кто уважает и знает vanilla js.
Ну давай, напиши мне программу для вычисления электропроводности воды по частоте и залей все это в гребаную атмегу, а потом сосет, ибо памяти не хватит.