LINUX.ORG.RU
ФорумTalks

Мммм... как PowerShell со вкусом Linux

 , , ,


0

4

Так вот, по последним сводкам с фронта, Шмикрософт выпустили PoewrShell Core 6.0 которая теперь идет и под GNU/Linux (и Яблоко счастливыйОС (ц)(р)(тм))

https://betanews.com/2018/01/12/powershell-core-windows-macos-linux/

В тред приглашаются сублиматоры на PowerShell как «намного лучше єтого вашего костыльного Bash» для выяснения отношения с отрядом закапывателей. Дискач.

Ответ на: комментарий от ox55ff

Так что IP адрес будет правильно отформатирован.

Бгг. А ты в курсе, что IP адрес может быть представлен как строка далеко не единственным способом?

Почему ты в своём примере ставишь подходы в не равные условия?

Очевидно потому что условия не равные. Ваш К.О.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Бгг. А ты в курсе, что IP адрес может быть представлен как строка далеко не единственным способом?

Это неважно. Твой скрипт как то форматирует же, вот так же будет отформатированно и в случае ООП. Но это всё детали реализации. Мы говорим про подход.

Очевидно потому что условия не равные. Ваш К.О.

Я смотрю ты уже окончательно прикинулся ветошью.

ox55ff ★★★★★
()
Ответ на: комментарий от mogwai

И где приведение $GW к нужному формату?

А зачем оно, если udhcpc и так выдаёт нужную и понятную человеку строку, а не какой-то абстрактный сраный объект «ИП_адрес»?

Stanson ★★★★★
()
Ответ на: комментарий от ox55ff

Твой скрипт как то форматирует же, вот так же будет отформатированно и в случае ООП.

Зачем скрипту что-то форматировать, если источник информации уже выдаёт информацию в человекочитаемом виде?

Мы говорим про подход.

Хорош подход. Взять из источника информацию в человекочитаемом и легко обрабатываемом виде, зачем-то наделать из этого объектов, сохранить в объектном виде, потом эти объекты опять приводить к человекочитаемому и легко обрабатываемому виду?

Это что, спорт такой, что-ли? Совершение каких-то совершенно бессмысленных и столь же беспощадных действий чисто чтобы это было бессмысленнее и беспощаднее чем у другого такого же упоротого.

Stanson ★★★★★
()
Ответ на: комментарий от mogwai

Затем, что

Так как же будет отформатировано в случае ООП? Шестнадцатеричная запись? Десятично октетами с точкой? Десятичное целое? Кто объекту объяснит в каком виде сейчас понадобился IP?

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Взять из источника информацию в человекочитаемом и легко обрабатываемом виде

IP в виде текста нельзя назвать легко обрабатываемым. Вывод на консоль не является обработкой. Обработкой будет наложение маски для получения адреса сети. Вот тут твой человекочитаемый текст сольётся со страшной силой.

ox55ff ★★★★★
()
Ответ на: комментарий от ox55ff

Обработкой будет наложение маски для получения адреса сети. Вот тут твой человекочитаемый текст сольётся со страшной силой.

получаем 1.2.3.4

накладваем маску 22

И, внезапно, легко получаем строку 1.2.3.4/22 которая легко скармливается другим программам.

Магия?

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от Stanson

В случае ООП, как раз, не важно как его тебе на экран нарисует оболочка (как настроишь — так и нарисует), а в переменную, или другому оператору будет передан объект соответствующего типа.

mogwai ★★★★★
()
Ответ на: комментарий от Stanson

накладваем маску 22

Это только если маска в таком виде задана. А если 255.255.255.0? Реквестирую портянку для перевода.

ox55ff ★★★★★
()
Ответ на: комментарий от Stanson

И теперь покажи как легко и непринуждённо ты вычленишь из этого маску в формате четырёх десятичных чисел разделённых точкой и отделишь адрес подсети

mogwai ★★★★★
()
Ответ на: комментарий от mogwai

