金沢大学「シェルスクリプト言語論」は偽開発技術

2021/09/25(土) 04:21:02.13ID:TePSScIP
これはUSP社独自のユニケージを普及させるための授業

git、RDBMS、関数、ライブラリ使うな
シェルスクリプトとC言語以外使うな

POSIXで標準化されれてないものは
ソフトウェアの高い互換性と長い持続性が実現できない
全部自分たちで作れ、USPが作ったコマンドだけを作れ

大野 浩之, 森 祥寛, 松浦 智之 (USP所属)
2021/09/25(土) 04:22:01.77ID:TePSScIP
USPが作ったコマンドだけを使え
SQLの代わりにUSPの独自コマンドを使え!
2021/09/25(土) 04:27:10.54ID:TePSScIP
https://richlab.org/coterie/lpf.html

そんな中,まさにその疑問や悩みに応えるような内容の講義「シェルスクリプト言語論」を
金沢地区の大学向けに、2016年から開講してきました.ここまで4回(4年)開講し,
内容が洗練されてきたところでついに書籍化しました.

講義内容
https://richlab.org/j/2352
2021/09/25(土) 04:27:42.21ID:TePSScIP
頭が悪い授業内容の一部
https://richlab.org/j/2772

シェルスクリプトにおける開発マネジメント
・デバッグ
  ・そもそもバグをつくらせない
  ・IDEのないシェルスクリプトの2つの方法
  ・バグ付きコード「数字のマジック」のデバッグ演習
・バージョン管理
  ・基本はコピー(高度ばver.管理ツールに頼らない)
  ・履歴が見たくばUNIXコマンド

その0.[基本] バグは取るより、生み出すな
・デバッグはそもそも「無駄な作業」
  ・時間の無駄・労力の無駄
  ・デバッグでバグを潰すくらいなら、はじめからバグらせるな
・どうやって?
  ・1行書いてはテストせよ。
  ・分岐やループの無いプログラムなら、容易にできる。
2021/09/25(土) 04:31:00.23ID:TePSScIP
ただのUSP製品の宣伝をしてるだけの授業
https://richlab.org/j/2v62

・usp Tukubai(通称Tukubai)コマンド
  ・シェルスクリプトによるシステム開発を補完・強化するために作られた独自UNIXコマンド
  ・シェルスクリプトを、単なるサーバー管理言語から、アプリケーション開発言語へと進化させる。
  ・データ整理が特に得意で、RDBを過去のものにする処理速度を誇る。(参照→ 「スピードがすべてを駆逐する」)
  ・一部は、無償版(Open usp Tukubai)も公開されている


usp Tukubaiなんか世界中で「使われていません」
RDBよりも「圧倒的に遅く」「クラウドで使えません」
SQLは広く使われており、どこでも使えます
2021/09/25(土) 04:34:08.43ID:TePSScIP
自己矛盾する授業内容
https://richlab.org/j/2d62


・一人(一社)が所有・支配しているものは
  標準語ではない。
  ・その人の意向で、使い方のルールが
  変わってしまう恐れがある。
  ⇒話者(ユーザー)が翻弄される
  ・いざという時の代替品がない。
  ⇒サポート終了や欠陥発覚で、話者(ユーザー)の
   逃げ道がなくなる。


↑それはUSP研究所が独自で開発している
プロプライエタリなコマンドのことです!

RubyやJavaやSQLといった標準規格が存在するものは「標準語」です
オープンソースは移植性が高く実際にどこでも動いている
7デフォルトの名無しさん
垢版 |
2021/09/25(土) 09:09:50.96ID:NOizR6Gj
wikipediaに日本語版のページのみあるの泣かせるなw
自分らで必死に記事自作したんやろな
8デフォルトの名無しさん
垢版 |
2021/09/25(土) 10:06:01.11ID:lBxoEpbF
>>1 の学籍はもうすぐ消滅するだろうけど
こういう情報はありがたい
9デフォルトの名無しさん
垢版 |
2021/09/25(土) 12:56:18.63ID:TePSScIP
>>7
何を言ってるんですかぁぁ!!!

