[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 05/30 06:06 / Filesize : 147 KB / Number-of Response : 543
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Perl,PHP】LL バトルロワイヤル 22【JavaScript,Python】



1 名前:uy mailto:sage [2012/05/09(水) 00:31:27.68 ]
最強のLL=軽量プログラム言語は、どれよ?

エントリーは、Perl、PHP、Python、JavaScript・・・
さあ、死ぬまで語りやがれ!!!

■LLとは?
軽量プログラミング言語(Lightweight Language,LL)とは、取り回しに優れ、
コードの作成や修正が容易と見なされるプログラミング言語のことを指す。

ここでいう「軽さ」はプログラマの負担の軽重を指し、
実行速度に優れているという意味ではない。

現在の水準では
・インタプリタ
・動的型
・正規表現
・クロージャ
などを利用できるものがLLと呼ばれることが多い。(Wikipediaより)

前スレ

【Perl,PHP】LLバトルロワイヤル21【Ruby,Python】
toro.2ch.net/test/read.cgi/tech/1330003774/

185 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 09:59:57.70 ]
PHPは関数の名前に一貫性がないあたり、癖があるとおもうけどな。

Microsoft OfficeのExcelとかAccessが同じような内容の関数が別名で
それぞれ覚え直さないといけないというのに絶望したよ。PHPにはそれを感じる。

あと、バージョンによって挙動が異なる関数とかもめんどくせぇ。

PHPがそれなりにWeb開発言語として有用だった事は認めるが
いい加減役目は終わらせるべきだと思うね。

186 名前:uy mailto:sage [2012/05/18(金) 10:13:57.68 ]
名前の一貫性とかの前に
www.php.net/manual/ja/class.recursivefilteriterator.php
こんな言語でよく頑張るなと感心する

PHPでプログラミングできるって才能じゃね

187 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 10:20:57.13 ]
AccessはMSが他社から買収したんだっけ?
PowerPointは買収だった気がする

188 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 12:11:39.81 ]
PHPerはイテレータなんて難しい概念は理解出来ないからおk
それにしても酷い実装だなぁ、これw

189 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 12:24:51.69 ]
後方互換性を切り捨てて命名規則に一貫性が出ないものか
移行には適当なトランスレータでも作ってさ
言語の便利な機能は良いけれど,それサバンナでも同じこと言えるの?

190 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 12:42:23.84 ]
PHPはイテレータはおろか、SPLを使ってる奴なんて、全世界で1000人もいないと思うぞ

191 名前:デフォルトの名無しさん mailto:uy [2012/05/18(金) 13:49:59.25 ]
ぺちぱ

192 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 14:23:49.05 ]
Visioも買ってきたものだね

193 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 20:14:48.76 ]
>>186
PHPにeach系のイテレータないのかと思ってみてみたが、

「foreach ループを終えた後でも、 $value は配列の最後の要素を参照したままとなります。
unset() でその参照を解除しておくようにしましょう。 」
と警告がかいてあった。

ありえなくないか?
簡単にかけるからイテレータがあるのに、unsetしろ、とかwww

www.php.net/manual/ja/control-structures.foreach.php

Webにしか使えないしPHPはほんとウンコだな
スクリプト言語ならPythonかRuby。



194 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 21:06:55.93 ]
ブロックスコープないんだねぇ。。。

195 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 21:09:21.08 ]
JSもブロックスコープないな。

それから、イテレータから(例外みたいな大道具なしで)サクっと抜け出す機能は、
後付けするのが難しい。JSでもそんなわけで結局イテレータが使えないことが
よくある。

196 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 21:38:33.69 ]
Ruby最強か

197 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 22:16:32.35 ]
えっ

198 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 22:51:50.24 ]
>>193
ブロックスコープとかあまり関係ない。

$a = new MyObject();
unset($a); ← こうしないと$aは解放されないってだけ。


普通はfunctionの中で使う。
もちろんローカル変数は関数が
終わったら解放される。

