Как стать автором
Обновить
45
5.1
Alex Gusev @flancer

flancer32.com

Отправить сообщение

"фантазии экспертов" - звучит забавно. Эксперты, как бы по определению - "люди, обладающие знаниями". А фантазия - самое что ни на есть отсутствие знания. Оксюморон получается, однако.

При чём тут трансляция/транспиляция? Когда вы, как программист, пишете код в котором вам нужно знать, где находятся исходники ваших зависимостей (import ... from ...) - это ранее связывание, когда вы предоставляете возможность кому-то из-вне дать вам эти зависимости - это позднее. Всё. Код после этого может транспилировать/компилироваться/интерпретироваться. Можно использовать любой ЯП. Инверсия контроля - она про позднее связывание. Но чтобы инверсия заработала, ваш код должен быть готов к этому. Вы сами, как разработчик, должны быть к этому готовы.

Вот вам пример JS-кода с 6 зависимостями и без единого статического импорта. Чистейшее позднее связывание. На этапе написания кода вы декларируете, какого типа (с каким интерфейсом) объект (уже готовый и настроенный!) вы хотите получить в качестве зависимости, а что вы получите во время исполнения - зависит от приложения, в котором этот код работает.

Спасибо за ваши комментарии, всегда интересно понять, как именно по-другому люди видят те же самые вещи и процессы.

Вот то, что вы здесь написали, вы написали с точки зрения исполнителя кода. А то, что написано в статье - с точки зрения "писателя" кода:

В этой публикации я «на пальцах» попытаюсь объяснить, чем отличается раннее и позднее связывание кода для обычного программиста. Не для компилятора или статического анализатора, а для человека, который пишет JavaScript/TypeScript-код.

Попробуйте посмотреть на мой текст вот с этой точки зрения. И вы совершенно правы:

поиск методов класса/интерфейса/объекта осуществляется по человеко-читаемому имени на этапе run-time

и если

для меня это позднее связывание однозначно

то я могу за вас только порадоваться :)

Эх, первый раз я интернет в универе увидел, мне мой одоноклассник, работавший там оператором на "шкафах", какой-то шведский gopher показывал и объяснял, чё там. Потом dial-up и жужжание модемов. Потом интернет в каждом доме. Сейчас - в каждом кармане. Завтра, походу, будут выдавать по талонам.

Есть в этом какая-то странная логика: пока никто не знает, для чего это - навязывают, как все разобрались - запрещают. С тревогой смотрю в сторону ИИ.

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

Как аналитик, могу сказать, что мгновенное получение информации, на сбор которой ранее приходилось тратить часы, дни, недели и даже месяцы, существенно ускорит процессы в бизнесе.

Ошибаться станет проще и ошибки станут грандиознее!

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

Но так-то зависимости должны были остаться в кэше у какого-нибудь девелопера, их можно было достать, оформить локальный репозиторий в проекте (composer.json):

{
  "repositories": {
    "local": {
      "type": "artifact",
      "url": "../repo/"
    }
  }
}

и выложить в ../repo/ нужные зависимости в виде zip-файлов:

и можно выкатываться.

Да прямо из развёрнутого дев-проекта можно делать - закатать в zip любой фолдер из ./vendor/{name}/, главное, чтобы composer.json внутри был с нужным названием и всем остальным.

Любопытно, я про BSD слышу десятилетиями, а в фаворе - Linux. Почему так? Что есть у линукса, чего нет у бсд?

С одной стороны я считаю что ИИ это конец человеческой цивилизации, благодаря ему люди вымрут подобно мамонтам.

Интересно, а почему вы так считаете? Я пока что вижу, что сотрудничество человека и ИИ приносит пользу обоим, а вот конкуренция в перспективе обоим может повредить. Я, например, верю в симбиоз Человека и Машины. Особенно, если разумны оба.

С вашим "сухим остатком" в целом согласен, но добавл бы, что ИИ помогает не только в новых продуктах, но и в автоматизации шаблонной деятельности с текстами. Он довольно неплохо справляется с задачами "сделай по примеру". Этакий большой regex с заменой.

