• Что такое Docker простыми словами?

    sryze Василий Банников А если пользоваться нативным докером на Винде, так и на Винде виртуалка не понадобится) Жаль что только он мало кому нужен.
    Написано
  • Где можно прочитать про всю суть ЯПов под капотом?

    werwer Советую остыть по поводу ООП и максимы "всё - объект", это один из самых дурацких абсолютов, которые я только встречал.
    Объекты - это про абстракцию и изоляцию, т.е. когда хочется контролировать, как обрабатываются конкретные данные, способ управления сложностью так сказать.
    Лучше читайте про более базовые вещи, поизучайте типизацию например, поизучайте TypeScript в конце-концов. И да, теорию тоже нужно читать, Stalker_RED привёл отличные примеры, когда язык вас просто "обманул" - вы пытались опытным путём найти логику там, где её в принципе быть не может (typeof null - это тупо ошибка реализации, которую узаконили в качестве фичи языка лишь бы не ломать совместимость).
    Написано
  • Что за значки под ярлыками на рабочем столе Windows?

    gunner951 Что у вас на вкладке Sharing в свойствах папки Desktop?
    Написано
  • Ошибка при компиляции файла в cmake, mingw и wxwidgets?

    Покажите вывод CMake на этапе генерации мейкфайла, там должна быть ошибка по идее, то что вы показываете - это лишь следствие.
    Написано
  • Почему выражение (-1ll) в ассемблерном коде MSVC равно ff ff ff ff?

    Nipheris
    @Nipheris Куратор тега C++
    Отличный ответ, моё уважение.
    Написано
  • Неполцноенное ООП в javascript и значение этого?

    galeyraf mayton2019 записям нужна иммутабельность ровно по той же причине, по которой целочисленному значению 5 нужна иммутабельность. Странно же задавать вопрос, мутабельно ли значение 5, не так ли?

    Конечно же языки могут поддерживать и создание "мутабельных" записей, но это не более чем два-в-одном - и запись, и переменная, ещё содержащая.
    Написано
  • В чём отличие многопоточности и асинхронности в контексте .NET C#?

    Nipheris
    @Nipheris Куратор тега C#
    Griboks вот человек и так запутался, а вы ещё корутины вспомнили)
    Написано
  • Неполцноенное ООП в javascript и значение этого?

    galeyraf
    это можно назвать составным простым значением

    Вот именно! В точку, это оно и есть! Т.е. такое же по своей семантике как number или boolean, только составное.

    простота инструмента это ценность

    Согласен, до тех пор она не создаёт препятствий, она очень ценна. Именно поэтому я до сих пор не купил себе шуруповёрт - нафиг он мне нужен, у меня несколько отвёрток, они гораздо проще, для работ по дому их хватает с головой) Но врядли со мной согласятся профессиональные строители, которые по 1000 шурупов в день заворачивают.

    То же самое и про ЯП: всё хорошо до тех пор, пока ты можешь выразить свою мысль, смоделировать задачу. А программу мы пишем прежде всего для других разработчиков, а не для компьютера, и тут в игру вступают совершенно другие вещи. Легко писать программы в одиночку. Сложнее, когда вас трое. И сильно сложнее, когда вас уже 100-150 человек. Нужно уже как-то передавать свои идеи и решения другим разработчикам с помощью языка программирования. Собственно именно поэтому TypeScript и появился.
    На работе разработчики код в основном читают, а не пишут, и общаются друг с другом во многом через код. У меня нет задачи сверстать страничку к вечеру, мне нужно решать сложные вещи в большом проекте, которые должны проработать не один год и не ломаться каждый день. И мой код будут читать годы спустя, я может уже не буду работать в этой компании.
    Написано
  • Неполцноенное ООП в javascript и значение этого?

    WbICHA если б дело было в Ноде, мы бы сейчас видели в каждой вакансии с JS какой-нибудь Express или Koa. Но что-то везде я вижу React да Vue :D .

    Очевидно, что пихать поддержку какого-то другого языка было бы очень странно.

    Конечно, полностью согласен. Я ж не говорю что необходимо было другой язык добавлять, я говорю что может не стоило из браузера делать операционную систему и переписывать всё, вплоть до Ворда и Фотошопа только чтобы засунуть это в браузер?) А вот когда всё-таки решили засунуть в браузер вообще всё, тогда конечно уже не помешал бы другой язык исполнения. Собственно достойных попыток было немало - ActiveX-документы (хотя конкретно эта попытка была хреновая), Java-апплеты, Flash, Silverlight... Всё это либо вообще не взлетело толком, либо уже отслужило свой срок. А Гугл взял и вместо выкатывания новой, вендорской технологии, просто ускорил стандартный JS и HTML до небес. И тогда вроде бы написанное приложение работает во всех браузерах - разработчикам очень удобно. Но в Хроме оно работает быстрее всего, поэтому пользователи ставят себе Хром. Отличная схема пересадки на свой браузер, никакого обмана (без сарказма). Только теперь, когда все пересели, можно контролировать эту платформу как хочешь. Особенно удобно предоставлять рекламные сервисы - AdSense куда проще встроить в HTML-приложение, нежели, к примеру, в десктопное приложение на WPF.
    Написано
  • Неполцноенное ООП в javascript и значение этого?

    galeyraf В большинстве языков программирования, где представлена концепция объекта в том или ином виде, также есть и концепция записи. Концепция объекта подразумевает важную штуку, которая называется object identity (даже целая статья на вики есть). Это значит, что при сравнении объектов нас прежде всего интересуют некие их идентификаторы, а не содержимое их полей. Это согласуется с тем, что объект это обычно чёрный ящик, и внешний код не может работать напрямую с полями объекта (со всеми или с большинством). Кроме того, это полезно и при моделировании реального мира - даже если у двух объектов Студент имя, фамилия и отчество полностью совпадают, это не значит что это один и тот же человек. Тут в JS всё в порядке - объекты действительно сравниваются по ссылке, а не по значению (содержимому), как и в других языках.

    Но есть куча ситуаций, когда это identity совершенно лишнее. Например, я хочу сохранить в переменной RGB-цвет. Цвет полностью определяется численными значениями своих компонент. Мне нет никакого смысла добавлять к нему ещё дополнительную информацию в виде object identity и говорить, что вот этот цвет (10, 50, 70) НЕ РАВЕН цвету (10, 50, 70) только потому, что цвета - это объекты, и у них не совпадают identity (т.е. ссылки, если говорить про JS). Ну глупо же звучит? Но при этом в JS именно так и будет происходить - т.к. композитные значения я могу сделать только объектами (ну или массивами в частности), мне придётся для их сравнения городить огород с вызовом каких-то кастомных функций сравнения. Я не смогу просто вызвать оператор === для этого. В других языках такой проблемы нет, например в C#.

    Я бы даже сказал, что записи - это куда более базовая вещь, чем объекты. Записи и кортежи - это декартово произведение входящих в них компонент. А вот уже объект - это по сути инкапсулированная запись, с добавленным к ней identity и методами для реализации поведения.

    Кроме того, правильные записи должны быть иммутабельны - ведь если я поменяю у цвета красный компонент с 10 на 20, это будет уже другой цвет. А для объектов наоборот, менять состояние - это абсолютно нормально, они для этого и придуманы. Потому что у них всегда есть неизменяемое identity в течение всего времени жизни, как бы там внутреннее состояние объекта не изменялось.

    Собственно ничего нового я вам не сказал, есть куча статей по сравнению объектов и записей как концепций.
    Написано
  • Неполцноенное ООП в javascript и значение этого?

    mayton2019 Вы никак не можете понять мою позицию: предметная/прикладная область разработки не должна быть настолько сильно связана с используемым языком, особенно когда это высокоуровневая разработка. Я это и хочу объяснить вам, что это ненормально - что если мне не нравится JS, я должен перестать делать фронт. А если мне нравится HTML и CSS как языки вёрстки интерфейсов (это не совсем так, ну допустим что так)? В мире придумали кучу ОТЛИЧНЫХ языков программирования, почему я не могу сменить только язык? Почему целая КОМАНДА опытных людей не может сменить язык, продолжая делать ту часть продукта, которую они делают?

    Вы смотрите с позиции "надоест - уйду", т.е. вам не интересна инициативная позиция "надоест - переделаю". Позиция "надоест - уйду" имеет полное право на жизнь, но она перестала для меня быть привлекательной. Поэтому да, я возмущаюсь, причём системно, и поддерживаю инициативы по смене текущего состояния дел. Меня беспокоит то будущее, куда мы идём в обнимку с этим самым JS.

    В концепцию что всё само придёт к правильному состоянию и само уляжется оптимальным образом я в последние несколько лет тоже не совсем верю. Компилировать TS в JS, теряя информацию о типах, чтобы потом V8 в целях оптимизации опять угадывал, в каких переменных какие типы данных могут быть - это технологический идиотизм. Я прекрасно понимаю, как мы к этому пришли, но не вижу для себя оправданий сидеть и любить то, что получилось.
    Написано
  • Неполцноенное ООП в javascript и значение этого?

    mayton2019
    У вас - плюсовики сидят без работы и за каким-то хреном кодят фронт.

    Ну и вообще, по-вашему это нормально, что человек должен менять область разработки только потому, что там прижился чёрти какой язык? Почему-то на бэке такого вопроса не возникает - все упарываются по микросервисам и пишут их на трёх-четырёх языках даже в небольших компаниях. Почему? Наверное потому что могут?))
    Написано
  • Неполцноенное ООП в javascript и значение этого?

    mayton2019
    У вас - плюсовики сидят без работы и за каким-то хреном кодят фронт.

    Работы у нас достаточно, просто не все в восторге от JS, мягко говоря, даже от современного.

    У вас - не существует линейки браузеров. У вас он почему-то заявлен один.

    https://www.oberlo.com/media/1686051830-most-popul...
    Посчитайте, сколько тут браузеров. Именно движков, а не обёрток. Я вижу Хромиум и Сафари. Сафари, который ненавидят все веб-разработчики и который стремительно потеряет в популярности, если Apple отпустит хватку. ФФ плетётся где-то там, скоро его обгонит самсунговский браузер, которым пользуются только те, кто не может поставить Хром на мобилу. Где ваши пять браузеров? Обёртка не стоит ничего, по сравнению с движком. Обёртку много кто смог написать, а вот движок уже настолько сложный, что его никто написать с нуля не сможет за разумные деньги/время. А значит инициатива принадлежит тому, кто имеет основную долю влияния на существующий движок, решает какие API добавлять, какие функции реализовывать.
    Написано
  • Неполцноенное ООП в javascript и значение этого?

    mayton2019
    Где? Да где там этот пресс-релиз в котором гугл объявляет что он делал что-то для языка?

    Если бы гугл не пнул всех под зад (в хорошем смысле этого слова) своим движком V8, JS до сих бы тормозил настолько, что падающие снежинки на страничке жрали бы 100% процессора, как в 2004-м году.
    Разумеется, вместо Гугла это могла быть другая компания - Mozilla, Microsoft, кто-то ещё - тогда мы б обсуждали эту компанию, а не Гугл.
    Написано
  • Неполцноенное ООП в javascript и значение этого?

    mayton2019
    Может ты просто путаешь с браузером Chrome?

    Не, не путаю. Потому что фронтэнд - это и есть Хром. А если бы не фронтэнд - JS был бы... мало кому интересен. Не интереснее какого-нибудь Lua. Бэк на JS пишут на 80% потому, что уже знают JS, а не потому что это объективный выбор из 3-4 языков.
    С чего это?

    С того, что доля ФФ падает и по сей день. Не то чтобы Мозилла не была сама в этом виновата, но радостнее от этого не становится.
    Какое влияние?

    https://www.infoworld.com/article/3651503/the-rise...
    Или наоборот фронтовики бросят JS и станут учить более сложные языки?
    Да зачем это им?

    Например мне вот нужно. Я не могу поменять проект, не могу стать бэкендером, я хочу писать фронт на нормальном языке. То что 90% разработчиков не видят дальше своего носа и вообще делятся на "лагеря" - это лишь следствие того, что им в общем-то плевать на то, что вокруг происходит, пока им за их работу платят. А даже если и хотят, допустим, пописать на Rust - ну они просто меняют проект/роль и идут куда-нибудь на бэк. Никто не пытается отвязать платформу (веб-фронтэнд) от JavaScript.

    По стечению обстоятельств в моём текущем проекте работает с десяток бывших плюсовиков, которые много лет назад вынужденно пересели на JS из-за сдутия одного проекта, и резкого развития другого. И почти все до сих пор регулярно плюются от JS, хотя казалось бы мы пользуемся тайпскрипт, голого JS в проекте почти не осталось. А если вспомнить 2015-2016 годы, когда ещё TS не было, то... лучше не вспоминать))
    Написано
  • Неполцноенное ООП в javascript и значение этого?

    mayton2019 Я понимаю что JS гораздо старше гугла, просто именно гугл сделал его достаточно быстрым, чтобы заманить на него и пользователей, и разработчиков. Понимаете, я не верю что сейчас есть некий абстрактный "веб" как независимая платформа для приложений. Эта платформа почти полностью гугловая. Я пишу этот коммент из ФФ, но кажется ему в ближайшие лет 7-10 трындец наступит.
    Гугл отхапал себе знатный кусок в войне платформ, а никто будто этого не замечает, не пойму в чём дело.
    Сам JS как язык нисколько не заслуживает быть единственным языком этой платформы (слава богу wasm наконец обретает своё влияние), но он именно такую роль сейчас играет. Просто потому что собрались лучшие умы и победили технологией здравый смысл, добавив в V8 всякие штуки вроде угадывания классов и прочие вещи касающиеся мономорфизма объектов.
    Написано
  • Неполцноенное ООП в javascript и значение этого?

    Но вообще конечно JS это рак в теле современного IT, а точнее результат нагибания Гуглом всех остальных платформ. Как я уже писал, если бы Гугл не захватил умы разработчиков, JS просто был бы ещё одним языком, далеко не всеми любимым. Который бы выбирали из числа Python, Go, Ruby.
    Написано
  • Как следить за версионностью в клиент-серверном приложении, в выпускаемых фичах продукта?

    У него как у продукта, есть версия к примеру 2.2.

    Это зачем? Для кого? Кто будет пользоваться этой информацией?
    Написано
  • Firefox - как выключить режим картинка в картинке?

    Firefox не добавляет иконку picture-in-picture, если длина видео меньше 45 секунд (по-умолчанию, длительность можно настроить в about:config).
    А почему у вас встала такая задача? В чём смысл ограничения? Кому от него легче будет?
    Написано