5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【Python】スクリプト バトルロワイヤル46【pl,rb,php,js】

1 :デフォルトの名無しさん:2014/08/27(水) 00:17:35.06 ID:2yseGAwQ
・前スレのまとめ
Smalltalkはガラパゴス化が激しく、そのユーザは
現代の開発において使い物にならない
ポンコツであることが判明したのだった……



前スレ
【Python】スクリプト バトルロワイヤル45【pl,rb,php,js】
http://peace.2ch.net/test/read.cgi/tech/1405874605/

2 :デフォルトの名無しさん:2014/08/27(水) 01:33:44.42 ID:K9igsSCk
前スレ>>1000は分かりきったことを言って何が言いたかったのか?

3 :デフォルトの名無しさん:2014/08/27(水) 01:34:34.92 ID:Gkyyi0oW
>>前スレ999 = ID:K9igsSCk
リポジトリとは別にブランチというものがあるのを理解してくれ
http://git-scm.com/book/ja/Git-%E3%81%AE%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81%E6%A9%9F%E8%83%BD
この章をちゃんと図だけじゃなくて内容を理解してからコメントしてくれw

4 :デフォルトの名無しさん:2014/08/27(水) 01:48:47.94 ID:K9igsSCk
>>3
理解してるんなら説明してみ。
中央リポジトリーのmasterから
開発者各々がcloneでブランチを作り、
各々が中央リポジトリーの変更をpullで反映しつつ、
pushで各々の変更を中央リポジトリーに反映する方法
とは違う素敵な方法があるんだろ?

5 :デフォルトの名無しさん:2014/08/27(水) 01:49:57.41 ID:Gkyyi0oW
他人を馬鹿にすることしか出来ない無知な ID:K9igsSCk をあんまり意地悪しても可哀想だから、細かく教えてあげると、中央リポジトリ1本で分散型開発をする場合は、以下のようにする

◆開発者側
1. git clone で中央リポジトリをクローンしてローカルリポジトリ(&作業コピー)を作る
2. git checkout -b somefix で新しくmasterから分岐したトピックブランチを作る
3. プログラムを修正してgit commit
4. git push origin somefix でトピックブランチを中央リポジトリにpush
◆管理者側
1. git fetchでトピックブランチをローカルリポジトリに持ってくる
2. git merge origin/somefixでマージを試みる
3. 統合テストに成功すればそのままpush、統合テストに失敗すればgit resetでマージをなかったことにする

管理者側がpushしない限りはこのワークフローでは中央リポジトリのmasterは変化しないよ
だから開発者側がどんだけトピックブランチをpushしようが問題ない
もちろん開発者側がいきなりmasterにpushしたらダメだが、それは運用上禁止しておけばいいし、実際よく使われている運用ルールでもあるし、
中央リポジトリの特定のブランチは一部の人しかpushできないような制限をかけることが出来るサービスも多い

6 :デフォルトの名無しさん:2014/08/27(水) 01:51:49.73 ID:Gkyyi0oW
>>4
cloneでブランチを作るってのがもうすでに全く分かってない証拠
cloneで出来るのはローカルリポジトリ
そりゃローカルリポジトリのmasterをいじってpushしたら問題は起こる
cloneした後に更にトピックブランチを切るの。

理解してるんなら説明してみ、っていうか業務で使ってんだよこっちはw
炎上学習法なのかわからんけど、人に説明させるより自分で理解したほうが早いと思うけどなあ

7 :デフォルトの名無しさん:2014/08/27(水) 02:01:18.15 ID:K9igsSCk
>>5
コミッターが居ないのが中央集権型なのに管理者がいるのか。

中央集権型のワークフロー
中央管理型のシステムでは共同作業の方式は一つだけです。それが中央集権型のワークフローです。これは、中央にある一つのハブ (リポジトリ)
がコードを受け入れ、他のメンバー全員がそこに作業内容を同期させるという流れです。多数の開発者がハブにつながるノードとなり、作業を一
か所に集約します
http://git-scm.com/book/ja/Git-%E3%81%A7%E3%81%AE%E5%88%86%E6%95%A3%E4%BD%9C%E6%A5%AD-%E5%88%86%E6%95%A3%E4%BD%9C%E6%A5%AD%E3%81%AE%E6%B5%81%E3%82%8C

次から次へとオレオレルールが飛び出すなぁ。

8 :デフォルトの名無しさん:2014/08/27(水) 02:06:59.62 ID:Gkyyi0oW
>>7
だからさ、中央リポジトリで共有リポジトリが1個でもブランチは複数あるってのがわからないのかな?
ブランチを切って開発して、それを責任持った誰かがmasterにマージするということを「オレオレルール」とか言うなら、
一生オレオレルールって言って他人を馬鹿にしてると良いよ。
はっきり言って今までの一連の流れからGitを使って実践的な開発がしたことがないのはおろか、Gitの基本的な概念への理解すら怪しいってのが明らかになったからさ。
管理者ってのは便宜上つけただけでマージの責任を負えるやつなら誰でもいいんだよ。言葉の選び方は悪かったかもしれんがな。

9 :デフォルトの名無しさん:2014/08/27(水) 02:07:12.12 ID:K9igsSCk
>>6
お前の周りだけの常識で語られてもなぁ。
中央集権型なんてやろうと思ったことすら無いが、
この方法は公式のマニュアルに乗ってる普通の方法だぞ。

10 :デフォルトの名無しさん:2014/08/27(水) 02:11:55.45 ID:K9igsSCk
>>8
じゃ中央集権型なんていわなきゃ良かったろ

> Gitで言うところの中央集権型の意味わかってんの?w

こんなの言われたらGitの公式で使われてる
中央集権型だと思うのが普通だろ。

11 :デフォルトの名無しさん:2014/08/27(水) 02:13:43.24 ID:Gkyyi0oW
>>9
だからさ、Git Bookをあんたは誤読してんだよ。
中央集権型ってのは皆でorigin/masterを弄りましょうってだけの話ではない。
トピックブランチを切ってそれを最終的にorigin/masterにマージさせましょうっていう話も含むよ。

それが
http://git-scm.com/book/ja/Git-%E3%81%AE%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81%E6%A9%9F%E8%83%BD-%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81%E3%81%A8%E3%83%9E%E3%83%BC%E3%82%B8%E3%81%AE%E5%9F%BA%E6%9C%AC
http://git-scm.com/book/ja/Git-%E3%81%AE%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81%E6%A9%9F%E8%83%BD-%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81%E3%81%A7%E3%81%AE%E4%BD%9C%E6%A5%AD%E3%81%AE%E6%B5%81%E3%82%8C
http://git-scm.com/book/ja/Git-%E3%81%AE%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81%E6%A9%9F%E8%83%BD-%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81
あたりに書いてあるから読んでくれよな。

てかさ、「お前の周りだけの常識で語られても」とか言ってもあんたはGit使ったことないんだろ?
それこそ試してみたことすらない奴がマニュアルの一部だけを都合のいいように誤読して「中央リポジトリ版のやり方」だの「作業コピー版のやり方」だの言うのがちゃんちゃらおかしいんだけどさw
あんたのその自信どっからくんの?w

12 :デフォルトの名無しさん:2014/08/27(水) 02:14:48.03 ID:Gkyyi0oW
>>10
中央集権型は中央リポジトリにmasterブランチ1個で運用しますってどこに書いてあるのかな?

13 :デフォルトの名無しさん:2014/08/27(水) 02:16:49.62 ID:K9igsSCk
>>11
そのリンク先に中央集権型なんて一言もなかったな。
やっぱお前の脳内常識じゃねぇか。

14 :デフォルトの名無しさん:2014/08/27(水) 02:34:03.00 ID:Gkyyi0oW
>>13
だからさ、中央集権型ってのはリポジトリが分散してないって話だろう。
それとは独立してブランチの運用の話をしていることが理解出来ないの?

15 :デフォルトの名無しさん:2014/08/27(水) 02:34:20.37 ID:K9igsSCk
>>11
書いてあることまんま引っ張ってきただけだから誤読もクソもない。
書いてあることまんまを見て誤読と言うなら…。

>>12
主な問題はブランチ云々じゃなくてアンタが
自分の脳内を常識だと思ってるとこなんだよなー。

中央集権型の説明の続き

二人の開発者がハブからのクローンを作成して個々に変更をした場合、最初の開発者がそれをプッシュするのは特に問題なくできます。もう一人
の開発者は、まず最初の開発者の変更をマージしてからサーバーへのプッシュを行い、最初の開発者の変更を消してしまわないようにします。こ
の考え方は、Git 上でも Subversion (あるいはその他の CVCS) と同様に生かせます。そしてこの方式は Git でも完全に機能します。
小規模なチームに所属していたり、組織内で既に中央集権型のワークフローになじんでいたりなどの場合は、Git でその方式を続けることも簡単
です。リポジトリをひとつ立ち上げて、チームのメンバー全員がそこにプッシュできるようにすればいいのです。Git は他のユーザーの変更を上
書きしてしまうことはありません。誰かがクローンして手元で変更を加えた内容をプッシュしようとしたときに、もし既に他の誰かの変更がプッ
シュされていれば、サーバー側でそのプッシュは拒否されます。そして、直接プッシュすることはできないのでまずは変更内容をマージしなさい
と教えてくれます。

>>11が言ってることが、中央集権型の一般的な例ですよなんて、
どっかに書いてあるんなら勉強不足だったなと反省できるが、
一般に公開されてる資料には>>11の定義が入ってないもの。

16 :デフォルトの名無しさん:2014/08/27(水) 02:40:49.91 ID:K9igsSCk
>>6 に対応するgit bookの引用が>>15に有るんだけど、
git bookは>>6よりgitに詳しく無いんだね。
いや>>6さんスゲーわ。

17 :デフォルトの名無しさん:2014/08/27(水) 02:42:41.78 ID:D1kHPcdG
おまいらスレまたいでまで延々スレ違いを続けるんじゃねーよw

18 :デフォルトの名無しさん:2014/08/27(水) 04:45:59.36 ID:fBBDR2vO
トットリニーップwwwwwwwwwwwwwww トットリニーップwwwwwwwwwwwwwww 
トットリニーップwwwwwwwwwwwwwww トットリニーップwwwwwwwwwwwwwww 
トットリニーップwwwwwwwwwwwwwww トットリニーップwwwwwwwwwwwwwww 
トットリニーップwwwwwwwwwwwwwww トットリニーップwwwwwwwwwwwwwww 
トットリニーップwwwwwwwwwwwwwww トットリニーップwwwwwwwwwwwwwww 
トットリニーップwwwwwwwwwwwwwww トットリニーップwwwwwwwwwwwwwww 
トットリニーップwwwwwwwwwwwwwww トットリニーップwwwwwwwwwwwwwww 
ホーシンツクツクwwwwwwwww ホーシンツクツクwwwwwwwww 
ホーシンツクツクwwwwwwwww ホーシンツクツクwwwwwwwww 
ホーシンツクツクwwwwwwwww ホーシンツクツクwwwwwwwww 
ホーシンツクツクwwwwwwwww ホーシンツクツクwwwwwwwww
ニーィップwwwww ニーィップwwwww ニーィップwwwww ニーィップwwwww 
ニ˝ィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィwwwwwwwwwwwwwwwwwwww

19 :デフォルトの名無しさん:2014/08/27(水) 07:40:53.02 ID:e+Vepp1f
(粘着Git厨とか気持ち悪いアンチの方がよっぽど空気読めてないと思うんだが…)

20 :デフォルトの名無しさん:2014/08/27(水) 07:55:46.49 ID:fBBDR2vO
プログラマって時点で気持ち悪いからプログラマが気持ち悪さについて語るとブーメランになるよ

21 :デフォルトの名無しさん:2014/08/27(水) 09:11:14.33 ID:gB57fyJC
どんなにマトモなことを書こうが、
「最後に書き込みした方が勝ち」と思い込んでる病気持ちを
論破することは不可能だよ

病人と根気比べして勝てるわけ無い

22 :デフォルトの名無しさん:2014/08/27(水) 09:32:51.66 ID:gB57fyJC
svnより格段にブランチをマージしやすくなったから、
気軽にブランチ切って開発できるってのが
git普及時の売り文句だったよな

だからブランチ切らずに開発という発想がまず無いわー

23 :デフォルトの名無しさん:2014/08/27(水) 11:08:37.58 ID:Gkyyi0oW
>>15
中央集権型がmasterブランチだけでの開発だと読み取れるところを具体的に示してくれ。
公開リポジトリをどう扱うのかを議論する章の前にブランチをどう扱うのかの章が来ていて、公開リポジトリに関する章ではブランチの使い方に言及してないのだから、
中央集権型とかいうのはあくまで公開リポジトリが一つでそこに皆がpushするという意味だろう。
masterに皆でコミットするという意味とは読み取れない。
というかsvnは中央集権型だと思うが、別にsvnだってtrunkだけを使って開発することが中央集権型という意味ではないだろう。
実質的にはマージが大変だから皆そうしてるだけという話であって。

いくらgit bookと矛盾してそうなところ見つけてもそれ、あんたが誤読してるだけだからなw
git使ってたら当たり前すぎてわざわざ説明する必要もないことをこっちは延々説明してるんだから。

24 :デフォルトの名無しさん:2014/08/27(水) 11:19:01.11 ID:gVIx82Z4
全スレであったけど、
初心者のハマってる落とし穴をみて笑ったり馬鹿にしてる中級者ってショボいよな。

いい環境が育たないし、初心者は挫折し、中級者は自分の今いる位置で満足する。
上級者は「俺には関係ない、勝手にやってくれ」だから時代遅れのやり方今だに続けてるし

これだから日本のソフトウェア業界はショボいって言われる。
良い奴はみんな海外行って帰ってこないし、やってる事民度のレベルが韓国とかと変わらん。

これからの若い奴にはプログラミングなんてハードウェア次第でいくらでも変わっていくし、便利なもの、めんどくさい作業ですらパソコンが担うようになるから
難しいとか思わずにどんどん突き進んで欲しい。

同じ国内しか視野持てないカスどもを淘汰することを楽しみにしておるぞ

25 :デフォルトの名無しさん:2014/08/27(水) 11:52:17.04 ID:cnpppNKw
てめえがカスな上級者か

26 :デフォルトの名無しさん:2014/08/27(水) 14:05:03.16 ID:Pmu2yyQ7
24のいう中級者がgit儲だな

27 :デフォルトの名無しさん:2014/08/27(水) 14:18:54.74 ID:EQzDlHDv
はっきりいって、関わりたくない
プログラミングって行為自体は全然良いんだけど、
PG/SEなんてどっかぶっ壊れてるんだろうなって前提で接する事しかできない

僅かに壊れて無い奴がいたとしても、優秀な奴ばっか集まるとこだけ
中小企業のなんてみんなぶっ壊れてる
というか周囲に壊れた奴いれば伝染していくわけで入社当初は大丈夫でもどうせ1年で伝染してオワコンの仲間入りしてるだろうなー

なんでも知識を周りに教えちゃう偽善を振り撒けというんじゃなく
そういうオワコンが調子載ったら即論破出来るくらいの知識は身に着けて、そいつが調子載った時用に隠しとく位になれば
身の回りのオワコンくらいは教育出来るんじゃね?
プロというのは全力を必要な時以外は出さないでおくものだわ

28 :デフォルトの名無しさん:2014/08/27(水) 14:25:49.68 ID:EQzDlHDv
IT発展で一番良いのは、たいして成長しない初心者は排除して
伸びそうな奴だけ歓迎すること

しかし逆に底辺PG/SEからしたら、優秀な奴に来られると自分の居場所がなくなって困るから本能的に排除したがるんだろうね
これが老害
オワコン共

29 :デフォルトの名無しさん:2014/08/27(水) 15:18:51.17 ID:OJ+evZlr
そういや、最初はSmalltalkのバージョン管理とGitの比較から始まったんだっけ

30 :デフォルトの名無しさん:2014/08/27(水) 16:42:41.06 ID:gVIx82Z4
>>25
俺は未来人と宇宙人のハーフ

31 :デフォルトの名無しさん:2014/08/27(水) 16:57:38.49 ID:36wAJh8p
>>24
>良い奴はみんな海外行って帰ってこないし、やってる事民度のレベルが韓国とかと変わらん。

韓国?そういえば、そんな国もあったねぇ(遠い目
--
[OSS] 韓国でオープンソースの利用が進まない理由は本当に英語?:日経パソコンオンライン
http://pc.nikkeibp.co.jp/article/NPC/20070912/281736/?rt=nocnt

韓国では「韓国人は英語が苦手だからオープンソース利用が進まない」と言われているが、
韓国人よりもさらに英語が苦手な日本では結構進んでいるのではないか、という話。

でも、韓国で「オープンソース利用が進んでいない」という印象はあまりないんだけど、
韓国内にいる人はそう思うのかな。少し前まではWindows全盛という話は聞いていて
政府や大企業のサイトがActiveX使いまくり(なのでWindows以外ではネットバンキングも
政府サイトアクセスもできない)という状況だったそうだけど、
今ではずいぶん改善されているんで無かったかな。
各郵便局に配置されているという公衆端末はLinuxらしいし。

しかし、そんなことよりなにより印象に残ったのはここ。
> 日本だって英語が苦手な人が多いのに、韓国のマスコミの報道によると
> 5000人以上のOSS開発者がいるという。韓国では100人にも満たない。

確かに韓国発のオープンソースソフトウェアについて聞いたことはないが、
それは言語の壁に遮られているせいだと思ってた。

国全部で100人以下? マジで?
どういうことだろう? 確か韓国って3千万人くらい人口があるんだよね。

利用が進むのは勝手だが、利用ばかりで開発に回る人が少ないのは
あんまり望ましいことではないなあ。

(2007.9.12 Matzにっき) http://www.rubyist.net/~matz/20070913.html

32 :デフォルトの名無しさん:2014/08/27(水) 17:06:41.62 ID:Pmu2yyQ7
テョンが何かしたらウイルス入りとかスパイウェア混入だからな
開発に回ってくれると困る方が多いんだ

33 :デフォルトの名無しさん:2014/08/27(水) 17:10:30.72 ID:D317Wfm+
>>31 言語と言ったら日本語に最も近い言語が韓国語なんだから、それは関係無い
ま、両方の国が言語で苦労してるのは違い無いが

とか思って見直したら、なんだよ2007年って阿呆らしい、5年も経ったら浦島太郎の世界で何を見てるんだ

日本人の発信もものすごく少ないのは変わらないよ
小学校での英語が正課になってから20年位経てば少しは変わるかも

34 :デフォルトの名無しさん:2014/08/27(水) 17:47:03.19 ID:36wAJh8p
>>33
>>>31 言語と言ったら日本語に最も近い言語が韓国語なんだから、それは関係無い

あらゆる言語には類似性と相違性があるけど、「日本語に最も近い言語が韓国語」という学説は無い
戦前の日韓同祖論のように、昔からそういう思想家はたびたび登場していたけど、
つごうのいい時だけの「すりより」はいいかげんキモイ


>ま、両方の国が言語で苦労してるのは違い無いが

日本の場合(パッと思いついたモノだけ):
・OSS言語処理系だと:
 ・Ruby を開発したまつもとひろゆき氏(Matz)
 ・関数型言語処理系 SML# を開発した大堀淳氏
 ・CERN(欧州原子核研究機構)で公式の処理系として採用された
  C/C++ インタプリタである CINT を開発した後藤正治氏
・ソフトウェア関連規格では、XMLスキーマ定義言語である RELAX NG の共同開発者である村田真氏
・2008年以降のノーベル賞受賞者(物理/化学/医学) - 6名


>とか思って見直したら、なんだよ2007年って阿呆らしい、5年も経ったら浦島太郎の世界で何を見てるんだ

では、5年も経った現時点ならば、韓国における世界に認められた
OSS言語処理系開発者/ソフトウェア関連規格開発者/ノーベル賞受賞者を浦島太郎へ提示できるよね?

35 :デフォルトの名無しさん:2014/08/27(水) 18:17:56.15 ID:ZpkkKtYK
>>29
Smalltalkの話は途中で終わってgitのpatchとは何ぞやって話か延々続いてたな。

36 :デフォルトの名無しさん:2014/08/27(水) 18:43:11.42 ID:W37/KO91
そもそもアンチが、
静かになるたびにいちいちSmalltalkの話をふるからおかしくなる。
>>1 の前スレのまとめだってあんなこと書かずにほっときゃいいのにと思う。

37 :デフォルトの名無しさん:2014/08/27(水) 18:58:12.40 ID:TjHJprez
>>36
よっぽどプライドを傷つけられたんだろ
惨めさが滲み出してて良いじゃない

38 :デフォルトの名無しさん:2014/08/27(水) 19:09:19.59 ID:D317Wfm+
>>34 ニートのお前とノーベル賞学者には何の接点も無いのと同じ
何百年の文化の違いなんて対したもんだいではないだろ

39 :デフォルトの名無しさん:2014/08/27(水) 19:35:36.58 ID:gj7+HT+d
Gitなんてユーザも多いし情報もあふれてるのに
いまさら初歩的な議論されてウンザリだけど、
Smalltalkで開発する話はレアだから、そっちに進めば良かったのに

GitとSmalltalkを比較できる人間なんて滅多に居ないぞ
だから前スレでこの書き込みした彼には、是非もっと語ってもらいたい

>>884
>批判になって無い。
>書き込み読んだだけじゃ、Smalltalkの併合機能は大したことが無いように見えるかもしれないが、
>PythonとgitやらRubyとgitなんかの組み合わせじゃ、
>Smalltalk環境なら5分で終わる手間が、
>30分掛かるような事も現実に良くある。

>事実を突き合わせて(批)判断する(判)と書いて批判と書くが、
>2chの書き込みだけ見て感情的に非難するより、
>実際にVisualWorksとか落としてみて批判した方がいい。

40 :デフォルトの名無しさん:2014/08/27(水) 19:45:48.31 ID:xXZX1H7P
SmalltalkならTest&Bug修正と競合の解消が同時にできるからね。
30分掛かるような作業が5分に縮むのも致し方ない。

41 :デフォルトの名無しさん:2014/08/27(水) 19:58:48.21 ID:gj7+HT+d
どういう規模の開発で、どういうワークフローで作業していて、
何の問題が発生して、どんな解決策を取った結果として
n分の時間がかかった

というあたりが知りたい
もちろんSmalltalkのほうね

42 :デフォルトの名無しさん:2014/08/27(水) 20:05:14.92 ID:xXZX1H7P
例えばgitとPythonじゃ、
gitはPythonのことを知らないから
1本のSourceに関数が50有ったとして、5個の関数て衝突が発生したら、
残り45個の関数は衝突が解消するまで、Testできない。
Smalltalkなら5個を直している間に、
45個に含まれるBugが発生した3個のMethodを修正できる。

43 :デフォルトの名無しさん:2014/08/27(水) 20:19:12.90 ID:gj7+HT+d
つまり、マージで衝突したところを修正している間に
バックグラウンドでテストを実行できると

そういうこと?
(さすがに衝突の修正とバグ修正は同時にできないよね人間には)

44 :デフォルトの名無しさん:2014/08/27(水) 20:38:28.83 ID:xXZX1H7P
>>43
2人以上いる時の話だよ。
同じSourceに関わった人間が3〜4人いれば
かなり差になるね。
30分が5分は極端だけど60分が15分とかは現実的。

45 :デフォルトの名無しさん:2014/08/27(水) 20:43:40.42 ID:gj7+HT+d
え?分からなくなった
ひとりが衝突を修正してる間に、他のひとがバグ修正できるってこと?

46 :デフォルトの名無しさん:2014/08/27(水) 20:53:58.43 ID:xXZX1H7P
>>45
そういう話だよ。
競合が発生せず、競合解決中のMethodに依存しないMethodは、
競合したMethodより先に併合済ませて、
Testできる。

47 :デフォルトの名無しさん:2014/08/27(水) 21:05:03.30 ID:gj7+HT+d
いっせーので同時にマージして、
こっちは衝突を直すから、そっちはバグを直しといて
みたいな感じ?

それとも、誰かがマージしてみて失敗したことをBTSとかに書いて、それから役割分担する?

48 :デフォルトの名無しさん:2014/08/27(水) 21:05:50.33 ID:2yseGAwQ
全作業が5分ってことは、マージもデバッグも5分以内に終わるってことだろ
だったらマージとデバッグをシーケンシャルに実行しても10分以内に終わるだろ
なんで30分もかかるんだよ

結論:Smalltalkerは足し算ができない

49 :デフォルトの名無しさん:2014/08/27(水) 21:11:11.97 ID:36wAJh8p
>>38
ノーベル賞受賞者は冗談としても、オープンソースや標準規格に関わる
世界的に著名な韓国人のソフトウェア技術者すら一人も挙げられない、ってことか

まあ、

 > 日本だって英語が苦手な人が多いのに、韓国のマスコミの報道によると
 > 5000人以上のOSS開発者がいるという。韓国では100人にも満たない。

こんなふうに技術者が奴隷扱いされ優秀な人物から海外脱出するようなお国柄だから、
世界的なソフトウェア技術者を一人も挙げられないのは無茶な注文だったみたいだね(棒


> 何百年の文化の違いなんて対したもんだいではないだろ

OSS開発者が「韓国では100人にも満たない。」のも「対したもんだいではない」んだろね(棒

50 :デフォルトの名無しさん:2014/08/27(水) 21:15:20.38 ID:KL0wurV3
>>46
要するに管理単位がメソッドだから、あるメソッドがコミットできればテストに入れるってこと?
そもそも Python とかで開発してるときに一つのファイルをよってたかって修正するケースはあまりないから、たいしたメリットには思えないんだが...

51 :デフォルトの名無しさん:2014/08/27(水) 21:19:48.65 ID:Gkyyi0oW
Gitでも同様のことをしようと思ったらpost-mergeとかmerge-conflictあたりにhookして、メソッド単位で衝突したときはとりあえず片方を採用して
もう片方は全部コメントアウトで突っ込んどくみたいなスクリプト作れば同じことはできるんじゃないかな。

「GitはPythonのことを知らないから」というのは事実だが、可能性としてはhookでどうにでもなるわけだよね。

52 :デフォルトの名無しさん:2014/08/27(水) 21:47:12.08 ID:XoxEee4O
git-python (or ruby)と monticello-pharo (or squeak)とで
短いコードでいいので同じ状況を作って
実際に試してみてもらえませんか?

53 :デフォルトの名無しさん:2014/08/27(水) 22:11:47.14 ID:e+Vepp1f
git使いの方には、
gitにありがちな(そしておそらくはmonticelloでは対応できないであろう)状況と、
それを作り出すことができそうなコードの最低限の要件も出してもらえるとありがたいです。

54 :デフォルトの名無しさん:2014/08/27(水) 22:23:08.17 ID:ukuC8PC4
>>47
基本的な流れはこんな感じ。

・併合済みのSourceが入ったSmalltalk用のこんな感じのRepositoryを用意する。
http://www.cincomsmalltalk.com/publicRepository/
・そのRepositoryから開発者が自分のSmalltalk環境に変更を適用すして衝突が発生する。
・衝突が発生しなかったMethodに付いてはUnitTest。
・衝突とUnitTestの結果を確認して、対応できる人を調整して
 作業中のSmalltalk環境のImageを渡す。
・Bug修正と衝突が解消したら作業者の修正結果を
 Repositoryの中にある一時作業用の枝を使って併合する。
・最後にもう一度UnitTestを走らせる。
・修正結果をRepositoryに反映する。


役割分担の打ち合わせをする時間はどうしても必要になるね。

55 :デフォルトの名無しさん:2014/08/28(木) 01:59:48.39 ID:+Dwh2iR2
GitGitうるせーな

そういえば、今世界で一番大きいRailsのサイトってGitHubなんじゃね?
Twitterほどではないにしてもあのレベルのサイトを維持できてるのはすごいんじゃ


まあでも、referencesourceとか見ると、少なくとも静的言語については10年ぐらい遅れてるサイトだなと感じてしまったが

56 :デフォルトの名無しさん:2014/08/28(木) 02:58:25.69 ID:C8owoY/K
よく子供って覚えたての言葉連呼するだろ?
あのレベル。
中級者は周りの環境とかでたまたま中級者になった初心者なんだから
あまり調子に乗るなよ。
ただの中級者でしかない。

品のなさが何よりの証拠。

57 :デフォルトの名無しさん:2014/08/28(木) 06:06:45.00 ID:5HudKtJo
オンラインゲームは韓国の方がレベル高いな
LINEとかも

58 :デフォルトの名無しさん:2014/08/28(木) 07:24:30.91 ID:7B3Grc38
別にあんなん作れる奴はいくらでもいるから

問題は、作れる奴ら集めて開発して
会社として利益回すこと
つまり経営と共同作業がど下手コミュ障ジャップス

59 :デフォルトの名無しさん:2014/08/28(木) 07:29:49.93 ID:KFPC3CUi
そういやSIerとかってGit使ってるのかな?

技術的に劣ってる上に保守的で、上流から下流まで低能揃いだから
使ってなくても不思議じゃないが

60 :デフォルトの名無しさん:2014/08/28(木) 08:09:42.23 ID:TURX2PUA
Smalltalkは日本Cincomが無料版VisualWorks配布続けてれば、
日本でももっと普及したんだろうな。
今VisualWorksをタダで貰おうと思ったら、
本家Cincomに英語で個人情報登録しなきゃなんないから
初級者には厳しい。 

61 :デフォルトの名無しさん:2014/08/28(木) 08:17:34.17 ID:Np0KLLND
どっちにしろJavaとVBに駆逐されてたと思うよ

62 :デフォルトの名無しさん:2014/08/28(木) 08:40:50.33 ID:KFPC3CUi
>>60
その書き方だと、海外ならSmalltalkが普及してるように読めてしまうな
事実は違うが

63 :デフォルトの名無しさん:2014/08/28(木) 11:43:03.18 ID:C8owoY/K
でもさ、日本でソフトウェア作ってる人たち、世界を変えるほどの凄いの作った人達って皆んな何らかの不運な最後迎えてるよな。

ウィニーの金子さんだったり、TRON作ってた人達もまとめて航空機事故。普通ありえない。

P2Pの技術なんて使い方工夫すれば本当に凄い技術なのに。

64 :デフォルトの名無しさん:2014/08/28(木) 13:19:42.27 ID:Hp8Zj0ul
日本のITの後ろのほうには何かいるよね
ある程度名声集めたり出世しそうになると必ず何か
裁判がどうのっていう感じのグダグダに引き込まれる
sora_hも気を付けたほうが良いよ

65 :デフォルトの名無しさん:2014/08/28(木) 14:59:06.99 ID:5HudKtJo
日本発で世界に普及したソフトウェアってメジャーなのはRubyくらいだろう
あとはコンソールゲームの任天堂とかスクエニとかだけど、今は海外勢の方が強い
ウェブサービスは皆無だし

66 :デフォルトの名無しさん:2014/08/28(木) 21:56:03.24 ID:OhGAUiGw
>>59
俺の現場はgitだね
今までの経験でいうと、何もなし:CVS:Subversion:gitが4:1:3:2ぐらい

67 :デフォルトの名無しさん:2014/08/29(金) 03:44:21.22 ID:8CYlhDKE
>>66
なし4か…

68 :デフォルトの名無しさん:2014/08/29(金) 03:52:12.68 ID:o4c44k3Y
html5って失敗するよね?
5年後ぐらいには、これを踏み台にしてクロスプラットフォームの規格が制定されてるよ。

69 :デフォルトの名無しさん:2014/08/29(金) 06:33:41.57 ID:4v1OcElJ
だから何

70 :デフォルトの名無しさん:2014/08/29(金) 08:33:11.14 ID:+bkqIqnF
>>68
クロスプラットフォームっていったらQtだけど
Qtがwebブラウザに対応するかが鍵だろう
対応しないなら
html5覇権だろうね

71 :デフォルトの名無しさん:2014/08/29(金) 08:42:39.03 ID:JuyS8Rqx
HTML5の覇権かどうかでお前らの収入が左右されるの?

72 :デフォルトの名無しさん:2014/08/29(金) 09:35:50.70 ID:+bkqIqnF
node-webkitっていう良いローカル実行環境があるから
html5 javascriptがwebブラウザにも対応できるクロスプラットフォームアプリ作るのに最適

73 :デフォルトの名無しさん:2014/08/29(金) 09:38:26.31 ID:HC1xSJU9
>>68 失敗も何も否定する要素が見つからないけど? EPUB3に入ってるし 無くなる訳が無い
どんなチョンボをしでかしたんだ?

74 :デフォルトの名無しさん:2014/08/29(金) 09:48:37.45 ID:+T2tHFPF
失敗はしないけど、最高のUI/UXは提供できない
旧VBのような位置付けに留まるよ

75 :デフォルトの名無しさん:2014/08/29(金) 10:21:47.66 ID:HC1xSJU9
>>74 全くのアホだな OSプラットフォームと言う見方をしたらどうなるか解らんが、ブラウザプラットフォームとしての位置は微動だにしないだろ
HTML5 はWebプラットフォームそのものなんだぞ なんか勘違いしてるだろ
そもそも言語ですらない(一部にJavascriptが含まれていると言うだけの事)

76 :デフォルトの名無しさん:2014/08/29(金) 10:22:48.45 ID:HC1xSJU9
マークアップ言語とかいろんな要素が組み合わされたもの

77 :デフォルトの名無しさん:2014/08/29(金) 10:32:10.83 ID:+T2tHFPF
>>75
3流のUXを安価に提供するブラウザプラットフォームとして
不動の地位を持ってることは否定してないよ

78 :デフォルトの名無しさん:2014/08/29(金) 17:11:28.26 ID:JF5lqIUA
>>77 何が言いたいのか解ら無い。 UI UX 何て個別の奥深いニッチなニーズがあり、それらを全て汎用の仕様に盛り込むことは出来無い。

やっとHTML5で縦書きや右開きで日本人の文化にも馴染むものになりつつあり、音声同期で多くの人に楽しみを与えられるものになりつつ有る。
単純にビデオを流すだけでも今まではflashを使わざるを得なかった呪縛から逃れられた。 若干の調整は残ってるが
言語と言うのはそう言う技術や文化の下支えがあってはじめて成り立つもの。

HTML5とはそう言うものなんだけど何が言いたいんだ?

79 :デフォルトの名無しさん:2014/08/29(金) 18:04:45.98 ID:y0wlLGq8
HTMLで出来る部分はjs使わないほうが表示も速いんだから
少しずつ仕事とられて結局jsは死ぬ運命なんだよ
jsで無駄な冗長なソースコードかいてるそれはいずれHTML5に組み込まれて終わり
サーバーサイドも既にPHP筆頭に多くの言語がひしめく激戦区だから参入なんて不可能jsはオワコン

80 :デフォルトの名無しさん:2014/08/29(金) 18:50:30.69 ID:/jlnFq3N
html5はネイティブアプリに比べて処理が遅くて機能が貧弱、収益化が難しいという欠点がある
ウェブサイトにちょっとしたエフェクト付けるとか動画を流すとか、これまでflashがしてきたような事はhtml5がいずれ完全に代替すると思う
けど、それ以上にはならないと思う

81 :デフォルトの名無しさん:2014/08/29(金) 20:28:34.11 ID:HC1xSJU9
>>80 サーバサイドアプリが動かせれば良いんだよ
クラウド味代に欠かせないものだろ

HTMLの裏でどんな言語でも動かせば良いんだから共存共栄だろ
UI がHTMLだと思えば良い

82 :デフォルトの名無しさん:2014/08/30(土) 00:19:25.36 ID:xweqMAs8
http://www.buzzword.jp/img/face10.png

83 :デフォルトの名無しさん:2014/08/30(土) 02:45:47.75 ID:Y3aOlWd0
バトルロワイヤルっつーか、Perlはほぼ死亡したし
Ruby、PHP、JS全部微妙じゃねえの最近
Pythonは教育分野や科学分野で割りと頑張ってるようだが

みんな仲良くしようぜ(´・ω・`)

84 :デフォルトの名無しさん:2014/08/30(土) 03:50:47.25 ID:QWav5+mb
>>79
PHP以外、存在しないのと同じ

てか、PHPよりjsの方が文字列処理しやすいよね

85 :デフォルトの名無しさん:2014/08/30(土) 04:53:09.28 ID:bthGnPJH
【翻訳】Rubyにはウンザリ!動的型付け、副作用、およびオブジェクト指向プログラミング全般からの考察
http://postd.cc/sick-of-ruby-dynamic-typing-side-effects-object-oriented-programming/

86 :デフォルトの名無しさん:2014/08/30(土) 05:12:13.80 ID:AQHhz7Go
微妙というか、これといった進化がなくなってきたから微妙に感じる

良く分からないけどLL全部死ぬんじゃね

87 :デフォルトの名無しさん:2014/08/30(土) 05:28:00.71 ID:AQHhz7Go
若い奴のIT技術への興味の薄れは半端ない
つまり、世界からさほど重要なものではなくなってきた

88 :デフォルトの名無しさん:2014/08/30(土) 08:41:05.69 ID:aDzegpD9
>>83
Perlはsh(シェルスクリプト)、sed 、awk とかを使って来た人が、
使いやすいようにってだけで、
今更新しくって人向きじゃないしね。

文字列の比較のeqとかが、shの数値比較のeqから来てるとか知らんと、
なんやねんってなるだろうし。

89 :デフォルトの名無しさん:2014/08/30(土) 08:57:35.34 ID:3J76hEg2
sh(というよりtest)の比較は
=が文字列比較でeqが数値比較だから
Perlと逆なんだよね

90 :デフォルトの名無しさん:2014/08/30(土) 11:35:38.63 ID:T0jUedLA
求人サイトがリニューアルしました!
http://jobinjapan.jp/

転職・求職活動中の方のご利用をお待ちしています。

91 :デフォルトの名無しさん:2014/08/30(土) 12:42:50.26 ID:fktBCnc4
>>87
自己紹介乙w、ついでに添削しとくね

> 私のIT技術への興味の薄れは半端ない
> つまり、私にとってIT技術さほど重要なものではなくなってきた

板違いだから、続けたいならマ板へ逝きなされ

あと IT は "Information Technology" の略語だよ
「馬から落馬した」みたいな言葉を平気で使う
森元総理みたいなIT音痴はプログラマには向かないと思うね

92 :デフォルトの名無しさん:2014/08/30(土) 13:16:45.20 ID:3J76hEg2
動的型とか関係なくて、mutableなオブジェクトを使いまくるスタイルがダメ

93 :デフォルトの名無しさん:2014/08/30(土) 14:47:40.80 ID:gD5SQTD1
タイプセーフか否かっていうのは決定的な差がある
PerlユーザーがGolangに流れるのは合点がいく
今さらタイプセーフじゃない言語を始める理由ない

94 :デフォルトの名無しさん:2014/08/30(土) 14:52:59.50 ID:XzWqzjLg
いんたーねっつ てくのろじぃ

95 :デフォルトの名無しさん:2014/08/30(土) 15:35:08.93 ID:eMjEoUcz
>>93
翻訳時に型検査する(型安全な)言語は大抵反変な型に対応してないのが辛い。
C#は公式に対応してて、C++だと
template駆使すれば対応できるっちゃ出来るが
どっちもメンドイ。翻訳時に型検査する他の言語については、そもそも無理ってのが辛い。

具体的にはこんな感じ。

struct ModelForImageBox { virtual Widget *CreateBy( ImageBoxProvider& ) = 0; };
struct ModelForText { virtual Widget *CreateBy( LabelProvider& ) = 0; };

struct LesserUIProvider: virtual ImageBoxProvider, virtual LabelProvider{};

struct ModelForLesserUI: virtual ModelForImageBox, virtual ModelForLabel
{
 virtual Widget &CreateBy( LesserUIProvider& ) = 0;
};

class TitleModel: virtual ModelForLabel {・・・略・・・};

ModelForLesserUI *models[3];

// ModelForLesserUIとTitleModelは反変な関係にあり、実装の都合を無視すれ安全に代入できる
models[0] = new TitleModel();

96 :デフォルトの名無しさん:2014/08/30(土) 17:12:06.61 ID:bW0dX0pA
>>93
むしろ、それで流れるならもっと前に別へ流れてるのが自然だと思うのだけれど…

97 :デフォルトの名無しさん:2014/08/30(土) 18:26:08.70 ID:b6PiuM0V
これと同等に機能する処理をお前らご自慢の言語で書いてみて。
Command = {};
Command.Do = function(){};
Command.UnDo = function(){};
Journal = {};
Journal.ReDo = function(){};
Journal.UnDo = function(){};
Journal.DoIt = function( aCommand )
{
 aCommand.Do();
 var unDo = this.unDo, reDo = this.ReDo;
 this.UnDo = function()
 {
  aCommand.UnDo();
  this.UnDo = unDo;
  this.ReDo = function()
  {
   aCommand.Do();
   this.ReDo = reDo;
  }
 }
}
ActiveJournal = Object.create( Journal );
HelloCommand = Object.create( Command );
HelloCommand.Do = function(){WScript.StdOut.WriteLine( "Hello" );};
HelloCommand.UnDo = {WScript.StdOut.WriteLine( "Bye" );};
ActiveJournal.DoIt( HelloCommand );
ActiveJournal.UnDo();
ActiveJournal.ReDo();

98 :デフォルトの名無しさん:2014/08/30(土) 19:01:14.13 ID:3J76hEg2
それって出力はこうなるのかな?

Hello
Bey
Hello

99 :デフォルトの名無しさん:2014/08/30(土) 19:59:23.90 ID:6WSuRWjK
>>91
> 「馬から落馬した」みたいな言葉を平気で使う

まだこんなこと言ってる奴がいるんだな w
もう既に IT で一つの言葉になってる
http プロトコルとか SCSI インターフェースとかと同じだよ

100 :デフォルトの名無しさん:2014/08/30(土) 20:24:35.40 ID:V1laBz/X
>>97
そのコードだと一度UnDoを呼び出したら
もう一度ReDo -> UnDoと呼び出しても戻れないだろ
ショボすぎる

最低限こういう挙動になるように書いてくれないとな
やり直し

ActiveJournal.DoIt( HelloCommand ); #=> "Hello"
ActiveJournal.UnDo(); #=> "Bye"
ActiveJournal.ReDo(); #=> "Hello"
ActiveJournal.UnDo(); #=> "Bye"
ActiveJournal.UnDo(); #=>
ActiveJournal.ReDo(); #=> "Hello"
ActiveJournal.ReDo(); #=>

101 :デフォルトの名無しさん:2014/08/30(土) 20:33:29.35 ID:Xv2623Xm
>>99
吹いた。自分で違和感ないのそれ
クォートしてググると万ヒット程度はあるけど、この件数だとむしろみんな意味ダブりを気をつけてるって事に感じるけどなあ

102 :デフォルトの名無しさん:2014/08/30(土) 20:40:39.56 ID:fktBCnc4
>>97
class Command
  attr_accessor :do, :undo
  def initialize
    @do = proc do end; @undo = proc do end
  end
end
class Journal
  attr_accessor :redo, :undo, :do_it
  def initialize
    @redo = proc do end; @undo = proc do end
    @do_it = proc do |command|
      command.do[]; undo = self.undo; redo_ = self.redo
      @undo = proc do
        command.undo[]; @undo = undo
        @redo = proc do
          command.do[]; @redo = redo_
        end
      end
    end
  end
end
active_journal = Journal.new
hello_command = Command.new
hello_command.do = proc do puts "Hello" end
hello_command.undo = proc do puts "Bye" end
active_journal.do_it[hello_command]
active_journal.undo[]
active_journal.redo[]

103 :デフォルトの名無しさん:2014/08/30(土) 20:51:05.89 ID:CAyHLC1C
>>100
忘れてたわ
めんごんご

Journal = {};
Journal.ReDo = function(){};
Journal.UnDo = function(){};
Journal.DoIt = function( aCommand )
{
 aCommand.Do();
 var unDo = this.unDo, reDo = this.ReDo;
 this.UnDo = function()
 {
  aCommand.UnDo();
  this.UnDo = unDo;
  this.ReDo = function()
  {
   this.DoIt( aCommand );
   this.ReDo = reDo;
  }
 }
}

104 :デフォルトの名無しさん:2014/08/30(土) 21:52:02.57 ID:3J76hEg2
>>103

> this.DoIt( aCommand );
> this.ReDo = reDo;

どうでもいいけど、順番逆じゃね?

105 :デフォルトの名無しさん:2014/08/30(土) 21:53:44.99 ID:T0jUedLA
求人数に見るスクリプトの需要度?
PHP(57件)
http://jobinjapan.jp/job-listing/keyword-php-pg.html
JavaScript(29件)
http://jobinjapan.jp/job-listing/keyword-javascript.html
Perl(26件)
http://jobinjapan.jp/job-listing/keyword-perl-pg.html
Ruby(12件)
http://jobinjapan.jp/job-listing/keyword-ruby.html
Python(6件)
http://jobinjapan.jp/job-listing/keyword-python.html

給与はJavaScriptが一番安い?

106 :デフォルトの名無しさん:2014/08/30(土) 22:37:49.26 ID:PEff/omh
class Command:
    def do(self): pass
    def undo(self): pass

class Journal:
    def redo(self): pass
    def undo(self): pass
    def do_it(self, command):
        command.do()
        def _():
            command.undo()
            def __():
                self.redo = redo
                self.do_it(command)
            self.undo, self.redo = undo, __
        undo, redo, self.undo = self.undo, self.redo, _

active_journal = Journal()
hello_command = Command()
hello_command.do = lambda: print('Hello')
hello_command.undo = lambda: print('Bye')
active_journal.do_it(hello_command)
active_journal.undo()
active_journal.redo()

107 :デフォルトの名無しさん:2014/08/31(日) 00:12:52.69 ID:6JqydWBU
>>104
例外対策だよ
ReDoに失敗したのにReDo完了になってると不味いから。

108 :デフォルトの名無しさん:2014/08/31(日) 00:40:03.78 ID:WGg/3o6e
DoIt -> UnDo -> ReDo -> ReDo -> ReDo -> ... だと2回目以降のReDoは何もしないのに
DoIt -> UnDo -> ReDo -> UnDo -> ReDo -> ReDo -> ReDo -> ... では3回目以降のReDoも"Hello"を出力し続ける

という統一感の無い仕様に疑問を覚えないタイプか

109 :デフォルトの名無しさん:2014/08/31(日) 00:55:55.70 ID:/uYnzAqf
メソッドを動的に入れ替えられるかチェックするのが主題っぽいし
その辺はどうでも良くね?

ただ動的型付言語にはお題が簡単すぎるな

110 :デフォルトの名無しさん:2014/08/31(日) 01:10:24.80 ID:gAY4BEiK
>>105
Perl意外と多いんだな。
まさかCGIの求人とかねーだろうなって思って見たら、
WRB系ってのが結構あるんだが、
多分CGIだよな?

今時まだCGI/Perlなんてあるんだな…。

111 :デフォルトの名無しさん:2014/08/31(日) 01:45:29.98 ID:ag+J7Um1
"GNU Smalltalk版"

! Association methodsFor: 'Command' !
redo
 self key value.
!
undo
 self value value.
!!

| activeJournal log |

log := Transcript.
activeJournal := UndoStack new.
activeJournal
 push: ( [ log show: 'Hello' ] -> [ log show: 'Bye' ] ); "DoItと同じ"
 undo;
 redo;
 pop. "popはredoしないundo"

112 :デフォルトの名無しさん:2014/08/31(日) 01:57:01.01 ID:NvHF5m7c
>>110
あんた「WebアプリはCGIとPHPしかない」って2chに毒されすぎだよ

113 :デフォルトの名無しさん:2014/08/31(日) 02:03:10.59 ID:ag+J7Um1
>>109
各言語によるUnDo/ReDoの実装方法を批判する事がお題の目的で、
別に関数の入れ替えが出来るか試す事がお題の目的じゃないよ。

114 :デフォルトの名無しさん:2014/08/31(日) 02:13:20.82 ID:ag+J7Um1
>>108
Bugだね。ごめんごめん。

Journal = {};
Journal.ReDo = function(){};
Journal.UnDo = function(){};
Journal.DoIt = function( aCommand )
{
 aCommand.Do();
 var unDo = this.unDo;
 this.UnDo = function()
 {
  var reDo = this.ReDo;
  aCommand.UnDo();
  this.UnDo = unDo;
  this.ReDo = function()
  {
   this.DoIt( aCommand );
   this.ReDo = reDo;
  }
 }
}

115 :デフォルトの名無しさん:2014/08/31(日) 06:32:49.08 ID:midIxlyr
>>110
LAMPというのがあってね

116 :デフォルトの名無しさん:2014/08/31(日) 10:48:06.72 ID:WGg/3o6e
例外に対応

class Journal:
    undo, redo = [lambda _: None] * 2
    def do_it(self, do=redo, undo=undo):
        do()
        def _():
            undo()
            def __():
                self.do_it(do, undo)
                self.redo = _redo
            _redo, self.undo, self.redo = self.redo, _undo, __
        _undo, self.undo = self.undo, _

active_journal = Journal()
active_journal.do_it(do=lambda:print('Hello'), undo=lambda:print('Bye'))
active_journal.undo()
active_journal.redo()

117 :デフォルトの名無しさん:2014/08/31(日) 12:26:03.31 ID:jMVPb3Gf
>>111 の GNU Smalltalk版が ideone.com で動かなかったので
勝手に書き直してみた。

http://ideone.com/x0DuUF

118 :デフォルトの名無しさん:2014/08/31(日) 12:34:40.78 ID:gPjYOqNI
>>101
他人と会話するときに ftp で転送すると言ったら、どう言うことを想像する?

119 :デフォルトの名無しさん:2014/08/31(日) 15:23:34.57 ID:dK8Z1XNh
世界で最も使われている言語
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Aug 2014 Aug 2013 Change Programming Language Ratings Change
1 2 C 16.401% +0.43%
2 1 Java 14.984% -0.99%
3 4 Objective-C 9.552% +1.47%
4 3 C++ 4.695% -4.68%
5 7 Basic 3.635% -0.24%
6 6 C# 3.409% -2.71%
7 8 Python 3.121% -0.48%
8 5 PHP 2.864% -3.83%
9 11 Perl 2.218% +0.18%
10 9 JavaScript 2.172% +0.08%
11 - Visual Basic 2.014% +2.01%
12 13 Visual Basic .NET 1.310% -0.01%
13 10 Ruby 1.242% -0.83%

人気度ランキング
http://livedoor.4.blogimg.jp/hatima/imgs/0/d/0d6cb8ac.png
1. JavaScript
2. Java
3. PHP
4. Python
5. Ruby
6. C#
7. C++
8. C
9. Objective-C
10. Shell

120 :デフォルトの名無しさん:2014/08/31(日) 16:49:03.56 ID:4kwz6JJO
>>119
上のランキング、複数のサーチエンジンの検索結果から総合的に求めているという
ことなんだが、GoogleやBingだとObjective-Cがこんな順位にはならないんだよな。
どのサーチエンジンが上げてるんだろ。

121 :デフォルトの名無しさん:2014/08/31(日) 18:04:19.49 ID:H7XMdBoc
>>115
いつの時代だよ
http://dailyjs.com/2014/08/28/mean-google/

122 :デフォルトの名無しさん:2014/08/31(日) 18:09:06.73 ID:WGg/3o6e
Apacheで捌けないほどのリクエスト数を
扱ってる者のみが石を投げなさい

123 :デフォルトの名無しさん:2014/08/31(日) 18:23:51.62 ID:H7XMdBoc
たとえ、Apacheより性能が劣っていたとしても、
javascriptでやった方が管理しやすいって採用するだけの理由になるよ

124 :デフォルトの名無しさん:2014/08/31(日) 21:51:25.51 ID:+wrLXgjr
>>117
UndoStackはVisualGSTの一部として存在してるんだから、
せめてI/FをUndoStackに合わせてくれ。

https://github.com/zecke/gnu-smalltalk-debian/blob/master/packages/visualgst/Undo/UndoStack.st

125 :デフォルトの名無しさん:2014/08/31(日) 23:58:16.67 ID:ZXg8yhGL
>>119
Smalltalkは環境の名前で調べないと意味が無いんだけどねぇ。
Smalltalkで検索してSmalltalkの使い方書いてる所は殆ど無いから。

126 :デフォルトの名無しさん:2014/09/01(月) 00:05:45.83 ID:m6Tmjdd7
言語名でも環境名でもSmalltalkがマイナーなのは一緒ですわ

https://www.google.co.jp/trends/explore#q=Squeak%2C%20Pharo%2C%20VisualWorks%2C%20Smalltalk&cmpt=q

127 :デフォルトの名無しさん:2014/09/01(月) 00:48:04.63 ID:7j02fd97
>>126
やっぱり環境の名前の方がSmalltalkより検索量が多いな。

128 :デフォルトの名無しさん:2014/09/01(月) 01:56:08.58 ID:072y2JCb
そういえば、大学の教授がSmalltalkでペトリネットエディタ作ってたな
今更ながら本当にスゴいように思う

129 :デフォルトの名無しさん:2014/09/01(月) 02:22:00.36 ID:0L11GGiJ
そんなのが成果になるの大学教授って?

130 :デフォルトの名無しさん:2014/09/01(月) 08:18:07.85 ID:xK7WN8k/
「作りました」で終わりじゃなくて
自論の検証のための実験結果としてつけるものだろ

131 :デフォルトの名無しさん:2014/09/01(月) 11:55:37.08 ID:072y2JCb
>>>129
学生の演習用だったよ
探したら既にJava製Pipeとかあったけど

132 :デフォルトの名無しさん:2014/09/01(月) 15:32:58.79 ID:Aoi0Spsz
// Swift beta6
class Command {
  var Do = {Void()}
  var UnDo = {Void()}
}

class Journal {
  var ReDo = {Void()}
  var UnDo = {Void()}
  func DoIt(aCommand:Command) -> Void {
    aCommand.Do()
    let unDo = self.UnDo
    self.UnDo = {
      let reDo = self.ReDo
      aCommand.UnDo()
      self.UnDo = unDo
      self.ReDo = {
        self.DoIt( aCommand )
        self.ReDo = reDo
      }
    }
  }
}

let helloCommand = Command()
helloCommand.Do = {println( "Hello" )}
helloCommand.UnDo = {println( "Bye" )}

let journal = Journal()
journal.DoIt(helloCommand)
journal.UnDo()
journal.ReDo()

133 :デフォルトの名無しさん:2014/09/01(月) 16:34:09.40 ID:uJG2hXKz
こんな感じかな

>>97 & >>114 WScript
>>102 Ruby
>>106 >>116 Python
>>111 >>117 GNU Smalltalk
>>132 Swift

134 :デフォルトの名無しさん:2014/09/01(月) 17:55:20.80 ID:072y2JCb
2007年頃って、もっとスゴい人たちがスゴいコードを書き散らかしてたよね
node.js一択になってしまった、今後では本当に悲しい出来事です

135 :デフォルトの名無しさん:2014/09/01(月) 18:26:23.07 ID:3ZaJH5/9
UnDo/ReDo課題は無個性な実装が多いね。
言語機能を活かした個性的な実装は無いの?

136 :デフォルトの名無しさん:2014/09/01(月) 20:44:28.33 ID:CiNZKcmO
>>135
出題者が書いた先頭バッターのWScript(>>97)コードが
没個性そのもので、しかも次々とBugを指摘されるしぃ....
おまけに "Hello" "Bye" を表示すればUnDo/ReDo機能が
確認できると思っているみたいなレベルだしぃ....

出題をやり直した方がいいんじゃねえの?
せめて出題者がWScriptの言語機能を活かして、
他の言語では容易く真似できないようなお手本を示してもらいたいなぁ....

137 :デフォルトの名無しさん:2014/09/01(月) 21:35:45.06 ID:aHXhCh/j
>>136
他人のことは良いから、Smalltalker見たいに違うやり方してみろよ。

138 :デフォルトの名無しさん:2014/09/01(月) 21:50:56.91 ID:XtSc5NXx
SmalltalkのヤツはUndoStackって既存のライブラリを呼び出してるだけじゃね?

139 :デフォルトの名無しさん:2014/09/01(月) 21:53:02.13 ID:CiNZKcmO
>>137
その言葉をそのまま>>137へお返しするよ

140 :デフォルトの名無しさん:2014/09/01(月) 22:03:52.38 ID:aHXhCh/j
>>139
口だけはデカイのにヘタレだなー

141 :デフォルトの名無しさん:2014/09/01(月) 22:26:29.03 ID:CiNZKcmO
>>140
>>139

142 :デフォルトの名無しさん:2014/09/01(月) 22:35:31.02 ID:76iKDgox
>>111>>114が同じIDなんだけど、
これってSmalltalkerが出題したってことだよな?

それで>>138ってのはカッコ悪すぎじゃね?

143 :デフォルトの名無しさん:2014/09/01(月) 22:47:03.28 ID:DAMUdDHx
>>118
それには違和感ないなあ。
ファイル転送プロトコルを利用してファイル転送するよ、って解釈したけど、なんか違う解釈できるのかな?

144 :デフォルトの名無しさん:2014/09/01(月) 22:53:32.90 ID:m6Tmjdd7
無限イテレータを使った実装
使い方は>>116と同じ


from itertools import repeat, chain, tee

class Journal:
    U, R = repeat(lambda:None), repeat(lambda:None)
    def undo(self):
        self.U, U = tee(self.U)
        next(U)()
        self.U = U
    def redo(self):
        self.R, R = tee(self.R)
        next(R)()
        self.R = R
    def do_it(self, do=lambda:None, undo=lambda:None):
        def f():
            do()
            self.U = chain([g], self.U)
        def g():
            undo()
            self.R = chain([f], self.R)
        f()

145 :デフォルトの名無しさん:2014/09/01(月) 23:19:43.02 ID:N/gatcgj
>>142
実行環境に既存のLibraryが有るなら使えば良いんじゃね。
なんか問題でもあんの?車輪屋さん?

146 :デフォルトの名無しさん:2014/09/01(月) 23:38:47.91 ID:76iKDgox
>>124のUndoStackのコードが、まさに没個性丸出しの実装なわけだが

147 :デフォルトの名無しさん:2014/09/01(月) 23:59:04.20 ID:PX/2+tbV
>>146
RudyかPythonか知らんけど、お前も好きな言語で
既存のライブラリーなり言語機能なり使って書けば良いじゃん。

148 :デフォルトの名無しさん:2014/09/02(火) 00:06:08.40 ID:eHgt21Yg
>>147
>>137がSmalltalkのように個性的に書けと言ってるのに対し、
全然個性的じゃないよバカじゃないの?と言ってるわけだから、
Smalltalkの個性的なところを説明するか、Smalltalkも没個性と認めるか
どっちかにしてくれない?

149 :デフォルトの名無しさん:2014/09/02(火) 00:27:26.44 ID:eL0WUZUQ
昔良く、CommonLispやHaskellが語られてたけれど、
このスレだけなんで異様にSmalltalkerで溢れているの?

150 :デフォルトの名無しさん:2014/09/02(火) 00:45:17.47 ID:BmMNOa/v
>>149
単に最近の話題なだけだよ
このところこのスレ、スレタイ的な内容を期待してもなんか違う感じの流れしかない
深く考えないほうが混乱しないで済みます

スレ頭のあたりでは、Gitのどうでもいい煽り合いが流行ってました

151 :デフォルトの名無しさん:2014/09/02(火) 01:28:10.50 ID:p/E9p38V
Gitの煽り合いも無知なSmalltalkerがトンデモな内容を
書き込んでたのが荒れた原因だけどな

152 :デフォルトの名無しさん:2014/09/02(火) 06:42:38.49 ID:CtF88/DV
荒れたのはgitでpatchと言えばgit diffや
git format-patchの結果を指すのか否かで揉めたせいだったが。
アンチSmalltalkerは何でもSmalltalkerのせいにしようとするな。

153 :デフォルトの名無しさん:2014/09/02(火) 11:53:09.89 ID:KrSYfhAE
>>143
ftp コマンドで転送したと解釈されても不思議はない

154 :デフォルトの名無しさん:2014/09/03(水) 13:54:28.96 ID:U3mBpUpE
>>152
荒れたのはSmalltalkerのお前がgitは使ったことがあると言ったくせに、patchが一連のコミットを指すような概念だとも知らず
未だにgit diffやgit format-patchの結果を指すのか否かなんていうことを言ってる頓珍漢なレベルでgitを否定したからだろ。

Smalltalkを否定するつもりはないが、他のシステムをよく知らずにFUDすんなよ。

155 :デフォルトの名無しさん:2014/09/03(水) 17:14:21.26 ID:8rcXwuze
>>154
ヒマなんで、一連のやり取りを読み返して見たけど、なんか違うような気がする。

発端は前スレ(以下同じ)非Smalltalk使いの863が
“(Smalltalkの)メソッドレベルのバージョン管理にはデメリットしか感じない”

と疑問を呈したのに対して、くだんのSmalltalker(この人はカタカナ語を頭文字を
大文字にした英単語で書くからすぐわかる)が869で
“Marge後に構文が破綻するようなら”とまずい例を出して誤解を助長したのが始まり。

何度かやり取りがあったあと、別の非Smalltalk使いの879が
“パッチ単位でアクセプト/リジェクトを判断するから構文エラーなら即リジェクト”

というようなこと言ったのに対してくだんのSmalltalkerがこれをスルーして886で
“Smalltalkで5分で済むことが、他言語+git だと30分かかることもよくある”

とよせばいいのにあからさまなgit批判。さらに879をスルーしたことを指摘されると900で
“Patch単位(原文まま)でReject(同)の意味がわからなかった”

と白状し、なぜかマージ(彼風に書けばMarge)とすべきことをわざわざ「併合」と表記。
それを揶揄するやり取りのあと、やはり同じSmalltalkerが909で
“git diffのパッチはいろいろあるから、パッチ=マージ結果の差分パッチとは限らない”
(…から、たんにパッチと言われても自分には判断がつかなかった)

などと弁明するやりとりがあったあたりで、非Smalltalk使いの924が、
“誰がmargeにpatch使うって書いてんの?”

とコミットをパッチと表現する879をいじりだして、あと中央リポジトリとかの話も加わって
Smalltalkerとか関係なく、運用形態が異なるgit使いの間でもめ出したという感じ。

えっと、もしかしてコミットをパッチというのが当然というあたり、実は>>154は前スレ879だったりする?

156 :デフォルトの名無しさん:2014/09/03(水) 17:28:17.27 ID:brWD22kU
どうでも良いけど、スレ先頭あたりのやり取りで
Smalltalkerがリポジトリとブランチの違いすら分かってないのに驚いたな

Smalltalkのバージョン管理にはその区別が無いってことなんだろうか?

157 :デフォルトの名無しさん:2014/09/03(水) 17:32:55.12 ID:brWD22kU
厳密に言うと、パッチとコミットはGitでもちょい違うよな
パッチに日時とかauthorとかの付加情報がくっついたのがコミットって感じ

158 :デフォルトの名無しさん:2014/09/03(水) 17:38:32.57 ID:8rcXwuze
>>156
え? どの書き込み?
このスレの前のほうで件のおかしなSmaltalker(カタカナ語を
頭文字大文字の英字で書くからすぐわかる)はいないみたいだよ。
たぶんこのスレでは ID:b6PiuM0V として >>97 あたりからだから。

ID:K9igsSCk は前スレの書き込みをみるかぎり、Smalltalkerじゃないみたいだし。

159 :デフォルトの名無しさん:2014/09/03(水) 18:47:00.61 ID:ptuefsju
git厨は貶めれるなら誰を見てもSmalltalkerに見えるらしい。

160 :デフォルトの名無しさん:2014/09/03(水) 19:28:45.79 ID:kxuCdwtA
gitのコミットで管理されてるのはパッチじゃないよ

161 :デフォルトの名無しさん:2014/09/03(水) 19:50:51.81 ID:Vl5YW3d/
Smalltalk の VCS には実際にレポジトリーとかブランチの区別がなくて
それをあげつらっているのかと思って Monticello っての調べてみたけど
普通にレポジトリーもブランチもあるみたいだし。やっぱアンチの FUD?

http://17get.blogspot.jp/2010/11/pharo.html
http://www.lukas-renggli.ch/blog/monticello-merging

162 :デフォルトの名無しさん:2014/09/03(水) 21:03:26.58 ID:rgaFaXry
>>160
Gitで管理してる差分ってどう呼ぶのが適切なんかね?

163 :デフォルトの名無しさん:2014/09/03(水) 21:11:29.80 ID:UR+0KJVl
パッチだろ

164 :デフォルトの名無しさん:2014/09/03(水) 21:32:03.82 ID:JPyhrjiU
そもそも git で管理しているのは差分ではないでしょう。

http://ton-up.net/technote/2013/11/17/study-git-internals/

165 :デフォルトの名無しさん:2014/09/03(水) 21:34:19.97 ID:rgaFaXry
>>164
git gc で .git/objects/pack/ 以下に作成されるファイルには
差分が入ってるんじゃないの?

166 :デフォルトの名無しさん:2014/09/03(水) 21:35:27.46 ID:0ir9kNKt
Gitの話はどうでもいい。
これはスクリプト言語、プログラム言語に入ってるのか?
チューリング完全と言う概念を満たさないだろ?

167 :デフォルトの名無しさん:2014/09/03(水) 21:47:02.18 ID:JPyhrjiU
>>165
最近は差分で管理していたんですね。情報古くてすみません。

http://dqn.sakusakutto.jp/2013/09/git_add_very_large_file.html

168 :デフォルトの名無しさん:2014/09/03(水) 22:18:39.39 ID:mWs0q5Vf
>>166
Scriptは別にTuring完全である必要は無いだろう。
何かを制御する言語がScriptの古典的な定義なんだから。

Shell Script -> Bash等のShell
Run Script -> Daemonの起動制御
AppleScript -> OSAX
ActionScript -> Flush
JavaScript -> Web browser
JScript -> WSH(WScript)
VBScript -> WSH(WScript)
PostScript -> 印刷機
VIMScript -> VIM
Drawscript -> Illustrator
AutoCAD Script(Lispとは別) -> AutoCAD
MaxScript -> FinalRender

169 :デフォルトの名無しさん:2014/09/03(水) 22:24:49.51 ID:3KSJfFho
>>168
プログラミング言語を名乗るなら、チューリング完全である必要があるよ(一般的に)

170 :デフォルトの名無しさん:2014/09/03(水) 22:25:03.17 ID:ptg5oEg9
どうでもいい理由だけど >>168 とは仲良くなれないなと思った

171 :デフォルトの名無しさん:2014/09/03(水) 22:44:18.73 ID:tLgkN519
俺もスクリプトはプログラミング言語とは別の流れだと思うな
兼用する物も多いが

だからどうした? どうでも良いだろ
ここで議論するスクリプト言語は、チューリング完全なプログラミング言語が対象だな

172 :デフォルトの名無しさん:2014/09/03(水) 22:48:04.56 ID:rgaFaXry
チューリング完全じゃないプログラミング言語というと
Coqが思い浮かんだ

173 :デフォルトの名無しさん:2014/09/03(水) 22:51:05.32 ID:HqUsCeK+
チューリング完全でないスクリプトって何かあったっけ

174 :デフォルトの名無しさん:2014/09/03(水) 23:01:17.92 ID:mWs0q5Vf
>>173
AutoCAD ScriptとDrawscriptはたしか反復や分岐が無かった気がする。
操作手順を記録して再生してるだけだったように思う。

175 :デフォルトの名無しさん:2014/09/03(水) 23:04:40.60 ID:rgaFaXry
SQLはスクリプト言語に含めても良いだろうと思ったけど
念のためググってみたらSQLもチューリング完全だった

176 :デフォルトの名無しさん:2014/09/03(水) 23:04:41.31 ID:oAeAVS0h
>>171
何でプログラミング言語じゃないといけないの?
スクリプトスレだし、ム板はプログラミング言語以外の
スレもあるから板違いな訳でも無いよね。

177 :デフォルトの名無しさん:2014/09/03(水) 23:07:58.64 ID:V3ERpIlI
>>171
スクリプトを追い出すんなら汎用言語バトルロワイヤルスレでも立てて、
そっちに移った方が良いんじゃねに。

178 :デフォルトの名無しさん:2014/09/03(水) 23:10:17.28 ID:Y1teGBhn
>>175
一般的にはチューリング完全ではないと見なされてる。
SQLとRubyやPythonを同列にみなすのは意味がないだろ?

179 :デフォルトの名無しさん:2014/09/03(水) 23:10:40.67 ID:z1Y/3x7f
>>176
で、Git もスクリプトだからという理由で、
スレ違いの議論を延々と続けようとしている訳か....

180 :デフォルトの名無しさん:2014/09/03(水) 23:11:59.48 ID:Y1teGBhn
>>176
スレタイにpython,js,pl,rb,phpって書いてあんだろ。
この辺りの言語に近しい物が対象だよ。常識的に考えて

181 :デフォルトの名無しさん:2014/09/03(水) 23:13:39.14 ID:V3ERpIlI
Gitは純粋に場違いじゃね

182 :デフォルトの名無しさん:2014/09/03(水) 23:19:48.09 ID:V3ERpIlI
>>180
スクリプトを語るスレが無くなるな。
新しいスレでも建てるか?

183 :デフォルトの名無しさん:2014/09/03(水) 23:27:42.66 ID:rgaFaXry
スクリプト言語のスレだけど、バトルするスレでもあるので
ある程度は汎用に使える言語じゃないと勝負にならないのでは

184 :デフォルトの名無しさん:2014/09/03(水) 23:29:57.55 ID:V3ERpIlI
>>168
通信制御用のTeleScriptも追加で

185 :デフォルトの名無しさん:2014/09/04(木) 00:01:00.36 ID:a8LqbcNn
>>180
個人的にはスクリプトっつーたらLuaやSquirrelも外せんのだが、それは別にスレがあるしな
かと言ってWebプログラミング用のスクリプト言語のスレならWebProgでやれって話だし…

186 :デフォルトの名無しさん:2014/09/04(木) 00:13:10.94 ID:Ks7kNHLJ
Luaは入れて良いんじゃない?
sedは入らないけど、awkは入る気がするし

187 :デフォルトの名無しさん:2014/09/04(木) 00:16:13.74 ID:rITlWe6e
スレタイにスクリプトって書いてあるのに、
名前にScriptが付く言語はダメとか…。

188 :デフォルトの名無しさん:2014/09/04(木) 00:19:41.14 ID:a8LqbcNn
>>186
Luaはここではバトルにならないんよ
用途が用途だけに、バトルするならSquirrelも居る組み込みスクリプト総合スレでやったほうがいい

awkは入っていいと俺も思う

189 :デフォルトの名無しさん:2014/09/04(木) 00:22:53.35 ID:rITlWe6e
曖昧な線引きせずに、制御言語として使われてるか
否かで白黒付けた方がいいんじゃないか?

190 :デフォルトの名無しさん:2014/09/04(木) 00:34:56.55 ID:34rt8A6n
MessagePad(NewtonOS)用の NewtonScript も忘れないであげて....
(ちなみに >>184 の TeleScript は MagicCap用になる)
さてそれはさておき、

>>188
Lua も入れないとなると、スレタイにある PHP や JavaScript の立場も、
「勝負にならない」という意味で微妙じゃないかと思う
ただし Git、SQL、HTML をスクリプトと見なす意見には、断固として拒絶する

191 :デフォルトの名無しさん:2014/09/04(木) 00:36:44.83 ID:bkSQ+Hy6
特定用途ならPythonやRubyみたいな汎用言語より
Scriptの方が圧勝なんだけどなー。
例えばAutoCADで線を引くならAutoCAD Scriptの方が
2行程と圧倒的に短い(そもそも手で直接書かない)。
なんつうか闘う次元が違うな。

192 :デフォルトの名無しさん:2014/09/04(木) 00:40:27.35 ID:iXxF7dM8
>>190
SQLをRDB制御言語と見なしてはダメな理由を答えなさい

193 :デフォルトの名無しさん:2014/09/04(木) 00:47:47.84 ID:34rt8A6n
>>192
ここはPerl/Python/Rubyといった汎用スクリプト言語プログラマが
コード設計の技(わざ)を競うバトルロワイヤルの闘技場だから
(Smalltalk なら、GNU Smalltalk や Little Smalltalk のコードは歓迎したい)

もし反論があるなら、過去のお題について
一つでもSQLでコードを示してからにしなさい

194 :デフォルトの名無しさん:2014/09/04(木) 00:51:09.31 ID:Dl7v7SB2
ここで扱うものの最低限、実現可能なことを決めておくといい。

195 :デフォルトの名無しさん:2014/09/04(木) 00:51:54.96 ID:RUHHUhiS
>>193
同意

196 :デフォルトの名無しさん:2014/09/04(木) 00:55:41.05 ID:bkSQ+Hy6
>>192
RDB制御言語じゃあるけど、
手打ちも出来る
CommandをScriptに纏めて書いて
一気に実行するScript言語とは違うんじゃないか?
と思ったが、Scriptに纏めて書いて一気に実行するSQL Scriptと言うのが有った。

http://docs.oracle.com/cd/E14373_01/user.32/e13370/sql_rep.htm

SQLはともかくSQL ScriptはScriptで良いんじゃないか?
名前にScriptって書いてあるし。

197 :デフォルトの名無しさん:2014/09/04(木) 00:57:57.10 ID:RUHHUhiS
そんなの誰が使うんだ
なんかSQLをスクリプト言語と認めさせることが目的になってないか

198 :デフォルトの名無しさん:2014/09/04(木) 01:02:54.44 ID:Ks7kNHLJ
mysql < script.sql
とか普通に使うでしょ。でも>>193には同意

199 :デフォルトの名無しさん:2014/09/04(木) 01:05:21.47 ID:bkSQ+Hy6
Scriptの一覧を更新してみた。

Shell Script -> Bash等のShell
Run Script -> Daemonの起動制御
AppleScript -> OSAX
ActionScript -> Flush
JavaScript -> Web browser
JScript -> WSH(WScript)
VBScript -> WSH(WScript)
PostScript -> 印刷機
VIMScript -> VIM
Drawscript -> Illustrator
AutoCAD Script(Lispとは別) -> AutoCAD
MaxScript -> FinalRender
TeleScript -> MagicCap
NewtonScript -> MessagePad
SQL Script -> OracleDB

200 :デフォルトの名無しさん:2014/09/04(木) 01:05:53.97 ID:34rt8A6n
>>196
>SQLはともかくSQL ScriptはScriptで良いんじゃないか?
>名前にScriptって書いてあるし。

ただ単に、バトル(=コード合戦)へ参加できる言語であることが資格だ

>>193 を繰り返す:
 もし反論があるなら、過去のお題について
 一つでも SQL Script でコードを示してからにしなさい

SQL Script やその他大勢がスクリプト言語ではないとは言ってないし、
スクリプト言語の定義も無関係
もしこれらを話題にしたいのなら、別の雑談スレへ逝くか新スレ立てろ、って話

201 :デフォルトの名無しさん:2014/09/04(木) 01:09:39.04 ID:JrHf8QHD
ここでバトルするのはあくまでも汎用プログラミング言語でスクリプトとしても使える様な物だろ。

動的プログラミング言語と言った方が良いのかな
http://ja.wikipedia.org/wiki/動的プログラミング言語
http://i.imgur.com/5Yn5wui.jpg
http://i.imgur.com/ZuMdBe7.jpg

202 :デフォルトの名無しさん:2014/09/04(木) 01:11:48.28 ID:FnqOLc8M
pythonしか使わないからsmalltalkの話はおもしろかったわ
rubyとかphpとかの話はもうお腹いっぱい
今度は誰かjuliaの話とかしてくれ

203 :デフォルトの名無しさん:2014/09/04(木) 01:14:22.59 ID:BbDfnFo+
>>200
>>201
じゃ「動的汎用言語バトルロワイヤル」スレ建てるか。

204 :デフォルトの名無しさん:2014/09/04(木) 01:29:51.98 ID:y7U1XDJP
DIGA Manager

【PHP,JavaScript】スクリプト バトルロワイヤル43【pl,rb,py】
http://peace.2ch.net/test/read.cgi/tech/1396153182/863
> どうしても遊びたければ、元のHTMLにXSL を通して画面変換するのが最もノーマルな考え方だけど。
> CSSをちょっと変更するだけでも見やすくなりそうな気もする。

これってどういうこと?
XSLT がなんだかよく判らない…

XSLT って
XML を HTML とか CSV とかに変換するための記述の仕方って理解しかできてないけど、
それで、HTML をモバイル向け HTML にするって意味が判らない。

レベル低すぎてすんません。
rep2 みたいにウェブからデータ読んでスマホUIで操作できるようなの作れないかなと思って、
php とか JS / ruby /python とか調べてたらここに辿り着いちゃって…。

何覚えたら(学習したら)いいでしょうか?

205 :デフォルトの名無しさん:2014/09/04(木) 01:31:00.77 ID:OCBOYGfu
一般的にDSL扱いされてる奴を分ければいいのでは、とも思うけど線引き難しいな。空気読めで済まされるともやもやするしw

実質DSLなエクセルマクロでも、ゲーム作ったりしてるエクストリーム系な話題はあるし

206 :デフォルトの名無しさん:2014/09/04(木) 01:49:37.98 ID:Ks7kNHLJ
>>200
反論があるわけじゃないけど、前スレ遡ってたら
解けそうなお題見つけたw


> 626 :デフォルトの名無しさん:2014/08/15(金) 14:50:19.59 ID:hTVsVIgh
> 後は、Go言語といえば並列性になるのかな
>
> あるディレクトリの下にある全てのファイルからgoで始まる単語の個数を数える
> ただし個々のファイルは並列に処理する
>
> という御題はどうだろうか


HiveQL(SQLライクなHiveのクエリ言語)


SELECT COUNT(*) FROM
( SELECT EXPLODE(SPLIT(text, '[ ]+')) word FROM dir ) t
WHERE SUBSTR(word, 1, 2) = 'go';

207 :デフォルトの名無しさん:2014/09/04(木) 03:15:34.65 ID:bcVjO/13
>>167
少なくとも2007年には実装されてた機能を、最近ってお前…

208 :デフォルトの名無しさん:2014/09/04(木) 06:22:17.39 ID:218WJICe
>>199
最近は
#!/bin/sh
って書いてあるのに、Bashで書く馬鹿がいるけど、
Shell Scriptの基本は、一応sh(Bourne Shell)な。

Linuxだと、Debian系(Mint等)以外、
/bin/shのシンボリックリンクが/bin/bashになってるから、
しゃーないんだけど。

209 :デフォルトの名無しさん:2014/09/04(木) 06:28:10.70 ID:218WJICe
>>205
いや俺も、DSLを線引きにすればいいとは思ってた。
とは言っても、多少話題が逸れたって別にいいとは思うけどね。

自分が気に入る話題の流れにしたいのなら、自分から、ネタを提供しろってことだし。


とは言っても、完全に(元々の用途も、その後拡張されて現在でも)汎用ってのは、
意外と少ないかも。

PythonとRubyくらい?

awkはテキスト処理のためのDSLだし、Perlも最初の成り立ちは、それに毛生えたようなものだし、
PHPはウェブのライブラリなつもりだったし、Javascriptもブラウザ向けのDSLに近かったしな。
Luaは組み込み用途。

エクセルVBAも含めて、その気になれば、変態的なことは、
大抵の言語ではできるけど。

210 :デフォルトの名無しさん:2014/09/04(木) 07:20:32.76 ID:qM1T2Af2
そもそもPythonやRubyはPython ScriptやRuby Scriptと名乗って無いことから判るように、
基本的に汎用言語でScript用言語じゃないんだよな。

211 :デフォルトの名無しさん:2014/09/04(木) 07:29:25.58 ID:Dl7v7SB2
スクリプトって用語は一般には特定の専門言語を表さないだろ。
コンパイルなしで逐次実行可能な動的言語だと一般には解釈されてるだろ。
Javascriptもブラウザ専門というわけでない。

212 :デフォルトの名無しさん:2014/09/04(木) 07:33:26.73 ID:TIeZUDIH
Pythonはアプリ組み込みではトップクラスに実績の多い言語だぞ
その点全然ダメなRubyと一緒にしちゃいけない

213 :デフォルトの名無しさん:2014/09/04(木) 07:37:18.37 ID:qM1T2Af2
>>211
一般的にScriptを名乗る言語は制御言語ばっかりだよ。

Shell Script -> Bash等のShell
Run Script -> Daemonの起動制御
AppleScript -> OSAX
ActionScript -> Flush
TypeScript -> Web browser
JavaScript -> Web browser
JScript -> WSH(WScript)
VBScript -> WSH(WScript)
PostScript -> 印刷機
VIMScript -> VIM
Drawscript -> Illustrator
AutoCAD Script(Lispとは別) -> AutoCAD
MaxScript -> FinalRender
TeleScript -> MagicCap
NewtonScript -> MessagePad
SQL Script -> OracleDB

214 :デフォルトの名無しさん:2014/09/04(木) 07:50:29.11 ID:JrHf8QHD
スクリプト談義なんかもう終わりにしろよ。
このスレは汎用動的プログラミング言語だけ

215 :デフォルトの名無しさん:2014/09/04(木) 08:16:41.90 ID:ouwNdSKo
仕方ねぇ動的汎用言語専用の隔離スレ立てるか。
スレタイと>>1はこれで良いよな。



動的汎用言語 バトルロワイヤル47

スクリプト専用言語の話題は禁止です。

このスレで取り扱う言語の例:
・Perl
・Python
・Ruby
・JavaScript

元スレ
【Python】スクリプト バトルロワイヤル46【pl,rb,php,js】
http://peace.2ch.net/test/read.cgi/tech/1409066255/

216 :デフォルトの名無しさん:2014/09/04(木) 08:17:04.15 ID:/3JR0XIG
phpのどんな書き方もできるような糞みたいな柔軟さに慣れてると、
pythonのようなこの書き方しか出来ないみたいな言語に憧れるわぁ。

217 :デフォルトの名無しさん:2014/09/04(木) 08:22:24.70 ID:XfxeWDvM
このスレでDSLはスレ違いだし、
gitが管理してるのはパッチだよ
分かったら落ち着け、な?

218 :デフォルトの名無しさん:2014/09/04(木) 08:25:42.90 ID:Dl7v7SB2
むしろ、特定用途専用の言語が個別スレをすべき。
一般のスクリプト言語と、動作・実行可能なことがまったく異っていたら比較不可能でバトルロワイヤルにならない。

219 :デフォルトの名無しさん:2014/09/04(木) 08:29:53.81 ID:ouwNdSKo
動的汎用言語だけ残してスクリプトを排除ってのはそれこそ本末転倒じゃん

220 :デフォルトの名無しさん:2014/09/04(木) 08:36:33.19 ID:Ks7kNHLJ
>>213に挙げられた言語でどうやってバトルするの?
特定のアプリを制御するのが目的である以上、他の言語では代用できないんだから
勝負自体が成立しないだろ
例えばVimScriptはどう頑張ってもActionScriptの代わりにならないわけで

221 :デフォルトの名無しさん:2014/09/04(木) 08:39:53.04 ID:TIeZUDIH
>>219
元々ここLLスレと称してたから

222 :デフォルトの名無しさん:2014/09/04(木) 08:49:36.33 ID:d+hXtCPk
>>212
Pythonは歴史が古いからねぇ。ただその分、ちょっと原始的で扱いづらかったような記憶が。
コンテキストがグローバルなものひとつだけだったり、アプリケーション外部のPython環境に
依存したりとか。
今もそうなんだろうか?

223 :デフォルトの名無しさん:2014/09/04(木) 09:30:06.77 ID:218WJICe
Rubyも歴史は、Pythonほどじゃないが、
結構長いんだけどね。

Perlがもっと古いし、awkはさらに古いけど。

224 :デフォルトの名無しさん:2014/09/04(木) 09:42:35.30 ID:cIOBgnXC
>>222
>コンテキストがグローバルなものひとつだけだったり、

Pythonにレキシカルスコープが入ったのが2.1なので、その前の話?
まあそれ以前もグローバルひとつだけではなかったけど

225 :デフォルトの名無しさん:2014/09/04(木) 10:46:23.55 ID:d+hXtCPk
アプリ組み込みの実行コンテキストの話ね。
もしかしたらひとつじゃなくてスレッド毎だったのかも知れないけど、
lua v8 mruby といったイマドキの組み込み言語は普通に複数コンテキストを
扱えたんで。

226 :デフォルトの名無しさん:2014/09/04(木) 10:50:03.65 ID:cIOBgnXC
あ、それ面白そう
お題にしてみてよ>複数コンテキスト

227 :デフォルトの名無しさん:2014/09/04(木) 11:23:01.41 ID:Hk6TBqME
>>190
> MessagePad(NewtonOS)用の NewtonScript も忘れないであげて....

NewtonScript は NEWT/0 を使えばバトル参戦可能!
http://gnue.github.io/NEWT0/ja/

こちらも参考まで
http://manuals.info.apple.com/MANUALS/1000/MA1508/en_US/NewtonScriptProgramLanguage.PDF

228 :デフォルトの名無しさん:2014/09/04(木) 13:42:25.39 ID:JrHf8QHD
>>227 もうそんな化石は使ってるのはほとんどいないだろ。 

AppleScriptも次のOSX YosemiteでJavaScriptに段々取って代るし

Javascript for Automation Release Note
https://developer.apple.com/library/prerelease/mac/releasenotes/interapplicationcommunication/rn-javascriptforautomation/index.html

そう言えばJavaScriptをOSで使ってる例って他にある? WScript が亜種だけどそうかな。

JavaScript for Automationを試す
http://kanzmemo.cocolog-nifty.com/blog/2014/08/javascript-for-.html

229 :デフォルトの名無しさん:2014/09/04(木) 13:56:51.02 ID:a8LqbcNn
>>228
wscriptは言語でなく環境だけどな
wscriptもしくはcscript、これらがWSH環境
WSHで使える言語には、デフォルトではVBScriptとJScriptがある
んでその内のJScriptがJavaScriptの亜種

230 :デフォルトの名無しさん:2014/09/04(木) 17:39:28.95 ID:Dl7v7SB2
これを実装して比較


http://shinshu.fm/MHz/48.59/images/5PkvN5D5.png
http://shinshu.fm/MHz/48.59/archives/0000417284.html


golang - go言語のchannelでムダに竹内関数をまわす - Qiita
http://qiita.com/hirokidaichi/items/73850270ecbba6f92010


SwiftScript - 竹内関数を使って分散並列言語Swiftのオーバーヘッドを見てみる - Qiita
http://qiita.com/61503891/items/40a2bd073923d3b9781e


JavaScript - 竹内関数をメモ化とか遅延で高速化してみた - Qiita
http://qiita.com/alucky0707/items/b3f9ab63c63e9e6399e6


M.Hiroi's Home Page / お気楽 Go 言語プログラミング入門
http://www.geocities.jp/m_hiroi/golang/abcgo27.html

231 :204:2014/09/04(木) 18:07:35.53 ID:y7U1XDJP
>>204 なんですけどお呼びじゃないようで orz
「ここで聞いたらいいんじゃ…」ってあたりのヒントだけでも頂けると…

232 :デフォルトの名無しさん:2014/09/04(木) 19:17:38.78 ID:JrHf8QHD
>>231
>rep2 みたいにウェブからデータ読んでスマホUIで操作できるようなの作れないかなと思って

-->CGI PythonでもPHPでもJavaでも何でも好きな言語で

元の話が見えないなんでXSLTの話が出てきてたのかが解らないとアドバイスのしようがない
単に元のサイトの表示の体裁だけを変えてスマホで表示したい程度の事ならXSLTで良いだろうし

単にPC用サイトの内容をスマホ用表示に変えるのであればXSLTで出来る
XSLTと言うのはXML(HTMLとほぼ同じ)の内容を表示変換するもの
HTML -> PC用
HTML=>XML +XSL −> スマホ用/PC用
ただ、アクセスしてきたのがPCかスマホかを判断するのは多少のサーバサイドのプログラムが必要となる
殆どはApachの機能で出来るけど

サーバに手を入れないでスマホで表示したいのであればスマホアプリからHTMLを読み込んで体裁を整えてスマホに表示する事も出来る

233 :204:2014/09/04(木) 20:45:17.16 ID:y7U1XDJP
>>232
> 元の話が見えないなんでXSLTの話が出てきてたのかが解らないとアドバイスのしようがない

パナ製のレコーダーに DIGA Manager というブラウザでアクセスして、
タイトル編集とか、リモートコントロールできる機能があるのですが、
それがパソコン向けの UI しかなくて、スマホ(iPod touch)だと
激しく使い辛いので、何とかできないかなーと。

そしたら >>204 のリンク先のような話があったので、
「?」となってる状態な次第でして…。

どの処理系、仕組みを使うのが適切なのかすら判っていない状態で、
ここに迷い込んでしまいまして…。

> サーバに手を入れないでスマホで表示したいのであればスマホアプリからHTMLを読み込んで体裁を整えてスマホに表示する事も出来る

サーバーが「レコーダーのDIGA」ということだと手を入れられず、
中間サーバーということでしたら、rep2を動かしている xampp の環境があります。
スマホアプリは敷居が高そうなので、
ウェブアプリとしてのような形でできないかなーと思っています。
(その認識、考えがあってるのか検討違いなのか判ってないです。)

234 :204:2014/09/04(木) 20:52:41.24 ID:y7U1XDJP
>>232
> 単にPC用サイトの内容をスマホ用表示に変えるのであればXSLTで出来る
> XSLTと言うのはXML(HTMLとほぼ同じ)の内容を表示変換するもの

これなんですけど、XML が無くて、元が HTML の場合も
XSLTの仕組みって使えるのでしょうか?
(お馬鹿な質問ですみません。)

> HTML -> PC用
> HTML=>XML +XSL -> スマホ用/PC用

この場合、XSL を記述したファイルってどこに設置して、
どれにどう読み込ませるのか、レコーダーの場合だと全然判らなくて。

自前でサイトを構築するというのなら、
元データを XML で用意して、XSLT で HTMLなど各種変換用の記述をして、
全部サーバーに配置…みたいなイメージできるんですけど、
今回の場合は、サーバー側のファイルは直接はいじれないので…。

パナがスマホUIで使えるように
DIGA Manager を改良してくれたらいいんですけど。

235 :デフォルトの名無しさん:2014/09/04(木) 21:04:00.67 ID:TIeZUDIH
>>228
WinのストアアプリではJavaScript(もうMSもJScriptとは呼ばなくなった)は第一級のアプリ開発言語の一つ

236 :デフォルトの名無しさん:2014/09/04(木) 21:11:20.63 ID:JrHf8QHD
>>233 それならrep2が動いてるサーバで処理出来る
HTMLとXSLで処理出来るかどうかはXSLT次第だけど、サーバアプリケーションを作った方がなんでも出来て好きな様に出来るだろう

ここは、バトルの場だから WebProg 板で聞いた方がふさわしい

237 :デフォルトの名無しさん:2014/09/04(木) 22:28:23.43 ID:W0WmL4e5
Windowsストアアプリは普通C#だよ
AndroidでもiPhoneでもJSを使うメリットはほとんどない

238 :デフォルトの名無しさん:2014/09/04(木) 23:47:13.98 ID:OCBOYGfu
JSON絡む案件では圧倒的に楽よ
例えばUnityでJavaScript使うとnode.js+Socket.IOなリアルタイム系サーバとの連携がすげえ楽な上に、C#よりパース周りの処理も速い

UnityScriptなんかJavaScriptじゃねえ、って言われたら黙るより仕方ないが

239 :デフォルトの名無しさん:2014/09/05(金) 01:05:18.09 ID:29q2O7B7
>>212
それはWeb限定じゃなくて?

240 :デフォルトの名無しさん:2014/09/05(金) 01:10:53.51 ID:aAWeMktF
Rubyと違ってPythonはMSのC#と同じでGoogleっていう強力なバック持ってるからな。
でもPython開発者のエンジニアがGoogle去ったからこれからどうなるかはわからんけど。
GoやDart推奨していくのかな。このスレにゃあんま関係ないけど。

241 :デフォルトの名無しさん:2014/09/05(金) 08:00:20.65 ID:7VgE06Of
オラクルというクソなバックを持つと、
そのプロジェクト(特にFLOSS)の開発者は大抵逃げ出す。


OOo
MySQL
Hudson

242 :デフォルトの名無しさん:2014/09/05(金) 16:30:30.82 ID:N8/KiC52
pythonに依存してるのは、NASAやDropboxだから
golangを作り出した辺りで、グイドのお払い箱は目に見えていた
サーバーサイドでのgolangの普及は時間の問題。
javascriptからdartへ以降するかは作られるアプリケーションの規模次第
静的言語と動的言語の何方に軍配があるか、ようやく決着がつく

どのみち、お前らには縁のない世界の話だから、c/c++,c#,java,javascript使うのが無難

243 :デフォルトの名無しさん:2014/09/05(金) 17:59:39.18 ID:Ne6tWzRJ
>>242
根本が間違ってる。
言語種類や動的や静的は進展に関してあまり関係がなく、あとから変更・追加できること。
大きいのはライセンスとシェアだろ。
たとえばC#をMS以外の会社が進化させるのはいろいろトラブルでそう。
あとからJITコンパイルやネイティブコンパイルや型付きの強制など可能。

244 :デフォルトの名無しさん:2014/09/05(金) 18:45:08.45 ID:qGPmbH7E
dartは需要が生まれる気配ないし、今の所はダメとしか。

245 :デフォルトの名無しさん:2014/09/05(金) 18:59:03.25 ID:UY2a0tkI
>>244 ダメだな、Googleがやってることは文化祭レベル
まともな物は何も無い

246 :デフォルトの名無しさん:2014/09/05(金) 19:19:14.80 ID:qmuQRxyX
シェアが重要とか言い出す奴が出てくるのは、その分野が終わってることの良いバロメーター。

247 :デフォルトの名無しさん:2014/09/05(金) 19:21:25.63 ID:Nbx6m267
>>245
うざぎの脳みそレベル

248 :デフォルトの名無しさん:2014/09/05(金) 19:54:04.04 ID:Ne6tWzRJ
>>246
C#のように一社でゼロから開発して普及した言語のほうが特殊で、
pythonとかのようにそこそこ普及来て使えることが分かってから
後乗りで投資したほうがコストパフォーマンスがいい。
アップルの新言語も普及しない危険もあって、そうなって破棄・開発中断となると会社のダメージが大きい。
まとめるとライセンスが緩く、そこそこ普及していた・している言語が進化する可能性が高い。

249 :デフォルトの名無しさん:2014/09/05(金) 20:02:42.21 ID:7VgE06Of
よく考えると、
CとかLispとかPerlとか
昔は一社で開発した言語が広まるってのじゃない言語ばかり、
使われてたな。

Java辺りから?
もしくは、VB及びその前身からか。
一企業言語が広まるってのは。

250 :デフォルトの名無しさん:2014/09/05(金) 20:11:24.32 ID:SsZqwSm1
>>249
Cはベル研究所じゃねーか

251 :デフォルトの名無しさん:2014/09/05(金) 20:11:43.75 ID:yeFHC3mS
swiftは順調に増加してるだろ
タブレットはsurfaceのようなのが主流になって
だんだんノートPCへ・・・windowsへ・・・と回帰してるけど
スマホは世界的に見ればiPhoneオワコンだけどガラパゴスではまだ主流だし
iPhoneが息してれば安泰
アプリケーションを無にしないよう次のApple製品でも採用すればいいし
Appleさえ落ち目にならなければ問題ない

252 :デフォルトの名無しさん:2014/09/05(金) 20:27:30.08 ID:N8/KiC52
>>249
JavaもPerlも、一社や個人が作って広まったものじゃないの?
独占的な囲い込み言語ってObjective-Cぐらい
Objective-CよりFirefoxOSの市場の方がオイシイでしょ。
どうせ、広告収入なんだろうから人口の多い方が良い。
来年は、スロバキア語、ポーランド語あたりがトレンドだね

253 :デフォルトの名無しさん:2014/09/05(金) 20:31:58.94 ID:7VgE06Of
>>250
そうだったけど、
当時のベルって、独占禁止法だったかで、
コンピュータ関連で商売しちゃいけないんじゃなかったっけ?

だからUnixやCが、大学とかに、実費程度で渡って、
フリーソフトウェア・オープンソースの、先駆け的になったとか何とか。

254 :デフォルトの名無しさん:2014/09/05(金) 20:41:34.94 ID:SsZqwSm1
>>251
なんかお前、日本語下手くそだな

255 :デフォルトの名無しさん:2014/09/05(金) 20:48:43.09 ID:ZrXjeIjZ
>>249
Fortran、IBM産なんだけどな
昔は「この言語は自分のもの/あそこのもの」って感覚が薄かったのか
同じ名前のまま全然互換性のない派生を色んなトコが作りまくった
だから、言語名は同じでも今で言えば◯◯系の別言語、みたいなもん
しかもハードと結びついてたりもしたから、それぞれの派生の開発会社が一社独占してるようなもん

256 :デフォルトの名無しさん:2014/09/05(金) 20:54:55.08 ID:IS3u/LBz
昔は優れた言語は言語それだけで価値があったからね
今は言語そのものよりシェアと既存資産の方が遥かに重要なので言語だけ移植しても意味無いんだよ

257 :デフォルトの名無しさん:2014/09/05(金) 22:35:48.52 ID:ORGaGWL3
ところでPython3.5に静的型検査が標準で入りそうな勢いですね
そうしたらこのスレも卒業ですかね

258 :デフォルトの名無しさん:2014/09/06(土) 00:10:36.52 ID:F+GQ4Fvp
>>245
文化祭ワロタ

259 :デフォルトの名無しさん:2014/09/06(土) 00:20:24.71 ID:dTRps0qb
android, v8も文化祭。

260 :デフォルトの名無しさん:2014/09/06(土) 00:27:17.03 ID:F4AzRXIz
>>257
TypeScriptみたいになるの?

261 :デフォルトの名無しさん:2014/09/06(土) 00:30:52.83 ID:26XmETZJ
互換性が高いと、
ずーーーーーっと古いソフトが使われ続けてしまい、
セキリティホールとか電力の無駄遣いとか弊害が出てくる。
そして開発費を極限まで削る企業の粗製乱造とか
コピペプログラマーのやっつけ仕事の問題も出てくる。

だからAppleとかは、わざとやっている気がする。

262 :デフォルトの名無しさん:2014/09/06(土) 01:14:47.13 ID:t9j+UA+e
Swiftが好意的に受け止められているのは型推論付きの静的型だから
Objective-CのSmalltalk由来の動的型はウンコだったからね

263 :デフォルトの名無しさん:2014/09/06(土) 01:36:50.63 ID:YgfGJDWn
>>262

264 :デフォルトの名無しさん:2014/09/06(土) 01:39:50.72 ID:3rCeo+Qc
結局、Objective-Cが嫌いなだけか

265 :デフォルトの名無しさん:2014/09/06(土) 01:40:02.66 ID:x5z9wxph
Apple は先進的な物を取り入れるのは早く捨てるのも早い、根本的な所も脱皮しながら成長して来てる。
Swiftも美しくなるための脱皮だろう

SwiftはLL言語風で取っ付きやすく、標準語に近い誰でも理解出来る言語体系で、全てがObjectで成り立っているところだろう。
機能的にも最近の流行はほとんど取り入れてるし。 まだ姿が見えないのは並列動作の仕様かな( ライブラリとしては有るけど )

Xcode のPlaygroud のデバッグ環境もわかりやすいし、スクリプト言語風に動かすことも出来る

266 :デフォルトの名無しさん:2014/09/06(土) 02:18:41.99 ID:dxBwNPI6
delphi、vb、flash、hypercardとかたくさんある

267 :デフォルトの名無しさん:2014/09/06(土) 08:58:45.02 ID:4xZAZHAn
>>262
またでたよ。気持ち悪いSmalltalkアンチ。
頭のオカシイSmalltalker呼び寄せるだけだから、
ほんと黙っててほしい。

268 :デフォルトの名無しさん:2014/09/06(土) 10:10:17.25 ID:EPOR9/1H
>>261
それは林檎をヨイショしすぎ。

保守なんてダルい。
信者ども、アップル様のありがたいソフトを買えば良いぞ。

ってのがアップルだろうがw

269 :デフォルトの名無しさん:2014/09/06(土) 11:28:49.28 ID:eJ7nIgaz
気持ち悪いのはSmalltalkの構文だよな
真面目な話

270 :デフォルトの名無しさん:2014/09/06(土) 11:29:59.51 ID:dxBwNPI6
obj-cに比べたら何でもよく見える
obj-cもjsと同じで他に選択肢がないから使われていただけ

271 :デフォルトの名無しさん:2014/09/06(土) 12:10:48.89 ID:YgfGJDWn
>>270
どこが悪いのか言ってみろよ
言えねえのか?
口だけ野郎は黙ってろ

272 :デフォルトの名無しさん:2014/09/06(土) 12:14:26.24 ID:iVcUSsfo
素直にSmalltalk環境入れれば良いのにAppleは頑なに拒否すんだよな。
サード品すら拒否しやがる。使用者にSource
弄られるのが嫌なんだと。

SmalltalkでCocoa使えばこんなに素直に書けるのに。
PackageLoader fileInPackage: 'Objc'.

| nsApplication application |
nsApplication := Objc.ObjcRuntime at: 'NSApplication'.
application := nsApplication sharedApplication.
application run.

273 :デフォルトの名無しさん:2014/09/06(土) 12:23:48.08 ID:iVcUSsfo
Objective-CはSmalltalkとCの糊付け用としてなら便利なんだけどなー。

274 :デフォルトの名無しさん:2014/09/06(土) 12:25:04.62 ID:4xZAZHAn
ほら来たよ。
この空気読めない論点ずれまくりコミュ障Smalltalker、
ほんとに勘弁してほしいんだけど。

275 :デフォルトの名無しさん:2014/09/06(土) 12:37:27.12 ID:eJ7nIgaz
Objective-Cの良いところはCと互換性があるところ
悪いところはSmalltalkからパクった全て

276 :デフォルトの名無しさん:2014/09/06(土) 13:34:57.23 ID:1gGWUXDA
CとSmalltalkの悪い所を掛け合わせた言語

277 :デフォルトの名無しさん:2014/09/06(土) 14:36:23.85 ID:t9j+UA+e
>>273
SmalltalkでCの糊付けすれば良いじゃん
Objective-C要らんでしょ

それとも、SmalltalkはCの糊付けに苦労するほどウンコなの?

278 :デフォルトの名無しさん:2014/09/06(土) 14:47:30.89 ID:0wUV67Pm
はいはい、Smalltalk もObject-Cの話もおしまい
最も大事なオブジェクトのみ残して綺麗さっぱり出直したのが Swift
Cは直接呼べるし言う事なし

所でここはなんのスレだったかな?

279 :デフォルトの名無しさん:2014/09/06(土) 14:58:35.84 ID:gIT9JvMG
>>277
Cの機能関数呼び出すだけなら、Smalltalkだけで良いね。
問題はCのHeaderで、Objective-Cを使わなきゃ、
Smalltalk側でCのHeaderをSmalltalkに解釈させて
Smalltalk内の型(Classではない)に
変換する必要がある。
SmalltalkでHeaderを解釈させる方法は、依存関係が汚くなるので、
依存関係を考えるとObjective-Cに分離した方がすっきりはする。

280 :デフォルトの名無しさん:2014/09/06(土) 15:05:31.83 ID:JkZRd3lV
>>278
スクリプト(制御)言語で論争するスレだよ

スクリプトの例
Shell Script -> Bash等のShell
Run Script -> Daemonの起動制御
AppleScript -> OSAX
ActionScript -> Flush
TypeScript -> Web browser
JavaScript -> Web browser
JScript -> WSH(WScript)
VBScript -> WSH(WScript)
PostScript -> 印刷機
VIMScript -> VIM
Drawscript -> Illustrator
AutoCAD Script(Lispとは別) -> AutoCAD
MaxScript -> FinalRender
TeleScript -> MagicCap
NewtonScript -> MessagePad
SQL Script -> OracleDB

281 :デフォルトの名無しさん:2014/09/06(土) 16:18:39.70 ID:dTRps0qb
Jeremy Ashkenasって、なんで話題にならなかったんだろう

282 :デフォルトの名無しさん:2014/09/06(土) 19:17:00.34 ID:FrPKU2Rx
>>279
ジョブズが当時、動的バインドが出来ないことを理由にオブジェクト指向C互換の言語ということでNeXTの公用言語に採用したのがズルズル続いたんでしょ
まだJavaもなかったし
C++も予想に反して(?)発展し続けてきたから不自然に見えるだけ

283 :デフォルトの名無しさん:2014/09/06(土) 22:13:01.48 ID:AqdRG+P2
>>257
> ところでPython3.5に静的型検査が標準で入りそうな勢いですね

ソースは?

284 :デフォルトの名無しさん:2014/09/06(土) 22:14:09.69 ID:+wZYoT3I
>>281
気に食わないPRは即クローズするし、CSもBackboneもあいつのオナニーという印象が強い

285 :デフォルトの名無しさん:2014/09/06(土) 23:25:26.60 ID:HH5pSQds
ここは優劣議論をしたがるバカの隔離スレってずっと前から決まってるじゃないか

286 :デフォルトの名無しさん:2014/09/06(土) 23:40:16.71 ID:F4AzRXIz
いまPythonって3.4だろ
そんなスグ簡単に入るもんなのか静的型って

287 :デフォルトの名無しさん:2014/09/07(日) 00:04:37.11 ID:RrFqfcJf
今までダックタイピングの素晴らしさがどうとか言ってた連中が静的型チェックを賛美しだすのか
オラすっげぇワクワクして来たぞ

288 :デフォルトの名無しさん:2014/09/07(日) 00:05:01.38 ID:dcnAWLo9
>>284
海外のco-workerたちの間では作られたもの全部ヒットしているじゃん
coffee script, backbone, underscore
これだけ、hackらしいものに対しての美的感覚に優れた人居ないって
競合は、dart, typescript, angularjsだけど、対抗相手が企業のプロダクトだけ

289 :デフォルトの名無しさん:2014/09/07(日) 00:07:39.40 ID:Gd1SvQRT
PHP7(NG)だっていつ入るかわからんし、深刻な互換性問題が出るからきついな

290 :デフォルトの名無しさん:2014/09/07(日) 00:19:47.27 ID:vLvv4cTj
新しい言語が次から次へと出てるけど忘れ去られた言語とかじゃない
そこそこのシェアがある言語と言語がくっついて1つになっていくのが好ましいな
JVMとか.NETとかそういうVMの枠組みじゃなくて言語仕様ごとごっそり

291 :デフォルトの名無しさん:2014/09/07(日) 00:20:55.85 ID:XmOI9A4l
>>283
Let's standardize mypy's type annotations
https://twitter.com/gvanrossum/status/499643070577901568
https://moderncrypto.org/mail-archive/messaging/2014/000780.html

>>286
前々からPython3の関数アノテーションで静的型検査するツールの実装は進んでた
https://github.com/JukkaL/mypy

292 :291:2014/09/07(日) 00:26:44.37 ID:XmOI9A4l
げ、全然違うURL貼ってた
https://mail.python.org/pipermail/python-ideas/2014-August/028618.html

293 :デフォルトの名無しさん:2014/09/07(日) 00:56:07.81 ID:a2BnUqVh
型には反対しないが、複雑さに悩まされない型システムを
見たことはない。動的型付けはまだマシだ。-- アラン・ケイ
http://d.hatena.ne.jp/katzchang/20080807/p2

294 :デフォルトの名無しさん:2014/09/07(日) 04:14:13.97 ID:OiviXZOr
>>291>>292
ありがとう。

http://www.mypy-lang.org/tutorial.html#running
> You can type check a program by using the mypy tool,
> which is basically a linter ― it checks you program for errors
> without actually running it:
>
> $ mypy program.py
>
> You can always run a mypy program as a Python program,
> without type checking, even it it has type errors:
>
> $ python3 program.py

型検査はmypyというツールでやって、
実行は従来の型検査なしの方法でやる、
つまり、動的型付けは維持しつつ、
型検査をオプションで出来るようにするという感じかな。
それをPythonで標準化しようということね。

動的型付けは損なわずにエラーの検知がしやすくなるのなら、
良いんじゃないのかな。
コードも読みやすくなりそう。
どこまで広く使われるかは未知数だけど。

295 :デフォルトの名無しさん:2014/09/07(日) 04:20:38.30 ID:OiviXZOr
>>291>>292
念のため、>>283=>>294です

296 :デフォルトの名無しさん:2014/09/07(日) 09:31:05.55 ID:6BBgRau/
型定義に含まれていない任意のインターフェースへの適合を実行時にチェックできると
便利だと思うんだが、そういうことができる言語ってあるかな?

297 :デフォルトの名無しさん:2014/09/07(日) 12:40:23.11 ID:bqe710PZ
Pythonは順調に進化してるな

298 :デフォルトの名無しさん:2014/09/07(日) 12:47:34.02 ID:RrFqfcJf
そもそも実行時に型チェックする言語がほとんどない気が

299 :デフォルトの名無しさん:2014/09/07(日) 13:08:34.14 ID:6BBgRau/
そうかな?
型情報に基づく実行時チェックならC++やC#にあるし、その他にも動的型変数が
扱える言語では珍しくないと思うが。

300 :デフォルトの名無しさん:2014/09/07(日) 13:51:07.19 ID:/uEAzM7Y
Matzが何年か前にrubyではやらないって言ってた件だね
賛否両論ありそう

pythonとrubyの分かれ道になるのか...

301 :デフォルトの名無しさん:2014/09/07(日) 14:58:56.96 ID:v5LNVtzh
>>296
Erlang や Prolog の単一化はそれにあたるのかな

302 :デフォルトの名無しさん:2014/09/07(日) 15:30:55.89 ID:xl3XppIa
>>293 ジェネリクス自体は単純でわかりやすいと思うけどな

ま具体的な型では無いから少し戸惑うだけで

303 :デフォルトの名無しさん:2014/09/07(日) 18:58:14.21 ID:dcnAWLo9
けどまた、mypyみたいなツールがjavascriptに移植されるんでしょ?

304 :デフォルトの名無しさん:2014/09/07(日) 19:18:44.67 ID:Gd1SvQRT
実行時に型チェックしてなんかメリットあんの?
「そのメソッドがあるならその型だ」というのが動的言語なのに
「そのメソッドがあるけど型が違うからダメだ」とかやっても意味ない気がするんだが

305 :デフォルトの名無しさん:2014/09/07(日) 19:30:35.40 ID:rAkoMjVX
Smalltalkなんかは実際は動的型付言語じゃなくて、
あくまで、知らないMessageをObjectが受信した時に
呼ばれるMethodが例外を投げてるんだよね。
近年、PythonやRubyにも同等な機能が追加されたらしい。

PerlやJavaScriptの用に整数型か文字列かを処理系が
判断して構文Errorにする真の動的型付とはちょっとちがう。

306 :デフォルトの名無しさん:2014/09/07(日) 19:33:07.32 ID:oBUfkakO
>>305
なにいってんだこいつ

307 :デフォルトの名無しさん:2014/09/07(日) 19:54:27.21 ID:bqe710PZ
>>305
Smalltalkerはgitだけじゃなくて
PerlもPythonもRubyもJavascriptも知らないんだな

308 :デフォルトの名無しさん:2014/09/07(日) 20:02:25.31 ID:q7MWPCLy
>>304
型の実装とInterfaceが独立したSignatureという方式を使えば、
型がInterfaceを満たしてても、Interfaceに紐付いてないから
Interfaceに渡せないって問題は解決するよ。
このSignatureはGoや一部のC++の処理系で既に実装されてる。
interfce Example {
 Somethieg()
}
type (
 Type1 int
 Type2 struct {}
)
func( _ Type1 )Something(){略}
func( _ Type2 )Something(){略}

func Main() {
 var (
  type Example
  value1 Type1
  value2 Type2
 )
 type = &value1
 type.Something()
 type = &value2
 type.Something()
}

309 :デフォルトの名無しさん:2014/09/07(日) 20:09:57.59 ID:q7MWPCLy
| message |
message := MessageCatcher new show: 'Hello'.

"show: 'Hello'をTranscriptに送る。"
message sendTo: Transcript.

FireFoxのJavaScriptなら試験的な拡張で、
Objectが知らないMessageを処理できるってのは知ってたが、
拡張なしのJavaScriptやPerlで同じコトできるとは初耳だわ。

310 :デフォルトの名無しさん:2014/09/07(日) 20:16:45.67 ID:XmOI9A4l
> 近年、PythonやRubyにも同等な機能が追加されたらしい。

Rubyは少なくとも1.6の頃には method_missing が、
Pythonは少なくとも2.0の頃には __getattr__ があったはず
近年追加された機能というのは何のことだろうか?

311 :デフォルトの名無しさん:2014/09/07(日) 20:17:12.45 ID:q7MWPCLy
あとPerlにAUTOLOADがあって>>309似たこと出来るけどAUTOLOADと>>309は別ね。

312 :デフォルトの名無しさん:2014/09/07(日) 20:18:32.23 ID:q7MWPCLy
>>310
最初のRelease(1.0)の時には無かったってこと。

313 :デフォルトの名無しさん:2014/09/07(日) 20:26:06.66 ID:XmOI9A4l
2000年以前を近年と呼ぶのは無理がない?

314 :デフォルトの名無しさん:2014/09/07(日) 20:41:28.79 ID:wmz5JjDw
>>305
整数型か文字列かを処理系が判断して
構文エラーになるPerlコードって例えば?

315 :デフォルトの名無しさん:2014/09/07(日) 20:43:42.33 ID:q7MWPCLy
>>306

0 .selector( 'value' )

上記をJavaScript(IE), Perl, Rubyで試して例外が
処理系かObjectのどっちから出てるか見てみて。
そしたら意味がわかると思う。

316 :デフォルトの名無しさん:2014/09/07(日) 20:50:52.21 ID:q7MWPCLy
>>314
型個別に識別するような書き方して悪かったね。
具体的には↓のError。

http://ideone.com/Nsjtj9

Can't call method "selector" without a
package or object reference at prog.pl line 2=

317 :デフォルトの名無しさん:2014/09/07(日) 21:03:20.59 ID:oBUfkakO
>>315
それはJSでは0はオブジェクトじゃない(プリミティブ型)からだろ。
Rubyはオブジェクトだから、メッセージを送られるのは保証されてるってだけ。
その違いをして、動的型付けでないとは言えねーよ。

318 :デフォルトの名無しさん:2014/09/07(日) 21:11:21.66 ID:D4FT8JO2
pythonって3すら普及してないわけじゃん

319 :デフォルトの名無しさん:2014/09/07(日) 21:26:34.78 ID:6kzvC9vj
>>316
あなたが書くべきコードはこうじゃないの。
http://ideone.com/jH8iyd

#!/usr/bin/perl
my $obj = bless {}, "_Message";
$obj->selector("Hello");

Can't locate object method "selector" via package "_Message" at prog.pl line 3.

何を主張したいのか知らんし、どうでもいいけど。

320 :デフォルトの名無しさん:2014/09/07(日) 21:52:42.96 ID:OiviXZOr
>>303
> けどまた、mypyみたいなツールがjavascriptに移植されるんでしょ?

多分無理じゃないかな。

mypyが利用しているのは、
関数の引数(引数の":"以降の部分)や戻り値("->"以降の部分)に注釈を付ける、
Python3で導入された関数アノテーションという構文で、
この注釈は実行時には全く解釈されない。
だから、動的型付けを維持してる。
サードパーティーのライブラリで利用されることを想定して導入されたようだけど、
それが今回標準化しようという運びになったようです。

def greeting(name: str) -> str:
 return 'Hello, {}'.format(name)

JavaScriptでもこうした構文を導入しないと、型検査はできないでしょう。

321 :デフォルトの名無しさん:2014/09/08(月) 00:02:20.98 ID:Ao8t0mlV
>>317
重要じゃないけどJavaScriptは数値もObjectだよ。

10 .toString( 10 );

数字と「.」の間に空白入れないと浮動小数点と解釈されるからよく誤解されるけどね。

動的型付じゃ無い言語ってのをもっと具体的に説明すると、
動的型付言語は処理系がMethodの有無を確認してErrorにしてる。
それに対し型検査しないSmalltalkなんかは、
下の例の様にObjectがMessageを例外にするかどうか決めてるんだよ。
型検査しないから究極の所、全てのMessageを無視させるようなコトもできちゃう。

"その1"
! Number methodsFor: 'message handler' !
doesNotUnderstand: aMessage
 "Methodが無いMessageか来たら
 例外を投げるようにする。"
 self shouldNotImplement.
!!
"shouldNotImplementが例外を投げる。"
0 selector: 'hello'.

"その2"
! Number methodsFor: 'message handler' !
doesNotUnderstand: aMessage
 "Methodが無いMessageが来ても無視する。"
!!
"なにも起きない"
0 selector: 'hello'.

322 :デフォルトの名無しさん:2014/09/08(月) 01:32:13.22 ID:XzgEVXT7
>>321
暗黙型変換されてるだけで、数値と数値オブジェクト別。

>動的型付じゃ無い言語ってのをもっと具体的に説明すると、
説明になってねーよ。じゃあなんでObjectがメッセージを処理できるんだよ。型があるからだろ。
なんで、それで動的型付ではないと言えるのか意味不明。

323 :デフォルトの名無しさん:2014/09/08(月) 07:11:24.15 ID:M3K1/uSR
>>322

静的型付か動的型付ってのは翻訳時に型検査するか、
実行時に型検査するかの話。
Class定義に動的型付か静的型付かなんて持ち込んだら、
話が無茶苦茶になるでしょ。

324 :デフォルトの名無しさん:2014/09/08(月) 07:36:03.29 ID:ET3Np56W
>>323
だから、型検査を静的に行うか、動的に行うかで決まるってのが間違いだっつーの。
一般的には、変数や引数などの型付けが静的/動的かのことだよ。

325 :デフォルトの名無しさん:2014/09/08(月) 07:52:44.09 ID:JHSpVdse
>>322
あと数値がObjectじゃ無いって言ってたのは、
数値定数(literal)は数値Objectの生成機だから厳密には
違うってコト言いたかったのか。そういう意味では違うだろうね。

でもその意味じゃ>>317の意味ががわからないよ。

あと数値定数と数値Objectが厳密には別って話ならSmalltalkとか他の言語でも同じ話だよ。

326 :デフォルトの名無しさん:2014/09/08(月) 08:03:43.52 ID:JHSpVdse
>>324
実行時に引数や変数の型付をするとはどういうこと?

327 :デフォルトの名無しさん:2014/09/08(月) 08:04:13.69 ID:ET3Np56W
>>326
型が決まるってこと。

328 :デフォルトの名無しさん:2014/09/08(月) 08:10:13.52 ID:JHSpVdse
>>327
型が決まる?ますます意味がわからない。
そういうコト書いた文献出してくれる。

329 :デフォルトの名無しさん:2014/09/08(月) 08:14:34.06 ID:ET3Np56W
>>325
すまん、>>317は反論の仕方を間違えた。
だが、JSの場合、メソッドも単なるプロパティだから、undefinedが返って、undefinedは関数でないからエラーになるわけで、0の型検査してるわけじゃないぞ。

あと、JSの場合、数値はプリミティブ型で、メソッド(プロパティ)呼び出しされる時に初めてNumberに変換される。
Rubyの様に、整数リテラルがFixnumになるとかとは意味が異なるからな。

330 :デフォルトの名無しさん:2014/09/08(月) 08:14:59.44 ID:ET3Np56W
>>328
てめえが先に出せやww

331 :デフォルトの名無しさん:2014/09/08(月) 08:15:27.87 ID:JHSpVdse
>>327
http://en.m.wikipedia.org/wiki/Type_system
少なくとも英語版Wikipediaにはそんな謎定義は書いてなかったよ。

332 :デフォルトの名無しさん:2014/09/08(月) 08:21:10.44 ID:JHSpVdse
>>329
だから数字かどうかが問題じゃなくて、
処理系が型検査するか、処理系が型検査しないかが問題だって言ってるじゃん。

>>330
型検査に付いては、英語版Wikipediaに書いてあるよ。

333 :デフォルトの名無しさん:2014/09/08(月) 08:24:12.16 ID:ET3Np56W
http://ja.m.wikipedia.org/wiki/動的型付け

334 :デフォルトの名無しさん:2014/09/08(月) 08:26:34.93 ID:ET3Np56W
>>332
だから、お前の例に問題があるんだよ。
PerlとJSとRubyだと、数値の扱いが異なるんだから。
>>319には返さねえのかよ。

335 :デフォルトの名無しさん:2014/09/08(月) 08:32:09.11 ID:JHSpVdse
>>334
どう違うの?
処理系が型検査するか、型検査しないかが違うって
話を崩せる違いなの?

>>319は相手しても意味が無いから無視してるだけだよ。

336 :デフォルトの名無しさん:2014/09/08(月) 09:05:31.61 ID:/xLfFsYj
>>329
# 非Smalltalkerです。
node.js で試してみたところ、
たしかに 0. .sel は undefined を返しているのだけれど、
メソッドとしてコールしているときは 0 のタイプエラーとして
処理されているように見えます。これは、もし型をチェックしている
のでないとしたら、どう解釈したらいいのでしょう?

> var meth = 0 .sel; meth()
TypeError: Property 'meth' of object #<Object> is not a function

> (0 .sel)()
TypeError: Object 0 has no method 'sel'

337 :デフォルトの名無しさん:2014/09/08(月) 10:43:03.96 ID:meYF+l/j
上は、("undefined")()でエラー。
下は、(0).sel()で、number型に自動型変換されてselメソッドの呼び出し。メソッドが存在しないからエラー。

338 :デフォルトの名無しさん:2014/09/08(月) 10:57:57.77 ID:meYF+l/j
Ruby
0はFixnumのオブジェクト。

JavaScript
0は数値(基本データ型)。場合によって、number型や文字列などに自動変換される。

Perl
0はスカラデータ。

339 :デフォルトの名無しさん:2014/09/08(月) 11:17:18.96 ID:Dxtts/Cs
何をくだらない事で言い争ってるんだ? で、勝負はついたのか?

340 :デフォルトの名無しさん:2014/09/08(月) 11:22:41.81 ID:Xb0yAy7f
>>337
ありがとうございます。
ただ、そうなのであればなぜ Number型に明示的に変換したこれ

> var meth = Number("0").sel; meth()
TypeError: Property 'meth' of object #<Object> is not a function

は、なぜ >>336の下のエラーにならないのでしょうか?

念のため、ここでは
>>329
> メソッドも単なるプロパティだから、undefinedが返って、undefinedは関数でないからエラーになる

というのを検証したいと思っています。

341 :デフォルトの名無しさん:2014/09/08(月) 11:27:18.55 ID:Dxtts/Cs
>>324 f(x) と言う関数が有ってxを2倍にして返す関数が有るとして
この場合 f(1) f(1.0) f("1") 何れも入力パラメータの型に応じた型で2倍を返す言語は何だ?

342 :デフォルトの名無しさん:2014/09/08(月) 12:40:12.78 ID:meYF+l/j
>>340
>>329が正しいか間違ってるかを検証するなら、仕様書を読むべきでは。

Spidermonkeyの例。
http://ideone.com/WPIX05

343 :デフォルトの名無しさん:2014/09/08(月) 12:57:32.67 ID:Xb0yAy7f
>>342
ありがとうございます。

> Spidermonkeyの例。
なるほど。
JavaScript におけるこの手の振る舞いは、処理系によって変わるのですね。

344 :デフォルトの名無しさん:2014/09/08(月) 20:34:28.90 ID:4KrAPuZv
スレを流し読みしただけだけど、
馬鹿なSmalltalkerが生半可な知識でJSをdisってるでOK?

345 :デフォルトの名無しさん:2014/09/08(月) 20:35:55.79 ID:0BEKcfFo
ということにしたいのですね、でFA

346 :デフォルトの名無しさん:2014/09/08(月) 21:03:00.33 ID:5sCEyKTZ
実行時型検査すらしない(動的型付しない)言語があるって
話してたのに、被害者意識の高いこと。

347 :デフォルトの名無しさん:2014/09/08(月) 23:04:36.61 ID:GSY54KyD
>>331-332
英語版wikipediaのどの辺りに

>動的型付言語は処理系がMethodの有無を確認してErrorにしてる。

とか

>処理系が型検査するか、処理系が型検査しないかが問題

に該当する記述がある?


あと、そのページからリンク貼られてる”the category for dynamically typed programming languages”に
Smalltalkが入ってるんだけど…

348 :デフォルトの名無しさん:2014/09/09(火) 00:22:03.58 ID:CkaPICnJ
>>347

この辺だな。
Dynamic type-checking is the process of
verifying the type safety of a program at
runtime. Implementations of dynamically
type-checked languages generally associate
each runtime object with a "type tag" (i.e.,
a reference to a type) containing its type
information. This runtime type information
(RTTI) can also be used to implement
dynamic dispatch , late binding ,
downcasting , reflection , and similar
features.

349 :デフォルトの名無しさん:2014/09/09(火) 00:42:44.94 ID:SEObCJuW
>>348


動的型検査は実行時にプログラムの型安全性を検証するプロセスです。
動的型付け言語の実装は一般に各ランタイムオブジェクトを
型情報を含む「型タグ(型への参照)」に結びつけます。
この実行時型情報(RTTI)は動的ディスパッチ、遅延束縛、ダウンキャスト、リフレクション
それに類する機能の実装に使う事も出来ます。

350 :デフォルトの名無しさん:2014/09/09(火) 08:23:06.05 ID:8cxeb5H4
>>348
処理系が型チェックしてエラーにするなんて
全然書いてないじゃん
頭大丈夫?

351 :204:2014/09/09(火) 11:49:37.63 ID:zjNaZ9hk
>>236
返事遅くなりましたがありがと。
WebProg 板覗いてみます。

352 :デフォルトの名無しさん:2014/09/09(火) 17:06:45.83 ID:c9puwdFm
>>343
>>336はnode.jsのrepl.js経由で動かしてるせいじゃないの?

353 :デフォルトの名無しさん:2014/09/09(火) 19:48:52.81 ID:l+AehZnr
>>350
動的型付言語の実装=処理系

354 :デフォルトの名無しさん:2014/09/09(火) 19:57:17.97 ID:gv45/PiJ
>>350
> Implementations of dynamically
type-checked languages

>動的に型検査する言語(動的型付言語)の実装

355 :デフォルトの名無しさん:2014/09/09(火) 20:20:25.12 ID:yRdKHhuQ
>>354
()の中身はお前の補足やんけ

356 :デフォルトの名無しさん:2014/09/09(火) 20:26:37.15 ID:08f9kkEm
http://en.m.wikipedia.org/wiki/Smalltalk

> Smalltalk is an object-oriented, dynamically typed, reflective programming language.


dynamically typed

357 :デフォルトの名無しさん:2014/09/09(火) 20:37:21.01 ID:7z1yc0O0
型検査を動的に行う言語=動的型付け言語
ではなく
型検査を動的に行う言語⊆動的型付け言語
ってだけの話

358 :デフォルトの名無しさん:2014/09/09(火) 20:54:29.72 ID:08f9kkEm
このスレでは、オブジェクトがあるメソッドを持ってるか等を調べるのは
型検査に入らないという流儀なの?
変なの

359 :デフォルトの名無しさん:2014/09/09(火) 20:58:59.08 ID:MFhSA0xn
オブジェクトがあるメソッドを持っているか否かで型が決まるなら
型検査の代替もできるというだけであって、どんな型かは気にする
必要ないね>あるメソッドを持っているか否か

360 :デフォルトの名無しさん:2014/09/09(火) 21:10:13.17 ID:08f9kkEm
型検査には、ある名前の型(のサブタイプ)かどうかを調べるNominal Subtyping(公称型)と、
あるメソッドを持ってるか等を調べるStructural Subtyping(構造的部分型)があるけど、

このスレでは前者だけが型検査ってこと?

361 :デフォルトの名無しさん:2014/09/09(火) 21:27:08.59 ID:MFhSA0xn
カテゴライズや付いてる名称に惑わされてるだけだな。
部分的に似た構造だと判明したからって型が判明するとは限らない。

362 :デフォルトの名無しさん:2014/09/09(火) 21:43:18.32 ID:drlMF11X
部分的に同じ構造かどうかを判定するのも
型検査に入るって話だろ

363 :デフォルトの名無しさん:2014/09/09(火) 21:59:27.94 ID:olBrIqjc
型検査するかしないかって型付けが強いか弱いかってことでないの?

364 :デフォルトの名無しさん:2014/09/09(火) 22:08:56.27 ID:gv45/PiJ
>>355
>>349にもあるけど一般的な意訳は動的型付言語だよ

365 :デフォルトの名無しさん:2014/09/09(火) 22:18:12.61 ID:gv45/PiJ
>>358
メソッドだけじゃなくて演算子も入るだろ

366 :デフォルトの名無しさん:2014/09/09(火) 22:34:07.70 ID:u4pMEKRn
>>358
「(データ型の)型付け」と「メソッド束縛」は、分けて考えるのが一般的だね
たとえば Objective-C は「動的型付け(Smalltalk)と静的型付け(C)のハイブリッド」で
かつ「動的メソッド束縛」になる

そして、あるオブジェクトがメソッドを持つか否かを検査するのはメソッド束縛の役目になる
たとえば Java/C++ のような静的メソッド束縛ではコンパイル時にエラーが検出されるけど、
Smalltalk/Objective-C のような動的メソッド束縛では実行時にエラーが検出される(=遅延束縛)

ただし Objective-C のハイブリッドが例外的であって、大半の言語であれば
「静的型付けであれば静的メソッド束縛」だし「動的型付けであれば動的メソッド束縛」だから、
暗黙の文脈下だと単純に「静的」または「動的」と表現することが多い

367 :デフォルトの名無しさん:2014/09/09(火) 22:45:23.21 ID:tBdID5VH
結論
型付けは型検査のみにあらず。Smalltalk、Rubyはまごうことなき動的型付け言語。

368 :デフォルトの名無しさん:2014/09/09(火) 22:46:07.00 ID:u4pMEKRn
>>363
いや、違う
型検査そのものを指して、型付け(の厳格性)が強い弱いと評価するのが一般的だね

たとえば型付けが弱い JavaScript では、以下のようになる
  $ js
  js> "A" + 1
  A1
  js> arr = []

  js> arr[-1.23] = 100
  100
  js> print(arr["-1.23"])
  100
  js>
同じ事を型付けが強い Python で実行すると、以下のようになる
  $ python2
  Python 2.7.8 (default, Jul 28 2014, 00:07:22)
  [GCC 4.2.1 (Apple Inc. build 5574)] on darwin
  Type "help", "copyright", "credits" or "license" for more information.
  >>> "A" + 1
  Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
  TypeError: cannot concatenate 'str' and 'int' objects
  >>> arr = []
  >>> arr[-1.23] = 100
  Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
  TypeError: list indices must be integers, not float
  >>>

369 :デフォルトの名無しさん:2014/09/09(火) 23:12:41.11 ID:Xwh16d4A
>>356

Harry H. Porter III博士によるSmalltalkの解説
http://web.cecs.pdx.edu/~harry/musings/SmalltalkOverview.html

上記の目次にSmalltalkは型無言語
(Smalltalk is un-typed language)
だと書いてある。

そんでDynamic Typingの節で動的型付言語と呼ぶのは正しく無い。
Smalltalkは型が無いObject指向言語だ
(Smalltalk is an "untyped, object-oriented" language)
と書いてある。

370 :デフォルトの名無しさん:2014/09/09(火) 23:44:06.42 ID:pkzxcIkl
Smalltalkはどうやら本当に型をチェックしていないらしく、
メソッドの静的コールにより継承による doesNotUnderstand: message の送信を回避すると、
関係ないクラスのインスタンスをレシーバーにしてもメソッドをコールできてしまう。

例:
10 factorial "=> 3628800 "
0 factorial "=> 1 "
0.0 factorial "=> MessageNotUnderstood: Float>>factorial "
(Integer>>#factorial) valueWithReceiver: 0.0 arguments: #() "=> 1 "

371 :デフォルトの名無しさん:2014/09/09(火) 23:58:18.06 ID:Xwh16d4A
>>366
SmalltalkやObjective-C(Cの型は除く)は型無なんで、
言語自体の機能としてはMethodの有無や
演算子の適性を検査しないよ。
それを決めているのはあくまでLibrary。

型検査が無い説明の良い例として
SmalltalkならProtoObjectの派生型、
Objective-CならnilやObject或いはNSObjectを
継承していないclassのobjectがあり、
これらは対応するMethodが無くてもあらゆるMessageを拾うことができる。

動的型付言語は対象的に対応するMethodが無いObjectに
Messageを送ると例外を発生させる。

372 :371:2014/09/10(水) 00:21:40.37 ID:mmW9LFDb
言葉足らずだったので訂正


動的型付言語は対象的に対応するMethodが無いObjectに
Messageを送ると必ず例外を発生させる。
型無言語の様に必要に応じて
Messageを無視させることが出来ない。

373 :デフォルトの名無しさん:2014/09/10(水) 00:35:12.96 ID:LphNIpd8
>>372の定義だと、巷で動的型付言語と呼ばれてる言語の多くが
型無し言語になっちゃいそうだね

374 :デフォルトの名無しさん:2014/09/10(水) 00:40:52.88 ID:pXOleHzB
今何と何のバトルしてるんだ?
対戦相手が見えなくて面白くない

375 :デフォルトの名無しさん:2014/09/10(水) 00:41:14.53 ID:MIzNsnl2
>>371
厳密な議論であれば、Python や Ruby も型無しだね
あえて言えば万有型(universe type)というデータ型、ただ一つしか無い
動的型付け言語で型エラー(>>368 の "TypeError")というのも
単なる実行時エラーの一種であり、要因コードや例外クラスの名前でしかない
その実行時の型検査を指して「動的型付け」と呼んでいるだけ

型システムの教科書(TAPL本)だと、型システムは以下のように定義されている:
   型システムとは、プログラムの各部分を、それが計算する値の種類に沿って
   分類することにより、プログラムがある種の振る舞いを起こさないことを保証する、
   計算量的に扱いやすい構文的手法である
何の事か分かりづらいけど、要するに
「型システムは(プログラムの実行前に行われる)静的な型検査の為に存在する」ってことで、
「いわゆる静的型付け言語」に固有の概念だということ

そして、教科書では上記の定義の後に、実行時に型検査する「いわゆる動的型付け言語」との
対比を目的として「静的」という語を明示的に付加することがある、と続き、更には:
   「動的型付けされる」という言い回しは誤っているといって差し支えなく、
   おそらく「動的型検査される」と言い換えるべきであるが、
   標準的に用いられる用語法である
という指摘までしている

こういった専門的な議論をしたいのであれば、「Smalltalk は型無し言語であり動的型付け言語ではない」
という主張も正当でかまわんのだけど、そういった議論は情報学板でやるのがふさわしいと思う
ム板はふつうのプログラマが集う場なのだから、Wikipedia にある「動的型付け言語」または
「静的型付け言語」という(ふつうのプログラマにとって)常識的な分類法を採用するのが妥当ではないかと

376 :デフォルトの名無しさん:2014/09/10(水) 00:53:10.68 ID:mmW9LFDb
>>375
とは言え型無言語か動的型付言語かで出来ることが違う以上、
その違いに触れるなら型無言語と動的型付言語の区別は必要でしょ。

377 :デフォルトの名無しさん:2014/09/10(水) 00:53:51.55 ID:pXOleHzB
一般論はもう良いよ、具体的な言語対言語のバトルに戻してくれ

378 :デフォルトの名無しさん:2014/09/10(水) 01:04:52.87 ID:MIzNsnl2
>>376
だから専門的に言えば型無言語と動的型付言語とは同じ概念を指す用語なんだよ
あえて言えば「Smalltalk とその他の型無言語(=動的型付言語)」と分けるしかない

ただ単に「Smalltalk は他の奴等とは違うんだぜ」と言いたいだけならば、
好きにすればいいと言うしかないけどね

379 :デフォルトの名無しさん:2014/09/10(水) 01:08:03.83 ID:oS7YMnaV
>>370
JavaScript でもできた。

var Foo = function() {};
Foo.prototype.toString = function() { return "Foo"; };
Foo.prototype.foo = function() { print( this ); };

var Bar = function() {};
Bar.prototype.toString = function() { return "Bar"; };

new Foo().foo(); //=> Foo
try { new Bar().foo(); } catch(ex) { print( ex ); } //=> TypeError: (new Bar).foo is not a function
Foo.prototype.foo.call(new Bar()); //=> Bar

380 :デフォルトの名無しさん:2014/09/10(水) 01:09:36.90 ID:9p5FDdhO
まあ俺が言いたいのは動的言語で静的型検査とかめんどくせーから変数引数の型指定もっと流行れよ、ってこと

381 :デフォルトの名無しさん:2014/09/10(水) 01:19:44.66 ID:mmW9LFDb
>>378
>>375にも動的型付言語の説明にも書いてるけど、型無言語と
動的型付言語は違うよ。
PythonやRubyも1.0の頃は
動的型付言語だったけど今は型無言語だ。
型無言語になったお陰でObjectにMethodが無くても
Messageを送ることが出来るようになった。
JavaScriptなんかは動的型付言語だから
ObjectにMethodがなきゃMessageを送れない。
というかMessageの概念が成立しない。

382 :デフォルトの名無しさん:2014/09/10(水) 01:31:25.14 ID:ysKE+Qj1
型無しで思い出したが、最近は片手落ちって放送禁止用語なの?

383 :デフォルトの名無しさん:2014/09/10(水) 01:55:56.56 ID:LphNIpd8
>>381
Pythonは1.0の頃からgetattrがあったよ
Object/object.c みれば分かる

384 :デフォルトの名無しさん:2014/09/10(水) 01:56:19.14 ID:oS7YMnaV
>>370
Python でも。

class Foo:
 def foo(self):
  print( self )

class Bar: pass

Foo().foo() #=> __main__.Foo object

try: Bar().foo()
except Exception as ex: print( ex ) #=> 'Bar' object has no attribute 'foo'

Foo.__dict__['foo'](Bar()) #=> __main__.Bar object

385 :デフォルトの名無しさん:2014/09/10(水) 02:02:42.37 ID:LphNIpd8
> Foo.__dict__['foo'](Bar())

こっちでもOKだよ
Foo.foo(Bar())

386 :デフォルトの名無しさん:2014/09/10(水) 08:09:29.80 ID:eO1uAsEA
>>370
Ruby は、バインド時の型チェックに引っかかってできなかった。

class Foo; def foo; p self end end
class Bar; end

Foo.new.foo #=> #<Foo>

begin Bar.new.foo
rescue => ex; puts(ex.message) end #=> undefined method `foo' for #<Bar>

begin Foo.instance_method(:foo).bind(Bar.new).call; #=> bind argument must be an instance of Foo
rescue => ex; puts(ex.message) end

387 :デフォルトの名無しさん:2014/09/10(水) 13:23:28.93 ID:W2EgB/Gt
http://benhallbenhall.dimbal.biz/wp-content/uploads/2013/10/toGKy21.jpg

いまどき、強制的にSmalltalkを使わせられるシチュエーションなんて
皆無に近いにも関わらず、disliked比率の高いこと

型無し言語が〜とか言ってる暇があったら他のところ改善したほうが良いんじゃないの?
まあ基本設計の筋が悪過ぎて無理なんだろうけど

388 :デフォルトの名無しさん:2014/09/10(水) 13:33:59.34 ID:pXOleHzB
PHP, Java C++ は嫌われてるな。 解らんでもない

389 :デフォルトの名無しさん:2014/09/10(水) 13:57:06.57 ID:wb7ixN1x
2006年頃からのRubyistって、かなり特だよね。
島根の行政が資金提供してくれる時期にRoRに習熟していて、
nodejsが成熟した頃に難なく乗り換えれてさ

390 :デフォルトの名無しさん:2014/09/10(水) 14:22:05.29 ID:pZLH9WZi
>>387
favoriteが赤色に違和感

391 :デフォルトの名無しさん:2014/09/10(水) 14:50:45.39 ID:eO1uAsEA
ああ、それで favorite を dislike だと勘違いしたのか… >>387

392 :デフォルトの名無しさん:2014/09/10(水) 18:18:23.39 ID:z+t5Ot3X
HaskellとObjective-Cがほぼ同じ投票数な時点で、どういったコミュニティで取られたアンケートか察しなきゃいけないよね

393 :デフォルトの名無しさん:2014/09/10(水) 19:51:31.90 ID:RNgPlmiT
Cの投票数と満足度が高いのHackerNewsらしい

394 :デフォルトの名無しさん:2014/09/10(水) 22:42:35.66 ID:gkYNR+Bf
ところが、マイクロソフトに届いた声は、Visual Basic
6 のバス運転手の中でも、積極的に戦闘機のパイロット
を目指していた 3% から寄せられたものでした。彼ら
は、カンファレンスに出席したり、CompuServe の
フォーラムに質問を投稿したり、記事にコメントを残し
たりすることに、時間を割きました。道路で行く手を
遮る車の排気管にサイドワインダー ミサイルを撃ち込
むことを夢想するだけでは飽き足らず、バスにアフター
バーナーやミサイル、防衛兵器、ヘッドアップ ディスプ
レイを設置することまで、マイクロソフトに求めたの
です。そして、マイクロソフトはそのとおりにしまし
た。

395 :デフォルトの名無しさん:2014/09/10(水) 22:56:24.46 ID:MIzNsnl2
>>381
>>375をカキコした本人だけど、「型無言語と動的型付言語は違う」とは
どこにも書かれていないよ、かんべんしてくれ

型システムについて厳密な立場をとれば、「静的型付け言語ではない言語達」を
総称して「型無し言語」とか「動的型付け言語」みたいな曖昧な用語を使うことがある、
と書いてあるだけ
「型無し言語」と「動的型付け言語」のどちらも
同じ「静的型付け言語ではない言語達」を指す異音同義語だよ

ここで珍説を唱えたいのなら、まず始めにこの2つの用語の正確な定義を示してほしいな

396 :デフォルトの名無しさん:2014/09/10(水) 23:45:33.89 ID:N+5c6/yM
>>395

動的型付言語 = dynamically
type-checked language = 実行時に型検査する言語
型無言語 = untyped language = 型検査がない言語

397 :デフォルトの名無しさん:2014/09/11(木) 00:03:08.66 ID:+cqss+B2
まず型を定義しなきゃ

398 :デフォルトの名無しさん:2014/09/11(木) 00:04:00.64 ID:WdQgW6yP
>>396
ということは、オブジェクトが受信したメッセージが実装されているかを
実行時に検査する Smalltalk は type-checked language に分類される、ってことね

分類法の基本だけど、各要素は同じ基準(切り口)で定義するものだよ
たとえば生物を分類するのに、素人が:
・哺乳類:親の乳によって子を育てる
・鳥類:空を飛ぶ
・魚類:卵によって繁殖する
などと定義するのと、>>396は同じレベルに見える
(哺乳類の正しい分類法は Wikipedia 等を参照してくれ)

>>395で求めたのは「正確」な定義だから、そこんとこヨロシク

399 :デフォルトの名無しさん:2014/09/11(木) 07:50:03.12 ID:mZPHk3MX
>>398

動的型付言語 = dynamically
type-checked language = 実行時に型処理系が検査してErrorを出す言語
型無言語 = untyped language = 処理系が型検査しない言語

これで満足かい?

400 :デフォルトの名無しさん:2014/09/11(木) 08:00:58.20 ID:H1K34lvj
>>399
だから違うって

401 :デフォルトの名無しさん:2014/09/11(木) 08:30:38.78 ID:+cqss+B2
>>399の言語観

# 動的型付言語
d = dict()
d['foo'] = lambda: print('foo')
d['foo']() # 例外にならない
d['bar']() # 例外になる


# 型無言語
from collections import defaultdict
d2 = defaultdict(lambda: lambda: print('default'))
d2['foo'] = lambda: print('foo')
d2['foo']() # 例外にならない
d2['bar']() # 例外にならない

402 :デフォルトの名無しさん:2014/09/11(木) 10:35:55.19 ID:I5Ff9Nvc
>>381
動かして試したわけじゃないけど
Ruby1.0のソースにはmethod_missingがあるみたい
未定義のメソッドコールはデフォルトのmethod_missingに送られて
そこでNoMethodError例外を出すことになっているので

Ruby1.0とそれ以降で、何も変わってないようなんですが

403 :デフォルトの名無しさん:2014/09/11(木) 12:41:32.36 ID:yx4TJ6K4
>>402
これほんと疑問だった。>>381には是非きちんと答えてほしい。

今の動的型付けか型無しかに関連して
Ruby 1.0 以前でできなくて 1.0 よりあとで出来るようになったことは
具体的には何かということ。

404 :デフォルトの名無しさん:2014/09/11(木) 17:11:07.41 ID:+E96cQfH
MEANのハイプしか聞かないんだけど、まだ、Railsって使われてるの?

405 :デフォルトの名無しさん:2014/09/11(木) 17:16:41.71 ID:ThP8Tlio
他言語の初心者スレに乗り込んでドヤ顔する屑ってPython界隈に多いよね

406 :デフォルトの名無しさん:2014/09/11(木) 17:20:40.06 ID:+E96cQfH
そもそも、pythonって本当に使われたの?
業務システムにJavaが使われるだけで、
ソフトウェア作ってるとこって今でもc++だよね

407 :デフォルトの名無しさん:2014/09/11(木) 18:22:24.38 ID:MBx8DiQd
>>403
Smalltalkerが知ったかのウンコってことくらい
これまでのやり取りで分かってた事じゃん

408 :デフォルトの名無しさん:2014/09/11(木) 19:22:21.66 ID:oL03u+Kk
動的型付けか、型無しか、とかとはぜんぜん関係なく、
Smalltalk でメソッドが無いときの挙動を、
なんかおもしろそうなので >>401 風味に書いてみました。
(いろいろ嘘はある。あくまで雰囲気なのであしからず。)
ググりながら書いたので、Python使いさん方には添削をよろしくお願いします。

class Obj(dict):
 def __init__(self, sup = None):
  self.sup = sup
  if sup == None:
   self['missing'] = lambda key: print(key + ' is missing (default action)')
 def __missing__(self, key):
  sup = self.sup
  while not sup == None and not key in sup: sup = sup.sup
  return sup[key] if not sup == None and key in sup else lambda: self['missing'](key)

obj = Obj()
sup = Obj(obj)
sub = Obj(sup)
sup['foo'] = lambda: print('foo on sup')
sub['foo']()
 #=> foo on sup
sub['bar']()
 #=> bar is missing (default action)
sup['missing'] = lambda key: print(key + ' is intercepted within sup')
sub['bar']()
 #=> bar is intercepted within sup

409 :デフォルトの名無しさん:2014/09/11(木) 19:38:03.74 ID:WdQgW6yP
>>399
ダーメダコリャw

410 :デフォルトの名無しさん:2014/09/12(金) 00:54:51.95 ID:U31iUJfS
http://docs.spring.io/spring-python/1.0.x/pydoc/springpython.aop.html
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/2046

PythonもRubyも1.0の頃には型無言語だったんだね。
失敬失敬。

411 :デフォルトの名無しさん:2014/09/12(金) 01:22:55.73 ID:5zER8GeN
型無し言語の扱うものって
生のメモリやレジスタの値みたいなものじゃないの?
数値とみなしたり、アドレスとみなしたり
まさに型がなくプログラマの解釈しだい
そんなのアセンブラ以外にあるのかな?
TCLのすべてが文字列っていうのも型無しっぽいけど

モダンな言語で型無しってのはありえないような

412 :デフォルトの名無しさん:2014/09/12(金) 01:37:34.09 ID:umGgZ7qj
>>410
頑なに認めないのな。

413 :デフォルトの名無しさん:2014/09/12(金) 18:51:41.39 ID:KAqXTRmI
いまの言語進化は動的型の書きやすさと
静的型のメリットをどう両立するかって方を向いているのに
動的型と型無しの違いを熱く語るとかバカかっつの

414 :デフォルトの名無しさん:2014/09/12(金) 19:43:36.01 ID:QZd6eufJ
Smalltalkでは、その場の思いつきでオブジェクトに
メッセージを送りつけてみて、たまたま上手く動いたらオッケー、
ダメでも気にすんな的なプログラミングスタイルが普通だから、
どんなメッセージを送りつけても例外で落ちない
ということに拘りがあるんだよ

その辺の事情は他言語ユーザには分からないかもしれないね

415 :デフォルトの名無しさん:2014/09/12(金) 19:44:07.89 ID:ke/j7I6c
『型システム入門』を100回読んでから出直せ

416 :デフォルトの名無しさん:2014/09/12(金) 21:14:46.99 ID:dQQcme2D
どうでもいいけど
業務でsmalltalkやるとうんざりする
大規模だと原因クラスが
どれなのか調べるのも困難
メンテナンス考えると
手続き型の方がいい

417 :デフォルトの名無しさん:2014/09/12(金) 21:45:34.62 ID:PNfSodRm
>>416
他の動的型(あえて型無しとは言わない。為念)言語なら
ともかく、デバッガのサポートが手厚い Smalltalk で
原因クラスがわかりにくかったという状況が
ちょっと想像がつかないのですが、差し支えない範囲で
具体的にどんな問題だったか教えてもらえると助かります。

418 :デフォルトの名無しさん:2014/09/12(金) 21:51:51.32 ID:PNfSodRm
>>414
独自のトンデモ解釈や限定的な持論を Smalltalk使いの
一般論として自信たっぷりに語らないでください。
他の Smalltalkファンがすごく迷惑します。

419 :デフォルトの名無しさん:2014/09/12(金) 22:07:46.60 ID:fQaYqz1u
>>416
基本的なLibraryはSUnit使ってるから原因がすぐ解るし、
他はinspect機能やMessageの検索使えば
すぐ原因わかるだろ。
どんな使い方してたんだよ。

420 :デフォルトの名無しさん:2014/09/12(金) 22:16:44.98 ID:PNfSodRm
>>417
ただ「デバッガのサポートが手厚い」とかだけ書くと
特にこのスレでは反感買うだけだと思うので、ちょっと補足すると、
Smalltalk では実行時コンテキストもオブジェクトなので
他のオブジェクトと同様に扱うことが容易である
(例えば、永続化※も可能)というのは他言語には
なかなかないアドバンテージかと思います。

※デバッグ時の困難の一つに、状況の再現が難しい場合という
状況がありますが、Smalltalk の場合、状況そのものを
永続化可能なので、たまたま起きた異常事態を保存しておき
あとからいろいろな方法での対応を試すことが可能です。

421 :デフォルトの名無しさん:2014/09/12(金) 22:32:59.02 ID:NmiO33AG
デバッグで再現が困難なケースではOSとかDB等の
言語の外側の環境に依存してるケースが多いから
VMのスナップショット取った方が圧倒的に便利だよ

422 :デフォルトの名無しさん:2014/09/12(金) 22:47:40.39 ID:fQaYqz1u
>>421
外部の入出力系はSmalltalkのSnapshotだと手軽だよ。
OSのVMみたいに時間も掛からないし、
Debugger差し込むのも簡単だし。

423 :デフォルトの名無しさん:2014/09/12(金) 23:06:29.32 ID:NmiO33AG
手軽な代わりにOSやDBやその他のプロセスなどの
外部環境は再現出来ないわけだよね

424 :デフォルトの名無しさん:2014/09/12(金) 23:45:27.60 ID:QZd6eufJ
SmalltalkでもVMのスナップショットは取れるから
他の言語に負けてる部分があるわけじゃないよ
VMのイメージが必要ならそうする

ただ、いまではSmalltalkでは外に依存するような本格的なシステムは
まず作らないので、大抵はデバッガで事足りるけどね

425 :デフォルトの名無しさん:2014/09/12(金) 23:50:54.62 ID:PNfSodRm
>>423
外部環境由来の状況であればおっしゃるとおりだと思います。

ただ Smalltalk の永続化はそれ以外の場合に役立ちますし
(そういうことが皆無だとおっしゃるつもりはないですよね?)
VMのスナップショットと違って、save as... 感覚の手軽さも相まって
他言語に対するアドバンテージであることには変わらないと思います。

他方で、外部状況を保持するためにVMのスナップショットを
とりたければ、Smalltalk をVM環境(まぎらわしいですね^^;)で
動かせばよいので Smalltalk のスナップショットは邪魔にはならないはずです。

426 :デフォルトの名無しさん:2014/09/12(金) 23:51:48.49 ID:PNfSodRm
かぶった…

427 :デフォルトの名無しさん:2014/09/13(土) 00:12:20.21 ID:mOSERTji
Smalltalkネタは一人自演としかおもえん
使ってる比率からして

428 :デフォルトの名無しさん:2014/09/13(土) 00:17:45.38 ID:aXV++67B
>>423
全く再現できない他の言語よりは、異常があった時のQueryと
結果を保存出来るだけマシだよ。

429 :デフォルトの名無しさん:2014/09/13(土) 00:41:41.53 ID:aXV++67B
DBを使うならGemStone(Smalltalk環境兼DB)つかっとけばDebugが楽だよ。

430 :デフォルトの名無しさん:2014/09/13(土) 00:42:47.82 ID:/mgnsgol
>>427
ゴキブリじゃないですが、全体の人数の割に、
一人現れると聞きつけて何人かが寄ってくる率は高いですよ。w

431 :デフォルトの名無しさん:2014/09/13(土) 00:53:38.74 ID:pbPiGazv
もう小話の話はいいよ

432 :デフォルトの名無しさん:2014/09/13(土) 01:01:11.78 ID:aXV++67B
https://my.vmware.com/web/vmware/details?downloadGroup=VFGS_GBS_VW_760&productId=221&rPId=3732

いまならGemStoneがタダで手に入る。
有り難え有り難え。

433 :デフォルトの名無しさん:2014/09/13(土) 01:16:16.13 ID:/mgnsgol
Gemstine/Sというのはこんなのです。
http://d.hatena.ne.jp/technohippy/20080307/1204884193

通常の Smalltalk における、
その処理系を含めた実行時オブジェクトの永続化技術は、
不完全ながらもOODBの性格を有しているわけですが
それをまじめに本格派OODBでやってしまった
というSmalltalk処理系ですね。

ただ本格派分散OODB 内に実装された Smalltalk処理系で
あるがゆえの、他の通常の Smalltalk にはない制約も
同時に持ち合わせてもいるようです。
http://www.slideshare.net/esug/things-i-wish-i-knew-about-gemstone/64 (64枚目)

434 :デフォルトの名無しさん:2014/09/13(土) 01:20:00.51 ID:/mgnsgol
>>433
いかんいかん^^;

×Gemstine/S → ○GemStone/S

435 :デフォルトの名無しさん:2014/09/13(土) 01:28:02.71 ID:mOSERTji
GITと複数のSmalltalkの人は同一人物だろ

436 :デフォルトの名無しさん:2014/09/13(土) 01:29:30.12 ID:/mgnsgol
あと GemStone/S といえば、MagLev という、
当時としては比較的高速で、もちろん永続化機能も有した
Ruby 処理系を実装した Smalltalk 処理系として、
いっとき話題になっています。
http://www.infoq.com/jp/news/2011/11/ruby-maglev-10

437 :デフォルトの名無しさん:2014/09/13(土) 07:20:51.72 ID:XqW5wWk0
>>417
まあ、俺が池沼なのも大きいけどね
dbとosのverを上げたら一定確率でログインfatalになるんでself haltして見てった
ステップするもループで起動時オブジェクト大量に作ってて、ログインクラスが何ループ目か分からないので延々とステップ、飛ばそうとステップオーバーさせたらdllの方にいっちゃたのかハングしてctrlyも効かなくなり最初からやり直しを延々数時間
該当システムの知識なくデバッグすると
深すぎて飛びすぎて迷いこんでくイメージしかない
画面の数字がおかしいとかの場合は結果の出来た所で止めればトレースバック出来るんで簡単だろと言うのは分かる

438 :デフォルトの名無しさん:2014/09/13(土) 09:10:24.20 ID:KYJA+u1Q
>>428
Smalltalkじゃなくても実行時のログや
異常発生時の詳細なスタックトレース位ならとれるし、
それで実行時の状況を再現できることも多いから
全く再現できないは言い過ぎ


>>433
DBで気になるのはパフォーマンスなんだけど
ググってもそういう情報は見つけられなかった
どこかに情報ある?

439 :デフォルトの名無しさん:2014/09/13(土) 09:17:42.48 ID:/mgnsgol
>>437
なるほど。システムの動き方によっては、やみくもに
デバッガのステップで手繰るのは問題特定を難しくする
というパターンですね。その状況であればわかります。

440 :デフォルトの名無しさん:2014/09/13(土) 09:50:15.94 ID:vLgLnJJX
>>438
RDBより速く、Scalabilityに優れる点が評価されて
VMWareに買収されたって記事は見つかるんだけど、
具体的な測定結果は見つからないね。
気になるならタダで落とせるから自分で試してくれ。

441 :デフォルトの名無しさん:2014/09/13(土) 10:05:19.79 ID:vLgLnJJX
>>437
Step実行何回もするぐらいならUnitTest使えば良いのに。

それが起きたSmalltalk環境ってなに?
VisualWorksじゃ、Step実行中だけDLLで止まるとか起きた事ないよ。
あとLogin出来ない原因は何だったの?

因みにSmalltalkのStep実行はBlockをStep実行するか
どうか選べる機能がある。
Break point無しで反復処理すっ飛ばせるから結構すきだ。

442 :デフォルトの名無しさん:2014/09/13(土) 10:13:46.50 ID:5iRXmRCw
>>438
ttp://community.gemstone.com/download/attachments/6816350/GS64-ProgGuide-3.0.pdf

ここの1.2章を見ると良い

443 :デフォルトの名無しさん:2014/09/13(土) 11:07:49.70 ID:/mgnsgol
>>438
> ググってもそういう情報は見つけられなかった

GemStone/S は「宝石」ともろかぶりなのでググラビリティ低いですよね。
以前、Webアプリのスピードコンテストで優勝したとかニュースがあったような気がしたのですが
見つけられませんでした。^^;

オーソドックスに "gemstone/s" transaction-per-sec で検索をかけた感じでは
>>442 がトップですね。次点の Scaling Seaside with GemStone/S
http://gemstonesoup.wordpress.com/2007/10/19/scaling-seaside-with-gemstones/

は、GemStone/S がスケールするかと、(古い)Squeak VM との比較みたいになっていて
実測値ながらあまり参考にならないかもしれません。ちなみに Seaside というのは
Smalltalk で多くのメジャーな処理系に移植されている Webアプリフレームワークで
ちょっと古い資料ですがこんな特徴があります。
http://www.ogis-ri.co.jp/otc/hiroba/technical/seaside/seaside2/index.html

444 :デフォルトの名無しさん:2014/09/13(土) 11:40:17.53 ID:KYJA+u1Q
>>442は大本営発表だから最高の状態のパフォーマンスを書いてると思うけど、
それでもMySQLの数十〜百分の1以下の性能なんだね
良く分かったありがとう

445 :デフォルトの名無しさん:2014/09/13(土) 14:45:44.70 ID:JCN84Z6S
>>375

>型システムの教科書(TAPL本)だと、型システムは以下のように定義されている:
>   型システムとは、プログラムの各部分を、それが計算する値の種類に沿って
>   分類することにより、プログラムがある種の振る舞いを起こさないことを保証する、
>   計算量的に扱いやすい構文的手法である
>何の事か分かりづらいけど、要するに

「型システムの教科書」に書かれている「型システムの定義」を引用して

「何の事か分かりづらいけど」と切り捨てる強烈なdisに吹いたww

446 :デフォルトの名無しさん:2014/09/13(土) 15:55:00.12 ID:Bjr83Kqx
来月よりオライリーからSwiftプログラミング本が刊行ラッシュ
http://d.hatena.ne.jp/yomoyomo/20140907/swift

447 :デフォルトの名無しさん:2014/09/13(土) 18:03:42.96 ID:7F4s5mUo
>>444
どういう条件でだよ

448 :デフォルトの名無しさん:2014/09/13(土) 18:47:11.82 ID:mAxKIb3w
>>444
わかっていて言っておられるとは思うのですが、
GemStone/S は OODB なので、素の RDB とパフォーマンス比較しても
あまり意味がないような。せめて ORM を介在させた状態ととかかと。
それとも ORM にオーバーヘットなぞ存在しない派、でいらっしゃるとか?

449 :デフォルトの名無しさん:2014/09/13(土) 20:27:27.36 ID:/w+exahQ
ORMにはオーバーヘッドが問題になるときには
使わないという選択肢があるから

450 :デフォルトの名無しさん:2014/09/13(土) 21:56:57.16 ID:/mgnsgol
>>449
なるほど。そう来ますか。

もしや最初から 、MySQL 程度のスループットがだせないなら
この OODB は使いものにならない、という結論ありきで
パフォーマンス情報を探しておられたのでしょうか?
だとしたら随分意地が悪いお人ですね。^^;

451 :デフォルトの名無しさん:2014/09/14(日) 02:19:17.07 ID:92EZCtvb
性能面はともかく使い勝手の比較はどうなんだろうな。
昔RDBと同じ操作ができるClass群を作ったが、
RDBの特性がどうしても必要な場面なんて
滅多に無くて殆ど使わなかった。
大抵OODBで十分だろ。

query := Query.ForTable fromTables: { tableOfArticle. tableOfClient. tableOfBag }.
result := query inquire:
[ :statement :article :client :bag |
 statement
  where: [ ( 500 < article price ) & ( client bag = bag ) & ( bag article = article ) ]
  collect: [ article ].
].

↑の問い合わせなら↓で十分
result := tableOfClient bag select:
[ :article |
500 < article price
].

452 :デフォルトの名無しさん:2014/09/14(日) 02:42:02.73 ID:92EZCtvb
OODBで十分な例としてはLogin時に利用者情報を
抜き出す例の方が分かりやすいかな。

Session >> authorizeUser: anIdObject withPassword: aPassword
 userAccount :=
  tableOfUserAccount
   at: anIdObject asSymbol
   ifAbsent: [ InvalidateLogin signal ].

 self user: ( userAccount unlockByPassword: aPassword asString ).

453 :デフォルトの名無しさん:2014/09/14(日) 02:56:53.03 ID:92EZCtvb
>>452の例の設計がクソだったので訂正

TableOfUserAccount >> createSessionByUser: anIdObject withPassword: aPassword
 | userAccount |

 userAccount :=
  self table
   at: anIdObject asSymbol
   ifAbsent: [ InvalidateLogin signal ].

 ^ userAccount unlockByPassword: aPassword asString.

454 :デフォルトの名無しさん:2014/09/14(日) 07:59:52.59 ID:VxA609sk
全くOO的に見えないのは俺だけ?
それだけ見たら単なるドキュメントデータベースじゃん

455 :デフォルトの名無しさん:2014/09/14(日) 09:07:30.07 ID:c+6AylsA
>>454
>>453だけぱっとみたらそうかもね。
でも
・userAccountが指すObjectのClass
・#unlockByPassword:の振る舞い

を前回の状況によって変える事ができるよ。
例えばAccount情報を外部のWeb serviceから取得してる場合。
利用者がAccountの取得に選んだWeb serviceによって
#unlockByPassword:の振る舞いが違うかも知れない。

尤も>>453じゃそこまでの仕様に耐えきれないけど。
(Web serviceのURLをanIdObjectに追加するとか必要。)

456 :デフォルトの名無しさん:2014/09/14(日) 09:34:51.93 ID:o67Hs83G
わからんからMagLev(Ruby)で書いてくれ

457 :デフォルトの名無しさん:2014/09/14(日) 09:35:32.61 ID:Pc2qNKiG
JOINできないなら全く十分じゃないので、JOINしてる例を頼む

458 :デフォルトの名無しさん:2014/09/14(日) 12:11:35.99 ID:LaSC6W3n
RDBでは速度が十分じゃないから、機能を限定して速度を稼いだKVSが流行っているのに
RDBより遥かに遅いOODBなんてクソでしょ

459 :デフォルトの名無しさん:2014/09/14(日) 12:27:47.73 ID:RYMEDjoi
KVSって流行ってるほど流行ってなくね?

460 :デフォルトの名無しさん:2014/09/15(月) 10:35:59.33 ID:MGTym664
アルゴリズム記述用言語ないですか?
Pascalが擬似コードとして使われるケースがありますが。
他言語にコンバートできて、人間が読みやすいコードを生成できるやつないですか。
アルゴリズムを少ないコード量で記述したいのが目的です。

461 :デフォルトの名無しさん:2014/09/15(月) 11:08:03.07 ID:pNNQiIbO
♪PASCALにあわせてくーれーてー

462 :デフォルトの名無しさん:2014/09/15(月) 11:16:44.55 ID:ONJbox51
読みやすさかー
じゃあ演算子の優先順位すらない言語は
お呼びじゃないね

463 :デフォルトの名無しさん:2014/09/15(月) 11:58:52.04 ID:ftT2x/3c
>>456
MagLev-Ruby を使った GemStone の解説は、
これが比較的わかりやすかった。
http://www.slideshare.net/rengelbrecht/maglev-rubyfuza-cape-town-2012

464 :デフォルトの名無しさん:2014/09/15(月) 12:39:35.27 ID:AtN8BUOB
>>460
Prologですが、いかがでしょう。
http://nojiriko.asia/prolog/twitter_by_toby_net_20140912_3.html

465 :デフォルトの名無しさん:2014/09/15(月) 13:22:53.19 ID:j8xvklWY
最近どこかのスレで Alloy Analyzer とかいうのを見た
使ったことないけどググると日本語解説もいくつか見つかる

466 :デフォルトの名無しさん:2014/09/15(月) 21:17:06.29 ID:MGTym664
Prologっていいの?
コンバーター、トランスレーターはある?
最低でもC/C++とJavascriptには変換できて、
OS固有の命令を除けば、C++とJavascriptで実現可能なことは全て表現できるといい。
フローチャートってのは言語に依存しないけど、それのコード版かつ、実用性も欲しい。

467 :デフォルトの名無しさん:2014/09/15(月) 23:53:35.19 ID:Hk6+hq2X
>>466
> OS固有の命令を除けば、C++とJavascriptで実現可能なことは全て表現できるといい。

C++ か Java で書けよ

468 :デフォルトの名無しさん:2014/09/16(火) 01:09:18.24 ID:+7eujhzI
>>466
Prologは、フローチャート書くタイプじゃないと思う
手続き型言語とは、思い切り方向性というか、考え方が違うからな

469 :デフォルトの名無しさん:2014/09/16(火) 01:24:52.87 ID:zuELja3f
15分でコードを書けば
人生が終わるまでに結果が出ないプログラムが完成
それが Prolog

470 :デフォルトの名無しさん:2014/09/16(火) 01:55:25.48 ID:+7eujhzI
>>469
一応、手続き型でもボゴソートとか色々書けちゃうからその書き方だと誤解されそうだなー
気持ちはだいたいわかるんだが

471 :デフォルトの名無しさん:2014/09/16(火) 06:07:32.54 ID:xheLKUX2
>>464 はPrologのパーサに式の文字列を解析させている特殊なものだが、
一般的に、>>460 のPascalの擬似コード風に使うと、手続き的な課題であっても
・ if, case, while 文などの表現を排除できる。
代りにバックトラックのような難題が生じているのだが、ここの部分を日本語で
述語名にうまく含ませてしまうと、「読み物」としてはPrologコードができ上がる。
そしてこれは「擬似」ではなく、ちゃくと動く。

472 :デフォルトの名無しさん:2014/09/16(火) 06:09:24.22 ID:xheLKUX2
>>471
「読み物」としてのPrologコードができ上がる。
でした。

473 :471:2014/09/16(火) 06:23:51.50 ID:xheLKUX2
>>460 は擬似コードのようなものを例えばRubyのコードに落とすというような
話だが、PrologをCに、或いはPrologをJavaに変換するプログラムは存在するが、
Prologのモニタによってバックトラックや再帰を制御させるためのコードを落としてしまう。
それで、>>460 が要求している事と >>464 は話が違うということになると思う。

474 :デフォルトの名無しさん:2014/09/16(火) 21:47:36.66 ID:+Ut5bl5+
>>464
その Prolog コードを Ruby へ移植してみた
  http://ideone.com/0TSBBr

nojiriko氏に質問するが、あなたはこの程度のコードを根拠に、
(>>46 の言う)アルゴリズム記述言語として Prolog がふさわしいと主張したいのかね?
率直に言ってこの Ruby コードの難易度は(日本語の利用を強制しなければ)超初心者級なんだけど、
nojiriko氏の Prolog コード設計レベルも初心者にしか見えないよ


>>471
君は本当に素直な性格なんだね
コード中の識別子に日本語を使っているからnojiriko氏の詐欺にまんまと騙されているけど、
>>464 のコードは分岐(if、case)や反復(while)など使用していない、
ましてやバックトラッキングといった Prolog らしさの欠片(かけら)すら無い糞コードだよ

475 :デフォルトの名無しさん:2014/09/16(火) 23:18:57.19 ID:xheLKUX2
>>474
ごめん。>>464>>471は同一人物、すなわち私が書いたものです。
>>464はPascalの擬似コード風のものの中でPrologをしらない人でも
わかるコードを選びました。
>>471で言っていることは nojiriko.asia のサイトの末尾1000題くらいを
追ってみてください。課題がやさしいですから、糞コードと取られるのは仕方
ありません。このような表現を使った場合、なにが問題であるかが、段々と
表現が極端な方向に変化する中で読み取ってほしいというところかな。

476 :デフォルトの名無しさん:2014/09/16(火) 23:39:42.32 ID:xheLKUX2
>>474
それから、Rubyのコード。すばらしいですね。

477 :デフォルトの名無しさん:2014/09/16(火) 23:42:25.15 ID:xheLKUX2
>>475
何が問題であるかを、
でした。

478 :デフォルトの名無しさん:2014/09/16(火) 23:55:46.69 ID:2l4a4VBe
Prologコードはじじいの繰り言みたいで見苦しいので
直に書き込まないでくれて助かる。

ところで9―3÷1/3+1の答えは1だと思うのだけど、
件の Prologコードは SWI-Prolog でエラーになって確かめられない。

あと、Ruby のコードで逆引き辞書の / が重複しているのに
出力ではちゃんと再現できているのはなぜだろう。

479 :デフォルトの名無しさん:2014/09/17(水) 00:08:01.06 ID:tkaK1kp6
>>478
>ところで9―3÷1/3+1の答えは1だと思うのだけど、

$ irb
irb(main):001:0> 9-3+1/3+1
=> 7
irb(main):002:0>

$ python
Python 2.5.1 (r251:54863, May 5 2011, 18:37:34)
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 9-3+1/3+1
7
>>>

$ js
js> 9-3+1/3+1
7.333333333333333
js>

$ swipl
?- X is 9-3+1/3+1.
X = 7.33333.

?-

480 :479:2014/09/17(水) 00:14:36.53 ID:tkaK1kp6
いけね、>>479を訂正(動揺している....)

$ irb
irb(main):001:0> 9-3/1/3+1
=> 9
irb(main):002:0>

$ python
>>> 9-3/1/3+1
9
>>>

$ js
js> 9-3/1/3+1
9
js>

$ swipl
?- X is 9-3/1/3+1.
X = 9.

?-

481 :デフォルトの名無しさん:2014/09/17(水) 00:43:48.52 ID:TerbdBJl
>>480
> /(実は÷)の演算子結合度をrdiv(実は/)の400より強くする

だけど、実際は 401 と低くしているので 9-3/(1/3)+1 かと。

http://www.swi-prolog.org/pldoc/man?section=opsummary

482 :デフォルトの名無しさん:2014/09/17(水) 01:04:26.90 ID:TerbdBJl
>>478
> 出力ではちゃんと再現できているのはなぜだろう。

あ、わかった。
表示に使う式の文字列は改めて与えて、
それをそのまま出力しているのか!

> 式を復元して表示する('9―3÷1/3+1=',_はてな)

全角に戻しているのは結果だけだという罠。きたない。

483 :デフォルトの名無しさん:2014/09/17(水) 09:18:24.05 ID:C2WN/KBR
>>480

$ swipl
?- op(401, yfx, (/)). X is 9 - 3 / 1 rdiv 3 + 1.

true.

X = 1.

484 :デフォルトの名無しさん:2014/09/17(水) 13:04:50.10 ID:q3qTrR1U
こんなお題にしてはどうか?

9−3÷1/3+1 を 結果が 1 を返すようパーズして評価するコードを書け。

なお、
・/ は ÷より優先される。どちらの演算も割り切れない場合は分数を返す。
・組み込みで分数をサポートしない言語は、既存ライブラリーを使ってもよいし
 自分で簡易実装してもよい。無理なら小数点数で扱ってもよい。
・パーザーは手書きでもパーザー生成器などライブラリーを使ってもよい。
 いずれにせよ、他の類似の式文字列も同様にパーズ・評価できるように実装する。
・余力があれば二桁以上の数値、漢数字、括弧、全角返値などへの対応もご自由に。

485 :デフォルトの名無しさん:2014/09/17(水) 15:40:52.29 ID:tIwxdoK8
パズー

486 :デフォルトの名無しさん:2014/09/17(水) 17:05:09.93 ID:RlznIxIP
バカバカしさがこのスレに相応しいなw

487 :デフォルトの名無しさん:2014/09/17(水) 18:32:34.00 ID:6L2oAPxU
>>484
Squeak Smalltalk でざっくりと。

| digits opGroup opDict nextOps parse eval |

digits := $0 to: $9.
opGroup := #('/' '×÷' '+−').
opDict := ('/×÷+−' asArray with: '/*/+-' collect: #->) as: Dictionary.
nextOps := [:opChar |
 (opGroup allButFirst: (opGroup findFirst: [:ops | ops includes: opChar]) - 1) concatenation
].

parse := nil.
parse := [:src |
 src := src readStream.
 Array streamContents: [:dst |
  [src atEnd] whileFalse: [
   true caseOf: {
    [digits includes: src peek] -> [dst nextPut: (digits indexOf: src next) - 1].
    [opGroup anySatisfy: [:ops | ops includes: src peek]] -> [
     dst nextPut: (opDict at: src peek).
     dst nextPut: (parse value: (src upToAnyOf: (nextOps value: src next))).
     src atEnd ifFalse: [src back].
    ]
   } otherwise: [self error: 'unexpected character'].
  ]
 ]
].
eval := [:expStr | Compiler evaluate: ((parse value: expStr) asString copyWithoutAll: ' $#')].

eval value: '9−3÷1/3+1'. "=> 1 "
eval value: '1/2÷3/4÷5/6×7/8×10'. "=> 7 "

488 :デフォルトの名無しさん:2014/09/17(水) 18:37:12.59 ID:HcKN6G5K
C++、Javascriptで開発する上で、アルゴリズム部分を任せられる簡易言語はどれってこと?

489 :デフォルトの名無しさん:2014/09/18(木) 09:02:26.23 ID:WDIfCnlq
>>484
OMeta/JS

ometa ZenKalc {
 digit = '0'->0 | '1'->1 | '2'->2 | '3'->3 | '4'->4
    | '5'->5 | '6'->6 | '7'->7 | '8'->8 | '9'->9,
 number = number:n digit:d -> (n * 10 + d)
    | digit,
 addExpr = addExpr:x '+' mulExpr:y -> (x + y)
    | addExpr:x '−' mulExpr:y -> (x - y)
    | mulExpr,
 mulExpr = mulExpr:x '×' rdivExpr:y -> (x * y)
    | mulExpr:x '÷' rdivExpr:y -> (x / y)
    | rdivExpr,
 rdivExpr = rdivExpr:x '/' number:y -> (x / y)
    | number:x -> x,
 expr = addExpr
}

ZenKalc.matchAll('9−3÷1/3+1', 'expr')
// 1
ZenKalc.matchAll('1/2÷3/4÷5/6×7/8×10', 'expr')
// 7

http://www.tinlizzie.org/ometa-js/#zencalc

490 :デフォルトの名無しさん:2014/09/18(木) 13:23:40.38 ID:e8lbKqg+
>>484
F#

let (|>>) p f = fun xs -> let x, xs = p xs in f x, xs
let (<|>) p1 p2 = fun xs -> try p1 xs with _ -> p2 xs
let satisfy p = function x::xs when p x -> x, xs | _ -> failwithf "satisfy"
let charReturn c x = satisfy ((=) c) |>> fun _ -> x
let run p = List.ofSeq >> p >> fst
let chain p op = fun xs ->
  let rec chain(x, xs) =
    try
      let op, xs = op xs
      let x', xs = p xs
      chain(op x x', xs)
    with _ -> x, xs
  chain <| p xs

let digit =
  satisfy (fun x -> '0' <= x && x <= '9')
  |>> fun x -> double (int x - 65296)

let digits = chain digit <| fun xs -> (fun n d -> n * 10. + d), xs
let frac = chain digits <| charReturn '/' (/)
let mul = chain frac (charReturn '×' (*) <|> charReturn '÷' (/))
let expr = chain mul (charReturn '+' (+) <|> charReturn '−' (-))

// 1.0
run expr "9−3÷1/3+1"

// 7.0
run expr "1/2÷3/4÷5/6×7/8×10"

491 :デフォルトの名無しさん:2014/09/18(木) 13:43:50.43 ID:PJ3flVKP
F#とかおよびじゃないのに

492 :デフォルトの名無しさん:2014/09/18(木) 16:50:42.59 ID:IKF3bMic
ということにしたいのですね

493 :デフォルトの名無しさん:2014/09/19(金) 07:30:05.52 ID:932+hnbT
>>484
書いて下さいだろタコ
身分をわきまえろよ

494 :デフォルトの名無しさん:2014/09/19(金) 08:01:50.12 ID:fVs2kyBw
>>493
出題文を命令形にするのは、ギリシャ時代からのならわしではないか。

495 :デフォルトの名無しさん:2014/09/19(金) 16:51:25.35 ID:OwpMAs9w
>>484 gawk
http://ideone.com/3W5gUW

496 :デフォルトの名無しさん:2014/09/25(木) 13:46:34.10 ID:tDBGvJpk
死ねゴミ共がw
死ねゴミ共がw
死ねゴミ共がw
死ねゴミ共がw

497 :デフォルトの名無しさん:2014/09/25(木) 13:47:38.27 ID:tDBGvJpk
>>484
さっさと書けやゴミw

498 :デフォルトの名無しさん:2014/09/25(木) 15:11:58.07 ID:/zs8YLvv
なぜオタクのオッサンは煽り合うのか

499 :デフォルトの名無しさん:2014/09/25(木) 17:32:18.73 ID:J2V3iT83
そのための隔離スレだし

500 :デフォルトの名無しさん:2014/09/26(金) 07:00:11.81 ID:/wNWbPfS
>>484
その通りだw
さっさと書きやがれw

501 :デフォルトの名無しさん:2014/09/27(土) 14:36:10.46 ID:M7ySO1zH
スクリプト言語を使うような奴等は
安易にsystem()とか呼び出しちゃうから
今回のbashの件で死亡しちゃった?

502 :デフォルトの名無しさん:2014/09/27(土) 17:11:17.90 ID:lJpImKEe
おまえの中ではそうなんだろう

503 :デフォルトの名無しさん:2014/09/27(土) 18:58:05.39 ID:BDVmPomL
>>501
system()で一番呼ぶのcmd.exeだなぁ

504 :デフォルトの名無しさん:2014/09/27(土) 20:39:51.83 ID:lJpImKEe
>>501
C言語使いでも安易にsystem()するバカは見たことがあるけどな。

505 :デフォルトの名無しさん:2014/09/28(日) 10:12:02.15 ID:lx4te+LV
基礎からのPHPで勉強中です。
MySQLへの接続判定で、以下の例文がありました。

$d=mysql_connect("localhost","root","1234") or die("接続失敗");

普段はC++使いですが、この書き方に違和感があってまだ理解できません。
なぜ接続に失敗したら、die関数が実行されるのでしょうか?

506 :デフォルトの名無しさん:2014/09/28(日) 10:23:31.42 ID:2T0qE7fc
>>505
http://toro.2ch.net/test/read.cgi/tech/1365323116/938

507 :デフォルトの名無しさん:2014/09/28(日) 11:49:30.38 ID:FAkptdZZ
true || failed()
false || failed()

508 :デフォルトの名無しさん:2014/09/28(日) 18:29:14.74 ID:tW0kG1zR
>>505
C/C++でもそういう書き方するときあるじゃない
if (is_file_opened() || open_file()) {
// ファイル処理
} else {
// 開けなかったときの処理
}
みたいな

509 :デフォルトの名無しさん:2014/09/28(日) 19:34:26.08 ID:lwUZotcA
>>505
短絡評価 でググれ

510 :デフォルトの名無しさん:2014/09/28(日) 20:19:48.18 ID:lx4te+LV
>>509
理解した。thx

511 :デフォルトの名無しさん:2014/09/29(月) 11:08:04.74 ID:fOxN//gb
プププッw

512 :デフォルトの名無しさん:2014/09/29(月) 12:17:49.64 ID:1eoAu9jp
まーたトットリのニップが暴れてるのか

513 :デフォルトの名無しさん:2014/09/29(月) 14:51:10.65 ID:WITlTI70
日本人な時点でニップだろ

514 :デフォルトの名無しさん:2014/09/29(月) 22:04:34.29 ID:QcGUG2KQ
スクリプト言語の活躍の場がどんどん無くなってるから
スクリプト言語同士で争ってる場合じゃないんだよなぁ

515 :デフォルトの名無しさん:2014/09/29(月) 22:07:37.98 ID:gltXtwF0
> スクリプト言語の活躍の場がどんどん無くなってるから
え?

516 :デフォルトの名無しさん:2014/09/29(月) 22:23:37.74 ID:sAVGRibI
ということにしたいんだろ

517 :デフォルトの名無しさん:2014/09/29(月) 22:31:05.54 ID:QcGUG2KQ
CPUの性能向上が頭打ちになったのが痛かったね

518 :デフォルトの名無しさん:2014/09/29(月) 22:52:02.46 ID:WITlTI70
そりゃ5年ぐらい前の話題だけど、それがスクリプト言語に関係あるのか?

519 :デフォルトの名無しさん:2014/09/30(火) 05:08:41.73 ID:LKjBmG+I
世界をペテンにかけて動的言語で大規模開発をやらせよう


こんなもので作れるわけないけどねwwwwwwwっうぇwっうぇwwww
この言語のリソースが増える事こそが重要なのだ
じゃんじゃんデバッグ、バグレポートを送られたし
オモチャの完成度を高めていく

そのためには金になるという噂をばらまく必要があり、ネイティブ吐けない下等種であるにもかかわらず経済活動に無理やり参加
一体どれだけの人間を騙したんだ?^^
誰かが気づく 本当はこんな言語なくてもいいのに・・・
いやいやいやそんなことないそんなことないプログラミングは楽しいよ!(笑)

存在意義を聞いてるのに・・・、楽しいとかなんとかいう話にされちゃって・・・
R**y会議!カンファレス!勉強会!2014!
誤魔化しだまされ一過性の効率という快楽でシャブ漬けにして本人にとっては無意味なコードを
本人にとっては無意味なライブラリを本人にとっては無意味なパッチを、人に頼られて嬉しいいいいw という自己満足の海に溺れながらコードを書き続ける
小さな一室に集まった者はみな同じ言語を使っていて、似たような服を着ていて、仲間が居るという安心感があり同じ匂いがするらしい
そこのボスや中ボスが登場して演説「諸君、私はプログラミングが大好きだ」洗脳する

超大人数のとてつもない作業量と熾烈な争いによって積み重ねられた恩恵を、高みの見物続けてた奴が「どーれーにーしーよーうーかーなー」っと、そろっと使って、本当の最高効率を愉しむのがLLっていう機構のカタチ

520 :デフォルトの名無しさん:2014/09/30(火) 07:24:45.38 ID:BzokIjTB
「本人にとって無意味」を煽り文句にするってことは、コードを売って稼ぐことしか頭にない時代にまだ生きてる人?

521 :デフォルトの名無しさん:2014/09/30(火) 08:05:19.12 ID:73X2BIep
何だかよく分かんないけどスクリプト言語好きだしどれでもいいよ

522 :デフォルトの名無しさん:2014/09/30(火) 15:10:12.73 ID:DxOWHnch
存在意義云々以降はスクリプトとか関係なくね
こういうロートルには非スクリプト言語、非静的型付け言語のカンファレンスや勉強会の存在すら知られてないのかな

523 :デフォルトの名無しさん:2014/09/30(火) 20:32:26.76 ID:JU1j3mFE
自分の頭の悪さ基準で、他人を測定しないほうが身のためw

そういう勘違いを昔の自分がしてました〜Tte自己紹介にしか見えないのは一体なんなんだろう

524 :デフォルトの名無しさん:2014/10/01(水) 01:24:57.66 ID:FFGuf9Qm
昔Matzが今のPCは速いからRubyは遅くても構わないみたいな事言ってたけど、そんな事なかったね

525 :デフォルトの名無しさん:2014/10/01(水) 01:36:02.19 ID:Ho+PcJZy
>>524
matzが元々想定してた使い方には実際困らんと思うよ

526 :デフォルトの名無しさん:2014/10/01(水) 01:56:02.17 ID:djuRX9lp
>>524
アホの発想は滑稽だな

527 :デフォルトの名無しさん:2014/10/01(水) 06:53:27.62 ID:Jjrp6OPY
バカスレw
死ねやお前らw

528 :デフォルトの名無しさん:2014/10/01(水) 09:09:23.15 ID:uFTE4qdd
>>524
フムフムヌクヌクアプアアみたいな奴だな

529 :デフォルトの名無しさん:2014/10/01(水) 11:59:12.68 ID:n9ZGXeJV
>>524-525
Ruby取扱従事者免許の普及の遅れが致命的だったな

530 :デフォルトの名無しさん:2014/10/01(水) 13:35:56.66 ID:wjpxhl4G
>>524
>Rubyは遅くても
オランダの数学者が作り上げたpythonは、Rubyよりも
演算速度が速いのかナ?

531 :デフォルトの名無しさん:2014/10/01(水) 13:52:58.48 ID:gC0CIiK8
行列演算は間違いなく上だな

532 :デフォルトの名無しさん:2014/10/01(水) 19:23:42.78 ID:tNvWEr0O
JavaScript、Python、Lua 「今のPCが速いなら速いJITコンパイラを作ろう!」 

533 :デフォルトの名無しさん:2014/10/01(水) 21:12:16.33 ID:RRxwqEFU
煽るだけの奴は、間違いなく下だなw

534 :デフォルトの名無しさん:2014/10/03(金) 01:23:37.15 ID:T/kFcWDz
RubyをPyPyで高速化するとかいうネタが有ったなぁ…

535 :デフォルトの名無しさん:2014/10/03(金) 01:43:36.72 ID:3AMdlTB0
コンパイルして実行の二度手間になるから、
タイトループのあるソフトとかの
特定の状況で爆速になり、
特定の状況で逆に遅くなるピーキーな体質

536 :デフォルトの名無しさん:2014/10/03(金) 08:02:25.77 ID:OYKQH0+C
るびぃw

537 :デフォルトの名無しさん:2014/10/03(金) 11:03:28.73 ID:Cqqmulyu
>>535
JVMにサーバモードとクライアントモードがあったりするように、プロセスを長時間立ち上げたまま、
同じコードが何回も走る、というよくあるユースケースで安定して高性能が出る、というように、
うまくいくパターンは割と明確なんですが。

538 :デフォルトの名無しさん:2014/10/03(金) 12:26:04.88 ID:zwNCTHT6
Rubyはネトウヨwwwwwwwwwwwwwwwwwwwwwwwwww

539 :デフォルトの名無しさん:2014/10/03(金) 12:39:25.04 ID:I4AMywYF
>>538
まぁ、Rubyはもう完全に落ち目だね。

あえて今からやろうっていう言語じゃない。未来もないし。

540 :デフォルトの名無しさん:2014/10/03(金) 12:49:01.03 ID:Cqqmulyu
何年前からこういうバカって居たっけ?

541 :デフォルトの名無しさん:2014/10/03(金) 12:57:34.47 ID:qvYC9LzM
>>539
確かに。
未来がないよな。

外国勢も殆どpythonで事足りてるみたいだし。

Rubyの存在意義って何?
宗教の奴がなにか使命感に燃えてひたすら自己満する言語?

エンジニアなら目の前の物理の法則とそれにまつわる宇宙を信じろと言いたいけどね

542 :デフォルトの名無しさん:2014/10/03(金) 13:57:40.07 ID:Cqqmulyu
脳内に設定した「Rubyが衰退している世界」から、まずは自分が脱出することが先じゃねーのwwwww

543 :デフォルトの名無しさん:2014/10/03(金) 14:03:33.43 ID:I4AMywYF
http://www.google.co.jp/trends/explore#q=ruby%2C%20python%2C%20javascript%2C%20perl%2C%20php&cmpt=q

544 :デフォルトの名無しさん:2014/10/03(金) 14:17:15.89 ID:engCVLK6
PHPこのまま消えてGoに置き換わってくれ

545 :デフォルトの名無しさん:2014/10/03(金) 17:10:35.60 ID:BlqF2NHp
そもそもRubyがいつ栄えたんだよと
RailsはRubyとは正直別物になってて栄えた内に入らんと思うし

546 :デフォルトの名無しさん:2014/10/03(金) 18:22:43.63 ID:UskTMg6a
Redmineは結構良い

547 :デフォルトの名無しさん:2014/10/03(金) 20:13:02.28 ID:MM8EH8yD
(*´・∀・)(・∀・`*)ヘー

548 :デフォルトの名無しさん:2014/10/03(金) 20:35:46.29 ID:Zg+zwuTS
まーたニップか

549 :デフォルトの名無しさん:2014/10/03(金) 20:40:38.81 ID:Zg+zwuTS
ハリー「スリザリンはいやだ・・・スリザリンはいやだ・・・」

組み分けんもう帽子「ジャアアアアアアアアアアアアアアアアアアアアアアアアアアアップwwwwwwwwwwwwwwwwwwww」

ハリーはネトウヨ

550 :デフォルトの名無しさん:2014/10/03(金) 21:19:27.12 ID:dP+u0FXo
Rubyは糞ジャップが開発したしょうもない駄作

551 :デフォルトの名無しさん:2014/10/03(金) 21:21:48.98 ID:aFxHZePJ
ということにしたいのですね

552 :デフォルトの名無しさん:2014/10/03(金) 21:56:35.81 ID:+Kawa44E
>>538
Matz はネトウヨ

Matzにっき 2007-06-25
http://www.rubyist.net/~matz/20070625.html
--
> おっしゃることはよくわかる。しかし、私は今後「いわゆるバカチョンパラレルで十分なケース」が
> 増えると考えていて、それを支援したいと考えているので、HPCをRubyで、というわけではない。

_ reti (2007-07-01 16:50)
  こんなコメントは言いたくないですが。
  「〜パラレル」の「〜」の部分は、無知から来た言葉でしょう。ちょっと恥ずかしい。
_ まつもと (2007-07-01 17:41)
  無知って?「ばか」とか「ちょん」とか呼ぶのは行儀が良くないというのはわかりますが。
  広辞苑によると
  (4) おろかな者、取るに足りない者としてあざけり言う語。
   西洋道中膝栗毛「仮染(かりそめ)にも亭主にむかって…ばかだの、ちょんだの、野呂間だのと」
  だそうです。
_ reti (2007-07-01 22:48)
  語源なんて諸説ありますし、「西洋道中膝栗毛」はアジア蔑視が目立つ福沢諭吉の書でしょ?
  広辞苑はそもそもバイブルでしょうか?

  ただ、不快に思う韓国籍の人間は私の周囲には沢山います。それだけは言いたいです。
  山陰や浜松では少ないでしょうが。誤解も多くあるとは思いますが、現実に差別用語として
  感じ使っている人は多くいます。その点を知らないのなら無知でしょうし、
  理論武装の上で確信的に使っているのであれば、愚かしい事では。

  こちらで差別論議を持ち込むのは不適切でありましょうからら、これ以上はコメントしません。
_ まつもと (2007-07-02 01:05)
  retiさん、おっしゃることは了解しました。が、私自身は言葉狩りには賛成しません。
  差別意識というのは文脈から切り離された単語に宿るものではないと思います。私(や、おくじさん)が
  どなたか韓国籍・朝鮮籍の方を差別する目的でそのような言葉を使ったのであれば大問題でしょうけど。

553 :デフォルトの名無しさん:2014/10/03(金) 21:58:34.03 ID:+Kawa44E
>>540
Ruby がなければ、とか Rails さえ登場しなければ、と考える人達は
昔から存在していた

・Python vs Ruby vs PHP vs Haskell プログラミング言語バトル part1
 http://anond.hatelabo.jp/20120118220204

> 48 : デフォルトの名無しさん : 2011/11/13(日) 08:30:25.68

> 44
> Zopeが登場した当時、「RDB+PHPはもう古い、これからはOODB+ZopeがWebの中軸になる!」と
> さかんに宣伝され、雑誌でもZope特集が組まれていた
 
> 少なくとも自分はZopeからPythonという言語を知ったし、その時点でRubyは知らなかった
> そして、その後のORM(RDB)+Railsの出現と華々しい革新性への注目は、誰もが知っているだろう
> 今でもZopeの開発は継続されてはいるが、結果的に当初の期待が大きく裏切られたという事実は動かしがたい
 
> djangoとCakePHPについては実際に触っていないので憶測になるが、おそらく技術水準ではRailsと同等だろう
> しかしRailsはRailsでコミュニティの活動が活発だし、その進化は異常に早い
 
> Railsに何か致命的なトラブルが発生して開発が停滞する、あるいはdjangoやCakePHPから
> 何かのイノベーションが提示されでもされない限り、後発のdjangoやCakePHPがRailsに追いつくのは無理
> Railsは決して技術的に完璧なWebフレームワークではないんだけどね....(たとえばSeaSideのような.... )
 
> だからこそ「もしもZopeが....だったなら」という「たら・れば」感はPythonコミュニティの潜在認識になっている

554 :デフォルトの名無しさん:2014/10/03(金) 21:59:04.05 ID:dP+u0FXo
ネトウヨのモルモン教

555 :デフォルトの名無しさん:2014/10/03(金) 22:13:22.25 ID:FG6v5YFb
>>553
最後にSeaSideなんてマイナーうんこ言語のマイナーフレームワークに
触れずにいられない時点で、それを書いたヤツの御里が知れるってもんだな

556 :デフォルトの名無しさん:2014/10/03(金) 22:13:32.42 ID:+Kawa44E
>>550
LINE の中の人、お疲れさまです

--
91 名前: デフォルトの名無しさん Mail: 投稿日: 2014/09/13(土) 19:33:59.26 ID: NXGUPkMv
LINEにインターンに行った人のブログ読んだ時、そこの社員さんの本が写ってる画像があって
その中にPython関係のハングル翻訳本があったのであーやっぱりと思った

92 名前: デフォルトの名無しさん Mail: sage 投稿日: 2014/09/13(土) 20:35:34.26 ID: OsadxY4P
エンジニアブログでも登場してたよ
日本語バリバリっぽいが

110 名前: デフォルトの名無しさん Mail: sage 投稿日: 2014/09/16(火) 18:17:53.70 ID: exxayQq9
>>91
これか
http://cdn-ak.f.st-hatena.com/images/fotolife/c/cocodrips/20140829/20140829091202.jpg

557 :デフォルトの名無しさん:2014/10/03(金) 22:23:37.02 ID:FG6v5YFb
Rubyは1.8くらいまでの、GC有りのC言語ランタイム(小粋なスクリプト言語も付いてくるよ)
な時代が一番好きだったな

558 :デフォルトの名無しさん:2014/10/04(土) 01:20:04.49 ID:WpG7hkwu
最近はそういう「わかってるような振り」が流行りなのかw

559 :デフォルトの名無しさん:2014/10/04(土) 01:34:56.42 ID:ywWSNZBS
このスレ自体、gitを分かってるような振りした馬鹿が
無知を訂正されるところからスタートしてるし

560 :デフォルトの名無しさん:2014/10/04(土) 08:53:03.56 ID:9D7AARhC
Rubyで書かれてしまったものをPythonで書き直すという
新たな仕事を生んでいるw

561 :デフォルトの名無しさん:2014/10/04(土) 09:19:17.97 ID:mv0qdR50
>>560
それはPython2? それともPython3? それともネタ?

562 :デフォルトの名無しさん:2014/10/04(土) 10:50:31.06 ID:4W3ZFPUp
Pythonに書き直したりしねーよ
JavaかScalaへの書き直しはある

563 :デフォルトの名無しさん:2014/10/04(土) 11:02:27.36 ID:wqfRCh+2
これからサーバーサイド開発考えてますが、phpはオワコンですか?
Java習得しといたほうがいいですか?

564 :デフォルトの名無しさん:2014/10/04(土) 11:23:31.14 ID:WoYJoTXc
数値計算やデータ分析などの知的作業にはPython
しょぼい小規模サイト構築にはRuby

役割分担できてるんだから喧嘩すんな

565 :デフォルトの名無しさん:2014/10/04(土) 11:29:52.24 ID:9Gf/pGOa
>>280
Script-Fuも追加で


Shell Script -> Bash等のShell
Run Script -> Daemonの起動制御
AppleScript -> OSAX
ActionScript -> Flush
TypeScript -> Web browser
JavaScript -> Web browser
JScript -> WSH(WScript)
VBScript -> WSH(WScript)
PostScript -> 印刷機
VIMScript -> VIM
Drawscript -> Illustrator
AutoCAD Script(Lispとは別) -> AutoCAD
MaxScript -> FinalRender
TeleScript -> MagicCap
NewtonScript -> MessagePad
SQL Script -> OracleDB
Script-Fu -> GIMP

566 :デフォルトの名無しさん:2014/10/04(土) 11:52:55.48 ID:pzA2eR9p
>>552
日帝の残滓が作った言語だから

567 :デフォルトの名無しさん:2014/10/04(土) 13:06:45.32 ID:Tv/g5xxf
>>563
好きな言語をやればいいよ
何がオワコンになるかなんて業界のベテランでも外しまくるんだから
ましてこのスレにいる奴らの見解なんてw

568 :デフォルトの名無しさん:2014/10/04(土) 14:00:56.07 ID:sURg0Bzk
PHPはダントツで普及してるから、そう簡単になくなることはないだろう

569 :デフォルトの名無しさん:2014/10/04(土) 14:32:23.48 ID:nTcA+0A9
>>563
世の中の需要はGoogleのキーワード検索や求人サイトみたら良くわかるよ
PHPはダントツで需要ある、ASP.NETやjspが次点でGoがこれからどうなるかって所

570 :デフォルトの名無しさん:2014/10/04(土) 14:36:10.36 ID:Vt7U2TgV
>>563
複数が安全安心だよ

571 :デフォルトの名無しさん:2014/10/04(土) 18:40:42.25 ID:PeX/vDpI
最も嫌いな言語はJavaScript
最も簡単なのはPHP
学ぶ気すら起きないのはPerl
数年俺のメインはPython

572 :デフォルトの名無しさん:2014/10/04(土) 19:18:18.97 ID:BSQAStrV
>>563
JavaとJavascript

573 :デフォルトの名無しさん:2014/10/04(土) 19:29:16.41 ID:NFWtJDVP
サーバーサイドなら何言語でもいい。
JavaとかPHPが流行ってるのは汎用性があって開発の手間が減るからにすぎない。
コボルでもフォートランでもPascalでもベーシックでもいい。
クライアント側にJavaとかPHPなどと同じ応答を返せばいいだけだ。

574 :デフォルトの名無しさん:2014/10/04(土) 19:54:26.57 ID:BSQAStrV
>>573
じゃ、両方Javascriptで。

575 :デフォルトの名無しさん:2014/10/04(土) 19:55:26.29 ID:vkm/NTXC
>>555
最後の SeaSide なんてフレームワークにしか触れられない時点で、
>>553 の主旨には反論できません」と敗北を認めたも同然だな

というか、>>553 が書かれたこのスレの part1 が2011年で
それからおよそ3年が経過しようとしているのに、
未だに Python から Rails を越えるフレームワークが登場ないのはナゼ?
世界中にいる優秀な Python プログラマ達をもってしても、
Webアプリ開発フレームワークの舞台では Ruby に勝ち目がないってことだよ


>>564
「Web と スマフォ」の未来は Ruby で決まりだ
手続き型言語の Python は、「非プログラマな数値計算やデータ分析」と
「プログラミング初心者向けの教育」の分野で頑張ってくれ
どちらも重要な分野であるのは事実だし、ライバルには数値計算だと FORTRAN が
教育では BASIC がいて、「手続き型言語の Python」にふさわしい舞台だね

役割分担できてるんだから喧嘩すんな

576 :デフォルトの名無しさん:2014/10/04(土) 20:02:55.29 ID:bap2QlH4
http://bugrammer.hateblo.jp/entry/2014/10/04/020521

じゃあなんでPythonを辞めるの?
まず一つに、僕自身のスキルと、Pythonを使う人達がドメインとするものが、あまりにもかけ離れていたというのが現状にあります。
実際に、djangoで受託を行っていた会社を辞め、Pythonを利用した各社に対して転職活動を行ったのですが、
何処も書類選考までは通るのですが、自分のスキル上、面接で落とされることが多く、Pythonが好きであることと、
飯を食うことというのは一致しないという時期がありました。
元々、Pythonというのはどちらかといえば研究開発に近い側面に強い印象があります。例
えば、Numpy、Scipy、そしてDeep Leaningなど、それらはコンピュータサイエンスに近い人間ほど、その力を発揮するかと思います。
しかし、僕自身はそういう素養がなく、単純にWebベースのアプリケーションを作りたい人間であり、たまたまPythonという言語が性にあっていた。
Pythonの素晴らしいところは、出来るだけ黒魔術やメタプログラミングを避ける傾向にあるかと思います。
確かにその欠点は冗長性につながりますが、逆にそれは見通しのいい、初心者にやさしいコードになるという側面は疑い得ません。
しかし、やはり自分のように30代でかつWebサービスの経験も浅い、性格的にも破綻しているような人間が、
Pythonを利用して飯を食っていくというのは厳しいものがありました。それはPythonを利用する会社の絶対量が少ないというのもありますし、
逆にPythonを使う会社というのは、スキルの高い会社で、自分のような人間は足切りされてしまうのが現状なのではないかと率直に思います。
Pythonの言語が云々ということではなく、ただ単純に自分のスキルが足りなく、また人材としても魅力的ではなかった。
実際、自分は性格的に破綻しているという自覚もあります。ただ、それだけの話です。だからPythonは悪くない。


そしてRubyへ
というわけで、恐らくこの一年間は暫くRubyを勉強することに注力しようと思っている。
Ruby自体は「いい言語」だとは思うけれど、性に合わないところはいくつかある。もちろん、嫌いじゃない言語だよ。
ただ、俺としてはPythonのほうが性にあっている。それだけ。だからどっちがいいとか、悪いとかではない。

577 :デフォルトの名無しさん:2014/10/04(土) 20:13:08.44 ID:ywWSNZBS
>>575ってRubyスレで
pythonとkivyについて間違ったこと書き散らして
論破されて逃亡したヤツ(=886)でしょ?


Rubyについて Part49
http://peace.2ch.net/test/read.cgi/tech/1382307475/


> 889 :デフォルトの名無しさん:2014/09/25(木) 01:04:04.93 ID:qfpN6oQ4
> 886は頓珍漢な長文を書くヒマがあるなら
> マニュアルをちゃんと読むか、実際にコード書いてみた方が良いんじゃない?
>
> まあ、それが出来る程度の知能すら無いから
> スレ違いの話題を続けるんだろうけど
>
> 890 :878:2014/09/25(木) 02:07:09.58 ID:V6wADNU+
> >>886
> もう一度言うよ
> そもそもpythonやkivyが分かってないんじゃない?

578 :デフォルトの名無しさん:2014/10/04(土) 21:46:07.48 ID:vkm/NTXC
>>577
結局、>>553,575 には何一つ技術的な反論もできない、
つまり Web の舞台で Python は雑魚であること認めたってことね

それでは「Web と スマフォの未来」について、「Web」については結論が出たから、
ご要望に応えて Ruby スレでやり残した「スマフォ」の話を続けでみよう
まず、Ruby スレでの「Kivy は GUI レイアウトの動的変更ができない」という指摘が
間違いであったことを認める(Python は専門じゃないんで、まあ間違える事はある)

(* 長いので、ここで切る *)

579 :デフォルトの名無しさん:2014/10/04(土) 21:46:46.52 ID:vkm/NTXC
(* >>578 の続き *)

次に >>577 の Ruby スレでは、Kivy について以下の指摘をしている
> 852 名前: デフォルトの名無しさん Mail: sage 投稿日: 2014/09/21(日) 22:22:20.56 ID: 9m2mBLrL
>  ・ プラットフォーム(iOS/Andriod)へのアクセス能力が欠落している
>    もしも本格的なアプリ開発を目指すなら、プラットフォームへのアクセス能力は必須になる
>    たとえばiOSアプリならば CoaData や iCloud への対応は必然的に要求される
>    けれども Kivy にはこの能力が欠落しているから、用途はゲームアプリ開発等に限定される

これに関しては、以下の短い反論があっただけ
> 887 名前: デフォルトの名無しさん Mail: sage 投稿日: 2014/09/24(水) 23:51:46.29 ID: oJjoUkRq
>  ついでにPlatform固有のAPIには(たとえばiOSなら)Pyobjusを使ってアクセスする。

Pyobjus について調べてみたけど、まともに使えるのは Foundation フレームワークだけで、
AppKit についてはインポートは可能みたいだけどサンプルコードすら見当たらない
iOS 上での開発なら CoreMotion/CoreData/iCloud サポートは必須だと思うけど、Pyobjus で可能なの?
たとえばゲーム開発で加速度を取得するのに、Pyobjus では CoreMotion とのブリッジコードを
「いちいち Objective-C で書かなければならない」みたいだ
・Pyobjus on iOS -- GitHub
  https://github.com/kivy/pyobjus/blob/master/docs/source/pyobjus_ios.rst
これでも Python レベルでは「Pyobjusを使ってアクセス」できるとして満足していることに驚かされる
これが RubyMotion だと CoreMotion マネージャオブジェクトは
    @motion_manager = CMMotionManager.alloc.init
と書くだけで生成できるんだけど、いったいぜんたい何なの、この技術格差は?

580 :デフォルトの名無しさん:2014/10/04(土) 22:01:20.35 ID:wMiSiXLA
>>575
数値計算のライバルはMATLABとかRだよ
FORTRANはラップする側される側の関係

あと教育現場のライバルはSchemeだよ
お前が通ってたFランはBasicかもしれんがね

581 :デフォルトの名無しさん:2014/10/04(土) 22:08:35.14 ID:ywWSNZBS
>>579
これでOK
ちゃんとマニュアル読んだ?

CMMotionManager = autoclass('CMMotionManager')
motion_manager = CMMotionManager.alloc().init()

582 :デフォルトの名無しさん:2014/10/04(土) 22:16:37.69 ID:wMiSiXLA
RubyMotionはCRubyのgemsが使えないのがウンコ

583 :デフォルトの名無しさん:2014/10/04(土) 23:14:17.63 ID:vkm/NTXC
>>581
AppKit 等のフレームワークのロードだけなら autoclass 関数で可能なのは >>579 で書いた
でも肝心なフレームワークのオブジェクトをアクセスする方法に関する解説 or サンプルが見当たらない
見つかったのは >>579 のリンク先で書かれていた以下のコードだけど、これは幻覚?

def run():
  Bridge = autoclass('bridge')
  br = Bridge.alloc().init()
  br.motionManager.setAccelerometerUpdateInterval_(0.1)
  br.startAccelerometer()

あと、>>579では「(手書きで)いちいち Objective-C で書かなければならない」と書いたけど、
これは間違いで CoreMotion であれば Kivy 側でブリッジコードを用意してくれるみたいだね
でも、(AppKit や CoreData等の) CoreMotion 以外のフレームワークへのアクセスに関しては、
以下のような記述がある

You can add additional bridge methods to your pyobjus iOS app, just change content of bridge.m/.h files, or add completely new files and classes to your xcode project, and after that you can consume them with pyobjus, on the already known way.

結局、bridge.m/.h ファイルを手書きでゴリゴリ編集しなければならないように読めるけど、これも誤読かな?
というか、そもそも RubyMotion ならブリッジそのものが不要なんだけど....

584 :デフォルトの名無しさん:2014/10/04(土) 23:39:10.94 ID:ywWSNZBS
>>583
それは只のサンプルコードで、Objective-Cのコードと連携する方法を説明してるだけ
フレームワーク呼び出し以外は全部Pythonで書きたかったら好きにすれば良い
CythonもあるからObjective-Cとの連携はそっちでも取れるしな

ていうか、そのサンプルでユーザ定義のObjective-Cクラスがロードできるんだから
任意のクラスが(パスさえ通ってれば)ロードできることくらい分かれ

585 :デフォルトの名無しさん:2014/10/05(日) 00:21:45.69 ID:8uTJOzcq
>>584
> 任意のクラスが(パスさえ通ってれば)ロードできることくらい分かれ

そんなことはすでに理解している(つもりだ)けど、>>583 を読んで分からなかったの?

で、>>581の方法で生成した CoreMotion オブジェクトをアクセスするサンプルコードは
(>>579 のリンク先文書の他には)どこにあるの?
それとも、あとは自分で Objectiv-C のリファレンス文書(英語)を読んで
好きにプログラミングしなさいってのが、Python 初心者に対する教育指針なのかな?
なんともすばらしいねえ、さすが Python プログラマはよく調教されている(棒

Ruby プログラマなんて、こんなチュートリアル(日本語)を読んで始めるのが普通だから、ついていけませんわ

・RubyMotion Tutorial: Ruby で iOS アプリを作ろう
  http://tutorial.rubymotion.jp/

結局、
「Kivy だと、ゲーム以外のフレームワークを利用するには、
  Objective-C のブリッジコードを手書きでゴリゴリ書かなきゃならない」
って話は、Python の自称プロでも認めざるをえないってことかぁ....
そもそも Ruby だと Cocoa フレームワークへの「ブリッジレス」なアクセス技術は
2008年に発表された MacRuby で確立していたから、Python の対応は少なくとも6年遅れになる

まあ、Kivy がゲームプログラミング初心者には最適な軽量フレームワークなのは事実だし、
「手続き型言語のPython」には「プログラミング初心者の教育」という舞台がふさわしい
つまり「Webとスマフォの未来」に関して、到底 Python は Ruby に勝ち目が無いという当然の結論になったね

586 :デフォルトの名無しさん:2014/10/05(日) 09:03:48.36 ID:PhGGBuX4
ところでRubyの後方互換の問題はどうなったの?
ISO化したらしいけど、今後も後方互換は保障されないのかな

rubyにしたいけど、それが解決してないと話にならない

587 :デフォルトの名無しさん:2014/10/05(日) 10:38:11.04 ID:a0dwa85V
>>585
> そんなことはすでに理解している(つもりだ)けど、>>583 を読んで分からなかったの?

> Objective-C のブリッジコードを手書きでゴリゴリ書かなきゃならない」

分かって無いじゃん

588 :デフォルトの名無しさん:2014/10/05(日) 10:40:21.24 ID:a0dwa85V
> そもそも Ruby だと Cocoa フレームワークへの「ブリッジレス」なアクセス技術は

その代償が>>582ですよ
全くもってゴミですよね

589 :デフォルトの名無しさん:2014/10/05(日) 13:37:24.72 ID:ktqu8y2s
>>586
ISO化されたのは大昔の化石バージョンの仕様
言語そのものが規定されたわけじゃない

590 :デフォルトの名無しさん:2014/10/05(日) 15:26:39.33 ID:XTB08jeJ
頭悪w
死ねやお前らw

591 :デフォルトの名無しさん:2014/10/05(日) 17:02:42.97 ID:XrIDkgzN
まーたトットリニップが暴れてるのか

592 :デフォルトの名無しさん:2014/10/05(日) 19:22:38.20 ID:aVbSVb3w
スマホの世界シェアの85%がAndroidなんだから、
スマホの未来はJavaと共にあるよ

593 :デフォルトの名無しさん:2014/10/05(日) 19:34:08.81 ID:e3IJDrLs
2、3年前はiPhoneと拮抗してた気がしたが、これがライセンスフリーの力か

594 :デフォルトの名無しさん:2014/10/05(日) 20:03:46.40 ID:2UENZX3o
>>592
電卓

595 :デフォルトの名無しさん:2014/10/05(日) 20:06:44.40 ID:8uTJOzcq
>>587
> You can add additional bridge methods to your pyobjus iOS app,
> just change content of bridge.m/.h files,
> or add completely new files and classes to your xcode project,
> and after that you can consume them with pyobjus, on the already known way.

Python プログラマなら英語くらい読めるだろ

596 :デフォルトの名無しさん:2014/10/05(日) 20:19:10.76 ID:2UENZX3o
負けを認めたから話しすり替えた?(笑)

597 :デフォルトの名無しさん:2014/10/05(日) 21:49:29.76 ID:8uTJOzcq
>>596
そう、このスレの自称Pythonプロは、
 英語も読めずに知ったかぶりをしてPython初心者にも負けたことを認めた、
ってこと?(笑

598 :デフォルトの名無しさん:2014/10/05(日) 22:12:52.38 ID:a0dwa85V
We have added bridge class, with this purpose, to implement handlers inside pure Objective C,
and then we call methods of bridge class so we can get actual data.

という理由で、あえて冗長にObjective-Cのbridgeを書いてる例なんだけどね(英語読めてる?)
ちゃんとメソッドやメンバに直接アクセスしてるコードがあるだろ
Objective-Cを使うだけならbridgeを手で書く必要なんてない

いったい何故bridgeを手でごりごり書くなんて結論になったのか説明しろよ

599 :デフォルトの名無しさん:2014/10/05(日) 22:25:42.84 ID:a0dwa85V
もちろんPythonがObjective-Cにコンパイルされるわけじゃないから
bridgeを書くケースもあるが、そんな大した分量にはならない
その代わりにCPythonのpypiライブラリが使えるってことを無視するなよ
トレードオフなんだよ

600 :デフォルトの名無しさん:2014/10/06(月) 00:09:39.25 ID:CQl8idGZ
>>598
その英文の直前に以下の記述があるけど、わざと無視しているのかな?

> Currently you can't implement this handler from pyobjus, so that may be a problem.
>
> But, we have also solution for this.

翻訳してみると:
 「現状だと問題(problem)が起こるかもしれないので、
  このハンドラ(handler)を pyobjus では実装(implement)できない。
  けれども、これには解決手段(solution)もある。」
で、その解決手段というのが、>>598 の「ブリッジに Objective-C コードを手書きでゴリゴリ書く」ってこと

つまり全部 Python だけで書いても、一部を Obj-C で書いても全く同じ事ができる訳ではなく、
全部 Python で書くと問題があるから、しかたなく Obj-C コードを書かざるをえない、
という意味に解釈したけど、間違っているのかな?
もし間違っているのなら、Python だけで CoreMotion ハンドラを書いたサンプルコードを示してもらいたいね

RubyMotion ならハンドラだろうがなんだろうが、全部 Ruby だけで書けるんだけどなあ....
・rubymotion/BubbleWrap -- GitHub
  https://github.com/rubymotion/BubbleWrap


>>599
RubyMotion のように、「全部 Ruby で書いても一部を Obj-C で書いても同じ事ができるけど、
アクションゲームのように体感性能が重視される開発では Obj-C でゴリゴリ書くこともできる」ならば、
それを「トレードオフ」と呼べるけど、
Kivy with Pyobjus のように、「全部を Python では書けないから、しかたなく Obj-C で書かなければならない」
という状況を「トレードオフ」と呼ぶのは、間違っているんじゃないかなあ....

601 :デフォルトの名無しさん:2014/10/06(月) 00:59:05.60 ID:SaQmb5eo
> 「全部を Python では書けないから、しかたなく Obj-C で書かなければならない」
ラッパー被せりゃいい話。
LLを組込むケースを考えてみればいい
バインダ込みの言語もあればそうでないものもある
その違いで優劣はないし瑣末な問題だよ
自由を与えられた奴隷の考えに通じるね。

602 :デフォルトの名無しさん:2014/10/06(月) 07:06:24.37 ID:+EFKhnQR
プププのプw
プププのプw

603 :デフォルトの名無しさん:2014/10/06(月) 08:55:19.54 ID:qWdV2q41
どこかで論破されたRuby厨が騒いでるだけか

604 :デフォルトの名無しさん:2014/10/06(月) 11:57:42.56 ID:DaOiROEZ
論破(笑)

605 :デフォルトの名無しさん:2014/10/07(火) 22:14:28.95 ID:KzNWKz7K
トットリニップスw

606 :デフォルトの名無しさん:2014/10/07(火) 23:28:12.66 ID:7LrCT+Kb
>>601
>ラッパー被せりゃいい話。

だから Kivy ではラッパーで包むブリッジコードをObj-Cでゴリゴリ手書きしなければならないって話だよ
Kivyドキュメントにはしっかり「(Pyobjusでは)ハンドラを実装できない(>>600)」と明記されているのに....

こちらは >>598 の要望に応えて >>600 で説明したのだから、今度はこちらが要望する:

 いったい何故bridgeを全部Pythonだけで書けるなんて結論になったのか説明しろよ

>LLを組込むケースを考えてみればいい
>バインダ込みの言語もあればそうでないものもある
>その違いで優劣はないし瑣末な問題だよ

まずここで議論しているのは Kivy なのだから、一般的なLL組込みの想定は「話のすり替え」ではないのかな?

あえて言えば、Kivy の致命的欠陥はドキュメントにある「問題が起こるかもしれない(>>600)」の部分だ
つまり kivy 作者本人ですら Python でハンドラを書いた時に問題が起こる発生条件を定義して文書化できていない
結局、新規にあるフレームワーク対応に挑戦するたび、問題発生の有無を一つ一つ手探りで確認する必要がある
憶測になるが、Kivy作者が問題無しと判断できたのは単純なFoundationだけで、CoreMotionを含む複雑な
フレームワークでは問題の発生条件を把握できていないから、GitHub のサンプルコード群が空っぽなのだろね

RubyMotion ではそんな問題は起きないのに、それでも「その違いで優劣はないし瑣末な問題だよ」と言えるのだから、
Python プログラマとは本当によく調教された奴隷だと思う

>自由を与えられた奴隷の考えに通じるね。

ああ、この箇所については同意するよ
Python という奴隷の環境に慣れ過ぎると、驚いた事に自分の足を繋いでいる「手続き型」という鎖の自慢を始める
そして「手続き型」という鎖に繋がれていない自由な Ruby を嘲笑さえする
そして奴隷はどこまでも奴隷に過ぎない

607 :デフォルトの名無しさん:2014/10/08(水) 08:26:11.99 ID:Tjq207Zk
RubyMotionが優位らしいけど、実際に話題になっているのはKivyのようだね
https://www.google.co.jp/trends/explore#q=RubyMotion, Kivy&cmpt=q

608 :デフォルトの名無しさん:2014/10/08(水) 14:08:07.16 ID:vDUa8S4h
どうやら検索結果だけが心の支えのようだ

609 :デフォルトの名無しさん:2014/10/08(水) 21:12:15.09 ID:b9Zu08Nt
結局Rubyの後方互換問題は解決してないってことでOK?
みんなそれでも対応しているのって、凄いね

1.9.3 を使い続けるという選択肢はありなんだろうか

610 :デフォルトの名無しさん:2014/10/08(水) 22:11:05.08 ID:vDUa8S4h
おまえの中ではOKなんじゃね?
誰もおまえの要求してる互換性がどの部分なのか知らねぇんだし。

611 :デフォルトの名無しさん:2014/10/08(水) 23:34:47.55 ID:Df1+rkDp
>>609
>結局Rubyの後方互換問題は解決してないってことでOK?

Ruby の後方互換性問題は拡張ライブラリの実装仕様くらいしか思いつかないけど、他に何かあったかな?

ああ、スクリプトのエンコーディング指定にマジックコメントを強制するという糞仕様のことかな?
たしかに 1.9 との後方互換性を保証するには、糞仕様を取り除いた 2.x でもマジックコメントを
書かざるをえないから、後方互換問題が解決していないのは事実かもしれないねえ....(棒

え、いまだにマジックコメントを強制していて、しかもそれを自慢する奴隷がいるって?
まあ奴隷には奴隷なりの哲学があるんだろうし、奴隷はどこまでも奴隷だからしかたないんじゃないかなあ...(棒


>みんなそれでも対応しているのって、凄いね

少なくとも某手続き型言語のように、print文が関数になるという構文レベルの仕様変更や、除算という
基本演算子の意味が変更されてしまうといった、後方互換性を致命的に喪失するような仕様変更は記憶に無い
まあ、バージョン 3.0 の登場が2008年なのに6年を経過した今でも旧 2.7 からの移行問題でネットで議論が
大きく盛り上がれるほど、Ruby には後方互換性の話題が乏しいから、うらやましいなあ....(棒


>1.9.3 を使い続けるという選択肢はありなんだろうか

もともと 1.9 は YARV 実装の実証試験という大きな目的があった訳で、
2.x 系が登場した今、1.9.3 の果たした役目は終わったと考えていいのではないのかと思われ
まあ、2.0 にしても言語仕様に大きな変更は無くて内部の実装を整理することに主眼が置かれていて、
しかも Matz も今後言語仕様が大きく変更されることはないと語っている訳で、
今後も後方互換性の乏しい状況が続くことが容易に予測できるから、退屈でつまらないよねえ....(棒

それにひきかえ某手続き型言語は今頃になって後方互換性を失うような根幹的な仕様変更が為された訳で、
次の 3.5 や 4.0 でも新しいちゃぶ台返しが待っているだろうから後方互換性ネタに事欠くことはなさそうだ
いやあ、議論が盛り上がれるネタの充実している言語が、まったくもってうらやましいよなあ....(棒

612 :デフォルトの名無しさん:2014/10/09(木) 00:09:49.73 ID:kebIao6D
>>606
だから必要に応じてラッパー被せりゃいい話じゃん。

613 :デフォルトの名無しさん:2014/10/09(木) 00:34:43.47 ID:O2y6rmeM
>>611
某言語の何が問題なの?
過去の資産の活用なら変換スクリプトあるし。
変なことかかない方がいいよ

614 :デフォルトの名無しさん:2014/10/09(木) 05:59:06.61 ID:A7b/lmxq
今から新規でやるなら、RubyとかPythonじゃなくて、もっとモダンな言語を選択した方がいいだろうな

615 :デフォルトの名無しさん:2014/10/09(木) 08:23:35.47 ID:XWUvY1//
PerlとかAwkですかね

616 :デフォルトの名無しさん:2014/10/09(木) 09:33:05.03 ID:WDpcud9E
るびぃしねw

617 :烏有(uyuu) ◆/uuWdTQ106 :2014/10/09(木) 14:18:47.26 ID:UrAfs7LD
壁ドンする癖を直したい

618 :デフォルトの名無しさん:2014/10/09(木) 15:30:03.92 ID:IFg54I5e
手元の壁に画びょうを貼ろう

619 :烏有(uyuu) ◆/uuWdTQ106 :2014/10/09(木) 19:49:16.77 ID:7JkNNmd+
普通にドンするわ


俺が壁ドンするようになったのは高校二年生の時からだったな

学校のコンクリ壁とか思いっきり殴ってたら、少し壁がへこんでた

誰のせいで壁ドンするようになっちゃったんだろう



さっきの壁ドンは、かなり殴り方を失敗してて


痛さが引かない感じだ

一週間は痛いと思う


壁ドンって、グーにして小指のほうでドンだから痛いんだよな

そういう壁ドンじゃなくて、壁を破砕する気で真っ直ぐに壁ガッなら、こういうことにはなってない

ただし上部な壁じゃないとこれは本当に破砕してしまうから、
床ドンはかかと痛くなるし

壁殴り代行が説に欲しい

620 :デフォルトの名無しさん:2014/10/09(木) 21:16:56.99 ID:qw9WkxKn
>>611 は何を一人で言ってるの? なにか勘違いしてる?

621 :デフォルトの名無しさん:2014/10/09(木) 21:44:01.74 ID:VbELXZgl
>>620
具体的に勘違いポイントを挙げてあげると気づくと思うよ

622 :デフォルトの名無しさん:2014/10/10(金) 08:38:21.78 ID:2s4SxNGL
てなかぬめなかてはやらかたや

623 :デフォルトの名無しさん:2014/10/10(金) 16:39:52.39 ID:3/q4BLC1
Windows NTの開発中、気に入らないことがあると壁を殴って穴をあけることもしばしばあった。
そのため、ビル・ゲイツはマイクロソフトのオフィスが穴だらけになるのを恐れて、
コンクリートむき出しの部屋を多く作成した

デヴィッド・ニール・カトラー(David Neil Cutler
- Wikipedia

624 :デフォルトの名無しさん:2014/10/10(金) 16:43:34.55 ID:ZnFlb2T+
- Pythonにサヨナラを
http://postd.cc/saying-goodbye-to-python/

> Pythonでコーディングし始めて1万時間ほどに達したでしょうか。Pasteの教訓からライブラリ設計のヒントを得てWebObを記述しました。(略)
> しかし、なぜか私のツールで最大の成功を収めたのがvirtualenvとpipでした。(略)

> データベースを使ったWebサイトやHTTPベースの動的なWebアプリケーション、テンプレートやデプロイメントといったRESTと呼ばれる部類のものには将来性を感じられず、
> 自分が探し求めてきたものなど存在しないかのようでした。

> こうしてJavaScriptやブラウザやDOMに目を向け始めたのです。
> 私がMozillaに加わったのはPythonから離れる少し前です。

これは既出? 私はこれに完全に同意なんだけど、皆はどう?

625 :烏有(uyuu) ◆/uuWdTQ106 :2014/10/10(金) 19:03:14.69 ID:hRiCQ4nD
「壁ドン」が体験できる「壁ドンカフェ」が話題に!
http://news.2chblog.jp/archives/51806724.html

626 :デフォルトの名無しさん:2014/10/10(金) 21:47:54.66 ID:Llmt3h+M
python好きだけど仕事無いからruby始めたって人が居たけど、
俺も全く同じ理由でruby始めた

627 :デフォルトの名無しさん:2014/10/11(土) 01:00:45.19 ID:7Enc8P3v
仕事でRubyいじってるなら、個人でもRubyやると飽きるじゃん?

628 :デフォルトの名無しさん:2014/10/11(土) 09:03:41.97 ID:y/2VeKBU
俺はRubyがやりたかったけど
父が最初に買ったのが10日ではじめるPythonという本だったので
ずっとPythonやってる
本当はRubyがやりたかった
楽しいけどねPython

629 :デフォルトの名無しさん:2014/10/11(土) 10:14:01.24 ID:+RfzhL5s
>>474
このスレを最初から読みなおしていて、気がついたので書いておきます。>>464
私が書いていますが、この課題もともとツイッター上でジョークとして書いてあった
ものを、私が拾って定義して返したものです。ジョークとして課題が与えられた場合、
1) 大真面目に(構文解析から)キチッと全部書いて、出題者の居心地を悪くさせる。
2) こちらもジョークで答える。
の2つの方向が考えられ、ここでは 2) 演算子の架け替えという絶対に使っては
いけない手を使うという頓智で答えているわけです。

順序としては、>>464のコードは既にあり、>>460の後に>>462で演算子の話題が
出てきたので、演算子を切り替えた解を持つものをさがしてこれを引いてきました。
しかもこれはPascalの擬似コード風でもあるということで。

630 :デフォルトの名無しさん:2014/10/11(土) 13:24:22.67 ID:bB7VEFAD
元来ひねくれものの俺は、
日本では圧倒的にPythonistaよりRubyistが多い
という状況だとRubyを選ぶことができなかった

逆に、Rubyは国産だけど日本では認められず、寧ろ海外でよく使われている、
という状況なら、多少の困難があってもRubyを選んでいた...

俺の悲しい性だヲ

631 :デフォルトの名無しさん:2014/10/11(土) 14:02:59.70 ID:HGcTegWf
>>630
お前D言語とか好きだろ

632 :デフォルトの名無しさん:2014/10/11(土) 14:20:39.40 ID:Q4QRH68m
prologおじさん、呼ばれてないところでは長文書かない方が良いと思うよ

633 :デフォルトの名無しさん:2014/10/11(土) 15:05:15.32 ID:oD37Hh5X
このスレだし良いじゃないw

634 :デフォルトの名無しさん:2014/10/11(土) 15:33:22.47 ID:+RfzhL5s
>>632
終日140字で苦しんでいるから、たまに2ch来ると伸び伸び。

635 :烏有(uyuu) ◆/uuWdTQ106 :2014/10/11(土) 18:18:00.09 ID:fozbFsv6
壁ドン好きだけど壁無いから床ドン始めたって人が居たけど、
俺も全く同じ理由で床ドン始めた

636 :烏有(uyuu) ◆/uuWdTQ106 :2014/10/11(土) 18:19:14.24 ID:fozbFsv6
俺は壁ドンがやりたかったけど
父が最初に買ったのが10日ではじめる床ドンという本だったので
ずっと床ドンやってる
本当は壁ドンがやりたかった
楽しいけどね床ドン

637 :デフォルトの名無しさん:2014/10/11(土) 18:25:05.36 ID:9vsymaaR
>>630
たのしいRuby、第4版、2013

そんな大層な話なの?w
1つ言語を知っているのなら、すぐ読める

638 :烏有(uyuu) ◆/uuWdTQ106 :2014/10/11(土) 18:30:11.90 ID:fozbFsv6
何が楽しいと思うかは人それぞれなので
難しいとか簡単って問題じゃないんだよなぁ

639 :デフォルトの名無しさん:2014/10/11(土) 23:30:07.62 ID:XQfOr6km
絶滅しそうなプログラミング言語は?

新しいプログラミング言語が人気を得ると、古いプログラミング言語は人気を失いつつも使われ続けるか、死んでいくことになる。
Dice Newsの記事では、死んでいくと予想される5つのプログラミング言語を、最後に書くプログラム「Goodbye, World」のサンプル
コードとともに紹介している。
本家/.「Goodbye, World? 5 Languages That Might Not Be Long For This World」より
http://developers.slashdot.org/story/14/10/09/1453237/goodbye-world-5-languages-that-might-not-be-long-for-this-world

死んだテクノロジーのゴミ箱行きになると予想されるのは、どのプログラミング言語だろうか。Perl 6の開発状況を考えると、
Perlは素晴らしい候補者だ。Perl 6は言語の完全な刷新を目指して2000年に設計が始められたものの、開発は遅々として進んでいない。

RubyやVisual Basic .NET、Object Pascalは一時的に人気を獲得したが、死んでいくプログラミング言語リストの上位を占めている
といえる。開発結果に問題があるか、産業が方向性を変えるか、特定の言語が時代遅れとなる時はいずれやってくる。皆さんは、どの
プログラミング言語が近いうちに絶滅すると考えるだろうか。

このほかDiceの記事では、Adobe FlashとAdobe AIRで使われるActionScriptを候補に挙げている。ActionScriptは実質Flash/AIRでしか
使われていないため、これらの技術が使われなくなれば専用のプログラミング言語も消えていくという話だ。なお、本家/.編集者の
timothy氏は、COBOLが今でも生き残っていることを考えると、PerlやRubyが死につつあるという主張を真剣にとらえることはできないと指摘している。
http://developers.slashdot.jp/story/14/10/10/2155216

---
5 Programming Languages Marked for Death
http://news.dice.com/2014/10/09/5-programming-languages-marked-for-death/
詳細ソース

・Perl
・Ruby
・Visual Basic.NET
・Adobe Flash and AIR
・Delphi’s Object Pascal

640 :デフォルトの名無しさん:2014/10/11(土) 23:37:03.71 ID:OjXLMr3p
>>639
P言語ではPythonの1人勝ちで確定か

641 :デフォルトの名無しさん:2014/10/12(日) 00:51:36.68 ID:EtzXik07
RubyはRailsのバージョンアップで作り直しになるときに捨てられる気がする

642 :デフォルトの名無しさん:2014/10/12(日) 01:01:37.88 ID:Qh8IWB8f
>>641
RailsってRubyがなくてもやってけるの?

Ror言語とかやられたら確かに終わりそうwww

643 :デフォルトの名無しさん:2014/10/12(日) 01:33:13.56 ID:ElJnU/0K
まぁないわな

644 :デフォルトの名無しさん:2014/10/12(日) 02:03:58.84 ID:2D7VEq3z
Delphiは、コンパイルが高速だ。その強烈な印象をうけた。
理由は、しらない(最適化してないからなのか?)

初心者にとっては、Delphiでexeを構築する(ビルド)のも簡単なきがする。

645 :烏有(uyuu) ◆/uuWdTQ106 :2014/10/12(日) 04:50:36.18 ID:iENiuObx
ドアドンは、家族の反応が高速だ。その強烈な印象をうけた。
理由は、しらない(音がうるさいからなのか?)

壁ドン初心者にとっては、ドアドンで憤りを表現する(representation)のも簡単なきがする。

646 :デフォルトの名無しさん:2014/10/12(日) 07:57:19.76 ID:j5jhSN7O
Railsが頻繁にバージョンアップしてらその度にコード書き直しになる
だったらもう別の言語で書き直せばいいや

647 :デフォルトの名無しさん:2014/10/12(日) 10:38:30.55 ID:LjQH95WZ
>>644
Delphi が速いというより C++/C が異常に遅いだけ あれは欠陥と断言できるレベル

648 :デフォルトの名無しさん:2014/10/13(月) 01:49:30.43 ID:jOfyS9fg
絶滅しそうなプログラミング言語は?
http://developers.slashdot.jp/story/14/10/10/2155216/

日本のスラド住民ってRubyファンが多いのかな、と思ったらRubyの将来に悲観的というか、
結構アンチも多いのが意外だった。

649 :デフォルトの名無しさん:2014/10/13(月) 04:21:36.78 ID:yxlKL2Q7
>>648
スラドのどの発言がアンチRubyなの?

650 :デフォルトの名無しさん:2014/10/16(木) 11:38:48.61 ID:O1qykKyv
<?php

$i = 1;
for($i = 1; $i <= 100; $i++){

$fizz = $i % 3;
$buzz = $i % 5;

if($fizz == 0 and $buzz == 0){
print "FizzBuzz";

}elseif($fizz == 0){
print "Fizz";

}elseif($buzz == 0){
print "Buzz";

}else{
print $i;

}

print("\n");

$fizz = null;
$buzz = null;

}

?>

651 :デフォルトの名無しさん:2014/10/16(木) 11:40:45.94 ID:O1qykKyv
これどうでしょうか?

652 :デフォルトの名無しさん:2014/10/16(木) 22:22:56.65 ID:2qVozzEa
てかもう、オタクも一般人もnode.jsしか使わないよ?

653 :デフォルトの名無しさん:2014/10/16(木) 22:27:00.44 ID:XqcPlrDW
>>652
https://www.google.co.jp/trends/explore#q=node.js%2C%20php%2C%20python%2C%20ruby&cmpt=q

node.js なんてほとんど誰も使ってない、という方が正しい

654 :デフォルトの名無しさん:2014/10/16(木) 22:38:05.76 ID:OHTiH13g
すごいなこのデータ

phpの激減り分は一体どこに行ったんだろ

655 :デフォルトの名無しさん:2014/10/16(木) 22:48:17.71 ID:YO/psvES
言語と実装はわけろ。
node.jsだけ言語でなく比較がダメだ。

656 :デフォルトの名無しさん:2014/10/16(木) 23:40:02.99 ID:lcx469S3
>>655
言語とフレームワークで人気度を描いてみた
(PHP は代表的なフレームワークを知らないので除外した)

動向をみると、Rails は2007年前後の熱狂的な人気は落ち着いてきていることが分かる
とはいえ他と比較すれば圧倒しているので、この先の数年で人気が逆転することは考えにくい

また地域別でみると面白い傾向がある
・node.js:インド、アメリカ合衆国、日本、カナダ、ドイツ、イギリス、フランス
  ==> インドおよび(いわゆる)先進国で人気
・Django:ロシア、ウクライナ、中国、大韓民国、チェコ共和国、フィンランド、インド
  ==> 露中韓で人気、インドでは(ナゼか)それほど人気がない
・Rails:インド、ベラルーシ、アメリカ合衆国、ラトビア、エストニア、シンガポール、日本
  ==> インドおよびアメリカ合衆国で人気、日本ではとりわけ大人気というわけでもない
ざっくりと「インドに好かれる node.js & Rails と 露中韓に好かれる Django」という傾向が見える

657 :デフォルトの名無しさん:2014/10/17(金) 08:23:41.05 ID:kwa4KqRM
webのフロントエンドなんて底辺の仕事だから
インドや中韓に流れてるよね

658 :デフォルトの名無しさん:2014/10/17(金) 09:08:23.04 ID:O3Ha9Xaq
Rubyは滅びそうだ、って10年くらい言い続けてる奴って、自分のその行動自体が矛盾だと、
いつ気づくのかなw 一生気付かないのかなw

659 :デフォルトの名無しさん:2014/10/17(金) 09:44:19.70 ID:zL0+W46J
Railsでしか使われてない
ウェブアプリの寿命は短く、数年でリプレースが起きる
Railsは互換性が低く、追随するにはプログラムの大幅な書き直しが要求される
そのタイミングでRuby離れが起きうる

660 :デフォルトの名無しさん:2014/10/17(金) 11:48:10.65 ID:HHaE9RjF
正直RailsはRuby製なだけで別物な感じがするよ
Ruby自体は良くも悪くも、そんなに変わってない
Rails離れが起きて離れるのはRailsのためにRuby入れてた層で
Ruby本体を使う層は良くも悪くも低空飛行で使い続けるかと

661 :デフォルトの名無しさん:2014/10/17(金) 17:46:15.04 ID:O3Ha9Xaq
> 起きうる

可能性の話だけしかできない奴w

662 :656:2014/10/17(金) 20:54:14.69 ID:j5u0ESS9
いけね、かんじんの URL を忘れていたぜw

https://www.google.co.jp/trends/explore#q=javascript%20node.js%2C%20python%20django%2C%20ruby%20rails&cmpt=q

--
>>655
言語とフレームワークで人気度を描いてみた
(PHP は代表的なフレームワークを知らないので除外した)

動向をみると、Rails は2007年前後の熱狂的な人気は落ち着いてきていることが分かる
とはいえ他と比較すれば圧倒しているので、この先の数年で人気が逆転することは考えにくい

663 :デフォルトの名無しさん:2014/10/17(金) 21:18:48.72 ID:x3Lm0zS6
なんだか冷戦を思い出した

西側諸国はWeb系(js,ruby)重視
東側は全般?

ってことなのか???

664 :デフォルトの名無しさん:2014/10/17(金) 22:54:28.01 ID:mExlA8xJ
>>657
海外投げるまでもなくね?

>>662
PHPは、zend framework, cakephp, symphony,辺りで、
最近は、symphonyの上に出来たlaravelが普及してる
PHPの急降下って、ほぼ確実にnodejsの影響だよね。

>>663
共産主義の規律で固められた国がpyhon。自由主義の国がRuby

665 :デフォルトの名無しさん:2014/10/17(金) 23:00:30.97 ID:mExlA8xJ
先進国でnodejsが流行るのは、経済的な合理主義を突き詰めるからなんだろうね
だけど、本当に賢い人達はhaskell,ocaml以外には手を出さないだろうね

666 :デフォルトの名無しさん:2014/10/17(金) 23:08:03.86 ID:HOcKtfcP
Haskellを使えるようになると
Rubyなんて臭すぎて見るのも嫌になる

667 :デフォルトの名無しさん:2014/10/17(金) 23:08:37.55 ID:mZsnpkx1
> PHPの急降下って、ほぼ確実にnodejsの影響だよね。
なわけあるかい
node.js の上昇度は PHP の下降度に比べればはるかに小さい

668 :デフォルトの名無しさん:2014/10/17(金) 23:13:54.01 ID:mExlA8xJ
>>667
え?他にどんな理由あるの?
webアプリがメインになったときに、PHPは対して魅力的でないじゃんね。
Javaを除けば、他の候補なんてRailsぐらいしかないんだから、
Railsに以降してないならnode.jsの影響だって。
皆、meteorやmeanのようなfull stackなものに興味津々なんでしょ?

669 :デフォルトの名無しさん:2014/10/17(金) 23:15:32.46 ID:mZsnpkx1
>>668
まず事実から見よう
>>653 のリンクの通り、現在でもnode.jsの地位ははるかに小さい
そこを前提にしない限り、話はいつまでたっても噛み合わない

670 :デフォルトの名無しさん:2014/10/17(金) 23:19:20.55 ID:mExlA8xJ
そのリンク先の数値って、アントレプレナーが技術を試す上で役に立たないよね?
現実のWebAPIは、どこも彼処もjavascript。残念だけど。

671 :デフォルトの名無しさん:2014/10/17(金) 23:21:13.35 ID:mZsnpkx1
>>670
事実は事実
違うというならそれを客観的に証明しないと議論は始まらない
ということで客観的な証明よろ

672 :デフォルトの名無しさん:2014/10/17(金) 23:25:25.16 ID:mExlA8xJ
>>671
その資料って、誰が使ってるか明記されてないし、
rubyとpythonがプログラム言語かその他の何か分からないじゃんね

673 :デフォルトの名無しさん:2014/10/17(金) 23:26:38.94 ID:mExlA8xJ
https://www.google.co.jp/trends/explore#q=node.js%2C%20php%20program%20language%2C%20python%20program%20language%2C%20ruby%20program%20language&cmpt=q

674 :デフォルトの名無しさん:2014/10/17(金) 23:27:30.59 ID:mZsnpkx1
>>672
人の出した資料にケチをつける前に自説を証明する資料を出そう

675 :デフォルトの名無しさん:2014/10/17(金) 23:28:26.07 ID:mZsnpkx1
>>673
https://www.google.co.jp/trends/explore#q=node.js%20program%20language%2C%20php%20program%20language%2C%20python%20program%20language%2C%20ruby%20program%20language&cmpt=q

比較するなら公平にな

676 :デフォルトの名無しさん:2014/10/17(金) 23:30:37.56 ID:mExlA8xJ
https://www.google.co.jp/trends/explore#q=node.js%2C%20php%20programming%2C%20python%20programming%2C%20ruby%20programming&cmpt=q
個人的な体感に近いのが此のグラフ。node.jsの普及間がピッタシ

677 :デフォルトの名無しさん:2014/10/17(金) 23:31:37.82 ID:mZsnpkx1
>>676
https://www.google.co.jp/trends/explore#q=node.js%20programming%2C%20php%20programming%2C%20python%20programming%2C%20ruby%20programming&cmpt=q

比較するなら公平に、な

678 :デフォルトの名無しさん:2014/10/17(金) 23:33:20.87 ID:mExlA8xJ
>>675
node.jsと言われて、programming languageを一緒に付随させることがないから
node.js = programming languageの認識だから

679 :デフォルトの名無しさん:2014/10/17(金) 23:34:49.39 ID:mZsnpkx1
>>678
python や ruby もわざわざ programming を付けて検索することなんかほぼないよ

680 :デフォルトの名無しさん:2014/10/17(金) 23:35:38.67 ID:mExlA8xJ
>>679
あるよ。monty pythonなのか、蛇なのか、宝石なのか、レズビアン雑誌なのか分からないじゃんね

681 :デフォルトの名無しさん:2014/10/17(金) 23:37:24.53 ID:mZsnpkx1
ねえよ。python だけで検索するか?ふつう
ふつうはそれに追加して何か検索するだろ

試しに、python array で検索してみろよ
monty python も蛇も宝石も出てこないから

682 :デフォルトの名無しさん:2014/10/17(金) 23:40:40.54 ID:mExlA8xJ
だから、pythonにprogrammingって追加しないと資料としての精度が低いの
node.jsが使われてないって出した資料が役立たずなの。わかる?

683 :デフォルトの名無しさん:2014/10/17(金) 23:43:29.31 ID:mZsnpkx1
>>682
だったらnode.jsもprogrammingを追加しないと不公平だな
pythonだってprogrammingを付けないで検索することが大半なのだから

684 :デフォルトの名無しさん:2014/10/17(金) 23:58:13.18 ID:mExlA8xJ
>>684
まったく。
世の中の現実はpythonって何?で検索して、monty pythonを探す方が多いから

685 :デフォルトの名無しさん:2014/10/18(土) 00:01:02.65 ID:YEgpFvTL
>>684
違うね
プログラマは python + 何かで検索するんだよ
だからわざわざ programming なんかつけない
つけなくても目的のページは検索できるからね

python が何かすら知らん奴らはどうでもいい
プログラマの多さが指標だから

686 :デフォルトの名無しさん:2014/10/18(土) 00:04:05.69 ID:+RKFoQTZ
node.jsはprogramming languageであることを把握してるから、
programming languageを一緒に付随させることがないんだけど、
pythonはそうとは限らない。
けど、僕らが知りたいpythonってprogramming languageでしかないんだよね
まぁ、google trendにpythonなんて入れてドヤ顔してるヤツがバカなんだけど

687 :デフォルトの名無しさん:2014/10/18(土) 00:06:55.01 ID:YEgpFvTL
>>686
何度も言ってるように、python で検索する人は python という単語だけで検索はしない
python + 何かで検索する
何かの部分はほぼプログラミング用語なので、わざわざ programming と入れる奴はいない

688 :デフォルトの名無しさん:2014/10/18(土) 00:09:22.99 ID:+RKFoQTZ
>>687
てか、google trendって、検索キーで集計してるの?
サイト上の単語抽出してんじゃないの?

689 :デフォルトの名無しさん:2014/10/18(土) 00:10:38.69 ID:YEgpFvTL
>>688
そうだよ
じゃないと trend わかんないじゃん?
まさかそれすら知らずに言ってたのかい?

690 :デフォルトの名無しさん:2014/10/18(土) 00:13:17.42 ID:+RKFoQTZ
>>689
いや、ソースは?

691 :デフォルトの名無しさん:2014/10/18(土) 00:14:32.05 ID:YEgpFvTL
>>690
http://ja.wikipedia.org/wiki/Google_Trends

ほれよ

692 :デフォルトの名無しさん:2014/10/18(土) 00:15:13.96 ID:+RKFoQTZ
>>687
別にpythonの調べ物する人は、いちいちgoogleから検索しないよ

693 :デフォルトの名無しさん:2014/10/18(土) 00:16:18.23 ID:YEgpFvTL
>>692
ふつうにやるよ

694 :デフォルトの名無しさん:2014/10/18(土) 00:17:49.62 ID:+RKFoQTZ
>>693
普通は、調べ物用のサイトやリファレンスを、お気に入りに入れるからググらないよ

695 :デフォルトの名無しさん:2014/10/18(土) 00:18:41.88 ID:YEgpFvTL
>>694
じゃ、node.jsも同じだね

696 :デフォルトの名無しさん:2014/10/18(土) 00:19:41.54 ID:eTdnAi9J
https://www.google.co.jp/trends/explore#q=node.js%20expression%2C%20php%20expression%2C%20python%20expression%2C%20ruby%20expression&cmpt=q

どうかな

697 :デフォルトの名無しさん:2014/10/18(土) 00:21:13.63 ID:+RKFoQTZ
>>695
やっぱり、google trendで検索される数という資料そのものに疑問を持つべきなんだよ

698 :デフォルトの名無しさん:2014/10/18(土) 00:21:49.34 ID:YEgpFvTL
>>697
人の資料にケチつける前に、自説を証明する資料を出そうな

699 :デフォルトの名無しさん:2014/10/18(土) 00:22:21.98 ID:+RKFoQTZ
え?Wikipediaなんて資料になるの?

700 :デフォルトの名無しさん:2014/10/18(土) 00:23:29.47 ID:YEgpFvTL
>>699
ならんというなら自分で反例を探せ
少なくとも、反例を探すのは悪魔の証明じゃない

701 :デフォルトの名無しさん:2014/10/18(土) 00:26:02.47 ID:+RKFoQTZ
>>696
https://www.google.co.jp/trends/explore#q=node.js%20MVC%2C%20python%20MVC%2C%20ruby%20MVC&cmpt=q
これなんか、体感値にぴったり

>>700
google trendにpythonなんて直打ちで検索した役に立たない資料提供したからって、ファビョらないでよ

702 :デフォルトの名無しさん:2014/10/18(土) 00:30:32.50 ID:YEgpFvTL
>>701
https://www.google.co.jp/trends/explore#q=node.js%20MVC%2C%20python%20MVC%2C%20ruby%20MVC%2C%20PHP%20MVC&cmpt=q

ということでPHPの圧勝

703 :デフォルトの名無しさん:2014/10/18(土) 00:39:27.23 ID:+RKFoQTZ
githubとhacker newsが一番に現実を反映していて残酷なんだよね
賑わってたRubyやScalaのポストが失くなって、node.jsの話題しか失くなったあたり、特に

704 :デフォルトの名無しさん:2014/10/18(土) 00:40:25.44 ID:+RKFoQTZ
>>702
でっ?

705 :デフォルトの名無しさん:2014/10/18(土) 00:43:19.78 ID:YEgpFvTL
>>703
話の最初は>>664
> PHPの急降下って、ほぼ確実にnodejsの影響だよね。
だよね?

でも MVC というキーワードをつけると、むしろPHPは伸びてるんだよね
つまり、PHPの急降下の原因はnode.jsではない、ということになるね

706 :デフォルトの名無しさん:2014/10/18(土) 01:25:29.72 ID:+RKFoQTZ
自明なことについて何度も調べるの?
PHP MVCは誰もが最初に通る道ってだけの話しだよ

707 :デフォルトの名無しさん:2014/10/18(土) 01:32:43.27 ID:YEgpFvTL
>>706
だからなに?
自分が出してきたMVCというキーワードでボロ負けしたからってファビョるなよ

708 :デフォルトの名無しさん:2014/10/18(土) 01:35:31.40 ID:+RKFoQTZ
PHPの求人下降は、企業からの求人が減って自営業のヤツらは増えたことが原因だろうね
その自営業のヤツって、1人で全部こなしたいからLAMPからMEANへ移行しちゃう。ものすごく普通の現象だよね。
仲間と過ごした日々の為に、いつまでもsymphonyやRailsを使い続けるのも悪くはないと思うよ。
今の所は過去の資産や堅牢性って言葉が味方してくれているから

709 :デフォルトの名無しさん:2014/10/18(土) 01:37:42.34 ID:YEgpFvTL
>>708
そういう現象が起きてるという客観的な証明よろ

710 :デフォルトの名無しさん:2014/10/18(土) 01:37:58.03 ID:+RKFoQTZ
>>707
PHP MVCって、入門者が最初に検索するから数が多いだけで、
比較対象の検索キーとしては役に立たないんだよ

711 :デフォルトの名無しさん:2014/10/18(土) 01:39:00.04 ID:YEgpFvTL
>>710
自分が出してきたんだろ、MVCを
それが使えないというなら、node.js が PHP を駆逐したという明確な資料を出してくれよ

712 :デフォルトの名無しさん:2014/10/18(土) 01:39:29.14 ID:+RKFoQTZ
>>711
https://geekli.st/homeとgithubのリポジトリ数

713 :デフォルトの名無しさん:2014/10/18(土) 01:42:09.04 ID:YEgpFvTL
>>712
github なんてちょっと前まで Ruby が無双してたように、偏りが激しすぎるとこだろ

714 :デフォルトの名無しさん:2014/10/18(土) 01:46:28.63 ID:+RKFoQTZ
>>713
だけど、誰もRSpecのようなツール群をPHPで最初に書こうとはしなかったんだ

715 :デフォルトの名無しさん:2014/10/18(土) 01:48:00.89 ID:YEgpFvTL
>>714
ということで、PHP が node.js に置き換わったという証明にはなんにもなってないですね

716 :デフォルトの名無しさん:2014/10/18(土) 01:51:03.38 ID:+RKFoQTZ
>>715
初心者がちょっとした勉強に使うものだからね。置き換わらなくても良いよ
だけど、昔、Rubyでスゴいツールを書いてた人たちって、
今ではnode.jsでOSを書いちゃうような時代なんだよね

717 :デフォルトの名無しさん:2014/10/18(土) 02:43:51.65 ID:YEgpFvTL
>>716
> PHPの急降下って、ほぼ確実にnodejsの影響だよね。

> 初心者がちょっとした勉強に使うものだからね。置き換わらなくても良いよ

見事に矛盾してますねー

718 :デフォルトの名無しさん:2014/10/18(土) 03:53:00.97 ID:8mXKoYje
そんな調査方法じゃ実態はまるで掴めないと思う

719 :デフォルトの名無しさん:2014/10/18(土) 03:53:54.23 ID:YEgpFvTL
>>718
じゃぁ実体を掴める調査方法をよろ

720 :デフォルトの名無しさん:2014/10/18(土) 08:34:41.94 ID:sZk+3MdO
node.jsってサーバを非同期IO&イベントドリブンで書くのが目的の
かなり特化した用途のものだよね

pythonやrubyとは違うタイプのものだし、一過性の流行って思った方がよさそう

721 :デフォルトの名無しさん:2014/10/18(土) 12:04:18.03 ID:+RKFoQTZ
同期が重要ならmeteorでいいんじゃないの?

722 :デフォルトの名無しさん:2014/10/18(土) 12:05:48.69 ID:+RKFoQTZ
pythonやRailsって本当に一過性の流行だったよね
今だに、phpの方が生き残ってるぐらいだもん

723 :デフォルトの名無しさん:2014/10/18(土) 12:29:39.68 ID:YEgpFvTL
>>722
node.jsも似たようなもんだよ
pythonやRailsレベルにも達しないで消えそうだけどな

724 :デフォルトの名無しさん:2014/10/18(土) 12:41:25.94 ID:+RKFoQTZ
全然、別物だよ。
ECMA scriptやCommonJSの規格が先にあって、そこに実装が出てきたものだもの
それに企業や非営利団体のバックボーンまである
プログラマが休暇に書いたものと違って、コアの部分はプロの中のプロがフルタイムで開発しているんだよね

725 :デフォルトの名無しさん:2014/10/18(土) 12:45:15.52 ID:YEgpFvTL
>>724
そんなの言語が生き残る条件にもなんにもなってない
流行り廃りなんて運任せな部分が大きいからね
「イノベーションには再現性がない」とMatzも言ってるじゃないか

726 :デフォルトの名無しさん:2014/10/18(土) 12:56:58.29 ID:+RKFoQTZ
matzなんて崇めてるの?バカじゃね?

727 :デフォルトの名無しさん:2014/10/18(土) 13:02:48.73 ID:YEgpFvTL
>>725
クズはすぐに人格攻撃したがるな
大事なのは言った人じゃないくて内容だろ

728 :デフォルトの名無しさん:2014/10/18(土) 13:08:41.76 ID:+RKFoQTZ
「イノベーションに再現性がない」だけでいいよね
実際の所、Railsの後にscalaやnode.jsって二匹のドジョウがやってきて、
幾つかの大きなサービスがRailsからリプレースされてるよね
linuxの後に出てきたplan9は失敗したけれど、Railsは置き換えられたよね

729 :デフォルトの名無しさん:2014/10/18(土) 13:12:02.65 ID:YEgpFvTL
>>728
scalaなんてRailsの足元にも及ばない普及度だぞ
Twitterのようなウルトラ大規模なら使いでもあるんだろうが、そんなサイトの割合なんて1%もないしな

730 :デフォルトの名無しさん:2014/10/18(土) 13:17:59.98 ID:+RKFoQTZ
scalaの言語が備える機能って、Rubyよりよっぽど洗練されてるよね
しっかりと、計算機科学を学んだ人が言語を設計したって代物
Rubyを有難がったのって、PHPから移行してきたWebデザインの畑耕してたヤツらだろ

731 :デフォルトの名無しさん:2014/10/18(土) 13:19:57.90 ID:YEgpFvTL
>>730
残念ながらそんなのは普及の決め手ではない
普及するかどうかなんて業界のベテランでも外しまくるものなんだから
結局運次第

732 :デフォルトの名無しさん:2014/10/18(土) 13:23:28.65 ID:+RKFoQTZ
>>731
普及の決めては、バカでも使えるか、既に広まってるの何方かだよ
それからすると、node.jsは、node.jsが生まれる前から既にあるんだ

733 :デフォルトの名無しさん:2014/10/18(土) 13:24:24.49 ID:YEgpFvTL
>>732
scalaの話はどこいった?

734 :デフォルトの名無しさん:2014/10/18(土) 13:25:53.39 ID:+RKFoQTZ
>>733
scalaなんて一部のオタクにしか使いこなせないもの広まるわけないじゃない
最初からnodejsの話ししかするつもりないよ

735 :デフォルトの名無しさん:2014/10/18(土) 13:35:39.35 ID:YEgpFvTL
>>734
>>728>>730はなんだったのか…

736 :デフォルトの名無しさん:2014/10/18(土) 13:42:44.49 ID:raeZ5AHo
Rubyと比べると、Scalaは実行が速くて、静的型チェックがあって、関数型とオブジェクト指向を上手く融合させてる

ScalaがあればRuby要らないになるよね

737 :デフォルトの名無しさん:2014/10/18(土) 13:45:17.19 ID:YEgpFvTL
>>736
そんなのは普及の決め手ではないと何度言えば…

738 :デフォルトの名無しさん:2014/10/18(土) 13:50:12.43 ID:O1BMhf+3
scalaコンパイル遅過ぎんだろ
ラーメン伸びるぞ

739 :デフォルトの名無しさん:2014/10/18(土) 14:11:37.67 ID:raeZ5AHo
いまはGoogle等の一部企業に優秀なエンジニアが集まってるから
それらの企業で使われてれば、使うだけで創り出せないドカタなどに普及しなくても
何の問題もない

740 :デフォルトの名無しさん:2014/10/18(土) 14:12:16.31 ID:8mXKoYje
JSの言語機能はともかく、ブラウザでサポートされるのがこれだけになった今、将来は保証されてる

741 :デフォルトの名無しさん:2014/10/18(土) 14:40:24.37 ID:YEgpFvTL
>>739
そうやって「優秀()なエンジニアにしかウケない言語ageる俺カッケー」ってずっとやってればいいよ
あと、土方の間で流行ってる言語に嫉妬してそっちをsageるのをやめることができれば100点

742 :デフォルトの名無しさん:2014/10/18(土) 14:59:04.50 ID:7kjZRqRV
コーポレートサイトの管理編集システムみたいな土方案件やるならphpとかperlだろ?
SNSだのゲームだの作るならnodeとかpythonとか
個人的にwebにおいてのrubyの使いどころがいまいち分かってない

743 :デフォルトの名無しさん:2014/10/18(土) 15:47:59.29 ID:XDEljLAa
死ねゴミ共がw

744 :デフォルトの名無しさん:2014/10/18(土) 15:54:36.05 ID:njDwcE3d
perlgってギャグで言ってるんだよね?

745 :デフォルトの名無しさん:2014/10/18(土) 16:24:29.50 ID:Wss95k07
え?はてなとか今もperlでしょ?
インターンでむっちゃ書かされたけどあれは新人研修だったん?
それとも近年のどっかで変わったの?
結局入ってねえからわかんないけど

746 :デフォルトの名無しさん:2014/10/18(土) 17:49:10.53 ID:+RKFoQTZ
>>742
今どきperl案件なんてラリーでも裸足で逃げ出すわ

747 :デフォルトの名無しさん:2014/10/18(土) 17:51:44.37 ID:+RKFoQTZ
皆、何かに毒されてカブれてるんだろうけど、世間ではjava,c#しか使われてないよ

748 :デフォルトの名無しさん:2014/10/18(土) 17:56:32.57 ID:YEgpFvTL
>>747
facebookはPHPだね

749 :デフォルトの名無しさん:2014/10/18(土) 17:58:22.08 ID:+RKFoQTZ
>>742
CRUDアプリを作るためのもので、もうじき、MEANとかmeteorに越される

750 :デフォルトの名無しさん:2014/10/18(土) 18:00:12.59 ID:YEgpFvTL
>>749
根拠のない予言乙
まぁ、ごの業界で予言を信じてる奴なんていないけどな
ベテランですら外しまくるぐらいなんだから

751 :デフォルトの名無しさん:2014/10/18(土) 18:01:51.48 ID:+RKFoQTZ
MySpace、eBayの大規模な採用事例もあるし、もうnode.jsで安心だよ

752 :デフォルトの名無しさん:2014/10/18(土) 18:05:14.47 ID:YEgpFvTL
>>751
逆に言うと大規模でないと活かせないのがnode.js
イベントマシンを使ったややこしい構成は大規模をターゲットにしてるからこそ
世の中にある大半のWebサイトはPHPやRailsで十分なので、現状の採用数の差として現れる

753 :デフォルトの名無しさん:2014/10/18(土) 18:06:16.77 ID:+RKFoQTZ
何言ってるの?meteor,MEANなんて極貧の個人事業者が活用するようなものなのに

754 :デフォルトの名無しさん:2014/10/18(土) 18:07:21.87 ID:YEgpFvTL
>>753
活用されてから言おうな

755 :デフォルトの名無しさん:2014/10/18(土) 18:07:44.40 ID:+RKFoQTZ
使われてないことにしたいんですね。わかります。

756 :デフォルトの名無しさん:2014/10/18(土) 18:08:24.52 ID:YEgpFvTL
>>755
https://www.google.co.jp/trends/explore#q=meteror%2C%20rails&cmpt=q

ほれよ

757 :デフォルトの名無しさん:2014/10/18(土) 18:09:37.76 ID:YEgpFvTL
誤字った
https://www.google.co.jp/trends/explore#q=meteor%20framework%2C%20rails%20framework&cmpt=q

758 :デフォルトの名無しさん:2014/10/18(土) 18:10:12.66 ID:+RKFoQTZ
https://www.google.co.jp/trends/explore#q=meteor%2C%20rails&cmpt=q
タイポに気付かない人って、動的言語使わない方が良いよ

759 :デフォルトの名無しさん:2014/10/18(土) 18:12:50.32 ID:YEgpFvTL
>>758
meteorだけだと隕石として検索されてるようだな

760 :デフォルトの名無しさん:2014/10/18(土) 18:21:01.02 ID:+RKFoQTZ
meteorって、frameworkだって分かってる人は、frameworkなんて検索キーに入れないからね
2005年以前にrailsがあることも疑問に思うべきで、google trendに1つの単語だけ入れても役に立たないんだ

761 :デフォルトの名無しさん:2014/10/18(土) 18:23:14.48 ID:YEgpFvTL
>>760
meteor の突出した部分をクリックしてみ
隕石関係のページが出てくるから

762 :デフォルトの名無しさん:2014/10/18(土) 18:39:49.23 ID:eTdnAi9J
Rubyを昔から使ってる身としては、Railsなんてむしろ早く淘汰されて欲しい
現実は未だに大量にのさばってるんだけどな…

763 :デフォルトの名無しさん:2014/10/18(土) 19:01:43.18 ID:+RKFoQTZ
そろそろ、rails scriptに改名したらいいのに
テストツール書いてたようなsaucelabだって、railsから撤退気味だよ
トップページにJSのツールが来たときに、皆、終わりの時期を悟ったんだと思ったね

764 :デフォルトの名無しさん:2014/10/18(土) 19:45:05.65 ID:6najUmG9
16日軽視庁によると、東京都港区で小学生二人が鉄道の線路の上に宝石のルビーを
乗せるいたずらによって中央線の電車が脱線した。この事故により通勤客二千人の足に影響した。

765 :デフォルトの名無しさん:2014/10/18(土) 20:49:19.01 ID:aIv2kPXG
>>748
D言語(ボソッ

766 :デフォルトの名無しさん:2014/10/19(日) 06:00:23.87 ID:27d2i3VK
ぶっちゃけrubyもpythonもperlも大差ないだろ。

767 :デフォルトの名無しさん:2014/10/19(日) 11:27:41.58 ID:U9zncy/O
>>758
くらえ colour

768 :デフォルトの名無しさん:2014/10/20(月) 12:31:36.66 ID:HPoOlohn
>>766
まったくの別物だよ。歴史的な経緯から、ある程度の得意分野が棲み分けされてるからね。
同じだって人は目的が分かってないからプログラミングなんて入門しない方が良いぐらい。
で、Web開発って分野じゃ、もうnode.jsしか選択肢がないんだ。
SASSからlessに置き換わったときには、これ以上の自己欺瞞を続けられなくなったんだ。

769 :デフォルトの名無しさん:2014/10/20(月) 13:54:41.13 ID:2JMHhaut
普通にPHP書きやすいし読みやすいからPHPで良いんじゃないかな?
難点としてはちょっと速度が遅いような気がするけど

770 :デフォルトの名無しさん:2014/10/20(月) 15:10:58.67 ID:x/j2b7Pm
来年のPHP NG(5.7)で約2倍に性能向上するね

771 :デフォルトの名無しさん:2014/10/20(月) 16:24:43.44 ID:LPksyt4v
PHPはこれだけ使われてるから、そう簡単には無くならないと思う
今後は、PHPに難しい機能追加は要らない、出来るだけ互換性を保つ事が大事と思う

772 :デフォルトの名無しさん:2014/10/20(月) 19:04:30.75 ID:Z8kNqu4D
次期PHPの性能向上は楽しみだね。
https://wiki.php.net/phpng#performance_evaluation

新しい機能を追加しても、あまり利用してくれないからね。
未だに5.2や5.3が大半を占めるという話も聞いたことあるし。

773 :デフォルトの名無しさん:2014/10/20(月) 19:39:11.27 ID:2JMHhaut
PHPはデータベースとのやり取りのPDOと前のやつでできる挙動とできない挙動があって
やりにくかったことがあった気がする。
頑張れば同じ動作が実現できたけどこれ何とかして欲しいね

774 :デフォルトの名無しさん:2014/10/20(月) 20:45:57.48 ID:HPoOlohn
>>769
phpクラスタのヤツらが、何でframeworkやCMSばかり作って、
コマンドラインツールが発展しなかったのか、文法レベルで考察すべきだと思うね

775 :デフォルトの名無しさん:2014/10/20(月) 20:55:16.14 ID:HPoOlohn
>>770
php ngとhackの2つが内輪で揉めて共倒れするよ。
XEmacs,NetBSDとかCodeIgnitorのような末路をたどるんだろうね
phpの進化の可能性なんて、JSONとRubyレベルの
柔軟な文法でも備えないと使うだけのメリットが見当たらないんだ
で、phpが進化するまでに世の中の興味はdartへ移って死に体

776 :デフォルトの名無しさん:2014/10/20(月) 21:08:29.91 ID:Vawq+2U2
いつものjs厨
スルー推奨

777 :デフォルトの名無しさん:2014/10/20(月) 23:10:53.11 ID:HPoOlohn
>>771
perlもすごく広まっているから今だに無くならないし、
後方互換性を保ちながらperl6のメジャーバージョンアップを待っているね
PHPも同じ運命を辿るんだろうね。nodeは、perlやPHPとは根本的に違うんだ。
まず、規格があって、最強のコアの部分だけ取ってきて、必要な部分だけ付け加えられているんだ。
nodejsのメモリリークなんかも、ebay辺りが最強の面子を集めてデバッグしてくれる

778 :デフォルトの名無しさん:2014/10/21(火) 00:13:02.40 ID:0vfesyL/
昔触ったPHPはわざわざPerlの悪いところを真似したような言語だったが、
その後改善されたりはしてるのかな?

779 :デフォルトの名無しさん:2014/10/21(火) 00:17:09.22 ID:7kQ0a/IP
perlの悪いところが何をさしてるのかわからないが
goto文入れたり変なことはたまにしている

780 :デフォルトの名無しさん:2014/10/21(火) 03:09:24.22 ID:UG1iBG6U
>>768
同じに見えるがなぁ。見た目や書き方が若干異なるくらい。解法や目標は特によく似てる。
jsはこの3つよりよっぽど違う場所にいる気がする。

781 :デフォルトの名無しさん:2014/10/21(火) 03:11:04.48 ID:E3/E6gOJ
LispマシンはLispで開発した方が効率いいのさ。

782 :デフォルトの名無しさん:2014/10/21(火) 23:37:23.83 ID:oLvFFaub
PHPは良くも悪くもJavaの後を追ってここまで来た
どう見てもPerlには似てない

783 :デフォルトの名無しさん:2014/10/22(水) 00:11:56.23 ID:N2snF+4Z
>>768
LESSってWindowsではコンパイルすら通らないからみんなSASSに移ったけど・・・
Bootstrapとか

784 :デフォルトの名無しさん:2014/10/22(水) 01:42:13.04 ID:f+dm3f7U
lessのコンパイルが通らないから、皆、mintに移ったけど...

785 :デフォルトの名無しさん:2014/10/22(水) 08:53:07.96 ID:ZuLOuTIo
golangもここで話してもいいのでしょ?

786 :デフォルトの名無しさん:2014/10/22(水) 10:38:58.52 ID:G51+7oPM
サーバサイドよりとして?、それともコンパイル時間が短い事によりスクリプト言語と同義にしても良いんじゃね?って理由として?

787 :デフォルトの名無しさん:2014/10/22(水) 10:55:19.19 ID:RIes3wgV
>>782
PerlとPHPどちらの経験も無ければ、パッと見似てるんじゃね
片方だけでも経験してたら、違うと感じるのは間違いないな

788 :デフォルトの名無しさん:2014/10/22(水) 18:49:57.29 ID:f+dm3f7U
phpはjavaなんかよりも、perl,c/c++よりの言語だろ
javaってクラス名が長過ぎて吐き気がする。この言語で文字列扱うとか狂気の沙汰だよね
c++の方がマシなぐらい

789 :デフォルトの名無しさん:2014/10/22(水) 19:32:42.04 ID:ODLk5kJp
PHP4まではそうだったかもね
PHP5からはどうみてもJavaよりだわ

790 :デフォルトの名無しさん:2014/10/22(水) 20:44:51.63 ID:rV+YylK+
PerlとC/C++が一緒にされてるのが全くわからんな。手続き型言語としてはかなり離れた位置に存在する言語だろ。

各種ライブラリを入れまくったC++はともかく、素のC/C++で文字列処理ってかなりめんどくさいと思うけどな。
正規表現は当然使えないし、前方一致させるのも結構大変じゃないか。多言語対応も大変だし。

JavaはIDE使えば長いクラス名なんて自分で入力するわけじゃないから関係ないからね。NPE→NullPointerException的な補完も当たり前だし。

>>788の知識経験レベルが疑わしすぎるw

791 :デフォルトの名無しさん:2014/10/22(水) 21:54:21.54 ID:1/BwKyk1
長いクラス名は読むときウザいんだよ
Javaは好きだがウザいもんはウザい

792 :デフォルトの名無しさん:2014/10/22(水) 21:55:23.59 ID:KLl3weAF
PerlとCはリファレンス、ポインタを多用するところは似てる
PHPはまんまJava

793 :デフォルトの名無しさん:2014/10/22(水) 22:28:41.90 ID:NlDsk5rN
>>790
C++11から正規表現は標準ライブラリに含まれてるんやで

794 :デフォルトの名無しさん:2014/10/22(水) 23:19:43.34 ID:rV+YylK+
>>793
C/C++と書くと世間ではC++11のことを指すのかい?それは知らなかったよ。

795 :デフォルトの名無しさん:2014/10/23(木) 04:39:40.51 ID:bEqh17Cy
>>794
C/C++って書くと普通に考えてC言語とC++の事だろう?
他に何があるんだよ
あと文字列の前方一致なんざC言語でもstrncmp呼ぶだけじゃないか。何が大変なんだよ

すれちだな

796 :デフォルトの名無しさん:2014/10/23(木) 09:34:58.41 ID:nXMyMXg1
>>790
phpは命名規則がUnixよりなんだよ
Javaの命名規則はJavaの世界に閉じられてるの
phpは、どこをどうみてもjavaには見えない

797 :デフォルトの名無しさん:2014/10/23(木) 09:35:51.36 ID:nXMyMXg1
>>795
お前の経験疑うわ

798 :デフォルトの名無しさん:2014/10/23(木) 09:38:22.31 ID:8j+v/8fy
前方一致はstrstr呼ぶか、strch呼んでループ回すか。
標準だったよねこれ。

799 :デフォルトの名無しさん:2014/10/23(木) 12:09:42.41 ID:ckAJhut0
ttps://gist.github.com/alainmeier/9319451
bitcoin事件のMt.goxのソース(あかんやつ)
これがCに見えるならおかC

800 :デフォルトの名無しさん:2014/10/23(木) 19:30:48.50 ID:bWtzwxlY
スクリプト言語はPython覚えとけば問題無いって聞いたけどホント?

801 :デフォルトの名無しさん:2014/10/23(木) 20:30:41.48 ID:nXMyMXg1
2、3転してjavascript覚えとけば問題がなくなったよ
Larryとmatzの死が、オマエラの限界

802 :デフォルトの名無しさん:2014/10/23(木) 20:31:54.35 ID:nXMyMXg1
>>799
他のどの言語よりも、はるかにcの精神を受け継いでるよ

803 :デフォルトの名無しさん:2014/10/23(木) 21:18:57.71 ID:iff3BYcT
>>801
お二人とも、どうぞ。って感じだな(PHP技術者 / 32歳 / 男性)

804 :デフォルトの名無しさん:2014/10/23(木) 22:09:35.12 ID:CuaF4pQX
PHPのオブジェクト指向はJavaからコピーしてきたものだ

805 :デフォルトの名無しさん:2014/10/24(金) 01:59:05.23 ID:SXGOr5T7
ただのクラスベースなOOPってだけで、そんなものsimula辺りからあるだろ

806 :デフォルトの名無しさん:2014/10/24(金) 02:03:34.38 ID:SXGOr5T7
phpやjsでクソなサイト作るのがプログラミングになってから、
本当に世の中がつまらなくなった

807 :デフォルトの名無しさん:2014/10/24(金) 02:06:30.65 ID:m7hE39Wa
こんなスレ覗いてないでマシン語でもいじってればいいんじゃなんですか?

808 :デフォルトの名無しさん:2014/10/24(金) 03:12:42.18 ID:IQyPzeP8
>>796
PHPの関数の命名規則はCと似てるかもね。というかPOSIXの関数そのままのやつが多いよね。
でも、>>790で言ったのは「PerlとC/C++は(命名規則でなく)言語全体としてみれば全然似てないから同列に語るのは意味不明」
「Javaの文字列処理がC++の文字列処理より酷いなんてどんな冗談」ということなんだよね。PHPには触れていない。
>>788が命名規則について似てる似てない良い悪いを言っているのか、言語の思想に対して言っているのか、なんにも明確でないからおかしいだろって突っ込みを入れただけ。

>>795 >>799
すまん。CというよりC++のSTLといったほうがいいかもね。stringで前方一致させるのはargorithmのmismatchを使う長ったらしいイディオムしか知らないんだけど、
startsWithレベルで簡単なやつある?まあ確かにスレチなんだが

809 :デフォルトの名無しさん:2014/10/24(金) 07:33:16.95 ID:fzJEIn/o
abstract interface protected getXx setXxx全部Javaから
PHPの組み込み関数の名前は単に適当に作ってたらこうなったってだけ

810 :デフォルトの名無しさん:2014/10/24(金) 08:15:45.71 ID:z1D9cZ8M
>>1
そもそもこのスレのテーマはなんなんだよ…

811 :デフォルトの名無しさん:2014/10/24(金) 09:10:34.94 ID:S3fKdVaO
名前が嫌いなので、pythonはやらない。

JavaScriptがアレば十分。サーバサイドはPHP一択。

perlだのrubyはもはや論外。

812 :デフォルトの名無しさん:2014/10/24(金) 10:25:33.93 ID:nb7VNkeS
確かにスクリプト言語で限定すればPHPだけで十分だと思う
そのうちJSがサーバサイドで使われるようになるかもしれないけど

813 :デフォルトの名無しさん:2014/10/24(金) 10:27:30.07 ID:iswtk73B
>>311
キモw

814 :デフォルトの名無しさん:2014/10/24(金) 11:11:43.55 ID:SXGOr5T7
>>808
javaの文字処理はc++よりヒドイだろ
StringStreamBuilderみたいなもの連ねてJSPで何かやるなんてマトモな神経でやってられない
c++は、<<のオペレータがある分、幾らかマシ

815 :デフォルトの名無しさん:2014/10/24(金) 11:17:05.16 ID:cOPL4nV5
JDK1.5あたりから文字列は単純に足し算で連結してもよくなったと思った(性能的な意味で)

816 :デフォルトの名無しさん:2014/10/24(金) 11:35:13.48 ID:0RGxI6O8
>>812
スクリプト=Webみたいな考え方には参道できんなあ
もしそういう定義なら、このスレはWebProgへ移籍してると思うぜ

817 :デフォルトの名無しさん:2014/10/24(金) 12:15:26.09 ID:Gjcs6S4E
>>811
>JavaScriptがアレば十分。サーバサイドはPHP一択。
大量のJavaScriptを作り上げるのに、pythonを使っている。
PHPだとTerminalから文字列の処理ができない(?)

818 :デフォルトの名無しさん:2014/10/24(金) 14:00:24.09 ID:m7hE39Wa
PHPでももちろん出来るよ
ただそれはPerlやPythonのほうが向いてるけど

819 :デフォルトの名無しさん:2014/10/24(金) 14:07:13.40 ID:7uisWKAt
>>817
それ、デメリットでもあるんだよね

820 :817:2014/10/24(金) 17:57:06.92 ID:Gjcs6S4E
Terminalからのコマンドをbashなどで
やるのには、限界があるのでは?
Terminalから実行するコマンドをJavaや
C, C++で書くよりも、Python, Ruby,
Perlの方が効率的な場合が多いはず。
PHP大好き人間は、Terminalからのコマン
ドを使わないのか?!

821 :デフォルトの名無しさん:2014/10/24(金) 18:17:11.60 ID:SXGOr5T7
え?そんなことないよ。
テキスト処理ぐらいなら、今使ってる言語で書いた方がよっぽど早いよ
perl,python,rubyなんて使うならエディタマクロで書いた方が遥かにマシ

822 :デフォルトの名無しさん:2014/10/24(金) 18:58:24.02 ID:tj9/ksNS
ファイルがいつも一個ならエディタマクロでも良いかも知れんがな…

823 :デフォルトの名無しさん:2014/10/24(金) 19:38:05.47 ID:+tf7fXZT
Go言語がすべてのLLを駆逐する。間違いない。

824 :デフォルトの名無しさん:2014/10/24(金) 19:48:50.49 ID:SXGOr5T7
>>822
は?elipsとvim scriptの入門用チュートリアルぐらい読めよ

825 :デフォルトの名無しさん:2014/10/24(金) 20:23:16.38 ID:6HGiabyb
>>824
vim scriptの中でもPythonで書いちゃってるわ

826 :817:2014/10/24(金) 20:34:07.38 ID:Gjcs6S4E
>>821
>テキスト処理ぐらいなら、今使ってる言語で書いた方がよっぽど早いよ
1TBのHDD内部を全て検索して、ファイル名に2014という
文字列を含むものを全て選び出し、そのファイルを1つ1つ
開いて4番面の文字を取り出す、というような作業を「今使
ってる言語、エディタマクロ」でできるの? (Emacsの
Lispを除いて) javascriptでもPHPでも無理だろう?
このような作業には、perl, ruby, pythonが必要に
なるはず!

827 :デフォルトの名無しさん:2014/10/24(金) 20:55:27.55 ID:WSkOVKOJ
なんで無理と思ったのか不思議だな

828 :デフォルトの名無しさん:2014/10/24(金) 21:26:36.45 ID:0RGxI6O8
必要か必要でないかじゃなくて、最適がどこかって話だよ
編集することが多くて、編集中にやりたいテキスト処理については、もちろんエディタマクロが適切だろうけど
わざわざエディタ通さないと出来ないなんて面倒って処理もまたある

829 :デフォルトの名無しさん:2014/10/24(金) 21:37:29.33 ID:2r3lzEcT
gzip圧縮された1TBのファイルの中から
2014という文字列が出現する回数を数える場合
Emacsやvimじゃファイルすら開けないだろ

830 :デフォルトの名無しさん:2014/10/24(金) 22:36:17.47 ID:SXGOr5T7
>>828
は?elisp、vim scriptってterminalから動かせるから
最近の2chに集まるトロールって、以前と比べて明らかに質が落ちたよね

ttp://decomplecting.org/blog/2014/10/23/welcome-to-the-dark-side-switching-to-emacs/

831 :デフォルトの名無しさん:2014/10/24(金) 23:02:56.03 ID:+AY5TDhY
>>829
1TBのファイル?

832 :デフォルトの名無しさん:2014/10/24(金) 23:07:37.22 ID:Zs190Uj9
>>823
goでjsonいじるの面倒すぎるからそれはないわ

833 :デフォルトの名無しさん:2014/10/24(金) 23:44:29.56 ID:0RGxI6O8
>>830
君的にはターミナルから動かせれば「わざわざではない」のかい

834 :デフォルトの名無しさん:2014/10/25(土) 00:14:06.36 ID:9maskwYi
そりゃそうだろ

835 :デフォルトの名無しさん:2014/10/25(土) 04:50:54.65 ID:X7Txwa8i
それって人間がエディタに依存しちゃわないかな

836 :デフォルトの名無しさん:2014/10/25(土) 08:02:24.38 ID:8tQAYsJt
>>833
インタプリタ起動するのも、エディタのマクロ処理系呼び出すのも同じ手間

837 :デフォルトの名無しさん:2014/10/25(土) 12:25:58.77 ID:8tQAYsJt
ttp://www.marketwatch.com/story/joyent-announces-nodejs-advisory-board-including-representatives-from-paypal-ibm-netflix-and-more-2014-10-23
今回のnode.jsのブームってrailsやscalaのときと違って企業の動きが早いんだ
多分だけど、linuxに近い形のプロジェクトになるよ。
趣味で始められたものに、いくつもの大企業がコミットしていく形式。

838 :デフォルトの名無しさん:2014/10/25(土) 12:30:24.66 ID:V3LUyF6V
MSとかもNodeに全面的だもんね

839 :デフォルトの名無しさん:2014/10/25(土) 15:59:58.82 ID:+2RQKUJA
juliaはどうなん? 爆速らしいけど
多重ディスパッチって計算用途以外にはあんまり向かない?

840 :デフォルトの名無しさん:2014/10/25(土) 16:21:00.33 ID:onrtvozm
node.jsは生理的に受け付けない

841 :デフォルトの名無しさん:2014/10/25(土) 16:58:08.90 ID:FadhVfwr
>>839
構文自体は結構好みだけど
現状だと初動が遅すぎて正直使い物にならないね
Javaが速いという人にとってはいいかもしれない
ただ、その点は時間掛ければ改善出来る事だから期待してる
同じく好みの構文のDao言語ってのがあったけど
何の期待も出来なかったなぁ

842 :デフォルトの名無しさん:2014/10/25(土) 17:26:38.32 ID:8tQAYsJt
Web広告は別として、ソフトウェアはc,Javaで書く方がよっぽど生産的だったよね

843 :デフォルトの名無しさん:2014/10/25(土) 17:57:40.94 ID:onrtvozm
最近javaやcって単語が出まくってるけどお呼びじゃないんです!

844 :デフォルトの名無しさん:2014/10/26(日) 00:22:07.31 ID:qZ7NpcIe
coffeescriptとかjQueryとか使う時に思うんだけど、
素のjsの存在意義ってあるんだろうか

いっそのこと...

845 :デフォルトの名無しさん:2014/10/26(日) 01:06:26.65 ID:ahtZMnZF
jQueryは昔そのへんに散らばってたサンプルをうまくまとめたような
デザイナー向けのプラグインが豊富なツールってだけで大していいとも思わない
CoffeeScriptは悪くはないがTypsScriptのほうがプログラム的で好き

846 :デフォルトの名無しさん:2014/10/26(日) 13:15:27.94 ID:N8Eo4pDc
>>844
そのjQueryって、javascriptが動的言語として優れてるから出来る芸当なんだよね

847 :デフォルトの名無しさん:2014/10/26(日) 13:55:25.91 ID:e33XAUxV
>>846
え?jQueryは特にトリッキーなことやってないけど…
どの辺がJavaScriptならではなのか、具体例をあげてもらえるかな

848 :デフォルトの名無しさん:2014/10/26(日) 14:32:28.67 ID:pjtSipCq
JavaScriptなしでjQueryは存在するの?
優劣は別にデファクトなJSに被せたものでしょ

849 :デフォルトの名無しさん:2014/10/26(日) 14:41:16.25 ID:N8Eo4pDc
>>847
中身は熟成されたカリー化だらけだって、クレア叔母さんがゆってた

850 :デフォルトの名無しさん:2014/10/26(日) 14:42:45.87 ID:N8Eo4pDc
ttp://importantshock.wordpress.com/2009/01/18/jquery-is-a-monad/

851 :デフォルトの名無しさん:2014/10/26(日) 14:59:27.20 ID:keBuV8de
これまでJavaとphpしか経験がなかったドカタが
jQueryに触れてカルチャーショックを受けて
>>846を言いだすのが良くあるパターン

852 :デフォルトの名無しさん:2014/10/26(日) 16:59:19.06 ID:qZ7NpcIe
py/rbならcoffeescriptみたいなのを作る必要がないと思うが、
なぜjsにはcoffeescriptが存在してるんだろ

853 :デフォルトの名無しさん:2014/10/26(日) 17:26:45.33 ID:N8Eo4pDc
え?jsがあるから、python,rubyなんて必要ないよ
coffee scriptは、Jeremy Ashkenasが凄かったってだけ

854 :デフォルトの名無しさん:2014/10/26(日) 17:49:11.47 ID:Brx5W+Id
>>852
JSの構文がウンコすぎるから

855 :デフォルトの名無しさん:2014/10/26(日) 17:56:13.76 ID:eoLX8RNk
type script の評判もききたいねぇ‥

856 :デフォルトの名無しさん:2014/10/26(日) 20:15:56.04 ID:N8Eo4pDc
dartに移行した方がマシ

857 :デフォルトの名無しさん:2014/10/26(日) 23:37:23.51 ID:0uM1zB6z
>>814
Smalltalkも<<をStreamの出力に使ってたりする。
因みに連結には , を使う。

文字列の連結に + を使うOOPLは正直どうなのかと思う。
+ は加算だから、+と連結は互換性が無いだろうに。

#( 1 1 1 ) + #( 1 1 1 ) "→ #( 2 2 2 )"
'1' + '1' "→ '2'"

#( 1 ) , #( 2 ) "→ #( 1 2 )"
'1' , '2' "→ '12'"

858 :デフォルトの名無しさん:2014/10/27(月) 02:00:20.19 ID:9dCb0Lih
>>857
言語が重視するのが数学的なことであれば、+ は加算であり
ベクトル同士の足し算は各要素の加算、だろうけど
OOPLにおいて数学が必ずしも重要視される訳ではないからなぁ
そもそもリストや配列、文字列はベクトルではない、という考え方も多いかと

859 :デフォルトの名無しさん:2014/10/27(月) 07:13:19.06 ID:aQir2vuc
バカスレw
死んじまえクズ共w

860 :デフォルトの名無しさん:2014/10/27(月) 08:07:03.74 ID:vv05VlVs
>>858
でも、一々数字の文字列と数値を区別せにゃならんのは面倒くさい。
OOの利点は異なるObjectでも同じ手順を使い回せることだけど、
それを生かせないのはヤダわ。

861 :デフォルトの名無しさん:2014/10/27(月) 08:18:55.37 ID:XwZ72Hg9
http://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3AScheme%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%81%AE%E3%83%AC%E3%83%99%E3%83%AB10
レベル6
他の言語のデザイナが演算子の優先順位や文法に使う記号の善し悪しを 議論しているのが遠い世界のように感じられる。

862 :デフォルトの名無しさん:2014/10/27(月) 08:23:53.45 ID:41R6ibqU
文字列同士がたまたま数字と解釈できるときだけ加算できて、
'1' + 'w' みたいなのはエラーになるんだろ?
そっちの方がウザいわ

863 :デフォルトの名無しさん:2014/10/27(月) 11:44:04.18 ID:VoSGhOqg
>>860
PHPの意味不明な相互変換規則のおかげで100回ぐらい死んでから許される発言だなそれはw

864 :デフォルトの名無しさん:2014/10/27(月) 17:22:18.26 ID:dUOsOJix
型を静的に宣言できた方がいいね

865 :デフォルトの名無しさん:2014/10/27(月) 17:27:45.49 ID:8Joo/hTL
結局実行しないとエラーにならないからローカルで動かすツールにしかスクリプト言語をしようしてない俺にとっては型があろうが無かろうがそれ程変わらんな

866 :デフォルトの名無しさん:2014/10/27(月) 17:33:49.74 ID:XzLhLShg
エラーになればマシ
例えば想定していないインスタンスが引数に来ちゃった場合に
たまたま同名メソッドがあればエラーが起きない

これは問題である

867 :デフォルトの名無しさん:2014/10/27(月) 22:37:58.09 ID:nXO/8XB2
>>852
それだけjsが使われているってこと。

868 :デフォルトの名無しさん:2014/10/27(月) 23:40:47.52 ID:LZvdAwpH
>>862
'1' asInteger + 'w' asInteger.

明示的な変換する場合だって例外が出るのは同じじゃん。
明示的な変換しても冗長になるだけ。

869 :デフォルトの名無しさん:2014/10/27(月) 23:54:35.75 ID:LZvdAwpH
>>866
Messageの仕様はProgram内で統一するもんよ。
Smalltalk環境なんかだと、Class名の一覧表示機能より、
Selector(Methodの名前みたいなもん)の一覧表示の方が充実してて、
Messageの仕様を統一しやすくなってる。

あとMessageの仕様を統一するってことは、
UnitTestの再利用に繋がって効率化にもなる。

870 :デフォルトの名無しさん:2014/10/28(火) 00:42:54.08 ID:26RMclFV
Smalltalkっていうのは、なんとなく動けば良くて
エラーが出ても気にしない文化だから、
外部からの入力を入り口でvalidationするなんて発想はないよ

普通の人なら、コードの奥深くで実際に演算するときに
エラーが出たら面倒と思うかもしれないけど、そういうマトモなプログラムは書かないんだ

871 :デフォルトの名無しさん:2014/10/28(火) 01:20:53.06 ID:avsoFd9D
SmalltalkはObjectの参照元を判断できるから、
例外処理でどのI/Oが間違ってたのか判定するのが簡単なんだよね。
VisualWorksやらGemStoneやらVisualAgeなんて
大規模なものが存在するけど、こういう安全性が大規模化に
貢献してるんだよね。

872 :デフォルトの名無しさん:2014/10/28(火) 02:19:01.08 ID:KtRuSKC5
世間で大規模開発と言われてるものの規模から見たら
サブモジュールの1ユーティリティ程度だなw

873 :デフォルトの名無しさん:2014/10/28(火) 06:54:07.86 ID:pU8P/Oib
>>868
それが上と同じに見えるなら、プログラミング経験が浅いとしか…

874 :デフォルトの名無しさん:2014/10/28(火) 07:35:02.77 ID:m6vu7Wpe
>>872
大規模Projectで使うUtilityと同じと言いたいんだろうけど、
それは比較する次元が違うよ。
それならOSもDBも1 Utilityに過ぎない。

Softwareの規模で言えば>>871の例を超えるものはOSぐらいだよ。
Smalltalk自体OSみたいなもんだし。

875 :デフォルトの名無しさん:2014/10/28(火) 12:16:36.18 ID:U3xh/ZrO
>>873
「上と同じ」の上ってどれのこと?

876 :デフォルトの名無しさん:2014/10/28(火) 12:22:29.61 ID:U3xh/ZrO
SmalltalkはOSっていうより、オブジェクトで自己記述された処理系があって
そのオブジェクト群を生きたままOODBもどきにストアして運用する変態ソフトって印象。

877 :デフォルトの名無しさん:2014/10/28(火) 14:28:20.56 ID:GFfyO3pL
Smalltalkを仕事の道具として使ってる人って居る?
教材みたいなタネとしてではなく

878 :デフォルトの名無しさん:2014/10/28(火) 17:19:40.06 ID:U3xh/ZrO
居るかいないかといえば居る。

879 :デフォルトの名無しさん:2014/10/28(火) 17:39:25.96 ID:wqItU/7J
>>875
>>868 が指してるやつだよ

880 :デフォルトの名無しさん:2014/10/28(火) 18:57:39.54 ID:G67znoVZ
>>879
あ、そういうことか。ありがとう。

881 :デフォルトの名無しさん:2014/10/28(火) 19:04:14.37 ID:OoYbG0Wg
>>877
よく知られてる企業でSmalltalk使ってるとこなんて無いんだから、
「居る=マイナー企業で井の中の蛙やってるへたれエンジニア」
ってことになるじゃん

へたれエンジニアと自供させようなんて酷いヤツだな

882 :デフォルトの名無しさん:2014/10/28(火) 19:58:47.25 ID:Zi6JJb/+
>>881が知ってる企業でSmalltalk使ってるとこなんて無い
の言い間違い?だとしても企業名しらなさすぎだし。ゆとりか?
http://smalltalk.cincom.jp/main/successes/

883 :デフォルトの名無しさん:2014/10/28(火) 22:07:41.63 ID:s98vcxYO
>>882
TI は、知ってるから読んでみたら...

1989 年1 月、米国国防省は...

いつの話やねん w

884 :デフォルトの名無しさん:2014/10/28(火) 22:54:38.34 ID:d9dSP/pz
TwitterがDabbleDBを買ったのは2011年だな。
http://blog.dabbledb.com/

885 :デフォルトの名無しさん:2014/10/28(火) 23:20:14.65 ID:26RMclFV
買収されてDabbleDBはソッコーで消えたし
開発してた連中は今ではRuby書いてるよ

886 :デフォルトの名無しさん:2014/10/28(火) 23:52:08.95 ID:z5kQ7TQ9
なんだAvi BryantはRuby見限ってSmalltalkに鞍替えしたのに
結局またRuby書かされてんのか。みじめだな。

887 :デフォルトの名無しさん:2014/10/29(水) 00:13:32.22 ID:1xI7XKse
いや。今はすっかりScalaな人らしい。
http://www.oscon.com/oscon2014/public/schedule/detail/34383

888 :デフォルトの名無しさん:2014/10/29(水) 00:30:15.92 ID:1xI7XKse
Qwaqも2009年に米海軍関連機関に採用されたとたん破綻したし
Smalltalk使ってると解体されたり潰れたりでろくなことないなw

889 :デフォルトの名無しさん:2014/10/29(水) 00:48:27.45 ID:B+aOWxJY
GemStoneは2010年にVMwareに買われて飼い殺されかけたけど
2013年にGemTalkとして再独立して消えずにがんばってる

890 :デフォルトの名無しさん:2014/10/29(水) 01:02:04.34 ID:3qMLreQq
でもVMWareのようにOSごと仮想化する方が
Smalltalkみたいに言語処理系だけの閉じた環境で仮想化するより
大正義だとAWSとかが証明しちゃったからね
飼われたたほうが良かったんじゃね

891 :デフォルトの名無しさん:2014/10/29(水) 03:21:15.31 ID:EoK9ItRE
世の中の皆がSmalltalkのような閉じた言語の処理系系の環境しか使わないのならそういう仮想化も実用性はあっただろうけれど、
実際は特定の一つの言語で片がつくようなプロジェクトばかりではないから、そりゃOSごと仮想化したほうが実用性高いってなるよね

どっかの中小企業が開発したCで書かれてバイナリ提供されてるライブラリを使いたいとなったり、
同じ言語でも処理系のバージョン依存が激しいとなったりすればOSの環境ごと分けて作りこんだほうが何かと安全、手間がかからないってなるだろうしね

892 :デフォルトの名無しさん:2014/10/29(水) 06:33:58.35 ID:G1/18Xk7
Twitterってnodeなんじゃなかったっけ
覚え違いか?

893 :デフォルトの名無しさん:2014/10/29(水) 07:51:44.90 ID:JkYKKADn
RubyからScalaに移した話?

894 :デフォルトの名無しさん:2014/10/29(水) 09:32:28.02 ID:YjNa5iHf
>>888
Qwaq/Teleplace は高性能の Cog JIT VM を
Squeak/Pharo コミュニティにプレゼントしてくれたので
経営には失敗したけれど悪くいえない。
http://goran.krampe.se/2014/10/13/cog-vs-luajit/

895 :デフォルトの名無しさん:2014/11/01(土) 02:13:18.88 ID:KlokPP1T
Smalltalkはどうして失敗しちゃったの?

あ、失敗してないって反論は無しね。もうソコは確定だから

896 :デフォルトの名無しさん:2014/11/01(土) 09:33:24.56 ID:RDc17QeY
Smalltalkが嫌いなら、
Smalltalkが関わっていそうな場所に近寄らなければいいだけ。
失敗してる言語なんだから、そんなに難しいことじゃないだろ?

897 :デフォルトの名無しさん:2014/11/01(土) 09:56:28.07 ID:woVuP3aC
なんか悔しいんだよきっと

898 :デフォルトの名無しさん:2014/11/01(土) 10:02:56.62 ID:KlokPP1T
人は失敗からも学べるからね

まあ好きとか嫌いでしか物事考えられない馬鹿は
何からも学べないんだろうけど

899 :デフォルトの名無しさん:2014/11/01(土) 10:15:40.83 ID:t34NKh2g
Smalltalkの失敗って九大病院の件しか聞いたことがないけど他にあるの?

今は選択肢が沢山ある時代だし、Smalltalkにこだわっている人やプロジェクトはないと思うけど

900 :デフォルトの名無しさん:2014/11/01(土) 21:10:43.06 ID:bVkQrW5O
>>898
Smalltalkみたいな単純な言語を学ぶ力すらないおまえに
Smalltalkの失敗から学べる何かがあるとはとうてい思えないけどな。

>>899
九大病院のあれはSmalltalkと言うより日本IBMをパートナーに選んだ失敗。
http://drillbits.tumblr.com/post/15664104845

それより、
ケント・ベックたちが火消しに入ったけど失敗した、COBOLで書かれたクライスラーの
給与システムをSmalltalkのに置き換えようとした炎上プロジェクトこそSmalltalkの失敗。
http://en.wikipedia.org/wiki/Chrysler_Comprehensive_Compensation_System

901 :デフォルトの名無しさん:2014/11/01(土) 21:37:04.78 ID:mUvqqgtr
失敗から学ぶことには、同じ轍を踏まないようにする意味があるけど
失敗したSmalltalkそのものを学ぶことには価値はないよ

902 :デフォルトの名無しさん:2014/11/01(土) 22:35:34.47 ID:3Qbwh71S
Smalltalkから得られることなんて何もないことと
おまえがSmalltalkの失敗から何をも学びとる力がないこととは
直交する

903 :デフォルトの名無しさん:2014/11/01(土) 22:59:36.69 ID:3Qbwh71S
そもそも失敗した言語それ自体に価値がないと決めつけているやつが
その言語の失敗から何かを学ぶことに価値があると信じている時点で謎

加えて一般論として、背景も理解しようとせずに失敗のみからなにかを学べると
本気で信じているなら真性のバカ

Smalltalkにいまさら学ぶべき価値がないことはまぎれもない事実だが、
失敗から学ぶうんぬん言ってFUD繰り返す気持ち悪いアンチが低能なのも事実

904 :デフォルトの名無しさん:2014/11/01(土) 23:02:53.92 ID:woVuP3aC
まあ、すでにSmalltalkに影響をうけたOOP言語がたくさん出てるからね

905 :デフォルトの名無しさん:2014/11/02(日) 00:18:37.11 ID:/3am1v+i
失敗の背景としてはこういう基本的なところを押さえておきたい。


Smalltalkの底を流れる設計思想 - ダン・インガルス
http://web.archive.org/web/20041016084842/http://marimpod.homeip.net/chomswiki/24#

計算機を使うための言語の設計は、内部のモデル、
外部の媒体、そして人間と計算機におけるこれらの
相互作用への考察を含んだものでなければならない

このせいもあって、計算機の言語を狭い意味でとらえる人に
Smalltalkの特徴を説明するのは難しい。Smalltalkは単に
処理の手続きをもっとよくとりまとめるための方法とか
メモリ管理の新手法というだけではない。また単なる
拡張可能なデータ型のピラミッドとかGUIだとかという
わけでもない。Smalltalkはこれらすべてプラス、[図1]
に示された対話をサポートするのに必要なことすべてなのだ。

[図1]言語設計のスコープ。二人のヒト(か、一人のヒト
と計算機)の間のコミュニケーションには二つのレベルがある。
陽のコミュニケーションはあるメッセージによって伝達される
情報を含む。陰のコミュニケーションは対話しているものが
共有する前提を含む。
http://web.archive.org/web/20041016084842im_/http://marimpod.homeip.net/chomswiki/uploads/24/dpbs_figure1.1.gif

906 :デフォルトの名無しさん:2014/11/02(日) 00:31:03.27 ID:zCm1VvUy
ところで、Smalltalkに恨みでもあんのか?w

907 :デフォルトの名無しさん:2014/11/02(日) 03:43:00.30 ID:PSHwlJIq
javascript = (perl + Smalltalk + scheme)/3

908 :デフォルトの名無しさん:2014/11/02(日) 05:11:46.25 ID:Vf5VSDSD
var Tom = {}; // new Object();
Tom.age = 50;

空のインスタンスを作って、属性を追加する
なんじゃ、これ!

各インスタンスに、自由に属性を追加できる!
JS使うと、無茶苦茶になるでw

909 :デフォルトの名無しさん:2014/11/02(日) 05:14:58.31 ID:4UwsIu6G
>>908
そりゃあ、JavaScriptはObjectが連想配列兼ねるからね

var Tom = {};
Tom["age"] = 50;

…出来なかったら困るだろうよ

910 :908:2014/11/02(日) 05:35:44.89 ID:Vf5VSDSD
Tom.age = 50;
Tom["age"] = 50;

属性を、ドット/ブランケットの両者で表記できるんだね

でも一々、動的に属性を追加したりするのは、
静的な言語よりも、大変な手間がかかりそう

911 :デフォルトの名無しさん:2014/11/02(日) 05:41:31.17 ID:cOZRjysN
C++でいえば、any変数をmapに突っ込むって感じか。
動的プロパティは無いけど。

912 :908:2014/11/02(日) 06:05:50.37 ID:Vf5VSDSD
var str1 = 'ab';
var str2 = 'cd';

Tom[str1 + str2] = 50; // Tom.abcd = 50;

ブラケット表記なら、属性名を動的に決めることができて、
連想配列に使えるね

913 :デフォルトの名無しさん:2014/11/02(日) 07:03:37.50 ID:qsGQJo5y
Pythonは、Rubyを目の敵にしている
Rubyさえ消えれば、Pythonの1強だから

鬼畜米英に対して、今こそ、日本人として立たねばならぬ!
全国民は何があろうと、Rubyを死守せよ!

914 :デフォルトの名無しさん:2014/11/02(日) 07:25:13.38 ID:JFWg5+kv
お断りします。
いいものはいいといえるのが日本人です。
Rubyistさんは思考が朝鮮人みたいですね。

915 :デフォルトの名無しさん:2014/11/02(日) 08:58:32.00 ID:FMU9P7y3
>>903
>Smalltalkにいまさら学ぶべき価値がないこと
これは大昔の教育用の教材言語だと勘違いしていた。過去には、
この言語でまともなシステムが開発されて、今でも(COBOLのよ
うに?)稼働していて、保守されているシステムもあるのですか?

916 :デフォルトの名無しさん:2014/11/02(日) 10:07:13.18 ID:D5eKszqC
rubyistがpythonを意識し過ぎというならわかる
>> 913
のように。

pythonistaはrubyをそれほど気にしてない気がする

917 :デフォルトの名無しさん:2014/11/02(日) 10:20:13.96 ID:4UwsIu6G
そいつはかなり極端な例だが
Rubyist(Rails一辺倒の人を除く)は人によって差はあれど
他言語の話が好きな傾向があるのは確かだと思う、俺自身もそうだし

918 :デフォルトの名無しさん:2014/11/02(日) 10:26:57.43 ID:gwsCz/b5
pythonに勝ちたいなら、さっさとscirubyの開発進めて欲しい。言語としてrubyが好きでも、pythonに移らざるを得ない

919 :デフォルトの名無しさん:2014/11/02(日) 13:33:48.76 ID:SnPD8yA7
rubyって教団作りの実験だろ?
見ててそんな感じするわ
子供信者に支えられてやっと一人前になったね

920 :デフォルトの名無しさん:2014/11/02(日) 13:39:52.18 ID:mhXgKda+
純日本人なら黙ってRubyってことでオケ?

921 :デフォルトの名無しさん:2014/11/02(日) 14:29:33.99 ID:vvnFSn6g
>>915
どんなSmalltalkの説明を読むとそういう理解になるのだろう^^;
とりあえず>>882 のリンク先とか目をとおしましたか?

国内でもPOSレジに使われているのを見かけたことありますよ。

処理系もVisualWorksやGemStone/Sなどの商用をはじめ、
SqueakやPharoなどのオープンソースながらも本格実装、
GNU SmalltalkやAmber Smalltalkなどファン手製の変わり種など
新旧処理系の開発が続けられていて、いまだに現役です。

922 :デフォルトの名無しさん:2014/11/02(日) 14:39:00.91 ID:zCm1VvUy
いまさらSmalltalk叩いてるやつは恨みでもあんのかってw

923 :デフォルトの名無しさん:2014/11/02(日) 15:11:29.40 ID:SljKnHGj
いまさらTcl/Tkを叩くようなもんだよな
死体蹴りは趣味悪いぞ

924 :デフォルトの名無しさん:2014/11/02(日) 15:44:26.84 ID:pa2U0Qx8
>>920
もしそのとおりなら、Rubyを応援するが、実際は、そうでもない。日本人、初心者をバカにする

925 :デフォルトの名無しさん:2014/11/02(日) 16:58:37.25 ID:XtmY11cs
>>923
低能アンチ君。元気が良いなぁ、何かいいことでもあったのかい?

926 :デフォルトの名無しさん:2014/11/02(日) 17:22:50.79 ID:zCm1VvUy
いつも思うけどお前ら何と戦ってんだよw

927 :デフォルトの名無しさん:2014/11/02(日) 17:37:24.65 ID:vxEoPS2x
ruby 屋さんは python と戦っているが、python 派は、はて‥Cか?

928 :デフォルトの名無しさん:2014/11/02(日) 19:05:28.26 ID:D5eKszqC
pythonとrubyともに刺激しあうのがいいし選択肢もあっていい

ブラウザ環境下のjsにもそういう存在がいてくれたらなーとよく思う

929 :デフォルトの名無しさん:2014/11/02(日) 21:06:45.10 ID:091n3lbv
SmalltalkもHSPと刺激し合えば良いと思うよ
今ではScratchくらいしか普及した貢献が無いんだから

930 :デフォルトの名無しさん:2014/11/03(月) 11:15:02.13 ID:C9Z/RfTt
今でこそ OO は世界標準だが、smalltalk の OO 普及活動は当初は宗教じみていたんでね‥
言語にとどまらない OS まで含ませようとする世界制覇みたいなところが‥
当時はともあれ現在の計算機の能力ではやっていけるのならいいのだが‥

931 :デフォルトの名無しさん:2014/11/03(月) 11:40:10.89 ID:yN2w0N/w
へぇ。じゃあ一緒にUnixを押し付けたC言語はどうだったというのだね?

932 :デフォルトの名無しさん:2014/11/03(月) 11:46:06.38 ID:C9Z/RfTt
C に宗教じみたところはなかったからね‥
できることを記述するだけだったしね‥
ポインタくらいかね、まあ概念としては簡単だし‥

933 :デフォルトの名無しさん:2014/11/03(月) 11:48:30.96 ID:GHCh+c9h
unixを押し付けたC言語からなぜWindowsが出来たんでしょうね

934 :デフォルトの名無しさん:2014/11/03(月) 11:49:31.42 ID:aNJ5eidf
ちなみに宗教とかいって話を如何わしいものであるという方向持ってこうとするのは
日本人気質によるもので、他の国には見られません

935 :デフォルトの名無しさん:2014/11/03(月) 12:08:38.75 ID:JkrPdOEP
Smalltalkerを実際に知ってるが、確かに(OS X以前の)Mac信者に通じる
宗教っぽさがあったな

936 :デフォルトの名無しさん:2014/11/03(月) 12:44:16.36 ID:yN2w0N/w
WindowsのどこにもC言語の文化は見えないね。コンパイラも付いてこないし、
だいたいMS-DOSという機械語でガチガチに実装してたシステムのGUIラッパーが
Windowsの出自じゃないかw

しかし、Unixだってたいがい宗教じみてるし、WIndowsだって似たようなものなのに、
「俺の嫌いなアレ」だけが宗教だ、みたいに主張する奴が多くて滑稽。

937 :デフォルトの名無しさん:2014/11/03(月) 12:53:10.62 ID:C9Z/RfTt
俺様と同様 smalltalk にも敵が多いようだね‥わかるような気がするね‥

938 :デフォルトの名無しさん:2014/11/03(月) 13:12:35.44 ID:CZDqb7cK
青木純の本とか読むと、Smalltakerの宗教じみたキモさってのがわかると思う。

あと何かを考える上で、違いや優劣の視点から考えるのは基本だと思うんだよね。
なんでも似たようなもの、個人の好き嫌い、みたいな行き過ぎた価値相対主義は
単なる思考停止、反知性主義な愚か者の思考だと思う。

939 :デフォルトの名無しさん:2014/11/03(月) 13:32:40.28 ID:aZ1lF/ar
>>938
>個人の好き嫌い、みたいな行き過ぎた価値相対主義は
>単なる思考停止、反知性主義な愚か者の思考だと思う。

これのことか....
>青木純の本とか読むと、Smalltakerの宗教じみたキモさ

たしかに、思考停止と反知性主義な愚か者の思考だね

940 :デフォルトの名無しさん:2014/11/03(月) 13:38:06.06 ID:ivBcZJVZ
>>938
> 愚か者の思考だと思う。

自己紹介乙

941 :デフォルトの名無しさん:2014/11/03(月) 13:39:44.97 ID:aNJ5eidf
おまえらSmalltalkに個人的な恨みでもあんのかよw

942 :デフォルトの名無しさん:2014/11/03(月) 13:42:26.01 ID:ANFWCHRG
どんな言語にも信者はいるし、そいつらの発言は宗教くさい

ただ、メジャーな言語は信者でも何でもないユーザが大半だけど、
マイナー言語をわざわざ使うのは信者だけ
だから目立つ

943 :デフォルトの名無しさん:2014/11/03(月) 13:43:00.74 ID:aNJ5eidf
信者w

944 :デフォルトの名無しさん:2014/11/03(月) 14:00:10.03 ID:H8eeTM/M
対象を批判されると、自分の人格を批判されたかのように
烈火の如く怒り出したり、
あまつさえ批判した相手の人格を攻撃し始めたりするところが
宗教っぽいよな

945 :デフォルトの名無しさん:2014/11/03(月) 14:08:32.66 ID:yN2w0N/w
最近はWindows信者がそんな感じになってきてるよなw

946 :デフォルトの名無しさん:2014/11/03(月) 14:22:36.33 ID:aNJ5eidf
アンチも行き過ぎると、自分自身がいつも使ってるものの信者であるといってるのと同じ
つまり、不毛なのでつまらん話はやめなさいということw

947 :デフォルトの名無しさん:2014/11/03(月) 14:35:47.52 ID:C9Z/RfTt
>>945
大半のWindows7 ユーザー(私もだ)はそうでもない、よくも悪くも Windows はドッグフードだからね、カトラー自身もいってたじゃない‥
Windows8/10 に手を出している人の中にはいるかもね
UNIX/Linux 信者の方がしつこいんじゃない‥

って Smalltalk の話となると OS に言及したくなるのも‥まあ、そういうものですか‥

948 :デフォルトの名無しさん:2014/11/03(月) 14:43:16.23 ID:yN2w0N/w
別にLInux使いだってRHELの鉄板な版を使ってる人から、Fedoraのrawhideで毎日血を流してる人までいると思うが

949 :デフォルトの名無しさん:2014/11/04(火) 14:29:24.89 ID:ZSx3BfgV
Officeとブラウザぐらいしか使わないから、mintやubuntuで十分

950 :デフォルトの名無しさん:2014/11/04(火) 14:32:51.71 ID:ZSx3BfgV
Smalltalkのホットな話題って、何処で議論されてるの?
このスレでしか見たことないんだけど。

951 :デフォルトの名無しさん:2014/11/04(火) 15:57:30.80 ID:0blbt53y
http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/
http://lists.squeakfoundation.org/pipermail/squeak-dev/

http://planet.smalltalk.org/
http://consortium.pharo.org/web/news
http://planet.squeak.org/

952 :デフォルトの名無しさん:2014/11/04(火) 19:37:48.24 ID:6LVYr/c9
>>950
時代遅れの化石にホットな話題とか無茶振りすぎるわ

953 :デフォルトの名無しさん:2014/11/04(火) 23:45:00.73 ID:9lQ17wqs
化石ついでに最近の Smalltalk-78 の再現は自分的にはホットなネタだったりする。
(Lively Kernel 上に実装されているので JS ネタでもあるけど)

http://lively-web.org/users/bert/Smalltalk-78.html
http://www.freudenbergs.de/bert/publications/Ingalls-2014-Smalltalk78.pdf

Smalltalk-78 は、今の Smalltalk として知られるようになった Smalltalk-80 のひとつ前に
試作された Smalltalk-76 を、Osborne 1 などの元ネタとなった PARC の Notetaker
http://www.forbes.com/pictures/eiml45gfk/the-xerox-notetaker-portable-computer/
向けに拡張(&コンパクト化)したバージョン。

また、アラン・ケイはメタクラスがあったり条件分岐もループもメッセージング式で行なう
行き過ぎた今の Smalltalk より、メタクラスも(ファーストクラスの)ブロックもなくて、
if や while 構文がある Smalltalk-76 のほうが好きだったそうで、
Ruby は Smalltalk-76 に似ているから好きと Matz に言ったとか。
http://www.rubyist.net/~matz/20060608.html#p01
そんな Smalltalk-76 の片鱗にも見て触れることができて胸熱。

蒸し返すようだけど、Smalltalk の失敗から学ぶ上でも押さえておきたい背景とも言える。

954 :デフォルトの名無しさん:2014/11/05(水) 09:06:47.33 ID:+2ULCI/n
>>953
なるほど、Rubyを押さえておけば良いのか

955 :デフォルトの名無しさん:2014/11/05(水) 10:23:43.06 ID:hrZ2iYVz
Smalltalk の失敗から学ぶという意味では、
言語としては Ruby、GUI としては Mac を押さえておくのは順当なんじゃない?
これらは Smalltalk の特色の一部+独自の工夫のアレンジ・アピールで
ずっと多くの人に受け入れられたわけだから。(もちろん、それのみということはないけれど、
両者が Smalltalk からの影響を無くして同じ成功を収めえたかどうかという観点で。)

ただ、言語の Ruby は今後どうなるかわからないけれど、一方の GUI については
直接の影響下にあった旧Mac は進化の隘路にはまってもう滅びてしまっているわけで、
一部を切り取って拝借しそれをアレンジ・アピールしてイノベーションを起こせたように見えても、
元ネタである Smalltalk のようにその後も変化・適応を続けて生きながらえ、
ただ生きながらえるだけでなく、また別の価値(たとえばトレイトとかモーフィックとか)を
新たに具現化していけるわけではないことは、成功とは何かということを考えさせられる。

956 :デフォルトの名無しさん:2014/11/05(水) 11:01:46.15 ID:yca9uhKQ
Smalltalkを使ってる連中よりも旧Macを使ってる連中の方が多いと思うぞ
どっちもメジャーな舞台からは脱落してる

957 :デフォルトの名無しさん:2014/11/06(木) 11:48:35.10 ID:boOGm5M/
RubyなんてもうMatz信者と島根十二支族ぐらいしか使わないよ
新規案件で積極的に採用されないことは明白だし、人生とは何かということを考えさせられる。

958 :デフォルトの名無しさん:2014/11/06(木) 12:17:49.95 ID:ki6zkhTW
そうだね。
脳内妄想だけをソースにRubyをdisるだけが能のおまえの人生、ほんとに考えさせられるw

959 :デフォルトの名無しさん:2014/11/06(木) 12:21:02.63 ID:boOGm5M/
てか、Ruby信者の脳内お花畑って、何を参照してるわけ?
今もう、ググったところで、node.js over Railsみたいな記事しか出てこない
このクラスタに居る連中って、もともとRailsに居た層だしさw

960 :デフォルトの名無しさん:2014/11/06(木) 12:22:55.89 ID:CYtemmd6
C++ Java JavaScript
結局生き残ったのはこの3つだったと

961 :デフォルトの名無しさん:2014/11/06(木) 12:42:05.84 ID:ki6zkhTW
よくわかる脳内お花畑だねw
違うか、世界の狭さかw

962 :デフォルトの名無しさん:2014/11/06(木) 13:03:04.19 ID:boOGm5M/
>>960
技術者と道具は使い捨て。

963 :デフォルトの名無しさん:2014/11/06(木) 13:42:13.29 ID:ilh+Dp7P
資産は手放さない(COBOL)

964 :デフォルトの名無しさん:2014/11/06(木) 16:25:45.46 ID:NlZscSaQ
PythonとDartがあればそれで良い。
あとはC++とJavaとGo

結局Googleの世界になったわけだ。

965 :デフォルトの名無しさん:2014/11/06(木) 16:57:56.39 ID:boOGm5M/
dartもtypescriptもduke script出てきたからもう用済み
言語なんて、最初からjavascriptとc++だけで良かった
GCの仕組みを付けて、クロスプラットフォームの方向で規格を作ればそれで良かった

966 :デフォルトの名無しさん:2014/11/06(木) 17:07:26.11 ID:ki6zkhTW
追っかけしか能のないおまえが用済みなんじゃねーのw

967 :デフォルトの名無しさん:2014/11/06(木) 17:21:03.34 ID:boOGm5M/
先見性ある有能な技術者たちは最初からcとCOBOLしか使わないよ
無能は最新鋭の道具を使い続けることで、有能な技術者を蹴散らせるんだ。
その最終形態がjavascriptだろうね。これ以上はもう進化しない

968 :デフォルトの名無しさん:2014/11/06(木) 18:49:31.20 ID:Yp9ASOGo
いつものJS厨
スルー推奨

969 :デフォルトの名無しさん:2014/11/06(木) 19:29:17.87 ID:ki6zkhTW
流石にこれは、

> COBOLしか使わないよ

釣りに釣られてしまったようだなw

970 :デフォルトの名無しさん:2014/11/06(木) 19:34:35.69 ID:boOGm5M/
Webから入ったようなバカ共は知らないだろうけど、
大企業のシステム部門ほど保守的にCOBOL使ってるよ

971 :デフォルトの名無しさん:2014/11/06(木) 19:38:52.43 ID:S+O4ynQg
極端なことを言えば四則演算してるだけだからな

972 :デフォルトの名無しさん:2014/11/06(木) 20:11:38.14 ID:qa/zA3LZ
Rubyについて Part50 を誰も立てないんだから、やっばり下火なんだろう

973 :デフォルトの名無しさん:2014/11/06(木) 20:12:59.69 ID:ki6zkhTW
システムを更新できない下り坂の、というプレフィックスが抜けてるぞw

974 :デフォルトの名無しさん:2014/11/06(木) 20:19:36.42 ID:E1F4gijJ
>>965
>duke script出てきたから
まだこのプログラム掲示板には、duke scriptは出てきてないので
建ててくれ! 話はそれからだ!!!

975 :デフォルトの名無しさん:2014/11/06(木) 20:32:26.19 ID:boOGm5M/
ttp://www.youtube.com/watch?v=7vQvn0pKAZA

976 :デフォルトの名無しさん:2014/11/06(木) 20:53:38.11 ID:39IZf/FT
パイソンだよね。分かってる。砂漠に居るガラガラヘビでしょ?知ってるよ。コルトパイソンって銃もあったよね。
でもねPythonという字面見ると、わかってるのに「フェイトン」と読んでしまうんだ。
「違う!パイソンだ!」
頭のなかでは解ってるんだ。
でも一番最初にフェイトンと読んでしまう。

もうフェイトンで正解にしてくれないかな?

977 :デフォルトの名無しさん:2014/11/06(木) 21:31:06.13 ID:GdD/Qq14
俺はたまに、ぴちょん君って読んでしまいそうになる

978 :デフォルトの名無しさん:2014/11/06(木) 21:50:40.68 ID:oocVlm4p
Dartはまったく見込みないと思う

979 :デフォルトの名無しさん:2014/11/06(木) 22:01:59.47 ID:jjGYjgfa
pyでどうやってフェイと読めるのか(fy,phyならまだわからなくもない)

thonでどうやってチョンと読めるのか(chonならわかる)

なんかすごいセンスだな

980 :デフォルトの名無しさん:2014/11/07(金) 01:39:50.23 ID:2s1DOJpY
最初の頃、頭のなかで綴りが入れ替わって読んでたの。
PythonじゃなくPhyton
PhだとPHILIPSでハ行フでPhyでフェイ
と頭のなかで読んでしまった癖が抜けないんだわ。
多分二三年は「フェイトンスクリプト」というものだと思い込んでた。使ったこともなかったしね
二三年も読んでると、もう抜けないよ。

>>977さんじゃないけどチョンは分かる
ワープロ専用機のローマ字入力ではthonでチョンと出る機種使ってたから・・・(キャノワード)

981 :デフォルトの名無しさん:2014/11/07(金) 07:17:18.67 ID:fJwKtGM6
Pythonって日本じゃマジで仕事ねーな!
てか、全体的に年俸額平均ひっく!

ttp://livedoor.blogimg.jp/itsoku/imgs/1/f/1faad113.png

982 :デフォルトの名無しさん:2014/11/07(金) 08:31:23.24 ID:Xu80vYTx
COBOLと(Visual)BASICが上位という現実

983 :デフォルトの名無しさん:2014/11/07(金) 08:32:05.07 ID:Xu80vYTx
>>982
ごめん逆に見てた

984 :デフォルトの名無しさん:2014/11/07(金) 09:06:13.46 ID:77KIGWbE
>>981
それ最低額の平均値だからな

985 :デフォルトの名無しさん:2014/11/07(金) 10:27:09.33 ID:QgM9KfjU
>>979
ネタにマジレスするセンスの方がすごいと思うw

986 :デフォルトの名無しさん:2014/11/07(金) 12:32:59.26 ID:wPWUsFcH
>>980
脳みそが欠陥品、
親にリコール出してこい

987 :デフォルトの名無しさん:2014/11/08(土) 03:59:04.80 ID:3wU+5H6t
ペイソンは読みにくい
これがどれほどのネックかわかってない奴は営業が全く出来ない奴
日本じゃ永久に流行らないのがペイソン

これからもRubyの一強時代が続いていく

988 :デフォルトの名無しさん:2014/11/08(土) 04:01:58.50 ID:3wU+5H6t
ペイチョンwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

989 :デフォルトの名無しさん:2014/11/08(土) 07:12:28.47 ID:idmJASrx
meteorがver1.0になったね
本格的にRailsやDHHともサヨウナラだ
1つの時代が終わったんだ

990 :デフォルトの名無しさん:2014/11/08(土) 10:30:24.22 ID:G/t0xEls
はいはい、いつものJS厨

991 :デフォルトの名無しさん:2014/11/08(土) 11:47:38.33 ID:om46DDyf
>>987
$____="#"=~/$/;$___=$____+$____;$_=$____+$___;$__=$___+$_;$_____=$___+
$__;@@_=""<<($_*$_*$_____+$_); @@__=""<<($___*$__*$_____);@__=""<<($_*
$__*$_____); @___=""<<($__**$_-$___**$_);@_=""<<($__**$_-$_);@_<<@_;__=
->(_){_>$____&&__.(_-$____);($><<[_%$_<$____?(@@__+@__+@_):_%$__>(""=~
//)?_:'',[@@_+@___+@_][_%$__]]*''+(""<<($___*$__)))};__.($___*$___*$__*$__)
-- http://d.hatena.ne.jp/mickey24/20110108/fizzbuzz_in_symbolic_ruby
http://d.hatena.ne.jp/nishiohirokazu/20120906/1346938523
http://perl-users.jp/articles/advent-calendar/2010/sym/9

こういう変なプログラミングがやりやすい言語ってのは、
変な使い方でクソ読みにくいコードを生産しやすい言語。
結局、使い方の問題だよ。

992 :デフォルトの名無しさん:2014/11/08(土) 12:45:54.35 ID:lN5fgWBI
>>987
perlの読みにくさとどっちが上?

993 :デフォルトの名無しさん:2014/11/08(土) 17:04:09.73 ID:iid1PSVv
やっぱりJavascriptが凄いの?
Pythonはこれからも生き残ると思うんだけども

994 :デフォルトの名無しさん:2014/11/08(土) 19:34:39.67 ID:idmJASrx
ttp://www.kalzumeus.com/2014/11/07/doing-business-in-japan/

995 :デフォルトの名無しさん:2014/11/08(土) 19:36:49.88 ID:idmJASrx
>>993
pythonが生き残るとしても、それはボランティアベース
OSSとはいえ、金になるものに開発者のリソースが投入される

996 :デフォルトの名無しさん:2014/11/08(土) 22:40:23.19 ID:xBZHHdRa
インターネットで他にやることが無いならまだしも
今の時代にプログラミングでOSSに参加する他にもいろいろあるだろうに

お金にならないOSSに参加して数千時間を消費してる人って
その分、副業でも本業のための勉強でもやっていたら
きっと今は高い生活水準にあったと思う
こうやって一過性の楽しさに身を任せて、確かに凄くても殆ど無駄って行為に躍起になってんのは
2chで時間潰してんのと、どういう違いがあるのかね?
確かに知識量が増えたって、その集めた知識をこれからどう使うかとか全く考えてないなら無駄って事だよ
そうやって将来に役立つか、役立たないかわからないけどとりあえず覚えとく みたいな作業は学生までにしないと
なんだか、永久に発芽しないで栄養だけ蓄え続けてる種みたいな存在になってくと思うよ

997 :デフォルトの名無しさん:2014/11/09(日) 00:17:00.51 ID:CQ95p10N
>>996

お金になる仕事はやっても自分の成果として残らないとか
お金になっても殆どは自分のポケットには入らないとか
現実派複雑なのさ

998 :デフォルトの名無しさん:2014/11/09(日) 00:52:28.67 ID:mPJWLa2A
Webサイトのインフラ構築でDjangoってこれからきそうな気はするけどな、
今のところはPHPとRoRの2強って状態だが

999 :デフォルトの名無しさん:2014/11/09(日) 01:02:27.36 ID:nlmXbEn2
Webサイトなんて大きなとこはJavaで
小さなとこはPHPで良いんじゃねーの?

1000 :デフォルトの名無しさん:2014/11/09(日) 02:46:14.88 ID:gF5CsO0E
ゴミ

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

312 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)