Unix way

Nov. 8th, 2022 10:40 am
[personal profile] nz
Неодноразово бачу цікаву ситуацію.

Якщо у проекта основна (або єдина) платформа - Windows, то ти його береш, відкриваєш у Visual Studio, жмеш F7 і все тупо працює.

Але якщо це щось портоване з Linux та написане людьми, у яких лінух головного мозку - 𝔞𝔟𝔞𝔫𝔡𝔬𝔫 𝔥𝔬𝔭𝔢 𝔞𝔩𝔩 𝔶𝔢 𝔴𝔥𝔬 𝔢𝔫𝔱𝔢𝔯 𝔥𝔢𝔯𝔢, це буде анальне шапіто на весь вечір.
Тому що йому спочатку за якимось дідьком треба configure, якому треба cygwin, autoconf, autogen, gawk, grep, sed, perl і ще купа лівого лайна.
І параметри, параметри!
Вкажи свій компайлер, платформу, шелл та поточний курс доляра.
Щось у командному рядку, щось у оточенні, щоб не нудьгувати.

Kurwa.

Date: 2022-11-08 01:02 pm (UTC)
From: [personal profile] ichthuss
Віндові проекти легко збираються на вінді, лінуксові проекти легко збираються на лінуксі. Навпаки - з танцями. Ваш кеп.

Date: 2022-11-08 02:40 pm (UTC)
kondybas: (Default)
From: [personal profile] kondybas
Мені здається, тут більше претензія до того, що у вінді монолітний комбайн, чорний ящик, а в лінуксі - розсип дрібних тулзів.

Ну так це бай концепт, unix-way - кожна тулза робить одну задачу, але робить її добре. При цьому незалежно розвивається, та ще й конкурує із схожими проектами, що додає еволюційності софту.

Date: 2022-11-08 10:50 pm (UTC)
From: [personal profile] ichthuss
Так варіанти рівно два: або тягти з собою всі залежності прямо в своєму проекті, або покладатися на окрему інсталяцію. Кожен має свої дуже суттєві недоліки, але при наявності впорядкованого софтового репозиторію варіант "покладатись на наявність вже становленого" працює суттєво краще, ніж без нього.

Date: 2022-11-09 07:49 am (UTC)
kondybas: (Default)
From: [personal profile] kondybas
Абсолютно все можна зробить пайтоном. Але навіщо винаходити лісапєд на пайтоні, коли вже 30 рочків є вузькоспеціалізована тулза? Обкатана, вилизана, відшліфована.

Насправді, це різниця між лібою, статично влінкованою в моноліт, та стенделон-тулзою. Той же гну-греп має конкурента у вигляді PCRE/PCRE2. І оцей пцре існує у двох іпостасях: у вигляді набору стенделон-утиліт, та у вигляді ліби (so/dll). І можна або смикати утиліти через execv(), або викликати функції ліби. І що цікаво, оцей самий пцре2 - він у вигляді dll-ліби давно інкорпорований у мікрософтівський тулсет. Те саме з текст-процесорами авк та сед.

Але. Рочків з 10 тому я знайшов помилку у парсері регулярних виразів пцре. Пишу листа автору з багрепортом. Він мені шле патч для коду парсера. Я патчу код, перекомпільовую тулзу і вуаля - багу більше нема. В той же час тулсет мікрософта із статично вкомпіленою лібою залишався непатченим іще 4 роки :) Тобто мій код, що активно використовував регулярні вирази, чудово працював на патчених тулзах в ніксах, і зовсім не працював на вінді. Звичайно, можна було залізти в тулсет МС і там по живому провести апдейт, але тулсет МС не розрахований на це. На відміну від ніксів, де це звична повсякденна практика.

February 2026

S M T W T F S
1234 567
891011121314
15161718192021
22232425262728

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 25th, 2026 05:04 am
Powered by Dreamwidth Studios