言い換えるとグローバル変数は使うなってだけ。


199 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 02:22:06.31 ]
最近はpythonばっかりでほとんどruby使わなくなったけど
イテレータ周りはrubyが本当に優秀だなと思う
イテレータが入れ子になっても可読性落ちないよね

200 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 02:49:38.50 ]
Rubyは処理したいオブジェクトを何でも先に書いちゃうのが直感的でわかりやすい
aaa.to_i とか aaa.each do ~~  とか あとifの後置なんかもそうだよね
オブジェクトファースト記法とか勝手に命名してる
適当で横着な書き方をしてもそれなりに綺麗なコードになるのは凄いと思う

Rubyの書きやすさに慣れちゃうとPythonですら書いててたまにイラッとくるし、
JSやらPerlぐらい汚いとアルコールでイライラを抑えないととてもじゃないけどやっていけないレベル
PHP?キーボード20個ぐらいオジャンにしたわセミコロンとかうぜーよ意味ないだろあれ

201 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 02:56:04.96 ]
受刑者にRuby覚えさせて出所後の社会復帰を助けるっていうプロジェクトあったじゃん
あれの支援を受けた受刑者が出所後に採用された会社でPHPやらされて、
破綻した言語仕様に発狂して飲み屋で暴れて塀に逆戻りっていうエピソードもまんざら冗談じゃないなって思ったよ

まあそれくらいRuby凄いってことですわ
ほんと半端ないっすよRuby

202 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 02:59:44.06 ]
まさか……自己紹介……

203 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 06:15:45.68 ]
>>198
それは問題じゃない
要素への参照を受け取る時は気をつけないとハマるぞと警告している

foreach ($list as &$item) {} # $list = array(1, 2, 3);
$item = 99; # $list = array(1, 2, 99);



204 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 09:51:03.80 ]
>>203
それ見事にはまったことあるわ。
スコープのウンコさと参照のウンコさの合わせ技。


自分がやったのは単純な代入じゃなくてこんなんだった:
foreach ($list as &$item) { ... }
...
foreach ($list as $item) { ... }


205 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 10:15:01.96 ]
int i;
for(i=0; i<10; i++) {
 if(・・・) break;
}

if(i == 10) {
 printf("全部終わった");
} else {
 printf("途中で終了");
}

これみたいなもんだろ?
変数がどこで宣言されてるか、考えましょうってだけの話じゃんか。

206 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 10:17:04.63 ]
>>203
> 要素への参照を受け取る時は気をつけないとハマるぞと警告している

ん? unsetの話だろ。

お前の話だと、
$list = unset か array(1, 2, unset) になるぞ。

207 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 10:55:44.77 ]
phpにunsetなんて値はねえよ

208 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 11:12:27.28 ]
>>201
60%の人間はプログラミングの素質がない
cpplover.blogspot.jp/2012/05/60.html

209 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 11:21:35.02 ]
やべーmongrel殺しちまった
弊社のエブサービスが死んでしまって糞客に文句垂れられるかもしれんが、
そんなことはない、ログに残っていないで突っぱねよう
信頼、安全、安心のmongrelでございます、お客様。
やっちまっただよ 徹夜明けでの自宅での仕事はミスが多いね
来月からは会社で仕事しよう

210 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 11:22:24.63 ]
読んでみたけど何を言わんとしてるのかサッパリわからなかった

211 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 11:22:46.85 ]
>>208

212 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 11:30:09.70 ]
プログラミングは一を聞いて十を知る人向けのものだってことだろう

>>209
よくわからないけどとりあえずエブ鯖板にタレコミにいってくるお

213 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 11:31:36.51 ]
>>209
ごちゃごちゃ言う前に鯖起動しなおしたの?



214 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 11:37:55.63 ]
>>210
自分の頭で考えられない奴、論理を自分の都合で変える奴は
プログラマに向かないっつー話。

