Так ли важен ЯВУ, если всё сводится к LLVM IR?

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

Про квантовые компы я промолчу тихи в тряпочку - сколько ни читал - муть мутная и мне непонятная. Стар я видать стал, а может стал и СуперСтар...
Говорить я буду о привычных компах - которые работают с единичками и ноликами (троичные погибли, хотя в СССР были нехилые наработки). Вроде всё норм, но комп, процессор, понимает как раз енти нули и единички. Ещё на этапе проектирования железяки народ понял енту проблему и начал объединять их в группы, кратные степени двойки. Так появился байт (2^3 = 8), а потом и слово (2^4 = 16). И тут же различные производители железа придумали первый геморрой для программистов - порядок следования байт в слове. Little-Endian и Big-Endial - эти слова знакомы каждому сетевику и привычно вызывают когнитивный диссонанс...
Но ладно, вернёмся к ассемблеру. На заре программирования под цифровые процессора народ вбивал программу тумблерами - битик за битиком. Производительность труда была на наименьшейшем уровне, а вероятность щёлкнуть не тот битик самой большой.
Нервы не выдержали и мисс Кэтлин Бут решила облегчить себе работу, создав первый в мире ассемблер для ARC2 (военный авиационный вычислитель).
Эту идею подхватили остальные. Что самое интересное - на языке Ассемблера можно добиваться максимальной производительности (самая популярная библиотека ffmpeg имеет множество ассемблерного кода под разные архитектуры) - выжать из процессора все соки. Такое же происходит в различных математических библиотеках.
Вроде всё с ассемблером хорошо, кроме одного - там команды процессору заменены на мнемокоды - краткие символьные представления команды процессора. Писать программу стало удобно, понятно. Появились кросс-ассемблеры (низкий уровень llvm)
Но оснавная засада осталась - трудоёмкость программирования и половина башки программиста занята архитектурой компа (да-да, там не только про проц надо помнить, но и про периферию).

А что итого? Я понимаю, что питонисты нифига не поймут - они даже не понимают, что каждая питон-либа это просто обёртка под высокоэффективным кодом на Си. Ассемблер жив и будет жив, те же "тысяча строк" ассемблера под линуксом - это и есть основа ядра ОС. Потом уже можно писать на Си, Си++, даже Расте (чёт ОС растоманов зачахла - видать пришло понимание, что язык высокого уровня не может использоваться наравне с Ассемблером или СИ).
Язык Ассемблера, как продился, так и будет жив. Есть яыки программирования близкие к АСМу - тот же Си, или Форт, но никто не даст программисту той мощи и контроля за компом как АСМ. Тот же Си в своих диалектах везде имеет возможность АСМ-вставок.
Что же до программирования на АСМе - мне он нравится, но... Всегда надо иметь баланс в голове. Поверьте strncpy() из Си будет более оптимизирована чем ваша реализаций на АСМе, а вот к-либо формула, вычисляющая интеграл, которого нет в clib - лучше уже на асме, особенно если оно вычисляется в цикле..


Наверное невозможно найти человека, который бы никогда не встречал программ на Java. Сначала телефоны с J2ME, потом Android, который использует свои варианты реализации JVM и свой байткод. Даже многие сим-карты внутри используют свою оптимизированную разновидность Java.
Даже JavaScript обязан своим названием популярности Java, хотя и не имеет с ней прямого родства.
(При этом некоторый промежуток времени существовали Java-апплеты)

