X



トップページLinux
87コメント28KB

なぜシェルスクリプト言語で大規模アプリが作れないのか?

■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin
垢版 |
2013/05/26(日) 20:22:37.82ID:tvV5yzua
シェルスクリプト言語が強力であれば、
大規模アプリが作れるはず。

逆に、大規模アプリが効率良く作れる言語なら
シェルスクリプト言語として使うっても
効率がいいはず。
0002login:Penguin
垢版 |
2013/05/26(日) 21:49:04.42ID:IvVe2Vi4
GUI?CUI?
小規模アプリでもやってみればわかるけどGUIは無理
TUIも無理かも
CUIだとできそうだけどシェルスクリプトじゃできること限られるし
シェルスクリプトに限らずpythonとかのスクリプトも有りなら可能性は広がる

ただ大規模なプログラムになるとスクリプト言語は実行速度で不利

#↓削除依頼出してねって書き込まれるに1ペリカ
0005login:Penguin
垢版 |
2013/05/27(月) 10:40:14.46ID:pCdsHKDN
シェルスクリプトだけだと、どうしても外部コマンドに頼る場面が
でてくるから、そこでのfork&execのコストがどうしても高くつく。
0006login:Penguin
垢版 |
2013/05/27(月) 16:36:55.39ID:5tsdSULQ
保守性が糞悪い
vbスクリプト技術者なら安い賃金で調達可能

もうメインフレームのバッチ処理みたいな仕事は無いよ
0007login:Penguin
垢版 |
2013/05/27(月) 21:03:45.12ID:6HYdNFvR
シェルスクリプトは日常語だから。
0008login:Penguin
垢版 |
2013/05/27(月) 21:08:59.20ID:UtZk0TD6
>>6
実データがテキストファイルで目に見える形で保存される、これが客に与える安心感は大きい。そしてそこから発生する手回しの良さに気付かないとは…お前もお偉いさんになっちまつたんだなぁ
0009login:Penguin
垢版 |
2013/05/27(月) 21:17:53.18ID:NQtb4DKU
で、ほかの開発環境に比べて良いところは?データがテキストってだけ?
0011login:Penguin
垢版 |
2013/05/27(月) 22:40:09.87ID:UtZk0TD6
データもシステムも設計が細切れになる。パイプを駆使してプチプチと。
それは非オブジェクト的で、構造とデータとプログラムの境目がなくなっていく。いかにも今風な流れだと思うけどねえ
0012login:Penguin
垢版 |
2013/05/28(火) 00:12:58.59ID:Apd6CwhH
何を今更なスレだな。
ユニケージ開発のuspに喧嘩売ってんの?
0013login:Penguin
垢版 |
2013/05/28(火) 00:16:34.60ID:oS3Vwj3e
ユニケージ開発について調べてみた?
あれ、怪しげな開発手法じゃないか。

シェルスクリプトはほんの少ししか関係ない。
スクリプトキディ+金儲けが始めたビジネス。

よくわからん開発手法を掲げて
後はセミナーで金をとる商売。
0014login:Penguin
垢版 |
2013/05/28(火) 01:01:43.04ID:qu1pWRjw
基本的に >>1 が何をさして「大規模アプリ」とか「強力である」とか言ってるかよく分らん。
「シェルスクリプト言語として使う」ってコマンドライン操作のことかな。

まぁ釣なんだろうけど。
0016login:Penguin
垢版 |
2013/05/28(火) 21:15:23.34ID:7txxZG9k
dtkshのスレか?
0017login:Penguin
垢版 |
2013/05/30(木) 06:41:26.52ID:LuY8/zFY
>>13
このスレ的には>>3で終了だし、
ユニケージ開発っていうのは元々のUNIXの利用者的な思考そのものって
いうこともあって自然だから別に怪しいわけでもないと思うが、

ユニケージ開発の肝の一つである
「独自コマンドをLinux, UNIX等に展開しないのはなぜ?」

って思うね。
UNIX文化、Linux文化とは完全に相容れない異質な思想がそこにはある。

