« ショッカー | トップページ | さて、本当のところはどうなんでしょうか。 »

プログラムを組みたい?

日常的にPCなんぞを使ってると、まあ、ルーチン以外の作業が発生したときに、こうなんというか、痒いところに手が届かない、なんてこともあります。
そんな場合に、プログラムを組めれば、なんて思うことがあるのかも知れませんが。

PCを使うことの目的がプログラム言語の学習、という場合を除いて、「自前でプログラムを組む」ことは、「PCを使う」ことからは、かなり逸脱した行為である、と考えた方がいいと思うんですよね。
まあ、これはWindowsでもLinuxでも一緒で。

例えば、シェルスクリプトなんかも立派なプログラムですが、これはコマンドの知識がないと扱えませんし、まあ、それなりに貧相な言語なので、結構解りにくい。
シェルスクリプトを自由に扱えるようになれば、それはそれでシェルプログラマと言っても差し支えないくらいの内容を持つものでもあります。
じゃあ、そこから入門すればいいの?なんてことも考える方がおられるかも知れませんが。
実は、シェルスクリプトの文法ってかなりひとに優しくないので、お手軽ではありますが、入門にはどうかな、と思ったりもします。(笑)
#これ、真面目にきちんと使えると、かなり高度なことまで出来るので、その気があるなら、ぜひ習得しといた方がいいくらいのものなんですが。

話が逸れましたが。
#例によってな。(笑)

なんつぅか、こう、自分にぴったりなプログラムって、そう多くないので、ある意味、我慢して使う必要は常にあると思うんです。
で、その我慢の原因が、本当に使ってるプログラムなのか、OSあるいは、システムの制約から来るものかどうかの判断って、普通はつかないじゃないですか。
で、頑張ってプログラム組んでも、結局は解消されない、なんてこともあるわけです。
それなら、そういう頑張りをするよりも、「複数のプログラムを組み合わせ使う」とか、「使い方の工夫」をした方がいいと思うんですよね。
まあ、自前で作るオーダーメイドのプログラムってのも素敵なのかも知れませんが、本職の作るものから比較して、みすぼらしくなることも多い訳で。(笑)

世の中を見渡せば、大量のアプリケーションがありますので、「よし、プログラムを組もう!」なんて思うよりも先に、「何をしたいんだっっけ?」という目的を整理して、その上で、「工夫」をする方が、なんとなく、ですが、プログラムを組めるようになるよりも「PCを使う」上では生産的ではないかな、と思ったりしました。

Linuxとか、比較的プログラムを学習する環境が整いやすく、まあ、そういう風にも言われているので、プログラムを組んでみたい、なんて思うひとも多いのかも知れませんが、組むとなると、それなりにエネルギーが必要になるので、それこそ、「気楽に組める」ようなものじゃない場合が多いと思いますよ。
最終的に目的に到達するまで、何日もかかるなんてのは普通ですしね。
#あんな単機能の「みくつべ♪」ですら、それなりに動くようになるまで、延べで10日以上かかってるし。

そんでも。
自分のルーチンを少しでも手早く終わらせたい、ってことなら、Linuxの場合は、やっぱりシェルスクリプトを覚えて、コマンドを使えるようにするのが最強な気がしますけどね。

なんとなく、みなさんのご意見を伺いたいところではありますな。(笑)

ワタクシ、ある程度のプログラムは組めますし、必要であれば作成しているわけですが、それでも年に1~2本です。面倒なのと、探すと大抵、それらしいのがある場合が多いのと、大抵の処理はコマンド組み合わせてシェルスクリプトで足りてしまう、ことが多いから、ですけどね。
スキルとして、プログラミングってのは、普通に「PCを使う」上では、あまり役に立つもんでもありません。(爆)

まあ、趣味として学ぶなら、それなりに面白いですし、ある意味、実益がないでもないですし、止めませんが。
それができるようになったから、バラ色のPCライフが待っているか、というとそうでもないですよ、って話です。

|

« ショッカー | トップページ | さて、本当のところはどうなんでしょうか。 »

Ubuntu」カテゴリの記事

パソコン・インターネット」カテゴリの記事

日記・コラム・つぶやき」カテゴリの記事

コメント

