1 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 11:03:24 ] 最強のLL=軽量プログラム言語は、どれよ? エントリーは、Perl、PHP、Python、Ruby、JavaScript・・・ さあ、死ぬまで語りやがれ!!! ■LLとは? 軽量プログラミング言語(Lightweight Language,LL)とは、取り回しに優れ、 コードの作成や修正が容易と見なされるプログラミング言語のことを指す。 ここでいう「軽さ」はプログラマの負担の軽重を指し、 実行速度に優れているという意味ではない。 現在の水準では ・インタプリタ ・動的型 ・正規表現 ・関数オブジェクト などを利用できるものがLLと呼ばれることが多い。(Wikipediaより) ■過去スレ 【Perl,PHP】LLバトルロワイヤル6【Ruby,Python】 pc12.2ch.net/test/read.cgi/tech/1244166510/ 【Perl,PHP】LLバトルロワイヤル5【Ruby,Python】 pc12.2ch.net/test/read.cgi/tech/1238720336/ 【Perl,PHP】LLバトルロワイヤル4【Ruby,Python】 pc12.2ch.net/test/read.cgi/tech/1234635513/ 【Perl,PHP】LLバトルロワイヤル3【Ruby,Python】 pc11.2ch.net/test/read.cgi/tech/1215319832/ 【Perl,PHP】LLバトルロワイヤル2【Ruby,Python】 pc11.2ch.net/test/read.cgi/tech/1209289408/ 【Perl,PHP】LLバトルロワイヤル【Ruby,Python】 pc11.2ch.net/test/read.cgi/tech/1188997302/
285 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 11:16:25 ] 人イネ〜!? LLTV開催中‼
286 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 12:09:16 ] ですねー。そういう国ですからね。 向上心あるプログラマなら飽きちゃうと思う。
287 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 12:31:46 ] 政治的発表だよ。そういうのはw
288 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 14:07:55 ] 東京だからなー。 新幹線か飛行機になる。 知り合いが居れば別だろうけど、こっち方面では居ないし。
289 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 18:08:55 ] HSPもいちおうLLだよね?
290 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 18:10:19 ] あーうんまあ一応は
291 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 18:38:25 ] 特定用途(ミニゲーム)のための言語だし、グラフィックライブラリが重視されてるし、まあ良いんじゃない
292 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 19:42:00 ] DSLとLLって直行する概念?
293 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 19:50:22 ] ぶっちゃけDSLは言語ではない。
294 名前:デフォルトの名無しさん mailto:sage [2009/08/30(日) 20:41:00 ] >>293 Languageと付いている以上「言語」には違いないと思うが。 汎用プログラム言語ではない、というのが適切かと。
295 名前:デフォルトの名無しさん mailto:sage [2009/08/30(日) 21:18:26 ] そもそも、プログラミング言語ってなんで必要なの?って話だよな。 RADが発達すれば将来的には図だけでプログラミングできるんだろうし。 言語ベースってのがいまいち間違った発想な気がして。
296 名前:デフォルトの名無しさん mailto:sage [2009/08/30(日) 21:26:08 ] うん、20年前くらいから同じようなこと言ってる たぶん、20年先も同じようなこと言ってるはずだ
297 名前:デフォルトの名無しさん mailto:sage [2009/08/30(日) 21:26:43 ] >>295 それはないと思うw 未来はTV電話だ!みたいな発想だと思われw
298 名前:デフォルトの名無しさん mailto:sage [2009/08/30(日) 21:28:52 ] 一応、JavaBeansのような感じで ・ 部品を作るプログラマ ・ 部品を利用する一般ユーザー に二極化するだろうとは予想されている 極めて明快視覚的に自由に結合・動作可能なライブラリってことだな でも、野良ライブラリとか自作ライブラリとか作る人はやっぱ 言語ベースで従来型のプログラミングしてるはずだ
299 名前:デフォルトの名無しさん mailto:sage [2009/08/30(日) 21:34:00 ] 我々が相手に何かを伝えたいとき、 口頭にせよ文章にせよ、使うのはもちろん言語だろう であれば、計算機に対して同じ方法をとるのは自然な発想ではないか グラフィカルな記述の最大の問題点は、記述密度が低いことだろうなあ フローチャートぐらいじゃ文字に勝てない もちろんメリットが生かせる部分では、どんどん採用されていくだろうが
300 名前:デフォルトの名無しさん mailto:sage [2009/08/30(日) 21:34:07 ] アニメとかドラマとか、そういうのでわかりやすく表現されてはいるけど 結局中身を理解しないといけないのは変わらないんだよね ロボットの行動プログラムとして一部あるぐらいしか有効利用されてるのが思いつかん
301 名前:デフォルトの名無しさん mailto:sage [2009/08/30(日) 21:39:51 ] 分岐条件を表現できない時点でゴミ まあ、天才のブレイクスルーに期待してみよう
302 名前:デフォルトの名無しさん mailto:sage [2009/08/30(日) 21:42:50 ] >>298 低俗な話になるけど、 ニコニコのMADややる夫のAAとかの世界だと(意図しない)二極分業化がかなりすすんでるよな あのあたりが流行るのって一重に素人でも扱える「部品」がそこらへんに転がってるからだと思うんだ。 今でもライブラリは転がってるけど、 素人が利用できる部品ってどれくらいあるんだろう。 >>299 >>301 つうかフローチャートは再利用を前提としていない時点でゴミ
303 名前:デフォルトの名無しさん mailto:sage [2009/08/30(日) 21:44:31 ] 分岐とループぐらいは書けるよ そういう部品が用意されてるから
304 名前:デフォルトの名無しさん mailto:sage [2009/08/30(日) 22:37:00 ] 条件分岐の記述と分岐条件の記述にはウンコとウコンくらいの違いがある
305 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 06:46:38 ] 現状で図だけでプログラムできる言語はあるけど 全ての分野において使いやすいもににはなっていないしならないと思う
306 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 01:44:06 ] 低能言語使ってる俺らが部品ってことはないしょ
307 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 17:30:23 ] > 730 名前:デフォルトの名無しさん [sage]: 2009/09/14(月) 15:34:52 > Python 3.0 は過去のしがらみを捨てた大掃除なんだから、比べるとしたらRuby 1.9じゃなくてRuby 2.0だろ常考・・・ Python 3.0は順調に出たから、ぜんぜん順調じゃないRuby 2.0なんか全く比較にならんだろ。
308 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 18:46:17 ] Python 2.x と Python 3.0 両方で動くプログラムを書くのが難しいのは最初からそう 設計されているからで、この点は Ruby 2.0 に近い。 単に、Pythonの大掃除が決行された時期と Ruby の大掃除が決行される時期が 違うだけの話。 なので、Python 3.x と 2.x 両方で動くプログラムを書くのが Ruby 1.9 と 1.8 両方で 動くプログラムを書くのが難しいというのは、 Python が Ruby よりも互換性を軽視する 根拠にはならない。比較するなら Python 2.7 と Python 2.6 にしておくべき。
309 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 22:01:52 ] そういう見方でなんでPythonとRubyを比較せにゃならんのか解らんが。 メジャーバージョン違いとマイナーバージョン違いは全然意味合いが違うだろうに。 そもそもRubyは「その時楽しければいい言語」なんで互換性でPythonと比較するのは 間違っていると思う。
310 名前:308 mailto:sage [2009/09/14(月) 23:45:57 ] >>309 バージョン管理スレで、Rubyの方がPythonよりもバージョン間の安定性があるという ことをPython3を引き合いに出して主張する人がいてね・・・
311 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 00:42:57 ] Rubyは脳力消費が低い言語だお
312 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 05:19:34 ] Rubyはやたらと重かった記憶しかないんだが 何かと勘違いしてるのかもしれん・・・
313 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 06:12:23 ] 信者がうざい三大ソフト Ruby Sai メタセコ
314 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 08:51:41 ] RubyはWeb2.0のSaaSをクラウドするのに最適な言語
315 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 08:53:07 ] ユビキタスしたいときはどれがいいですか?
316 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 09:36:53 ] >>312 処理系は重いね。でも書くときは楽だなあ。 やたらメソッドチェーンするお陰で、カーソルを前に戻す頻度が少なめ。 Pythonのやり方も解るんだけどね。あっちのが安全性は高いだろうし。 サクッと書くのはRuby、スクリプトなんだけどカッチリ書くときはPython使ってるわ。
317 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 18:05:54 ] >>316 オレは全部Perl。
318 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 01:08:52 ] >>316 括弧いらんおかげでメソッドチェーンは本当に書きやすいけど、 その代償に括弧がメソッドコールじゃないし、関数がオブジェクトじゃないから __send__とか。。。ここらがPythonの方が決定的に好きなところ。 StringクラスがあるのにSimbolはクラスじゃないんかい、みたいな。
319 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 01:32:32 ] Rubyは、「こういう場合はこう書きたい」という感覚を重視して、 Pythonは全体の整合性を重視している感じだね。
320 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 07:59:44 ] F#も()付けないようだな。
321 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 08:17:06 ] そこでまったくパラダイムの違う言語を例に挙げてもだな・・・ OCamlは()無しですごく一貫性が取れてるだろ。
322 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 08:23:35 ] Haskellもだよ。
323 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 08:40:17 ] 問題にしているのは括弧があるかないかではなくて一貫性であって、 括弧が無い代わりにほかの部分にしわ寄せが行っていたら意味が無い。 x = y (言語によってletなどがつく) という構文でyを関数呼び出しとして 扱うのは、例えば y = 3 としたときにすら y が 3 を返す関数になる、 手続き言語的な変数の無い関数型言語だから一貫性が取れている。 Rubyの場合、yが何かによって x = y の意味が変わってしまう。
324 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 09:01:16 ] そういうのはPerlから受け継いでるんだろうな。
325 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 10:42:06 ] Rubyで関数呼び出しを括弧必須にしたところで、メリットがあまり無いんだよなあ。 Ruby的には関数はオブジェクトでは無く、オブジェクトの機能でしか無いから 括弧無しの動作はエラー以外には取れない。 「関数オブジェクトを取り出す」なんて操作にすると文法自体にメスを入れることになる。 ちなみにPythonの場合、関数呼び出しに括弧が要る、というよりは オブジェクトに対して呼び出しを試みるのが括弧、というのが正しいと思う。 括弧を付けない場合が関数オブジェクトの取り出しなんじゃなく 普段から関数オブジェクトを取り出していて、そこに括弧を付けて呼び出してる。 でも関数がオブジェクトではないRubyの場合、そうはいかない。 関数はオブジェクトの機能でしか無いので、関数を実装したオブジェクトを取り出すことになると それこそ文法が崩壊してることになる。
326 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 11:18:55 ] つまりRubyにはファンクタしかないってことなのか?
327 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 11:45:18 ] 真の意味での関数オブジェクトは無いと思うよ。 一応、似たことができるようにProcとかMethodとかUnboundMethodってクラスはあるけど これらは、単独でオブジェクトとしては存在しえない関数をラップする為のクラスだし。 当然ながら、これらにラップされた関数を呼び出すには 括弧を付けてもダメで、call()などのメソッドを呼ばなきゃならない。
328 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 12:07:29 ] 真の意味でもなにも、ないよ。 括弧を付けてもダメなのは、文法上の理由もあるけど。 (Javaも同じだけど、関数(手続き)オブジェクトという存在がないことを前提に 言語がデザインされている)
329 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 14:57:46 ] >>328 >(Javaも同じだけど、関数(手続き)オブジェクトという存在がないことを前提に >言語がデザインされている) Procがあるから、関数オブジェクトが存在しないというのは言い過ぎじゃないかな。 正確には、メソッド名と変数名の名前空間が分けられている、といったほうがいいような。
330 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 21:53:34 ] やっぱり、 y = f(x) F = f なら Y = F(x) だな。
331 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 23:57:26 ] >>330 どゆこと?
332 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 00:00:01 ] Y = y ということだろう
333 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 00:01:50 ] ひとまわり大きくなるってことかと思った
334 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 01:22:21 ] 「Rubyは完全性一貫性より自然さを感じる。」 d.hatena.ne.jp/tmtms/20090915/1253036443
335 名前:デフォルトの名無しさん [2009/09/18(金) 01:50:33 ] 俺が無知だっただけかも知れないけど、$_POSTで受け渡しの文字化けを調べていたんだけど、 「無」という文字(1字文字列)を受け取って正規表現で文字列の前後の空白を除いたら、本当に 「無」(つまりnull)になってしまって、エラー表示されまくりだった。 試しにPHPで構築されている、とあるサイトの入力欄に「無」の1文字だけ入力して送信したら見事に エラーになったみたいで(画面が真っ白)処理が止まってしまった。 EUC-JPからUTF-8にconvertするときにおかしくなっているような気がするが、原因はよく分らん。 誰か手練の人がいたら解明して欲しい。
336 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 01:53:38 ] >>335 1.PHPのMLにでも投げろ 2.WebProg板に適当なスレがあるだろ 3.せめてその正規表現とやらをさらせ そのあとで、このスレでの有用なレスを期待してくれ。もしかしてマルチ?
337 名前:デフォルトの名無しさん [2009/09/18(金) 02:32:30 ] >>336 メーリングリストでは参加しているPGの数が少なくて、というか初耳という奴が多かったので こっちに出してみた。正規表現は $title = preg_replace('/^[ ]*(.*?)[ ]*$/', '$1', $title); $_POST で $title の奴を受け取って正規表現で半角と全角の空白を除去。 その後echoで表示させたら無表示。文字化けだったら?なんだけどnullなのでなんの表示も無し。 mb_convertで色々試しても反応無し。 「無」の文字だけなのよ。「鼻」とか「法」「院」だったら?なんだけど、「無」のときはnullに なってしまってる。よく分らん。
338 名前:デフォルトの名無しさん [2009/09/18(金) 02:40:27 ] 追加 空白除去の正規表現がおかしいと思ってオミットしたら、「無」の受け渡しが ?で表示された。だからたぶん「無」の1文字をPOSTで渡して正規表現で空白除去するところで おかしくなっているのだと思う。 だって適当に探ったPHPで構築されているサイトで「無」を入力したらおかしくなったもん。 ここなら見てる人が多いかなっと思って聞いてみたの。
339 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 02:44:21 ] >>334 平鍋はまともだけど まつもとは自分勝手で 顧客のこと全然考えてないってことが分かった
340 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 07:47:03 ] 何を今さら。
341 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 11:14:11 ] 自分勝手ぶりはGvRも似たようなもんだろ。 どちらもコミット拒否権持ってるし。
342 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 14:48:15 ] コミット権は自分勝手とは言い切れないが 平鍋が「顧客の満足」を強調しているのに Matzは「自分の満足」しか表明していない件
343 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 16:49:43 ] >>342 役割分担して答えてるからそうなるよね。 まぁそうでなくても俺言語作者なんてそんなもんだけど。
344 名前:デフォルトの名無しさん [2009/09/19(土) 01:03:45 ] >>295 >RADが発達すれば将来的には図だけでプログラミングできるんだろうし。 それ10年以上前にも言われていた。 結局、図でのプログラミングって特定用途限定なんだよね。
345 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 05:19:06 ] そのうち詩でプログラミングできるようになるよ
346 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 05:31:12 ] マルチタッチのディスプレイがマウスくらい普及するころには、図によるプログラミングも一派的になるかもね。 そして、文脈によって太矢印の解釈が違う言語とか、楕円を多用するために見た目がスカスカになる言語とかが登場する。
347 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 08:39:45 ] 0が偽じゃないなんて・・・めんどくさい!
348 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 09:39:35 ] "0" が偽なのもめんどくさいけどな。
349 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 09:45:27 ] >結局、図でのプログラミングって特定用途限定なんだよね。 用途限定なんだろうけど、SQLは実現しているんじゃね? Eclipseでもソレっぽいプラグインとかあるし。 ただ、SQLを直打ちでテキストで適度に整形した方が図よりも理解しやすい場合が多い。
350 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 09:57:59 ] >>348 文字列を判定に噛ましてるのがアホなだけじゃん。
351 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 10:03:19 ] それは単純なSQLだけだろ。ORMだって、浅いレベルならSQLまったく意識せずに済むし。
352 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 10:32:53 ] プロパティにundefinedが代入されていることがあるのもめんどい
353 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 10:34:21 ] 俺銀行で芸術的なクエリ見た事あるな。 Access+ODBC(OracleやDB2)だったけど。 普通のプログラマには銀行の要求する算術を理解できないので、 行員がクエリを作ってたりするけど、かなり感動を覚えた。
354 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 10:37:43 ] Accessのクエリエディタはホントすばらしいと思う ただ、ブラウザとVBエディタが何とかなって欲しかった
355 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 10:49:10 ] SQLをプログラミング言語って言う香具師は HTMLもプログラミング言語だと思ってそうだな
356 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 10:53:02 ] VBには芸術的な「マクロの記録」があるだろ あれこそ究極のイメージプログラミング
357 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 10:53:47 ] ガラクタ箱の中身という意味ではどれも同じ
358 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 11:01:44 ] ポカーン?
359 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 11:10:03 ] >>355 OracleのSQLなんかはチューリング完全なんだがそれでもプログラミング言語でない?
360 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 11:18:26 ] >>359 PL/SOLと勘違いしてない?
361 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 11:25:17 ] HSPもチューリング完全です(^o^)
362 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 11:30:37 ] www.valuedlessons.com/2009/08/sql-is-now-turing-complete.html ちなみに、共通テーブル式が導入されたのはSQL:1999で、ウィンドウ関数はSQL:2003からね。
363 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 11:44:26 ] brainfuckのインタープリタもどこかで見たな
364 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 13:19:07 ] >>356 あれは良いよねぇ。 いったんあれで操作して関数名を調べてから, WIN32Ole で書き直したりしてる。
365 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 13:58:39 ] HSPとRubyってどっちがいいの?
366 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 13:59:50 ] びっくりするくらい頭の悪い聞き方だな
367 名前:デフォルトの名無しさん [2009/09/19(土) 14:29:36 ] Ruby, Phthonのことを書いてね。
368 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 14:33:26 ] 友達にHSPかRubyがいいと勧められたので・・Perlもいいかなと思ってます。
369 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 15:05:30 ] VBでいいんじゃね?どうせWindowsでしょ? あえてHSPを選択する意味ってどんなのがあるんだろう。
370 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 15:14:50 ] >SQLをプログラミング言語って言う香具師は アレは構造化照会言語(w)であってプログラムとはちょっと違うだろ。 手続きを記述すると言う意味においては似てるだろうけど、 集合論でデータを操作する事に特化しているから、 従来のプログラムとかの経験がない人でもそこそこにコード(?)が書けるのがメリット。 個人的にはTrueとFalseとNullの概念がある偉大な言語とは感じるが。
371 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 15:19:48 ] 速報:グーグルが新言語「Noop」を公開。JavaVMで動作 − Blog on Publickey www.publickey.jp/blog/09/noopjavavm.html
372 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 15:36:40 ] 今にはじまったことじゃないが、相変らずGoogleのプロダクトはいまいち感かもしだすなあ。
373 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 16:33:39 ] >>365 今すぐ自分の役にたつもの作りたいならHSP 時間がかかってもいいから人の役に立つもの作りたいならRuby
374 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 21:48:24 ] おまえらそんな糞なものすすめんなw
375 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 21:52:52 ] まぁ一生そこから出てこないってんならHSPやRubyもありかもな でも他の言語もやるかもしれないならその2つは止めとけ 害にしかならん
376 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 22:01:15 ] >>362 論理演算はまだ?
377 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 22:02:05 ] >>362 bit演算はまだ? 間違えた アホだorz
378 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 22:07:03 ] >>355 >>370 SQLで覆面算を解いてるケースがあるからあなどれんよ
379 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 22:20:27 ] Noop Yeah, perhaps.. I personally find it more readable and I think there is good precedence for it in python and ruby, but totally understand the other view... As far as xor, nand, etc, if we were to have "and" and "or" and if we aren't afraid to add keywords, why not? :) if foo and bar: if not foo: On an sort of related note, I always liked being able to give the conditional at the end: foo = 2 if bar; // Ruby style foo = 2 if bar else 0; // Python style where else is required, which I find super annoying sometimes bar = 1 unless foo; // Ruby style unless, though I find if not easier to deal with than unless in my brain bar = 1 if not foo; This gets to ternary expressions, which can be more readable this way as well... foo = 1 if bar else 2; foo = 2 unless bar else 1; // Probably unnecessary Otherwise I guess we would use (a ? b : c) ?
380 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 22:21:52 ] I like the gabrielh's vote to put the conditional at the end: foo = 1 if bar; I'd also like to suggest my favorite looping construct from Pick Basic (yes Basic): loop { x = doSomething(); } while (!x) { doSomethingElse(); } putting the test in the middle of the loop allows you to dispense with any setup code for the loop that has to be repeated within the loop -- it all goes before the test and will be executed again for each iteration.
381 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 22:23:31 ] An array is essentially a function that takes a numeric parameter and returns a value. A Map can also be viewed as a function that takes an object (usually a String) argument and returns an object. They are essentially parametrized objects. Why can't we unify the syntax? A template (Generics) takes a parameter and behaves like a function also. Can we then move toward a syntax similar to the following? Array(Int) factorial = {1, 1, 2, 6, 24, 120}; Int fourth = factorial(3); // fourth == 6 Object myObj = myMap("myKey"); We can standardize this feature for all classes by using a special method: class TableRow() { String get(String name) { /* Return field name as a String */ } String get(Int i ) { /* Return field i as a String */ } } TableRow row = getNextTableRow(); String city = row(5); // city == "Alexandria" String country = row("Country"); // country == "Egypt" This is especially useful if we can extend the syntax to set values and not only retrieve them. The syntax might then look like this: class TableRow() { String get(Int i) { /* Return field i as a String */ } void set(String value, Int key) { /* The first parameter is the new value */ } } TableRow row = getNextTableRow(); String city = row(5); // city == "Alexandria" row(5) = "Ankara"; // row(5) is mutable of course String town = row(5); // town == "Ankara"
382 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 23:33:52 ] >>380 これはPythonに欲しい。 >>381 array[index] と map[key] を関数のようにみせるために array(index) と map(key) のように書くのか。 そのせいで代入が array(index) = value とか、きもいわ。
383 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 23:45:22 ] オブジェクトの参照を返す関数で hoge(fuga) = hage っていうのは他の言語でも有な気がする pythonの codecs.getreader('utf-8')(file('test.txt')).read() みたいなのも当初はきもいと思ったけど慣れたらそうでもないし Javaでも結構こんな書き方しなくね?
384 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 23:47:02 ] array(index)は今のPythonでも可能だろうけど(callの挙動を弄るだけ) array(index) = value はかなり無茶なことになるな BASICみたく配列の添字が括弧なのか、それ?
385 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 23:49:53 ] >>378 kwsk