В случае ООП, как раз, не важно как его тебе на экран нарисует оболочка (как настроишь — так и нарисует), а в переменную, или другому оператору будет передан объект соответствующего типа.

Да кому этот объект нужен-то? Абсолютно весь линуксячий софт жрёт те же IP адреса в виде текста. И выдаёт в виде текста.

Для чего это ООП дрочево в шелле системы построенной на принципе «всё есть файл» нужно?

В венде ещё смешнее - формально, там «всё есть объект». Только вот в итоге эти объекты оказываются банальными файлами. При этом, для работы с этими «файлообъектами» (да и для работы этих «файлообъектов» тоже) используется исключительно императивщина. В итоге даже шелла нормального на всю эту ботву не удалось натянуть.

Stanson ★★★★★
()
Ответ на: комментарий от mogwai

И теперь покажи как легко и непринуждённо ты вычленишь из этого маску в формате четырёх десятичных чисел разделённых точкой и отделишь адрес подсети

Зачем? Это сделает софтина для которой предназначена эта инфа. А если очень хочется самому посмотреть - то ipcalc например есть.

Не, ну правда - спорт какой-то.

Stanson ★★★★★
()
Ответ на: комментарий от ox55ff

Это только если маска в таком виде задана. А если 255.255.255.0? Реквестирую портянку для перевода.

Очевидно 1.2.3.4/255.255.255.0

Куда, что и зачем переводить надо - я так и не понял.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Да кому этот объект нужен-то? Абсолютно весь линуксячий софт жрёт те же IP адреса в виде текста. И выдаёт в виде текста.

Ты выше сам привёл пример, как этот текст упаковали в json, и тебе пришлось костылить для вычлинения необходимого значения. А если бы не упаковали в json, а без оформления отдали? Тоже коснилингом заниматься.

Это сделает софтина для которой предназначена эта инфа

А в случае с ООП придётся тебе преобразовывать? Слив засчитан.

mogwai ★★★★★
()
Ответ на: комментарий от Stanson

Очевидно 1.2.3.4/255.255.255.0

Очевидно ты шлангуешь. С таким форматом тебя пошлют на три русские буквы.

Куда, что и зачем переводить надо - я так и не понял.

255.255.255.0 -> 24

ox55ff ★★★★★
()
Ответ на: комментарий от mogwai

И теперь покажи как легко и непринуждённо ты вычленишь из этого маску в формате четырёх десятичных чисел разделённых точкой и отделишь адрес подсети

Тут без фреймворка уровня джанги не обойтись.

ashot ★★★★
()
Ответ на: комментарий от mogwai

Ты выше сам привёл пример, как этот текст упаковали в json, и тебе пришлось костылить для вычлинения необходимого значения. А если бы не упаковали в json, а без оформления отдали? Тоже коснилингом заниматься.

Ну да, из-за идиотов с ООП головного мозга, которые пихают ООП туда, где оно вообще никак не всралось, пришлось костылить.

А в случае с ООП придётся тебе преобразовывать? Слив засчитан.

Твой слив, что-ли? Где хоть одна софтина, которой нужно скармливать объекты, а не текст?

Stanson ★★★★★
()
Ответ на: комментарий от ox55ff

Очевидно ты шлангуешь. С таким форматом тебя пошлют на три русские буквы.

Кто пошлёт? Этот формат старше чем 1.2.3.4/24 и весь софт его прекрасно понимает.

255.255.255.0 -> 24

Но зачем это нужно делать?

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Ну да, из-за идиотов с ООП головного мозга, которые пихают ООП туда, где оно вообще никак не всралось, пришлось костылить.

Так тебе текст же и отдали, что ноешь? Что они за тебя перестали формировать файл с объявлением переменных для sh, а отдали текст в формате JSON? Так не объект же отдали, бери парсер да разгребай. Тебе даже на grep не надо велосипед изобретать, готовый парсер дали.

Где хоть одна софтина, которой нужно скармливать объекты, а не текст?

В оффтопике. И причём тут «софтина»? Мы об удобстве подхода говорим.