По официальной информации, 23 мая 1995 года, ровно 30 лет назад, Sun Microsystems выпустили первую бета-версию Java. Первая полноценная официальная версия JDK 1.0 выйдет только 23 января 1996.
Изначально язык должен был называться "Oak" (дуб, который рос рядом с офисом разработчиков), после чего был переименован "Green" (зеленый), а потом в честь кофе с острова Ява. А в качестве целей языка ставились:
Синтаксис был практически полностью позаимствован из C++, который уже был знаком многим программистам. Были выброшены процедурные артефакты C в виде "бродячих" глобальных переменных и функций, всё должно принадлежать классам. Также выбросили некоторые "неудачные" решения C++, к примеру дружественные классы, множественное наследование (его заменили интерфейсы), перегрузку операторов (зачем?!) и еще немного. Вместо ручного управления памятью было решено внедрить сборщик мусора, чтобы облегчить разработку и снизить количество ошибок и уязвимостей.
Главной особенностью языка стала концепция "напиши единожды, запускай везде" (хотя правильнее это будет назвать "напиши единожды, отлаживай везде" из-за различных реализаций и окружения), возможная благодаря тому, что код сначала компилируется в стандартизированный и независимый от процессора байткод для виртуальной машины (JVM), а в машинный код переводится только на машине потребителя, учитывая её архитектуру и особенности. Получается что-то среднее между интерпретируемым и компилируемым языком.

Язык получился... интересным.
То, что планировалось простым, в итоге превратилось в многословное нечто, а в сочетании со всякими архитектурными извращениями стало притчей во языцех о громоздкости корпоративного стиля. Потом появились совместимые с JVM альтернативы по типу Kotlin, ибо Java старательно игнорирует и не вводит ничего, что бы могло замазать многословность и неудобство. Android давно официально рекомендует использовать его вместо Java.
Добиться высокой скорости на интерпретируемом языке со сборкой мусора тоже проблемно. JIT замедляет запуск и жрет память, AOT поддерживается плохо и с ним невозможно реализовать некоторые вещи (кодогенерацию, к примеру), плюс остается сборщик мусора. Плюс некоторые не очень удачные решения и ограничения, тоже не способствующие высокой производительности (видно на контрасте с C#, в котором их исправили).
Тем не менее, Java на очень долгое время стала самым востребованным языком и отлично продолжает жить и сейчас, находясь на 4 месте популярности по версии TIOBE и дважды становясь языком года (в 2005 и 2015).


Наткнулась в одной запрещённой сети сейчас. Сам пост и комментарий оттуда.

ПРЕДУПРЕЖДЕНИЕ! Данный пост содержит мат. Если вы утончённый интеллигент, лучше скролльте ленту дальше (и ни в коем случае не смотрите на картинку!). Ну, а если вы грубый и неотёсанный (прям как я), то читайте дальше!
Иногда, когда есть настроение поностальгировать, я с помощью гугл-карты гуляю по местам, где когда-то жил, и мысленно возвращаюсь в те времена далёкие, теперь почти былинные (а у вас такое наблюдается?). Сейчас вот решил прогуляться по Реховоту, нашему первому городу в Израиле, где мы жили с 1992 по 1996, пока не переехали в Ашдод. Гуляю себе с утречка (пока не жарко), и вдруг вижу нечто возмутительное: искусственный интеллект гугля размыл "хер" в слове "парикмахерская". Какого хера? Размыл, кстати, весьма херово - всё равно срамота просматривается.
А теперь самое время сделать экскурс в историю.
Вообще-то "хѣръ" - название буквы церковнославянской или старой русской (до реформы 1918 года) азбуки, причём, по одной из версий, как сокращение слова "херувимъ", которое - ивритское "כְּרֻבִים". Так что, возможно, каждый раз, когда вы посылаете кого-то нахер или произносите то самое "Какого хера?", вы употребляете святой язык.
Каким образом слово превратилось в обозначение полового члена? Очень просто. Чтобы не писать известное слово из трёх букв (другое), особо ранимые натуры писали "х..." (что, собственно, наблюдается и сегодня). А в устной речи сей иероглиф передавался просто указанием на первую букву. Так и возникло новое употребление. Поэтому, строго говоря, это и не мат вовсе.
Кстати, любопытный факт. Читаем в Вики-словаре: "Переносное значение слова хер стало обозначать любой косой крест, схожий в начертании с буквой Х, х. Таким образом, похерить обозначает попросту «поставить крест (на чём-либо)», «зачеркнуть»."
Автор поста Michael Zuskin.
Из комментариев:
Однажды студент спросил у Дитмара Эльяшевича Розенталя:
— Скажите, пожалуйста, как пишется слово "похуй" — слитно или раздельно?
— Если это характеристика моего отношения к вам, молодой человек, – невозмутимо ответил Розенталь, – то слитно. А если обозначение глубины великой еврейской реки Иордан, то раздельно.


Значит, пора валить на альтернативы. Однако проблема многих альтернатив заключается в том, что они опираются на те же самые движки и продвигают выдачу по тем же SEO-алгоритмам. Например, DuckDuckGo во многом базируется на выдаче гугла, а потому результаты поиска в нем не намного лучше (возможно, он подойдет вашим задачам, но, на мой взгляд, он только видео хорошо ищет).
Меня задолбало искать информацию по сарафанному радио (word of mouth, как говорят англоговорящие) вместо того, чтобы просто отправить запрос и получить точную выдачу. Поэтому сегодня я побуду инфоцыганом и покажу несколько поисковых движков, которые, по моему мнению, еще работают по-старому.
1) Piped
Альтернатива поиску по Ютубу. По всей видимости, он просто парсит ютуб и показывает результаты по наибольшему количеству вхождений ключевых слов из поискового запроса. Но нам это и надо! Плюс меньше случайных рекомендаций не в тему. Также у него собственный плеер, который вроде как не пускает встраиваемую ютубом рекламу.