215 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 12:27:10.15 ]
>>214
くだらないブログをうのみにしないいで
自分の頭で考えましょう。

216 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 12:33:00.35 ]
このスレの頭でっかち君たちのほとんどが60%の方に当てはまったんだろうな

217 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 12:34:57.97 ]
とういうふうに、論理を自分に都合よく変えてみた。

218 名前:214 mailto:sage [2012/05/19(土) 13:24:20.38 ]
>>215
プログラミング初めて30年近いから、
適正とかどうでも良いいやって感じ。

219 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 13:47:22.54 ]
>>215
ブログをコピーしなくても、なぜか同じ考えに到達できる人もいるよ
コピーしないと空白になる人やコピーしないとランダムになる人にはそれが分からない

220 名前:uy mailto:sage [2012/05/20(日) 13:07:45.79 ]
ソース整理してたら昔ruby-tk-sdlで作ったサウンドプレイヤーでてきたので貼り
require 'tk'
require 'sdl'
music = nil
SDL.init(SDL::INIT_AUDIO)
SDL::Mixer.open
etr=TkEntry.new
etr.pack
btnSet=TkButton.new
btnSet.text = "File Select"
btnSet.command{ etr.value = Tk.getOpenFile
  music = SDL::Mixer::Music.load( etr.value ) }
btnSet.pack
root = TkRoot.new {  title 'sound_player' }
sstr = %w!再生 停止 一時停止 再開 終了!
sfunc = [
  lambda do SDL::Mixer.play_music(music,1) end  ,# 再生
  lambda do SDL::Mixer.halt_music end  , # 停止
  lambda do SDL::Mixer.pauseMusic end  , # 一時停止
  lambda do SDL::Mixer.resumeMusic end  , # 一時停止を再開
  lambda do exit end
]
sstr.each_with_index do | str , i |
  button = TkButton.new
  button.text = str
  button.command = proc { sfunc[i].call }
  button.pack 'side'=>'left'
end
Tk.mainloop

221 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 18:48:21.69 ]
なにがしたいの?

222 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 19:05:05.17 ]
gistでやれ

223 名前:uy mailto:sage [2012/05/20(日) 20:02:33.74 ]
このスレでソースあげないで何すんの?
他言語使いの奴が>>220を他言語でさらに短く実装する流れにならないのはなんで?
このスレ何がしたいの?



224 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 20:26:56.76 ]
お題なら他の言語を使ってる人でも答えやすくしてからでないと
突然>>220貼ってもみなさんポカーンでしょ

225 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 21:10:07.87 ]
>>220のソースコードの著作権は2chに帰属することとなりました

226 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 22:29:20.72 ]
24歳、彼氏イナイ歴24年。

生まれて初めてモテた。
始めは罰ゲームでもしてんのかと思って拒絶していたら、
毎日花を一輪くれるようになった。 1ヶ月くらい続いて、
ちょっと本気かもしれないと思い始め、一緒に食事に行っ
たりした。
前から告白されていたのをずっと断ってたけれど、次に言
われたら受け入れようと思った。
食事の帰りに雨が降って、生まれて初めて男性を家に入れた。
「若いのにすごいね〜、持ち家なんて」
と言われたので、
「いいえ、両親から相続したんですけど、相続税のほうが高くて、
一生借金返済生活なんですよw」 と言った。

すると彼はやおら生まれてからの生い立ちを話し始めた。
物心つかない頃に両親に捨てられたらしい。里子として
今の里親のところに幼児院から出されたんだって。
彼の話を聞いていて私も涙が出てきて一緒に泣いた。
彼がひとしきり話した後、私も今までの想いが溢れ出
てきて彼に全部話しちゃった。お父さんお母さんに会え
なくなったと認めるのは辛すぎていつもいつも町に繰り出し
ては色々な人に迷子になってしまった私のお父さんお母さんが
今どこにいるか知る人を探したの。でも誰も知ってるわけないよね。
もうこの世にはいないんだもの。まさか墓前に立てば会いに行け
るなんて少女に教えるわけないよね。言えないよね。