Ты сейчас покажешь, как легко из 172.16.35.12/18, который в конфиге сетевой карты прописан получить для конфига dhcpd подсеть, первый, последний адреса для аренды, широковещательный адрес, и маску в формате [0-255].[0-255].[0-255].[0-255]? Или таки сольёшься?

mogwai ★★★★★
()
Ответ на: комментарий от mogwai

Так тебе текст же и отдали, что ноешь? Что они за тебя перестали формировать файл с объявлением переменных для sh, а отдали текст в формате JSON? Так не объект же отдали, бери парсер да разгребай. Тебе даже на grep не надо велосипед изобретать, готовый парсер дали.

А теперь объясни, нахрена вот это всё? json, парсеры и т.п. Для удобства? Так неудобно же совсем.

В оффтопике. И причём тут «софтина»?

В оффтопике тоже никаких объектов на самом деле нету. А софтина тут при том, что шелл должен обеспечивать возможность быстро и просто «склеивать» разные софтины для совместной их работы на пользу юзверю.

Мы об удобстве подхода говорим.

Об удобстве подхода к чему? К накостыливанию объектов туда, где никакой объектностью даже не пахнет?

Ты сейчас покажешь, как легко из 172.16.35.12/18, который в конфиге сетевой карты прописан получить для конфига dhcpd подсеть, первый, последний адреса для аренды, широковещательный адрес, и маску в формате [0-255].[0-255].[0-255].[0-255]? Или таки сольёшься?

ipcalc 172.16.35.12/18

И никаких объектов.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от Stanson

А теперь объясни, нахрена вот это всё? json, парсеры и т.п. Для удобства? Так неудобно же совсем.

Админу локалхоста неудобно. А тем, у кого много серверов, очень даже наоборот. Посмотри как foreman конфиг хоста отдаёт: и админу читать «как есть» удобно, и на клиенте городить забор не нужно, и для вывода в гуй на сервере лишних телодвижений не потребуется.

В оффтопике тоже никаких объектов на самом деле нету.

А всё это заговор американских спецслужб, чтобы нас в заблуждение ввести.

Об удобстве подхода к чему? К накостыливанию объектов туда, где никакой объектностью даже не пахнет?

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

ipcalc 172.16.35.12/18

И никаких объектов.

Оно даст

Address:	172.16.35.12
Network:	172.16.0.0/18
Netmask:	255.255.192.0 = 18
Broadcast:	172.16.63.255

Address space:	Private Use
Address class:	Class B
HostMin:	172.16.0.1
HostMax:	172.16.63.254
Hosts/Net:	16382
И как мне это в /etc/dhcp/dhcpd.conf пложить? Даже если забыть, что в sh нет ipcalc, ты не решил задачу. Сливаешься?

mogwai ★★★★★
()
Ответ на: комментарий от mogwai

Админу локалхоста неудобно. А тем, у кого много серверов, очень даже наоборот.

Ну у меня много серверов. Неудобно.

А всё это заговор американских спецслужб, чтобы нас в заблуждение ввести.

Да-да, то-то всё сводится к CreateFile. Спецслужбы постарались, не иначе.

И как мне это в /etc/dhcp/dhcpd.conf пложить?

Чо, правда не знаешь?

Даже если забыть, что в sh нет ipcalc, ты не решил задачу.

В sh даже cat и ls нету.

Сливаешься?

Слилось системное ООП в виде дохлого Симбиана.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Да-да, то-то всё сводится к CreateFile. Спецслужбы постарались, не иначе.

Или ModifyFile, или DeleteFile, или тем же трём операциям но со множеством файлов. Каждый раз всё делать руками?

Чо, правда не знаешь?

Ты предлагаешь мне руками это переносить? А кто верещал о превосходстве текста над объектами? Даже не надо формирование dhcpd.conf показывать, покажи лёгкое и непринуждённое заполнение необходимых переменных. Или слабо?

Слилось системное ООП в виде дохлого Симбиана.

Да нет, вполне себе успешно живёт в виде Windows10. А вот ты…

В sh даже cat и ls нету.