2) Поисковый движок Reddit-а
Реддит сам по себе является одним из самых ненавидимых сайтов в поисковой выдаче Гугла, потому что результаты с него могут заспамить целую страницу выдачи, при этом не содержа искомую информацию. Однако история Гугла с Реддитом - это как Яндекс и Пикабу, только наоборот. У Пикабу нерабочий внутренний поиск, и люди ищут посты через Яндекс. У Реддита же внутренний поиск работает точнее, чем у гугла.
3) Внезапно, ТикТок.
Даже гугл признает, что не может охватить возрастную категорию "поколения Z", потому что 40% молодёжи приноровилось находить всё, что им нужно, не выходя из тик-тока. Любые обзоры, идеи, инструкции, пусть и сжатые до 3 минут. Впрочем, слышал, что недавно должны были расширить максимальную длину роликов до 10 минут.

P.S. Можно предположить, что старшее поколение аналогично гуглит в Ютубе. Да я и сам такой. Однако с этой угашенной SEO-оптимизацией это даётся всё сложнее и сложнее. Подозреваю, что DuckDuckGo и Piped вполне могут сделать Ютуб рабочей альтернативой ТикТоку.
P.S.S. Видя то, что колосс дал слабину, активизировались компании, готовые разработать альтернативные поисковые движки. Apple, которая каждый год заставляет гугл платить ей 15 миллиардов долларов за право поставить поисковую систему Гугл по умолчанию в свой браузер Сафари, в последние недели открыла подозрительно большое число вакансий, связанных с разработкой поисковых систем. Если они реально выкатят свой поисковик и разорвут сотрудничество с гуглом, тот моментально потеряет процентов 20 аудитории. Кроме больших компаний, есть и более мелкие - Kagi, Neeva, и другие.

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

Я тут добавила русские субтитры и загрузила на youtube, иначе сюда не выложить. Возможно скоро это видео снесут, если я что-то там нарушила, ну да ладно.
Текст пусть тоже будет здесь: "Если ты хочешь убивать всё вокруг, стань веганом, потому что фермеры, защищая твою сою, убивают всё. Я убиваю одно животное одной стрелой.
А чтобы вырастить тофу нужно убить каждого суслика, каждую полёвку, каждую землеройку, каждую змею, каждую черепаху, каждую лягушку, каждую птицу, каждого кролика.
Всё, что попадёт на это соевое поле, я вспашу и расчленю. А если что-то выживет после первой бойни, я вернусь с химикатами и отравлю всё к чертям, чтобы ты мог есть салат с тофу и не нести ответственность за чью-то смерть. Иди на х%й."
© Тед Ньюджент (американский гитарист, вокалист, продюсер)