wikipediaの「POSIX中心主義」のページは
「POSIX中心主義」の公式ページですよ!

秘密結社シェルショッカー 日本支部
https://github.com/ShellShoccar-jpn
所在地(東京都内某所)の横にwikipeidaのリンクが書いてあるでしょう!
所在地は彼らの所在し、そしてリンクは公式ページのリンクです
2021/09/25(土) 12:58:08.84ID:bZKnvKGM
重複スレたてんな
11デフォルトの名無しさん
垢版 |
2021/09/25(土) 13:04:29.35ID:TePSScIP
POSIX原理主義の公式サイトは http://posixism.org/ です。
そこにすべての情報が集約されています。
提唱者のrichmikan=リッチー大佐=USP研究所所属の松浦 智之
が自らドメインを取得しています。

2017年、POSIX原理主義は世界に進出する
https://richlab.hatena
blog.com/entry/2016/12/25/030845

まだ中身がないから、松浦 智之とシェルショッカーの二人のアイコンを
デカデカと宣伝してるだけです。これが一番大事なことですからね!
あと書籍の宣伝。

公式ページはあるけれど今はwikipediaを公式ページとしているだけです!
まだそこにしかPOSIX原理主義の情報はありませぇぇん!!
2021/09/25(土) 14:51:57.06ID:UiiF5VUn
POSIX原理主義(笑)
echoの挙動すら統一できてないくせに
13デフォルトの名無しさん
垢版 |
2021/09/25(土) 15:47:12.26ID:TePSScIP
>>12
echoの挙動が違うだって?

どの環境でも使えるシェルスクリプトを書くためのメモ ver4.60
https://qiita.com/richmikan@github/items/bd4b21cf1fe503ab2e5c
> シェルスクリプトは環境依存が激しいから……
> などとよく言われ、敬遠される。それなら共通しているものだけ使えばいいのだが、

共通しているものだけを使えばいい!
シェルスクリプトは、どこでも動くコードを書けばどこでも動く!

JavaやRubyはだめ!
どこでも動くコードを書けばどこでも動く!という理屈を言っていいのは
シェルスクリプトだけに許される特権
14デフォルトの名無しさん
垢版 |
2021/09/25(土) 15:58:49.36ID:TePSScIP
POSIX原理主義(POSIX中心主義)は、あとづけ、こじつけの言い訳理論

https://ja.wikipedia.org/wiki/POSIX%E4%B8%AD%E5%BF%83%E4%B8%BB%E7%BE%A9
> POSIX中心主義は、上記の原理をソフトウェアの分野に応用し、次の三つの指針を提唱した[2]。
>
> POSIX準拠
> 交換可能性担保
> W3C勧告準拠

第一指針 POISX準拠していれば(=POSIXコマンドだけ使っていれば)どこでも動く!
POSIX原理主義者「ああ、なんて完璧な理論なんだ」

↑実はこれがPOSIX原理主義の唯一の主張であり間違った理論


反論1 POSIXコマンドだけではネットワーク使えないよ?
POSIX原理主義者「うっさいなー、じゃあ交換可能性が担保されていればOKってことにすればいいだろ」
↑後付の言い訳 理論1

反論2 POSIXコマンドはブラウザで動かないよ?
POSIX原理主義者「うっさいなー、W3Cで準拠してるのも認めてやるよ」
↑後付の言い訳 理論2

第ニ指針、第三指針は、POSIX原理主義が間違っていることをごまかすために
後付で作られたこじつけ、言い訳


なぜそう言えるのかと言うと、ブラウザで動くJavaScriptは、パイプで繋いでシェルスクリプトのように書くことができないから
このことについてPOSIX原理主義では、何も理論が存在しない。
後付でJavaScriptを認めたが、その先の理論はなにもない
15デフォルトの名無しさん
垢版 |
2021/09/25(土) 16:07:00.13ID:b57ZZ9aR
独自コマンドtukubaiを使わないとSQL相当のことができないってのは痛いなあ・・・
tukubaiはPOSIX原理主義に反してるよねこれ
16デフォルトの名無しさん
垢版 |
2021/09/25(土) 16:12:58.38ID:TePSScIP
>>15
POSIX原理主義の言い訳