Это не спасёт тебя от слива. Задачу ты не решил.

mogwai ★★★★★
()
Ответ на: комментарий от mogwai

Или ModifyFile, или DeleteFile, или тем же трём операциям но со множеством файлов. Каждый раз всё делать руками?

Ты даже не понял о чём речь :)

Ты предлагаешь мне руками это переносить? А кто верещал о превосходстве текста над объектами? Даже не надо формирование dhcpd.conf показывать, покажи лёгкое и непринуждённое заполнение необходимых переменных. Или слабо?

Не, ты и правда не знаешь как это делается?

Один из вариантов:

eval `ipcalc -b -n 172.16.35.12/18 | grep '^[[:alpha:]]\+:' | tr ':' '=' | tr -d ' '`
echo $HostMin $HostMax

Ещё есть как минимум 3 способа не сложнее.

Слилось системное ООП в виде дохлого Симбиана.

Да нет, вполне себе успешно живёт в виде Windows10. А вот ты…

Щито?

Это не спасёт тебя от слива. Задачу ты не решил.

Какую ещё задачу? Для ООП дрочеров эта элементарщина аж целую задачу представляет?

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Ты даже не понял о чём речь :)

Ну так проясни, о великий.

Не, ты и правда не знаешь как это делается?
Один из вариантов:

eval `ipcalc -b -n 172.16.35.12/18 | grep '^[[:alpha:]]\+:' | tr ':' '=' | tr -d ' '`
echo $HostMin $HostMax

Во-первых, ты говорил не ipcalc -b -n 172.16.35.12/18, а ipcalc 172.16.35.12/18.Ты собираешься каждый раз вызывать стороннее приложение с разными параметрами? Тебе и так поблажку сделали, разрешив все расчёты на ipcalc возложить.
Во-вторых, ты утверждаешь, что это удобнее, чем если бы ipcalc объект возвращал?

ip=`ipcalc 172.16.35.12/18`
echo $ip.subnet.host_min $ip.subnet.host_max
В третьих, твой пример не работает
$ eval `ipcalc -b -n 172.16.35.12/18 | grep '^[[:alpha:]]\+:' | tr ':' '=' | tr -d ' '`
$ echo $HostMin $HostMax

$ 

В четвёртых, задачу ты так и не решил: где переменные, которые можно в dhcpd.conf подставить?

Напомню:

Ты сейчас покажешь, как легко из 172.16.35.12/18, который в конфиге сетевой карты прописан получить для конфига dhcpd подсеть, первый, последний адреса для аренды, широковещательный адрес, и маску в формате [0-255].[0-255].[0-255].[0-255]? Или таки сольёшься?

mogwai ★★★★★
()
Ответ на: комментарий от mogwai

Ну так проясни, о великий.

Для доступа к «объектам» ОС и работе с ними в конечном итоге используется CreateFile и WriteFile ReadFile и IoControl. Исключение составляет только гуй.

Ты собираешься каждый раз вызывать стороннее приложение с разными параметрами?

Зачем в скриптах выхлоп с цветом?

Во-вторых, ты утверждаешь, что это удобнее, чем если бы ipcalc объект возвращал?

А в строки преобразовывать кто будет?

В третьих, твой пример не работает

Ты совсем ламер, что-ли? Однострочник который в консоль скормить можно так выглядит:

eval `ipcalc -b -n 172.16.35.12/18 | grep '^[[:alpha:]]\+:' | tr ':' '=' | tr -d ' '` ; echo $HostMin $HostMax

В четвёртых, задачу ты так и не решил: где переменные, которые можно в dhcpd.conf подставить?

А зачем мне решать твои задачи? На выхлоп ipcalc посмотри, ради интереса, узнаешь имена нужных тебе переменных. Твоя ж задача, тебе и решать.

Stanson ★★★★★
()
Ответ на: комментарий от mogwai

Сливаешься тут ты. В конфиг помещается интересующая информация. А то, что в sh нет ipcalc - это преимущество перед парашеллом.

Quasar ★★★★★
()
Ответ на: комментарий от mogwai