故に、毛並みは違うけども他の有償アプリケーション等とあまり変わらないイメージがあるな。
ユニケージ開発が言っている事はこういう事だ。
「数は少ないが、作り出すのは面倒な独自コマンドをUNIX互換環境で作り出せば、
 独自コマンドと既存コマンドの組み合わせで大規模アプリ相当の機能が簡単に作り出せる。」

ただし上記の前提条件は、USP研究所(笑)に金払って決めなきゃダメ。
しかも、(分岐を防ぐため)独自コマンドの導入はUSP研究所が検証したものでないとダメwww

コマンドの仕様を公開していないから、色々(主張している事と)矛盾が出てるんだよね。
そこが「怪しい」と思われるポイントになっている気がするよ。

GNUのようにオープンにソースを公開して、古くから大勢の人に検証されてきたコマンドと違って
バグが有る可能性は否めないし、オープンな議論があったわけでもないので
必要なコマンドのチョイスも結構怪しい。と思われる事自体に問題がある。
また、独自コマンドを作る事が出来ない環境では全く役に立たない方法論で、
いくらUNIX, Linuxが広く使われていても、適用範囲はすごく狭い。

色々ダメダメだな。
0019login:Penguin
垢版 |
2013/05/30(木) 19:09:59.32ID:YV0NOz8Z
頼むから続き書いてくれ
おもんなくてもいいしなんなら金払ってもいい
0020login:Penguin
垢版 |
2013/05/30(木) 22:27:21.61ID:yueoIWaN
ユニケージ開発が怪しいのは
英語版Wikipediaに存在しないから。

ゴミはゴミ。
0021login:Penguin
垢版 |
2013/05/30(木) 22:44:26.47ID:4wcYPMba
んじゃページ作れば怪しくなくなるのか?
0022login:Penguin
垢版 |
2013/05/31(金) 01:13:28.78ID:56m8zL7E
GPLでなくたって、BSD/MITライセンスでええやん。
0023login:Penguin
垢版 |
2013/05/31(金) 05:22:53.40ID:3AuvFnYg
>>21
俺が悪かった。
ページがあってそれが複数の人で定期的に
メンテナンスがされてないとだめだな。訂正する。
0024login:Penguin
垢版 |
2013/05/31(金) 07:55:59.38ID:pwkNCxoe
叶姉妹って怪しいけど
Wikipedia 英語ページがあって定常的に複数の人にメンテされてるよ。
0026login:Penguin
垢版 |
2013/05/31(金) 21:17:02.81ID:3AuvFnYg
>>24
つまり、ユニケージ開発は
叶姉妹よりも怪しいってことだなw
0028login:Penguin
垢版 |
2013/06/03(月) 16:43:18.61ID:Tg4C+nGk
オープンソースなユニケージ互換コマンドとか無いの?
USPが配布している機能限定無料版じゃなくて、全く別開発者の
オープンソース版
0029login:Penguin
垢版 |
2013/06/03(月) 16:50:35.15ID:ClYS9Vli
ユニケージスレになっとる。
0030login:Penguin
垢版 |
2013/06/03(月) 17:50:18.53ID:Qi3OkMx4
もっと盛り上がればオープンソース版もあり得るかもね
とりあえず今のライバルは叶姉妹
0031login:Penguin
垢版 |
2013/06/03(月) 22:08:12.76ID:bSPAKKM4
ぶっちゃけ、湯にケージ(GoogleIMEで候補に出ない)
なんてものは、ほぼ全員このスレをみて知っただろ?
0032login:Penguin
垢版 |
2013/06/03(月) 22:18:40.14ID:hZTmDhIs
>>31
当たり前でしょ
マイナーすぎて
0033login:Penguin
垢版 |
2013/06/03(月) 23:22:09.95ID:TXmfHvbk
>>31
Software Design読んでるから
名前だけなら知ってたわ。
0034login:Penguin
垢版 |
2013/06/04(火) 01:04:49.28ID:VdzgjvnK
コミケでUSP発行の薄い本買ってみた事はある。
0035login:Penguin
垢版 |
2013/06/04(火) 08:23:43.80ID:CMeNJVPs
ユニケージの真髄は、シェルスクリプトで書く事じゃなくて「既にある使ってない物も」で書く事
ラッピングと言う名の再発明を無駄に繰り返して一歩も前に進まないシステム業界よりよっぽど良い
0036login:Penguin
垢版 |
2013/06/04(火) 16:03:19.66ID:D/tx8Voo
って言うか、元々UNIXってそういう思想・哲学で作られてるんだろ。
わざわざWindowsやMacの糞アプリの真似して、巨大な何でも入りアプリを作るのは馬鹿。
0037login:Penguin
垢版 |
2013/06/04(火) 20:42:17.51ID:rag4vWye
Linuxカーネルがなんでも入りカーネルなんだけどなw
0038login:Penguin
垢版 |
2013/06/05(水) 17:29:48.40ID:cczilzhf
configで要らないのは外せるじゃん。