Spotify сделала громкое заявление во время презентации финансовых результатов за четвертый квартал: лучшие разработчики компании не написали ни строчки кода с декабря. Об этом сообщил сооснователь и со-глава Spotify Густав Сёдерстрём, рассказывая о том, как компания использует ИИ для ускорения разработки.
За 2025 год Spotify выпустила более 50 новых функций и изменений в приложении. Среди последних – плейлисты на основе текстовых запросов с помощью ИИ, функция Page Match для аудиокниг и About This Song, которые появились в последние недели.

Инженеры Spotify используют внутреннюю систему Honk для ускорения написания кода и повышения скорости выпуска продуктов. Система позволяет удаленно развертывать код в режиме реального времени с помощью Claude Code.
Конкретный пример: инженер Spotify во время утренней поездки на работу может через Slack на телефоне попросить Claude исправить баг или добавить новую функцию в iOS-приложение. После завершения работы инженер получает новую версию приложения прямо в Slack на телефон и может отправить её в продакшн еще до прибытия в офис.
Компания отметила, что система значительно ускоряет процесс написания кода и развертывания обновлений.
Мы не считаем это концом пути в разработке с помощью ИИ – это только начало.

Глава также рассказал о способности Spotify создавать уникальный датасет, который другие большие языковые модели не смогут присвоить, как это происходит с другими онлайн-ресурсами вроде Wikipedia. Причина в том, что для музыкальных вопросов не всегда существует однозначный ответ.
Например, на вопрос о музыке для тренировок люди дадут разные ответы в зависимости от географии. Американцы в целом предпочитают хип-хоп, хотя миллионы выбирают дэт-метал. Многие европейцы тренируются под электронную музыку, а скандинавы часто слушают хэви-метал.
Это датасет, который мы строим прямо сейчас, и никто другой его не создает. Он не существует в таком масштабе. И мы видим улучшения каждый раз, когда переобучаем наши моделию.
Аналитики также спросили о подходе Spotify к музыке, созданной ИИ. Компания пояснила, что позволяет артистам и лейблам указывать в метаданных трека, как была создана композиция, но при этом продолжает отслеживать платформу на предмет спама.
Обожаю ребят с канала "Всё как у зверей", решила в честь вомбата запостить это видео тут

Давно сюда не писал, так как чего мельтешить. Но @vrom1990/streams с решением разных задачек продолжал каждый четверг в 20:15 по московскому времени. Вот плейлист со стримами по циклам:
https://youtube.com/playlist?list=PLmn7h9eyDeMNT1cF1tC_BbiRD...
Там далеко не всё разобрал, что можно было, будут запросы — продолжу. Там же, на самом деле, и разобрал многие типовые задачи и на списки, так как цикл for со списками очень связан.
Ещё немного видео на циклы и списки тут
https://www.youtube.com/playlist?list=PLmn7h9eyDeMPE7twjaYrT...
А вот и последний стрим, два простеньких забавных, но полезных проекта на списки