プログラミングのできない私の「たわごと」ですが。
私としては、この辺
http://japan.zdnet.com/news/ir/story/0,2000056187,20406673,00.htm
の、
 > 「仕事の方法論などを提案している専門家が、本を通じて
 > 発表するだけではなく、エンジニアに頼まなくてもプログ
 > ラムを作って公開できるような開発環境を提供したい」と
 > 語る。「一般の人がやりたいことをプログラマーに伝えて
 > プログラムを作ってもらっても、『ちょっと違う』と感じ
 > る。仕様を書けばそのままプログラムとして動くようなコ
 > ンポーネント(ソフト部品)を用意したい」
なんてのに淡い期待を抱いたりするんですが。
そういう甘いもんじゃないんですかね。

投稿: 松本 | 2010年1月17日 (日) 22時08分

さて、どんなものを考えているのか解らないのでアレですが。
将来的には可能になるのかも知れません。
リッチな部品を用意して、それをブロックのごとくGUIで組み合わせると、意図通りのものが作成可能、てな感じのモノを考えているかも知れませんが。
これまでも、そんな試みは多く、まだ発展途上でしょうね。100年後のユーザーにってことならあり得るかも知れませんが。(笑)
#そこまで行かずとも10年後には、とかね。

今のレベルで仕様書を書くのも大変だと思うんです。
なので、実際には実現は「今は」無理でしょ、と思う。

まあ、これは「アプリケーションを組み合わせて意図した結果を得る」ことを部品単位で可能にしようという試みだと思うので、非現実的、とまではいいませんけど。
その場合でも、「部品レベル」での動作を理解しないとなりませんし、プログラム言語が変わる、程度の意味合いでしかないような気がしますね。

とはいえ、このような「意図したことを実現するための仕組み」の敷居を下げる試みは評価できると思いますので、ぜひとも実現して欲しいものです。

普通に「理解可能な人間」同士でも、「意図を正確に理解する」ことは困難なのに、仕様書ひとつで、「なにも考えてくれないコンピューター」に意図を伝えるのは難しいと思いますよ。

投稿: かおりん | 2010年1月17日 (日) 23時07分

まあ、パーツ組み合わせてどうの、ってのは失敗してますからね。
いにしえの「Σ計画」ってのがまさにそれだったんで。
ワークフレームならまだしも、汎用で、ってのはなかなか難しいとは思います。

投稿: cametan | 2010年1月18日 (月) 01時21分

実際、難しいでしょうね。とはいえ、努力しなくてもいつまでも出来ないので、がんばって欲しいな、と。

投稿: かおりん | 2010年1月18日 (月) 14時14分

仕様書って、specificationですよね。つまり、「詳しく書いたもの」で(特許方面じゃ明細書ともいいますが)、機械と人間の双方が理解できるように詳しく書くこと自体は、双方が歩み寄ればできないことではないだろうと思うんですね。ただ、現在のところ、だいぶ人間の方が歩み寄らなければいけなくて、それがプログラミングってことじゃないのかと、勝手に想像してるわけです。だいぶはずしてます?

投稿: 松本 | 2010年1月18日 (月) 19時49分

まあ、仕様書の解釈は間違ってないです。
仕様書そのものは、機械に解るように書かれてるものは少ないかなぁ。
「プログラムを組む人が解る」ように書かれている場合が圧倒的に多くて。
逆に、機械に解りそうなレベルで書いてしまうと、細かすぎて、人が解らないという。
なので、「リッチな部品」を作ればあるいは、ってのはそういうところなんですけどね。
そんでも、日本語で書かれていると、「解釈」される部分があったりして、あんまし厳密でなかったりします。
そういう部分が、バグの原因になったりするわけですが。(笑)
まあ、難しいと思いますよ。

投稿: かおりん | 2010年1月18日 (月) 20時09分

僕は基本的に
>「複数のプログラムを組み合わせ使う」とか、「使い方の工夫」をした方がいいと思う
まさにこういう使い方ばっかりしてきたんですが。

あ、このアプリにこの機能があったらなぁ、とか、ここさえなんとかなればなぁ、なんて思ったときに、どこか他のアプリの該当個所をパクってきてちょっと修正して・・・くらいができるといいなぁ、と思う程度でして。
実際、プログラミングに限らずですが、0から始めようとしても何から手をつけてよいのかわからないので(趣味としてでも)、結局「既存のものの流用」しながら覚えてきたんですよね。(なのでえらく中途半端な知識や自己流が多かったりw
でもせめて一部なりともコード読むくらいはできると広がるかなぁ・・・などと思っております。

まずは簡単なシェルスクリプトから・・・かな?

投稿: tmin | 2010年1月18日 (月) 22時41分

ん〜、出来るようになりたいひとの意欲を削ぐつもりはないんですけどね。
結構、「この部分を持ってきて」とか、簡単ではない場合が多いんですよ。
#そもそも言語が違ったりな。
言語間を越えて、ロジックの移植が可能なレベルなら、それもアリなんですが、結構、道は険しいと思いますよ。

シェルスクリプトは、それなりに高い山ですが、極めるとこまで行かなくとも、裾野は広いわけで、ぜひともチャレンジして欲しいところではあります。
個々のコマンドの機能を把握できれば、「そもそもこのコマンドって裏でなにやってるの?」の仕組みに目を向けることもできるわけで、そこまで行けば、案外プログラミングも、そう険しい山ではなくなってる場合もあると思います。

ポイントは、「このプログラムは、どのような仕組みで機能を実現しているのか」の理解がないまま、プログラムは組めない、ってことです。
0から作るプログラマなんて、極少数です。大多数は既存のライブラリを組み合わせて機能を実現しています。それが見えてないまま実装を行おうとするから、山ほどの知識が必要になるので。
「このライブラリで実現されるのはコレ」ってのが見えてれば、C言語もシェルも、そもそもの考え方は大差ないんですよね。

興味があるなら、pythonかrubyに挑戦してみては?

投稿: かおりん | 2010年1月19日 (火) 00時14分

どうも眠い人です

オリジナルの処理をするなら、シェルスクリプトよりRubyとかのがいじりやすいですよね
でもアレとアレを組み合わせたい、両方使うのが面倒だから一気に使えるようにしたい、そうなるとシェルスクリプトの方が扱いやすいですよね
そういう意味では、シェルスクリプトから入るってのはいい考えですねー

# そういうわたしは、ひまわりから入りましたw

投稿: (っд-) | 2010年1月21日 (木) 21時56分

ひまわりってなんですかね。(^^;

投稿: かおりん | 2010年1月21日 (木) 22時49分

http://kujirahand.com/himawari/
これです

マニュアルもおもしろくてよかったです
後続のなでしこは真面目なマニュアルになっちゃいましたけどねw

投稿: (っд-) | 2010年1月22日 (金) 19時56分

日本語で記述するプログラム言語ですか。桐を思い出しました。(笑)
結構日本語Mindとか、日本語で記述できる言語は昔からありましたけど、逆にIMEで入力しなければならないとか、ファイル名とかが半角なのに、とかあったりして、結局廃れてしまった記憶があります。
これは大丈夫なんですかね。

ワタクシ的には、「アルファベットだからプログラムがかけない」わけじゃないと思うんですが。
まあ、アプローチとしてはアリかも知れません。(^^;

投稿: かおりん | 2010年1月23日 (土) 03時58分

なにかしたい→使えそうなソフトがないか探す→あればそれでOK、なければ作る
ゲームじゃない方向での趣味グラムってこんなもんだと思う
「単機能だけで自分は済むんだよ!」てな理由でおなじようなのをあえて組むこともあるが

投稿: YSR | 2012年8月 3日 (金) 01時31分

なければ作る、の精神は、「PCを使う」の精神からは外れてるように思うんですよね。
まあ、趣味のプログラム、って話なら、ぴったりなものがないなら作ればいいじゃない、ってことにはなるんですが。
それも、プログラミングがある程度出来る前提での話だし。

プログラム言語が多様化して、入門に向いた言語なんかもでてきてるとは思いますが、まだ、プログラミングの敷居は高いですよね。
考え方とか。
この辺、解消できればいいよなーと常々思ってたりしますが。

投稿: かおりん | 2012年8月 3日 (金) 02時12分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/500703/47321420

この記事へのトラックバック一覧です: プログラムを組みたい?:

« ショッカー | トップページ | さて、本当のところはどうなんでしょうか。 »