Незважаючи на назву каналу, я взагалі-то не розраховував, що найперший же пост буде про C++. Але стан підтримки цієї мови мене знов доїбав.
Вирішили ми, значить, перейти на С++20, в першу чергу заради рейнджів. Оновити Clang на лінуксовому білд-сервері мабуть було найлегше, навіть враховуючи, що раптом виявилось, що ні в кого немає працюючих креденшиалзів, щоб на сервер взагалі зайти 😅 Віндового серверу в нас немає — замість цього я просто використовую якийсь ноутбук. І все в цілому збс окрім факту, що він вимагає пароль після ребуту (бо Bitlocker), а я на ремоуті. І авжеж при оновленні віжуал студії вона посеред інсталяції почала вимагати ребут. Для macOS в мене старий макміні. Оновити компілятор? Легко! Тільки треба оновити Xcode. А щоб оновити Xcode, треба оновити операційну систему також. Навіть є спеціальна тулза (UPD: тепер ще є тег #тулзи), яка показує різні версії Xcode та їх реквайрменти. Ну то добре: трохи зайобно, але можна й пооновлювати. Все це не має відношення до C++, я знаю. Єбля з енвайрментом — звичайні буденні справи айтішників.
Проте останньою краплею був момент, коли «раптово» виявилось, що сучий Apple Clang не підтримує рейнджі навіть в 14-й версії ахах 💩 Я навіть хз, що тут додати. Прогавив, ага. Треба тепер чи то колупатись з ніблеровими рейнджами замість стд-шних, чи то просто легше повернутись на С++17. Кінець 2022 року на дворі, а підтримка фічей минулих стандартів в компіляторах — це тупо лотерея. Легше в реальних кросплатформних проектах не чіпати того всього взагалі. Ніби 15 років розвитку прям, нові «корисні» фічі, а воно досі придатне хіба що похизуватись на конференціях та в статтях, як охуєнно на етапі компіляції можна робити те, що нікому й не спадало на думку, або як легко генерувати рандомні числа за десятьма різними законами розподілу. А шо там зі стандартними механізмами роботи з файловою системою за 40 років існування мови? Шо, вже рік як там? Ого! А календар вже зайшов в стандарт? А, зайшов, але не імплементований, ну ок. А може навіть парсер команд-лайн аргументів вже є? А нє, нє, це досі мрії…
В цілому мені це нагадує, чому я колись відмовився від хаскелю. Ні, там не було таких проблем з оновленням, та й з лібами все значно краще, ставити їх легше і т.д. Але розробка на ньому зрештою все одно — «too much effort». В С++ все навіть гірше, бо проблеми починаються ще на етапі налаштування середовища, а закінчуються на змогах розповсюджувати софт, на ньому написаний. Тож після всіляких Red, де весь тулчейн — це один бінарь, починаєш замислюватись, а чи варто взагалі свій час на то витрачати? Й причин це робити майже не залишилось.
Вирішили ми, значить, перейти на С++20, в першу чергу заради рейнджів. Оновити Clang на лінуксовому білд-сервері мабуть було найлегше, навіть враховуючи, що раптом виявилось, що ні в кого немає працюючих креденшиалзів, щоб на сервер взагалі зайти 😅 Віндового серверу в нас немає — замість цього я просто використовую якийсь ноутбук. І все в цілому збс окрім факту, що він вимагає пароль після ребуту (бо Bitlocker), а я на ремоуті. І авжеж при оновленні віжуал студії вона посеред інсталяції почала вимагати ребут. Для macOS в мене старий макміні. Оновити компілятор? Легко! Тільки треба оновити Xcode. А щоб оновити Xcode, треба оновити операційну систему також. Навіть є спеціальна тулза (UPD: тепер ще є тег #тулзи), яка показує різні версії Xcode та їх реквайрменти. Ну то добре: трохи зайобно, але можна й пооновлювати. Все це не має відношення до C++, я знаю. Єбля з енвайрментом — звичайні буденні справи айтішників.
Проте останньою краплею був момент, коли «раптово» виявилось, що сучий Apple Clang не підтримує рейнджі навіть в 14-й версії ахах 💩 Я навіть хз, що тут додати. Прогавив, ага. Треба тепер чи то колупатись з ніблеровими рейнджами замість стд-шних, чи то просто легше повернутись на С++17. Кінець 2022 року на дворі, а підтримка фічей минулих стандартів в компіляторах — це тупо лотерея. Легше в реальних кросплатформних проектах не чіпати того всього взагалі. Ніби 15 років розвитку прям, нові «корисні» фічі, а воно досі придатне хіба що похизуватись на конференціях та в статтях, як охуєнно на етапі компіляції можна робити те, що нікому й не спадало на думку, або як легко генерувати рандомні числа за десятьма різними законами розподілу. А шо там зі стандартними механізмами роботи з файловою системою за 40 років існування мови? Шо, вже рік як там? Ого! А календар вже зайшов в стандарт? А, зайшов, але не імплементований, ну ок. А може навіть парсер команд-лайн аргументів вже є? А нє, нє, це досі мрії…
В цілому мені це нагадує, чому я колись відмовився від хаскелю. Ні, там не було таких проблем з оновленням, та й з лібами все значно краще, ставити їх легше і т.д. Але розробка на ньому зрештою все одно — «too much effort». В С++ все навіть гірше, бо проблеми починаються ще на етапі налаштування середовища, а закінчуються на змогах розповсюджувати софт, на ньому написаний. Тож після всіляких Red, де весь тулчейн — це один бінарь, починаєш замислюватись, а чи варто взагалі свій час на то витрачати? Й причин це робити майже не залишилось.
GitHub
GitHub - XcodesOrg/XcodesApp: The easiest way to install and switch between multiple versions of Xcode - with a mouse click.
The easiest way to install and switch between multiple versions of Xcode - with a mouse click. - GitHub - XcodesOrg/XcodesApp: The easiest way to install and switch between multiple versions of Xc...
👍4😢1
Купив я значить собі колись NAS (мережеве сховище тобто). В першу чергу для бекапів та щоб можна було кіношку через Plex на проекторі подивитись. Так він в мене й стояв декілька років пасивно використовуваний та мабуть і далі продовжував би, але якось я натрапив на таку штуку як Paperless, про яку колись ще розповім. Треба було десь затестити, а засмічувати локально собі комп не хотілось, тож я раптово усвідомив, що мій NAS — фактично не дуже потужний, але все-таки Linux-сервер (на Celeron'і, ага, ну шо поробиш). Сховище це в мене від Synology, який я дуже раджу, бо він прям для нубасів типу мене. Там через web UI купу речей можна зробити, починаючи від налаштування реверс-проксі і DNS-сервера й закінчуючи докером. Деякі штуки через SSH значно легше робити безперечно, але мати змогу обійтись без нього (не теоретично, а прям реально на практиці) — це за теперішніх часів ачівка майже. Ще б локалізацію українською додали, то взагалі б було чудово.
👍2
Cіпласпластик
Купив я значить собі колись NAS (мережеве сховище тобто). В першу чергу для бекапів та щоб можна було кіношку через Plex на проекторі подивитись. Так він в мене й стояв декілька років пасивно використовуваний та мабуть і далі продовжував би, але якось я натрапив…
А щойно я ось взагалі сидів і читав, як під юнікс драйвер для принтера написати 😂 І це для мене не дуже типове використання часу, маю сказати, тож вирішив згадати, з чого все почалось. Подивимось, куди врешті-решт заведе, але принаймні за цей період дізнався багато нового )
👍1
Здибав вчора застосунок, аби дивитись вміст
UPD: додав в #тулзи
pkg
-файлів на #macOS. Це мабуть трохи олдскул, але мене прям бісить ця хуйня, коли воно щось ставить в систему, а що й куди — невідомо. Отже: Suspicious Package.UPD: додав в #тулзи
Mothersruin
Suspicious Package — An app for inspecting macOS Installer packages
👍1
Cіпласпластик
У джавістів вдома пакет з пакетом з пакетом з пакетами в пакеті, схоже
Тим часом проект на С++ (жодної папки взагалі)
😁5