すると彼は私の話しに同情してくれて男泣きに泣いたの。
私と彼はもうお互いに大号泣。
ウワァァ-----。゚(゚´Д`゚)゚。-----ン!!!!
省略されました。続きを読むには私と彼のために泣いて下さい。

227 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 23:31:53.18 ]
ハッスルハッスル

228 名前:デフォルトの名無しさん [2012/05/21(月) 02:56:36.42 ]
Lispが無いとか(笑

229 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 03:29:36.88 ]
イテレーターなら、C#の方が良いだろ。

230 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 17:15:55.54 ]
>>220 短くできるできないの前に、参加できる言語が限定されるだろ、これ。
use utf8;
use File::Spec::Functions qw(splitpath);
use Tk;
use SDL ':all';
use SDL::Mixer;
use SDL::Mixer::Music;

SDL::init(SDL_INIT_AUDIO);
SDL::Mixer::init(MIX_INIT_MP3 | MIX_INIT_FLAC | MIX_INIT_OGG);
SDL::Mixer::open_audio(44100, AUDIO_S16, 2, 4096) and die SDL::get_error();
my $music;
my $top = MainWindow->new;
foreach(
[選択 => sub{
my $file = $top->getOpenFile() or return;
$top->title((splitpath $file)[2]);
$music = SDL::Mixer::Music::load_MUS($file);
}],
[再生 => sub{ SDL::Mixer::Music::play_music($music, 0) }],
[停止 => sub{ SDL::Mixer::Music::halt_music() }],
[一時停止 => sub{ SDL::Mixer::Music::pause_music() }],
[再開 => sub{ SDL::Mixer::Music::resume_music() }],
[終了 => sub{ SDL::quit(); exit }],
){
$top->Button(-text => $_->[0], -command => $_->[1])->pack(-side => 'left');
}
MainLoop();

231 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 21:53:08.99 ]
ハッシュキーのベアワードや$_のおかげでRubyより綺麗という気がしなくもない

232 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 23:39:32.79 ]
(ql:quickload :anaphora)
(ql:quickload :ltk)
(ql:quickload :lispbuilder-sdl)
(ql:quickload :lispbuilder-sdl-mixer)
(defpackage mixer
(:use :anaphora :cl :ltk :sdl-mixer))
(in-package :mixer)
(with-ltk ()
(loop with music
for (text . command)
in `(("選択" . ,(lambda ()
(awhen (get-open-file)
(setf music (load-music it)))))
("再生" . ,(lambda ()
(when music
(play-music music))))
("停止" . ,#'halt-music)
("一時停止" . ,#'pause-music)
("再開" . ,#'resume-music)
("終了" . ,(lambda ()
(when music
(free music))
(close-audio)
(setf *exit-mainloop* t))))
do (pack (make-instance 'button :text text :command command) :side :left))
(sdl:with-init (sdl:sdl-init-audio)
(open-audio)
(mainloop)))

SDL-Mixerの終了方法がイマイチかもしれない。

233 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 00:15:53.91 ]
# coding: utf-8
import pygame.mixer as mixer
import Tkinter as Tk
from tkFileDialog import askopenfilename

def playmusic():
    mixer.music.load(entry.get())
    mixer.music.play()

def quitplayer():
    mixer.music.stop()
    mixer.quit()
    root.quit()

def setfilename(filename):
    entry.delete(0, Tk.END)
    entry.insert(0, filename)

root = Tk.Tk()
filename = None
frame = Tk.Frame(root)
frame.pack()
entry = Tk.Entry(frame)
entry.pack()
Tk.Button(frame, text="選択", command=lambda: setfilename(askopenfilename())).pack()
for txt, cmd in (("再生", playmusic), ("停止", mixer.music.stop),
                 ("一時停止", mixer.music.pause), ("再開", mixer.music.unpause),
                 ("終了", quitplayer)):
    Tk.Button(frame, text=txt, command=cmd).pack(side=Tk.LEFT)
mixer.init()
root.mainloop()



234 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 00:18:45.00 ]
packがNoneを返すせいでframe = Tk.Frame(root); frame.pack()と二行分けになったり
lambdaに一行しか書けないせいでplaymusicが関数定義になってしまったりと
もうちょっとうまいこと書けないのだろうかと思った。書きなおし歓迎

235 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 12:45:51.83 ]
再生と一時停止ってふつートグルじゃないのか?

236 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 12:46:19.39 ]
タプルで書けるしょ
短くて読み難いコードはいらんけど

237 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 12:51:29.75 ]
>>235
MPC-HC
Winamp
Foobar2000
けっこうあるぞ、分かれてるやつ…