"Сознательное введение в заблуждение" ещё надо доказать, но "недобросовестная подача материала" налицо.

Смутился из-за названия "рекурсивные зависимости". Для меня, в базисе, рекурсия - самовызов функции. Вполне себе легитимный с точки зрения программирования подход. Разумеется, для этого у функции должно быть условие выхода из самовызова.

Рекурсивный подход вполне себе может применяться и для зависимостей на фронте (опять же, при наличии условия выхода из цепочки вызовов):

// ./one.mjs
import two from './two.mjs';

export default function one(x) {
    console.log(x);
    return (x > 0) ? two(x - 1) : 0;
}
// ./two.mjs
import one from './one.mjs';

export default function two(x) {
    console.log(x);
    return (x > 0) ? one(x - 1) : 0;
}
// ./index.html
<script type="module">
    import one from './one.mjs';

    one(4);
</script>

Пример синтетический, но рабочий:

результат выполнения рекурсии
результат выполнения рекурсии

Когда возникает циклическая зависимость (рекурсивная зависимость) при сборке

IMHO, "циклическая зависимость" лучше отображает суть того, о чём пишет автор.

Неплохо для стажёра!! Действительно с организацией разработки в ByteDance не всё хорошо.

Ну, у них, похоже, другая модель монетизации - подписка, а не реклама. 20+ евро в месяц с человека. За квартал получается 60+. Если подключат каждого восьмого, то вот и Гугл догнали. Без всякой рекламы. А тем, кто не платит, будут совать рекламу прямо в выдачу. А этому Прабхакару Рагхавану - фак и поджопник общественное порицание!!

Отличная статья! Всё, что нужно LLM, чтобы стать "настоящим интеллектом" - 1СС. Вторая сигнальная у неё уже есть. Казалось бы, можно раскидать различные датчики по всей планете и за её пределами, лить с них данные в "железяку", и, вуаля - профит!! Но есть нюанс... а как эмбеддить всё это богатство во вторую сигнальную? Ну, если датчики не перегружать информацией, и делать это в лабораториях под присмотром учёных, то, в общем-то, можно дать LLM "пробовать настоящий чай улун", чтобы у неё было своё собственное, ни на что не похожее "квале". Но можно ли будет доверять её выводам после этого? Общность опыта человеков определяется общностью их "детекторов" (органов чувств), а тут даже одна LLM другую не поймёт, если к ним разные наборы детекторов прикрутить. Зато, наверное, такие машины со своим собственным квалиа можно будет применять для каких-либо научных открытий с последующей адаптацией результатов к обще-человеческо-машинным через вторую сигнальную.

Чертовски интересное будущее!! Даже инопланетян не нужно!

Я долго, очень долго писал на Java. После неё JS - как мягкие домашние тапочки. Чуточку JSDoc'а и можно хоть весь день из дома не выходить :) Да и вообще, я за функциональщину!!!

Вообще-то, 2026 год будет уже через 14 месяцев. Мне этот Амодей напомнил Элизабет Холмс и Остапа Бердера одновременно. На месте их инвесторов я бы напрягся от таких заявлений.

Но мы же зашли в пост и прочитали его. Кто-то из инфослужбы просто сделал свою работу. Хабр будет постить те новости, которые востребованы аудиторией. На больших числах получается как-то так.

Это как с пивом - на рынке появляется новая, качественная марка пива, её узнают и начинают пользовать ценители пива, затем от ценителей информация расходится кругами по любителям, а там и по всем остальным, у пива появляется репутация и больше не остаётся смысла держать качество, а если вдруг меняются владельцы и приходит "эффективный менеджер", то появляется прямая причина качество не держать, но увеличить прибыль. Я такое проходил много раз и не только с пивом. Наверное, это какой-то закон во Вселенной.

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

Информация

В рейтинге
881-й
Откуда
Рига, Латвия, Латвия
Дата рождения
Зарегистрирован
Активность

Специализация

Fullstack Developer
Lead
От 3 000 €
JavaScript
HTML
CSS
Node.js
Vue.js
Web development
Progressive Web Apps
PostgreSQL
MySQL
GitHub