アカウント名:
パスワード:
だが、あえてバッチ処理した方が望ましい場合もあるわけで。たとえばネットを利用した振り込みとか、不正アクセスに勘付くためにあえてリアルタイム処理できなくしてる銀行もある。
古い技術は全否定するわけではなくて、要件に応じて使い分けることが必要。「新技術の方が優れている」は年中革新しないと気が済まない病に陥ったエンジニアの誤解。
syori.bat とかなら明らかに時代遅れな感じはする。せめてPowerShellかWSLを使えと?
PowerShellの気持ち悪さは異常。あれ誰が考えたんだろう。
パラダイムの違う言語が、気持ち悪く見えてしまうことは仕方ない。COBOLプログラマから見て、Javaは気持ち悪く見えるかもしれないね。Bashしかできない人にとって、Powershellが気持ち悪く見えてしまうように。
個人的には、常に新しいものに挑戦できる自分でいようと考えている。じゃないとこの業界、すぐに老害と呼ばれちゃうしね。
う~ん、COBOLもJAVAもC言語もPYTHONもシェルも扱えるけど、気持ち悪いとは思わないけどな。その言語の生成経緯とか言語仕様の考え方とかを考えればこんなものかと納得がいきます。
私はそれらに加えて、Forth, LISP, Ruby, Elixir, Prolog辺りも使ったことはあるけど、どれも気持ち悪いと言えば気持ち悪かった。でも最終的には、大抵のものは「こんなものかと納得がい」った。
そう言う意味では、PowershellのBEGIN{} PROCESS{} END{}構文は、未だに納得いかないものの一つではあるな。
>BEGIN{} PROCESS{} END{}awk と同じと思えば伝統的よ
いや、それとは違うんだよな。しかし、それを書くには余白が狭すぎる。
素直にbash移植してくれた方がありがたかった。WSLに魂売ってるんだし余計な独自性はいらん。
Windowsでは、みんな git のおまけの git bash を使ってるから問題ない。
何故ばれた
じゃあbashでCOMや.NETのオブジェクトを操作したりレジストリやActiveDirectoryなどを管理できるようにしてくれただちに 今すぐ たちどころに
「変な独自言語を作って自己満足してないで、素直にbashの道義に従って、bashにアドオンすれば良かっただろ」という単純な話に、的外れなツッコミよな。
bashはbashの道義(流儀?)があるんで、.Netのオブジェクトを扱うように作り直すのは、無駄が多いんだよ。Powershellを使ってみれば解るよ。
> 素直にbashの道義に従って、bashにアドオンすれば良かっただろ
PowerShellの作者は元々POSIXサブシステムチームのメンバーで、最初はそれをやろうとしてたんだけど失敗したんだよなぜならWindowsはUNIX(ライク)じゃないからUNIXに最適化されたシェルをそのまま持ってきてもうまくいかないそれで仕方なくPowerShellを作ったんだ
bash使えばいいじゃん。あんなもの有難がる気持ちの方が分からんけど。
構文は、powershellが出来た頃、最前線で一番人気だったperl の真似なんだけどな。WSLとかは、最近だが powershellは20年の歴史ある。
オブジェクトをパイプ/リダイレクトで、オブジェクトをやりとりするので、テキスト経由で処理する Unix的なスクリプトと違って桁数とか改行とかによる実データ見なきゃわからんっていうバグとは無縁なので、スクリプト書くときは Linuxでも普通に使ってる。
命名ルールからperlとは程遠いじゃん
perl使いこなしていればPHPもJavaScriptもrubyも(コーディングルールさえ乗り越えればpythonも)難なく習得できるけどPowerShellは文化が全く違う。
$_ (デフォルト変数) とか一部拝借した程度よな。
悔しくて絞り出した反論がそれか……
パイプがクソ外部プログラムの出力をパイプで受けたら全出力バッファにためてからでないと処理進めん
それは繋ぐ側のプログラムの仕様次第でしょうに。例えば grep なら --line-bufferd とか使えばいい。
「powershell の」パイプでバッファリング回避できる方法があるなら教えて欲しい
PowerShellで処理するんだったら、出力結果をパイプ経由で直接 ForEach-Object に与えて処理するべきでしょ?なんでしないの?
LF来るまでバッファリングするじゃん?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲは一日にしてならず -- アレゲ研究家
バッチ処理は時代遅れ (スコア:5, 興味深い)
だが、あえてバッチ処理した方が望ましい場合もあるわけで。
たとえばネットを利用した振り込みとか、不正アクセスに勘付くためにあえてリアルタイム処理できなくしてる銀行もある。
古い技術は全否定するわけではなくて、要件に応じて使い分けることが必要。
「新技術の方が優れている」は年中革新しないと気が済まない病に陥ったエンジニアの誤解。
Re: (スコア:0, オフトピック)
syori.bat とかなら明らかに時代遅れな感じはする。
せめてPowerShellかWSLを使えと?
Re:バッチ処理は時代遅れ (スコア:-1)
PowerShellの気持ち悪さは異常。あれ誰が考えたんだろう。
Re:バッチ処理は時代遅れ (スコア:1)
パラダイムの違う言語が、気持ち悪く見えてしまうことは仕方ない。
COBOLプログラマから見て、Javaは気持ち悪く見えるかもしれないね。
Bashしかできない人にとって、Powershellが気持ち悪く見えてしまうように。
個人的には、常に新しいものに挑戦できる自分でいようと考えている。
じゃないとこの業界、すぐに老害と呼ばれちゃうしね。
Re: (スコア:0)
う~ん、COBOLもJAVAもC言語もPYTHONもシェルも扱えるけど、気持ち悪いとは思わないけどな。
その言語の生成経緯とか言語仕様の考え方とかを考えればこんなものかと納得がいきます。
Re:バッチ処理は時代遅れ (スコア:1)
私はそれらに加えて、Forth, LISP, Ruby, Elixir, Prolog辺りも使ったことはあるけど、どれも気持ち悪いと言えば気持ち悪かった。
でも最終的には、大抵のものは「こんなものかと納得がい」った。
そう言う意味では、PowershellのBEGIN{} PROCESS{} END{}構文は、未だに納得いかないものの一つではあるな。
Re: (スコア:0)
>BEGIN{} PROCESS{} END{}
awk と同じと思えば伝統的よ
Re:バッチ処理は時代遅れ (スコア:1)
いや、それとは違うんだよな。
しかし、それを書くには余白が狭すぎる。
Re: (スコア:0, すばらしい洞察)
素直にbash移植してくれた方がありがたかった。
WSLに魂売ってるんだし余計な独自性はいらん。
Re:バッチ処理は時代遅れ (スコア:2, すばらしい洞察)
Windowsでは、みんな git のおまけの git bash を使ってるから問題ない。
Re: (スコア:0)
何故ばれた
Re: (スコア:0)
じゃあbashでCOMや.NETのオブジェクトを操作したり
レジストリやActiveDirectoryなどを管理できるようにしてくれ
ただちに 今すぐ たちどころに
Re: (スコア:0)
じゃあbashでCOMや.NETのオブジェクトを操作したり
レジストリやActiveDirectoryなどを管理できるようにしてくれ
ただちに 今すぐ たちどころに
「変な独自言語を作って自己満足してないで、素直にbashの道義に従って、bashにアドオンすれば良かっただろ」
という単純な話に、的外れなツッコミよな。
Re:バッチ処理は時代遅れ (スコア:1)
bashはbashの道義(流儀?)があるんで、.Netのオブジェクトを扱うように作り直すのは、無駄が多いんだよ。
Powershellを使ってみれば解るよ。
Re: (スコア:0)
> 素直にbashの道義に従って、bashにアドオンすれば良かっただろ
PowerShellの作者は元々POSIXサブシステムチームのメンバーで、最初はそれをやろうとしてたんだけど失敗したんだよ
なぜならWindowsはUNIX(ライク)じゃないからUNIXに最適化されたシェルをそのまま持ってきてもうまくいかない
それで仕方なくPowerShellを作ったんだ
Re: (スコア:0)
bash使えばいいじゃん。あんなもの有難がる気持ちの方が分からんけど。
Re: (スコア:0)
構文は、powershellが出来た頃、最前線で一番人気だったperl の真似なんだけどな。
WSLとかは、最近だが powershellは20年の歴史ある。
オブジェクトをパイプ/リダイレクトで、オブジェクトをやりとりするので、テキスト経由で処理する Unix的なスクリプトと違って桁数とか改行とかによる実データ見なきゃわからんっていうバグとは無縁なので、スクリプト書くときは Linuxでも普通に使ってる。
Re: (スコア:0)
命名ルールからperlとは程遠いじゃん
perl使いこなしていればPHPもJavaScriptもrubyも(コーディングルールさえ乗り越えればpythonも)難なく習得できるけど
PowerShellは文化が全く違う。
Re: (スコア:0)
$_ (デフォルト変数) とか一部拝借した程度よな。
Re: (スコア:0)
悔しくて絞り出した反論がそれか……
Re: (スコア:0)
パイプがクソ
外部プログラムの出力をパイプで受けたら全出力バッファにためてからでないと処理進めん
Re: (スコア:0)
それは繋ぐ側のプログラムの仕様次第でしょうに。
例えば grep なら --line-bufferd とか使えばいい。
Re: (スコア:0)
「powershell の」パイプでバッファリング回避できる方法があるなら教えて欲しい
Re: (スコア:0)
PowerShellで処理するんだったら、出力結果をパイプ経由で直接 ForEach-Object に与えて処理するべきでしょ?
なんでしないの?
Re: (スコア:0)
LF来るまでバッファリングするじゃん?