依存関係ややこしくて死ねるけどw
0040login:Penguin
垢版 |
2013/06/15(土) 05:01:50.06ID:IKtjCUdq
細かいコマンドはCで書いて
あとはシェルスクリプトで・・・・って普通だな
0041login:Penguin
垢版 |
2013/07/08(月) NY:AN:NY.ANID:Z3aKS/Zk
「UNIX シェルスクリプト・コマンドブック 第2版」 山下哲典、2012
この本は良書です。この本によると、

1行ずつのループ処理で、5千行までなら、whileを使う
(forは遅いので、なるべくなら使わない)
2万行以上なら、sed、awk、perl、を使う

10万行のループ処理にかかる時間は、whileは5秒、forは9分
それらを、awkとperlに書き直せば、0.1秒と載っています
0042login:Penguin
垢版 |
2013/07/08(月) NY:AN:NY.ANID:xOo+wFZv
使うシェルにもよるんじゃないの?
まさかスクリプトにbash使ってる馬鹿は居ないよな?
0043login:Penguin
垢版 |
2013/07/08(月) NY:AN:NY.ANID:simrwVhJ
ところが結構見るんだよな。
配列とか独自機能を使うためにbash指定してる模様。

まあtcshとか指定されるよりはマシかと諦めてる。
0044login:Penguin
垢版 |
2013/07/09(火) NY:AN:NY.ANID:kl19vrAF
>>42
なんで bash でスクリプト書くと馬鹿なの?
0045login:Penguin
垢版 |
2013/07/09(火) NY:AN:NY.ANID:6tIsxri7
Linux、Mac OSだとシステムのデフォルトがbashだからそれほど拒否感ないけどな。
ただ「#/bin/sh」と書いておきながらbash依存な書き方するのはなんだかなぁという気もする。
まぁ、「こまけぇことはry」だな。
0046login:Penguin
垢版 |
2013/07/09(火) NY:AN:NY.ANID:kl19vrAF
たしかに「!」を抜くのはいかんよな。
0047login:Penguin
垢版 |
2013/07/09(火) NY:AN:NY.ANID:hMsYxxgU
さすがLinux ユーザーびっくりですね。www
0048login:Penguin
垢版 |
2013/07/09(火) NY:AN:NY.ANID:CYkoBuDH
#!/bin/zsh
よりはまし
0049login:Penguin
垢版 |
2013/07/09(火) NY:AN:NY.ANID:s9pguw2L
>>44
man bash 嫁

