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

このエントリーをはてなブックマークに追加
1login:Penguin
シェルスクリプト言語が強力であれば、
大規模アプリが作れるはず。

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

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

#↓削除依頼出してねって書き込まれるに1ペリカ
3login:Penguin:2013/05/27(月) 01:07:44.71 ID:/2IHSklF
ユニケージは?
4login:Penguin:2013/05/27(月) 08:12:04.51 ID:IY/VvTsH
>>3 で終了
5login:Penguin:2013/05/27(月) 10:40:14.46 ID:pCdsHKDN
シェルスクリプトだけだと、どうしても外部コマンドに頼る場面が
でてくるから、そこでのfork&execのコストがどうしても高くつく。
6login:Penguin:2013/05/27(月) 16:36:55.39 ID:5tsdSULQ
保守性が糞悪い
vbスクリプト技術者なら安い賃金で調達可能

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

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

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

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

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

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

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

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

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

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

色々ダメダメだな。
18 忍法帖【Lv=40,xxxPT】(1+0:8) :2013/05/30(木) 16:29:07.36 ID:jx/FwRPP!
あ、でも
19login:Penguin:2013/05/30(木) 19:09:59.32 ID:YV0NOz8Z
頼むから続き書いてくれ
おもんなくてもいいしなんなら金払ってもいい
20login:Penguin:2013/05/30(木) 22:27:21.61 ID:yueoIWaN
ユニケージ開発が怪しいのは
英語版Wikipediaに存在しないから。

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


依存関係ややこしくて死ねるけどw
39login:Penguin:2013/06/09(日) 12:05:08.91 ID:Yfld53CJ
>>28
Open usp Tukubaiが公開されてるじゃん
https://github.com/usp-engineers-community/Open-usp-Tukubai/
40login:Penguin:2013/06/15(土) 05:01:50.06 ID:IKtjCUdq
細かいコマンドはCで書いて
あとはシェルスクリプトで・・・・って普通だな
41login:Penguin:2013/07/08(月) NY:AN:NY.AN ID:Z3aKS/Zk
「UNIX シェルスクリプト・コマンドブック 第2版」 山下哲典、2012
この本は良書です。この本によると、

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

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

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

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

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

昔はkshのソースは公開されてなかったのでクローンを使うしかなかったけど、
今はオープンソースなので、linuxでも使おうと思えば本物のkshがふつーに使える。
63login:Penguin:2013/07/17(水) NY:AN:NY.AN ID:pxrX9uh0
>>62
ksh はこれに入ってるね。
http://www2.research.att.com/~gsf/download/

Debian とかだとパッケージもある。
http://packages.debian.org/ksh
64login:Penguin:2013/07/18(木) NY:AN:NY.AN ID:jv09xmD0
日経Linux 8月号に、
Pythonで書かれた、MITライセンスの、
企業向け、データ操作用のコマンド、「Open usp Tukubai」と、
その商用版「usp Tukubai」の特集が載っている
65login:Penguin:2013/07/27(土) NY:AN:NY.AN ID:tGPxpGZ9
ハンズラボがユニケージで内製しているという記事を見たので、
ユニケージ原論を買って読んだのだが、酷いなこれ
まるでカルト宗教だ
適用案件では常にお客さんと大ゲンカになっているらしいし

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

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

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

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

数値計算にしろ文字列演算にしろ
数値比較にしろ
67login:Penguin:2013/07/29(月) NY:AN:NY.AN ID:SZz7sXf3
>>65
> ハンズラボがユニケージで内製しているという記事を見たので、
> ユニケージ原論を買って読んだのだが、酷いなこれ
> まるでカルト宗教だ
> 適用案件では常にお客さんと大ゲンカになっているらしいし
常に大喧嘩のソースは?
まさかユニケージ言論を読むと書いてあるの?www
68login:Penguin:2013/07/29(月) NY:AN:NY.AN ID:Aioac22I!
>>62
UNIXはUNIXのライセンスを持っているOSのことをいい、
POSIX準拠のOSのことをいうのではない。
そして、kshはUNIXのライセンスを持っていないUNIXライクOSでは通常使えるようになっていない。
69login:Penguin:2013/07/30(火) NY:AN:NY.AN ID:COLCST91
技術者はUNIXの精神を愛してるのであってUNIXを愛してる訳ではない
70login:Penguin:2013/07/31(水) NY:AN:NY.AN ID: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クローン。
71login:Penguin:2013/07/31(水) NY:AN:NY.AN ID: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の野良ビルドをインストールすればいいのかも知れないけど、しないですむならそれに越したことはないよね。
72login:Penguin:2013/11/29(金) 12:36:43.38 ID:+wvTevIP
フレームワークもなしに大規模アプリとか馬鹿じゃねえか?
73login:Penguin:2014/07/07(月) 05:52:29.66 ID:9z1v/iFu
こんなスレがあったなあと思い出して貼りにきた

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

漏れはプログラマーだから、この人の記事はよく読む
77login:Penguin:2014/12/30(火) 14:05:59.39 ID:mas9TROk
#!/bin/sh
# nihongo editor
cat > $1
78login:Penguin
システムをファイルを分けて書くときに、ファイルをまたぐ参照とか呼び出し
とかのオーバーヘッドが大きそうだな。すれにスクリプトやインタプリター
言語は、実行時になって始めてわかるエラーがコンパイラ言語に比べて
多くなるだろ。たとえば未定義変数とか、引数の不整合とか、型の不一致とか、
未定義関数とかの。コンパイラ言語だと、滅多通らない処理の箇所でも、一応
全部の可能性ある処理の経路にそって、参照関係とか定義未定義のチェックは
コンパイル時にできているわけで、もちろんファイルを分割したら、リンク時
まで参照の解決が終わらないけれども。実行前にある程度多くの検査ができて
いることになるから。