@vrom1990
https://archive.org/details/python-tupyh
https://www.youtube.com/c/ВячеславРоманьков
@vrom1990/
@vnrom1990
https://t.me/vrom1990pb
Автор: Stickydot. Источник: https://bogleech.com/creepy/creepy15-SameAsItEverWas
«Это не мой прекрасный дом. Это не моя красавица-жена». Это слова из песни «Once in A Lifetime». Пожалуй, большинство людей знает группу Talking Heads именно по ней, и сейчас эта песня актуальна для меня, как никогда. Это не мой дом, и да, это – не моя жена.
Это было видно невооружённым глазом, но они продолжали водить меня за нос. Моя жена – метр восемьдесят три ростом, у неё коротко стриженые волосы и красивые зелёные глаза. А сейчас напротив меня за столом сидит… швабра. Швабра, щётка которой выкрашена в чёрный цвет, с приклеенными к ней маленькими игрушечными глазками. И к ней тянутся длинные нити, уходящие в потолок. Когда она изображает, будто ходит по дому, то просто подпрыгивает, а когда говорит, то делает это визгливым голоском, который совсем не похож на её обычный бархатистый голос – так мог бы говорить кукловод в маппет-шоу. Обри и Лиза, кажется, не замечают ничего необычного, но им обоим всего по два года, и я списываю это на детскую глупость.
И это не мой дом. В моём настоящем доме стены выкрашены настоящей краской, как в доме любого нормального человека, а не размалёваны, как страничка в книжке-раскраске. К тому же, вся мебель жёсткая, даже кровать. Вчера я разрезал подушку и обнаружил, что это, на самом деле, кусок слоёного картона.
Понятия не имею, чьих это рук дело, но с меня хватит. Чёрт побери, да я уже три дня не могу выйти из дома – моя проклятая «жена»-швабра бросается наперерез к двери и говорит, что хочет проводить со мной больше времени. Мне не удалось выскользнуть наружу даже ночью, потому что окна, похоже, заколочены, хотя я и не нашёл никаких гвоздей. Если это не прекратится в ближайшее время, я сделаю всё возможное, чтобы вытащить отсюда себя и детей.
-----
Сегодня я ударил свою «жену». Я не хотел, она сама напросилась. Она лежала на диване и делала вид, будто смотрит что-то на нашем вырезанном из картона телевизоре. Я подошёл и прямо спросил её – за что она так со мной поступает? «В чём дело, милый?» ‑ спросила она. Чёрт побери, она отлично понимала, в чём дело. Я схватил её за ручку и начал трясти, крича ей в лицо. Это был просто бессвязный крик, без слов. А потом я оттолкнул её. Она отлетела назад и упала на пол. Швабра-«жена» начала плакать, а я бросился к выходу.
Входная дверь была не заперта, я распахнул её и бросился вперёд. И оказался в спальне. Это длится уже чересчур долго для простого кошмара. Теперь моя «жена»-швабра не разговаривает со мной, а дети, кажется, боятся, что папа обидит и их тоже. Я бы никогда не поднял на них руку.
-----
Вчера подменили и Обри, её место заняла маленькая метёлка для пыли. У неё тот же голос, что и у моей «жены», только она притворяется, будто говорит, как маленький ребёнок. А раньше Обри говорила полными предложениями. Я игнорирую её и стараюсь не спускать глаз с Лизы. Не хочу, чтобы забрали и её.
«Жена» делает вид, будто разделывает курицу на кухне – то есть скачет вверх-вниз перед разделочной доской, на которой лежат нож и кусок сырого мяса. Кажется, у меня появилась идея.
-----
Я обрезал ей нити. «Жене», не «Обри». Даже если всё это – какой-то кошмарный сон или галлюцинация, я не хочу навредить детям. Она упала на пол, из обрезанных нитей потекла какая-то белая жидкость, похожая на молоко, а имитировавший её голос пронзительно закричал. Дом содрогнулся, и я упал на колени. Лиза схватилась за «Обри», и их обеих начало поднимать в воздух. Я схватил их и изо всех сил потянул на себя, но то, что управляло нитями, было слишком сильным. Я мог только смотреть, как Лизу и метёлочку-«Обри» втягивает в потолок. Я схватил останки «жены»-швабры, взобрался на стул и начал стучать ею о потолок, крича, чтобы они вернули моих детей, но безрезультатно.
Теперь я остался один в этом картонном доме. Я перебрал все варианты – инопланетяне, социальный эксперимент, который проводит правительство, безумие – но что толку? Что бы ни играло со мной, оно меня бросило. Еда закончилась два дня назад, я грызу картон. Может быть, моя настоящая семья находится в другом картонном домике? Жаль, что я убил «жену»-швабру. Да, это не моя настоящая красавица-жена, но даже с ней было лучше, чем остаться здесь в полном одиночестве.