「君はPOSIX原理主義を理解してない。POSIX原理主義の本質は
ライブラリがなければ自分で考えて自分で作ればいいという理論だ。
そのことは公式サイト(wikipedia)には書いてないがな」
17デフォルトの名無しさん
垢版 |
2021/09/25(土) 16:18:00.43ID:TePSScIP
POSIX原理主義者「POSIXではsleepでミリ秒の指定ができない?
だから私が作った。https://qiita.com/richmikan@github/items/65a55a405874e655fbac
すごいだろう?ないものは作ればいい!」


いやでもGNUもBSDでもsleepコマンドはミリ秒の指定できますよね?


POSIX原理主義者「それはPOSIXじゃない!使ってはならない。
だから私は自分で作った!それを使え」


GNUやBSDのsleepコマンドを使いますよw
18デフォルトの名無しさん
垢版 |
2021/09/25(土) 16:24:52.69ID:TePSScIP
POSIX原理主義者「UNIX哲学にはどうしてもC言語じゃなきゃダメな局面がなければすべきではないと書いてある」

書いてませんよ?

POSIX原理主義者「すべてのPOSIXコマンドは、どうしてもC言語じゃなければ行けないから、C言語で書いてある!」

basename、dirname、cut、true、false、head、tail、nl、あたりは
シェルスクリプトで簡単にかけますよ



POSIX原理主義者の理論はぜ〜んぶ適当
居酒屋のおっさんの自分語りレベル
19デフォルトの名無しさん
垢版 |
2021/09/25(土) 16:31:22.11ID:TePSScIP
POSIX原理主義者「yesコマンドは素晴らしいコマンドだ。その本当に意義を理解できるのはUNIX哲学を理解してる我々のみ!」

  うん、でもyesコマンドってPOSIXコマンドじゃないですよね?

POSIX原理主義者「え?」

  え?じゃなくてyesコマンドは、あんたの理論では使ってはダメなの

POSIX原理主義者「C、C言語で書けば、」

  yesコマンドは使えないコマンドだからPOSIXコマンドじゃないの

POSIX原理主義者「yesコマンドはこのような使い方が、」

  それはあんたが適当に思いついただけの変な使い方。本来の用途じゃないの。移植性もないの

POSIX原理主義者「自分で再発明することの素晴ら」

  あんたが作ったものは使えないし、あんたが作ったものよりGNUやBSDの信頼性があるものを使う
20デフォルトの名無しさん
垢版 |
2021/09/25(土) 16:36:05.58ID:TePSScIP
POSIX原理主義者「UNIXはC言語とシェルスクリプトで作られている
RubyやPerlやPythonやPHPが使われてないのは、移植性がないと思ったからに違いない」

   単にUNIX開発全盛期時代にRubyやPerlやPythonやPHPが登場してなかっただけです
   あと根拠もないのに「違いない」という思い込みを学生に披露しないでください
21デフォルトの名無しさん
垢版 |
2021/09/25(土) 16:43:50.84ID:TePSScIP
POSIX原理主義者「POSIXコマンドだけを使っていれば10年後もそのまま動く!どこでも動く!POSIXコマンドが改定されることはない!」

  でもtarコマンド削除されましたよね?

POSIX原理主義者「POSIXコマンドはcompressだ!compressを使え!」

  でもLinuxにインストールされてないんですが?

POSIX原理主義者「Linuxは完全にPOSIXに準拠してない!POSIXに準拠している環境ならどこでも動く!」

  そのPOSIXに準拠している環境ってなんですか?

POSIX原理主義者「商用UNIXとmacOSだ!(どやぁ)」

  じゃあ、どこでも動くんじゃなくてPOSIXに準拠してる商用UNIXとmacOSだけで動く
  LinuxはPOSIXに準拠してないから動かないって言わなきゃね
22デフォルトの名無しさん
垢版 |
2021/09/25(土) 16:45:21.73ID:TePSScIP
POSIX原理主義者「LinuxもだいたいPOSIXに準拠してるからだいたい動く。動かないものを避ければだいたい動くはずだ」