bash自身がバグとして、巨大過ぎる・重過ぎる、だからスクリプトに使うな、
って書いてあったりする。
しかしLinuxだと、bashばっかで本物のshが入ってないディス鳥多いしな。
0050login:Penguin
垢版 |
2013/07/10(水) NY:AN:NY.ANID:67RtiEu2
そもそも本物のshって何だろう。v6あたりのbourne shellだろうか。
あんまり古い/bin/shだとPOSIX非互換だったりして、それはそれで
辛いよ。
0051login:Penguin
垢版 |
2013/07/10(水) NY:AN:NY.ANID:NtvrLfBy
そんなあなたにdash!
0052login:Penguin
垢版 |
2013/07/10(水) NY:AN:NY.ANID:7mqEHmsX
そんなあなたは ash
0054login:Penguin
垢版 |
2013/07/10(水) NY:AN:NY.ANID:NtvrLfBy
俺こそが本流: ksh # mksh愛用中
0055login:Penguin
垢版 |
2013/07/10(水) NY:AN:NY.ANID:NtvrLfBy
一度でいいからwindowing kshを使ってみたかった…
0056login:Penguin
垢版 |
2013/07/11(木) NY:AN:NY.ANID:6UhrdhLn
>49
普通の鳥に入ってると言えばBusyboxの中の人じゃね?
アレはshに近いんだっけ?
0057login:Penguin
垢版 |
2013/07/13(土) NY:AN:NY.ANID:DCBCk3/h!
>>44
本人じゃないから想像だが、
bashがUNIX非標準の独自シェルだから、使われると動かないUNIX系OSが出てくるからじゃないかな。
UNIXの標準シェルはkshだが、Linuxには本物のkshはない。
kshクローンはLinuxにもあるけど本物のkshとの互換性が問題になるし、
Linuxやcygwinなどにはデフォルトではインストールされていないことが多い。
UNIXとUNIXクローンのOS間での互換を考えると、shの構文に収めないといけない。
0058login:Penguin
垢版 |
2013/07/13(土) NY:AN:NY.ANID:GQROfqv5
>>42
cshならええ?
最近使わないから忘れそうだけど
0059login:Penguin
垢版 |
2013/07/13(土) NY:AN:NY.ANID:A816gYp3
>>49
今どきのマシンなら bash が重くて困る状況減ってるんじゃないの。
0060login:Penguin
垢版 |
2013/07/13(土) NY:AN:NY.ANID:A816gYp3
>>57
いろんな環境で動かすスクリプトだと問題かもね。
bash あること前提の環境でしか動かさないなら問題ない。
0061login:Penguin
垢版 |
2013/07/13(土) NY:AN:NY.ANID:ACoQV1fZ
TVやプリンタ等の「組込み」で使うには、bashは論外。
ashだな。>>52
0062login:Penguin
垢版 |
2013/07/17(水) NY:AN:NY.ANID:7bkubF6A
>>57
>UNIXの標準シェルはkshだが、Linuxには本物のkshはない。
>kshクローンはLinuxにもあるけど本物のkshとの互換性が問題になるし、

sysv系はたしかにkshだが、unixの標準シェルがkshというのは違うような。
# posix shellの元になったという意味では標準に近いけど、ksh==posix shではないし。

昔はkshのソースは公開されてなかったのでクローンを使うしかなかったけど、
今はオープンソースなので、linuxでも使おうと思えば本物のkshがふつーに使える。
0064login:Penguin
垢版 |
2013/07/18(木) NY:AN:NY.ANID:jv09xmD0
日経Linux 8月号に、
Pythonで書かれた、MITライセンスの、
企業向け、データ操作用のコマンド、「Open usp Tukubai」と、
その商用版「usp Tukubai」の特集が載っている
0065login:Penguin
垢版 |
2013/07/27(土) NY:AN:NY.ANID:tGPxpGZ9
ハンズラボがユニケージで内製しているという記事を見たので、
ユニケージ原論を買って読んだのだが、酷いなこれ
まるでカルト宗教だ
適用案件では常にお客さんと大ゲンカになっているらしいし

そもそも、ひたすら「シェルスクリプトは素人でもすぐに覚えられる」を繰り返してるけど
もうこの時点でウソじゃん

シェルスクリプトはソースがわかりやすいだと?
ワンライナーの呪文の列挙になってるじゃん

件の本には実際の業務画面のサンプルが一つも載ってないんだけど、
画面はどうやって対応してんだこれ
0066login:Penguin
垢版 |
2013/07/27(土) NY:AN:NY.ANID:JhVc9TNI
プログラム言語を普通に使える普通のプログラマだが、
それでもシェルスクリプトでプログラミングはしたくない。

バッドノウハウの固まりっていうか
意外な方法で、やりたいことを実現するという
コードの集まり。