Почему ты утверждаешь, что решение задачи не может быть решением задачи? У тебя моча в голове что ли?

Quasar ★★★★★
()
Ответ на: комментарий от mogwai

Ты собираешься каждый раз вызывать стороннее приложение с разными параметрами?

В этом весь смысл shell - вызывать приложения с параметрами и рулить потоками данных через стандартный ввод-вывод.

Quasar ★★★★★
()
Ответ на: комментарий от Stanson

Для доступа к «объектам» ОС и работе с ними в конечном итоге используется CreateFile и WriteFile ReadFile и IoControl. Исключение составляет только гуй.

Только на локалхосте. Самое простое: версию бинарника ты как собираешься смотреть?

Зачем в скриптах выхлоп с цветом?

Причём тут выхлоп? Ты уже вызвал ipcalc с двумя разными параметрами.

А в строки преобразовывать кто будет?

Интерпретатор.

Однострочник который в консоль скормить можно так выглядит:

Бугога:

[user@host ~]$ eval `ipcalc -b -n 172.16.35.12/18 | grep '^[[:alpha:]]\+:' | tr ':' '=' | tr -d ' '` ; echo $HostMin $HostMax

[user@host ~]$

А зачем мне решать твои задачи?

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

mogwai ★★★★★
()
Ответ на: комментарий от Quasar

Сливаешься тут ты. В конфиг помещается интересующая информация.

Ещё один кукаретик. Ну давай, покажи как легко и просто без ООП на sh получить переменные, которые потом в dhcpd.conf поместишь, имея только адрес хоста. Причём, чтобы не обкакаться, тебе придётся сделать это проще, чем

ip=`ipcalc 172.16.35.12/18`
echo $ip.subnet.host_min $ip.subnet.host_max $ip.adress $ip.netmask.long() $ip.gw
Или как Stanson шланговать будешь?

А то, что в sh нет ipcalc - это преимущество перед парашеллом.

И как же это выражается?

mogwai ★★★★★
()
Ответ на: комментарий от Quasar

Потому что глаза и мозг есть, чтобы понять, что он распарсил только две переменных, но не все. И уже у него код сложнее ООП версии вышел. Да ещё и нерабочий. Скажи, что у тебя в мозгах, что ты этого не видишь?

mogwai ★★★★★
()
Ответ на: комментарий от commagray

Так и в PS нет ipcalc, если что. И ничего не мешает написать его и как коммандлет, и как shell-скрипт.

mogwai ★★★★★
()
Ответ на: комментарий от mogwai

Только на локалхосте. Самое простое: версию бинарника ты как собираешься смотреть?

facepalm.jpg

Ты вообще понимаешь о чём речь?

Причём тут выхлоп? Ты уже вызвал ipcalc с двумя разными параметрами.

Скидка дня! Бесплатный копипаст части выхлопа ipcalc --help для идиотов!

 -n --nocolor  Don't display ANSI color codes.
 -b --nobinary Suppress the bitwise output.

Ты вообще понимаешь что происходит?

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

Ты ещё не показал как просто с ООП. :)

Stanson ★★★★★
()
Ответ на: комментарий от mogwai

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

facepalm.jpg

$ ipcalc 172.16.35.12/18
Address:   172.16.35.12         10101100.00010000.00 100011.00001100
Netmask:   255.255.192.0 = 18   11111111.11111111.11 000000.00000000
Wildcard:  0.0.63.255           00000000.00000000.00 111111.11111111
=>
Network:   172.16.0.0/18        10101100.00010000.00 000000.00000000
HostMin:   172.16.0.1           10101100.00010000.00 000000.00000001
HostMax:   172.16.63.254        10101100.00010000.00 111111.11111110
Broadcast: 172.16.63.255        10101100.00010000.00 111111.11111111
Hosts/Net: 16382                 Class B, Private Internet