238 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 13:16:54.45 ]
再生中に再生を押す
一時停止中に一時停止を押す
でどんな動作をするか想像が付かない

239 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 13:21:39.69 ]
機能的にはトグルだけど、UI上独立してる方が認識しやすいとか誤操作防止にはなるかもね。
いまのは知らないけど昔の家電はそんなだし。

240 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 16:26:53.57 ]
>>238
Winampとfoobar2000では再生中に再生を押すと曲を最初から再生し直す
後は特に意味なし

241 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 16:44:21.04 ]
最初から再生し直すって知ってたら分かるけど、
|←(左向き三角) のようなボタンの方が自然かもな

242 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 08:16:12.45 ]
Rubyのまつもとさんは日本人だから人柄が少しは伝わってくるけど、
PythonのGuidoさんのことって履歴くらいしか知らない...

Guidoさんってどんな性格の方なんでしょうか?

優しい/気性が激しい、とか人間らしい情報をもっと知りたい

243 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 08:39:07.45 ]
LLよろず本の流れか



244 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 11:24:27.25 ]
人間には表と裏があることを理解しようね
取り繕っている人柄だけで判断すると痛い目みるぞ

245 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 11:55:43.05 ]
Rubyの糞のような文法を見れば
頭の中が、そして人となりが
透けて見えますね

246 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 15:04:46.99 ]
お前のレスに人となりが透けて見える

247 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 08:27:02.92 ]
>>245
別にmatzの人格は誰も良いとは言って無いんだぞ?
むしろ >>242 も「人間らしい」と書いてるように
悪い面のよく目立つ人物だと言うのはRuby使いからも知られてるのよ

248 名前:デフォルトの名無しさん [2012/05/24(木) 11:55:18.97 ]
>>247
なんでこんなに読解力の低い人間が多いのだろう

249 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 11:58:58.22 ]
人格がいいと言ってるのを否定したくて>>245を書いたんじゃないと思うよ

250 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 12:54:36.94 ]
オレオレ仕様が糞ってこと?

251 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 16:41:07.24 ]
ラリー:祈りのオチャメな人、ホイド:唯物史観・功利主義者、まっず:イケけてるモルモン人

252 名前:デフォルトの名無しさん [2012/05/24(木) 17:57:21.23 ]
おまいらが何と言おうと勝手だが、俺はもうPHPの入門書買ってしまった。よってPHPの文句は言うなよ。

253 名前:デフォルトの名無しさん [2012/05/24(木) 18:08:45.66 ]
PHP, Perlでプログラミング始めるのはお勧めできない。
言語仕様がクソだし、
低速なWebアプリしか作れない

Rubyも実質的に低速Webアプリ専用といっていい。
Rails風フレームワークが多数ある今、あえてはじめる意味も小さいと思う

Javaか、C#を覚えるのが一番効率がいい。
クライアントアプリ、高速なWebアプリ、SmartPhoneアプリなんでも作れる。



254 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 18:51:55.52 ]
Perl はそもそもWeb用言語じゃないですし…

255 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 19:02:45.55 ]
システム管理用のスクリプトなんてニッチな用途だし
そんなもののためにわざわざ別の言語覚えるのは非効率。