数値計算にしろ文字列演算にしろ
数値比較にしろ
0067login:Penguin
垢版 |
2013/07/29(月) NY:AN:NY.ANID:SZz7sXf3
>>65
> ハンズラボがユニケージで内製しているという記事を見たので、
> ユニケージ原論を買って読んだのだが、酷いなこれ
> まるでカルト宗教だ
> 適用案件では常にお客さんと大ゲンカになっているらしいし
常に大喧嘩のソースは?
まさかユニケージ言論を読むと書いてあるの?www
0068login:Penguin
垢版 |
2013/07/29(月) NY:AN:NY.ANID:Aioac22I!
>>62
UNIXはUNIXのライセンスを持っているOSのことをいい、
POSIX準拠のOSのことをいうのではない。
そして、kshはUNIXのライセンスを持っていないUNIXライクOSでは通常使えるようになっていない。
0069login:Penguin
垢版 |
2013/07/30(火) NY:AN:NY.ANID:COLCST91
技術者はUNIXの精神を愛してるのであってUNIXを愛してる訳ではない
0070login:Penguin
垢版 |
2013/07/31(水) NY:AN:NY.ANID:me7lCyHh
>>68
unix認証を受けてるIBMのz/OSはkshではなくて独自実装のshを使っているらしいよ。
触ったことないので伝聞だが。
単に/bin/shとして使っていないSUS認定UNIX、という程度ならMacOSXもそう。
/bin/kshとしてインストールされているので使おうと思えば使えるが、
標準シェルではない。

ということで、正規にunixを名乗ることを許されたものでも標準シェルがkshとは限らん。

逆に、そうでないOSでもベンダーがクローンではなくAT&T由来の本物のkshを
提供している例は腐るほどある。WindowsですらMicrosoft純正のkshバイナリが存在する。
標準シェル(/bin/sh)として使ってる例はさすがに知らんけど。
# OpenBSDの/bin/shはkshクローン。
0071login:Penguin
垢版 |
2013/07/31(水) NY:AN:NY.ANID:HcSnofK9!
>>70
Microsoft Windowsの標準シェルはcmd.exeで、kshは付いてこないよね。
標準シェルの捉え方が私と違っている。
私はshの呼び出し先の本体が標準シェルといっているわけではなく、
各UNIXにデフォルトでインストールされているシェルのうち最も高機能なシェルのことを言っている。
ライセンスを持っていないUNIXライクOSで、なんらかの手段を使えばkshも使えるという話は標準シェルの話題としては無意味。
デフォルトで入っているシェルの話をしているのだから。
なんらかの手段を講じないと使えないのは標準ではないからね。
本物のkshの話をしているのでkshクローンの話も意味がない。
今はどうか知らないが、昔、Linux上のpdksh(kshクローンのひとつ)でksh用のスクリプトを動かそうとしたが全然動かなかった。
とりあえず、正規UNIXではデフォルトでkshが入っていて、ライセンスのないUNIXライクOSはデフォルトでkshが入っていないのが普通なのではないだろうか。
そして、ライセンスのないUNIXライクOSは入れたくてもOS側がサポートしていないことが多いよね。
ソース入手してコンパイルしろとか、OS非サポートの野良ビルド使えとか、商用ソフトを買えとか、そんな状況のシェルで開発するのは問題があるだろう。
この話の発端は、bashがだめという意見が出たことだが、
今は正規UNIXよりUNIXライクOSのほうが主流だからbashでいいと思うけどね。
あえてbashがだめな理由を考えると、正規UNIXはkshがインストールされていてもbashがなかったりすることだという話。
それもbashの野良ビルドをインストールすればいいのかも知れないけど、しないですむならそれに越したことはないよね。
0072login:Penguin
垢版 |
2013/11/29(金) 12:36:43.38ID:+wvTevIP
フレームワークもなしに大規模アプリとか馬鹿じゃねえか?
0073login:Penguin
垢版 |
2014/07/07(月) 05:52:29.66ID:9z1v/iFu
こんなスレがあったなあと思い出して貼りにきた

フルスクラッチから1日でCMSを作る シェルスクリプト高速開発手法入門 [大型本]
http://www.amazon.co.jp/dp/4048660683/
0074login:Penguin
垢版 |
2014/10/24(金) 04:19:35.38ID:Ftkfu1QS
シェルは文法がこなれていない。
本来ファイルをフィルタに掛けるような用法を主眼にしてるから
そこだけ一点豪華になってて、汎用性に欠けるのでは。
0075login:Penguin
垢版 |
2014/12/25(木) 02:08:04.34ID:I0eahb8K
とりあえず日本語エディタとか作ってみてよ。
0076login:Penguin
垢版 |
2014/12/28(日) 02:04:22.27ID:Yz7RpufE
>>73
著者のUSP研究所の上田隆一って、
雑誌 Software Design でよく記事を書いている人だね