$ ipcalc -b -n 172.16.35.12/18
Address:   172.16.35.12         
Netmask:   255.255.192.0 = 18   
Wildcard:  0.0.63.255           
=>
Network:   172.16.0.0/18        
HostMin:   172.16.0.1           
HostMax:   172.16.63.254        
Broadcast: 172.16.63.255        
Hosts/Net: 16382                 Class B, Private Internet

ipcalc -b -n 172.16.35.12/18 | grep '^[[:alpha:]]\+:'
Address:   172.16.35.12         
Netmask:   255.255.192.0 = 18   
Wildcard:  0.0.63.255           
Network:   172.16.0.0/18        
HostMin:   172.16.0.1           
HostMax:   172.16.63.254        
Broadcast: 172.16.63.255

$ ipcalc -b -n 172.16.35.12/18 | grep '^[[:alpha:]]\+:' | tr ':' '='
Address=   172.16.35.12         
Netmask=   255.255.192.0 = 18   
Wildcard=  0.0.63.255           
Network=   172.16.0.0/18        
HostMin=   172.16.0.1           
HostMax=   172.16.63.254        
Broadcast= 172.16.63.255  

ipcalc -b -n 172.16.35.12/18 | grep '^[[:alpha:]]\+:' | tr ':' '=' | tr -d ' '
Address=172.16.35.12
Netmask=255.255.192.0=18
Wildcard=0.0.63.255
Network=172.16.0.0/18
HostMin=172.16.0.1
HostMax=172.16.63.254
Broadcast=172.16.63.255

$ ipcalc -b -n 172.16.35.12/18 | grep '^[[:alpha:]]\+:' | tr ':' '=' | tr -d ' ' | cut -f 1,2 -d '='
Address=172.16.35.12
Netmask=255.255.192.0
Wildcard=0.0.63.255
Network=172.16.0.0/18
HostMin=172.16.0.1
HostMax=172.16.63.254
Broadcast=172.16.63.255

и т.д.

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

И уже у него код сложнее ООП версии вышел. Да ещё и нерабочий.

Ох уж эти сказки, ох уж эти сказочники. :) ООП головного мозга препятствует осознанию того, что есть 100500 других способов решения задач кроме ООП?

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от mogwai

Ещё один кукаретик. Ну давай, покажи как легко и просто без ООП на sh получить переменные, которые потом в dhcpd.conf поместишь, имея только адрес хоста.

Ты дебил. Переменные оттуда получать нафиг не надо. Переменные при необходимости сам задам на основании того, что будет парсить shell строки ровно до того вида, который и нужен. Если внезапно у тебя в парашелле не окажется какой-то переменной, то твой подход внезапно идёт нахрен (а ты идёшь нахрен здесь и сейчас).

Или как Stanson шланговать будешь?

Шлангуешь тут ты.

И как же это выражается?

Так, что нет привязки к какому-то одному формату ввода-вывода.

Quasar ★★★★★
()
Ответ на: комментарий от mogwai

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

Надо будет все распарсить - сделать это не проблема.

И уже у него код сложнее ООП версии вышел.

Может и сложнее, но гораздо понятнее, так как сразу ясно, откуда что берётся, и ничего под капот не прячется.

Quasar ★★★★★
()
Ответ на: комментарий от Stanson

Ты вообще понимаешь о чём речь?

Я понимаешь, ты… пока этого не видно.

 -b --nobinary Suppress the bitwise output.

Ты смотришь от чего хелп копируешь?

$ ipcalc --help
Usage: ipcalc [OPTION...]
…
Specific info options:
  -b, --broadcast                 Display calculated broadcast address
…
  -n, --network                   Display network address
…

mogwai ★★★★★
()
Ответ на: комментарий от mogwai

О боже, прям эталон ламерства! А kudzu у тебя на локалхосте есть? :) :) :)

Положи на место редхатовские костыли уже, и пользуй нормальный оригинальный софт. :)

У редхатовского костыля был ключик --all-info, если правильно помню, он выдавал что-то похожее на то, что выдаёт ipcalc.

Stanson ★★★★★
()
Ответ на: комментарий от mogwai

удобнее $ip.netmask?