スクリプト言語は、遅いからWebアプリぐらいしか
実質的に使い道がないってこと。

256 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 19:12:04.41 ]
何でもその言語で作るんじゃなくて
使い分けなんだよな、言語は

257 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 19:13:53.09 ]
>>256
それ、このスレじゃ禁句

258 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 19:14:19.30 ]
普通のアプリを結構作ってるが、スクリプト言語で遅いと感じられる事って
意外と少ないんだけどなぁ


259 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 19:14:25.56 ]
書いててきもてぃーって言語はないの?

260 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 19:22:38.17 ]
JavaScriptのjQuery
あれは書いてて快感が

261 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 19:48:33.25 ]
>>260
素のJavaScriptの酷さから解放された快感があるね
でも読む側は…

C#のLINQとか拡張メソッド、メソッドチェーンを使いだしたとき、"きもてぃー"って感じた
俺の場合は。

262 名前:uy [2012/05/24(木) 20:35:27.27 ]
rubyの
each_with_index.map
each_with_index.inject は天才だと思った

263 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 20:37:56.34 ]
>>256
たいていのことはなんでもできちゃって、しかも速い言語(C#やJava)が
あればスクリプト言語なんて不要だよ

スクリプト言語では実現できないことはたくさんあるが、
スクリプト言語じゃないとできない開発なんてほぼない



264 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 20:59:11.85 ]
たくさんの実現できないこと詳しく

265 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 21:18:46.51 ]
>>263
まずコンパイルの手間が無くソースをそのまま実行できるのは
スクリプト言語の大きな利点
たとえばC/C++インタプリタのCINTみたいのもあるけど、
これは例外的な扱いだろな

こんな基本的な事に気が付かないなんて、
WindowsのGUIしかしらないお子様だろ

266 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 21:30:07.19 ]
JSなしでは生きられない

267 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 21:34:15.74 ]
>>264
速度が遅いからアプリ開発に使いものにならない

高速なdebugができない

実行時に初めてエラーがでるなど、スクリプト言語は開発効率が悪い

268 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 21:37:28.84 ]
>>265
267にかいたが、コンパイルなんてのはそれなりのPCで
SSD構成であればすぐ終わる。

スクリプト言語では、デバッグの効率が悪いから、
コンパイルにかかる時間よりはるかに多くの時間を失う。

タイピングしてる時間よりも、デバッグに費やしている時間のほうが
はるかに長い。
これに気がつかないことこそお子様だよ

269 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 22:19:12.76 ]
JSが大好き
お子様が大好き

270 名前:uy [2012/05/24(木) 23:46:45.18 ]
「動的言語が使い物にならない!」なんて、言っちゃうのは
自分バカですとか言ってるようなもんだよね・・・

「動的言語での開発じゃ周りがついてこない」ならわかるけどw


271 名前:uy [2012/05/24(木) 23:54:13.33 ]
あと、「動的言語は遅い!」とかいってる奴も
本当に動的言語での開発で、速度がネックになってどうしようもならなった事あんの?
たとえばどこで?

272 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 00:15:34.22 ]
>>271
他人(過去の自分)の書いたコードを修正する時かな。

メソッド名とかを変更しようと思っても
影響範囲がどこまで有るか人間が調べないとわからない。

同じ名前だけど違うメソッドとか有るので検索した結果を
一つ一つ調べて修正するまでが遅い。開発のネックになるよ。

静的型付け言語だと、メソッド名を選んで一つ変更すれば
プロジェクト全体の変更が自動で行われる。確実に速いね。

273 名前:デフォルトの名無しさん [2012/05/25(金) 00:23:00.12 ]
>>270
さっそくRuby信者が登場w

トラフィックがどうしようもならなくなってから考えるのは低レベル。
それよりずっと前にレスポンスが悪い状態になってる。

TwitterがRuby捨てたのも有名な話。
FacebookなんてPHPで始めてしまったために全部開発しなおしになった。

