Вы видите копию треда, сохраненную 12 июня в 05:11.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
В этом ИТТ тренде вспоминаем умершие технологии и предаемся воспоминаниям и ностальгии.
Пик стронгли анрилейтед
когда-то в нулевые казался супер-мега языком, за которым будущее. Знать перл считалось невероятно круто. Эдакий питон нулевых.
Сегодня почти полностью забыт, хотя и выходят новые версии.
Java EE
В нулевых и десятых ни один собес по джаве не мог обойтись без вопросов по этой хуйне. А сейчас считается адовым легаси. Хотя по сути это просто набор интерфейсов, которые так и продолжают использоваться. Но былого хайпа уже нет.
SOAP
Знание этой хуйни было в каждой вакнсии нулевых. Сейчас без вики никто и не вспомнит что это за залупа
PHP
Когда-то основной язык этих ваших энторнетов. Вроде даже первая версия ВК была написана на похапе. Сейчас считается лютым зашкваром.
1. Кофескрипт. Из каждой щели трындели, что это будущее веба. Потом внезапно вышел ES6 и кофескрипт приплыл, сейчас нахуй никому не нужен.
2. Флеш и сопутствующие фреймворки. Например был такой Adobe Flex (MXML), предшественник рякта. Но в итоге подох.
3. Миллион всяких веб-фреймворков времён веб 2.0. Script.aculo.us, prototype, mootools, ExtJS, mochaUI, microsoft silverlight, sproutcore, dojo, backbone.js, require.js, ember, knockout, leaflet, GWT. Сейчас о них помнят только олдфаги.
4. Ебучий MODx.
5. Ruby on Rails - ещё не подох, но от былой славы мало что осталось. В своё время каждый новый стартап обязательно пилился на RoR. Были миллион скринкастов по руби он рейлс.
>PHP
живее всех живых. да, популярность не такая как в условном 2002-2004, когда сайт = index.php, но уж точне не как руби или перл
> ВК была написана на похапе
always have been. на KPHP
>D
Был рожден мертвым. На нем никогда не было больших проектов, его знания никогда не требовали в описаниях вакансий. Я даже не уверен выдаст ли что-нибудь гугол на запрос "вопросы на собеседование по D"
Просто какая-то хуета для гиков, к тому же неудачная
Был самый распространенный язык программирования, но потом по непонятным причинам сдал позиции С.
Несмотря на то что его до сих пор изучают в совковых школах, а современный free pascal умеет дохуя всего из коробки, кросплатформенн и постоянно развивается разрабами, на него забили болт в силу загадочных обстоятельств.
Дурачёк ты епта, блокчейны живы и цветут пуще прежнего. Особенно Хаскель.
MFC
Да ну. Его на старте пытались разогнать почти как Rust сейчас
https://stackoverflow.com/questions/56315/d-programming-language-in-the-real-world
CORBA,OLE,ActiveX,ATL,WSDL,EJB,Gosu,Kotlin. Тысячи их, заебешься перечислять.
Scala еще. В 2013 примерно была в каждой второй вакансии, сейчас нахуй неножона
Хз, за рубежом спрос стабильный. В РФ, по-моему, просто не хотят отваливать сотни нефти за скалозубров.
Мне нравится скала, с тех пор как ещё в универе лабы на нём писал. Классный язык, но ни разу не слышал чтобы его для чего то серьёзного использовали
В тинькове много скалистов.
давно я в интернет не выходил, пойду читать драму на хкн и реддит
в тему треда: joomla, drupal, meteor
>Java EE
>В нулевых и десятых ни один собес по джаве не мог обойтись без вопросов по этой хуйне. А сейчас считается адовым легаси. Хотя по сути это просто набор интерфейсов, которые так и продолжают использоваться. Но былого хайпа уже нет.
Ну как бы - пиздежь. EJB 2.0 со всеми этими хоум и ремоут интерфейсами умерли, но как спецификация он живее всех живых. JPA - это JEE, Servlet API - тоже, Injection API - тоже часть JEE. inb4 это всё используется в Спринге.
>Двухзвенные системы с бизнес-логикой на PL/SQL и толстыми клиентами.
Да, было время! Но Паскаль и Фаерберд был более эпичной связкой.
Проекты гугл: очки, соцсеть, месенджеры
Проекты фейсбук: очки, metaverse
>Куда им до Visual FoxPro.
Помню у нас было приложение на VFP и оно работало в режиме хот стенбай, с одной базой которая лежала на шэред диске. Ух сколько ёбли было с запоротой базой из-за несогласованного доступа к ней.
>в тему треда: joomla, drupal, meteor
Meteor опередил своё время.
Сейчас мода ебучих SSR фреймворков вроде Next, Remix, Astro и т.д., которые умеют ни-ху-я, кроме рендеринга в строку. Метеор этого не умел, но умел в авторизацию/утентифкацию, БД (шипился вместе (!) с монгой, rpc и дохуя всяких приколов).
> GWT. Сейчас о них помнят только олдфаги
У нас на проекте продолжают педалировать эту хуйню. Божечки, как я хочу, чтобы она просто сдохла, но, пожалуй, переживет меня.
>MongoDB, Redis
Монга и редиска никуда не делись и не денутся в ближайшей перспективе
>куча остальных NoSQL баз данных
Ну, это да. Например, RethinkDB.
Очень крутая технология, прям прорывная. После 2-й версии прям думал, что на корню убъёт всех динамических вротендомакак как класс. Жаль, что забросили.
>Очень крутая технология
Аргументов в пользу того утверждения, конечно, не последовало.
>Жаль, что забросили.
Спецом для таких любителей запилили Ваадины всякие.
Целая серия продуктов опередивших свое время!
Реально визуальное программирование CRUD-ов, которое мы не заслужили, а оно могло спасти нас от набивания бойлерплейтов.
что вообще происходит в недрах IBM ? Есть ли более криворукие люди на планете?
>миллион всяких веб-фреймворков microsoft silverlight
ЭЭБЛЯ, ты охуел?
Этот заслуживает отдельного упоминания!
Впрочем, ничего конкретного написать не могу. Еще одна технология которая умерла до того как у меня дошли руки ее освоить.
Однако, немногие знают, что китайский интернет живет по своим законам и все китайские камеры и DVR продолжают использовать ActiveX и срали они на весь остальной мир. Очень уж удобно им.
>Монга и редиска никуда не делись
По сравнению с тем что было несколько лет назад про них вообще ничего не слышно.
Сейчас зато слышно про clickhouse
>Сейчас зато слышно про clickhouse
Пытаются на двух стульях усидеть. Мимикрируют под реляционку.
Ну и где ты это прочитал?
Всякие таблицы-словари - это практическая необходимость.
Реляционкой он никогда не станет.
>Всякие таблицы-словари - это практическая необходимость.
>Реляционкой он никогда не станет.
>Можно ли использовать ClickHouse для хранения данных вида "ключ-значение"?
>Если отвечать коротко, то "нет". Операции над данными вида "ключ-значение" занимают одну из верхних позиций в списке ситуаций, когда категорически не стоит использовать ClickHouse.
Лол.
Бтв, я нигде и не говорил, то клик "станет реляционкой". Я лишь отметил, что "мимикрирует" под.
Это и означает что ничего не меняется в clickhouse.
То есть, они не пытаются усидеть на двух стульях.
> >миллион всяких веб-фреймворков microsoft silverlight
> Впрочем, ничего конкретного написать не могу
Требовалась установка плагина, потом можно было фигачить на c# нативно. Я даже видел у кого то 3д рендер с освещением летавший в браузере. Ну то есть получается не в браузере, а в плагине, как и еще был гугловский NaCl. Нл требование ставить плагин многих отталкивало. Я кажется пару игр с машинкамт для ребенка сделал и никуда вкатиться не успел
Это просто хороший заменитель c++, просто его делали не хипстеры а академики, вот и не смогли мемесами раскрутить
Java Applets / апплеты
Когда на сайте тыкаешь страшную кнопку и загружается код на джаве и потом красиво падает в стактрейс.
Ну и до кучи J2ME на мобилках.
Прорывная технология для написания ПРОШИВОК девайсов в 512кб на C#/дотнете
Кажется его смогли портировать на атмегу Lego NXT, но не оставалось места для юзер программы. Или не смогли, не помню уже.
По мне так интереснее, чем на питухоне или жс сейчас скриптуют прошивки.
Полноценные смарфтоны до айфонов. Я на таком смотрел видосы без переконвертации в 2008 году и прямо на нем программировал на C#. На самом устройстве.
.Net CF (compact framework)
Вообще, можно было писать прогу, которая запускалась и на десктопе, и на коммуникаторе.
> жс сейчас скриптуют прошивки
Лучшее, что могло бы случиться с ембеддабллом. Но на одноядерных решениях не избежать stop the world при уборке мусора, что фундаментально подрывает смысл сего безобразия.
> Вообще, можно было писать прогу, которая запускалась и на десктопе, и на коммуникаторе.
Не всё так просто. Билды все-так нужны были под разные таргеты (WinCE и полноценный вин).
Продолжу - Windows 10 IoT edition. Полнейшая шляпа, неспособное повторить даже успех WinCE.
>сдал позиции С.
Кстати, кто-нибудь в курсе, почему так взлетел Си? Язык - так себе. Может, для взлёта ему было достаточно быть лучшепроще чем Алгол. Или он зафорсился на почве красноглазияюнипс-фанатизма? Какого хера, вообще и до сих пор?
Сразу вспомнился Селфовый Morphic.
https://www.youtube.com/watch?v=Ox5P7QyL774&t=575s
Ну это уже утраченные технологии древних.
Привет тебе от scala разработки у Яши
1. Простой, лаконичный и очевидный синтаксис в удобочитаемом виде, не требующий научной степени для понимания.
2. Библиотеки, закрывающие многие потребности в работе с оборудованием и полная поддержка библиотек для взаимодействия с основными операционками со стороны их же разработчиков.
3. При все своем не самом низкоуровневом синтаксисе остаётся очевидное и предсказуемое поведение написанного кода и потребляемые им ресурсы.
Было бы очень странным, если бы он не взлетел.
В начале 80х доминирующим яп был паскаль. С и паскаль в то время имели практически одинаковый функционал, но совершенно разный синтаксис. С позволял писать то же самое, но меньшим количеством текста. А в те времена дисковое пространство считалось в мегабайтах, думаю поэтому это и сыграло свою роль. Плюс тогда не было бесплатных компиляторов - стандартов индустрии, а был зоопарк прориетарщины. Это тоже замедляло развитие. Ну и линупс добил.
Это сейчас на фоне с++ он так себе. А тогда на фоне фортранов, бейсиков и паскалей смотрелся как прорывная технология
Паскаль был распространен исключительно в СНГ потому что везде учили на турбо паскале, а потом переходили на уровень выше - делфи. На западе паскаль вообще ни о чем, там больше на бейсик настальгируют.
Не смотрелся. Он всегда был просто чуть продвинутым макро ассемблером, по сравнению с тем же строго типизиоованным паскалем
Исключительно по инерции. Кафка давно уже мрально устарела и сосет по перформансу.
У каво
Мне подходит iBM WebSphere MQ JMS.
Я погуглил, либо облачные решения либо хуй
>фундаментально подрывает смысл сего безобразия.
Почему? а вы не делайте софтовую генерацию сигналов и задержки через циклы кода, а не по таймеру.
У вас же там полно разных DSP и прочих генераторов.
Мне вообще идея micropython нравится до усрачки. Жаль, я ничего серьезного не могу придумать для дома
ебать, ты видел сколько они там бабла проедают?
Просто нужные тебе библиотечки закристаллизовались, но развитие идет там где на самом деле надо.
Руби он рейлс
Торможнутый кусок медленного кала, который больше никому не нужен. Если хочется мараться о динамикодрисню скриптовую, то есть жяваскрипт, который работает в разы быстрее, выдерживает намного больший рпс и выдаёт низкий латенси, тем более к нему можно прикрутить тайпскрипт. А так для белых господ есть дотнеткор, плюс говноланг для белый людей с особенностями.
>Реально визуальное программирование CRUD-ов, которое мы не заслужили, а оно могло спасти нас от набивания бойлерплейтов.
Таки дохуя других было, Visual Fox Pro, Delphi, Oracle Forms. Да даже ебучий Macromedia ColdFusion. Я в школе учился, к нам ходили "энтузиасты с горящими глазами" пытались весь этот NoCode продвигать ну чтобы мы им его кодили на энтузиазме.
Чесно говоря, не знаю как сейчас выглядит Тот Самый Зерокодинг, но пик сам себя объясняет : скучный код для связи типовых компонент интерфейса писать вообще не следует.
И Дельфи ничего подобного не давал.
Да и на extjs есть вакансии. Но мало-мало
Десктопные проги вообще уходят в прошлое. Всё перетягивают в облака по подписке, чтобы ты платил дань вечно, а не скачивал кряк единоразово. Поэтому и технологии разработки десктопного софта отваливаются. В вебе реакт итак простой, можно нанимать макак и они будут фигачить макаковыми мозгами, но без ноукоде
А в каком году анон учился в школе, когда ходили по школам с макромедиа че то там ноу коде?
>А в каком году анон учился в школе, когда ходили по школам с макромедиа че то там ноу коде?
В 98 и там была не макромедиа. Там ребята по моему они были из какого-то НИИ хотели на Modula 2 к нам пришли потому что у нас класс был с углубленным изучением паскаля написать свою no code платформу они ее так не называли кончно же, но по сути это была она. Я каким-то образом еще тогда понял, что идея говно и быстро соскочил.
Спасибо за ответ, олдовый анон.
А.
А как же ДРАКОН ?
https://drakon.su/
я бы, конечно, не называл бы технологией мем типа счета древних шизов
Как насчет не умерших, но и мертворожденных?
Я, блядь, реально не понимаю, что не так с этим?
13 ебанных лет эта хуйня существует и ни один корпоративный чувак не вложился в нее?
Причем, есть очень похожий Dart, но он тоже буксует
>Редис это база для большинства бекендов.
Ебанутый? Он даже в период расцвета никогда не был "базой для большинства бекендов". Это же RAM-only хранилище key-value, какая из него база. Максимум быстрый кеш.
Даже db-engines, которому они тупо платят за промоушен, не поднимает их выше 6 места
https://db-engines.com/en/ranking
Насколько я знаю сейчас кликхаус считается решением для случаев когда нужно что-то типа эластика но без полнотекстового поиска
Наконец-то латентные вебмакаки отъебутся от баз данных.
Серверная разработка на ноде живёт и здравствует, с каждым годом наоборот развивается, а в США нода для бекенда так вообще одно из самых популярных решений. Электрон для десктопа тоже никуда не делся и десктоп на ноде тоже развиваются, появляются новые инструменты конкуренты электрона типа tauri и neutralino. Да и в IoT тоже ноды потихоньку больше становится.
смысле блядь так себе. этож просто язык как он должен быть. все оттаклкиваются от него
Мемкешд как раз давно сдох, вместо него все используют редис либо облачные сервисы.
>>2845912
У него прямо сейчас и последние несколько лет период расцвета. Под базой я подразумевал не бд, а то, что вне контекста программирования называют базой. Фундаментальный инструмент. Редис это такая же база, как кафка и реббит для очередей, или как постгрес для бд. Редис это база для кеширования. Типичный бекенд: дотнет/спринг/другой фреймворк для апи, кафка/реббит/sqs для очередей, редис для кеша.
>>2845924
Она и так была мертворождённой. Всякие MERN-stack маняфантазии обычно не выходили за пределы курсов для вкатышей.
Всегда орал с нее. Буквально хипстеры не осилили нормализации реляционных БД, и обиженно сказали а у нас все в одном файле это тоже бэдэээ
нет, ниша аналитических колоночных субд совершенно своя и эластику там делать нечего.
Они похожи только тем, что они не btree.
Ты что, пёс? Не просто БД, а ебать какая масштабируемая и любой лох, даже хипстер, справится с репликацией этого чуда. Не то что ваш постгри
Макака тоже может говно разбросать по комнате и орать что оно масштабируемое. Толку с этой масштабируемости из-за отсутствия схемы обеспечение целостности данных будет лежать на клиентском коде что является обосранной дриснёй. Так можно и в текстовике хранить на фтп реально блин
Чет я помню они как раз с репликацией не справлялись и говорили ой ну это же много данных о многих пользователях, конечно пока вы читаете уде где то могло поменяться )) да и вам не надо все данные, вам хватит вот эти несколько рандомных записей )))
Ну и еще прекрасная безопасность, когда ты ставишь коучдб и не успеваешь что либо сделать, а гонконгские скрипт-кидди уже майнят у етбя на машине какую-то монету.
В смысле, не справились с репликацией? Они же там только про масштабируемость и говорили. А если масштабируемость не включает реплецируемость, то о чем блять речь вообще? Это наверно давно были баг, сейчас все пофиксили
>А как же ДРАКОН ?
98 год, какая нахуй веб дристня! Рамблеру 2 года, Яндексу год, интернет ПО КАРТОЧКАМ РОЛ. Нетскейп только-только выкалит ЖопаСкрипт 1.0. Конечно речь про дискетный продукт идентичный CD-Disk.
На хабре до сих пор какие то деды его форсят, как надо ветки на центральные шампуры нанизывать
И это вещь, которую я не в силах понять. Километры асинхронной лапши в одном потоке с динамической типизацией, вместо понятных корутин с блокирующими операциями, которые планировщик сам раскидает на столько ядер, сколько у тебя есть. Даже автор ноды признал, что го лучше ноды.
>Километры
Модульную архитектуру не запрещают строить. Можно делать микросервисы, CQRS / event sourcing, DDD и hexagonal architecture, часто вообще хватает дефолтной структуры из NestJS: module/controller/service + repository.
>асинхронной лапши
Может ты застал callback hell, да, это было ужасно, но довольно давно. Последние уже хз сколько лет есть приятный async/await.
>в одном потоке
В чём проблема? В питоне, пхп, руби тоже один поток. Есть worker_threads: https://nodejs.org/api/worker_threads.html, но мне его редко приходилось использовать, хотя работаю на крупных проектах. Это важно для cpu bound задач. С I/O и network нода справляется достаточно хорошо. Долгие задачи просто в очередь скидываются и всё. Да и часто ботлнек именно в базе данных.
>с динамической типизацией
Без тайпскрипта вменяемые люди уже несколько лет не пишут. Тайпскрипт охуенный язык, от автора сишарпа, мне после него не хочется больше ни на чём писать.
>вместо понятных корутин с блокирующими операциями, которые планировщик сам раскидает на столько ядер, сколько у тебя есть
Ну да, конечно в голанге лучше с этим. Но у го много своих недостатков. Я два года был на проекте, где были перемешаны микросервисы на го и ноде. Больше не хочется возвращаться к го.
>Даже автор ноды признал, что го лучше ноды.
И зачем-то ушёл разрабатывать мертворождённый дено, который не нужен вообще никому, в то время как нода продолжила развиваться и на ней уже чуть ли не каждый второй стартап в США делается, если не больше.
>И это вещь, которую я не в силах понять.
Язык должен быть простой, позволять больше херни, и иметь много готовых ответов на стековерфлоу. Профит.
>>2847507
>Можно делать микросервисы, CQRS / event sourcing, DDD и hexagonal architecture
Или не юзать ноду. Лол.
>async/await.
Он разве не содержит генератор под капотом? Они же пипец медленные.Понятно, что асинхронное от медленно ти не ломается, но зачем?
ФП наоборот возрождается за счет жс/тс и библиотек вроде Effect, которые тащят из Хачкеля монады.
А сам Хачкель был нишевым экспериментальным языком для обката новых идей в ФП и им остался. Что мертво умереть не может.
>Или не юзать ноду. Лол.
Или юзать ноду. Очень многие юзают, так что она даже ни на шаг не близка к умиранию.
>Он разве не содержит генератор под капотом? Они же пипец медленные.Понятно, что асинхронное от медленно ти не ломается, но зачем?
Промисы содержит. Не медленные. Зачем асинхронное в коде, или в чём вопрос? Чтобы выполнять I/O операции, такие как запросы в сеть и обращения к файловой системе.
Я че-то недавно у Деми Мурыча слышал, что в асинк именно генераторы, а на том же лит-коде они пиздец продавливают производительность. Но спорить не буду, я на ангуларе, у нас тут не юзается синтаксис async/await
Так у вас ангулярщиков просто Observables из RxJS в HttpClient, а у Observables те же промисы под капотом.
Паскаль дофига времени провёл в лучах славы.
С конца семидесятых он всеми обсуждался как «завтрашний язык для всего», подходящий и для обучения новичков, и для профессиональной работы. Правильный, мешающий писать хуйню, с логичным делением на процедуры, выдающие действия, и функции, выдающие значения, с поддержкой сложных типов данных и типизированных файлов (во времена, когда формат дискеты зависел от загруженной в память программы, а в файловых системах даже директорий ещё не было, всё лежало в корне), и так далее, и так далее. Бери и наслаждайся. Object Pascal (в смысле «Паскаля с объектами», а не «Паскаля с классами») вообще появился в процессе разработки интерфейса для Apple Lisa и потом несколько лет служил основным языком приложений для Macintosh. Куда уж моднее, кажется.
Задним числом можно отметить некоторые проблемы:
— Популярный UCSD Pascal генерировал код для виртуальной машины, что хорошо для переносимости на кучу архитектур, но плохо для производительности. Для появившихся микрокомпьютеров требования к объёму памяти и скорости работы могли быть слишком велики. Было решено Borland для IBM PC (настоящий хит своего времени, можно сравнить по удобству с live reload) и Think Pascal для Mac, генерировавшими машинный код приложений. Надо заметить, что Borland, при всех своих достоинствах и заслугах, как-то оказалась центральной организацией, которая всё на себе тащила, делая паскалевскую нишу всё глубже и глубже. Когда они сникли, замены не нашлось.
— Системным языком он не стал. На платформы, которые были достаточно мощными, чтобы запустить компилятор C с нетривиальной программой и не упереться в недостаток памяти, в первую очередь портировали код на C, а потом остальные компиляторы. На платформах, которые были не настолько мощны, у людей были другие задачи (например, впихнуть всё необходимое в один модуль ПЗУ).
— Большинству не было нужды корректно писать правильные программы. То есть, конечно, на больших компьютерах с настоящими операционными системами волей-неволей приложение обязано было вести себя правильно, и программисты привыкли обсуждать, как именно, выбирать языки, но произошёл взрыв микро- и персональных компьютеров. Новые авторы софта для них, сидевшие по гаражам и офисам, начинали с чистого листа и с радостью занимались байтоёбством: ручным сбросом флагов в дескрипторах вместо вызова функций прошивки, заменой данных прямо в буферах, чтобы не копировать их лишний раз, и всем прочим. Только на рубеже веков пошли выступления, что так жить нельзя, и реальные ограничения буйной фантазии. Посмотрите на исходники каких-нибудь утилит времён дедов: километровый main(), в который автор записывал всё подряд в том порядке, в каком оно приходило в голову, а потом в новой версии натыкал if'ов для новых функций. Ну и зачем для такой работы ваш Паскаль?
— Наконец, просто мода поменялась. Темой для обсуждения стал C++, Объектно-Ориентированный С Рождения, а после — Java, Работающая Везде (браузерные апплеты — это ведь полумеры, предполагалось, что код сможет спокойно перемещаться по гетерогенной сети точно так же, как данные).
Паскаль дофига времени провёл в лучах славы.
С конца семидесятых он всеми обсуждался как «завтрашний язык для всего», подходящий и для обучения новичков, и для профессиональной работы. Правильный, мешающий писать хуйню, с логичным делением на процедуры, выдающие действия, и функции, выдающие значения, с поддержкой сложных типов данных и типизированных файлов (во времена, когда формат дискеты зависел от загруженной в память программы, а в файловых системах даже директорий ещё не было, всё лежало в корне), и так далее, и так далее. Бери и наслаждайся. Object Pascal (в смысле «Паскаля с объектами», а не «Паскаля с классами») вообще появился в процессе разработки интерфейса для Apple Lisa и потом несколько лет служил основным языком приложений для Macintosh. Куда уж моднее, кажется.
Задним числом можно отметить некоторые проблемы:
— Популярный UCSD Pascal генерировал код для виртуальной машины, что хорошо для переносимости на кучу архитектур, но плохо для производительности. Для появившихся микрокомпьютеров требования к объёму памяти и скорости работы могли быть слишком велики. Было решено Borland для IBM PC (настоящий хит своего времени, можно сравнить по удобству с live reload) и Think Pascal для Mac, генерировавшими машинный код приложений. Надо заметить, что Borland, при всех своих достоинствах и заслугах, как-то оказалась центральной организацией, которая всё на себе тащила, делая паскалевскую нишу всё глубже и глубже. Когда они сникли, замены не нашлось.
— Системным языком он не стал. На платформы, которые были достаточно мощными, чтобы запустить компилятор C с нетривиальной программой и не упереться в недостаток памяти, в первую очередь портировали код на C, а потом остальные компиляторы. На платформах, которые были не настолько мощны, у людей были другие задачи (например, впихнуть всё необходимое в один модуль ПЗУ).
— Большинству не было нужды корректно писать правильные программы. То есть, конечно, на больших компьютерах с настоящими операционными системами волей-неволей приложение обязано было вести себя правильно, и программисты привыкли обсуждать, как именно, выбирать языки, но произошёл взрыв микро- и персональных компьютеров. Новые авторы софта для них, сидевшие по гаражам и офисам, начинали с чистого листа и с радостью занимались байтоёбством: ручным сбросом флагов в дескрипторах вместо вызова функций прошивки, заменой данных прямо в буферах, чтобы не копировать их лишний раз, и всем прочим. Только на рубеже веков пошли выступления, что так жить нельзя, и реальные ограничения буйной фантазии. Посмотрите на исходники каких-нибудь утилит времён дедов: километровый main(), в который автор записывал всё подряд в том порядке, в каком оно приходило в голову, а потом в новой версии натыкал if'ов для новых функций. Ну и зачем для такой работы ваш Паскаль?
— Наконец, просто мода поменялась. Темой для обсуждения стал C++, Объектно-Ориентированный С Рождения, а после — Java, Работающая Везде (браузерные апплеты — это ведь полумеры, предполагалось, что код сможет спокойно перемещаться по гетерогенной сети точно так же, как данные).
>Когда они сникли,
Когда Мелкомякоть забетабаксила главного разработчика, а он перед уходом помог увести костяк команды.
>Надо заметить, что Borland, при всех своих достоинствах и заслугах, как-то оказалась центральной организацией, которая всё на себе тащила, делая паскалевскую нишу всё глубже и глубже. Когда они сникли, замены не нашлось.
А сникли они потому что им пришлось тащить его в одиночку. Если бы у них были другие популярные продукты, то они могли бы как майки за счёт офиса и винды спонсировать дельфи. Но у них именно дельфи был самым популярным проектом. И конский ценник убил к нему интерес со стороны опенсорса и любителей.
Если бы он был открытым продуктом, то можно было бы привлечь других крупных игроков. Но он не был.
Он был гвоздями прибит к винде и на северной стороне не мог использоваться. А кросс платформа появилась слишком поздно, чтобы что то изменить.
Ты пишешь о вещах с современной точки зрения. На опенсорс было всем похуй, все дрочили на корпоративный софт. Как и на сервеную сторону, тогда вообще нужды запускать компиляцию на сервере не было. Не говоря о том что серверы и так на винде
Да и спонсирование продукта за счет другого звучит так себе, это значит что он убыточный и ненужон
Магазины так часто делают, value key products создают ощущение дешевизны, Профит идёт за счёт других товаров. В фикс прайс например часть реально дешёвая, часть - китайское говно втридорога. Или в пятерке красная цена российский минимум в два раза дешевле любого другого сыра (правда тут ещё давление государства).
>Ты пишешь о вещах с современной точки зрения. На опенсорс было всем похуй, все дрочили на корпоративный софт.
Я не говорил про опенсорс, я говорил про открытый продукт, это не одно и то же. Классический пример IBM PC vs Apple Macintosh. Вот например Java не была опенсорс, но спецификация JVM была открыта а сама JVM и JKD были бесплатны. И это это привлекло сторонних разработчиков. В результате IBM крупно вложилась в Java, создало свою реализацию JVM, свою IDE даже 2 которая потом стала Eclipse, свой сервер приложений. Да даже Борланд делал JBuilder, который во времена 5-8 версии был лучшей IDE для Java. А для Delphi никто альтернативных IDE, компиляторов и т.п. не делал. Максимум компоненты.
>Как и на сервеную сторону, тогда вообще нужды запускать компиляцию на сервере не было. Не говоря о том что серверы и так на винде
1. Речь про запуск приложения на сервере. И там в бюджетных вариантах был именно Linux, а серверы на Windows даже не везде были, а где были стоили ощутимо дороже. Потому весь бюджетный веб и был на PHP и Perl.
2. Запуск компиляции на сервере нужен для CI/CD, тут Delphi тоже просрали момент. Компилятор настолько прибит гвоздями к IDE, что на CI/CD надо ставить IDE. Отдельного компилятора Delphi не существует в природе.
>>2849302
>Да и спонсирование продукта за счет другого звучит так себе, это значит что он убыточный и ненужон
Вполне себе нормальная практика. Вон Майки спонсируют свой C# за счет продажи Офиса, Windows, облака и студии. И у тебя получается бухи привыкли к Офису, значит желательно Sharepoint, к нему дополнения удобно писать на C# в Visual Studio, а хоститься в Azure. Потому что все из коробки работет, легко интергируется в пару кликов, есть тьюториалы и поддержка. Экосистема это круто, Эппл не даст соврать.
Спецификации, ну ок, но жто было не критично опять же для B2B. Какая нибудь анси черканула сертификацию.
На серверах был такой зверь как CGI где вполне бинарники выполнялись.
CI/CD это современное изобретение, тогда бы удавились тратить процессорное время и электричество на перекомпиляцию.
Бесплатный C# это опять же в современныз реалиях, в то время студия была платной и без комьюнити эдишн, правда иногда были варианты получить в подарок, кажется у меня нде то был диск MSDN
У меня сохранился смешной емейл где я покупаю студию. Когда я на него недавно наткнулся, я смеялся и не поверил
Логично, что если идти работать к динозаврам, то окажется, что ни одна упомянутая в этом треде технология не умерла.
Вообще любой язык где присвоение делается через := нужно забить ногами под шконарь вместе с разрабами. Это просто пиздец.
Compiler as brain.
Там может быть что-то мудрёнее, вроде
> if (access_flags=CheckAccess(userid))
где непонятно, берут ли значение, чтобы им дальше пользоваться, если оно нашлось, или сравнивают (с тем, что где-то среди параметров в куче кода выше записывается). Человек, которого посадят предупреждения разбирать, может посчитать и так, и так, и оно даже будет работать как ожидается, если подсунуть id обычных пользователей.
Странно отрицать существование того, на что сорок лет назад уже наткнулись.
На это есть четкое правило, чтобы это работало, надо взять в ((двойные скобки)) иначе будет требовать ==
Basic
Почему?
Я вообще не понимаю людей которые на такие мелочи тригерятся, одно-два отличия от сишного синтаксиса и просходит мгновенный разрыв жопы.
Синдром утёнка.
Я и говорю: человек, которому скажут разбираться с предупреждениями в старом коде, так и подумает и поставит двойные скобки.
>А нахуй в принципе си решетка, если деньги приносит офис для бухгалтеров?
Продвижение экосистемы. Нужен язык автоматизировать весь этот офис. VB слишком примитивен, а C++ слишком сложен. Хотели Java, но посрались с Sun, вот и изобрели свой C# для автоматизации Sharepoint, офис, вот это все. ASP.NET первый версий тупо апгрейженый ASP. В общем им нужен был язык для своей экосистемы, более продвинутый чем VB, но проще и безопаснее C++.
>>2849698
>Спецификации, ну ок, но жто было не критично опять же для B2B. Какая нибудь анси черканула сертификацию.
Вопрос в том насколько сама компания готова к сотрудничеству. Есть compatibility test pack? На каких условиях предоставляется и лицензируется. Какие ОС поддерживаются? Та же IBM, Java в первую очередь на свои мейнфреймы нацеливала. А простой Джон город Сент-Луис, мог бесплатно скачать JDK, NetBeans и начать говнокодить.
В то время как Иван город Тверь мог только спиратить Delphi 2.
>На серверах был такой зверь как CGI где вполне бинарники выполнялись.
Был, но в сфере мелких сайтов. А энтерпрайз жаждал энтерпрайза, EJB и вот это всё.
>CI/CD это современное изобретение, тогда бы удавились тратить процессорное время и электричество на перекомпиляцию.
Нет конечно, CruiseControl классика Java мира, это изобретение 2001 года. И это уже реализация концепции которая уже была в воздухе.
>Бесплатный C# это опять же в современныз реалиях, в то время студия была платной и без комьюнити эдишн
Express же.
Чего смеёшься? CTRL+F по файлу сделай
https://github.com/ReactiveX/rxjs/blob/master/packages/rxjs/src/internal/Observable.ts
Сам-то читал исходники, еблан?
Обсёрваблы рыксовые можно анврапить в промисы, и из промисов можно получить обсёрваблы, но это не значит, что обсёрваблы написаны поверх промисов.
Поверх чего они написаны? Поверх событий?
>гои спорят чья баринская корпоративная технология лучше и кому они понесут свои денюжки.
Ору с вас. Все эти ваши "Технологии" в большинстве своем это чистый маркетинг аля что лучше кока кола или пепси.
На самом деле те кто больше бабла влил в пиар своего говна тот и становится лучше\популярнее. Возьмите пример питона, который гугл раскрутил, чем он лучше того же перла? Возьмите майков C# и весь дот нет и на другой стороне жаба и оракл, это чистейшее противостояние колы и пепси.
Знаете тут отлично работает аксиома эскобара - что то хуйня шо это хуйня.
Но вы возразите мне аля ВОТ НА Х-ГОВНЕ УДОБНЕЕ ДЕЛАТЬ Y-ГОВНО, но я скажу что это иллюзия и такой же маркетинговый прием.
Вот я изначально пишу на С++, я любил этот язык, я его люто ненавидел, потом я его опять любил, но знаете что я понял, что это основа, это база. Это немногочисленный пример, что какой-то действительно некоммерческий проект настолько популярен, настолько огромен, что он уже не может поддаваться влиянию корпораций. Это как биткоин, его капитализация настолько огромна, что его невозможно запампить, задампить, какой то акуле или даже десятку акул, даже сотне, т.к. он просто махина.
Да С++ относительно низкоуровневый, но вы подумайте, если бы не было этой корпоративной борьбы за влияние в сфере технологий и языков, и все бы улучшали несколько целевый проектов, думаете сейчас они были бы хуже чем нынешнее новомодное говно, на котором удобно делать Х?
Да даже С++ можно было развить настолько, что на нем легко можно было бы сайтики домохозяйкам клепать. Вопрос только в уровне абстрагирования. Что межает собственно на том же С++ сделать настолько высокоуровневые абстракции которые будут похоже на ту же ноду? Да ничего. Добавьте к этому улучшенные языковые конструкции и все. Так что все это залупа ебаная, просто маркетинг, а вы как овцы спорите кому лучше продать свою жопу. Да отчасти рыночек решает и мы вынуждены приспосабливаться, но если все будут просто подчиняться то так и окажется что мы все тотальные рабы той или иной корпорации.
Так что выбирайте фундаментальные и некоммерческие технологии, если не хотите ощущай огромный корпоративный член у себя в жопе.
>гои спорят чья баринская корпоративная технология лучше и кому они понесут свои денюжки.
Ору с вас. Все эти ваши "Технологии" в большинстве своем это чистый маркетинг аля что лучше кока кола или пепси.
На самом деле те кто больше бабла влил в пиар своего говна тот и становится лучше\популярнее. Возьмите пример питона, который гугл раскрутил, чем он лучше того же перла? Возьмите майков C# и весь дот нет и на другой стороне жаба и оракл, это чистейшее противостояние колы и пепси.
Знаете тут отлично работает аксиома эскобара - что то хуйня шо это хуйня.
Но вы возразите мне аля ВОТ НА Х-ГОВНЕ УДОБНЕЕ ДЕЛАТЬ Y-ГОВНО, но я скажу что это иллюзия и такой же маркетинговый прием.
Вот я изначально пишу на С++, я любил этот язык, я его люто ненавидел, потом я его опять любил, но знаете что я понял, что это основа, это база. Это немногочисленный пример, что какой-то действительно некоммерческий проект настолько популярен, настолько огромен, что он уже не может поддаваться влиянию корпораций. Это как биткоин, его капитализация настолько огромна, что его невозможно запампить, задампить, какой то акуле или даже десятку акул, даже сотне, т.к. он просто махина.
Да С++ относительно низкоуровневый, но вы подумайте, если бы не было этой корпоративной борьбы за влияние в сфере технологий и языков, и все бы улучшали несколько целевый проектов, думаете сейчас они были бы хуже чем нынешнее новомодное говно, на котором удобно делать Х?
Да даже С++ можно было развить настолько, что на нем легко можно было бы сайтики домохозяйкам клепать. Вопрос только в уровне абстрагирования. Что межает собственно на том же С++ сделать настолько высокоуровневые абстракции которые будут похоже на ту же ноду? Да ничего. Добавьте к этому улучшенные языковые конструкции и все. Так что все это залупа ебаная, просто маркетинг, а вы как овцы спорите кому лучше продать свою жопу. Да отчасти рыночек решает и мы вынуждены приспосабливаться, но если все будут просто подчиняться то так и окажется что мы все тотальные рабы той или иной корпорации.
Так что выбирайте фундаментальные и некоммерческие технологии, если не хотите ощущай огромный корпоративный член у себя в жопе.
Ну так ты такая же промытка, ты взял c++ когда были BASIC и Pascal. Вдумайся, ты выбрал язык с UB, лол
>чем перл хуже
Всем. Это write-only язык, понять что там напрограммировано невозможно. Кроме маркетинга, есть и объективные аспекты которые можно оценить.
>Ну так ты такая же промытка
От части мы все промытки, т.к. живем в мире где постоянно пропагандируется та или иная вещь. Я это и не отрицаю, невозможно иметь абсолютно непредвзятое мнение, но можно выбирать более объективно по каким-то объективным параметрам. Моя мысль была в том, чтобы пользоваться некоммерческими технологиями, развиваемыми некоммерческими обществами, которые никак не могут вычленять прибыль из своего продукта не напрямую, не в виде пиара и рекламы.
> ты взял c++ когда были BASIC и Pascal. Вдумайся, ты выбрал язык с UB, лол
Ну паскаль уже был под борландом, ну а бейсик под майками + никто уже на них не писал, все таки надо выбирать из живых и развивающихся технологий, а не трупов. UB - лол, практически в любом языке есть UB. А в современном С++ его довольно ничтожное количество. На самом деле, С++ пожалуй один из немногих, если не единственный язык, который еще остается реально свободным, без влияния крупных корпораций. Да многие крупные корпорации используют С++, тот же гугл, амазон, яндекс да почти все, но никто не может за счет этого пиариться и зарабатывать на саморекламе ибо С++ независим и не принадлежит им, трудно ассоциировать себя с брендом к которому ты не принадлежишь...
>Всем. Это write-only язык, понять что там напрограммировано невозможно. Кроме маркетинга, есть и объективные аспекты которые можно оценить.
Пффф, ну ты зеленый еще походу, на любом языке можно наговнокодить так, что будет невозможно разобраться. И перл тут вообще ни причем. Все эти слухи о перле пошли из-за его мощи, действительно на перле можно писать очень запутанные выражение, но никто не обязывает тебя это делать. И на реальной работе, твой пул реквест не по код стайлу вообще не апрувнут.
>C++
>какой-то действительно некоммерческий проект
Поехавший, ты представляешь себе что такое было AT&T в начале 1980-х?
>развиваемыми некоммерческими обществами
Точно шиз. Посмотри на тех кто придумывает стандарт, точнее на то, из каких они компаний (после фамилий в скобочках) https://isocpp.org/std/the-committee
Там прямо все такие некоммерческие-некоммерческие
Шиз, развивать его кто угодно может, даже твоя мама. Только пиариться за счет этого не получится. Ядро линукса тоже развивают тысячи компаний, только коммерческой выгоды они от этого не имеют, да и подминать под себя они тоже не могут, чтобы им что-то было более выгодно продавать на его основе. А вот какой-то .NET в любой момент могут изменить в любую стороны если это будет выгодно майкам и никто этому не сможет помешать, хочешь дальше разрабатывать свое энтерпрайс говно под нашу ОС? Прогибайся, холоп.
>Ядро линукса тоже развивают тысячи компаний, только коммерческой выгоды они от этого не имеют
Это какой-то тупой траленк что ли. Про RedHat, его вклад в линуск, про остальные коммерческие дистры ты тоже ничего не слышал?
Еблан, прежде чем высирать такое, ты хотя бы разобрался сначала в структуре ОС, ядре, лицензиях и почитал про GPL. То что продает редхат это условно набор утилит и поддержка а сорцы ядра linux у них с открытым исходным кодом, ибо GPL. Но мы тут вообще не об этом, а о том, что могут ли редхат пропихнуть в ядро изменения выгодные им? Могут ли они ассоциировать себя с ядром линукс? Оно им не принадлежит и бренд линукса никак с ними не ассоциируется. Редхат не имеет рычагов влияния на ядро и никак не может ставить никакие условия и пропихивать выгодные себе изменения туда. В отличии от того же дотнета и джавы, имеющие в основе своей полную зависимость от разработавших их корпорацией.
Да я согласен огромные корпорации с миллиардами долларов всегда будут пытаться влиять на ту или иную свободную технологию, но удастся ли им зависит только от нас. Поэтому примыкать к заведомо коммерческой технологии имея свободную альтурнативу - это крайняя тупость, добровольное рабство и поощрение такого режима.
> могут ли редхат пропихнуть в ядро изменения выгодные им?
Да ты точно под веществами, анон. Редхат пропихнула в линукс свой системд, несмотря на вскукареки таких как ты сторонников швабодки.
Ясен пень они коммитят в ядро изменения выгодные им.
Корпорации как вертели вас, дурачков, на кое-чем, так и вертят.
Посмотри на список тех, кто коммитит в ядро линуск, может хоть какие-то мысли придут в голову
https://lwn.net/Articles/915435/ - особенно табличка Most active 6.1 employers
Ебать, при чем тут системд и ядро линукса? системд вообще никак не является частью ядра. То что под системд прогнулось большинство разработчиков дистрибутивов, это отдельная песня, но никто тебе не мешает использовать дистры без системд.
Да и потом, да абсолютно избавиться от влияния корпораций скорее всего невозможно в нашем мире, но подконтрольно его допускать - вполне неплохая идея. Думаю нет особой опасности в том, чтобы позволять корпорациям запиливать какие-то патчи или релизить опенсорцные под открытой лицензией вещи, главное не позволять им устанавливать рычаги давления и следить за этим, чтобы в один момент не получилось так, что внезапно, какой-то продукт полностью зависим от какой либо корпорации.
Анон, хватит уже тупить. Со стороны ядра линукс есть поддержка systemd. Редхат пропихнула эту поддержку в ядро. Это очень простые факты, не понимаю с чем ты пытаешься спорить.
Никто тебя не будет спрашивать, когда какая-то корпорация решит что-то запилить в ядро линукс. Твое мнение, как и мнение тысяч пользователей с горящими жопами, вообще никого не волнует.
Максимум что произойдет - Торвальдс пукнет в списке рассылки, с ним поговорят приватно и все на этом закончится.
Кстати, странно что ты топишь за С++. С таким ай кью щас обычно программируют на Руст или Голанг. А в свободное время выступают онлайн с ЛГБТ-флагами за Свободу
Не успел еще перекатиться что ли
C++ буквально управляется комитетом в котором чуваки из корпораций решают что туда добавить
UB есть не во всех языках, в нормальных языках поведение определено и выдает ошибку. Один UB в программе строго говоря делает всю программу невалидной.
В этом году в стандарт добавили три новых метода сделаьь UB, держу вкурсе, их не уменьшают а увеличивают
Не на всех языках получится писать нечитаемо, потому что не все языки состоят из одних закорючек
Да могли бы не принимать пр, только вот на перле считалось что чем круче выебнулся тем лучше
Да, метапрограмирование делает простым для каждой домохозяйки.
>Да даже С++ можно было развить настолько, что на нем легко можно было бы сайтики домохозяйкам клепать. Вопрос только в уровне абстрагирования. Что межает собственно на том же С++ сделать настолько высокоуровневые абстракции которые будут похоже на ту же ноду? Да ничего.
В принципе сейчас и можно. Берешь тот же дрогон фреймворк и лепишь на нем. auto, умные указатели, стл контейнеры, все по кайфу. Довольно удобно можно делать сервисы всякие. Не сильно сложнее, чем на тупоскрипте на мой взгляд.
Нет, это ты тупишь, и выдаешь желаемое за действительное. Ядро ничего не знает о системди, а лишь предоставляет набор интерфейсов и функций, через которые может работать любое приложение, так что хуйню не неси.
Странно что с такой шизой, ты еще не стал проституткой как твоя мамка, ведь все в этом мире уже куплено по твоей логике, даже твоя жопа.
Еще один шизик, или это все тот же? Ну чуваки из корпораций состоят в комитете и что дальше? Это абсолютно не тоже самое, что корпорация владеет единолично какой то технологией.
>В этом году в стандарт добавили три новых метода сделаьь UB, держу вкурсе, их не уменьшают а увеличивают
Ну давай, расскажи нам что это за методы такие добавили?
>в нормальных языках поведение определено и выдает ошибку
В нормальных это каких? Которые как пластмассовые мечики, заточены под слабоумных дебилов из фронта и бека, которые не имеют доступа к железу?
Невозможно работать на низком уровне не имея UB в языке.
Да С++ далеко не идеальный язык, во многом он монструозный, уродливый и сложный, но зато он быстрый, практичный, свободный и имеет огромную кодовою базу и комьюнити. На С++ я могу сделать абсолютно что угодно от самого низкого уровня до самого высокого. Поэтому по сумме всех критериев получается что С++ самый лучший язык из всех доступных и живых на данный момент.
>Не на всех языках получится писать нечитаемо, потому что не все языки состоят из одних закорючек
>Да могли бы не принимать пр, только вот на перле считалось что чем круче выебнулся тем лучше
Чувак, ну если все будут ершики от унитаза себе в жопу пихать и это будет считаться крутым, ты тоже будешь?
Да и потом, не считалось так нигде, кроме тролей которые всякие пакостные программы нубам скидывали чтоб те себе этим скриптом диск снесли.
Да, С++ развивается очень хорошо, не знал о драгон фреймфорке, надо будет глянуть, мне иногда в работе приходится микросервисы пилить, сколько тогда не искал нормальных либ, одна хуйня доисторическая и тяжеловестная.
Но суть да, на С++ можно что хошь сделать без лишней ебли. Новые стандарты вообще дают огромный буст тот же С++20 был настолько же прорывным как с++11 в свое время, даже больше. Взять те же корутины, по сути теперь ты можешь так же легко использовать async/await как в любом другом высокоуровневом языке поддерживающим это. Единственное конечно по мне не очень красивый синтаксис с этими co_await сo_return и неразличисмость на уровне компилятора корутины от функции из-за чего можно из корутины вернуться обычным ретурном и будет плохо.
Жду полноценной поддержки модулей в gcc вот тогда заживем
Переход на личности означает что у тебя шаткая позиция и ты начинаешь сливаться.
Эти корпорации решают что добавить в стандарт, да конечно единолично не владеют, но в своей узкой области вполне могут диктовать.
Хотя, в некотором смысле можно сказать что те чей компилятор, те и владеют. Clang же эппловский и гугловский, лул, и они не скрывают что делают его чтобы заместить GCC. А, еще свои компилятору у MS и Интел, и кажется все? Так что тут вся свободка держится на GCC который хотят заменить, лул.
>Невозможно работать на низком уровне не имея UB в языке.
Ты не разбираешься в том что такое UB, это не редкость для плюсовиков. UB это не какое то свойство железа, это говеное свойство языка, когда вместо четко определенного ответа правильный код или ошибочный, делается че угодно.
Например, в ассемблере и машинном коде нет UB, а они максимально близки к железу.
>Ну давай, расскажи нам что это за методы такие добавили?
Процитирую свой старый пост
Это уже похоже на какой то саботаж.
Итого C++23 вместо убирания UB ввело еще и ТРЕТИЙ (кроме std::unreachable, [[assume]]) способ его получить.
Добавили std::expected для обработки ошибок.
Нюанс в том, что если ты забыл проверить result.has_value(), и обратился к value = *result но у тебя ошибка, или к result.error() но ошибки не было, то ты ловишь UB.
>Да и потом, не считалось так нигде, кроме тролей
Открываешь исторические вопросы на реддите и стековерфлоу и убеждаешься что это не так.
>Ядро ничего не знает о системди
Шиз, астанавись.
https://github.com/search?q=repo%3Atorvalds%2Flinux%20systemd&type=code
>все в этом мире уже куплено по твоей логике
Анон, если бы у тебя был ай кью больше 32, ты бы заметил что мы обсуждаем не все, а две вещи: С++ и линуск.
Ну да, их развитие управляется крупными корпорациями. А тебе ссут в мозг что это швабодка. И ты вместе с такими же промытышами в это веришь. Заметь, все аргументы у тебя уровня
>твоя мамка
То есть жопа полыхает, а мозг не включается.
У меня нет цели тебя в чем-то убедить, просто наблюдаю как промытыши реагируют на достаточно известные факты. Уже прошли стадии "вывсеврети", "мамку твою", интресно что будет дальше
Орнул чет с такого дилетанта с его нубскими рассуждениями о UB, двойне смешно когда он пытается спроецировать свое полыхание жопы на меня, лол.
Мне лень тебе отвечать развернуто сейчас ибо с мобилы в кроватке, но ты сука дебила кусок может предопределить поведение программы если прочитаешь рандомный кусок памяти? Или неинициализированную память? А что делать с дата рейсом? Знаешь о таком? Даже если опустить то что многие UB допускаются в целях оптимизации, чтобы можно было сэкономить ресурсы на скрытых проверках, то что делать компилятору с дата рейсами? Короче ты нихуя не шаришь ни в чем, но пытаешься тут что то доказать мне.
Чел, мне тоже если честно насрать на тебя, хочешь брать в рот у корпораций - пожалуйста. Только если уж встал на этот скользкий путь ну нужно убеждать всех вокруг выдавая желаемое за действительное. В мире есть свободные вещи, а промытка тут только ты. Ты еще наверное из тех додиков которые верят во все конспирологические теории. И всем пытаются доказать что ими управляют рептилойды, лол.
Кстати глянь на стеклверфлоу у std::expected::value это defined behaviour, и выбрасывает он экспепшн при установленном error.
>Например, в ассемблере и машинном коде нет UB, а они максимально близки к железу.
UB в языке как раз и существует потому, что на разном железе операции могут выполняться по-разному, а язык - это абстракция над железом. Невозможно на все вопросы дать однозначный ответ даже сейчас, а тем более в 70-80-е, когда был дикий зоопарк архитектур. Некоторые вещи проще оставить на усмотрение программиста, который флагами сможет настроить компилятор на нужное поведение.
Ясно у нас тут опасный сишник, с излиянями про то что UB это опасный нож и так надо.
>если прочитаешь рандомный кусок памяти? Или неинициализированную память? А что делать с дата рейсом?
Не давать прочитать такое на уровня языка/иметь определенное поведение показывать ошибку.
>Даже если опустить то что многие UB допускаются в целях оптимизации
Это произошло потому что те самые корпорации пишущие компилеры вольно прочитали стандарт, а потом сказали ой ну мы же уже так делаем, и стали наваливать говна еще больше.
https://www.joyk.com/dig/detail/1584333079275004
Коассно что ты советуешь другим не выдавать желаемое за действительное. Выдавая при этом сам.
UB раковое свойство языка и к железу никак не относится. Не надо путать с implementation defined.
И что ты будешь делать с переполнением интов, например? На некоторых процах, например, есть прерывание на этот случай, на других - приходится проверку делать после каждой операции. В расте избавились от UB методом страуса, заметя под ковер, там переполнения нет (в дебаге везде проверки, в релизе модульная арифметика). То есть проблемы как бы нет, пока тебе не надо реально ловить переполнение счетчика на каком-нибудь микроконтроллере, и с прогой на расте придется это делать черезжопным методом.
>на других - приходится проверку делать после каждой операции
В этом то и прикол UB. Ты не сможешь сделать проверку ПОСЛЕ операции, потому что программа уже невалидна. Проверку надо было делать ДО операции. Компилер может выкинуть твою проверку потому что посчитает что она не нужна.
>Ты не сможешь сделать проверку ПОСЛЕ операции, потому что программа уже невалидна.
На x86 есть флаг переполнения. Он устанавливается ПОСЛЕ операции. Программа, которая его проверяет на каждое действие, естественно, валидна (но платформозависима).
На x86 есть, но до него не дойдет потому что в Сях уже UB, а значит компилятор имеет право выкинуть любую ненужную по его мнению проверку ПОСЛЕ, потому что таких значений по его мнению не может быть никогда. https://stackoverflow.com/questions/199333/how-do-i-detect-unsigned-integer-overflow
>На x86 есть, но до него не дойдет
Дойдет, конечно, если проверку интринсиком делать или на асме. Суть в том, что там это можно сделать, на расте - нельзя по определению, там инты всегда молча перекидываются.
>Не давать прочитать такое на уровня языка/иметь определенное поведение показывать ошибку.
Ясно, вызываете санитаров у нас поехавший.
Я понял тебя, ты видимо из тех кукаретиков, которые сами никогда в жизни не имели дело ни с чем кроме какого-нибудь фронта на тайпскриптике, начитались двача и стали все возводить в абсолют пропагандируя то, что все языки должны быть аля хаскель или что-то такое, без UB с магией под капотом, чтоб сам за тебя твою криворукость исправлял и еще минет в догонку делал.
Смешно, когда такие, наивные вкатуны своими детскими фантазиями тут срут.
Напомнило шебмку где зумерша с круглыми очками не понимает как открыть банку или что-то такое, так же и ты начитавшись сказок про языки начинаешь тут фантазировать идеальные миры.
напомню как выглядела на самом деле пыха в момент его зарождения: в общем была html страничка, в ней была добавлена динамика на яваскрипте которая выполнялась в браузере, но при этом ты еще прямо внутри этой странички в соответствующем теге ты еще хуярил скрипты на этой самой пыхе, которые уже прожевывались сначала на сервере прежде чем тот их клиенту высрет
причем сам язык даже для студента первых курсов выглядел просто блядь как какая то криво сляпаная за пару недель поделка на коленке, ну типа из тех скриптовых языков что иногда придумывают сами студенты когда проходят курс по компиляторам, лол
soap сегодня зрелая технология, ну и он как правило сегодня "спрятан" внутри платформ, которые предоставляют средства для разработки и хостинка веб-служб, поэтому и кажется что его "нет", хотя наверное значительная часть (текстового) трафика интернета сейчас как раз пакеты из soap xml'ок
и нельзя сказать что подход restfull вытеснил soap, скорее они дополнили друг друга
>Java EE помер
ну, во многом это так
из забавного: на сегодняшний момент есть крупные компании, которые свой ключевой продукт успели сначала переписать в нулевые с приплюснутой сишки на явку EE, а теперь отказываются от EE и переписывают на spring, программистам конечно хорошо ведь есть работа, но с другой стороны если подумать то в принципе то можно было бы так и оставаться на коде который в начале 90х был написан, хе хе
с точки зрения работы самого продукта, разницы вообще никакой, тупо менеждеры пилят бабло на вечном переписывании ну и кодеркам перепадает крох с барского стола
нельзя сказать что флеш "умер"
нужно говорить о том что флеш долго, издевательски, и настойчиво "убивали"
причем это не был вопрос технологического преимущества, это был вопрос исключительно меркантильный, вопрос корпоративных разборок
то, что вполне спокойно и без заморочек делали на флеше двадцать лет назад, только недавно стало возможным делать на "новых" технологиях на которые заставили перейти, причем делается там все на нихуевых костылях, по сравнению с тем же флешем
Так говорили же, что флеш дохера небезопасен, кругом дыры и злые хаккеры воруют все деньги и данные в мире через флеш.
>>с точки зрения работы самого продукта, разницы вообще никакой
Проблемы возникают когда надо добавить фичу. Выясняется что это невозможно и приходится перепиливать на что то посовременнее.
Сейчас с микросервисами стало проще - то что не меняется остается на легасном говне, а если потребуется изменить - переписать один модуль уже не так дорого.
https://ziglang.org/
из заметных проектов - на нём написан bun, интерпретатор js
в зиге довольно любопытный основатель, смотреть с ним видосы - одна радость.
из недостатков - всё ещё нестабильная реализация, приходится время от времени выкачивать новый nightly - то константы переделают, то ещё че.
кроме самого языка, к нему идёт билд-система для любых языков - они пытаются вытеснять сишечку "постепенно", интегрируясь с ней и предлагая замену всем этим *make, вообще поищи видосы про него на ютубе - выглядит прикольно.
и сразу вдогонку - в тредах про раст можно встретить обсуждение zig. совсем грубо говоря, это новая сишечка для тех кому раст слишком сложно или навороченно.
>bun, интерпретатор js
https://bun.sh/docs/project/licensing#javascriptcore
>Bun statically links JavaScriptCore (and WebKit)
?
>ziglang.org/
иронично отписался в теме про всякое старье
на самом деле нахуй не нужна эта пделка: пролистал доки до хелло ворд и бросил, мало того что непонятная архитектура языка, так еще и параметры в лишних скобках и с точкой. это што ананомный массив? нахуй он здесь? и вообще почему не использовать стандартный формат printf? иронично заявляют о улучшении с\с++ но нахуй не используют стандарты ansi
в общем, если хотите современный аналог с\с++ то юзайте dlang на llvm, современная альтернатива макросовту, а эту поделку похороните уже и не вспоминайте
CoffeScript
Он родился мëртвым.
Я даже не удивлен, что блядские яваскриптизеры, рожденные в семье путаны и содомита, тащат этот кал к себе в проекты
UWP родился изначально умершим и сейчас влачит своё жалкое тело
>>2840537
Юзаю для прототипов что бы потом на сишку перекидать
>Язык D, убийца крестов
Была возможность взлететь, но просрали удачный момент, выкатив три сырых альфы вместо одной полноценной реализации.
Вот что бывают, когда у тебя лебедь, рак и щука вместо сообщества.
>котегорий
Всегда знал, что яваскрит обезьян и любителей подрочить свой анус фукнционалопарашей набирают на работу прямиком из класса коррекции. Так и быть, ебло тупое, поясню для тебя, что не так в вашем кружке для умственно отсталых.
Вы, ебучие вырожденцы, пытаетесь отказаться от состояния и получаете его в неявном виде через стек вызовов 100500 функций, которые хитровыебанно рекурсируют через друг друга. Вместо стейта и вызова - ссылки через ссылки на ссылки через ссылки на ссылки, через ссылки. И такая порочная карусель происходит на любой чих.
Тем не менее, любые функциональные языки программирования переводятся во вполне стандартные процедурные команды для процессора. И при этом у разработчиков соответствующих компиляторов и интерпретаторов возникают немаленькие проблемы, что бы это говно тормозило не так уж сильно. Потому что, внезапно, сами транзисторы и другие элементы современной электроники работают на принципах императивной парадигмы, и им похуй на твои монады. Подобные тебе фп-шлюхи, к слову, уже начинают понимать степень абсурда и активно переобуваются на ходу, говоря, что контроль мутаций - это не так плохо.
Короче говоря, проблема в том, что ваши абстракции тормозят и не имеют никакого практического смысла.
>пытаетесь отказаться от состояния
Нет, мы просто берём его под контроль. Собственно, дальше не читал. Твой уровень понимания ФП - вводная статья со швабры.
Где же вы тогда его храните, ммммм?
inb4 да.
При этом SOAP продолжает использоваться только там где его когда-то внедрили, новые проекты все или на rest, или на grpc. Или на thrift, но он скорее мёртв
>>2956225
Они это и говорили, и были правы, флэш фактически реализовывал SOP и сэндбокс заново, и делал это хуёво, так что учётки пользовалей угоняли тупо через флеш запущенный на фишинговом домене. Фактически все эти браузерные плагины приходилось сэндбоксить разработчикам браузеров, они попробовали на флеше, поняли что всё равно говно получается и убили нативные расширения.
Rust, Typescript
>Да даже С++ можно было развить настолько, что на нем легко можно было бы сайтики домохозяйкам клепать. Вопрос только в уровне абстрагирования. Что межает собственно на том же С++ сделать настолько высокоуровневые абстракции которые будут похоже на ту же ноду? Да ничего.
Это база, проблема в том что на кодовую базу сразу накинутся всякие старпёры и засрут её макросами для суммы двух интов.
Ну и ситуация с заголовками конечно весьма плачевная
Python
Ну и что теперь в моде вместо тайпскрипта?
Фреймы. Позволяли делать удобную навигацию сбоку в больших документах/книгах - их можно было мышкой растянуть под нужную удобную ширину. Теперь навигация это беспросветный пиздец.
> мышкой растянуть под нужную удобную ширину
Легко реализуется через CSS. То, что этим пренебрегают, говорит только о некомпетентности отдельных веб-дизайнеров.
>В этом ИТТ тренде вспоминаем умершие технологии
Буквально все технологии умирают в течение 10 лет, за редкими исключениями.
То, что какая-то хуйня сдохла - это правило, а не исключение.
А вот если не сдохла, это необычно.
Интереснее посмотреть на технологии, которые живы 20+ лет.
Меня больше всего удивляет C++ нахуй. 40(!) нахуй лет хуйне, никак не могут прибить. Его ровесники уже в могиле давным давно. А эта хуйня несмотря на кучу недостатков остается незаменяемым индустриальным стандартом, все попытки заместить проваливаются год за годом.
Пили тред выживших технологий.
> Вообще любой язык где присвоение делается через := нужно забить ногами под шконарь
Даже представить боюсь, что с тобой Верилог сделает. Лопнешь ведь, как тот выбегалловский кадавр: https://en.wikibooks.org/wiki/Programmable_Logic/Verilog_Operators#Assignment_Operators
Любой компилятор сначала генерит асм файл, затем объектик из него, затем асмовский стирает. А уже после линкует в исполняемый.
Для x86 никто почти не использует асм, но есть огромное количество всяких девайсов, для которых это единственный язык (у каждого свой, конечно, в зависимости от железа).
А ты лохопед который вообще, нихера не знает про современные компиляторы, но при этом что-то пиздит.
Долбоёбина, с тобой даже разговаривать нет смысла, пока ты не прочитаешь в интернетах что такое ОПЗ.
А НУ СДРЫСНИ ОТСЮДА В УЖАСЕ, ЕБАНАШКА!
>требование ставить плагин многих отталкивало.
По большому счёту ТОГДА это было прямо аналогично флешу - тоже нужно докинуть плагин и всё буде!
Только флеш был растпространён прям пиздец как, а майки просто обнаружили в нём фатальный недостаток.
В итоге я помню как наткнулся на один сайт, написанный на нём (помнится, он даже на баше заслужил упоминание), качнул плагин так же, как до того качал флеш, поставил... и никаких проблем. А компы всё-равно быстро становились помойками заполненными твикерами, регетами и клинерами.
>нельзя сказать что подход restfull вытеснил soap
Я с мылом плотно не работал, но насколько я помню, он был довольно лаконичен, REST-HTTP на его фоне несколько перегружен.
С удивлением обнаружил, что жив не только Embercadero Delphi, но и буквально в декабре вышел релиз Lazarus 3.0 (при чём искаропки умеет не только в VCL, но и в GTK+, Qt и прочее), так что не спешите хоронить.
Впрочем, о достоинствах и недостатках можно сраться. Например, мне не нравится многословность, но нравится, что по ноге можно выстрелить только специально.
Главное, что по нему бьёт сегодня - тотальное засилье веба и отказ от десктопных приложений как класса.
>скачивал кряк единоразово
Из-за таких, как ты оно и умирает и переезжает на подписки. Выблядок.
Пираты вообще пускают под нож всё, до чего дотягиваются.
>на питухоне или жс сейчас скриптуют прошивки.
Там от оригинальных ЯП один синтаксис, небось.
>Кстати, кто-нибудь в курсе, почему так взлетел Си?
А почему одни песни становятся хитами, а другие - нет?
А почему некоторые фильмы считаются шедеврами, а о других никто не вспоминает?
Стечение обстоятельств. Случай. Мелкий просчёт разработчиков... В IT (и не только) довольно много ситуаций, когда худший продукт выстреливает, а когда продукты сопоставимы - достаточно мелочи.
>>2842167
>остаётся очевидное и предсказуемое поведение написанного кода
Это ты про какой-то другой ЯП. В сях всегда было можно написать "посмотреть на пистолет" и обнаружить, что тебе не просто прострелило ноги, а их вообще оторвало по пояс.
>перл это write-only язык
Ноуп. Это совершенно обычный ЯП. Он позволяет с собой вольно обращаться, но это не значит, что на нём нельзя писать нормально.
Хз пыха живее всех живых. Просто помимо веб бекенда появились разные популярные мобильные разработки, где для пыхи места нет, именно они и предали популярности другим языкам. В бэке пых топ один, за последние нацать лет как занимал 77-80% срынка, так и занимает. А зарплаты у мидл+ одинаковые для всех языков
>Пираты вообще пускают под нож всё
Тут ты не прав, кстати. Если бы не пиратство, то винда не взлетела бы, например, она стала стандартом на пк только из-за пиратства. Это не мешает ей жить, а билли гею шуршать бабосом.
> не поднимает их выше 6 места
Тут как бы тред умерших технологий а не тред "ПО не упоминаемое в хайповых статьях или проектах". Есть куча по в проде где используется redis до сих пор и в ближайшее время это точно не изменится
мимо другой анон
> винда не взлетела бы, например, она стала стандартом на пк
Вот это точно не в заслугу пиратам идет. В 90-ых (когда пиратство не набрало обороты) у Винды не было норм конкурентов или они были задушены в зародыше. Линукс тогда был абсолютно юзлесс для рядового пользователя. Реальным конкурентом был OS/2 но Майкрософт их просто задавили на рынке через маркетинг и прочее. Причем это было во время, когда даже в США инет был далеко не у каждого, не было торрентов для скачивание "виндовс 95" зверСД
кек, лютый манямир анкапщика. На подписки оно переезжает потому что жадные билли считают тебя натурально за мусор и быдло, пираты их совсем не интересуют, они о них даже не думают. А вот как из тебя вытянуть еще два баксика - постоянно.
Есть тут аноны кто помнит Делфи-7? Есть одна некропекарня Селерон на 478 сокете и 1Гб оперативки с картой видеозахвата, в карту включена камера. Задача: брать изображение с камеры, выводит на экран и попутно преобразовывать в массив, где значение ячейки привязано к цвету пикселя точнее усреднённое по набору пикселей, но не суть. Второе, как я понял, реализуется через TImage, а вот как брать видеопоток я чёт нихера не вдуплил.
>не было торрентов для скачивание "виндовс 95" зверСД
Хз как там в Пиндостане, но в Постсовке это не мешало в каждой булочной продавать диски с вин98, ключ от которой все помнили наизусть. Да и тот факт, что начиная с Семёрки буквально все ограничения для неактивированной винды сводились к чёрному фону и надписи в углу, как бы намекает на похуизм в отношении некоммерческого использования.
Проглядел тред, что тут пишут
Если из действительно распространённых технологий, которые ушли или полностью, или почти:
Perl - реально был очень-очень массовым, сейчас почти нет
Delphi - аналогично, но уже под винду для приложений
Adobe Flash и Java Applet, дико хайповые технологии, модные и молодёжные в своё время, многие считали, что на них всё перейдёт, но тем не менее сейчас они вымерли полностью вообще
FreeBSD, когда-то система считалась более крутой, чем линукс, чаще интернет сервисы поднимали на FreeBSD. Хорошая система, я с ней работал, даже дома стояла. Но сейчас уже всё, хотя её по-прежнему выпускают, но схватку с линуксом она полностью проиграла. Банально нет поддержки виртуализации, докера и kvm, сейчас без этого никуда
Ещё технологии, которым пророчили захват мира, был дикий хайп, но потом они сникли, хотя живы:
NoSQL, MongoDB, позиционировали, что всё будет на них, что заменят SQL, многие внедряли, но потом от этого ушли, много минусов, а SQL поддержали многие NoSQL фишки. Ниша по-прежнему есть, но значительно уже, чем когда были на пике, многие проекты мигрировали на SQL обратно.
WebAsm - тоже было много хайпа, однако не полетело совсем. Технология не вымерла, вымирать не будет, но остаётся лишь узкая ниша, поддержка каких-то вычислительно сложных библиотек, вроде графики другого.
ещё забыл,
Erlang/Elixir, было много хайпа, проектов, но проиграли конкуренцию банальной node.js Сейчас почти не осталось ничего
Это же относится к разным функциональным языкам программирования, но там больше было хайпа, чем реальных проектов. На эрланге (тоже ФП) всё-таки что-то реально серьёзное было
>Интереснее посмотреть на технологии, которые живы 20+ лет.
В основном наиболее массовые технологии появились больше 20 лет назад
C/C++/Java/C#/PHP/Python/HTML
Postgres, MySQL, Linux
Вообще технологий и ключевых слов тысячи, интересно смотреть на по-настоящему хайповые в своё время, и (почти) полностью вымершие сейчас
Как флеш и джава-апплеты, например
Ты в целом прав, основная ниша доходов с ОС это коммерческое использование и в меньшей степени поставщики компов с установленной ОС. За ними вот следили. А то что там люди сами себе что-то ставили, всем почти похуй было.
Реально пираты скорее душили конкурентов, и мешали какому-то более редкому софту для домашнего использования
Если бы с пиратами реально боролись, скорее бы взлетели альтернативы вроде линукса для настольного использования, или другие ОС
А софт по подписке это в принципе естественное развитие. Дело даже не только в пиратах. В принципе это выгоднее и удобнее для всех.
>Десктопные проги вообще уходят в прошлое. Всё перетягивают в облака по подписке, чтобы ты платил дань вечно
Всё верно, но это всё-таки не совсем "дань". Модель "один раз заплатил" неудобна, как дорабатывать софт в этих случаях? Любой софт надо поддерживать, совершенствовать, как это делать, когда рынок уже не расширяется? Ещё лучше, чтобы ты мог подписаться, когда пользуешься, и отписаться, если тебе больше не нужно
Чем очереди отличаются от MQ(message queue) или имелся в виду Message broker??
Да, скорее брокеры имели с виду, а вообще я о том, что редис позволяет заменять функционал систем вроде RabbitMQ и Kafka, причём в одном флаконе. Конечно специализированные решения мощнее, но часто они не реально не нужны
Кстати, интересно как поживают форки редиса типа keydb и dragonfly db??
Redis - бля поцоны мы изобрели мемери кэш. Пиздец мы вумные.
Докер - мы изобрели виртуальные машины которые можно реплецировать. Ну пиздец я ещё в 2010 занимался копированием образов для Vbox. Изобрёл докер на на 3 года раньше.
GraphQl - фронты обленились настолько что хуй клали на безопасность и пердолинг бэка чтобы эту хуйню поддерживать.
Нейросети - диды 70 лет назад написали нам алгоритмы и мы только сейчас смогли это запустить.
Любые абсолютно менеджеры очередей.
Я просто сижу и смотрю как шумеры буквально каждые 5 лет изобретают колесо под разными названиями.
> обнаруживаешь под наспех сделаным фасадом поросшие мхом технологии дидов
Человечество практикует это ещё с каменного века. Хуй знает, из-за чего тут веселиться, разве что от того, что никто не может привыкнуть к такому банальному явлению. Никогда такого не было, и вот опять.
Я угораю с того как все носятся с этим, а на вопрос почему они изобрели велосипед начинают пускать слюни и орать что это ХАЙТЕК.
Чем докер образ отличается от образа ВМ из Vbox или HyperV? Правильно ничем блять это не отличается.
Это буквально урезаная ВМ линукса которая запускается и работает из образа.
Там очевидный жирный тролль был с набросами, что ты такой серьёзный...
Докер и с точки зрения системы (использует нативное ядро ОС и весь функционал ядра) отличается, это ты написал, и даже с точки зрения конечного пользователя, потому что для пользователя главное это слоёная архитектура образов, которая в виртуальных машинах очень плохо воспроизводится. Можно что-то накостылить, но очень так себе.
Собственно и первичный пост даже не хочется комментировать, слишком жирно
Докер с любой точки зрения это хуйня для управления набором виртуальных машин.
когда говорят "докер", подразумевают не только утилиту, но и всю архитектуру связанную и экосистему
Иначе если формулировать, контейнеры это совсем другое, чем виртуальные машины
Контейнеры про изоляцию. Их прародитель это chroot, системный вызов и утилита, которые позволяли изолировать для процессов файловую систему. Что было востребовано в плане безопасности. А потом в линуксе поддержали всякие пространства процессов, сетей и т.п., что позволило изолировать процессы полноценно друг от друга. При этом ядро по-прежнему остаётся общим. Все системные вызовы исполняются на общем ядре ОС.
В общем это совсем другая ветвь эволюции, чем виртуальные машины, которые тоже древние, ещё в прошлом веке появились. Там всё иначе, хотя кому-то эти вещи могут казаться похожими.
иначе переформулирую
Технология контейнеров про то, как организовывать запуски каких-то программ на нативной ОС, обеспечивая изоляцию, переносимость. Но по-определению ты используешь нативное ядро ОС.
Виртуальные машины же по определению создают тебе как бы виртуальный компьютер. Ты можешь не только с другой ОС работать, ты можешь даже другую архитектуру процессора воссоздать, что даже практикуется очень часто, скажем при разработке мобильных приложений, что на АРМ работают. И другие истории. Конечно проще, когда ты использует аппаратные ресурсы для этого, когда код исполняется нативным процессором как обычный, при условии что виртуализация поддерживается. Но поддержка виртуализации появилась сильно позже, чем сами виртуальные машины.
>3
Стоит отдельного предложения. Это не что иное как битва паджитов за патент. Продолжается она и на сегодняшний день. Происходит это и в других языках (PHP например со своими распухшими фреймворками), но в JS количество срущих индусов зашкаливает. Зайди на гитхаб любой популярного фреймворка сегодня на JS и убедись что половина из них это паджиты.
В вакууме сферический пример выглядит так https://www.npmjs.com/package/http3.
первые 3 хотя бы сделаны не индусами в борьбе за место под тёплым солнцем и жизни под спонсорами пока аутисты-вкатуны делают миллионы коммитов в его "идею". Но сегодня почти все js-фреймворки которые "выходят" созданы именно ими. Это уже своего рода волшебные "докторы с тапками от всех болезней" с сайтами-скроллами.
Это уничтожило многие ЯП.
А так ты прав, берётся идея с фатальным недостатком и потом многочисленные новорождённые Поттеринги начинают эту идею насаживать. Они побеждают как только тупые hr начинают это упоминать в вакансиях, а этому предшествуют гламурные помидоры которым постоянно хочется чего-то нового пока выводок пятидесяти ждунов пилит фичи а они в хуй не дуют или делают нечто абстрактное и блоатное. Неподалёку пузырь.
У нас бы другие ОС, кроме винды, все равно не взлетели бы. Рядовой пользователь в России тогда бы скорее сидел на DOS и пара гиков на линуксе и все. У винды на тот момент не было альтернатив так что пираты тут скорее свою руку слегка озолотили. Скорее помогли людям сэкономить на покупке лицензий взамен на скачивание образов винды с вирусами
Чел, так я это и имел ввиду, хз зачем отвечать на мое мнение точно таким же
Дос кстати тоже был платным. Который MS DOS. Free DOS придумали сильно-сильно после, уже когда досом никто не пользовался
Винда была не такая дорогая вроде бы, по крайней мере сравнивая с ценами на компьютеры, которые тогда стоили намного дороже, чем сейчас, даже не делая поправку на инфляцию, чисто номинально.
Вопрос лишь привычки, что вот все привыкли, что за софт платить не надо. Не только же винда была платной, всё было платным, что сейчас часто бесплатное. Любой банальный архиватор.
Бесплатных аналогов почти ни для чего не было.
Если бы на рынке была жёсткая борьба с пиратством, то просто куча альтернатив коммерческих была бы, может более дешёвых. В том числе из стран вроде РФ. Рынок.
>WebAsm - тоже было много хайпа, однако не полетело совсем. Технология не вымерла, вымирать не будет, но остаётся лишь узкая ниша, поддержка каких-то вычислительно сложных библиотек, вроде графики другого.
Технологии буквально пара лет, в неё стабильно добавляют новые фишки, плюс можно писать фронт не на остоебеневшем жабаскрипте, а на нормальных языках, оставив тонкую жс прокладку. При этом всякие фреймворки типа реакта/ангуляра/вуе только сейчас появляются. Посмотрим, что будет лет через 5.
>Технологии буквально пара лет
Больше, в 2017 году поддержали во всех живых браузерах. Вебасм ограничен из соображений безопасности довольно сильно.
Чтобы технология могла сильно полететь, надо, чтобы портировали что-то уровня QT на вебасм.
JS тоже развивается, с 2017 года уж очень много чего нужного поддержали, что языком можно нормально пользоваться.
Потом вот реально, JS+HTML+CSS весьма удобный стек для фронта. Там есть ограничения, конечно, но есть масса плюсов, что этот стек просто удобнее условных QT.
В общем посмотрим, конечно, но я сомневаюсь. Потому что очень ограничен и мало проблем решает. Проблемы только в некоторых вычислительных задачах, для которых JS не предназначен в принципе. В основном для графики.
Я 10 лет пишу за деньги веб-приложения, то бэкэнд, то фуллстек, и я могу ответственно сказать, что html+css+js -- это просто легаси говнище.
HTML говно потому что он подмножество XML, который говно. И потому что представление размазано между ним и стилями. Одно дело, когда у тебя детали представления в стилях, типа цветов и шрифтов, совсем другое, когда у тебя без стилей вообще ничего нормально не нарисуется. Например, всякие display: flex должны быть частью html, а не css.
CSS говно потому что это статичное говно без переменных и переиспользования. Я даже не могу сказать, что класс включает себя другие классы. При этом всё влияет на всё, и подключение/отключение рака типа bootstrap ломает весь сайт.
JS говно просто из соображений дизайна языка. Слабая типизация, ебическое преобразование типов и ебанутое прототипное наследование с пизданутым использованием this и ещё куча пизданутейших мелочей.
Но самый главный маркер -- это то, что никто не делает сайты на html/css/js. Html генерируется по шаблонам через virtual dom, css получается из всяких scss/sass/less, а js транспилируется из ts, а потом ещё обрабатывается бабелом, который заменяет новые фичи на старые и подключает полифиллы. То есть технологии можно использовать только с добавлением кучи других костыльных технологий.
Вообще, UI фреймворки это как правило унылое говнище. Я под десктоп/мобайл мало писал, но чуть-чуть приходилось трогать разные технологии (могу порядка 8 наверное назвать), и единственная, которая мне показалась достойной, это flutter. Интерфейс от логики действительно сложно бывает отделить, потому гораздо проще когда всё на одном языке вместо трёх. И они взяли очень важную концепцию из html -- что потомки находятся, как правило, внутри предков, что позволяет делать переиспользуемые компоненты, которые не влияют на другие.
>JS говно просто из соображений дизайна языка. Слабая типизация, ебическое преобразование типов и ебанутое прототипное наследование с пизданутым использованием this и ещё куча пизданутейших мелочей.
ничего не понял про наследование. Ты про современный JS или про 10-ти летней давности?
class Parent extends Child {
}
и всё как в нормальных языках
Что с this не так, чем отличается от других языков? С учётом возможностей определять функции через =>
У меня ощущение, что ты немного привязался к технологиям 10-ти летней давности и пишешь на них. Хотя никто не запрещает пользоваться современными, с лагом в 2-3 года, пока все браузеры поддержат и чтобы народ обновиться успел
В js классы это просто сахарок над прототипами.
Из-за всех этих странных имплементаций часто вылезают какие-то ебические ошибки.
Однажды я решил добавить пару методов в Object, чтобы не делать глобальных функций. У меня от этого внезапно сломался jquery с какой-то совершенно непонятной ошибкой. Я немного попробовал понять, что не так, но в минифицированном коде ничего не понятно. Причём я же не менял существующее поведение, только новые поля добавил.
Другой раз мне надоело в компонентах vue.js computed props писать как x: function(){ return... } когда функция однострочная, и я их стал переписывать на x => ... Оказалось, что в случае стрелочных функций this имеет совсем другое значение (емнип undefined).
И даже когда ты пишешь свой собственный "класс", и делаешь там "метод" с this, то этот this вполне может оказаться не твой экземпляр этого класса, а хуй пойми что, потому что есть https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply, а если ты свой класс передаёшь в чужой код, то у тебя вообще нет контроля за тем, как твои функции кто-то вызывает. Если что, можешь взять ту же, прости г-ди, jquery и посмотреть, как много там ".apply(" в коде.
В джс просто дофига вот таких подводных камней, которые никто уже не будет менять из-за обратной совместимости, а значит это навсегда.
>Однажды я решил добавить пару методов в Object
Ну ты как бы сам себе злой Пиноккио. В нормальных языках, конечно, такие возможности заблокированы в принципе, но если в JS вдруг такое возможно, то не значит, что вот сюда надо лезть
>Другой раз мне надоело в компонентах vue.js computed props писать как x: function(){ return... } когда функция однострочная, и я их стал переписывать на x => ... Оказалось, что в случае стрелочных функций this имеет совсем другое значение (емнип undefined)
Так там ключевая разница именно в this. И как раз ценное свойство, ну ты должен знать, что вот при традиционном объявлении функций нужно мучаться, создавая копии this, чтобы внутрь коллбек-обработчиков их пронести. Всё-таки надо понимать язык, с которым ты работаешь, самые ключевые его вещи
Мне кажется претензии на пустом месте в данном случае. JS далеко не идеальный язык, конечно, но вот тут ты к чему-то не тому придираешься
>>Однажды я решил добавить пару методов в Object
>Ну ты как бы сам себе злой Пиноккио. В нормальных языках, конечно, такие возможности заблокированы в принципе, но если в JS вдруг такое возможно, то не значит, что вот сюда надо лезть
Ну уж нет, так не пойдёт.
Всякие полифиллы же так же делают. Уже довольно давно в массивы добавляли всякие map и reduce, так их же полифиллили просто добавляя функции в прототип, и ничего не ломалось.
Плюс я в шарпе могу написать extension методы и получить расширение функционала, а в жс мне приходится какие-то зависимости дополнительные клепать, хотя казалось бы код на скриптовом языке должен быть проще и короче. Отмечу, что сломалось только jquery, хотя там был зоопарк из библиотек включая бутстрап, вьюжс.
>Так там ключевая разница именно в this. И как раз ценное свойство, ну ты должен знать, что вот при традиционном объявлении функций нужно мучаться, создавая копии this, чтобы внутрь коллбек-обработчиков их пронести. Всё-таки надо понимать язык, с которым ты работаешь, самые ключевые его вещи
Блин. Вот в крестах, джаве, шарпе и всех остальных ООП this работает совершенно одинаково.
А в жс по-другому. Почему? Потому что кто-то изначально проебался с логикой, а теперь это нельзя менять.
>Мне кажется претензии на пустом месте в данном случае. JS далеко не идеальный язык, конечно, но вот тут ты к чему-то не тому придираешься
Я придираюсь к тому, что основа языка сделана на коленке. Он не был изначально хорошо продуман, и мы теперь все пожинаем плоды этого.
Конечно, js не самый худший язык, всегда есть php, который не просто был плохо продуман, а не был продуман вообще.
Но на пхп я могу просто не писать, а на js приходится.
>Я немного попробовал понять, что не так, но в минифицированном коде ничего не понятно. Причём я же не менял существующее поведение, только новые поля добавил.
Скорее всего ты случайно заиспользовал резервированные имена полей и не реализовал их контракт с т.з. jquery. Без конкретного стектрейса сложно сказать.
Нет, там вообще было что-то очень странное. Я уже очень плохо помню, но переименование не помогало. Я в итоге решил, что они там в jquery используют какие-то грязные хаки, которые ломаются от моих полей, что укрепило моё желание вычистить нахуй jquery со всего сайта.
>вычистить нахуй jquery со всего сайта
и это правильно, потому что jquery лютое легаси, которое нужно было во времена, когда браузеры примитивные были и нихера не поддерживали. Сейчас можно писать на ванильном ЖС.
и что-то схожее с бутстрапом
JS ведь реально развивается
В чём фундаментальный косяк JS, так это не с this, а со стабыми структурами данных. Всё есть примитивные объекты, obj.toString тоже самое, что и obj['toString'], на чём можно ловить баги дыры в безопасности. Но это вот уже невозможно переделать не сломав обратную совместимость просто всего
>Звучит ужасно
а как тебе бизнес-логика в виде хранимок на жаваскрипте в монге? смузи несёт за версту!
>через 5 лет
>Perl когда-то в нулевые
ты в каком году живешь? ты понимаешь, что такое легаси, от куда берется и почему инкуда не исчезает? Хуйню какую то придумал про умирающие тезнологии, по факту в айтишечке как раз тезнологии, даже неудачные, умирают очень неохотно если хоть когда то попали в тренд
>фундаментальный косяк JS
отсутствие типизации. и дичайшие костыли размером в шервудский лес в попытке ее проэмулировать.
>умирают очень неохотно если хоть когда то попали в тренд
хуита, некоторые умирают очень даже охотно
>и это правильно, потому что jquery лютое легаси, которое нужно было во времена, когда браузеры примитивные были и нихера не поддерживали. Сейчас можно писать на ванильном ЖС.
>и что-то схожее с бутстрапом
Да, я знаю. Мне там проект достался одновременно с jquery, bootstrap, vue.js и в парадигме MVC.
Bootstrap я в итоге вычистил, jquery остался всего на паре страниц, переделал всё на SPA, весь код кроме самих vue-компонент перетащил на тайпскрипт, но потом проект закрыли потому что не знали, как его продавать. Даже немного жалко, это был первый раз, где я сделал реально хороший с архитектурной точки зрения фронтенд.
До сих пор тот же гит тянет этот ебучий пёрдл в зависимостях, я как-то смотрел там 3,5 скрипта надо переписать чтобы его выкинуть нахуй но пердедусы хуй позволят это сделать
>по сути это просто набор интерфейсов, которые так и продолжают использоваться
>но как спецификация он живее всех живых
И где пиздешь? Сам себе противоречишь.
F#, очередной функциональный убийца ООП. Мертворожденная хуета от академиков для академиков.
Mesos/Marathon, элитарии - создатели этой хуйни долго смеялись над K8S пока он их не убил нахуй.
Молодец, в этом и смысл.
> F#
> Mesos
Чтобы технология тихо умерла, она должна была сначала пожить. А эти две изначально мертворождённые.
>Где тут воксели, это обычное 2d.
самые настоящие воксели жи есть
тс первая мейнстримовая игра с воксельной графикой
>3,5 скрипта надо переписать чтобы его выкинуть нахуй
переписывание скриптов на перле обычно выглядит так - ты открываешь файл который надо переписать, смотришь на 10к строк пиздеца как на пикрелейтеде, и со словами да ну его нахуй ты закрываешь файл
>она должна была сначала пожить
1) F# успешно пропихнули в европейский ентепрайз на замену C#.
2) В мезос вмазались те компании, которым нужна была оркестрация в середине 10ых, кубер тогда не был готов.
Тут надо исходить не из чтения каждой строчки этой портянки, а из того что она выдаёт. Тут судя по всему какой-то диалог и когда станет понятно откуда куда и зачем, то переписывание такого кода упрощается в разы.
С другой стороны этот perl надо поддерживать как раз таки из-за десятка пакетов, которые могли бы давно его выкинуть
Ядру не надо, вот в арче с кедами
Требуется : autoconf automake git groff hyphen i2c-tools net-snmp perl-error perl-timedate texinfo
Опционально для : gd glibc gperftools hunspell jemalloc kconfigwidgets5 kio-extras lm_sensors mpg123 openssl postgresql qt5-base qt6-base vim
>3. Миллион всяких веб-фреймворков времён веб 2.0. Script.aculo.us, prototype, mootools, ExtJS, mochaUI, microsoft silverlight, sproutcore, dojo, backbone.js, require.js, ember, knockout, leaflet, GWT. Сейчас о них помнят только олдфаги.
>
А jquery так и не похоронил))
А, я видимо проебался, возможно ты прав. Пердолился давеча в линукс фром скретч и видел там где-то перл, но глаз замылился.
>Блин. Вот в крестах, джаве, шарпе и всех остальных ООП this работает совершенно одинаково.
>А в жс по-другому. Почему? Потому что кто-то изначально проебался с логикой, а теперь это нельзя менять.
С логикой самих обработчиков тогда уж, а не зысов. Но вообще если у тебя коллбек не анонимный, например, или в принципе во многих реализациях - похуй, шарп у тебя, котёл, да хоть самописька над ассемблером, но всегда можно создать ситуацию, в которой зыс тебе в лучшем случае сломает ебало при компиляции.
Короче ты дурачок просто и не осмысливал причины, а теперь хуйню какую-то пишешь, как будто в других языках нет своих тупорылых приколов.
Да, действительно.
Непонятно зачем, учитывая, что вращать камеру там нельзя. Видимо, им лень было много поворотных спрайтов рисовать.
>Но вообще если у тебя коллбек не анонимный, например, или в принципе во многих реализациях - похуй, шарп у тебя, котёл, да хоть самописька над ассемблером, но всегда можно создать ситуацию, в которой зыс тебе в лучшем случае сломает ебало при компиляции.
>зыс тебе в лучшем случае сломает ебало при компиляции
Ну нихуя себе ты сравнил. А ещё можно рандомных символов напечатать, и компилятор тебе ебало сломает. Охуеть теперь говно языки.
Если в ООП языках где-то можно использовать this, то там всегда будет этот один и тот же тип (или его наследник), он никогда не будет null (кроме extension methods в сишарпе, но это отдельная тема), он точно не будет "undefined". JS тебе вообще никаких гарантий не даёт, у тебя всё это может быть разным при разным при разных вызовах, и никаких гарантий тебе язык не даёт.
> Короче ты дурачок просто и не осмысливал причины, а теперь хуйню какую-то пишешь
Я уже писал причины — основы языка были написаны за неделю на коленке, а всё остальное — это просто логическое развитие этих кривых основ.
> как будто в других языках нет своих тупорылых приколов.
Ну вот, торг начался. Тупые приколы есть во всех языках, но везде разный уровень их тупости и их количество.
Угу, только в контексте коллбека этот зыс может означать не тот зыс, который был снаружи, а вообще левый зыс, а при чтении кода придётся вникать в половину проекта, чтобы понять, откуда этот зыс высрался, что означает и какое у объекта состояние на момент вызова. Нормальную семантику метода делай и человеческие аргументы прокидывай, а то сидят блядь из доты альттабаясь и стрелочки свои ставят от пизды, не зная минимальных основ языка, а потом вместо реюза кода копипастят это говно, чтобы работало, а потом годами баги ловят, потому что при копипастинге забыл в одной строчке переменную hui на hui[iHui] поменять под другую логику. Понавкатываются со скиллбоксов и хуйню какую-то из пальца высасывают, лишь бы спиздануть.
> А ещё можно рандомных символов напечатать, и компилятор тебе ебало сломает. Охуеть теперь говно языки.
>Если в ООП языках где-то можно использовать this, то там всегда будет этот один и тот же тип (или его наследник), он никогда не будет null (кроме extension methods в сишарпе, но это отдельная тема), он точно не будет "undefined"
Так это означает, что ты используешь this рандомно, не думая особо. А виноват язык программирования
Ну не можешь ты просто взять метод объекта и передать его куда-то. Ты должен там или бинды явно делать, или сделать оболочку поверх из стрелочной функции, например.
В компилируемых языках ты тоже не можешь метод просто так взять и передать. Тебе надо передавать объект, унаследованный от правильного класса или интерфейса.
Ты же программист, твоя работа в том, чтобы некоторые вещи понимать
>>3085394
вот иллюстрация:
https://goonlinetools.com/snapshot/code/#rth97bzeuj7xi4wkhdusm
разве сложно?
И можешь привести аналогичный пример на C#/Java/C++, вот чтобы ты мог метод куда-то передать в качестве коллбека?
Да, в питоне проще, там автоматически связывание произойдёт. Но это плюс питона, а не убогость JS. В питоне масса своих приколов. Как и во всех языках
>Так это означает, что ты используешь this рандомно, не думая особо.
>А виноват язык программирования
Да, виноват язык программирования.
Тебе привести пример? Во всех языках условный оператор ?: правоассоциативный, и из него можно делать цепочку по типу cond1 ? res1 : cond2 ? res2 : res3, и оно работает как cond1 ? res1 : (cond2 ? res2 : res3), а в PHP он левоассоциативный и работает как (cond1 ? res1 : cond2) ? res2 : res3.
См https://stackoverflow.com/questions/5235632/stacking-multiple-ternary-operators-in-php например.
И вот начал ты писать код на php, ожидая, что оно работает как и везде, а получаешь хуйню какую-то на выходе.
Такая же херня с this в джаваскрипте.
Я могу в других языках написать (псевдокод)
print("1 " + this.value);
otherObject.doSomeShit(()=>print("2 " + this.value));
И у меня этот this будет в обоих принтах один и тот же, в то время как в джаваскрипте приходится писать так:
print("1 " + this.value);
var that = this;
otherObject.doSomeShit(function(){ print("2 " + that.value); });
иначе может что угодно получиться.
Ну хорошо, сделали стрелочные функции, где this сохраняется. Но теперь получается, что их не везде можно использовать, потому что какие-то библиотеки этот изъян языка используют как фичу. Например, тот же пресловутый jquery, или, как я уже писал выше vue.js.
И это всё разрастается и разрастается.
>>3085410
>И можешь привести аналогичный пример на C#/Java/C++, вот чтобы ты мог метод куда-то передать в качестве коллбека?
Во всех этих языках есть функции как типы, и их можно куда угодно как угодно передавать. Позже всего это появилось в джаве, но даже там это уже годами существует. Мой пример кода выше пишется во всех этих трёх языках с точностью до синтаксиса.
>Мой пример кода выше пишется во всех этих трёх языках с точностью до синтаксиса.
Напиши на каком-нибудь аналог вот это го вот
print("1 " + this.value);
otherObject.doSomeShit(()=>print("2 " + this.value));
c#/Java/C++ на каком можешь
Я плохо представляю, как это будет выглядеть, и что там в итоге а машинном коде будет. Слёту примеров не нашёл
Такие вещи можно легко делать на скриптовых языках, в силу их интерпретируемой природы.
Вместо const that = this
ты можешь использовать .bind(this)
что по идее правильней, хотя that можно один раз создать на весь метод
Мне кажется, что это несущественная придирка. Вот слабые типы данных, отсутствие полноценных линейных массивов, ассоциативных (списков и словарей в терминологии питона) это уже серьёзный фундаментальный недостаток.
>Да, виноват язык программирования
И давай вспомним, с чего началось. Ты стал говорить, что Wasm хорош тем, что можно писать на нормальном языке вместо JS
Но Wasm только про компилируемые языки. А там многие очевидные вещи из скриптовых языков превращаются во что-то адское, когда возможно.
Поэтому показывай пример этого же на C#, например. Ну или любой другой компилируемый язык
Питон на порядок чище JS, даже сравнивать нельзя, но это интерпретируемый язык. И в каких-то вопросах JS сильнее, например если ты делаешь что-то на сплошных коллбэк вызовах и стрелочных функциях
>Я плохо представляю, как это будет выглядеть, и что там в итоге а машинном коде будет. Слёту примеров не нашёл
кек чебурек. эталонный срач, когда спорящий даже не знает азы синтаксиса языка о котором что-то пытается рассуждать
Так ты пример приведи, раз там три строчки. Но не приведёшь, потому что сам не умеешь.
>>3085677
Дарю.
https://onecompiler.com/csharp/4279aeyx6
JS действительно позволяет некоторые сокращения, но в наше время они уже очень небольшие, гораздо меньше, чем 15 лет назад.
>Дарю
Спасибо, интересно, не знаю, ты тот или другой анон >>3086085
>>3085485
В примере возмущавшихся JS анон вот это показывал:
>>3085485
>Я могу в других языках написать (псевдокод)
>print("1 " + this.value);
>otherObject.doSomeShit(()=>print("2 " + this.value));
То есть тут не вызывается описанный метод, а создаётся налету. Не знаю, возможно ли это в C#, не уверен.
Особенность программирования на JS в том, что он построен на обработке событий, там вся логика на коллбеках. Может быть десяток вложенных в друг друга динамически создаваемых функций. Такой практики нет в других языках программирования, ни компилируемых, ни скриптовых. Немного ломает мозг.
Соответственно там с вопросами биндинга постоянно приходится иметь дело и это раздражает. Но проблема преувеличена.
В других языках не так удобно создавать функции налету. А в JS, ну объяви просто в начале метода const that = this, стандартный паттерн, и спокойно работай дальше.
Короче проблема сильно-сильно преувеличена.
>>3086193
>JS действительно позволяет некоторые сокращения, но в наше время они уже очень небольшие, гораздо меньше, чем 15 лет назад
Понятно, что все языки совершенствуются. Что-то исправляют, что-то исправить невозможно. Так разговор о том, что JS тоже совершенствуются, тот JS что сейчас, он совсем другой, что был 15 лет назад.
Вот что, он прямо так плох, чтобы его замещать на фронте? Как бэк язык, мне кажется, его популярность спала, то есть используется, но сейчас сильно реже для новых проектов, чем раньше. Ощущение такое. 8-10 лет назад нода реально взлетала и была популярна
>То есть тут не вызывается описанный метод, а создаётся налету. Не знаю, возможно ли это в C#, не уверен.
Я дописал тебе ещё строчку https://onecompiler.com/csharp/4279y4utc
>Особенность программирования на JS в том, что он построен на обработке событий, там вся логика на коллбеках. Может быть десяток вложенных в друг друга динамически создаваемых функций. Такой практики нет в других языках программирования, ни компилируемых, ни скриптовых. Немного ломает мозг.
На коллбеках построен не джаваскрипт, а его использование в браузере, потому что там вся интерактивность идёт в ответ на события.
Можно программы на js запускать просто в винде с использованием утилиты cscript, у тебя там коллбеки будут разве что на таймеры.
И даже с событиями DOM это никак он оправдывает извращённого поведения this в джаваскрипте. Вот если бы он в function(){} себя изначально вёл как в стрелочных функциях, то всё было бы нормально. Но нет, создатель js придумал какую-то хуйню, и теперь мы все за это расплачиваемся.
> В других языках не так удобно создавать функции налету.
Жонглирование функциями придумали задолго до джавасрипта, так что тут нет ничего необычного, это есть в куче языков.
https://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%BD%D0%B0%D1%8F_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F
>То есть тут не вызывается описанный метод, а создаётся налету. Не знаю, возможно ли это в C#, не уверен.
ух, клоунада продолжается.
> В других языках не так удобно создавать функции налету. А в JS, ну объяви просто в начале метода const that = this, стандартный паттерн, и спокойно работай дальше.
хоть на мемасики растаскивай
>На коллбеках построен не джаваскрипт, а его использование в браузере, потому что там вся интерактивность идёт в ответ на события.
На этом построен именно JS, программирование на ноде совершенно такое же, более того, там даже это всё жестче выражено, любой сетевой запрос асинхронный, ты должен передавать обработчик события "пришли данные", что, в свою очередь, приводило к тому, что называется callback hell.
Потом правда подогнали другие возможности, await (и промисы), но стандартная библиотека ноды при этом вся на коллбеках построена.
>Жонглирование функциями придумали задолго до джавасрипта
Дело не в том, когда придумывали, а как реально использовали. Вот просто если смотреть бэкенд-программирование, практика того, как писали на ноде, качественно отличалась от практик других языков. Там реально callback-based подход был возведёт в какой-то абсолют, по крайней мере на момент середины десятых. Потом альтернативы появились на JS
Он и со своими большими плюсами, и с очень большими минусами
реакт умер. все кто нан ем пишут - дауны
>И даже с событиями DOM это никак он оправдывает извращённого поведения this в джаваскрипте. Вот если бы он в function(){} себя изначально вёл как в стрелочных функциях, то всё было бы нормально. Но нет, создатель js придумал какую-то хуйню, и теперь мы все за это расплачиваемся.
Ты прав насчёт того, что JS, как и PHP, придумывали на коленке. Причём придумывали их для примитивных сценариев, какие-то данные в формочках преобразовывать (JS) и минимальная шаблонизация HTML, как в PHP. Отсюда неизлечимые болезни детства. Но при этом языки всё-таки очень сильно допилили с того времени.
this не очень внятный, но его скорее со стороны прикручивали. Проблема JS ещё в том, что не было единого центра разработки языка, его поддерживали разные производители браузеров, все по-своему, сложно провести единое разумное изменение. Стандартизация позже началась, вот тогда уже пошло настоящее развитие языка, но уже с проблемами обратной совместимости.
По-хорошему надо было бы просто новую версию выпустить, без обратной совместимости, по аналогии с "use strict" (это же тоже отказ от обратной совместимости), но только с более радикальными изменениями. Но видимо сложно это провести.
Но в целом жить можно, масса кода серьёзного понаписана, в том числе для бэка.
Внедряем OLAP!
@
Программисты отчётов больше не нужны!
@
Скоро любой экономист сможет сам построить себе любой отчет!
OLAP больше принцип, а не конкретная технология.
Популярный ныне Clickhouse это тоже OLAP, так что всё-таки нельзя говорить, что исчезло куда-то, просто хайпа меньше
ОЛАП никуда не делся, просто если раньше даже в ООО Вектор пытались внедрять ОЛАП, то сейчас попустило и внедряют только те, кому это реально нужно.
>Отсюда неизлечимые болезни детства
хотели бы - за неделю всё вылечили
>Но при этом языки всё-таки очень сильно допилили с того времени.
в обоссаной пыхе до сих пор не избавились от долларов, $SESSION говна. это недоразумение. конечно, вся скриптуха недоразумение, но да, в жс хотябы сделали переменные скопы и шедовинг, но это потолок для скриптового мусора.
>>3086603
>Но в целом жить можно, масса кода серьёзного понаписана, в том числе для бэка.
всё мусор который вообще не жалко выкинуть. про use sctirct ты правильно догадался
Просто непривычно
По общей логике было "=" это оператор сравнения должен быть, как в математике, но никак не присваивания. Но сложилась вот такая практика, из-за Fortran/C
>хотели бы - за неделю всё вылечили
Полностью ломается обратная совместимость, весь код переписывать, и одновременно надо, чтобы все браузеры и другие JS-машины это поддержали, что совсем сложно.
Но за много лет, конечно, можно было бы сделать. Просто ввести это в стандарт ES-какой-нибудь, и специальный флаг, который бы включал эту опцию в промежуточных версиях. Но нет.
В этом плане с PHP/Python всё сильно проще, там хотя бы один источник выпускает основной релиз. И Java/C#. А вот уже с C/C++ даже сложнее было, раньше по крайней мере.
>в обоссаной пыхе до сих пор не избавились от долларов, $SESSION говна.
А зачем избавляться от долларов? Они не мешают. И что плохого в $SESSION? Вот в плюсах не могут избавиться от уёбищных "cout<<", это же пиздец полный, который ни один язык другой не принял, а до сих пор в плюсах есть.
Куча языков до сих пор имеют проблемы с поддержкой символьных UTF-8 строк, не так всё прозрачно и удобно, как хотелось бы.
У плюсов такая же проблема как у жаба скрипта. В языке дохуища легаси говна и просто откровенно ебанутой хуйни.
Я даже ушёл с него на С# потому что ну просто невозможно блять уже от этого говнокода и стандартов. Нужно делать какой-то С++ 2.0.
Поддержка обратной совместимости на уровне языка это рак ебучий. Любая система или продукт в определённый момент должны оторгать старое и похуй вообще на "я в 90х сделал хочу чтобы работало" найди компилятор под нужную версию или перепиши блять проект.
Индустрия идёт вперёд и да нам нужно забить хуй на код написаный 40 лет назад чтобы сейчас писать код. Просто процесс обновления должен быть плавный, а не "ну все пизда рулю наш копролит из 00х окончательно перестал работать"
>найди компилятор под нужную версию или перепиши блять проект.
проблема не в компиляторе, проблема в сторонних библиотеках которые перестанут работать
>>283735
Жаба даун и тут насрал, борется с котлином под кроватью каждый день
Вы видите копию треда, сохраненную 12 июня в 05:11.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.