すっげー適当
理論のレベルじゃない
ただの思いつきで言ってるだけ
23デフォルトの名無しさん
垢版 |
2021/09/25(土) 17:34:37.99ID:TePSScIP
あとでよむ
https://anond.hatelabo.jp/20161205162603
24デフォルトの名無しさん
垢版 |
2021/09/26(日) 12:42:49.33ID:UCK67sqf
同人誌レベルの内容で授業するなよ
25デフォルトの名無しさん
垢版 |
2021/09/26(日) 13:04:39.69ID:K1SPl3Hp
POSIXはもう古い。
これからはUBUNTU。
2021/09/27(月) 01:46:16.68ID:Ddf/M9cy
「柑橘類」と「りんごサラダ」を比べるようなもの
27デフォルトの名無しさん
垢版 |
2021/09/27(月) 02:08:14.53ID:Rw+VRmCj
POSIXよりSQLの方が歴史長いような・・・
28デフォルトの名無しさん
垢版 |
2021/09/27(月) 02:14:07.79ID:Rw+VRmCj
SQLと同じことをするためにTukubaiという独自開発した
ライブラリに依存してくださいというのはおかしい

Tukubaiはプロプラライセンスで提供されているから会社が潰れたら共倒れじゃん
オープンソースのもあるけどPythonで作られてるからPythonがバージョンアップしたら終わりじゃん

他人が作ったライブラリに依存するのはダメだけど自分の会社が作ったライブラリ
に依存するのはOKという態度はダブルスタンダードだと思うんだよね
29デフォルトの名無しさん
垢版 |
2021/09/27(月) 02:27:30.00ID:Rw+VRmCj
Tukubaiへの依存がロックインでなくて何なのだって感じだなあ
30デフォルトの名無しさん
垢版 |
2021/09/27(月) 02:32:02.13ID:Rw+VRmCj
あとユニケージのソースコードはマジックナンバーだらけで可読性がうんこ
31デフォルトの名無しさん
垢版 |
2021/09/27(月) 02:44:56.97ID:i3xtYTg3
>>30
> あとユニケージのソースコードはマジックナンバーだらけで可読性がうんこ

あ、マジか・・・
それは思いつかなかった。
たしかにマジックナンバー使っててわかりづれぇなって
思ってたけど、それユニケージの文化なのか
32デフォルトの名無しさん
垢版 |
2021/09/27(月) 02:45:59.73ID:i3xtYTg3
>>28
> オープンソースのもあるけどPythonで作られてるからPythonがバージョンアップしたら終わりじゃん

あれPythonの互換性が高いことを証明するために
あえて放置してるんじゃないの?

Pythonは修正しなくても動く!互換性が高い!ってw
33デフォルトの名無しさん
垢版 |
2021/09/27(月) 02:48:27.93ID:i3xtYTg3
>>27
それは知らんかった

https://ja.wikipedia.org/wiki/SQL

確かに、SQL86から存在するんだな
POSIXは一応1988年からあるけど、シェルは1992年のPOSIX.2からだったよね
34デフォルトの名無しさん
垢版 |
2021/09/27(月) 03:28:02.94ID:Rw+VRmCj
>>32
Python2からPython3へのバージョンアップで互換性を捨てて議論が紛糾したのはついこの間の話だからなあ
よりによってPythonなのかって感じ
35デフォルトの名無しさん
垢版 |
2021/09/27(月) 04:31:47.42ID:i3xtYTg3
>>34
彼らの理屈ではシェルスクリプト以外がノーメンテで何年も動いたら困るわけよ。
シェルスクリプトだけが唯一ノーメンテで何年も動く言語だって主張してるわけだからね
だからあえて互換性を捨てたPython選んだんだと思うよ

ま、そのTukubaiがメンテナンスされてないところを見ると
今もそもまま動いちゃうんでしょ?
36デフォルトの名無しさん
垢版 |
2021/09/27(月) 04:38:19.33ID:i3xtYTg3
それにしてもホントTukubaiって汎用性がなくて使い物にならんよなw
2021/09/27(月) 07:27:29.52ID:9io8PJEA
昔これ使ってたプロジェクトにいた事あるんだけど、データ量が大きくなるとウユニケージコマンドが異常終了して使い物にならなかった
まぁソートとか全部オンメモリーでやろうとするんだからそうなるわな