漏れはプログラマーだから、この人の記事はよく読む
0077login:Penguin
垢版 |
2014/12/30(火) 14:05:59.39ID:mas9TROk
#!/bin/sh
# nihongo editor
cat > $1
0078login:Penguin
垢版 |
2015/01/21(水) 16:24:56.87ID:leqoSvrr
システムをファイルを分けて書くときに、ファイルをまたぐ参照とか呼び出し
とかのオーバーヘッドが大きそうだな。すれにスクリプトやインタプリター
言語は、実行時になって始めてわかるエラーがコンパイラ言語に比べて
多くなるだろ。たとえば未定義変数とか、引数の不整合とか、型の不一致とか、
未定義関数とかの。コンパイラ言語だと、滅多通らない処理の箇所でも、一応
全部の可能性ある処理の経路にそって、参照関係とか定義未定義のチェックは
コンパイル時にできているわけで、もちろんファイルを分割したら、リンク時
まで参照の解決が終わらないけれども。実行前にある程度多くの検査ができて
いることになるから。
0079login:Penguin
垢版 |
2016/01/17(日) 07:54:15.44ID:sk+MoVt2
シェルはカーネルにアクセスするから、あんまり自由にできないほうが安全なんじゃないの?
強力なプログラムが組める自由が増すとそれだけカーネルの安全性が損なわれるんじゃ?
0080login:Penguin
垢版 |
2016/01/17(日) 12:45:05.66ID:20Svx1kT
>>79
> シェルはカーネルにアクセスするから
どういうこと?
0081login:Penguin
垢版 |
2016/01/20(水) 17:17:11.66ID:/OBQdtaj
ぶっちゃけシェルは文法がアレだよな
パイプでデータフローってのは便利だから
そっち方面でイカす言語あれば良いんだけど

まあでも開発すんのも面倒だからコーディング規約決めてシェルで書こうか
みたいなループ
0082login:Penguin
垢版 |
2016/01/20(水) 18:23:28.17ID:9nYc5AiW
>>79
シェル以外はカーネルにアクセスしないのか?
0083login:Penguin
垢版 |
2016/01/20(水) 18:57:29.50ID:JEazYWD3
小規模アプリが作れないから大規模アプリが作れないんだと思うよ。
前のレスでも誰かが言っているけど、テキストエディタとか作ってみたらいいいんじゃない?
ブロック崩しゲームとか、小規模アプリをいくつか作ってみてよ。

それらが作れないなら大規模以前の問題じゃないかな。
元々アプリケーションを作るためのプログラミング言語として作られたものじゃないから
プログラミング言語としてできることは大幅に限られているよね。
まあ、このスレは元々ネタなんだよ。
0084login:Penguin
垢版 |
2017/06/30(金) 01:20:41.50ID:sFKxRYwA
上の方で誰かが言ってた日本語エディタだが,
冗談じゃなく真面目に,shell でインプットメソッドくらいは書けそう。

# 但し tcsh
0085login:Penguin
垢版 |
2017/12/29(金) 16:09:34.91ID:S/CsVkMC
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

K1UMX6SRHH
0086login:Penguin
垢版 |
2018/05/12(土) 07:42:03.73ID:0WzDpq9K
スクリプト言語でもって、OSの上で動くような(スクリプト言語でかかれた)OSを
書くことができれば、そのOSはマシンの機種やCPUの命令体系の違いを越えて
ネットワーク越しに流れていきながら場末のOSの上で動作することができるな。
0087login:Penguin
垢版 |
2018/05/22(火) 07:07:44.65ID:Czl6p0FW
僕の知り合いの知り合いができた副業情報ドットコム
関心がある人だけ見てください。
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

DWJSW
■ このスレッドは過去ログ倉庫に格納されています

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