【Perl,Python,PHP】LL バトルロワイヤル 28【JS,Ruby】
1 :
デフォルトの名無しさん :
2012/12/05(水) 22:51:34.59 最強のLL=軽量プログラム言語は、どれよ?
エントリーは、Perl、PHP、Python、Ruby、JavaScript・・・
さあ、死ぬまで語りやがれ!!!
■LLとは?
軽量プログラミング言語(Lightweight Language,LL)とは、取り回しに優れ、
コードの作成や修正が容易と見なされるプログラミング言語のことを指す。
ここでいう「軽さ」はプログラマの負担の軽重を指し、
実行速度に優れているという意味ではない。
現在の水準では
・インタプリタ
・動的型
・正規表現
・クロージャ
などを利用できるものがLLと呼ばれることが多い。
ただし、他人の同意を得られるとは限りません。
長いコードはここで
ttp://play.island.ac/codepaste/ 【Perl,Python,PHP】LL バトルロワイヤル 27【JS,Ruby】
http://toro.2ch.net/test/read.cgi/tech/1349545643/
前スレでは沢山のコードが書き込まれたが JSのコードは一つも無かったな スレタイにも入ってるのに……
PHPってSSIのことだよね?それか啓蒙書
Perlのデバッグで nは進むんですが 戻る方法ってありますか? 1行戻る方法 なんかウザいです どんどん進んだり間違ってタイプミスしたら終了します たすけてください おしえてください
並列化はPython, Scala, Haskellの圧勝だったな……
gnomeのtutorialも、c++よりjsの方が充実する今日、 未だにperlでソフトウェアやスクリプトを書くなんて、 何かの拷問だとしか考えられない。 一体、前世でどんなに悪いことをやらかしたんだろう。
JavascriptのウンコさはJavaに匹敵するレベル
言語の種類が増える一方だけど、競技コーディングの世界で、 c++やjavaが上位に来る理由について考えた方が良い githubでのjavascriptの登録件数がrubyを越えた理由についても、少しは考える必要がある。
【お題】 [1, 2, 3, 4, 5, 6, 7]のようなリストを 次のような表に整形して出力せよ <table> <tr><td>1</td><td>2</td><td>3</td></tr> <tr><td>4</td><td>5</td><td>6</td></tr> <tr><td>7</td><td> </td><td> </td></tr> </table>
こんなウンkみたいなつまらないお題誰もやらんだろ、 何のヒネリも無いんだもん
>>11 @Mathematica
formatList[lst_] := lst //
PadRight[#, Length[#] + 3 - Mod[Length[#], 3], "x"] & //
Partition[#, 3] & //
ToString //
StringReplace[#, {
"{{" -> "<table>¥r<tr><td>",
"}, {" -> "</td></tr>¥r<tr><td>",
", " -> "</td><td>",
"}}" -> "</td></tr>¥r</table>",
"x" -> " "}] &;
In := formatList[{1, 2, 3, 4, 5, 6, 7}]
Out = (省略)
14 :
13 :2012/12/08(土) 11:05:06.21
formatList 中の ¥ は、実際はバックスラッシュです。 投稿したら自動的に変換されちゃった。
>>11 Haskell
f _ [] = []
f n xs = take n (map show xs ++ repeat " ") : f n (drop n xs)
h = mapM_ (putStrLn.("<tr>"++).(++"</tr>").(concatMap $ ("<td>"++).(++"</td>")))
main = putStrLn "<table>" >> (h.f 3) [1..7] >> putStrLn "</table>"
>>11 ; Common Lisp
(let ((list '(1 2 3 4 5 6 7)))
(format t "<table>~%~{<tr>~3@{<td>~:[ ~;~:*~d~]</td>~}</tr>~%~}</table>~%"
(concatenate 'list list (make-list (- 3 (mod (length list) 3))))))
17 :
16 :2012/12/08(土) 11:22:44.17
>>11 ; Common Lisp
;
>>16 は3で割り切れるとき、駄目だったので訂正。
(let ((list '(1 2 3 4 5 6 7)))
(format t "<table>~%~{<tr>~3@{<td>~:[ ~;~:*~d~]</td>~}</tr>~%~}</table>~%"
(concatenate 'list list (make-list (abs (mod (length list) -3))))))
>>10 言語の種類が増えると何か困るのか?
他人を邪魔して困らせるのも競争の一つだ
だれにも邪魔されない競技を望むのは甘い
19 :
13 :2012/12/08(土) 11:46:33.07
3で割り切れる場合を考慮に入れてなかった orz
>>17 を参考に、
@Mathematica(改定版)
formatList[lst_] := lst //
PadRight[#, Length[#] + Abs[Mod[Length[#], -3]], " "] & //
Partition[#, 3] & // ToString //
StringReplace[#, {
"{{" -> "<table>¥r<tr><td>",
"}, {" -> "</td></tr>¥r<tr><td>",
", " -> "</td><td>",
"}}" -> "</td></tr>¥r</table>"}] &;
>>11 Perl
my @list = (1..7);
print "<table>\n";
foreach my $i (0..$#list / 3){
print
"<tr>",
map("<td>" . ($list[$i * 3 + $_] // " ") . "</td>", (0..2)),
"</tr>\n";
}
print "</table>\n";
ひねりも無くRubyで。 def make_table(ary, ncolumns = 3) p ary puts "<table>"; while ary.any? print "<tr>"; ncolumns.times do print "<td>#{ary.shift || " "}</td>" end puts "<tr>"; end puts "</table>"; end make_table [1, 2, 3, 4, 5, 6] make_table [1, 2, 3, 4, 5, 6, 7] make_table [1, 2, 3, 4, 5, 6, 7, 8]
>>11 #ruby
list = [1,2,3,4,5,6,7]
puts "<table>"
list.each_slice(3){|a,b,c|
b ||= " "
c ||= " "
puts "<tr><td>#{a}</td><td>#{b}</td><td>#{c}</td></tr>"
}
puts "</table>"
>>11 Python
lst = [1,2,3,4,5,6,7]
lst = lst + [" "] * ((3-len(lst))%3)
print('<table>')
for x in (lst[n:n+3] for n in range(0,len(lst),3)):
print('<tr>%s</tr>' % ''.join('<td>%s</td>' % n for n in x))
print('</table>')
JavaScript
var arr = [1, 2, 3, 4, 5, 6, 7], n = 3, s = '';
for (var i = 0; i < arr.length; i += n) {
var row = arr.slice(i, i + n);
for (var j = row.length; j < n; j++) { row.push(' '); }
s += '<tr>' +
row.map(function (v) { return '<td>' + v + '</td>'; }).join('') +
'</tr>\n';
}
s = '<table>\n' + s + '</table>'
console.log(s);
>>12 確かにつまらない
けど、回答も酷いの多いからバランスは取れてるんだろう
こんな面白い言語が流行らないワケが無い > JavaScript '' == '0' // false 0 == '' // true 0 == '0' // true 3 + '2' // 32 3 - '2' // 1 parseInt(0 + '9') // 0 parseInt(0 - '9') // -9
>>26 0 + '9' => '09'
だから、キャストと+演算子の仕様はおかしく思わないけど
parseInt()はハマるね。
ひねりもなくPowerShellの正規表現で。 [regex]::Matches( (1..7+,"&nbsp;"*2) -join ",", '(\d+,){1,3}(,?&nbsp;)*') | % { ($_.value -split ',')[0..2] -join '</td><td>' } | % { "<table>" } { "<tr><td>$_</td></tr>" } { "</table>" }
>>26 JavaScripterはたいてい「JavaScript: The Good Parts」を読んでるから
そういう面白いことはしないんだな
そういうヘンテコなノウハウ満載なのが大事なんだよ。 ノウハウは暗記すれば覚えられるから、 地頭が悪い子でも新人君に大きい顔が出来る。
1 == 1 // true 1 == [1] // true [1] == [1] // false 1 === 1 // true 1 === [1] // false [1] === [1] // false
>>22 ,23 を参考にして、Rubyの関数型プログラミング・スタイルで....
def make_table(list, n = 3)
(
['<table>'] +
list.each_slice(n).map { |cols|
'<tr>' + cols.map { |col| "<td>#{col.to_s}</td>" }.join + '</tr>'
} +
['</table>']
).join("¥n")
end
puts make_table([1,2,3,4,5,6,7])
【お題】 ウィルソンの定理を使って素数を判定する関数is_primeを実装し、 10000以下の素数以外の数の和を求めよ ウィルソンの定理 pが素数 <=> (p-1)!+1 (mod p) == 0
>>33 Python
def fact(n, memo={}):
if n == 0: return 1
if n not in memo:
memo[n] = n * fact(n-1, memo)
return memo[n]
def is_prime(n):
return fact(n-1) % n == n-1
print(sum(x for x in range(1,10001) if not is_prime(x)))
35 :
34 :2012/12/09(日) 02:39:05.91
Output: 44268603
>>33 @Mathematica
notPrimeSum[nmax_] := Module[{isPrime},
isPrime[n_] := Mod[Factorial[n - 1] + 1, n] == 0;
Range[1, nmax] // Map[If[isPrime[#], 0, #] &, #] & // Total];
In := notPrimeSum[10000]
Out = 44268603
>>33 Haskell
isPrime n = fact !! (fromInteger (n-1)) `mod` n == n-1
fact = 1 : zipWith (*) fact [1..]
main = print . sum $ filter (not.isPrime) [1..10000]
出力
44268603
>>33 間違えた...もう一度Haskell
isPrime 1 = False
isPrime n = fact !! (fromInteger (n-1)) `mod` n == n-1
fact = 1 : zipWith (*) fact [1..]
main = print . sum $ filter (not.isPrime) [1..10000]
出力
44268604
> pが素数 <=> (p-1)!+1 (mod p) == 0 だから1も素数に含めて良いんじゃないの?
そうかもね
>>33 ; Common Lisp
(defun primep (l)
(labels ((fact (m &optional (n 1))
(if (zerop m)
n
(fact (1- m) (* m n)))))
(zerop (mod (1+ (fact (1- l))) l))))
(loop for x from 1 to 10000
unless (primep x)
sum x)
>>33 Perl
use List::Util qw(sum);
use bigint;
my @memo = (0 => 1);
sub fact {
my ($n) = @_;
return $memo[$n] //= $n * fact($n - 1);
}
sub is_prime {
my ($n) = @_;
return (fact($n - 1) + 1) % $n == 0;
}
print sum grep{ not is_prime $_ } (1..10000);
多倍長演算の得意不得意が出てるんじゃないのん。
メモ化しないとヤバいくらい遅い メモ化しても多倍長演算が遅いと遅い
>>33 def fact_mod(n, m)
return 1%m if n == 0
prod = 1
(1..n).each{|k|
prod = prod*k % m
return 0 if prod ==0
}
prod
end
def is_prime(n)
return (fact_mod(n-1, n)+1)%n == 0
end
puts (2..10000).select{|k| !is_prime(k) }.inject(&:+)
>>33 Squeak Smalltalk で。
| fact isPrime |
fact := nil.
fact := [ | memo |
memo := Dictionary new at: 0 put: 1; yourself.
[:n | memo at: n ifAbsentPut: [n * (fact value: n-1)]]] value.
isPrime := [:n | (fact value: n-1) \\ n = (n-1)].
(1 to: 10000) inject: 0 into: [:sum :m | sum + ((isPrime value: m) ifTrue: [0] ifFalse: [m])]
>>33 Haskellで
>>48 を参考に、メモ化を無くして並列化してみた
import Control.Parallel.Strategies
import Data.Maybe
factMod = factMod' 1 where
factMod' p 0 n = p
factMod' p m n = case p*(n-m) `mod` n of
0 -> 0
q -> factMod' q (m-1) n
isPrime :: Int -> Bool
isPrime n = factMod (n-1) n `mod` n == n-1
main = print $ sum $ catMaybes $
parMap rseq (\p -> if isPrime p then Nothing else Just p) [1..10000]
>>33 Prolog
:- dynamic(階乗保存計算/2).
'ウィルソンの定理を使って素数を判定する関数is_primeを実装し、10000以下の素数以外の数の和を求めよ
ウィルソンの定理とは pが素数 <=> (p-1)!+1 (mod p) == 0'(_10000以下の素数以外の数の和) :-
findsum(_p,(
between(1,10000,_p),
\+(is_prime(_p))),
_10000以下の素数以外の数の和).
is_prime(_p) :- 'ウィルソンの定理とは pが素数 <=> (p-1)!+1 (mod p) == 0'(_p).
'ウィルソンの定理とは pが素数 <=> (p-1)!+1 (mod p) == 0'(_p) :-
Y is _p - 1,
階乗保存計算(Y,Z),
0 is (Z + 1) mod X,!.
階乗保存計算(0,1) :- !.
階乗保存計算(1,1) :- !.
階乗保存計算(N,X) :-
N2 is N - 1,階乗保存計算(N2,Y),X is N * Y,
asserta((階乗保存計算(N,X) :- !)).
52 :
51 :2012/12/10(月) 12:17:57.74
findsum/3の定義が必要だった。 findsum(_選択項,_項,_合計値) :- findall(_選択項,_項,_値ならび), sum(_値ならび,_合計値). sum([],0). sum([N|R],S) :- sum(R,S1), S is S1 + N.
Javaで同じコード書こうとしたらBigIntegerがウンコすぎてワロタ
JavaScriptで同じコード書こうとしたらゴミ実装のBigDecimalライブラリしか無くてワロタ
LLでの多倍長整数って便利だったところで、何かのプロトタイプに使うようなもんだよね
オーバーフローを気にせず足し算ができるのは大きいと思う Cだとintのオーバーフローは未定義 Javaでも演算が無事完了する保証があるだけで、値に関しては何も述べてない そういう怪しい世界に突入せずに済む
お題がつまらないと言った時点で既に負け惜しみだった つまらない問題を量産して負け惜しみを言わせれば勝てる 勝負にこだわるやつは良い出題者になれない
>>56 まあその辺の言語の基本型は、代わりにビット演算が比較的素直かなとは思う
演習のプログラムでオーバーフローのシグナルを捕らえようとしたけど出来なかったな 未だに原因が分からない
61 :
51 :2012/12/13(木) 20:41:11.61
'ウィルソンの定理とは pが素数 <=> (p-1)!+1 (mod p) == 0'(_p) :- Y is _p - 1, 階乗保存計算(Y,Z), 0 is (Z + 1) mod _p,!. % 一番最後の mod X は誤りでした。Xを全部_pに直したのだが % そこだけ残ってしまった。
このスレの皆さんは変わった言語を使ってますね 何でその言語を使ってるの?
UbuntuでVimを愛し、Githubでソースを公開し、 気に入ったプロジェクトがあればPull Requestを送り、 Haskellを勉強し、Pythonのブログを書いていたとしても、 俺は依然として無職だし、Windowsでメモ帳でPHPを書いていても仕事は貰える!!
>>66 ,67
9割以上解析だけど、時間切れで余力なし。Python 2.7/PIL
ideone.com/mUBLes
>>68 犯罪?はないと思うけど、悪用可能だったりするの?それともモラル的な問題?
サイトの規約とかは読んでないので、何か問題あるようだったら削除申請よろしく
>>69 話の流れから、ビット処理、ステガノグラフィー
>>67 Squeak Smalltalk で
| url stream image decode |
url := '
http://dl.dropbox.com/u/110505645/CodeIQ/20121129/embedded.png '.
stream := HTTPClient httpGet: url.
image := ImageReadWriter formFromStream: stream.
decode := [:px | (px >> 11 bitAnd: 224) + (px >> 5 bitAnd: 24) + (px bitAnd: 7)].
^((image bits asArray collect: decode) upTo: 0) asByteArray asString convertFromEncoding: #utf8
=> '漢字、カタカナ、ひらがなの入ったPNG。
'
rubyって、scipyやblender級のソフトウェアないの? 手段としてはメリット薄いぞ
PHPやrailsで一枚岩って色々と危険杉 生残るためには、せめてpythonかjava
会社をくびになったとき
今は仕事があったとしても、いずれは競合が増える。PHPやrailsじゃ、 一部の仕事をするのに手っ取り早くても、今のところ他のことに使えない。
78 :
デフォルトの名無しさん :2012/12/15(土) 21:16:25.97
最近のデザイナーって普通にpython使える人が多い
javascriptのイディオム覚える知能があれば、pythonぐらい扱えるでしょ UIレベルだと競合増えるの明らかで、生存するには自然言語処理だの機械学習だの方面じゃない? 他に、もっとオイシイ分野ある?
オイシイ分野ってなんだ? お金が稼げるという意味なら 仕事があるJavaScriptの方がオイシイだろ。
82 :
デフォルトの名無しさん :2012/12/16(日) 01:27:04.76
>>79 3dのモデラーとか2dのイラストレーター
>>73 Rubyはもともとそーゆーユーザーアプリケーションを作るようなプログラミング言語ではありません
どちらかというとシェルスクリプトに近い
シェルに失礼だろうRubyなんかただオモチャ
Unixなんかおもちゃ コンピュータなんかおもちゃ 核兵器なんかおもちゃ 決め付けって素晴らしいねw
>>73 そういう用途にはpythonがおすすめ
無理にrubyでやろうとするのがアホ
「Ruby」は「オブジェクト指向」の隠語かもしれない 隠さずに言うと、オブジェクト指向なんかおもちゃ 無理にオブジェクト指向でやらない
88 :
デフォルトの名無しさん :2012/12/16(日) 11:42:57.69
最近のデザイナーは普通にプログラム組めてびっくりした。 彼らの話てた第一級関数ってなんだよ。
89 :
デフォルトの名無しさん :2012/12/16(日) 12:47:11.54
40万するパソコンの使い道
staticおじさんかw
コンパイルエラーが出なければ大丈夫と信じていたのに粛清されるおっさん そして地獄の底から帰ってきたおっさんの復讐を後押しするおいしい分野
>>86 python使った方がカバレッジする領域ひろいじゃない
jsは、決定打になってもwebアプリとスマホに閉じられそう
ここに統計周りのライブラリとユーザーアプリが作られたなら、
いよいよ終わりのときが来たって、もう何も考えないけれど
>>92 おまえプログラミング言語勉強する前に日本語勉強しろよ
意味不明なんだよw
言ってる意味が理解できないなら、業界全般を見回した方が良いんじゃない?
はぁ? 述語がねーのに理解できねーだろ、おまえは本当にバカだなーww
おまえは が主語で バカ ってのが述語だ つまり、おまえはバカだと言ってるわけだ 理解できる?
だからその、バカ(述語)がないっていってるだろ。
このスレのどこにバカって書いてある?
>>95 で初めて出てきた単語なんだから
述語がないというのは正しいだろ
馬鹿には無理
>>92 が言いたいことってのは、
Pythonはオイシイ分野で使えるアプリケーションがあるので生き残るが、
RubyやPHPは死ぬ。Python最強。
おいしいといって
>>81 が出したJavascriptはWebアプリとスマホにしか使われないだろう。
もし仮に統計ライブラリとユーザーアプリが作られたらLL戦争にも終わりが来たと思って、
何も考えずにJavascriptを使うことになるだろうな。
ということか? 分かってねえな、最後に生き残るのはLISPなんだよ。
Python は括弧をインデントに変えた LISP だって誰かが言ってた。
大抵のLLにしてもjavascriptにしても、Lispの機能を大幅に制限してALGOL系の構文に代えただけだな
>>100 PythonだのRubyだのLL風情が括弧の無いLISPだとかドヤ顔なやつは
基本的に分かってないか、分かってやってんならなんかの策略
こういう時Algol系の構文って具体的に何のこと言ってるの
C or Pascal
not Lisp and not Smalltalk
JavaScriptはオワコン、やるならDart
Algol系はいいけどSimula系の方言が増えすぎてカオス
>>108 典型的な例をわざわざありがとう
リストもマクロもないけどLISPに似てるとか言い出したらきりがない
動的言語は何でもLISPかよ
注意して読めば分かるけど両者が似た印象になるように巧みに嘘も混ぜ込まれている。
要はPythonかLISPか、あるいはその両方の注目度を高めたいだけのステマ
>>109 混ぜ込まれた嘘の部分を2、3箇所プリーズ
S式のことか
>>99 IT業界、全般の終わりだよ
人の子(JS)がクラウドに載ってやってきたら、終わりの日が来たって悟れ
って、どこかで読んだぜ。
ユーザーアプリや統計ライブラリがないのが、せめてもの救い
>>109 Lispのマクロを使ってPythonを作れる場合
PythonとLispは似ていると思う人が増える
作れない場合
マクロを使いたいと思う人が減る
Lispに似てるって褒め言葉じゃないよな
java,javascript,python,c/c++には、メリットあっても、 perl,PHPとrailsは、あまり積みたくない経験。 ここに、今後にメリットあるなら誰か教えてよ c++案件の片手間にPHPを弄るならともかく。
railsは言語ではない件
>>116 おまえ
>>92 だろ?w
まずは日本語を勉強しろ。 勉強すれば、
”自分の伝えたいことを正しく他人に伝えることが出来る”というメリットがあるぞ。
どうだ、おまえに一番必要なスキルだ。
言語を変えてみると、必要だった物が不要になったり デメリットがメリットに変わったりするぞ 頭がやわらかくなる
「主張」が見えないんだよな
>>92 とか
>>116 の文は
「RubyをPythonの対抗馬にはなれないだろ」
「手段としてのLLならPython, Javascriptで十分だろ」
とか言いたいんだろうが、ハッキリ言ってくれないとよく分からん。
主張自体はけっこう正しいと思うが、Rubyの柔軟さを活かしたDSLは
今後もいろいろ有望な気がする。まぁ、願望込みで。
githubのfork数と☆の数、djangoとexpressが並んでる pythonコミュニティの人たちってbitbucketにでも居るの? web、スマホ、テキスト加工、雑事にjs、統計処理、機械学習にR、scilab 辺りを選ぶのが、この先生きのこるのに無難かしら
|....,,__ |_::;; ~"'ヽ | //^''ヽ,,) | i⌒" | ∀`) < 誰もいない きのこるならいまのうち |⊂ | ノ _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" |( ´∀`) < きのこ のこーのこ 放射能のこ ♪ |(ノ |つ | | ⊂ _ ノ ""U _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" (´∀` )| < エリンギ まいたけ ブナシメジ ♪ ⊂| (ノ | | | ヽ _ ⊃ .U"" | | ミ | ミ サッ! | ミ |
F欄と専門卒しか居ない、地方の零細企業やベンチャーモドキにデータマイニングなんて無理
Rubyは勝手に自滅したし、Pythonの一人勝ちだなw
おれのPerlは?
perlプログラマがpythonかrubyを習得して、 既存のソフトウェアをリプレースしたら賞賛を受けるはず
PerlプログラマはすでにCを習得している!
世の需要がCGIからwebアプリに移った日、railsブームが来た しかし、rubyはブラウザとインフラを押さえることが出来なかった LAMPの民はjsを使う必要があり、いずれPHPは緩やかな衰退を迎える python製のインフラにnode.jsが来た終日、js+c++かjavaの選択を迫られるだろう
スクリプト戦国時代なんて、4,5年前に始まって、昨年ぐらいには終わった
今はiPhone(Objective-C) vs Android(Java)。 わくわく感が無いな。
戦う相手をわくわくさせてどうすんだよ(蔑むように)
全部チューリングマシンだろ。
133 :
デフォルトの名無しさん :2012/12/22(土) 12:28:03.78
Perlの勉強が終わったから、次はJSの勉強をはじめるぜ
AndroidはJavaからGoに移行するハズ
行き着く先は大抵の言語上で簡単にインタプリタかけるschemeあたりじゃねぇかと予想
へぇー、scheme勉強したのね よくあんなマイナー言語勉強したねぇー、えらいえらい でもね、schemeはずっとマイナー言語ですからぁー!! もう袋小路ですからぁー!! すでに行き着いちゃってますからぁー!! っていうかスレチですからぁー!!!!
GaucheぐらいにするとLLっぽい
>>134 ソースは?Objective-Cは糞でも囲い込みに成功した
わざわざ新しい糞言語を習得してまで、
ただでさえ糞だと評判なandroid開発に費やす馬鹿いるの?
実際に商売してる人達にとっては糞言語とか糞環境とか関係無いです
GoogleがJava選んだ理由の一つは大学等でJava教えてるとこが多いから 開発者はほっといても増えるってのがあると聞いたが
肝心のandroid端末の互換性がウンコで、みんなiOSの開発してるのに、 この後に及んで、goを投入とか何考えてるんだろう というか、googleって、今はなきSunがエンゼルになって、 おまけにそこに技術者たちを雇ってたんだからjavaを使って普通 ああ、そうか。goを投入する理由はoracleにjvmもってかれたからか
PHP以外でstrtotimeに類する関数ってあるのかね? linuxの Sun Dec 23 10:20:12 JST 2012 をパースできたりするやつ
143 :
デフォルトの名無しさん :2012/12/23(日) 12:08:31.24
JavaじゃなくてPythonとかPerlにしてほしかったよ、Googleさん
速度的に静的言語に適わない動的言語が システムプログラム言語に採用されるわけない とは言っても古臭くて長ったらしくて助長的なJavaはいけてない 新しくデザインされたGoこそ最適解
×助長 ○冗長
Goって息してるの?
>>142 scanf()
?
asctime()
>>142 日付をパスするやつなら
どんな言語にもあるだろう。
だがstrtotimeと全く同じ仕様の関数はないかも。
そもそもstrtotimeの仕様がよくわからない。
これ、英語しか認識できないの? 年月日の並びは?
149 :
デフォルトの名無しさん :2012/12/24(月) 00:49:42.91
strptime
150 :
デフォルトの名無しさん :2012/12/24(月) 02:15:26.30
PHPのstrtotime()は良くできてる。date()も使いやすい。変にオブジェクト指向に走らず、サクッと使えるところがセンスいい。
>>144 c++のREPL版でも作ってくれた方が広範のニーズにあうだろ
技術者って、既存のノウハウ捨ててまで新しい何かを覚えたがらないヤツの方が多い
golangはOSやCADぐらいのアプリケーションを書いてみせて、 そのコンパイル速度が既存のc/c++より速いことを実証するか、 禿が死んでc++の仕様がこれ以上の混沌たるカオスへ飲み込まれない限り誰も使わない
COBOLみたいなものだよ。 特定の用途に限っては 効率のいい書き方ができる。
golangをCOBOLと同系統に扱うとかバカ
で、googleさんはgolang使ってるんですか?
native clientに対応してるし、余力あるベンチャーは使うかもね
> native clientに対応してる という噂は聞くんだが、公式ソースは?
公式に書いてなかった?
go+JeSus,cloud 意味するものはキリストの再臨と資本主義の終わり
みんな実はGoに興味ありありなんだね
銀の弾丸に興味のないオタクなんて居ません
俺はいつgoogleが放り出すのかに興味がある 2年後? 5年後?
Objective-CとGoはジェネリクスを放り出している 出し尽くしたら最後にLLが残る
何が何を出し尽くすのか?
Net::RawIP入れたらコケまくりなんですが syn flagとか送信できるモジュールとかありますか?教えて
kotlinがjquery等の主要ライブラリやhtml5を取り込んでいて、 javaやdart以上に言語に期待することをやってくれる
そんなこみいった質問、ircでやれ
computer language bench markのサイトでベンチ結果見れるのに わざわざ時間割いてまで同じような実験をして何か意味あるんだろうか jvm上の実装なのにrhinoタンわりと遅いのね node.jsの時代だよ。まったく...
golangがc#よか速いのね c++がアプリケーション開発の土俵から締め出されるのも時間の問題かも おんぶだっこでgoogleについてく方が勝ち馬に乗れそう
結論:ハッカー連中がフルタイムで働くための開発資金
ハカーは勤務中に内職させた方が本来の能力を十二分に発揮する。
googleが提供するオープンソースは、結局のところ、 多くの人々にバザールモデルの限界を感じさせるものであった (そして、M$がいかにボンクラ集団であるか)
× 内職 ○ 現実頭皮
仕事よりライフワークの方が重要
大方、5、10年の長期スパンでライフワークに取り組んでいる連中からすれば、 golangやnode.jsといった一時的な流行は何か魅力に値するモノではないのだ。
禿ですね わかります
>>172 少なくとも現時点ではGoはshared library(DLL)作れないのでお話にもならない
cのライブラリがリンクできるみたいだし、十分に遊べるだろ 個人が遊んでる間に実用化されるよ
> 個人が遊んでる間に実用化されるよ Goが発表されたのは2009年11月 すでに3年たった。 どう考えても実用化のアナウンスがあってから 遊んだほうが効率がいい。
>>172 と
>>181 じゃ大分温度差があるなw
C++を駆逐しかねない勢い vs 十分に「遊べる」
そりゃ遊べることは遊べるだろうよ
出来合いのCのライブラリをffiで呼ぶなんてのは要はLLと同じ立ち位置であって
部品を作る側になれなきゃC/C++のポジションは奪いようがないけど
大分おおいた 温度差 便利な言葉です
便利な言葉は事実だろう。 それよりも反論が聞きたいのだが、 ないということかな?
だから、個人が遊んでいる間に、soぐらい作れるようになってるだろと
5〜10年後で普及した時点でドヤ顔できる backbone.googleってヤツだろうな 今の状態だって、使い勝手でいえばc/c++上だろうに。使ったことないけど
ブームになってから使い出したって、古参ぶれないんだよ?
古参ぶることの意味は無い。 あとから来てさっそうと追い抜くのがかっこいい。
アセンブラとlispとCをやっときゃ 何が来てもマニュアル見れば書けるさw
jsやPHPの経験だけでも、マニュアル見たら書けるに決まってんだろ 何か書きたいものがあって、それに対して使いやすい道具を使うんだよ
指輪物語で言う「全てを統べる一つの指輪(言語)」は無いのかよ?
何々ができるようになってから使うとか言ってる人は 結局使わない人なんだよ 完璧な言語なんて無いんだから、何かが満たされても別の何かに文句言って 結局使わないんだよ じゃあ使う決め手は何よ?と問われれば、それは愛と答えるしかない あのウンk言語のPHPが使われてんのスカ○ロファンが多いからなんだよ
これぐらいやってからほざけよ hirata-create.toypark.in
ひらたらのステマ
おまえは平田だろ
お前らも素人に負けるなよw
>>194 それってwin-binderを勝手に紹介してるサイトなの?
速度なんてどうでもいいアプリなら、c++よかPHPで作る方がマシ
定期的にhirataraが宣伝してんだろ
hiratara
@hiratara
I'm a Japanese engineer born in Tomakomai :-). I like Perl, Python, Java, all kinds of music, video games(DDR, pokemon, etc.), mathematics(category theory).
Japan Yokohama ・
http://d.hatena.ne.jp/hiratara/
片山博文MZと似たようなもんだな
javascriptへの一極集中ってバベルの塔の神話にそっくり そして、数年後にはバブルの塔は浜辺に打ち上げられた マッコウクジラのようにはじけて皆チリジリになるんだ...。
本来一つではないものを一つに集めても矛盾するだけ 散り散りになるのは元の状態に戻るだけで、べつに罰が当たったとかではない 仕様です
2007年頃から始まったLL戦争。 perl,python,ruby,lua,gauche,scala,clojure,haskell,ocaml,js これって実は、オライリーの書籍販売戦略に 学生やweb開発者が騙されただけなんじゃないだろうか?
ステマに騙される広告土方ってステキ
現実を見えてない人はこれだから
C++とPerlを倒すための戦争だろ 戦略は、ガベコレと脱OS依存
そもそも戦争なんて現実には起こってなかった(南京大虐殺的に)
戦争というかサバイバルだな。 どれが生き残るか。
なんか正月にちなんだお題とか無いのかよ?
Pythonってswitch文がないらしいけど、ライブラリの裏ではif 〜 elseif使って色々と書いてんの? オブジェクト指向型言語つーても、どのインスタンスを選択するかとかでswitchやif 〜elseif使わざるえないと思うんだけどな
212 :
211 :2013/01/03(木) 01:44:14.42
いや、動的型付け言語だったらどうとでもできるか
213 :
デフォルトの名無しさん :2013/01/03(木) 05:24:03.79
多分岐はメソッドディスパッチで書けるように設計するのが オブジェクト指向言語のベストプラクティス
215 :
デフォルトの名無しさん :2013/01/03(木) 13:41:45.77
>>214 pythonはオブジェクト指向言語じゃないよ
セミナーや講座って、何で3〜7万もするんだろ 下方面のサービスでもついてくるの??
217 :
デフォルトの名無しさん :2013/01/03(木) 21:37:45.37
別にJSでCやJavaを代替しようなんて思ってないだろう。 ただ、PerlとかRubyとかスクリプト言語はJS一個で十分だろうってだけで。
appletはJSに代替されたし、もしandroidも代替されたらJavaはもうだめだろう
JSなんか誰も使ってないじゃん
JSとかブラウザで何でもできれば便利!厨とかUnity厨見ててかわいそうになる 先見性が無く新しいものにつられて本質が見えてない感じ まさに低脳の真骨頂って感じだよな 前にcoffescriptだああーい!とかわめいてたやついたけど 新しいものを取り入れることを美徳としてるやつは気持ち悪いし なんだかんだPerl使ってるよ
前半は賛同できるがPerlはねーわ
222 :
専業20年 :2013/01/04(金) 00:36:03.49
5年くらいHaskellつかってるけど何も不自由してない
Python(パイソン)は、オランダ人のグイド・ヴァンロッサムが作ったオープンソースのプログラミング言語。 オブジェクト指向スクリプト言語の一種 - Wikipedia
224 :
デフォルトの名無しさん :2013/01/04(金) 03:46:16.22
WebのサーバーサイドはLLはJSで統一された後も、 Perlはsedやawkと並んでシステムツールとして細細と生き残りそうな感じはする。 10年後、Perl5.24とかになって。
Perl最強
>>220 JSって今ブラウザだけの言語じゃなくなってると思うぞ
新しい環境やライブラリをポンポン出し過ぎて
どれも中途半端でスタンダードが決まらない感じがするのは確かだが
統一性が無いんだよな それにブラウザ扱うならJS一択ではあるけどそれ以外は代替言語がいくらでもありJSである必要はない
もうSSJSはnode.jsで確定しただろ.cpanのモジュール数を他と比較してみろよ perlと青春を共にしたジジイが、perlと共に心中するならともかく PHPにも劣る糞言語を若い世代に引き継がせるなよ
>>224 システムツールを書く道具はperlからpythonに置き換わった
>>227 ブラウザをjsで扱うから、他の部分もjsで書くんだよ
perlやrubyなんて学習コストの無駄。pythonマンセー
>>222 おまえがhaskellで済む業務に従事できただけのこと
>>220 本質だけで考えれば、今だにSDLとc++でゲームでも書いた方が有意義だよね
>>229 システムツールと
システムツールを書く道具
この両者は似ているようで全然違うぞ
本物のプ
php批判するのはわかるが現実的にはWEBでは圧倒的にphpのシェアがでかいし 簡単という利点があるからだろう。 批判するなら他の言語使うか改善点を書けば良い。 もし改善してphpの良さが無くなるなら欠点が利点になっているということだ。 万能な言語なんてないんだよ。 本当に上手い人は欠点と利点を理解して場面に応じて使い分ける人。
批判し合うことを楽しむスレだからな
perlをPHP以下と扱き下ろしただけなのに、 なんでPHPが批判されたと思ったんだろう? そもそも、GC付きのOOPLなんて幾ら学んだところで プログラミングのパラダイムなんて変わらないだろ
>>235 >万能な言語なんてないんだよ。
web屋が扱うのって、どれもほとんど大差ない似たような言語ばっかだろ
html5製のアプリケーションを見ると時代が変わったんだとしか思えない
アプリ起業iPhoneC#まとめ Ver 1.5 http://tinyurl. com/9w97424
Perl Python PHP JSは全部学ぶ必要があるな Rubyは知らねw
Perlを入れてくれてありがとね
>>241 学ぶって、どんなレベルで?perlなんて文法さらっと眺めるだけで十分だよ。
せいぜい、unixの特殊記号を幾らか覚える程度
あんなバッドノウハウの温床は今じゃ手を動かすだけ時間の無駄だよ
perlでオブジェクト指向やるぐらいなら、さっさとPHPやrubyに以降した方が良かったんだ
というか、需要の殆どはPHPとjsで大体が片付く。
html5がアプリケーション開発の基盤としてデファクトになるのは時間の問題 OOPのノウハウ生かすには、dartがピッタリだろうけど windowsやmacの上では政治的な理由で動くことはないはず。 javascriptとhtml5を弄っておきゃ、暫く安泰だよ どのみち他言語からでも弄る必要が出てくるんだから
245 :
デフォルトの名無しさん :2013/01/05(土) 18:24:12.97
PHPとrubyはないわ
JSの箱庭環境はSmalltalkに似ているな これがOOPのノウハウか
how to become a hackerというサイトには、 Python, Java, c/c++, Perl. LISPを学べとある
PHPはwebで使うけどRubyはねーよ 日本国内でちょこっとしたもの作るならPerl 日本の資料がすくなくて 海外にPythonで書かれてることがあるからそのときにPythonのコード読めると便利程度
249 :
デフォルトの名無しさん :2013/01/05(土) 23:07:11.12
Pythonが使われてるのってLinuxだけでしょ。他のOSやミドルウェア付属のツール考えるとPerlの利用は広範に渡ってる。 2系と3系の問題もあるし、なによりワンライナー書けないのでPerlやAWKと同じには使えない。
何というか Perl -> 言語としても使える、コマンド Python -> REPLツールとしても使える、言語 って感じがする、現状では食い合ってないと思う
PerlってかCPANがすごいような気がするんだが、gemとかと比べてどうなのよ実際
Linuxの極意はコマンドと言語の二刀流だった
perl案件って今あるの? webはphp、js、sqlがほとんどだしPythonは海外のもので使うくらい rubyはよくわからんがどこで使われてるの?
なんか、Perlでまだまだいける気がしてきたw
ワンライナーで済むような仕事なんてどんな言語使っても大して変わらんでしょ そーいう意味でPerlはまだまだいけるよぉー アハハハハハハハハハ
256 :
デフォルトの名無しさん :2013/01/06(日) 01:05:18.98
UNIX系のOSだとPerlが無難だもんな。特に気をつけなくても、古いOSのシステムPerlでも動くし。 BSD系だとBash入ってないとか、いろいろ面倒だもんな。
多くのことはawkでできる
みなさん、笑うところですよ?
【審議中】 /\/\/\/\/\/\ ./ ./| /| /| ./| ./| ./| ∴\/./ . / / / / / ゚∵ |/∵|/; :|/:;;;|/.;. |/ ;.;|/ _, ,_ _, ,_ _, ,_ _, ,_ _, ,_ _, ,_ (ノ゚Д゚)ノ゚Д゚)ノ゚Д゚)ノ゚Д゚)ノ゚Д゚)ノ゚Д゚)ノ / / / // // // // /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
AWK(おーく)
Perlができればawkは勉強しなくてもよい 両者の機能はかぶってるし
sedで簡単にできることならsedで済ますだろ普通
>>256 POSIX準拠なら、sh,awk,sedを使うよ
可搬性考えるなら、perlなんて使わないから
>>247 アレが書かれた年代と今日の計算機事情を考えろよ
当時に弄るものがunixとperlだっただけで、今はブラウザとjsの時代だぞ
>>251 随分と前にcpanはgemに敗北して死に体
pyplにもモジュール数で敗北
急激に成長しているのがnpm
>>247 最近、ESRが某魔法少女に出てくる白いヌイグルミに見えてならない
>>263 何気にPerl導入先としてオススメしたいのはcmd.exe
あいつsedもawkも無けりゃバッチファイルも書きにくいからな…
その辺をひとつで見事に埋めてくれるので重宝する
windowsを触る必要が出てきたから素直にpowershellの使い方を覚えるよ 青年期のオタクたちの熱狂と絶望の相反転がOSSのエネルギーなんだよ
要するにcygwinが不人気すぎてperlが人気なんだな
ブラウザ弄る必要あるから、JScriptかnode.js windowsでperl使うやつの気が知れない
君たちがOSSに参加して叶えたい願いはなんだい?(震え声)
おきゅうりょうをいっせんまんえんにしてください。
君の願いはエントロピーを凌駕しなかった
とうふ屋が公道でプロと戦いたいみたいなあれだろ
>>270 ブラウザ弄るってActivePerlのことを言ってる?
Windows環境でPerlっつーたらCGIのテスト用かcmd.exeが基本でしょ
>>275 CGIって、PHPやnode.jsじゃ出来ないの?
>>269 CygwinはWindowsとUnix系の知識がある上で
更にCygwin独自のことまでやる気がありゃいいが
そうでなきゃ仮想にLinux入れたほうがよほど楽だからなあ
>>265 え、RubyもPythonも1万モジュールぐらいあるの?
>>276 そりゃ出来るし新規ならその辺のがいいが
過去遺産のメンテ用としてはしばらく居残ると思われ
PowerShellは意外とPerlっぽくて嫌いではない 慣れるのと学習が大変
>>278 ム板の何処かで、パッケージマネージャーのモジュール登録数のグラフが掲載されてたよ
それ見た限りじゃ、随分と昔にgemがCPANを遥かに越えて
昨年の中ごろぐらいにCPANがPyPIに追い越されてた。
>>280 個人的には学習よりも
「パイプに流れるのがテキストでなくオブジェクト」
ってのが現状ではあまり利点になってないのが問題だと思う
外部コマンドからPowerShellオブジェクトを流したり
逆にPowerShellオブジェクトを外部コマンドで扱いやすくならないと
>>281 調べてみたら、どれも考えていたよりも多かった。
ruby 48,681
python 28,725
perl 23,989
scipyとgithubがrails製のうちはpython,rubyは安泰だろうけれど モジュールが何時までメンテされるか考えるとなかなか憂鬱 みんな、Larryに酷いことしたよね?(´・ω・`)
285 :
デフォルトの名無しさん :2013/01/06(日) 22:55:35.21
>>231 案件とか業務って考えが古くね?
自分から仕事は作るもんだろ?
仕事を作り出すのは簡単だが、 金を貰える仕事にするのは難しい
287 :
デフォルトの名無しさん :2013/01/06(日) 23:09:26.74
>>286 勤めながらだって出来るだろう
残業しない奴は大抵隠れて自分の仕事作ってる
お昼のお仕事と趣味のプロジェクト、昼の仕事でもすぐ金にしたい場合とそうでもない場合で、 選ばれる言語は変わってくるだろうから、そのあたり考慮した上でどの言語推しか聞いてみたい。 Web系で頼まれてパッと作るならJavascriptにPHPかPerlの二択だけど、 将来的にJavascriptで全部作られるようになると思ってるとか、 でも家ではHaskell使ってるとか、そんな感じの
>>286 簡単だが面倒臭いのが仕事
難しいのは博打か詐欺
290 :
デフォルトの名無しさん :2013/01/06(日) 23:56:21.63
>>288 cとjsできればすぐ金になる
自己投資するなら関数型
プログラミングの概念が違うから
そのうち金の成る木になる
phpは仕事の単価が安いからおすすめしない
安すぎて促成栽培の未経験に仕事させるのが現状だし
外注には誰でもできる仕事か火消し案件しかない
小銭稼ぎたいだけならやる価値もあるかな
pythonとrubyは運用を自動化するツールとしては使いやすいから自宅プロジェクトで採用してみるとか
自宅プロジェクトは失敗するためにやるから
挑戦したほうがいい
291 :
デフォルトの名無しさん :2013/01/07(月) 01:15:30.67
んとね 経営者視点から見ると単価の下がる言語が良い言語 一円たりとも余分な人件費はださんぞ というのが世の風潮 安倍政権だからプログラムはインドへ外注の時代が来ますわ。
今頃になってインドに外注とか始めて、お手頃価格のやつが見つかるとでも?
インド人を右に
294 :
デフォルトの名無しさん :2013/01/07(月) 02:12:21.94
>>291 マジレスすると降ってくる仕事こなすだけの仕事は一昔前の内職みたいになる
関数型にしてもただ出来ればいいわけじゃなくて自然言語処理とか機械学習とかそういったのができないと金の成る木にはならない
295 :
デフォルトの名無しさん :2013/01/07(月) 02:20:44.59
オープン帝国はすべての付加価値の高い仕事をオープンに致します。
296 :
デフォルトの名無しさん :2013/01/07(月) 02:38:14.80
297 :
デフォルトの名無しさん :2013/01/07(月) 03:06:59.74
>>282 なってるだろ。UNIXのシェルじゃ、デリミタ決めて切り出すしかないんだから。
298 :
デフォルトの名無しさん :2013/01/07(月) 03:15:30.63
加えて、UNIXのシェルのダメな所は外部コマンド使わないと何も出来ないし、外部コマンド毎にインターフェイスがバラバラな所だな。 そんなの面倒な事考えるくらいならAWK使おうとか、AWKは低機能だからPerlとかPythonで書いちゃおうって。
>>296 > 大分前に来てるよ
こっちは今福岡だよ。大分の前ってどこ?
>>294 > マジレスすると降ってくる仕事こなすだけの仕事は一昔前の内職みたいになる
とりあえず言ってみましたってセリフにしか見えないなw
一昔前の内職みたいってなんだ?
素直に副業って言えばいいじゃん。
本業は副業にはならないがね。
何を言いたいのかさっぱりだ。
301 :
デフォルトの名無しさん :2013/01/07(月) 04:01:42.36
自社サービス立ち上げるって言っても、それは良い企画だとか運転資金だとか広報だとかがあった上での話で、プログラミング能力はいろんな必要要素の中の一つにすぎない。
>>297 デリミタ決めて切り出すしかないが
逆にそれさえ出来ればどんな環境でも扱えるのよ
現状でPowerShellのオブジェクトをそのままオブジェクトとして扱える環境ってどんだけあるよ?
PHP,js辺りのweb系ってインドに外注するような仕事じゃないだろ
>>295 ソフトウェアのパテントなんて払っていたらmatlabなんて使えないよ
というか、オープンにされてても理解できない奴は理解できない
>>297 >>282 じゃないけど、外部コマンドの扱いに関してはUNIXシェル方式の方がいいな俺も
結局プロセスの標準入出力はオブジェクトじゃなくてただのバイトストリームなんだから
external_command1 | external_command2
とか
external_command1 > file
とかでいちいち間に割って入ってStringのリストに変換されてもな
PowerShellが想定してる文字エンコーディング以外のデータ(バイナリを含む)は
全て破壊されるわ、全く不必要な処理に効率を削がれるわでいいとこまるで無し
PowerShellとかわざわざ作るくらいなら、むしろzshでも標準装備してくれたほうが 遥かにマシなのにな
web系って、そのうちtwitterやfacebookみたいにサービスレベルで分業化されそう
今時Perlなんて基本的に脆弱な言語を使ってるなんて信じられない。 *.plファイル探してテンプレ見つけりゃハッキングしまくりじゃん。
Rubyのほうが脆弱ですよ
>>309 *.phpでも*.rbでも*.pyでも同じ話だろに。
俺はPowerShell好きだなぁ、コマンドレット名の統一感とか充実したヘルプとか 全てオブジェクトなのもso coolだよ
>>303 Convert-Csv/Import-Csv(もしくはxml,json)があるんだから
オブジェクトそのまま使う必要がないでしょう
内部ではオブジェクト、入出力はテキストってのが醍醐味かと
>>306 想定しない文字コードでデータ渡されたらどんなプログラムでも駄目だよ
だからnkfだのiconvだの変換ツール使って皆せこせこやってるわけで
あと(幸か不幸か)PowerShell環境で外部コマンドだけをパイプでどんどん繋ぐような状況ってまずないよ
何かでUNIXコマンド一式揃えてそれでテキスト操作するとかならともかくね
>>313 それは俺としては幸でなく不幸だな
それまでの財産全部捨てて車輪再発明しろと言われてるようなもん
そういうの含めて「まずない」のだとしたら有効な代替案でもあるんだろうか
>>313 > 想定しない文字コードでデータ渡されたらどんなプログラムでも駄目だよ
EBCDICやUTF16とかならともかく、ASCII互換の文字セットなら
いちいち文字エンコーディングを変換する必要のない処理は多いだろ……
必要な時に必要に応じてエンコーディング変換を入れられるってのがいいんだよ
PowerShellの必要もないのにエンコーディング変換してデータを壊すような仕様は
余計なお節介っていうんだ
> あと(幸か不幸か)PowerShell環境で外部コマンドだけをパイプで
> どんどん繋ぐような状況ってまずないよ
へえ、なら動画、音声のようなマルチメディアデータをどう扱うの?
少なくとも command > file でエンコード変換するのはどんな理由でも正当化しようがないと思う 無駄以外の何物でもない上に、本来可能な標準出力のseekabilityを殺してる
>>315 「そういうの含めて」が単にWindowsにsh系コマンドそのものがないことを言ってるなら
それはもうPowerShellの仕様がどうとかは関係ない話だからなんとも
>>316 シェルってパイプ繋いだ外部コマンド同士のやり取りでマルチメディアデータを編集したりするもの?
バイナリデータをくっつけたい時は確かにcmd呼び出してcmd /c copy /B aaa.dat+bbb.datとかするけど
>>317 このコマンドはこの文字コードでテキスト出力する、っていうのを全部事前に知っていて
その文字コードのまま編集・出力できる何か、以外ではどうあってもそういう事象は起こりうるよ?
だから内部ではUTF-16LE固定で入出力の際に文字コードの指定するようにしてる
標準リダイレクトではSet-Contentのように文字コード指定できないのは確かに不便だけど
>>318 > シェルってパイプ繋いだ外部コマンド同士のやり取りでマルチメディアデータを
> 編集したりするもの?
Windowsでもcmd.exeなら普通に出来るぞ
soxとかffmpegとかnetpbmとか、あるいはlameやx264等色んなコマンドラインの
エンコーダを使ったことがなきゃ知らないかもしれないが
PowerなんとかやMS-DOSのようにパイプがまともに使えないなら一時ファイルという
ことになるが、並列実行ができないから非効率な上、動画ではディスクアクセスと
一時ファイルのサイズが膨大になるので全く実用的じゃない
>このコマンドはこの文字コードでテキスト出力する、っていうのを全部事前に
> 知っていてその文字コードのまま編集・出力できる何か、以外では
> どうあってもそういう事象は起こりうるよ?
何言いたいんだかさっぱり分からん、誰か解説してくれ
もしかして伝統的なシェルやcmd.exeの仕様を知らないのか?
cmd.exeや伝統的なシェルはプログラムの出力をリダイレクトする際に勝手に横取りして
内容を改変したりしないから「そういう事象」は起きない
だからバイナリデータであってもまったく透過的に扱える
>>319 318でちょろっと書いたけど、シェルなんだからcmdでできることはcmdに使えばいいと思うよ?
PowerShellでできない時のためにシェルらしく簡単に外部コマンド呼び出せるようにしているわけだし
自分は美学がないんでそう思って使ってる
文字コード云々は
>>317 にある話の続きで、パイプでどんどんコマンドの出力結果を加工して最後ファイルに出力する場合の話ね
単にUTF-16以外を吐く外部コマンドの結果をそのままリダイレクトしたいときは確かに今の仕様は面倒だと思うよ
そういう場合はcmdを使えばって話になるけど
>>320 すばらしい! やはりPowerShellは最強だと証明された
cshで標準出力を標準エラーに出すことができないから sh -c 'echo foo 1>&2' とか書くしかないのを思い出した
web系って東京が飽和すると、ニアショアでやるんだろな 地方の高齢者が財源だとすると割りと妥当なのかしら
324 :
デフォルトの名無しさん :2013/01/08(火) 09:56:19.11
去年mixiかどっかのサーバー技術者ブログで、psコマンドの出力をフィルタリングしてソートして整形してとか、その手のシェルのパズルゲームみたいなの何問か出題してあったんだけど、 そんなのPowerShellなら問題にならないというか、サーバー管理でそんな事をいちいち考える必要があるってまったく生産的じゃないと思った。
そういってみ 「生産的である必要があるのでしょうか?」 とか大体返すんだよな 車輪の再発明でクソゲー作ってるやつも 似たような言い訳をする
おもちゃ作りなんてしょせんそんなもんてことだね。
PowerShell使えるなら使えばいい、というだけの話
そういってみ 「車輪の再開発で何がダメなんでしょうか?」 とか大体返すんだよな bash信者やzsh信者もお互いに 似たような言い訳をする
で、どんなヤツがPowerShell使ってんの?
人と同じことをしたくなくて 自分を差別化したい人間が使ってるの
331 :
デフォルトの名無しさん :2013/01/08(火) 18:13:23.24
WindowsのサーバーソフトはもうほとんどがPowerShellに対応してる。
>>324 てか、使い慣れた道具なら手足のように動くのでパズルにはならない
Pythonでsetっていう関数があるんだけど Perlでそういうのはないの? a = [1,2,3,4,5] b = [2,4] a-bで [1,3,5] になるようなのってないのか? Array::Diffとか以外で教えて
my @a = (1,2,3,4,5); my @b = (2,4); my %set = map {($_,1)} @b; my @c = grep {not exists $set{$_}} @a;
336 :
デフォルトの名無しさん :2013/01/08(火) 22:12:27.55
きもい、きもい、きもい、Perlきもい、Perlの変数きもーい
きもいな Perlはきもい
差とるごときで
>>335 のコードか
use List::Compare;とか使わないとできないんだよな
めんどくさいな
久々に見たperl忍者がperlについて何処かネガティブw
偽者だろ
リストをハッシュに変換するのは気持ち悪い? じゃあリストしか使わない言語がよいよね
>>334 my @a = (1,2,3,4,5);
my @b = (2,4);
grep{ not $_ ~~ @b } @a;
343 :
デフォルトの名無しさん :2013/01/09(水) 00:32:59.78
変数に%@$とかつくのがキモい
付けないのも存在するよ、それはそれで別の意味になるけど
>>343 おっと、シェルスクリプトを悪く言うのはそこまでだ。
346 :
デフォルトの名無しさん :2013/01/09(水) 07:11:58.99
死ねゴミ共が 死ねゴミ共が 死ねゴミ共が 死ねゴミ共が
動的言語のコミュニティが率先して作るべきは、 parrotだったんじゃないのかなと思う今日この頃
亡国の動的言語〜彼らは如何にして踊らされ滅んでいったか〜
そういう未来が来るといいねw
セフレがPHP,jsだとしても、嫁はGNUstepにしたいと思う
iPhone/iPad関連のアプリで儲けてる連中って バブル崩壊と共に修道者みたくなってGNUstepとか使いそう
353 :
デフォルトの名無しさん :2013/01/09(水) 20:35:06.33
Perl6は惜しかったよなー。せっかくMooseで型宣言出来るようにしたのに。 1)Mooseを組み込みにして、2)配列の値に配列を直接置けるようにする、これだけで良かった。 馬鹿みたいに機能増やそうとしたの誰なんだろう。センスなさ過ぎる。
集合の中に集合を置けるというのは自明ではないから センスない奴らは Set< Set< T > > とか T** みたいな宣言に踊らされるだろう
> 集合の中に集合を置けるというのは自明ではないから 自明じゃないとお前が思ってるだけじゃね? 例えばフォルダの中にフォルダはおける。
357 :
デフォルトの名無しさん :2013/01/10(木) 06:09:04.09
だって他のLLはそれできるもんな。 Perlはそれができないせいで、変数は何でもかんでも配列リファレンスかハッシュリファレンスになっちゃう。 せっかく@や%で型を明示できるのに、リファレンスはスカラと同じ$だから、型が実質機能してない。 しかも関数によってハッシュリファレンスじゃなくてハッシュを受け取ったり、配列じゃなくて配列リファレンスを返したり、関数によってバラバラ。 だから、いちいち関数の仕様を確認しないといけない。
他のLLはそれできる できるのに型が実質機能できてない他のLLの意味がわからない
359 :
デフォルトの名無しさん :2013/01/10(木) 07:09:46.52
Perl5の配列の値に配列を置けない仕様は、昔Matzも批判してたよ。意味がわからないって。 Perl6だと直接置けるようになるんだけど、Perl6が出る見込みはないからね。
perlの普及はperl6の黒歴史化によって支えられたと言う皮肉
361 :
デフォルトの名無しさん :2013/01/10(木) 08:22:46.78
python3も黒歴史?
awkも同じだけどな。 要するに、変数の中身が配列なんじゃなくて、変数そのもののほうが配列だから、そうなっちゃう。
363 :
デフォルトの名無しさん :2013/01/10(木) 09:21:37.83
>>361 perlが絶滅して全部python2系に置き換わるなら
python3は黒歴史になってもいいわ
Python3は3.3からが本気。3.2以前は黒歴史とは言わないまでもいらない子。
PHP,js以外は全部、イラナイ子
おまえにとってはそうなのだろうw
Python 3てそんなに評判悪いの?
Perl最強
scirubyが出来てだからpython一択。
pypy
Perl最高
Rubyちゃん息してるぅー?
perl,python,rubyと全滅したよ
railsブームで人生を脱線
toby_net乙
376 :
デフォルトの名無しさん :2013/01/11(金) 00:34:36.29
pypyまだ寄付あつまってないのかよ もう一年以上たつぜ
「ただちに」アップグレードを推奨: 「Ruby on Rails」のアップデート公開、極めて深刻な脆弱性を修正 Webアプリケーション開発フレームワーク「Ruby on Rails」に 複数の深刻な脆弱性が見つかり、修正のためのアップデートが公開された。
378 :
デフォルトの名無しさん :2013/01/11(金) 05:22:09.45
Railsってバージョン上げたら、モジュール全然動かなくなるよな。PHPで一から作った方が早い。
これからはlispの時代だ
まじっすか
いや、アセンブラの時代だよ
Lisp?アセンブラ以上に無いわー。 仕事でLisp使ってるけど、今後もLispがメインストリームに 来ることは無いと断言できちゃうわー。
Lispは話題にして貰えるだけまし F#好きな俺はどうすればw軽量さがいい Scalaはどう考えても評価されすぎ
Lispは話題になると言っても99%ネタ扱いだし、しかもネガ方向という。 もうそっとしといてやれよ。
Boo
PHP,js以外はゴミ
パイプでもWebでもいいがとにかく相手側の言語は見えない 見る必要もないし見せる必要もない これが情報隠蔽だ
見えすぎちゃって困るの〜♪
東急の電車から渋谷の駅前に見えるマスプロももうすぐ見納め
golangなんてザルだから
逆に考えるんだ。攻められちゃっても良いんだって
lispとかGoとかわめいてるやつみると スノッブ効果って感じだよな 言語による差別化 人と違うことで優越感を味わえる
394 :
デフォルトの名無しさん :2013/01/13(日) 01:16:02.66
javaが逝ったから、これからは C/C++ vs C# vs python の時代だな。
セキュリティホールが潰れたんだから、堅牢になったんだよ
>>394 情報新しいね
でも鯖レベルではperlの直観性は、きのこると思うよ
GAEやAWSつかう
いいか間違えたフリしてヤバって呼ぶなよ絶対だぞ
>>393 そーいうマイナー発言で優越感味わってるわけですね
この先、鯖屋って生き残れるの?
401 :
デフォルトの名無しさん :2013/01/15(火) 10:58:52.56
クソスレ乙w 消えるか死ねやお前らw プッw
402 :
デフォルトの名無しさん :2013/01/15(火) 14:24:20.59
switch文で文字列比較が出来る言語はどれ?
このスレに怒りを感じるのは、 生え際の後退したperlerかrailsで人生を脱線したヤツぐらい
使いやすい言語について熟慮した連中のおかげで、 3つも4つも文法とイディオムを覚える羽目になった
c/c++にcpanやgemみたいなものありませんか?
C/C++はライブラリの置き場所が自由すぎて手動でやった方が早い
>>402 rubyは、switchの意味でcaseをつかってできる。breakは不要。
case は一つの式に対する一致判定による分岐を行います。when 節で指定された値と最初の式を評価した結果とを演算子 === を用いて比較して、一致する場合には when 節の本体を評価します。
制御構造 - Rubyリファレンスマニュアル
CakePHPの開発者のブログを眺めたら、作った理由の1つに自分のmacでrailsが動かないだった
410 :
デフォルトの名無しさん :2013/01/16(水) 08:11:31.44
411 :
デフォルトの名無しさん :2013/01/16(水) 08:32:43.81
どうしてpythonにswitchがないのはなぜ?
switchなんてクソなもんは、if elseかdictで十分代用できるからいらねーだろ ガタガタ文句言うなら使うな、と公式に声明出されてるだろ
>>410 なんだ?perl mongerやruby gangには自覚症状すらないのか
代用できるからというのは 答えとして良くないよな。 どちらが見やすいか?という 観点が抜けてる。 switchをif elseでやると冗長になる。
パターンマッチならともかく、今更switchとかアホすぎてワロス
言語設計の哲学が「見やすい」より優先順位が高いから
リャマ本のelsif辺りの項目にも似たような話載ってたな
自分で、ほげの機能が付いたperlを作れって
>>415 ,
>>416 のレスから加齢臭がする
長いswitchを書く時点で、何か間違ってないか点検しろって話なんだろうな。 どうしても必要なら、テーブル使えと。
さすがにテーブルを直接書くよりは、 switch文で書いて最適化で必要に応じてテーブル化される形のほうが 保守しやすいと思うんだが
Perlは後から付いたよね、given〜when…だっけ?
君が思う最高に素晴らしく保守し易いswitch文の例を書いて見せてくれよ
>>420 perlで標準なのはgiven when。
一応CPANにSwitchモジュールもあるけど、
given whenを使ってくださいみたいな扱いになってる。
最近、よく眺めるビッグデータの活用 最大のネックはプレジデントを読む層にあわせて スーツを着ることなんじゃないかって気がしている
プレジデントを読む層が経済的に上位2割だとすると、 8割の人間にとって嫌悪の対象だってことは明白。
素人と訓練されたオタクがPHPを使うんだって気付いた
しばらく使わない間に、そのイディオムは忘れる
反権威主義の象徴といった理由を除いて、rubyを使うメリットが見当たらない GNUや関数型のコミュニティは、本当にぶれないのでプログラミングを楽しめる
反権威主義の象徴?(゚Д゚)ハァ? rubyが?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?
rubyはモルモンの象徴です 本当にありがとうございます
トップダウン型のコミュニティは、最初に決めた目標を達成したら消滅します 生き残るのは、決めたことがブレるトップダウンと、目標を決めないボトムアップ
目標を天国にして、達成できないようにすれば永遠だ
とりあえず、Perlでいろんなものを作ってみようと思う
神は天国にまで届こうという成果を見て傲慢さにお怒りになられた。 かくて我々の使うプログラミング言語は乱されたのである。
バアルのようなもの
GNU Ruby (グルービー)
Look, JS is comming on cloudss! (Revelation 1:7)
MicroSoftのロゴを見てごらんよ。真ん中に十字架が飾られている c#なんて4つも十字架があるし、cloudにはnode.jsも来た。 それと比べたら、余所はデーモン、vi vi vi(獣の数)、 バアル、ヘビ、リンゴ、モルモンといい、 OSS被れは何処も彼処もエゴブーばかりじゃないか
まむし(Python)のすえたち
プログラミング地獄への道は、人々の善意で舗装されている
みんな、もう一神教にでも改宗したら?
他国の宗教事情からすると、日本での聖地巡礼は世界へ誇れる 少しだけ残念なことは、同じく宗教絡みで、シリコンの使われ方なんだ
fooで出来たbarをbazで弄るためのhogeはありませんか?
split関数とjoin関数を使えばよい
swigやIDLに相当するものが欲しい
「xxxは技術力が低い」←エゴブーを釣る手っ取りはやい方法
スターエンジニアが味方ならともかく、彼らには勝てないし、 敵に回すだけって気付いた瞬間、windowsが救世主に見えてきた
プラットフォームが増える毎に指数オーダーで増えるバグを潰せるかって? javaやPHP、jQueryの普及が、皆の直感として反映されてるんじゃないかな node.jsとhtml5が持ち上げられる根拠だよ。パテント払いたくないだろうし
448 :
デフォルトの名無しさん :2013/01/20(日) 06:46:37.28
tweetコピペるの流行ってるんか
適当に書きなぐったんだけど、イタコが天職なのかな?
けどほら、皆、才能なんてないんだし、わざわざ苦労してwindowsの柵を越える必要なんてないんじゃない? windows上でやるようなレベルと大差ないことするんだし、よく分からない依存関係だとか、バグだとか、足元を撃って、 大して好きでもないプログラミングに人生の大部分を奪われて大変なだけだよ もっと他に楽しくて魅力的なことなんて一杯あるから。ほらあれ、若さ故の過ちってヤツだよ
____ / \ / ⌒ ⌒ \ 何言ってんだこいつ / (●) (●) \ | 、" ゙)(__人__)" ) ___________ \ 。` ⌒゚:j´ ,/ j゙~~| | | | __/ \ |__| | | | | | / , \n|| | | | | | / / r. ( こ) | | | | | | ⌒ ーnnn |\ (⊆ソ .|_|___________|  ̄ \__、("二) ̄ ̄ ̄ ̄ ̄l二二l二二 _|_|__|_
プログラミングは、たのしい
>>450 MSがよいPrologの処理系を出してくれば、Windowsを使うと思う。
clojureみたく、出来合いのものを流用しなかったことが不幸の始まり
>>453 windows上で動くprolog処理系なんて腐るほどあるよ.
それってM$が出す必要あるの?というか、そんな馬鹿げたこと言うなんて、
そもそもprologなんて使ってないでしょ
d言語って、delphiやjavaが出た頃はまだ賑わって感あるけど、既に死に体
新スレ記念にマジレスすると Qt とか Python とか知ってしまうと D いらないんだよね
全てのOSに向けて言語毎に別々のインタプリタや仮想マシンを作るってのがナンセンスで、 cへのトランスレータかCLIみたいなものを作らなかったのが悲劇の始まり
pysideなんてQMLに移行した感あるんだけど
今日日の計算機環境で、目的もなくperlやpythonを弄るって、すごく頭のイタイ子たちだよね
perlは、正規表現の勉強になるよ
正規表現の勉強なんて、どの言語でも出来るから 拡張なのかPOSIX準拠なのか、その辺の違いの方が重要じゃないの?
文字列処理に関連した関数群がc/c++のコードを生成するコマンドラインツールで良かったのではないか
Perl使えたほうがいいな スクリプトでマネタイズもできるようになってきた マジさいきょっ
cで書かなければブームが去った後で、皆が飽きて保守不可能になる ってのが本当に良く分かる7年間だった
Cで書けるものを書いてるなら好きにすれば? 死ぬまでmallocとfreeに苦しめられるのが好きならね。
好き好き
実際に面倒な部分って、文字列処理ぐらいで、その部分だけrubyが生成すりゃ良いの
実際に必要なものって、objective-cみたいなOOPと、 使いやすい文字列処理だけで良かったんじゃないか
10年前に Obj-C を高評価してたなら言ってもいい台詞という気がするw
忍び寄る機能主義って、ずっと前から言われてるよね。
ILやllvm上にでも、世界を構築できる環境が整わない限り、 自然淘汰の原理からは開放されない世界に見えるけれど、 次のクリスマスが来るまで、皆、c/c++で何かをこさえるのかしら
インタプリタの保守なんて簡単だよ JITコンパイラは知らん
そうなの?改宗すると、インタプリタの保守だとか技術力とかどうでも良くなるね いろいろと悩みが無くなって本当に心が晴れた気分だ。 というか、皆、parrotの上にでも何か作ればいいのに。 出来ない理由について探したり、考察したりする気力もないから、誰か教えてエロい人
私に還りなさい 生まれる前にあなたが過ごしたwindowsへと この腕に還りなさい めぐり逢うため奇跡は起こるよ
>>457 PrologってCLIから外れているでしょ。クラスとかないから。
そこを別にサポートすることになればインパクトがあるんじゃないか。
はぁ?prolog .netでググッてからレスしろカス
論理型はIBMがそのうち本気でサポートし始めるだろうから M$なんて必要ないだろう。Prologとは限らないけど。
prolog作ってる老舗のメーカーがあるのに、わざわざIBMが作るような根拠って? 放っておいても、アカポスについてエゴブー共がLGPLで処理系を出すだろ
ああ、処理系出すとかそういう意味ではなくて、開発言語を 段々論理型に移行していくだろうと云う意味。関数型ではなくて。
だから、ソースは?論理型って80年代ぐらいに散々にコケて 使い道のないprologプログラマが世の中に溢れ返ってただろ 論理型へ移行って、それを何に使うの?
IBMが論理型へ移行する、IBMがprologをサポート、M$がprologをサポート prologってCLIから外れてるでしょ どうすれば、そういう意味でないなんて白々しい馬鹿なレスが書けるんだろう
>>485 根拠か。インド人はFunctionよりLogicがお好き。としか言いようがないなw
ソース寄越せってつってるのに、御前の思い込みなんて屑レスはイラナイ 死ねカスゴミ虫。どうしたら、そんな脳味噌がトロけた妄想できるの?
数年前のIBMが自然言語処理でprolog使うかもって記事でも出てくるかと思いきや、 語尾に気持ち悪い草が生えたユトリの屑レスだった
>>489 元々最も強力なPrologはIBMにあると言われている。20年以上前から。
ワトソンについては、ビジネス応用とは違うからあれは予兆とは
いえないだろう。
PrologとかSmalltalkは ゴミであることを歴史が証明した言語
ソース派がうるせえー、オレは醤油派だ!
493 :
デフォルトの名無しさん :2013/01/24(木) 14:13:46.04
塩胡椒 >> 醤油 >> ソース
PrologとSmalltalkは簡単すぎて手続き型とあまり変わらないことが証明されてしまった じゃあMonadやtemplateみたいに難解にすれば良いのか?
>>494 Prologって言語の中で一番やさしいよね。そう思わない人が多いのはなぜだろう。
やさしければ良いのなら、変数の中で一番やさしいのはグローバル変数だ
集合は非常に単純な概念だが、 集合を取り扱う集合論が単純だとは思わない
集合は知らなくていいだろ 「listは集合だよね」「arrayは集合じゃないよね」みたいな風潮はどうでもいい
そんな風潮なかろう
ていうかlistは集合じゃねぇ
Prolog使っても人生が楽になりそうな気がしないんだよな
簡単にエキスパートシステムが作れるだろ メモ代わりにもなる
スマホで扱う簡単なエキスパートシステム作るだけでも、ユーザーから金を搾り取れる 最重要な要素はおっぱいだよ。おっぱい。
イノベーションやライフスタイルなんて関係ない。無料で提供して、 如何に課金させるか、猥褻な要素でユーザーの注目を引くかだけが重要。
GoogleのGや、html5の☆のロゴを見るとフリーメーソンの陰謀が見えてくる シナリオはバブル崩壊後の世界恐慌と第三次世界大戦
groovyのロゴなんて本当に気持ちが悪い
google,git,GNU,geek,gnome,gtkと頭文字にgが付くものはボイコットしよう。気色悪いし
Larry,Matz,Guidoのうち、guidoだけgoogleで一時期働いた理由なんじゃないかって変な妄想が止まらない
おまえら、レストラン数論って信じる?
>507 go GAE GLSL
グローバルスタンダードをボイコットした結果が、ローカル言語の乱立なんだよな
陰謀を軽々阻止する軽量言語
Prologは研究対象としては良いと思うんだが 実務に使えない実績がショボいという時点で舐められすぎで話の分かる奴が少なくて困る
実務でも使い道はあるのかも知れんが、ちょっと考え方が独自過ぎるのが障壁なんだろなあ
二進数しか使えないとかラムダしか使えない等のエキゾチックな設定がある方が良い 実績は気にしない
エキゾチックは違うだろw
エキセントリックだな
エレクチオンじゃね
519 :
デフォルトの名無しさん :2013/01/28(月) 03:56:25.45
民ちゃん
520 :
デフォルトの名無しさん :2013/01/28(月) 05:24:53.16
>>510 G類と呼ぶことにしよう。
ロゴはもちろん、あの茶色い羽を物生き物。
521 :
デフォルトの名無しさん :2013/01/28(月) 19:54:45.82
やっぱ可読性が低いな。保守管理が大変そう
524 :
デフォルトの名無しさん :2013/01/29(火) 08:04:55.35
主語がないぞ
主語じゃなくて目的語だろ
目的語じゃなくて述語だろ
無いのが主語じゃないのに「主語がない」って言う奴っているよね あれ言い始めたの誰なんだろ
優位に立ちたいやつが言い始めた
主語がねーんだよ バーカw
『やっぱ(Rubyは)可読性が低いな。保守管理が大変そう 』
で、
>>521 のすぐ後のレスだから主語はRubyに決まってんだよ バーカw
『(
>>522 には)主語がないぞ』
主語がないぞw
主語い、主語い、理解できたようでちゅね、テストに出ますからねー
主語+動詞+目的語みたいな文法のプログラミング言語ある?
caller calls callee
姉ちゃん氷水
calleeといえばいなばのタイカレーはうまい
536 :
片山博文MZパンク ◆0lBZNi.Q7evd :2013/01/29(火) 22:27:29.05
最近Rubyが嫌いになった。動かないと意味ないじゃん!
一般論として、命令形の主語は、You You must You shall たとえば、作業員が主語なら、Workers shall
You は shock
539 :
デフォルトの名無しさん :2013/01/30(水) 02:53:06.90
I で空が落ちてくる
rubyはproductとして実用可能なレベルのhack v8はgoogleの提供するhack可能なproduct hackがproductに勝てるわけないじゃないか
転職サイトの技術力ってキャッチコピー、女子力と大してかわらない
軍事力の評論家ってアマチュアでも楽しそうで良いよね ITはプロと素人の仲が良くない気がする
PHPはうるう秒に対応できないようなのですが、 時刻を正確に管理している環境でPHPを使う場合どのような手法を とるべきでしょうか?
うるう年とうるう秒って単位が違うだけで手法は同じ?
俺の腹時計
うるう秒の完全対応ってあるのかな? たとえば、AからBの時間の間にうるう秒があったとき B-Aをやったら、ちゃんとうるう秒の文まで 計算に入ってないとだめだよね? でもうるう秒っていつ起きるか直前まで 不明だった気がする。 データ型として60秒を表現できるようにするのは 簡単だけどロジックはそうは行かない。 結局のところ、うるう秒が存在することによって発生する。 通常とは違う時間の進みと戻り(つまりPCの時計を手動で変更するのと一緒)に 対応出来ればいいのでは?
548 :
デフォルトの名無しさん :2013/01/31(木) 01:31:30.69
うるう秒は計算上決まるとかそういうことでなくて 会議して決めるものなので 当然未来の分の計算はできない
time()の値の差は信用できないのか
PCの時計なんて頻繁に狂うんだから 数年に一度の1秒のズレなんてどうでもいいんだよ その間に時刻同期で数分分は時刻修正してるんだよ
未来の時刻も表現できるでしょ。そのとき狂った時刻になるね
うるう秒は会議して(ry まずは未来予知を実現しないと
予知した ロシアは鉛筆を使ったみたいなオチが見える
まずは国連にゴルゴ13を送り込んで うるう秒廃止派の暗殺からどうぞw
通報しました
特にプログラムの勉強もしたことのない低学歴の平凡な素人がお遊びでプログラムしてみました。 hcapp.rakusaba.jp
livedoorにhiratara入社してこねーかなあ 楽しみだ
hirakataに空目するからやめろ
>>557 違う人出しちゃだめだろw
安来市に住んでる本当の素人、平田寿浩(ヒラタクリエイト)なんだけどね
素人だと困るの?w
hcapp.rakusaba.jp
ひ ら た ら wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
564 :
デフォルトの名無しさん :2013/02/02(土) 15:29:27.34
565 :
デフォルトの名無しさん :2013/02/02(土) 21:31:03.19
なんか onigurumaって64ビット環境でビルドすると、 付属のテストツールで診断するとメモリーエラー出るけどね、 正規表現エンジンにこれ使ってるやつの64bit版って大丈夫? ソース見るとOFFSET何ちゃらが32bitだし 対応作業やってないよね。 RubyとかPHPとかに乗ってるはずだけど。
Ruby1.9は、Onigurumaがソースに取り込まれてからは オリジナルのOnigurumaからはforkしたような感じになっており Ruby開発者がOniguruma部分の不具合修正も行ってます 当然64bit対応も行われているのでしょう でないと、Rubyが64bit環境で正常動作しません Onigurumaの作者の人は開発からは遠のいているようですが forkしたOnigmoという正規表現エンジンがあり そちらはRubyでの不具合修正が取り込まれたり よりPerl互換になるような機能が加えられたりしてます で、Ruby2.0(仮)の正規表現エンジンは、そのOnigmoに切り替えられています
567 :
デフォルトの名無しさん :2013/02/03(日) 18:16:20.65
Onigmoのwin32/config.hみてるけど #define SIZEOF_OFF_T 4 #define SIZEOF_VOIDP 4 win64は想定していないというか対象外というか そんな雰囲気
defineは後から変えやすいようにする意味があるわけで、 それ見たら逆に64bitの対応も考慮してるって思うけど?
win32のconfig.hなんだから4バイト(32bit)で当然。 win64に対応するなら、win64/config.hを作るだろうさ。
RubyとPythonの内、正規表現を用いたファイル操作がより楽に出来るのはどっちでしょうか?
>>570 足りない機能は自分で補うという発想があれば
どちらの言語でも大差ない。
572 :
デフォルトの名無しさん :2013/02/03(日) 23:14:35.24
スクリプト言語ユーザーって自分で関数を作ろうとしない人が多いよね。 この間あちこちにメールアドレスチェックのための正規表現が たくさんコピペされていて唖然となった。 あぁ、うん。Perlなら正規表現マッチングを書くのが楽ですからねーってそうじゃないだろ。 指摘したら、正規表現が定数になっていた・・・アホかと。 (なんかのライブラリを使うか) is_email 関数を作ればいいだろと。
正規表現リテラル持ってるRubyのほうがよっぽど楽だと思うがなんでまた
>>573 知らんがな。
Perlの場合は、マニュアル読めば使うモジュールが分かるから、
単にマニュアルを読まない人なんじゃないの。
まあスクリプト言語って書き捨て言語って意味だからな
あと正規表現が定数になってたのは 正規表現が何度もコンパイルされないようにするためかもしれない 実際にどう書かれてたのか見ないとなんともいえないけど
>>577 それは、Email::Valid->rfc822()で使えるやつと多分同じ。
>>576 再利用って概念がないのかもね。
「書く」ことばかり重要視して
「使う」ってことを意識しない。
一度書いておけばあとは使うだけになるから
使うことを重要視して作ればいいのに、
とりあえず短くかければいい。短いだろ?
短いから何回書いても苦にならない!
と結果的に何回も書く。
再利用はどちらかというと 外部パッケージライブラリのレベルで試みられている気がする CPANとかRubyGemsとか。それを使って便利に書き捨てる いやもちろんそうでないケースもたくさんあると思うが
ライブラリの仕様が安定するまではコピペでいいでしょ 安定する前の古いスクリプトはむしろ捨てるべき
>>581 えぇ、使うだけで
自分で関数を作ろうとしないんですよ。
ささっとかけるがゆえに
もっといい方法を模索しないんですよね。
もっといい方法はささっとはかけないので。
(でも書いたあとは、ささっと使える)
>>582 コピペするとバグが増える。
ライブラリの仕様が変わるといっても
引数がちょっと変わったり名前が変わったりするぐらいで
ロジックに大きな変更が入ることは少ない。
だから変わったらリファクタリングすればいいだけ。
でも、スクリプト言語って
リファクタリングしにくいんですよね。
それはリファクタリングで済む仕様変更の場合に限り、リファクタリングにすればいいという詭弁じゃん コピペで済む場合に限り、コピペすれば良いと言ってるのと何も変わらん ただの程度問題
>>584 あほか?
仕事していれば、どんな仕様変更だってありえる
仕様変更でリファクタリングを諦めるということは
技術力不足でしか無いぞ。俺にはできませんという意味だ。
何が何でもリファクタリングを諦めないというのが間違ってるんだって それは資産じゃなくて負債だ。ソースコードの寿命を考えろ
>>586 いま、ライブラリの仕様が固まるまでの
初期の話をしてたよね?
負債? 寿命? お前が作ったものは
わずか1日で寿命が尽きるのかい?
スレチ
>>587 仕様が固まる、固まらないとはどういう状態を言うのだ
リファクタリング万能説もいいかげんにしろ
>>589 >>582 に聞け
582 名前:デフォルトの名無しさん[sage] 投稿日:2013/02/04(月) 01:05:36.03
ライブラリの仕様が安定するまではコピペでいいでしょ
安定する前の古いスクリプトはむしろ捨てるべき
>>589 お前、リファクタリングをなにか特別なものと思ってないか?
プログラムってのは、たいてい修正が入る。
機能追加やバグ修正なんかによってな。
その修正作業のほとんどはリファクタリングだぞ。
リファクタリングではない修正とは、
・修正します。互換性はなくなりますので
関連コード全部書き換えてください。
か
・修正します。互換性はありますが
今より汚いコードになります。
のどちらかなんだが?
>>591 リファクタリングですべての修正が出来ると思ってる奴がおかしいと言っているのだが
リファクタリングとコピペでは段階が違う リファクタリング可能なコードは設計が完了している コピペは実験に近いし、リファクタリングの前段階として矛盾しない コピペせずにリファクタリングしろと言うのは的外れだろう それにリファクタリングでバグが混入しないのは完璧な設計が前提だ 最初から色々おかしい
コピペにメリットは一つもない。 なに意味不明なこと言ってるんだか。
>>592 587 名前:デフォルトの名無しさん[sage] 投稿日:2013/02/04(月) 03:15:52.61
>>586 いま、ライブラリの仕様が固まるまでの
初期の話をしてたよね?
負債? 寿命? お前が作ったものは
わずか1日で寿命が尽きるのかい?
意味不明なのは、仕様が決まってないものをリファクタリングしようとか言ってる奴
リファクタリングは何か新しいものを作る手段ではないので。
リファクタリングし終わると 頭がくたくたになる
リファクタリングは挙動を一切変えずに 変数名やクラス名、パッケージ構成を変えることだったと思うが いつからその定義が変わったんだ?
再構築はリビルドじゃなくてリファクタリングのことだから リビルドの対訳に再構築を使うのはふさわしくないとして止めた
たかが引数の変更にリファクタリングwww
変数名やクラス名、パッケージ構成を変えたら、 パッケージを使ってる側のプログラムから見た挙動変わるんじゃね?
小さいパッケージがたくさんあったら失敗する確率が高い メリットの大先生は、成功した場合のメリットしか言わないんだよな
604 :
デフォルトの名無しさん :2013/02/04(月) 11:27:24.38
umu
どんな言語使ってんだか知らんが、ライブラリの信頼性が低いのか。 まあ、それでも使えるやつだけ、使えばいいんじゃないのか。
Rubyのことですねわかります
Perl最強
最近 node.js に浮気してます。 すんません。
node.jsさいきょっ!
>>602 挙動を変えないっていうのは
例えばlsというコマンドがディレクトリ一覧をだしているとして
その仕様を満たしていれば、中身をガラッと変えても何の問題もないんだよ。
>>610 満たした後のことばかり言うとソースに興味がなくなるよ
その前の過程が面白くないとソースを読める人がいなくなる
612 :
uy :2013/02/04(月) 23:01:50.79
俺からいわしてもらうと プログラミングにおいて万能策は無いし 程度と加減を知らないコードは大変なことになる ようは力抜ける場所は力を抜くこと 仕事っていうのはできる限りの横着をするんだよ いざという時に動けるようにな 死ねゴミカス共
613 :
uy :2013/02/04(月) 23:05:01.50
リファクタリングは挙動を変えず〜なんてのも無駄な話 main関数の挙動が変わらなければ何やってもリファクタリング 普段のリファクタリングだっていつく関数がネストしてんだ
>>612 正解。ムやマにいるやつはそれがわからず、
一個しか正解がないかのごとく突き詰めてくるからダメなんだよな
615 :
uy :2013/02/04(月) 23:14:23.90
プログラミングは楽しいか? いや野暮な質問だったな 楽しい行為なわけないし やはり人は数字に弱く常に勉強しなきゃしなきゃでストレスかかって頭がやられてるんだろうな 解決方法はひとつ さっさとすべてを勉強しきること そこは横着しない 仕事で使うスキルも趣味で使うスキルも興味が1ミリでもむいたもの すべてやりきると少なくともプログラミングでのストレスなどは全くなくなるであろう 何事もプロというのは100%の力で仕事しようとしちゃいけない 自分の50程度%の力で、仕事こなせる程度のスキルは 身につけた方がよい
プログラミングは、たのしい
楽しいけど・・・
iphoneアプリ、Windowsアプリを売って生き残れ Ver 1.6 http://tinyurl. com/9w97424
アフィ注意
>>609 node.js はうるう秒対応してるの?
プログラミングは仕事だって割り切った途端、M$が素晴らしい企業に見えてきた
プログラミングが楽しいなんて台詞は、宗教的ドグマで頭がやられてるんだと思う
クラスベースOOPLが再利用の名目で流行った割りに、 javascriptのコードの方が使いまわされているような気がするのは気のせいだろうか
数学的素養と顧客折衝ぐらいしか本来的には技術力として残らない
言語が多すぎて楽しい これは数学や一神教とは違う
今の混沌としたプログラミング言語を楽しまなくちゃ。 50年後ぐらいには、技術や理論が確立されて、 ツマラナイ物になるのだろうから。
将棋なんかで階乗がーとか10の何乗がとか言うが あれは階乗を勉強すれば将棋の理論を確立できるという意味ではない 理論はあきらめろって事 数学の使い道は少ないけど、万能感をぶち壊すみたいな用途には良いよね
数学の使い道が少ないとか言ってる時点で お前がとんでもないバカなことはわかった。
プログラミングには、論理的な思考が必要(もちろん記憶力も必要です)
論理的だが形容詞的ではない思考ってあるかな 形容詞は汚い言葉と綺麗事が多いからあまり使いたくないんだが
ヘミングウェイというかここ何のスレだよもう
数学が軽視される現象が、軽量言語に影響しているのかどうか
数学と論理思考学をわけろよ。 プログラミングに必要なのは 論理思考で会って数学ではない。
低脳って数学を狂ったように賛美するよね
集合と論理、せめてブール代数はやっとけ。 ifの条件を整理できないとか、有りえないから。
ドカタになるなら数学は不要ですよ
>>637 円を重ねるやつと、0と1の組み合わせを表にするやつに分かれるよね
カルノー図が必要なほど複雑な論理式には そうそう出会わない気がする
>>639 集合が実装されてる言語を除いて、プログラムで使うのは、
二値の集合を使うブール代数。
>>641 問題領域が集合論で表現さるなら必要じゃね?言語関係なくね?
つーか
>>639 はベン図のことじゃね?
その通り。それに基本的にどの言語でも集合は実装できるしされてる 離散数学はグラフ理論も含めてやるべきだと思う
>>642 Cでいうところの論理演算で使われるのはブール代数。
で、宜しいか。
プログラミングを言い出したら、数学基礎論とかに行っちゃう。
数学が必要かどうかはジャンルによるのでは スクリプト、Web、ゲーム、AI、物理エンジン… やるジャンルによって使う知識はかなり変わる 共通するのは…例えば手続き型なら順序立てて物事を考えるとかみたいな 基礎の基礎な部分くらいでしょ
算数とifとループと作業分担ができれば勤まります。数学は一切不要
PythonでRubyの実装を本家よりも5倍速いやつが登場ってニュースみたんだけど、あれどういう意味なの? 素人にもわかりやすく教えてください。
アナログなジャンルはいかにも数学らしいことをするけど、離散数学は数学らしくない
ONなのかBKなのか区別出来るようになるのが数が苦
>>647 特定の条件が揃った時
最大で5倍速くなることもあるが、
実際は5%早くなればいい方。
>>646 Prologにはifもループもいらない。
>>650 PythonがRubyになりきれてそれでいて五倍速いということ?
RPythonってPythonそのものと違って 静的型付けのコンパイル言語だからなぁ JITとか付けたら速くなるのかもしらんよ
JITを付けてんだよ
こういう数字には一喜一憂しない方がいいのかな 若者の数字離れ
matzがJITやる気が無いからな JSはJITが当たり前で、PHPとPythonは活発なJITコンパイラ実装への取り組みがあるのにね
Rubyの文法やルールに沿ってコーディングするけど、それを処理してるのはPythonの方が速いよという事? まるでPythonのRubyモードみたいな感じじゃないですか〜。 これでますますPythonの価値が上がったな〜。
前に、いろいろ計測したが、PyPyは異常とも思える数値出してたからな。 あれと同じ構造なら分からんでもない。
>>653 >気になったんで調べたけど、pythonでrubyを実装して
>それが本家のrubyよりも速いって事らしい
>matz実装が糞過ぎるって話
>Cで実装したrubyよりpython実装のrubyが速いとかおかしすぎるだろ
>能力なさ過ぎruby終わってる
「ジャップはクソッ!!」ってプログラミングの世界にもあるんだなあ
そもそもrubyいらないじゃん 好事家が趣味でこっそりいじる言語 それがrubyでしょ
そもそもPythonも本家C実装のPythonより RPythonで実装したPyPyの方が速いんだから
行政巻き込んで楽しかったのかあ いつ頃止め差されるんだろうか それでも5年くらいは島根の政治力で 生き残り続けるんだろうなぁ Ruby City て、島根県の税金やで
>>660 勝手に日本にするな。
Rubyがクソ、matzがクソだろw
科学技術計算にも良く使われるPythonには速度が必要かもしらんが Webドカタ専用言語Rubyに速度はいらんでしょ
Ocaml、Python、Ruby を統合して OPyR(オッパイアール)言語を作ろう。
>>651 Prologは発見器だからね
「もし発見したら、どうする」じゃなくて「発見w」で終わり
チューリングマシンかよ
コンパイル結果の機械語にはループという概念は無いワケで(定石としてはあるが) ループの概念がないプログラミング言語があっても不思議はないわな
そりゃループって条件ジャンプだし
純粋関数型言語もループ的なものは全部再帰呼び出しで処理するんで ループという概念は無い
そんな聞きかじりの知識を披露されても(・_・;)
continueは再帰に直した方が良いかも breakは、副作用を気にせず例外や継続で脱出してる人が多い気がする
よくねーよカス。関数型信者ってまともな感性を持ってないくせに変な勘違いしてるから困る
書き方が悪かった もし言語を統一したら、continueが多い処理は再帰、breakが多い処理はループになる と書きたかった 言語を統一するという前提がまともな感性ではないのは認める
言語を統一するとすればその言語には末尾再帰もあるだろうが当然ループ(とその制御)もあるでしょ
関数型言語のいいところ取りが今のはやりだけど、皆ループは用意してるからね
関数型のいいところは使いたいけど、慣れ親しんだイディオムはなかなか抜けないよね? そういうとき、再帰による自然な記述の最適化をしつつ、慣れ親しんだループを使うことができるんだ。 そう、Common Lispならね。
>>666 いまのWebで遅さが許容されるとかないぞ
ないわけないだろ
しかし逆に言うと、CRubyが低速言語にもかかわらず RubyをPythonで実装しようとするのは Rubyの言語仕様自体には価値があると見ているということじゃないの
暇だからでしょ それか完全に舐めているか
それだけpython書けるやつがrubyに価値を感じてるとは思えないが…
1個 (Python) もらえるより2個 (Python + Ruby) もらえる方がいい という原理が通用しないなら、価値が1から2に上がれば良いとも言い切れなくなる
javascript で実装しても CRuby より速くなりそう
688 :
デフォルトの名無しさん :2013/02/11(月) 12:05:51.55
ぱいぱいは言語作るためのフレームワークだよ。ぱいぱいで言語作ると勝手にjit対応になって速い
若手女性エンジニアに指示出しづらそうだな
>>683 Ruby使ってる奴がPythonに流れる様にだろ?
RubyがPythonのおかげで五倍又はそれ以上早くなるとしたら嫌でもRubistはPythonを習得しなきゃならない。
Rubyは死んだ。
色んなやり方ができる様にと中途半端な思想設計が仇になってる。
Matzの様な生半可なキリスト教信者に良くある事なんだが、皆平等とか平和とか多様性とかが盲目的に好き。あと、自分が救世主になれると何処かで思ってる。
すごいご託宣だw
まあCythonもそうだけど、PythonからCを使うのが用意なのはメリットだから PythonistaはCを習得しておくべきだし、高速化という意味ではPythonに軍配が上がるよね
愛を示すことで、クリスチャンであることがわかります。救世主は、イエスです。 偽キリストが出ると聖書に書いてある。
訂正:用意→容易
>>651 Prologは明示してないだけでifとloopだけの言語。
いやstopもあるか。
pypyもtopazも時間計算量と空間計算量のトレードオフだろ 既に習得した言語で速度がはやいほうが嬉しいだけ
16〜24歳までの計算機オタクたちの希望と絶望の相転移が、 FOSSがコミュニティを形成するためのエネルギーなんだ。 オープンソースのegobooたちは神に反逆し、完全であり、 自分らの罪を拭い去ることが出来ると思っている 僕は2年ほど前に改宗したよ。ゲイツが皆さんと共に
実際、顧客が必要な何かなんて、指先ひとつでいいんだよ アタタタタタタタタタタタタタタタタタ、ヲアタァッ!!
君たち、vimやemacsをhackしてて、まだ楽しいかい? やめてよね。本気で喧嘩したらhackがM$にかなうはずないだろ
あたまだいじょうぶ?
ここんとこ、毎日がパラノイアだよ
なんだかんだいって、膨大なクラスライブラリと動的言語の特性を備えたc#で十分なんだ バッチ処理みたいなスクリプトが書きたいなら最初からjavascriptを使ってりゃ良かったんだ 関数型を触りたいならf#で十分だしね なんで、みんなperl,python,ruby,lua,PHP,haskell,ocamlなんて弄ってるの?わけがわからないよ
複雑な処理なんて技術力とかいったスローガンを掲げてるとこにでも外注すれば良いんだよ
そもそも処理速度や性能がどうこうなんて話が出てきた時点で、 オープンソースの動的言語を使うこと自体に疑問を感じるべきなんだ
そのうち皆も悟りの境地へ立てるよ。きっとね!
君ら、憐れな子羊たちはゲイツ様が救済してくれるさ M$王国の国民としての、その素質は図り知れないよ
>>702 じゃあF#でzipに含まれるファイルをリストするコードを書いてみてくれ
大してプログラミングもできないクズがC使ってるっていうのが意味わからん
工学部でてないと、cの手軽さも分からないのか
>>707 あのレスをどう読んだら、F#のユーザだと感じたの?
>>710 むしろF#のユーザでないと思ったからコード書いてみてとレスつけたんだけど
C#ですらまともに書いたことあるのか怪しい
C#やF#が一般的なlinuxレンタルサーバーで使えんのかよ
monoとかazure上で動くんじゃないの? 未だに積極的に利用するメリットあるの
M$王国民からMonoっていう応えが出てくるか気になる
>>711 文法を比較するだけでコードを書かなければならないとすれば、
このスレの連中は、rubyやpython処理系を実装する必要があるな
RubyやPythonなら
>>715 の書き込みより短いコードで
>>707 を書けるよ
ゴミみたいな負け惜しみ書くヒマあるならコード書けば良いのに
>>717 いやまってくれさすがにそこまで短くは
from zipfile import *
ZipFile("fuga.zip").namelist()
あ、書けた
>>713 いやそれ一般的なレンタルサーバーじゃないし・・・
>>717 rubyやpythonみたいな似たような言語で、似たようなやり方を知ってるなんて暇だね
言語処理やDBでも書くなら兎も角、何が楽しくてLAMPスタックなんて学んでhackerやgeek、技術者気取りなんだろう 5〜10年後を予想したら、M$ベッタリの技術を習得した方がマシだってことぐらい分かりそうなものなのに
MSのプロダクトは基本的に完成度が高いから嫌いじゃないが だからといってMSがそこまで幅を利かせるようになるとは思わないなあ
10年前っていったらVB6とかMFC, ATLの頃か あの頃のMS技術って今となっては何の価値もねーな
>>702 バッチをJavaScriptなんかで書いたら社内で立場なくなるぞ
バッチ処理をJavaScriptで書くとか馬鹿だろw
最近バッチ的につかうJavascriptのツールが充実しつつある
いやよく知らんのだが、本来の目的から外れた使い方をされ始めて 最終的に不満が続出してしまうパターンじゃないの?
コールバック地獄のJavascriptでバッチw ツールってなんだよ。デフォルトで出来ないのかよw
C#信者の知ったかレベルなんてこの程度だよ
バッチってことはファイル読み書きもDBアクセスも クラス管理もJavaScriptか。ただの地獄だなw
バッチ処理に使うプログラムを作るなら処理の続きをコールバックに記述する必要はなくて 終了待ちをしてから続きをやればいい
Nodeが非同期メインになっているだけであって 従来からあるJavaScript、たとえばWindowsのJScriptや その他のJavaScript実行環境は同期処理。
で、そんなウンコJS処理系を使う事に何のメリットがあるのかね?
PythonとRubyは違うけど、その違いはJavaScriptとの違いと比べると誤差の範囲 主に汎用性やシンプルさにおいて。
RubyってPythonの1/5のスピードなんでしょ? 高速道路でPythonが100km/hで走ってるのにRubyが20km/hだったら失笑もんだわな。 製品とは呼べないレベル。
739 :
デフォルトの名無しさん :2013/02/14(木) 16:47:00.29
おっぱいおっぱい
なんでパイパイはこんなに速いの?
みんなの夢がおっぱい詰まっているからだよ
パイパイってpythonで実装したpython処理系って言ってるけど 実行ファイルバイナリだよね?どうなってるの?
ググったり公式サイトやwikipediaを読むだけでそんな質問は出来ないと思うが
>>738 パイパイがセクシーなのは日本語だけだよな?
外人にわかるんかな?
>>743 ググって分かるくらいだったらこんなとこで聞かんわ
開き直りましたー
>>612 昔はきれいなコードを書くことに執心してた
今は浅くてテストしやすいコードを書くことに気をつかっている
とにもかくにもネストしすぎないことが大事
浅くてテストしやすいコード = 綺麗なコードだろw
751 :
デフォルトの名無しさん :2013/02/16(土) 11:48:46.09
再利用しやすい -> 依存関係が深い -> インストールが面倒 -> テストしにくい
普段Ruby書いてて遊びでLisp書いたりするとデータの抽象化(オブジェクト)じゃなく処理内容の抽象化が大事だし綺麗に見えるよなって思う
例外とデストラクタとイベントハンドラのことか
>>752 それは普段のRubyではあまり抽象化してないということだろ
なぜか?抽象化には時間的、精神的コストがかかるから。
>>754 コーディングが下手だからっていうのは間違いないんだけど
再帰とか末尾再帰を基本として書くと一つ一つの関数がコンパクトになって綺麗に抽象化できる気がする
いつもRubyではクラスを綺麗に書こうとして失敗するのでコツがあったら教えて欲しい
あ、それは只の気のせいだわ。むしろスタックに関数積みまくって効率悪くなってそう
再帰とか末尾再帰を基本に書くととか言うが、 再帰を使う局面は、アプリ作るならば少ないので 大差はない。
末尾再帰最適化はしてくれないけど、LISPで書けることはだいたいRubyでも書けるんじゃないの?
気のせいだったのか… もちろんRubyでも書けるのだけどLispだとキーワード引数でどうにでもなるところをクラスで書こうとするとうまくいかない
それは勉強不足だろ。俺はRubyを知らんがLispをやる前に Rubyのクックブックとかプラクティスとかの中級者以上向けの本を読めよ
なんだ、Rubyにはキーワード引数がないのか。当然あるものだと思って
>>759 はそれがLispの機能よりショボいと言ってるのかと思った
確かにキーワード引数ないのは不便だわ。Python使うわ
javascript使え
Ruby2.0のキーワード引数ってこれがエラーになるんでしょ? うんこすぎない? def foo(h, k: 0) p [ h, k ] end h = { 1=> 2 } foo(h)
そのコードが何を意図してるのか全く分からない
>>766 わからないならRuby 2.0を勉強しろ
意図もクソも、キーワードkのデフォルト値を保ったまま fooにハッシュhを渡せない(エラーになる)って話だけど? キーワード引数使ったらハッシュ渡せないとかアホでしょ
動的型付け言語ではそれが限界なんだろうな。
>>768 あー、pythonで書くとこうね。マジでRubyこわいわ。なんだよpって。
def foo(h, k=0):
print [h, k]
h = {1:2}
foo(h)
キーワードクラスと引数クラスを作れないのはおかしい クラスの限界だ
Rubyのハッシュ(Pythonだと辞書型)は せっかくkeyを書くのが楽なのに=>のせいで台無しだな 一瞬ラムダ式か何かかと思った。いやRubyのこと何も知らんからさ Pythonのラムダ式はlambdaだけど、他の言語って 矢印みたいな、比較演算子みたいな書き方するからさ。こわい
Rubyのラムダは -> x {x+1} だからね。アローの位置が狂っとる
あ、やっぱり分からん。キーがシンボルで省略云々が良いかと思ったけどやっぱり分からん
Ruby1.9のハッシュのキーにはシンボル :foo, :bar, :etc が使われることが多いけど (Pythonと違って文字列はミュータブルなので) キーがシンボルであるハッシュ {:a => 1} は {a: 1} と書けるよ
別にハッシュで良かったんじゃないの? なんで中途半端にキーワード引数入れちゃったかね?
>>776 分かった。最初pythonの {'foo': 1} をrubyでは {:foo => 1} と書くのかと勘違いした
スレ流れとは関係ないけど、手軽にクラス書いたり動的な変更ができる言語だと 連想配列使った方が楽なケースってのがいまいちピンと来ないわ それ結局クラス定義しちゃった方がいいんじゃねって思ってそうしちゃう Rubyの引数ハッシュ渡しみたいに言語仕様の都合上便利ってのはあるんだけど
rubyあんまり知らなかったけどキモすぎる
>>779 なんだそれ
ハッシュをライバル視しているから
ハッシュを使わないキーワード引数が欲しいのか
782 :
761 :2013/02/16(土) 21:09:18.28
Rubyの流儀に従おうとすると 全部クラス化しろって言われてるように感じられて それがとても書きづらい要因です…
>>781 いや単に連想配列が有用なケースってどんな時だろなってだけ
他の言語でマップ型を使うとき
>>782 具体的にどういうコードがRubyだと書きづらいのかわからん
LISPだとリストで表現しているデータ構造をクラスで表現できないってこと?
それオブジェクト指向に慣れてねーだけなんじゃねーの
786 :
761 :2013/02/16(土) 22:00:55.65
>>785 説明下手でごめん。
例えばLispで行くと
(defun foo ((&key :bar :baz) ...)
みたいにキーワード引数使うような関数を
裸で置いておいても普通な感じするんだけど
(もちろんモジュール化で名前空間は区切るんだけど)
こういうのをRubyで書こうとすると
「barとbazを持ったクラス書いてfooメソッドを用意しよう」
っていう風な考えになって
「それだったらもうちょっと他の項目も合わせて
もうちょっと大きなクラスにしたほうがいいな
…あれ、綺麗にまとまんない」
っていう流れになることが多い…
>>786 言語的には、メソッドは単体でも書けるので
オブジェクト指向は難しいっていう話にしかならんように見える
それとも、Rubyにはそういう書き方に誘導するような何かがあるっていう話?
788 :
761 :2013/02/16(土) 22:22:09.99
Pythonとかだとファイル毎(モジュール毎)に名前空間があって あんまり気むずかしく書かなくても クラスっぽくなるので書きやすかった印象がある 書いてて思ったけどクラスを書こうとするんじゃなく モジュール書けばいいのか… 多分一つのクラスに集約するのが苦手なので、 モジュールに細かいクラスをいくつも書けば綺麗に書けるかも
Javaじゃないんだからモジュールに分ければ関数のためにクラスを書く必要はないだろ
>>786 関数の挙動を変えるためだけのキーワード引数をわざわざメンバー変数にして、
インスタンス化→キーワードに対応するメンバー変数セット→メソッド呼び出し
としてるってことなら、オプショナルな引数としてハッシュ渡せるようにすりゃいいだけじゃね
ハッシュを絶対渡さなければいけないという時点でオプショナルじゃないというか
792 :
761 :2013/02/16(土) 22:38:29.47
>>790 なんかRubyってなんでもクラス化っていう偏見があって…
そんなことないのかな
>>791 こんな感じ
def sample a, b={}
if b.is_a?(Hash) and b[:foo] then
return b[:foo]
else
return a
end
end
sample 1 #=> 1
sample 1, 2 #=> 1
sample 1, {:foo=>2} #=> 2
# ハッシュをキーワードっぽく渡すためのショートカット記法
sample 1, :foo => 2 #=> 2
sample 1, foo: 2 #=> 2
>>792 明らかにキーワード引数を意識した記法があるわけで
だったら使えばいいんじゃないの
795 :
761 :2013/02/16(土) 23:04:52.36
>>793 よく使う関数って言ったらprintとかくらいで
それ以外の標準関数がほぼクラスから生えてるメソッドに集約してるから
てっきりクラス化と継承が流儀なのかと思ってた
モジュールあるし今度から気にせず書いてみる
>>794 具体的な例ありがとう
CommonLispだと
(defun foo ((arg0 &key (bar 10) (baz 20 baz-p)) &body form) ...)
みたいに引数の担う機能が多いので
(例えばbaz-pはキーワードが使われたかのBoolean)
ハッシュと「だけ」渡せる記法とはやっぱりちょっと感覚が違うかも…
>>795 カッコ多かったり&bodyの位置がおかしかったりしない?
できれば動く関数定義と呼び出し例をお願い
> (defun foo (arg0 &key (bar 10) (baz 20 baz-p)) (list arg0 bar baz baz-p))
> (foo 10 :baz "a" :bar "b")
(10 "b" "a" T)
怖いコードだな。俺には扱えんわこれ
798 :
761 :2013/02/17(日) 00:43:45.77
>>796 あんまり良い例は書けなかったけど
(defmacro with-load-file ((symbol &key (file "hoge")) &body body)
`(with-open-file (in ,file :if-does-not-exist nil)
(setq ,symbol (if (not in)
in
(with-standard-io-syntax (read in))))
,@body))
(with-load-file (*read-file* :file "bar")
(print *read-file*)
(print *read-file*)
"OK!")
799 :
761 :2013/02/17(日) 01:02:15.28
引数の例やからあんまり内容は突っ込まないでくれ… ただwith-open-fileマクロをちょっとラップしただけじゃねぇかとか
|;:;:_:;:_:;:_:;:_;:;_:;:l:;_;:_:;:_:;:_:;:_;:_;| |______|_____| | 三| _ _ |三 ! | 三| ,ィ三シ ヾ三ヽ |三 | | 三′ .._ _,,. i三 | ト、ニ| ,ィでiフ ;'ヾでiヽ、|三.| ', iヽ! "´ / !、 `` |シ,イ ,r‐- 、 __ i,ヽリ ,' : !. |f ノ ,、<_ー 、 ',_ / ,-\_ ヾ! i ,、 ,..、ヽ lノ | `´ ィ ヽ、 ト / } | r 、、 _ _ ,ィ ュ ,イ l ヽ、_ ノ:.: `' 、 / \_ _ ノ、´ l ヾー‐-‐‐/ i /、 ./ .|:.:.:.:.:.:.: | _/ :.:.:.:.:.:/ `ヽ ゙i、 ゝ、二フ′ ノ/'"\ / | :.:.: / l l ,r' ´/ :.:.:ー' ',. | \ ー一 / / _ン/ | { | ヽ ./ / } ,ィ|、 \ /_,、-'" _,. ヽ / ヽ `} 〉j | 〈 ヽ, { _, イ | ヽ_ 二=''" _,. -''´ "lヽ/ /:. ̄´ /ノ | ヽヽ j___:.:./ニヽ ヽ \ ,, -‐'''" l/ , 、イ:.:.::./ / ヽ | ゝ ヽ  ̄ ̄` " ‐、ヽ `ー" 人 | ンヽ二ニ´-─ '' ', ヽ_|7 .} ‐-、 ヽ ヽ ゝ-‐ '゙二二二ニ ー- 、,ノ_丿
>>798 その程度ならRubyでもマクロや凝ったパラメタリストを使わなくて済むじゃないか
def with_load_file(params, &body)
filename = params[:file]
return nil if filename.nil?
open(filename){|f| body.call(f) }
end
with_load_file(:file => ARGV[0]){|f|
buf = f.readline()
puts buf.scan(/\w+/)[0...2] # あまりそれっぽくない
}
いけてないruby
803 :
800 :2013/02/17(日) 02:10:12.22
マロがちょっとラップしただけじゃねぇか
804 :
761 :2013/02/17(日) 02:44:40.91
>>801 r…Ruby書く気失せる…
でもブロック使えば結構色々書けるのか、参考になる
カッコやbodyの位置とかおかしくないかと
言われたから&keyと&body無理やり突っ込んだだけで
内容はほんのちょっとラップした程度だもの
ちょい修正して普通に書くとこんな感じ
(defmacro with-read-file ((symbol file) &body body)
`(with-open-file (in ,file :if-does-not-exist nil)
(let ((,symbol (if (not in) in (with-standard-io-syntax (read in)))))
,@body)))
(with-read-file (x "foo")
(print x)
(print x))
805 :
800 :2013/02/17(日) 02:48:28.91
|;:;:_:;:_:;:_:;:_;:;_:;:l:;_;:_:;:_:;:_:;:_;:_;| |______|_____| | 三| _ _ |三 ! | 三| ,ィ三シ ヾ三ヽ |三 | | 三′ .._ _,,. i三 | ト、ニ| ,ィでiフ ;'ヾでiヽ、|三.|
どうしてCL使いがRubyなんて使おうと思っちゃったの?
確かにオブジェクト志向を前提に作られた言語ってのはRubyの売りのひとつではあるけど 既存のクラスを使うだけでもその恩恵は受けられるのよ
既存するのはクラスだけではない クラスではない物が多い だから既存の物から恩恵を受けるスタイルはオブジェクト指向ではない可能性がある
つーてもRailsな時点で既存の枠組み使うワケだから今更っていう
811 :
uy :2013/02/18(月) 08:00:55.75
少し君たちは学力あがりましたか? しばらくみないうちに板が見違えるようにマシになった気がする 日本はさぁ環境をあまり開発してないから ぽちぽちマウスでやって5割完成するような簡単なプログラミングしかないんだよ アプリ作りじゃなくて 言語 OS 開発環境 ブラウザ なんかを作らないと そういうところからどんどん他国においてかれる 自衛隊の兵器の質とかもな 日本はイージスシステムをアメリカから数百億円で買ってるんだよ 【ソフトウェア】を買ったんだよ? バカげているよね 日本バカですとかいってるようなもの 国土が狭いんだから技術力の平均水準あげないとな
バカがニュース読んだ程度の文章だな
Topazが出た以上Rubyはもう過去の産物なわけで。 Python 最速最強伝説!
814 :
uy :2013/02/19(火) 07:16:04.16
>>812 プログラミングの神髄は軍事力だよ
プログラミングで負けてる時点で軍の技術力も負けてるからな
ということは米からの支援なければ
韓国単体にすら技術力は劣る可能性
中国など相手に日本が勝てるわけもなく
原発事故のときも明白だったけど日本に技術力は無いんだよ
殆どがハッタリ
ただその架空の技術力で騙し騙し昇っていく技術は侮れない
民間のIT企業がゴミッカスなのに
軍や警察だけは優秀ですなんてのはありえない
大事なのはアベレージよ
水準を高めろ
マ板行け
817 :
uy :2013/02/19(火) 08:41:16.36
>>815 おまえが全然ニュースみてないバカなのはわかったよ
陳腐だけでは言葉が足りないと思うよ 敵を倒すのが陳腐だったら無差別に倒せばいいんだと誤解する人もいる 味方の見分け方など知らなくても倒し方を知ってるだけでいいんだと
819 :
uy :2013/02/19(火) 08:53:28.34
相変わらず日本語しゃべれない奴多いよな
>>811 > しばらくみないうちに板が見違えるようにマシになった気がする
原因はお前じゃないかw完全なる墓穴w
>>814 要するにPrologを使えばいいんだろ。
822 :
uy :2013/02/19(火) 09:07:09.25
俺が今から10年休もうが 技術力でおまえ等ごときに劣るわけがないだろう 趣味としてのプログラミングからは離れたが でも自分の生き方的に クラック関係の技術は時より必要になってしまう アプリ開発。などというのはもうやることはないと思うけど PCふれてるとどうしてもプログラミングの必要に迫られるときが出てくるんだよね きってもきれないとはこのこと
823 :
uy :2013/02/19(火) 09:35:47.20
俺がこっちの世界に貢献したらどれほどの事が出来るかは想像に容易いけどな 俺は天才というよりただの異常かな なんか数学界の英才教育の奴の話を偶然知って あ、自分これかって理解出来た 通りでいろいろ違うはず おまえ等はwiki載るような早熟の数学者と同じレベルの、そんな相手と喋ってたんだよ、驚いた? 俺も自分の同類が歴史上には存在したことをしって驚いた でも何かするわけじゃないよ ただネタばらしというか uyはこんな人でしたっていう報告
824 :
uy :2013/02/19(火) 09:49:27.99
俺は全力を出しちゃいけない部類 そうしないと協調性が崩れる 俺は頭良い!って信じ込んでる奴のプライドを砕いてしまうらしい あっ戦争こりゃなくならんわって思ったよ こっちには悪意なく普通にあることなすことこなしていたら いきなり嫉妬という敵意を向けられてるんだ そういう場所にプライドおいてる奴が悪いんだけど 本物に憧れて本物気取りしてるの多いからね 俺のスペックをわかりやすくいうと 多分時間さえくれたら 何もない砂場からWindows作れる
(自分語り始めちゃったよこの人…)
こいつは朝っぱらから何飲んでんだ
827 :
uy :2013/02/19(火) 11:15:40.43
ごめんごめん、俺のオナニーに付き合わせちゃって でもさ思考は実現するって言うじゃん? 思い描いたことは叶っちゃうんだよ ってことはオナニーじゃないってことなんだよね 今ちょっと深いこと言っちゃったね、やっぱり俺って天才なんだわ あっやばい、天才を超えて神とか妄想しちゃったわ、俺神だわって でも神になる気はないから安心して、おまえ等に崇拝されても俺困っちゃうし 俺は天才ぐらいが丁度いいんだよ、嫉妬されるくらいが丁度いい 本気だしたらWindows作れちゃうくらいが丁度いいんだ でも今ちょっと考えちゃったから神に片足突っ込んじゃったわ ごめんな、またおまえ等と差が広がっちまった
俗物全開じゃねーか。本当にすごいやつから発せられる言葉や説得力が全くない
天才の人にP≠NP予想についての意見を聞きたいなー
830 :
uy :2013/02/19(火) 12:30:32.76
おまえ等ついてこれた?何人ついてこれたよ?
俺何気にすごいこと語ってるんだよ?
もう無いよ?俺がヒント出すのは
>>829 予想とか言ってる時点で三流なんだよ、俺のは全部確定だから
予想より確定の方が格が上って分かるよね?それは理解できるよね?
つまりP≠NP予想は格下ってこと、それ以上でもそれ以下でもない
おまえ等のレベルに合わせるとこうなるわ
最近見かけないと思ったら、自己啓発セミナーでも受けてたのか こいつの親は前世でよっぽど悪いことでもやらかしたのかね
>>830 じゃあ、フェレンゲルシュターデン現象についてはどう考えてる?
>>831 入院してたんでしょ
(´・ω・`)
/ `ヽ. お薬増やしておきますねー
__/ ┃)) __i |
/ ヽ,,⌒)___(,,ノ\
(´・ω・) チラッ
/ `ヽ. 今ちょっと深いこと言っちゃったね、\
__/ ┃ __i | やっぱり俺って天才なんだわ > 827
/ ヽ,,⌒)___(,,ノ\
(´・ω・`)
/ `ヽ. 今度カウンセリングも受けましょうねー
__/ ┃)) __i |
/ ヽ,,⌒)___(,,ノ\
俺の知ってる○森ってのにそっくりなやつだなぁ。
「予想より確定の方が格が上」 当たり前のことをドヤ顔で言うからレベルが低いw
数学で「予想」と付くものは uyが脳内で思いつく程度のものと比べれば 圧倒的に成立する可能性が高い。
予想するだけなら簡単 外れたほうが良い予想は圧倒的に当たるという経験則を知ってる人なら誰でもわかる
という予想です。
841 :
uy :2013/02/20(水) 08:33:22.17
プログラミングは キーボード文字数のしがらみとかあって デバイスがよくないんだよ あと何年たったらプログラミング専用キーボードでるの ローマ字のみでやれる限界はrubyがもう到達しただろうに ソフトがキーボードというハードの限界にたどり着いた これより先にプログラミング言語がいくならハードであるキーボードが改良されなきゃ進歩はない
ハードが改良される前に 「こんなこともあろうかと」ってソフトだけ先に進歩してみたいと思わないか
>>737 Rubyは遅くて有名だが
PythonもJavaやScalaと比べたら低速
Cython速いよ
Python方言が多いな このまま増え続けたらScheme時代に戻るよ
Python は LISP の方言だからなぁ。
848 :
デフォルトの名無しさん :2013/02/20(水) 12:28:49.58
Python でプロトタイプ作って、 Java で実装 ってのが良いってことか。
Javaは成功した言語だよな 単に言語として主流になっただけでなく新たにScalaっていう強力な後継まで残せたんだから JVMは今大変みたいだからそこはなんとも言えないが ParrotVM的なプロジェクトがもっと盛んになればいいのにな
ScalaとJavaは同じくらいの速度、速い Java7とScalaだと コードは圧倒的にScalaのほうが短くかける。
Javaは初動が遅い だから使ってる体感として遅く感じる 短いコードを何度も修正して実行みたいな使い方だとゴミになる
そりゃコンパイルが必要なJavaでスクリプト書こうとすりゃあな…
javascriptも最近速くなってて嬉しい
>>841 お若いの。昔APLっちゅー言語があってだな…
まぁググってくだされ。
キーボードにまで自らへの服従を要求する、その傲慢・変態っぷりをとくとご鑑賞あれ。
857 :
uy :2013/02/20(水) 22:04:07.90
>>856 そのしゃべり方きもいからやめたほうがいいよ
過去にあったかなかったかってより
これ以上いくならそれしかないのは
何年か前から思ってる
LLスレでjavaの話してんじゃねえよ
(´-`;).。oO(Windows作れちゃうuyゴッドに突っ込むと
>>856 みたいに火傷する)
>>858 低速スクリプト言語厨は性能の話題は
いっさい耳にしたくないんだな
861 :
デフォルトの名無しさん :2013/02/20(水) 22:22:36.17
Scalaって可読性低いよね。省略が多すぎる。
862 :
デフォルトの名無しさん :2013/02/20(水) 22:50:11.71
Webで副業したいと思っています プログラミングとかしたことないんですがまず最初に何を勉強すべきでしょうか PHPとか気になってるんですがPHPだけでどのようなことができるんでしょうか
車の話してんのに新幹線の話出されたようなもんか。そりゃ冷めるわ
Scalaは言語的には何の問題もねぇよ ただコンパイルがおっせぇよ 唯一弱点上げるとしたらそれくらい
>>860 Cの性能とHaskellの型推論の話題なら聞いてみたい気もする
>>862 webでお前が想像してるようなことはjavascript,phpで大体実装出来る
いろんな言語が存在するのは簡単に書ける・処理速度が早いなんかの理由
rubyの存在意義は?
868 :
デフォルトの名無しさん :2013/02/20(水) 23:14:33.36
PHPでHTTPS接続をどうやって実現すればいい?
869 :
デフォルトの名無しさん :2013/02/20(水) 23:24:23.92
>>866 イキナリジャバスクリプトやPHP勉強しても大丈夫でしょうか
HTMLとかCSSってのは別に覚えなくてもいいんでしょうか
870 :
デフォルトの名無しさん :2013/02/20(水) 23:30:41.16
>>869 XHTMLは、サンプル付きの書籍でまる1日あれば習得できる。
CSSは一週間くらい。
CSSなんて俺も未だにちゃんとは覚えてないわ PHPでサイト作るなら、HTMLはよく使うタグとかは覚えておくこと。あとFormもかな。 CSSもclassとidがあって、それでスタイルを決めてるーくらいの知識は入れておくといい。
872 :
デフォルトの名無しさん :2013/02/20(水) 23:36:10.65
HTMLもCSSもわからないときはリファレンスを見ればいい。
>>867 >>873 存在意義はもうない。
RailsのおかげでRubyは流行ったが、いまではもっと高速な言語で
Rails風のフレームワークが使えるから今からRubyやる意味がない。
ボトルネックなんてコードのごく一部なんだから そこだけC/C++で書けば良いんだよ binding が洗練されてれば面倒も無いし C/C++が書けない低能はJavaでも使ってれば良い
>>875 全体的な遅さが、何千万回繰り返されるうちに、
大きくなってくるのではないか。
全体的な遅さ?馬鹿すぎる
>>869 このスレ的にはHTMLやCSSは完全にスレチ
ここではjavascriptのプログラミングがキモ
node.jsとかnode-webkitとかやるといいよ
>>875 node(というかv8)のC++binding便利すぎる
>>877 1回あたりの入力の量は少なくて実行回数を何千万回にするんだな
入力が多いやつは文字列処理が多くておもしろくないから
なのでボトルネックじゃない所も何千万回繰り返す
初心者にnode.js勧める大馬鹿野郎 上級者に多いよなこういうやつ
2行目の意図するところがわからない
プログラミングを学ぼうとする普通の初心者が LLバトルロワイヤルとかいう物騒なスレで質問するとも思えないので平気だろう しかし最近コード少ないな
>>882 上級者ほど初心者の立場を理解せず、
上級者目線で良いと思うものを初心者に勧めようとするんだよ
まあ技術は上級でもコミュ力が足りないということだ
むしろ本気で勧めてるわけじゃなくてネタだろう
node.jsとか勧めるやつって、日常のスクリプティング作業とかもjavascriptでやってるの?
そして初心者は、やはり初心者が書いた何もわかってないブログとかを
参考にしてドツボにはまるわけだ。
本当にコミュ力が足りないのはどう見ても
>>884 だな。
>>875 >>879 C/C++は生産性が低すぎる
WebアプリにC系は不要
性能が良くても生産性が低ければ意味がない
パフォーマンスの問題が顕在化したあとに
ボトルネックを探してC/C++で書き直すなんてのも非効率
最初に低速なスクリプト言語で開発を始めたりするからそうなる
>>883 コードはどうせ引き分けだから
数値化するしかない
で、その数値をどのように解釈すればいいのかと話題に
>>888 Java厨キター
全方面を敵に回してカッコいいねw
「高速なJavaで書けばボトルネックは発生しません」と言ってるように聞こえる
>>886 日常は Python 使ってますが何か?
>>888 前半の文章と後半の文章が言ってる内容矛盾してなくなくね?
894 :
デフォルトの名無しさん :2013/02/21(木) 11:16:30.89
Scala は LL じゃないんですか? 2位じゃだめなんですか?
何位でも良いが、1位を否定して2位を狙うと失格
意味不明。 たまたまチート性能の1位がいる時とか、2位を狙うのが正しい戦略、ってことは往々にしてある話。
戦略というか予定に固執してるのが不思議 1位の予定だったけど結果は2位でした、とは言えない事情があるのか
>>889 いや、読みやすさや書きやすさの話
速さはLLの中では大差ないから比べても仕方ないし
書きやすさだけならPHPだろ 相当ルール決めないとすぐカオスになるけど
C言語っぽいから、C言語用に大量生産されたプログラマがそのまま書ける、 という以外にPHPの書きやすさの要因って考えられないんだけど。
PHPがクソ仕様だという事実は指摘され尽くされてるのに 未だに書きやすいとか宣う無知がいて困る
既存の人気言語に具象構文をそれっぽく似せれば、みんな騙される、という 見事な社会実験だったよな。
C言語脳のままプログラミングするという時点でだいぶ終わってるのに その最強のC言語ほどの自由やパワーは当然ないというね
PHPもRubyもPythonもやったけど書きやすさは変わらんだろ 変わるのはライブラリとかフレームワークとか実行環境とかじゃないの?
スクリプト言語はIDEを使えない人が使う言語だから PHPerを責めても仕方がない
>>906 どういう文脈でそんなトンチンカンなことを言い出したのか理解できない
> PHPもRubyもPythonもやったけど書きやすさは変わらんだろ その通り。 フレームワークやライブラリを作るときに 言語の差は出てくるんだが、今の時代 大抵のものが用意されている。 言語間の差もフレームワークやライブラリによって 大きく減らされている。 例えばC言語にはGUIライブラリがない。 だからそれを全部やろうとしたら大変だが、 既に用意されているので、困らない。
どの言語も変わらないとかいってるのは違いが判らないかレベルが低い その程度のプログラムしか書いていない
設計の拙さをコーディングでカバーしなければいけないのだから ショボい言語はライブラリの多寡に関わらずショボい
具体的にしょぼいという証明がほしいなw 無理ってわかってるが。
なんで無理なの。ググればいくらでもヒットするのに
どれも変わらないとか言ってるのは劣勢に立たされてる糞言語信者の最後っ屁
PHPは糞だしPerlはデフォで入ってることも多いけど書き辛い読み辛い。 RubyとPythonはかなり書きやすいし読みやすい。 これだけでもかなり違うと思うが…
RubyとPythonはどっちがいいの? Rubyしか書いたことないので。 Pythonはちょっといじった分には クセがなさそうで書きやすい感じはした
>>912 > なんで無理なの。
だってお前証明できてないじゃん。
お前に証明は無理だよ。
>>912 言語の優劣がクグって判るようなものなら、こんなにLL言語が拮抗する
ことはないだろう。
>>918 Wikipediaの情報量で比較すると、JAVAの圧勝。優劣の差しっかりとある。
第二位は大きく離れて、Prologかな。どちらもLL言語じゃないね。
Prologは機械学習やデータマイニングといった分野で再評価著しいからね 他の言語とは大きくパラダイムが異なるので単純なわりに習得には時間もかかるから 今のうちに勉強しておいたほうがいい言語だね
Wikipediaの情報量で言語の優劣を決めるとか流石Java使い。 他を寄せ付けぬ圧倒的なアホさだな。
>>910 他人が拙いからカバーするという発想では、自分の行動を自分で選ぶことができない
逆に、自分は余裕だから他をカバーすると考えるのだ
スクリプト言語が遅いのはベンチマークで証明済み こんなものWebサービス、Webアプリで使うのはアホ
>>919 機能が豊富だったり複雑だったりすれば記述は長くなるだろ
そんなんで優劣が決まるわけないのに「圧勝」とか恥ずかしいぞ
Webサービス、Webアプリ、と言い分けているところを見ると、 XMLウェブサービスのWS-*に脳味噌をやられてしまった人かな? ご愁傷様と言う他ない。
シェアで考えてもJavaは強いだろ Pythonも強い。Web分野ではRubyの方が強かったりする そんなの客観的に評価すれば分かる 未だにPHPとかPerlを擁護してるアホどもの感情論とかはどうでも良い
>>917 それはPHPが糞だという事実とは無関係
>>926 海外はどうか知らんけど日本でPythonの仕事なんてめったにないぞ
それは日本のプログラミング業界が終わってるだけでは? それとも、日本での仕事の数を競うスレなのだろうか
>>929 いや、それこそチャンスだろう。ヨーロッパを除く外国では不人気の
Haskellなんかに日本だけ一気に移る可能性があるから。
は?
日本中Haskellで行くことになったら面白いけど、賭けだなぁ。
最近、Javaは古い、時代はHaskell。コード量が何分の一! とかいう露骨な宣伝を10回くらい見たけど馬鹿だなあと思った。 馬鹿な日本人がPythonを無視することはどうでも良いが PythonはHaskellを参考にしてる。その結果、どちらが人気になった? ライブラリその他の開発環境を日本語で整えたら、日本人は使うかもねw Pythonを使わない理由は英語ドキュメントが読めないかららしいのでw
シェアが強いってどういうこと 例えば、値上がり率ではなく出来高を競うとどうなるの
値上がり?出来高?何の話だ
高く売ることではなく売上を伸ばすことを競うとデフレになる?
>>925 >>923 でXMLを思い浮かべるおまえのがおかしい
インストーラーなどスケーラビリティが不要な分野ならともかく
Webのサーバーサイドでスクリプト言語を使う意義はないということ
>>930 日本で関数型が流行るのであればScalaが先だろう
OOPと関数型のハイブリッドだから移行がしやすいのが長所
OOPがやりたいのなら今のままで問題ないじゃん なんか、Cに似てるからPHPを使おうって考えと似てる
性能主義でOOならC++使えよなw
C#が持ち上げられまくって、F#がそこまで持て囃されないのは何故?
Scalaなんて足元にも及ばない、VSという神がかった環境もあるのにだよ
>>940 実際、この時代になってもC++は関数型言語なんかより断然使われてるでしょ
>>939 Scalaの開発者のMartin Oderskyも
どちらがいいではなく、場所によって使い分けるといいといっている。
関数型はOOPより優れている、という主張はしていない
純粋な関数型だと多くのOOP言語開発者(Java, C#含む)が移行できない。
ハイブリッドはいい意味で現実的
C#はfunctional languageの要素を取り込んでいるし
Java8もラムダ式とか入れてfunctionalになろうとしている
>>941 F#に対応したのはVisual Studio2012から。だめと評価するにはまだ早すぎる。
多くのコボラーが移行できない、とかテンプレ文書だなw
lambda式なんてPythonでもRubyでもとっくの昔に取り入れてる それでfunctionalかよw
関数型が持つ、非関数型言語にはない特別なメリットを挙げることが出来なければ無理だろうね 抽象的な宣伝や関数型が有利なコーナーケースは聞き飽きた
>>946 はいはい、じゃあC++で良いよ
とにかくF#は関数型でOOPが出来るのにそれ以下の扱いを受けてるという事実を述べただけ
C#が人気ないとか本気かよ ゆうちゃんも使ってたのに
>>945 PythonもRubyもタイプセーフになってない
時代遅れ
原始時代
>>949 VC++ と VBの減少分、これは主として企業の判断によるものだが、
このうち半分くらいしか、C#はカバーしていない。10数年少しずつ
増えつづけてはいるが、新規ユーザの獲得は案外少ない。
「タイプセーフになってない」 これで何かを言ったつもりになってる奴いるよなあ じゃあPythonかRubyでそれが致命的なバグになる例を挙げてみたら? それがどんなに馬鹿げたコードか分かると思うけど
しかも、いつまでもエラーを吐かずデバッグも難しい例ね
>>929 何言ってんの?仕事で使われなきゃ意味ないだろ
ここは趣味や遊びを語る場所なのか?
>>952 致命的なバグになるかだけではない
タイプセーフだと開発の生産性があがる
スクリプト言語が遅くてスケーラビリティがないのもタイプセーフではないからだ
「タイプセーフでありながら、型推論によって短いコードがかける」
というのが現代的な言語
>>956 その理屈は、「静的型付けなのに型推論によって〜」でしょw
スクリプト言語でも短いコードは書けるので生産性に問題はないよ
実行が遅いのは事実だけどね。そのへんはJITとかで高速化中
一番短いコードが欠けるのはPerlだよ。リーダブルにはならないけど
>>957 生産性ってのはタイピングしてる時間だけじゃないんだっての
そんなものはタッチタイピングできれば誤差レベル
IDEあるとコードスニペットでガンガン入力できるしな
動的に型を判断するとテストに時間がかかる。
タイプセーフでないと開発生産性は確実に悪い
そのレベルでまともに使える型システムを備えてるのってML系かHaskellだけだけどな
>>956 なんか違和感あるんだけど
プログラミング言語のスケーラビリティ
機能や対応可能な分野の拡張性
システムのスケーラビリティ
処理能力の拡張性
ごっちゃになってないか?
>>959 コード一行直しただけでビルドとリロードが走るのも効率悪いだろ
アプリの完成までなら明らかにスクリプト言語のほうが早いよ
>>959 動的に判断するとテストに時間がかかるってどういうこと?
>>962 1行直しただけならコンパイルは瞬時に終わるだろ
どんだけしょぼいマシン使ってるんだよ
完成までだけを見るのも意味なし
開発ってのは作って終わりじゃない
機能追加したり、仕様変更したらまたテスト。
そんときにタイプセーフだとテストが減る。
>>961 なってない。あなたが文脈読めていないだけ
タイプセーフでないから、実行時に型を判別する必要がある。
だから性能が悪い
CPUリソースを無駄にくうから大規模トラフィックになった場合にスケーラビリティを確保できない。
型推論で短いコードが書けると言ったり、タイプ数は問題でないと言ったり、なんだかなあ
おそらくPythonのテスト環境を知らないのだろう
>>964 コンパイルは一瞬だけどリロードはクソ遅いじゃん
外出るとき非力なノートPCも使うしな
とにかく待ちのストレスで生産性落ちる
>>964 実行速度が速いか遅いかという意味で、スケーラビリティという単語を使ってるだけか。
よくわかった。
>>959 で分かるのは、静的型付けと型安全を混同してるということ
スケーラビリティもそうだけど、横文字を使いたいだけ
>>968 実行速度とスケーラビリティが無関係だともいうつもりか?
あほすぎるw
>>969 ??
俺は「型安全」なんておかしな言葉は使わない
タイプセーフには複数の意味がある。
俺のレス見れば、実行時まで型が分からないという点を
問題を指摘していることくらいわかるだろ
横文字好きのお前が気に入らなくても、型安全という言葉は何もおかしくないよ あと、「動的に判断するとテストに時間がかかる」とは具体的にどういうテスト?
「タイプセーフ」な関数型言語の方がテストしづらいと言われるが…
>>964 どうせLLの話する気がないんなら動的言語と静的言語のテストの実例で比べようぜ
それで動的言語のテストがいかにも面倒そうなら静的言語使ってる俺スゲーでいいじゃん
型安全がおかしな言葉で、タイプセーフはおかしな言葉じゃない、って 意味不明を通り越してるだろw
文法エラーはみつけやすいけどバグの見つけやすさは同じだろ
>>976 バグが文法エラーとして炙り出される が正解
Haskellでメモリ使い過ぎで落ちた(サンクの所為)ときのデバッグの面倒さは異常
型エラーは構文のエラーじゃなくて意味のエラーなんだが
980 :
デフォルトの名無しさん :2013/02/22(金) 22:34:54.91
昔は掲示板ぐらいなもんだったから良かったけど、今みたいに複雑で大規模なプログラム書くようになると、型安全じゃない言語はきついよね。
ほらまた。「大規模だと、型安全じゃないとキツい」 お前は小規模なプログラミングも出来てないだろうと
>>981 しょぼいプログラムしかかいたことないだろ
関数型の副作用がないってのと勘違いしてね 型安全じゃないからキツいって何を意図してるのか分からん
銀の弾丸ではない事を知った上で 関数型言語を有効活用するのは有意義なことだろうとは思う
大規模開発で動的型付け言語は難しいという話はよくあるけど その根拠を論理的に説明出来る人いたら教えてほしい
986 :
デフォルトの名無しさん :2013/02/22(金) 23:19:52.95
そんなの当たり前すぎて今更どうこういう話じゃないだろ。
>>985 SLが大規模開発に向かない理由は
パフォーマンスが悪いから
開発の生産性が悪いから
>>983 関数型の話は大規模と関係ない。まったく関係ない。
タイプセーフかどうかだ
SLって何?
>>987 お前の言うタイプセーフってプログラミングスタイルのことで
言語は何も関係ないよね。逃げ惑うくらいなら最初から喋るな
>>988 scripting language(s)
>>989 関係あるだろ・・
動的な言語は実行時まで型が分からない
あんたレベル低すぎ
>>990 じゃあお前の言うタイプセーフな言語って何?
そんなの動的言語でもその都度チェック入れればいいだけだが
というか、それをやってるのが静的言語だろ
>>989 型安全がプログラミングスタイルだと・・?
なにをいってるんだおまえは
>>990 は型安全信者だから、いちいちそういう言語を使っているのだろうけど
一般的に、スクリプト言語が使われてる分野ではそんなことする必要がない
例えば、Cで書かれたバックエンドに対するフロントエンドとしてスクリプトなど。
インタラクティブ・シェルもこれに入れて良いが、これの有用性を理解せずに
型安全じゃないから駄目だと言ってる奴はふだんどんなプログラミングをしてるのか謎
>>992 え??その都度チェック入れるとは???
SLではコンパイルがないから実行時までわからないわけだが。
>>993 じゃあお前の言う型安全な言語は何?
それは大規模開発で使われている?
>>992 チェック入れても動的言語じゃ実行時までチェックされないし
コンパイル時にチェックされるようじゃないと
>>995 プログラマは分かるよ
分かってない奴がお前の言う「タイプセーフ」な言語を使ったらエラーを吐くのだろうけど
そんなの動的言語でもユニットテストで分かるよ
だから致命的なバグにはならない
お前の指摘は的外れ
一度も具体例が上がらない「タイプセーフ」な言語のテストはさぞかし大変なのだろうが スクリプトは実行がお手軽なので、実行時エラーで分かれば試行錯誤的に改善できるんだよ
んー、テストが増えるぐらいなもんだ。
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。