デモでは少量データしか使ってなくて、速い事を散々アピールしてた
偉い人たちがころっと騙されてたわ

最終的にはApache Sparkに切り替えて難を逃れたらしいけど
2021/09/27(月) 07:47:23.31ID:uvjLpbW7
>>37
> まぁソートとか全部オンメモリーでやろうとするんだからそうなるわな

sortコマンドを使ってるとしたら、それは違うよ
sortコマンドに限らないけど、標準的なシェルコマンドの殆どは
メモリを食わないように設計されてる

省メモリは一見いいことのように思えるけど
メモリは使って事意味がある。メモリを使うことで処理を早くできる。
データベースとかメモリにキャッシュすることで高速に処理できる
シェルコマンドはメモリを無駄にしてるのでバッチ処理やシーケンシャル処理以外は遅い

で、sortコマンドもメモリを食わないようになってる
マージソートで検索すれば詳細が見つかると思うが
ある程度の量のデータをソートする場合、/tmpディレクトリに以下に
小さなファイルをいくつも作って、最終的にマージソートして結果を出してる
だからメモリは食わない

まあユニケージコマンドのソートならどうせそこらへん適当だろうから
メモリ食いまくってるかもしれんな

> デモでは少量データしか使ってなくて、速い事を散々アピールしてた
> 偉い人たちがころっと騙されてたわ

やっぱそれか。郵便番号のAJAXが速いとか言ってるもんな
あのCSVはたかだか数MB。HDDでも100MB/s、SSDなら1GB/s以上の速度が出る現代で
一瞬(0.1秒)で終わっても当たり前としか言いようがない。
しかも書き込みはないし、サーバーあいだの同期も不要だしな

実際のトランザクションが必要な処理をシェルスクリプトというか
ユニケージコマンドでやったら破綻するのは当たり前
39デフォルトの名無しさん
垢版 |
2021/09/27(月) 14:10:38.08ID:mddcRSb5
自演乙
2021/09/27(月) 14:24:53.06ID:t5bZXdEz
自演ってことにしないと困るのか?
2021/09/27(月) 15:31:04.07ID:eiFsymZX
反面教師として
「こういう環境で開発しなければいけないこともあるので覚悟しとけよ」
というのならわからないでもない
42デフォルトの名無しさん
垢版 |
2021/09/28(火) 20:49:08.34ID:DjJlYeUR
嫌すぎる・・・ってか
こういう環境で働いてもらいます。
やろ?
2021/09/28(火) 22:37:07.11ID:k9rV8FnF
大学の講義でシェル教えるのにやるならありだけど商業アプリでやるのはあたおか
2021/09/28(火) 22:40:52.46ID:76Enz77O
世間で広く使われてる技術を教えるのならまだしも

ユニケージ、我社が開発したコマンドを使いましょう
みんなが使ってるgitは使ってはいけません。我社のやり方はこうです。
みんなが使ってるデータベースは使ってはいけません。我社のやり方はこうです。
みんなが使ってるライブラリは使ってはいけません。我社のやり方はこうです。
ってUSPのやり方を教えつけるとしたら、
それはただの技術者の囲い込み目的だと思う
2021/09/28(火) 22:42:23.48ID:76Enz77O
技術者っていうか、技術者の卵か
本物の技術者は相手にしない
無知な人だけが騙されるって詐欺と同じじゃねーかw
2021/09/29(水) 18:24:04.96ID:dvZ4m9HX
擬似科学ってやつか?
47デフォルトの名無しさん
垢版 |
2021/09/29(水) 18:32:46.46ID:kqy9vwao
この理論の論文みたけど、案の定というか何も参考にしてないんだよな
もちろんリファレンス的なのは参考にしてるけど
それ以外は全部自分が発表したものとか個人サイトを参考にしてるだけ

プログラミングというのは何十年もの多くの人が考えた
理論の積み重ねなんだけど、こいつの理論は完全独自
独自だから他の文献を参考にしてない