Как делиться кодом на в комментариях на сайтах, если плывёт форматирование или код не влазит в сайт, а файл прикреплять нельзя? Используйте сервисы для публикации кода!
Сегодня возобновил стримы, последний цикл(всего один) по словарям в Python, он завершающий в цикле «стримы по спискам в Python». Вот он — и если что-то непонятно и хочется более подробного разбора, то пишите:

Вот оба цикла стримов
Цикл стримов «Для тупых» по циклам
https://youtube.com/playlist?list=PLmn7h9eyDeMNT1cF1tC_BbiRD...
Цикл стримов «Для тупых» по спискам(+ один по словарям)
https://youtube.com/playlist?list=PLmn7h9eyDeMNT1cF1tC_BbiRD...
О самураях и снова о спорте, но не только. Итак, в этот день…
В 1869 году в Японии в рамках комплекса масштабных реформ, известных как «реставрация Мэйдзи», прекратило существование сословие самураев.

В 1870 году в британском Лондоне открылся Тауэрский тоннель — первая подземная линия железной дороги, проходившая от северного до южного берега реки Темзы. Длина тоннеля составляла примерно 400 метров. Отличительной особенностью было то, что железная дорога пролегала в железной трубе, а не в кирпичном тоннеле. В трубе находился вагон, вмещавший до 12 человек. В каждом конце тоннеля были установлены паровые двигатели, благодаря которым вагон на стальном тросе преодолевал указанное расстояние всего за 70 секунд.

Сам тоннель под Темзой на глубине 5 с лишним метров выкопали меньше чем за год благодаря инженеру Джеймсу Генри Грэйтхеду («великая голова»!), который придумал проходческий щит цилиндрической формы — предтечу современных тоннелепроходческих машин. Линия была закрыта в 1898 году, однако вход на станцию и сегодня сохранился рядом с лондонским Тауэром.

В 1992 году американская легкоатлетка Джеки Джойнер-Керси победила в семиборье на Олимпийских Играх в Барселоне, став первым в истории двукратным победителем в этой дисциплине Игр.

На тех же Играх белорусский гимнаст Виталий Венедиктович Щербо, представлявший Содружество Независимых Государств, стал первым в истории обладателем шести золотых медалей, полученных в ходе одних Игр. Вот как это выглядело:

Бонус-трек: 1 августа 1967 года ВМС США вернули на активную службу капитана Грейс Мюррей Хоппер для того, чтобы она возглавила разработку языка программирования COBOL (COmmon Business Oriented Language). В 1940-х Хоппер работала в Гарварде над компьютерами Mark I и Mark II, а теперь возглавила команду сотрудников из нескольких фирм-производителей компьютеров и Пентагона.
Целью разработки COBOL было прежде всего создание легко читаемых компьютерных программ с максимально возможной независимостью от аппаратного обеспечения: предполагалось, что программа на COBOL сможет запускаться на любом компьютере, где есть компилятор, с минимальными модификациями.

Вообще, за свою долгую карьеру Хоппер внесла значительный вклад в развитие компьютерных систем, в том числе благодаря тому, что написала, как считается, первый компилятор "А-0". А ещё, судя по всему, она первой ввела в оборот слово "баг" (bug) в контексте компьютерных технологий — так она в журнале однажды отметила мотылька, который попал в реле компьютера Harvard Mark II.
Эта рубрика выходит не только в виде рассылки на Substack, но и в собственном телеграм-канале в формате "одно сообщение — одна памятная дата" (и из опубликованных там постов часть сюда не входит). Подписывайтесь, читайте раньше остальных и поражайте знакомых и незнакомых ненужной им информацией в самое сердечко!
До завтра.

Амвросий Тарасов. Симфонический оркестр Ленинградской области
а вот СИМФООБОРОНА

Комментарии