Однозначно удобнее. И понятнее. И работает, в отличии от несуществующих ООП костылей.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Так это твоя головная боль, противник объектов. В ООП мире объект передал, а там пофигу в каком виде какое приложение его на экран покажет. Объект от этого не изменится.

О боже, прям эталон ламерства…

писать скрипты с непредсказуемым поведением.

Однозначно удобнее. И понятнее.

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

И работает, в отличии от несуществующих ООП костылей.

Так мы о подходе, а не о реализации. Какой дебил будет сравнивать bash в linux и powershell под windows?

mogwai ★★★★★
()
Ответ на: комментарий от mogwai

В ООП мире объект передал, а там пофигу в каком виде какое приложение его на экран покажет.

ООП мира не существует. Вообще. Единственная ОС, которая частично была действительно ООП - Epoc32/Symbian давно сдохла. Теперь нет ни одной ОС, в которой сущности, которыми эта ОС оперирует являются объектами.

А теперь расскажи, нахрена в оставшиеся ОС, которые по сути «всё есть файл» (да, даже винда, хоть файлы (их форматы) там в основном бинарные), пихать интерактивный шелл с ООП, который предназначен для быстрого и наглядного связывания частей ОС и программ согласно задаче?

Так мы о подходе, а не о реализации.

Смысл обсуждать подход, если реализации не существует?

Какой дебил будет сравнивать bash в linux и powershell под windows?

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

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Процедурное программирование головного мозга в терминальной стадии, что я могу сказать.

Даже в онтопике не всё есть файл, не говоря уже о родной ос PS. Живых ОС, где всё является файлом днём с огнём не найдёшь.

Касаемо последнего: ты кричишь о неюзабельности powershell, а я помню, что получив задачу я открыл ide, что с PS идёт, и за пару дней накатал решение, не зная PS до этого момента от слова «совсем», которое получилось менее лаконичное, чем на баше, но более читаемое. Из чего делаю вывод, что ты либо неосилятор, либо из детства какая-то травма мешает посмотреть объективно.

mogwai ★★★★★
()
Ответ на: комментарий от mogwai

Даже в онтопике не всё есть файл, не говоря уже о родной ос PS. Живых ОС, где всё является файлом днём с огнём не найдёшь.

Ну и что же не является файлом в венде, кроме гуёвых сущностей?

за пару дней накатал решение, не зная PS до этого момента от слова «совсем»

Ну так продемонстрируй же это «решение». :)

ЗЫ: И почему это все любители поверщели так стесняются показать, то, что у них в итоге получилось? :) :) :) :)

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Ну и что же не является файлом в венде, кроме гуёвых сущностей?

Процесс, подключение и много ещё чего.

Ну так продемонстрируй же это «решение». :)

Ты необосновано утверждаешь, что без ООП удобнее, и не можешь подтвердить это на простом примере, а я тебе что-то демонстрировать должен? Ну ты и кадр.

И почему это все любители поверщели так стесняются показать, то, что у них в итоге получилось?

Потому что бесплатно тебя уму-разуму учить не желают.

mogwai ★★★★★
()
Ответ на: комментарий от mogwai

Процесс, подключение и много ещё чего.

Бгг. И оно всё позволяет ReadFile/WriteFile (ага, даже процесс :)) и закрывается при помощи одной и той же CloseHandle. :)

а я тебе что-то демонстрировать должен?

Конечно не должен. Более того, я очень хочу чтобы ты так и не выложил свой (или чужой) поверщельный понос. Это наилучшим образом убеждает всех, что поверщель такое запредельное говно, что даже сами фанатики поверщели его стесняются. :)

Потому что бесплатно тебя уму-разуму учить не желают.

Хотеть денег за никому не нужное ненужно? Вся суть ООП фанатиков. :)

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Ты всё не успокоишься? Синдром утёнка оказался слишком запущенным.

ox55ff ★★★★★
()
Ответ на: комментарий от Stanson

Хотеть денег за никому не нужное ненужно?

Как ты о своём образовании лихо так…

mogwai ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.