もちろんオリジナルの理論発表してるから、すごいって意味じゃないよ
オリジナルの理論がありえない世界で、オリジナルの理論を披露してるってことは
完全に世の中の理論から外れた大間違いの理論ってこと
2021/09/29(水) 21:03:06.29ID:95ggrWnz
自分勝手に自分の言いたいことを言ってるだけだからなあ
何の価値もない
49デフォルトの名無しさん
垢版 |
2021/09/29(水) 22:25:04.81ID:LIIOEhIk
この講義ってどういうタイミングどういう生徒が受講するんだろ
CS入門的な立ち位置?
2021/09/29(水) 22:45:25.61ID:IBCEdf04
>>49
CS入門ってなに?よくわからんけどググったら、受講案内?のPDFが出てきたよ
https://www.ucon-i.jp/newsite/city-college/kamoku/2021b/%E5%BE%8C%E6%9C%9F15_%E3%82%B7%E3%82%A7%E3%83%AB%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E8%A8%80%E8%AA%9E%E8%AB%96.pdf

開講期間 9月30日 〜 1月27日
単位数 2単位 定員数 20名
特別聴講学生等定員、科目等履修生定員、シティカレッジ聴講生定員

・特別聴講学生等定員
別途負担費用 教員の指示に従う

・科 目 等 履 修 生(社会人で単位を必要とする者)
検 定 料 入 学 料 授 業 料 別途負担費用
9,800円 28,200円 29,600円 教員の指示に従う

・シティカレッジ聴講生 (社会人で単位を必要としない者)
10,000円


> 皆さんの中で,プログラミングを勉強して,さまざまなプログラムを作成したいと考えたことのある方は,どれだけいるだろうか? しかし,
どのように学んで良いか分からない。JAVA? Python? R? Oracle? PHP? C?などと言われても,何を学んで良いか分からない。そんな
こともあるでしょう。特に,多くのプログラミング言語では,1,2年毎に大きなバージョンアップなどがあり,その前後で作成したプログラムが
動かなくなったり,新しいプログラムが作れなくなったりします。

1、2年で動かなくなる???
新しいプログラムが作れなくなる???
2021/09/29(水) 22:48:31.42ID:N5+z628m
開講期間、明日からw また新たなる被害者がwww
52デフォルトの名無しさん
垢版 |
2021/09/29(水) 23:04:30.81ID:gu3KqaJI
そういえば2014年にShellShockと呼ばれるBashの脆弱性が問題になったなー
シェルショッカーはそこから来てるのかな
脆弱性の種を蒔いてるんじゃなかろうか
2021/09/30(木) 00:18:07.35ID:maqoct79
>>52
それと仮面ライダーの敵組織のショッカーをかけてるんでしょ?
怪人小鳥男とか初期の仮面ライダーのタイトルのパクリだし(第一話は「怪奇蜘蛛男」)

bashはGNUだし嫌いなんだと思うよ。UnixとかFreeBSDの世界の人たちみたいだし
POSIXに準拠していればShellShockでbashが使えなくなっても問題ないとか
鬼の首を取ったように騒いでいたし。脆弱性なんかすぐに塞がれたじゃんと。

あいつらのが言ってるPOSIX以外は使えなるかもしれないっていうのは
所詮プロプラな商用Unixの場合の話。使っていたUnixが使えなくなって
移植で痛い目にもでもあったのでは?POSIX以外はだめだってFUD攻撃をしてる
UnixやFreeBSDはなくなるかもしれんけどLinuxがなくなるとかありえないし
2021/09/30(木) 00:25:00.40ID:maqoct79
>>50
新しいプログラムが作れなくなるのはUSP(ユニケージ)が独自で作ったusp Tukubaiのことだなw
ユニケージの独自コマンドはプロプラだから契約してないと完全版は使えないよ
オープンソース版はなぜかも元々のC言語版じゃなくてPythonで作られた劣化版。
しかもメンテされてなくて放置状態。自分たちの独自技術(笑)を
公開したくないという意思がはっきりと感じ取れる
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況