そういう事例があるから、海外の最近のインターネットサービスの企業は、
最初からスクリプト言語を避けてる。
スケーラビリティを考えて、最初からJava, C#, Scalaで作る。
いまやRailsに影響受けたフレームワークが多数あるから、開発生産性も悪くない。

日本はあいかわらずPHPばっかり
せっかくJava選んでもStrust1とか化石フレームワークつかってたりな
日本は、言語もフレームワークも時代遅れ。



274 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 00:35:54.34 ]
>>273
Ruby厨もなにもここスクリプト言語同士でやりあうところなのに
コードも書けないのにドヤ顔でそこいらのブログに書いてあることをつらつら並べられてもつまらん

275 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 00:53:32.00 ]
>>271
暗号化処理で
あと枝狩りとかオセロゲームで

276 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 01:04:17.57 ]
>>274
ここでスクリプト言語の争いやってるってことは、
このスレのほとんどのやつはスクリプト言語しか使えないってこと。
JavaやC#はまったく知らないひとが大半だろう。


そこらのブログに書いてある?
URLあげてみてくれ

277 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 01:06:23.98 ]
日本自体がオワコン

278 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 01:09:30.03 ]
フロントは動的でおけ。バックは静的か動的でも超軽め。
フロントはどこも変わらず
Twitter=Rails
Facebook=PHP
Amazon=Perl
だろ。
バックは書き換えられてるだろうな。

フロントPHPちょっとJavascriptがっつり、バックJavaとか多くね。

279 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 01:10:06.97 ]
IT関連で日本に世界的な企業なんて無いしな。

280 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 01:17:56.33 ]
むしろJavaを避けてObjective-Cで作れば面白いかもしれないよ

281 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 01:19:14.11 ]
>>273
TwitterもFacebookもRubyやPHPをこの世から消滅させろとか言ってないのに

282 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 01:33:38.42 ]

>>280
Objective-Cは速いし、化ける可能性あるな
まだ定番のWeb appilication frameworkがないようだけど
スクリプト言語より将来性ありそうだ

SmartPhoneまで扱える汎用性を考えたら、
Java, Objective-C, C#.net, VB.netとかだな

>>278
FacebookのPHPは独自ツールでコンパイルされてると聞いた。
実質的にC言語だと思う。

>>279
PHP大好きの楽天はもっさり。ページ移動に3秒とかざら。
CyberAgentはAmebaでMongoDB(NoSQL)使ったり、新しい技術使ってるイメージ。
Mixi, グリーとかなに使ってるんだろ。

283 名前:uy mailto:sage [2012/05/25(金) 01:55:52.41 ]
>>272
実行速度のことを言ったんだけど、

メソッド名の変更は、動的言語では正しく置き換えるのは厳しいな
でも別にそれ古いメソッドも残して、古いほうよばれたらデバッグ時に警告でるようにすればいいだけじゃね




284 名前:uy mailto:sage [2012/05/25(金) 02:06:17.74 ]
>>275
暗号化のロジック部分だけ静的言語でかけばいいんじゃない

オセロは重くなる箇所なんてねーだろ
AIにしたって定石パターン拾ってくるだけ
枝狩りって何のこと言ってるのか

285 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 02:13:15.46 ]
>>283
あなたはRuby以外で、どの言語つかったことあるの?

リファクタリングは、タイプセーフな言語のが効率よくできるのは確かだよ
型の記述なんて1個2秒くらいなんだからStaticで書いたほうが
結局、時間の節約になるんだよ。
仕様変更あっても、IDEでさくさく直せる。

>古いほうよばれたらデバッグ時に警告でるようにすればいいだけじゃね

「コンパイルが不要」ってスクリプト言語のお決まりのセールストークだけど、
型宣言をさぼると、そうやって他のところでしわ寄せが来る。
その分、テストプログラムの作成やらで時間がとられる。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<147KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef