トップページ⇒tech
1001コメント292KB

【Perl,PHP】LLバトルロワイヤル4【Ruby,Python】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2009/02/15(日) 03:18:33
最強のLL=軽量プログラム言語は、どれよ?

エントリーは、
Perl、PHP、Python、Ruby、JavaScript・・・
さあ、死ぬまで語りやがれ!!!
0243デフォルトの名無しさん2009/02/21(土) 23:47:09
javascriptは、さっさと規格を統一すべき
IEで見れたバス時刻表のサイトがFirefoxからは見れないって、どういうこった
規格化されない限りでは、JavaScriptには先がないな
0244デフォルトの名無しさん2009/02/22(日) 00:11:18
ライブラリ使えば?
0245デフォルトの名無しさん2009/02/22(日) 00:16:49
>>242
たとえば、emacsの中bノlispが入ってb「たり、
ャuラウザの中にjavascriptが入っていたりするけど、
アプリ毎に別の言語を作るのは無駄だから、
pythonやrubyをそういう所で使えば一番いいんだけど、
どうも使いにくいらしい。よく知らないけど。
で、javascriptなら実績あるしいいんじゃないかって話。
0246デフォルトの名無しさん2009/02/22(日) 00:21:46
>>240
強い型としてのクラスなどなくても問題ないからその点は気にならないが、
for .. inに与えたものが適切なaggregateでないかもしれない、という恐怖に打ち勝つのはなかなか難しい。
Luaも似た実装だけど、この辺はどうやって解決してるん?
0247デフォルトの名無しさん2009/02/22(日) 00:49:02
>>243
言語仕様はECMAScriptとして規格化されている。
「IEで見れたバス時刻表のサイトがFirefoxからは見れない」
というのはブラウザという実行環境による違いだよ。
ここもDOMという規格化はされているが、
それを超えた部分がブラウザごとに異なってくる。

クロスブラウザで統一させるには Java のようにコアライブラリや実行環境も含めて規格化しないと無理だね。
0248デフォルトの名無しさん2009/02/22(日) 01:52:55
>>245
なるほど
組み込み用言語のお話でしたか
javascriptは何となくデファクトスタンダードっぽいってこと以上に組み込みの実績もあるってこと・・・かな?

言語体系や細かいシンタックス等の面ではどうなんだろ
恥ずかしながら今日初めてJavaScriptのそれっぽいリファレンスを入手した。ちょっと読んでみる
ttp://d.hatena.ne.jp/koseki2/20080312/jsref
0249デフォルトの名無しさん2009/02/22(日) 06:56:11
thisやselfに相当するものは、ここのスレタイの言語は全部備えてると思うが…
0250デフォルトの名無しさん2009/02/22(日) 07:26:50
JavaScript は this の中身がちょこちょこかわるのがなあ
0251デフォルトの名無しさん2009/02/22(日) 08:51:49
>>249
ttp://d.hatena.ne.jp/brazil/20051028/1130468761
とか
ttp://d.hatena.ne.jp/tanakahisateru/20081115/1226690680
とか
0252デフォルトの名無しさん2009/02/22(日) 09:33:53
>250-251
理解。確かにthisの扱いが違うことは意識せなならんね。
あとselfの他にも、JSは頻出パターンの多い言語だとは思う。
専用の構文を使わずに、既存の要素で色々やることになるし。

ただ俺はPythonの関数もどうかと思うんだよな…。
インスタンスとバインドされた関数(いわばメソッドのようなもの)と
バインドされてない関数が、表記に反して微妙に違うのがなんとも。

まあ、どの言語もやっぱり幾つかの問題はあるか。
0253デフォルトの名無しさん2009/02/22(日) 11:12:38
俺の主観による事前の評判と感想:

- Perl - 汚いと評判で、実際に汚いがそれ以上に馬力があって便利
-- ソースはCobolを見るような気分になってきたが、仕事をやっつけるときに頼れる相棒
- Python - シンプルと評判だったが、#$%&の代わりに__XXX__乱舞でエエェー、クラスの実装でなめるなって感じ。馬力はOK
-- なんか不自然さとか後付感をPerl並に感じるが、パワーはあるので頼れる
- Ruby - 簡潔でエレガントと評判で、これは評判違わずだが馬力がいまいち
-- 簡潔かつ強力だが、馬力の凹凸がまだ激しく自分で結構補う覚悟がいる
- PHP - 言語以前という評判で、実際にも謎仕様多数だが、標準的構成で使える関数が充実+軽い
-- ウェブに超便利。ウェブ以外で使う奴は頭がおかしい

馬力ってのはライブラリの種類とか充実度とかパッケージ配布機構とか
全部含めた言語仕様の外側まで含めた仕事遂行能力のことね。

今はRubyメインPerl/PythonサブでWebだけたまにPHP使用の俺が書いてみる。
0254デフォルトの名無しさん2009/02/22(日) 11:14:03
>>228
えー Perl を日本語でたとえると
あー なんというか んー こういうもどかしさを
んー 随所に感じるというか
あー うざいよね
0255デフォルトの名無しさん2009/02/22(日) 11:27:49
>>254
Perl: 絵文字多数で読みにくい
Python: 妙に句読点とか三点リーダ(…)が多い
Ruby: 漢字が足りない
PHP: 文章になってない
0256デフォルトの名無しさん2009/02/22(日) 11:56:58
ブラウザの組み込みでPHPっていうのがないかな
javascriptってChromでデバッグできる?
0257デフォルトの名無しさん2009/02/22(日) 11:59:49
>Ruby: 漢字が足りない
わろs
0258デフォルトの名無しさん2009/02/22(日) 12:48:59
>>253
>ウェブ以外で使う奴は頭がおかしい

バッチで超便利ですが(;´Д`)
0259デフォルトの名無しさん2009/02/22(日) 12:53:08
>258
どんなバッチで使ってる?
0260デフォルトの名無しさん2009/02/22(日) 13:20:49
>>259
DBから条件を抽出して、ファイルをゴニョゴニョするようなもの
別にPHPじゃなくても良いんだけど、他のライブラリ(Pear、CPAN)とか入れる手間が
他のものより比較的少ない分、他人に依頼しやすい。
0261258=2602009/02/22(日) 13:27:51
言葉足りないから補足

>他人に依頼しやすい。

他人に設定・設置を依頼しやすいってことです。
0262デフォルトの名無しさん2009/02/23(月) 10:10:31
JavaScriptでsprintfが無いのは、何か理由があるの?
スクリプト言語で文字列処理が面倒くさいってのは結構致命的だと思うんだが

大概ソースが汚く、というか読む気をなくさせるのは文字列連結がごちゃごちゃしてる部分だと思うんだ
さらに文字列内での変数展開もないときたら、これはなにかポリシーなのかとも思ってしまうけど、
規格に入らない理由とかあるのかな
0263デフォルトの名無しさん2009/02/23(月) 10:34:18
>262
確かに何でだろうな。
数が少なきゃ、フォーマット文字列.replace()で何とかなるけど、ちと限界あるし。
0264デフォルトの名無しさん2009/02/23(月) 18:39:53
javascript + PHPがおすすめ。
PHPはRubyかPythonに置き換えてもいい。

jsは今後絶対はずせなくなる。
0265デフォルトの名無しさん2009/02/23(月) 18:57:42
>>262
むしろsprintfがあるほうが珍しいのでは。
シェア的には多数派だけど。w
0266デフォルトの名無しさん2009/02/23(月) 19:10:06
>>262
オブジェクト指向だと文字列は普通に+で連結するだけじゃね?
ああ、%2.1dみたいな書式作りたいのか。
0267デフォルトの名無しさん2009/02/23(月) 19:47:12
%2.1dって構文はありなの?
0268デフォルトの名無しさん2009/02/23(月) 20:07:05
Pythonとかの%02dとかは普通にありがたいけどなぁ。
数字を文字に変換しなくても、そのままフォーマット変換できるのは楽は楽だし。
+の連結とは使い勝手が全然違うとオモ
0269デフォルトの名無しさん2009/02/23(月) 20:07:40
>>266
書式もそうだけど、単純に見やすさ、いじりやすさもあるよ。
・・・オブジェクト指向って?
例えばRubyで悪いけど、

tag = '<input type="text" class="' + css_class + '" name="' + name + '" value="' + value + '" />'
tag = %Q'<input type="text" class="#{css_class}" name="#{name}" value="#{value}" />'
tag = '<input type="text" class="%s" name="%s" value="%s" />' % [css_class, name, value]

JavaScriptは一番上の書き方しかできない。
それが一番見やすい・いじりやすいっていう人が多数派なんだろうか
0270デフォルトの名無しさん2009/02/23(月) 20:34:39
いや%dに"2.1"を指定するのはなんか違和感があった
%fならともかく
0271デフォルトの名無しさん2009/02/23(月) 20:35:54
>>269
tag = <input type="text" class={css_class} name={name} value={value} />.toXMLString()
0272デフォルトの名無しさん2009/02/23(月) 20:45:31
xml以外はどうしたらいいんだ?
0273デフォルトの名無しさん2009/02/23(月) 22:32:25
>>272
name = 'John'
str = <dummy>My name is {name}.</dummy>.text()

XMLリテラルキモいw
0274デフォルトの名無しさん2009/02/23(月) 22:54:20
JavaScript に strftime() が欲しい。
0275デフォルトの名無しさん2009/02/23(月) 23:21:46
>>273
<>My name is {name}.</>
でOK
ちょっとだけキモさも和らぐw
0276デフォルトの名無しさん2009/02/24(火) 01:38:44
http://d.hatena.ne.jp/uupaa/20080301
http://hacks.bluesmoon.info/strftime/

JavaScriptでsprintfとstrftime
0277デフォルトの名無しさん2009/02/24(火) 12:38:01
>>275
HTMLのSCRIPTタグ中に書けないじゃん。
0278デフォルトの名無しさん2009/02/24(火) 12:56:20
>>277
書けたよ (FireFox 3.0.6)

<script type="text/javascript">
var name = 'John'
var xml = <>My name is {name}.</>
alert(xml) // alert(xml.toString()) と同義?
</script>

E4Xっての初めて知ったけど、IEは対応してないんだ?
0279デフォルトの名無しさん2009/02/24(火) 13:18:05
いつの間にかJavaScript勉強スレになってるな
0280デフォルトの名無しさん2009/02/24(火) 19:10:58
>>278
htmllintとかでチェックすべき。

ブラウザは受け入れるだろうけど、
HTML(SGML)的には不法のはず。
0281デフォルトの名無しさん2009/02/24(火) 22:52:51
XMLリテラルってscalaにもあるみたいね
これらの言語使ってる人、こんなの使ってる? (意味不明)
ヒアドキュメントより更にコードに違和感ありまくりで、あんまり
有り難みがないような気がする
0282デフォルトの名無しさん2009/02/25(水) 00:30:22
>>280

<script type="text/javascript">
<![CDATA[
var name = 'John'
var xml = <>My name is {name}.</>
alert(xml) // alert(xml.toString()) と同義?
]]>
</script>
0283デフォルトの名無しさん2009/02/25(水) 05:25:39
>>282
https://developer.mozilla.org/ja/E4X

>さらに CDATA セクション (<![CDATA[...]]>) は CDATA リテラルとしてパースされませ
>(HTML の <script> 要素は暗黙の CDATA セクションを作りますが、そこには明示的
>な CDATA セクションを含めることができないため、これは HTML において JS 構文エラーを引き起こします )。
0284デフォルトの名無しさん2009/02/25(水) 08:09:15
>>283
XHTMLで書けばいいだけ
0285デフォルトの名無しさん2009/02/25(水) 08:50:28
> XMLリテラルってscalaにもあるみたいね

V B . n e t  に も あ り ま す

C # に は あ り ま せ (
0286デフォルトの名無しさん2009/02/25(水) 12:39:22
Rhinoってどうよ?
0287デフォルトの名無しさん2009/02/25(水) 23:33:59
importClass(java.io.PrintWriter);
importClass(java.io.BufferedWriter);
importClass(java.io.FileWriter);

var file = new PrintWriter(
      new BufferedWriter(
        new FileWriter("sample.txt")));

file.println("Rhino犀強伝説");
file.close();
0288デフォルトの名無しさん2009/02/25(水) 23:37:32
わざわざ冗長に書き過ぎじゃなかろうか、Rhino知らんけど
0289デフォルトの名無しさん2009/02/26(木) 00:00:53
importClass(java.io.PrintWriter);

var file = new PrintWriter("sample.txt");

file.println("これだけでよかったのか、まだ勉強不足だ");
file.close();
0290デフォルトの名無しさん2009/02/26(木) 00:03:39
それなんてJava、っていうネタじゃなかったのか
0291デフォルトの名無しさん2009/02/26(木) 01:39:17
>>262
String.format()
0292デフォルトの名無しさん2009/02/26(木) 01:53:16
C#?
0293デフォルトの名無しさん2009/02/26(木) 02:05:08
>>291
[JavaScript-C 1.6.1 2008-03-01]

js> print("".toLowerCase)
function toLowerCase() {
[native code]
}
js> print("".format)
undefined
0294デフォルトの名無しさん2009/02/26(木) 10:56:50
もう21世紀だというのに・・フォーマットとか小文字だとか大文字だとか・・だりぃな
0295デフォルトの名無しさん2009/02/26(木) 11:17:15
デフォルトの書式を XML で定義しておくとか。
デフォルトで case insensitive にして必要に応じて case sensitive にするとか。
0296デフォルトの名無しさん2009/02/26(木) 16:57:13
高水準言語
0297デフォルトの名無しさん2009/02/26(木) 21:41:54
VB.NETは進化の方向性を間違えたなって思う。
C#と棲み分けするためにRubyやGroovyのような言語に進化するべきだったと思う。
0298デフォルトの名無しさん2009/02/26(木) 21:47:31
C#やVBのM$言語もLLに入るの?
オープンソースかアカデミックな連中だけで盛り上がってて、
商用お断りみたいに思ってんだけど
0299デフォルトの名無しさん2009/02/26(木) 21:49:45
Java系等のはカス扱いで。
0300デフォルトの名無しさん2009/02/26(木) 22:11:26
>>298
いや入らない。
ただVBはLL方向へ進むべきだったという話をしているだけです。
0301デフォルトの名無しさん2009/02/26(木) 22:21:34
LLの定義論うざい。
そもそもLLはRuby基準で立場が近いかどうかが問題だ。
厳密な定義は必要ないし、そもそもRuby使い以外はLLなんて言葉はつかわない。
0302デフォルトの名無しさん2009/02/26(木) 22:23:42
なんかわけわかんねぇ文章だな。
Rubyに近いほど、よりLL。
あまりにもRubyより簡単すぎたらLLじゃない。
0303258=2602009/02/26(木) 22:35:51
>>294
高校生のとき21世紀には、CADのようにGUIで部品を結線するだけでプログラムが
出来る時代が来ると思っていました。
0304デフォルトの名無しさん2009/02/26(木) 22:44:49
デスクトップ時計とかカレンダーみたいな小物なら
C#ならまさにRADでポトペタ、プロパティ設定だけで
コーディングなしでできるがな。

(もちろん、色々細かいことやろうとしたらコーディングは必要だが)
0305デフォルトの名無しさん2009/02/26(木) 22:55:31
HTML、MXML、XAMLとか画面を作るだけなら
プログラミング言語の出番では無くなりつつあるような。
もちろんポトペタを実現するソフトの力もあるけど。
0306デフォルトの名無しさん2009/02/26(木) 23:55:19
>>303
それって、RPGツクールだけでRPGがとか、
シューティングツクールだけでシュー(ry
格闘ゲ(ry

というのと変わらん妄想な気がする。
結局こったことやろうとすると、ツール上でプログラミングしないといけなくなるんだよな
0307デフォルトの名無しさん2009/02/26(木) 23:58:45
まあ、妄想とはいったけど今の段階ではということで、
30年くらい先は変わるんだと思う。
RPGツクールも新しいのは Ruby乗っかってるし、
ジャンル特化のゲームエンジンにちょっと汎用的なDSL入れた、見たいな構成なんて、
今時のゲーム開発じゃ珍しくない。

web周りがまだ続くんなら、ポトペタ系webフレームワークがでたっておかしくない。

・・・CodeGea(いやなんでもない
0308デフォルトの名無しさん2009/02/27(金) 00:04:15
Plagger とか Yahoo! Pipes とか Popfly とかその辺のこと?
0309デフォルトの名無しさん2009/02/27(金) 01:40:28
どんどん新しい技術が出てくる時代だからね。UI言語みたいなものよりテキスト言語じゃないと融通が
きかなくて対応できないだろうね。
でもいずれ何十年も先に技術も安定して規格化も進めば、UI言語みたいなものも発展できるかもね。
0310デフォルトの名無しさん2009/02/27(金) 02:17:24
用途は限定されるけど、結線でUIを構築するなら、Quartz Composerってのがあるね。
文字列の回転角度などのようなプロパティは、直接指定する必要はあるけど、基本、結線するだけで、リアルタイムで結果を表示してくれるよ。

Mac限定だけど
0311デフォルトの名無しさん2009/02/27(金) 02:21:08
ぶっちゃけGUIとCUIに向きと不向きがあるのと一緒で
何でもポトペタで楽にってのは幻想だと思う

マウスやゲームパッドで漢字の人名を入力することを考えてごらんよ
超面倒くさいだろ?
電卓だって、GUIの電卓よりCUIのがずっと使いやすい
0312デフォルトの名無しさん2009/02/27(金) 02:31:44
グラフィカルな存在を扱うケースでは、グラフィカルに設計できるのが一番では
絵を書くときには誰だって筆を使う
PostScriptを直接書くというケースは多くないだろう
0313デフォルトの名無しさん2009/02/27(金) 02:37:03
>>312
うんだから向き不向きってことね
ダイアログエディタみたいなGUIが向いてるものはどんどんGUI化すればいいが、
実際には既にかなりのものがGUI化されているだろう
それ以上は疑問だね
0314デフォルトの名無しさん2009/02/27(金) 02:41:41
>>311
それはGUIだからじゃなくてマウスだからじゃない?
0315デフォルトの名無しさん2009/02/27(金) 06:29:26
touch(panel/pad)て昔からあるけど
DesktopPC用には普及してないな
0316デフォルトの名無しさん2009/02/27(金) 07:34:35
高いからだろ
0317デフォルトの名無しさん2009/02/27(金) 09:32:58
>>316
そういって参入して死々累々なのがタッチパッドインタフェース。
タッチパッドが悪いというより、なぜか指で操作させようとするのが
敗因だと思うけど。ペン操作は普及したし。
0318デフォルトの名無しさん2009/02/27(金) 09:41:48
タッチパッドはタッチパッドで、結構進化して来てるよ。iPhoneとか、なかなか面白い動きをする。
ペンタブレットはあれはあれで、実は「細かい点の操作」に弱いって欠点があるんだな。
マウスやタッチパッドは、ポイント→その位置から動かさないでクリックって動作がしやすいんだけど
ペンタブレットだとそうも行かない。一応、少しだけ浮いた状態でポインタが出るんだが、それでも狙った位置からはブレやすい。
0319デフォルトの名無しさん2009/02/28(土) 00:38:29
タッチパネルとタッチパッドは別もんだな
タッチパネルは、もし安く高性能なものが普及しだしたら、それなりに便利だと思う
マウスでクリックしすぎると指が痛くなってくるけど、そんなとき画面をペンでポチって
できるのは、作業中の気分転換にいいかもw
0320デフォルトの名無しさん2009/02/28(土) 01:31:43
で
何の話だっけ?
0321デフォルトの名無しさん2009/02/28(土) 03:01:32
>320
PerlもPythonもRubyも大きなテコ入れをしている件について
0322デフォルトの名無しさん2009/02/28(土) 03:10:31
米国でRuby関連書籍の売り上げが減速か
>2008年第4四半期の売り上げで、前年同期比965%増という大躍進を遂げているのはObjective-C。
>ほかにActionScriptも33%増と好調。逆に落ち込みが激しかったのはRubyで、51%減となっている。
>ほかに落ち込みの大きい言語としては「JavaScript(24%減)」、「Visual Basic(15%減)」、「Perl(25%減)」、「Java(12%減)」などがある。
http://www.atmarkit.co.jp/news/200902/27/langs.html
0323デフォルトの名無しさん2009/02/28(土) 04:05:25
まあ別にいらないしな
0324デフォルトの名無しさん2009/02/28(土) 04:06:47
>> 322
ruby本の落ち込みは、railsは一時的なブームだったということかな?
Objective-Cはiphoneアプリの開発言語だよね。macの売り上げも伸びたんだろうね。
phpは相変わらず人気だね。
0325デフォルトの名無しさん2009/02/28(土) 06:11:51
Rubyはソース嫁に辿り着く
0326デフォルトの名無しさん2009/02/28(土) 07:34:42
Rubyは対話式インタプリタだから生きるものかもしれないな。

コード補完機能を備えた優秀な開発環境があれば
別にコードが冗長でもかまわないわけだし。

Pascalみたいにコンパイル速度が速ければ
インタプリタである必要もないし。

Rubyで使い捨て以外のプログラム書く理由がないわ。
0327デフォルトの名無しさん2009/02/28(土) 08:54:46
>>322
iPhoneの影響か。
長らくNeXT及び、その後継であるMac OS Xの専用言語に近い状態だったが、2007年に入り、Apple社の携帯電話iPhoneにおいてCocoa touchフレームワークの記述言語として採用。習得者の人口が増える傾向にある。
0328デフォルトの名無しさん2009/02/28(土) 09:05:04
Railsの流行も落ち着いてきたということだろう。もう4年もたつしな
0329デフォルトの名無しさん2009/02/28(土) 10:28:12
オンラインで読めるマニュアルとかチュートリアル、解説サイトが充実していれば本なんかいらんけどなあ。
ちょっとググレば出てくる情報に3000〜円とか出したくないし。

まあ、手元においておきたいときも、ないことはないけど。

本が売れてるって、実は言語(フレームワーク)そのものが使いにくいからじゃね?なんてうがった見方をしてみたり^^;
0330デフォルトの名無しさん2009/02/28(土) 10:40:55
それはうがってるんじゃなくて、(Ruby信者として)もがいてる感じ。
0331デフォルトの名無しさん2009/02/28(土) 11:52:14
本買う行為はお布施だと思えば仕方が無いかな
0332デフォルトの名無しさん2009/02/28(土) 11:57:00
ひたすらに現世利益を求める衆生にはそれがわからんのだな
0333デフォルトの名無しさん2009/02/28(土) 12:12:56
お布施は信者以外には理解不能だからなぁ
0334デフォルトの名無しさん2009/02/28(土) 13:17:15
Rubyとか互換性皆無で一年前の情報がゴミになるからな。
他言語でもRails風フレームワークも増えてきたし、
敢えてRubyにこだわらなくてもいいような。
0335デフォルトの名無しさん2009/02/28(土) 14:14:09
教祖様は気分で仕様変えるし、
メンテナはすぐヘソ曲げるし、
コミュニティの殆どは「誰か働けよ、中傷してやるからよぅw」モードだし、
普通に考えてRubyに価値があるわけないよね。
0336デフォルトの名無しさん2009/02/28(土) 15:27:46
PHPはやはり強いな。
初めにやったもん勝ちなんだよな、こういうのは。
0337デフォルトの名無しさん2009/02/28(土) 18:37:40
Rubyの方が昔からあったような気がする
0338デフォルトの名無しさん2009/02/28(土) 20:32:57
まあ、シェア奪ったもん勝ちってことだろ。
0339デフォルトの名無しさん2009/02/28(土) 22:32:21
>>335
Rubyの教祖様ってPHPをさんざん叩いてた人じゃないの?
当のRubyはそんな有様だから足引っ張ってんのか?ww
0340デフォルトの名無しさん2009/02/28(土) 23:59:35
PHPはウェブアプリのコーディングしてて「こんなのないかな?」っていう
関数は既に用意されてることが多いからやっぱ強い(自作関数だらけにもならんし)。
ヴォキャブラリーの力が圧倒的だから
まあウェブ用途では当面代替になりそうな言語はないね。
0341デフォルトの名無しさん2009/03/01(日) 00:22:09
PHPよか、Rubyの方が柔軟に書けそうに見えるんだけど気のせいか?
パッと見でPHPって、Webで使う用のCにしか見えないんだけど
0342デフォルトの名無しさん2009/03/01(日) 00:32:08
Web用のCだったら、今頃使いまくってるけどな。

PHPは歴史を引きずって関数が増えてるだけ。
末期のBASICを思い出すわ。
DB接続だけで6種類以上あったり、勘弁してくれ。
■ このスレッドは過去ログ倉庫に格納されています