【Python】スクリプト バトルロワイヤル46【pl,rb,php,js】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2014/08/27(水) 00:17:35.06ID:2yseGAwQSmalltalkはガラパゴス化が激しく、そのユーザは
現代の開発において使い物にならない
ポンコツであることが判明したのだった……
前スレ
【Python】スクリプト バトルロワイヤル45【pl,rb,php,js】
http://peace.2ch.net/test/read.cgi/tech/1405874605/
0002デフォルトの名無しさん
2014/08/27(水) 01:33:44.42ID:K9igsSCk0003デフォルトの名無しさん
2014/08/27(水) 01:34:34.92ID:Gkyyi0oWリポジトリとは別にブランチというものがあるのを理解してくれ
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
0004デフォルトの名無しさん
2014/08/27(水) 01:48:47.94ID:K9igsSCk理解してるんなら説明してみ。
中央リポジトリーのmasterから
開発者各々がcloneでブランチを作り、
各々が中央リポジトリーの変更をpullで反映しつつ、
pushで各々の変更を中央リポジトリーに反映する方法
とは違う素敵な方法があるんだろ?
0005デフォルトの名無しさん
2014/08/27(水) 01:49:57.41ID:Gkyyi0oW◆開発者側
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できないような制限をかけることが出来るサービスも多い
0006デフォルトの名無しさん
2014/08/27(水) 01:51:49.73ID:Gkyyi0oWcloneでブランチを作るってのがもうすでに全く分かってない証拠
cloneで出来るのはローカルリポジトリ
そりゃローカルリポジトリのmasterをいじってpushしたら問題は起こる
cloneした後に更にトピックブランチを切るの。
理解してるんなら説明してみ、っていうか業務で使ってんだよこっちはw
炎上学習法なのかわからんけど、人に説明させるより自分で理解したほうが早いと思うけどなあ
0007デフォルトの名無しさん
2014/08/27(水) 02:01:18.15ID:K9igsSCkコミッターが居ないのが中央集権型なのに管理者がいるのか。
中央集権型のワークフロー
中央管理型のシステムでは共同作業の方式は一つだけです。それが中央集権型のワークフローです。これは、中央にある一つのハブ (リポジトリ)
がコードを受け入れ、他のメンバー全員がそこに作業内容を同期させるという流れです。多数の開発者がハブにつながるノードとなり、作業を一
か所に集約します
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
次から次へとオレオレルールが飛び出すなぁ。
0008デフォルトの名無しさん
2014/08/27(水) 02:06:59.62ID:Gkyyi0oWだからさ、中央リポジトリで共有リポジトリが1個でもブランチは複数あるってのがわからないのかな?
ブランチを切って開発して、それを責任持った誰かがmasterにマージするということを「オレオレルール」とか言うなら、
一生オレオレルールって言って他人を馬鹿にしてると良いよ。
はっきり言って今までの一連の流れからGitを使って実践的な開発がしたことがないのはおろか、Gitの基本的な概念への理解すら怪しいってのが明らかになったからさ。
管理者ってのは便宜上つけただけでマージの責任を負えるやつなら誰でもいいんだよ。言葉の選び方は悪かったかもしれんがな。
0009デフォルトの名無しさん
2014/08/27(水) 02:07:12.12ID:K9igsSCkお前の周りだけの常識で語られてもなぁ。
中央集権型なんてやろうと思ったことすら無いが、
この方法は公式のマニュアルに乗ってる普通の方法だぞ。
0010デフォルトの名無しさん
2014/08/27(水) 02:11:55.45ID:K9igsSCkじゃ中央集権型なんていわなきゃ良かったろ
> Gitで言うところの中央集権型の意味わかってんの?w
こんなの言われたらGitの公式で使われてる
中央集権型だと思うのが普通だろ。
0011デフォルトの名無しさん
2014/08/27(水) 02:13:43.24ID:Gkyyi0oWだからさ、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
0012デフォルトの名無しさん
2014/08/27(水) 02:14:48.03ID:Gkyyi0oW中央集権型は中央リポジトリにmasterブランチ1個で運用しますってどこに書いてあるのかな?
0013デフォルトの名無しさん
2014/08/27(水) 02:16:49.62ID:K9igsSCkそのリンク先に中央集権型なんて一言もなかったな。
やっぱお前の脳内常識じゃねぇか。
0014デフォルトの名無しさん
2014/08/27(水) 02:34:03.00ID:Gkyyi0oWだからさ、中央集権型ってのはリポジトリが分散してないって話だろう。
それとは独立してブランチの運用の話をしていることが理解出来ないの?
0015デフォルトの名無しさん
2014/08/27(水) 02:34:20.37ID:K9igsSCk書いてあることまんま引っ張ってきただけだから誤読もクソもない。
書いてあることまんまを見て誤読と言うなら…。
>>12
主な問題はブランチ云々じゃなくてアンタが
自分の脳内を常識だと思ってるとこなんだよなー。
中央集権型の説明の続き
二人の開発者がハブからのクローンを作成して個々に変更をした場合、最初の開発者がそれをプッシュするのは特に問題なくできます。もう一人
の開発者は、まず最初の開発者の変更をマージしてからサーバーへのプッシュを行い、最初の開発者の変更を消してしまわないようにします。こ
の考え方は、Git 上でも Subversion (あるいはその他の CVCS) と同様に生かせます。そしてこの方式は Git でも完全に機能します。
小規模なチームに所属していたり、組織内で既に中央集権型のワークフローになじんでいたりなどの場合は、Git でその方式を続けることも簡単
です。リポジトリをひとつ立ち上げて、チームのメンバー全員がそこにプッシュできるようにすればいいのです。Git は他のユーザーの変更を上
書きしてしまうことはありません。誰かがクローンして手元で変更を加えた内容をプッシュしようとしたときに、もし既に他の誰かの変更がプッ
シュされていれば、サーバー側でそのプッシュは拒否されます。そして、直接プッシュすることはできないのでまずは変更内容をマージしなさい
と教えてくれます。
>>11が言ってることが、中央集権型の一般的な例ですよなんて、
どっかに書いてあるんなら勉強不足だったなと反省できるが、
一般に公開されてる資料には>>11の定義が入ってないもの。
0016デフォルトの名無しさん
2014/08/27(水) 02:40:49.91ID:K9igsSCkgit bookは>>6よりgitに詳しく無いんだね。
いや>>6さんスゲーわ。
0017デフォルトの名無しさん
2014/08/27(水) 02:42:41.78ID:D1kHPcdG0018デフォルトの名無しさん
2014/08/27(水) 04:45:59.36ID:fBBDR2vOトットリニーップ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
0019デフォルトの名無しさん
2014/08/27(水) 07:40:53.02ID:e+Vepp1f0020デフォルトの名無しさん
2014/08/27(水) 07:55:46.49ID:fBBDR2vO0021デフォルトの名無しさん
2014/08/27(水) 09:11:14.33ID:gB57fyJC「最後に書き込みした方が勝ち」と思い込んでる病気持ちを
論破することは不可能だよ
病人と根気比べして勝てるわけ無い
0022デフォルトの名無しさん
2014/08/27(水) 09:32:51.66ID:gB57fyJC気軽にブランチ切って開発できるってのが
git普及時の売り文句だったよな
だからブランチ切らずに開発という発想がまず無いわー
0023デフォルトの名無しさん
2014/08/27(水) 11:08:37.58ID:Gkyyi0oW中央集権型がmasterブランチだけでの開発だと読み取れるところを具体的に示してくれ。
公開リポジトリをどう扱うのかを議論する章の前にブランチをどう扱うのかの章が来ていて、公開リポジトリに関する章ではブランチの使い方に言及してないのだから、
中央集権型とかいうのはあくまで公開リポジトリが一つでそこに皆がpushするという意味だろう。
masterに皆でコミットするという意味とは読み取れない。
というかsvnは中央集権型だと思うが、別にsvnだってtrunkだけを使って開発することが中央集権型という意味ではないだろう。
実質的にはマージが大変だから皆そうしてるだけという話であって。
いくらgit bookと矛盾してそうなところ見つけてもそれ、あんたが誤読してるだけだからなw
git使ってたら当たり前すぎてわざわざ説明する必要もないことをこっちは延々説明してるんだから。
0024デフォルトの名無しさん
2014/08/27(水) 11:19:01.11ID:gVIx82Z4初心者のハマってる落とし穴をみて笑ったり馬鹿にしてる中級者ってショボいよな。
いい環境が育たないし、初心者は挫折し、中級者は自分の今いる位置で満足する。
上級者は「俺には関係ない、勝手にやってくれ」だから時代遅れのやり方今だに続けてるし
これだから日本のソフトウェア業界はショボいって言われる。
良い奴はみんな海外行って帰ってこないし、やってる事民度のレベルが韓国とかと変わらん。
これからの若い奴にはプログラミングなんてハードウェア次第でいくらでも変わっていくし、便利なもの、めんどくさい作業ですらパソコンが担うようになるから
難しいとか思わずにどんどん突き進んで欲しい。
同じ国内しか視野持てないカスどもを淘汰することを楽しみにしておるぞ
0025デフォルトの名無しさん
2014/08/27(水) 11:52:17.04ID:cnpppNKw0026デフォルトの名無しさん
2014/08/27(水) 14:05:03.16ID:Pmu2yyQ70027デフォルトの名無しさん
2014/08/27(水) 14:18:54.74ID:EQzDlHDvプログラミングって行為自体は全然良いんだけど、
PG/SEなんてどっかぶっ壊れてるんだろうなって前提で接する事しかできない
僅かに壊れて無い奴がいたとしても、優秀な奴ばっか集まるとこだけ
中小企業のなんてみんなぶっ壊れてる
というか周囲に壊れた奴いれば伝染していくわけで入社当初は大丈夫でもどうせ1年で伝染してオワコンの仲間入りしてるだろうなー
なんでも知識を周りに教えちゃう偽善を振り撒けというんじゃなく
そういうオワコンが調子載ったら即論破出来るくらいの知識は身に着けて、そいつが調子載った時用に隠しとく位になれば
身の回りのオワコンくらいは教育出来るんじゃね?
プロというのは全力を必要な時以外は出さないでおくものだわ
0028デフォルトの名無しさん
2014/08/27(水) 14:25:49.68ID:EQzDlHDv伸びそうな奴だけ歓迎すること
しかし逆に底辺PG/SEからしたら、優秀な奴に来られると自分の居場所がなくなって困るから本能的に排除したがるんだろうね
これが老害
オワコン共
0029デフォルトの名無しさん
2014/08/27(水) 15:18:51.17ID:OJ+evZlr0030デフォルトの名無しさん
2014/08/27(水) 16:42:41.06ID:gVIx82Z4俺は未来人と宇宙人のハーフ
0031デフォルトの名無しさん
2014/08/27(水) 16:57:38.49ID:36wAJh8p>良い奴はみんな海外行って帰ってこないし、やってる事民度のレベルが韓国とかと変わらん。
韓国?そういえば、そんな国もあったねぇ(遠い目
--
[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
0032デフォルトの名無しさん
2014/08/27(水) 17:06:41.62ID:Pmu2yyQ7開発に回ってくれると困る方が多いんだ
0033デフォルトの名無しさん
2014/08/27(水) 17:10:30.72ID:D317Wfm+ま、両方の国が言語で苦労してるのは違い無いが
とか思って見直したら、なんだよ2007年って阿呆らしい、5年も経ったら浦島太郎の世界で何を見てるんだ
日本人の発信もものすごく少ないのは変わらないよ
小学校での英語が正課になってから20年位経てば少しは変わるかも
0034デフォルトの名無しさん
2014/08/27(水) 17:47:03.19ID:36wAJh8p>>>31 言語と言ったら日本語に最も近い言語が韓国語なんだから、それは関係無い
あらゆる言語には類似性と相違性があるけど、「日本語に最も近い言語が韓国語」という学説は無い
戦前の日韓同祖論のように、昔からそういう思想家はたびたび登場していたけど、
つごうのいい時だけの「すりより」はいいかげんキモイ
>ま、両方の国が言語で苦労してるのは違い無いが
日本の場合(パッと思いついたモノだけ):
・OSS言語処理系だと:
・Ruby を開発したまつもとひろゆき氏(Matz)
・関数型言語処理系 SML# を開発した大堀淳氏
・CERN(欧州原子核研究機構)で公式の処理系として採用された
C/C++ インタプリタである CINT を開発した後藤正治氏
・ソフトウェア関連規格では、XMLスキーマ定義言語である RELAX NG の共同開発者である村田真氏
・2008年以降のノーベル賞受賞者(物理/化学/医学) - 6名
>とか思って見直したら、なんだよ2007年って阿呆らしい、5年も経ったら浦島太郎の世界で何を見てるんだ
では、5年も経った現時点ならば、韓国における世界に認められた
OSS言語処理系開発者/ソフトウェア関連規格開発者/ノーベル賞受賞者を浦島太郎へ提示できるよね?
0035デフォルトの名無しさん
2014/08/27(水) 18:17:56.15ID:ZpkkKtYKSmalltalkの話は途中で終わってgitのpatchとは何ぞやって話か延々続いてたな。
0036デフォルトの名無しさん
2014/08/27(水) 18:43:11.42ID:W37/KO91静かになるたびにいちいちSmalltalkの話をふるからおかしくなる。
>>1 の前スレのまとめだってあんなこと書かずにほっときゃいいのにと思う。
0037デフォルトの名無しさん
2014/08/27(水) 18:58:12.40ID:TjHJprezよっぽどプライドを傷つけられたんだろ
惨めさが滲み出してて良いじゃない
0038デフォルトの名無しさん
2014/08/27(水) 19:09:19.59ID:D317Wfm+何百年の文化の違いなんて対したもんだいではないだろ
0039デフォルトの名無しさん
2014/08/27(水) 19:35:36.58ID:gj7+HT+dいまさら初歩的な議論されてウンザリだけど、
Smalltalkで開発する話はレアだから、そっちに進めば良かったのに
GitとSmalltalkを比較できる人間なんて滅多に居ないぞ
だから前スレでこの書き込みした彼には、是非もっと語ってもらいたい
>>>884
>批判になって無い。
>書き込み読んだだけじゃ、Smalltalkの併合機能は大したことが無いように見えるかもしれないが、
>PythonとgitやらRubyとgitなんかの組み合わせじゃ、
>Smalltalk環境なら5分で終わる手間が、
>30分掛かるような事も現実に良くある。
>
>事実を突き合わせて(批)判断する(判)と書いて批判と書くが、
>2chの書き込みだけ見て感情的に非難するより、
>実際にVisualWorksとか落としてみて批判した方がいい。
0040デフォルトの名無しさん
2014/08/27(水) 19:45:48.31ID:xXZX1H7P30分掛かるような作業が5分に縮むのも致し方ない。
0041デフォルトの名無しさん
2014/08/27(水) 19:58:48.21ID:gj7+HT+d何の問題が発生して、どんな解決策を取った結果として
n分の時間がかかった
というあたりが知りたい
もちろんSmalltalkのほうね
0042デフォルトの名無しさん
2014/08/27(水) 20:05:14.92ID:xXZX1H7PgitはPythonのことを知らないから
1本のSourceに関数が50有ったとして、5個の関数て衝突が発生したら、
残り45個の関数は衝突が解消するまで、Testできない。
Smalltalkなら5個を直している間に、
45個に含まれるBugが発生した3個のMethodを修正できる。
0043デフォルトの名無しさん
2014/08/27(水) 20:19:12.90ID:gj7+HT+dバックグラウンドでテストを実行できると
そういうこと?
(さすがに衝突の修正とバグ修正は同時にできないよね人間には)
0044デフォルトの名無しさん
2014/08/27(水) 20:38:28.83ID:xXZX1H7P2人以上いる時の話だよ。
同じSourceに関わった人間が3〜4人いれば
かなり差になるね。
30分が5分は極端だけど60分が15分とかは現実的。
0045デフォルトの名無しさん
2014/08/27(水) 20:43:40.42ID:gj7+HT+dひとりが衝突を修正してる間に、他のひとがバグ修正できるってこと?
0046デフォルトの名無しさん
2014/08/27(水) 20:53:58.43ID:xXZX1H7Pそういう話だよ。
競合が発生せず、競合解決中のMethodに依存しないMethodは、
競合したMethodより先に併合済ませて、
Testできる。
0047デフォルトの名無しさん
2014/08/27(水) 21:05:03.30ID:gj7+HT+dこっちは衝突を直すから、そっちはバグを直しといて
みたいな感じ?
それとも、誰かがマージしてみて失敗したことをBTSとかに書いて、それから役割分担する?
0048デフォルトの名無しさん
2014/08/27(水) 21:05:50.33ID:2yseGAwQだったらマージとデバッグをシーケンシャルに実行しても10分以内に終わるだろ
なんで30分もかかるんだよ
結論:Smalltalkerは足し算ができない
0049デフォルトの名無しさん
2014/08/27(水) 21:11:11.97ID:36wAJh8pノーベル賞受賞者は冗談としても、オープンソースや標準規格に関わる
世界的に著名な韓国人のソフトウェア技術者すら一人も挙げられない、ってことか
まあ、
> 日本だって英語が苦手な人が多いのに、韓国のマスコミの報道によると
> 5000人以上のOSS開発者がいるという。韓国では100人にも満たない。
こんなふうに技術者が奴隷扱いされ優秀な人物から海外脱出するようなお国柄だから、
世界的なソフトウェア技術者を一人も挙げられないのは無茶な注文だったみたいだね(棒
> 何百年の文化の違いなんて対したもんだいではないだろ
OSS開発者が「韓国では100人にも満たない。」のも「対したもんだいではない」んだろね(棒
0050デフォルトの名無しさん
2014/08/27(水) 21:15:20.38ID:KL0wurV3要するに管理単位がメソッドだから、あるメソッドがコミットできればテストに入れるってこと?
そもそも Python とかで開発してるときに一つのファイルをよってたかって修正するケースはあまりないから、たいしたメリットには思えないんだが...
0051デフォルトの名無しさん
2014/08/27(水) 21:19:48.65ID:Gkyyi0oWもう片方は全部コメントアウトで突っ込んどくみたいなスクリプト作れば同じことはできるんじゃないかな。
「GitはPythonのことを知らないから」というのは事実だが、可能性としてはhookでどうにでもなるわけだよね。
0052デフォルトの名無しさん
2014/08/27(水) 21:47:12.08ID:XoxEee4O短いコードでいいので同じ状況を作って
実際に試してみてもらえませんか?
0053デフォルトの名無しさん
2014/08/27(水) 22:11:47.14ID:e+Vepp1fgitにありがちな(そしておそらくはmonticelloでは対応できないであろう)状況と、
それを作り出すことができそうなコードの最低限の要件も出してもらえるとありがたいです。
0054デフォルトの名無しさん
2014/08/27(水) 22:23:08.17ID:ukuC8PC4基本的な流れはこんな感じ。
・併合済みのSourceが入ったSmalltalk用のこんな感じのRepositoryを用意する。
http://www.cincomsmalltalk.com/publicRepository/
・そのRepositoryから開発者が自分のSmalltalk環境に変更を適用すして衝突が発生する。
・衝突が発生しなかったMethodに付いてはUnitTest。
・衝突とUnitTestの結果を確認して、対応できる人を調整して
作業中のSmalltalk環境のImageを渡す。
・Bug修正と衝突が解消したら作業者の修正結果を
Repositoryの中にある一時作業用の枝を使って併合する。
・最後にもう一度UnitTestを走らせる。
・修正結果をRepositoryに反映する。
役割分担の打ち合わせをする時間はどうしても必要になるね。
0055デフォルトの名無しさん
2014/08/28(木) 01:59:48.39ID:+Dwh2iR2そういえば、今世界で一番大きいRailsのサイトってGitHubなんじゃね?
Twitterほどではないにしてもあのレベルのサイトを維持できてるのはすごいんじゃ
まあでも、referencesourceとか見ると、少なくとも静的言語については10年ぐらい遅れてるサイトだなと感じてしまったが
0056デフォルトの名無しさん
2014/08/28(木) 02:58:25.69ID:C8owoY/Kあのレベル。
中級者は周りの環境とかでたまたま中級者になった初心者なんだから
あまり調子に乗るなよ。
ただの中級者でしかない。
品のなさが何よりの証拠。
0057デフォルトの名無しさん
2014/08/28(木) 06:06:45.00ID:5HudKtJoLINEとかも
0058デフォルトの名無しさん
2014/08/28(木) 07:24:30.91ID:7B3Grc38問題は、作れる奴ら集めて開発して
会社として利益回すこと
つまり経営と共同作業がど下手コミュ障ジャップス
0059デフォルトの名無しさん
2014/08/28(木) 07:29:49.93ID:KFPC3CUi技術的に劣ってる上に保守的で、上流から下流まで低能揃いだから
使ってなくても不思議じゃないが
0060デフォルトの名無しさん
2014/08/28(木) 08:09:42.23ID:TURX2PUA日本でももっと普及したんだろうな。
今VisualWorksをタダで貰おうと思ったら、
本家Cincomに英語で個人情報登録しなきゃなんないから
初級者には厳しい。
0061デフォルトの名無しさん
2014/08/28(木) 08:17:34.17ID:Np0KLLND0062デフォルトの名無しさん
2014/08/28(木) 08:40:50.33ID:KFPC3CUiその書き方だと、海外ならSmalltalkが普及してるように読めてしまうな
事実は違うが
0063デフォルトの名無しさん
2014/08/28(木) 11:43:03.18ID:C8owoY/Kウィニーの金子さんだったり、TRON作ってた人達もまとめて航空機事故。普通ありえない。
P2Pの技術なんて使い方工夫すれば本当に凄い技術なのに。
0064デフォルトの名無しさん
2014/08/28(木) 13:19:42.27ID:Hp8Zj0ulある程度名声集めたり出世しそうになると必ず何か
裁判がどうのっていう感じのグダグダに引き込まれる
sora_hも気を付けたほうが良いよ
0065デフォルトの名無しさん
2014/08/28(木) 14:59:06.99ID:5HudKtJoあとはコンソールゲームの任天堂とかスクエニとかだけど、今は海外勢の方が強い
ウェブサービスは皆無だし
0066デフォルトの名無しさん
2014/08/28(木) 21:56:03.24ID:OhGAUiGw俺の現場はgitだね
今までの経験でいうと、何もなし:CVS:Subversion:gitが4:1:3:2ぐらい
0067デフォルトの名無しさん
2014/08/29(金) 03:44:21.22ID:8CYlhDKEなし4か…
0068デフォルトの名無しさん
2014/08/29(金) 03:52:12.68ID:o4c44k3Y5年後ぐらいには、これを踏み台にしてクロスプラットフォームの規格が制定されてるよ。
0069デフォルトの名無しさん
2014/08/29(金) 06:33:41.57ID:4v1OcElJ0070デフォルトの名無しさん
2014/08/29(金) 08:33:11.14ID:+bkqIqnFクロスプラットフォームっていったらQtだけど
Qtがwebブラウザに対応するかが鍵だろう
対応しないなら
html5覇権だろうね
0071デフォルトの名無しさん
2014/08/29(金) 08:42:39.03ID:JuyS8Rqx0072デフォルトの名無しさん
2014/08/29(金) 09:35:50.70ID:+bkqIqnFhtml5 javascriptがwebブラウザにも対応できるクロスプラットフォームアプリ作るのに最適
0073デフォルトの名無しさん
2014/08/29(金) 09:38:26.31ID:HC1xSJU9どんなチョンボをしでかしたんだ?
0074デフォルトの名無しさん
2014/08/29(金) 09:48:37.45ID:+T2tHFPF旧VBのような位置付けに留まるよ
0075デフォルトの名無しさん
2014/08/29(金) 10:21:47.66ID:HC1xSJU9HTML5 はWebプラットフォームそのものなんだぞ なんか勘違いしてるだろ
そもそも言語ですらない(一部にJavascriptが含まれていると言うだけの事)
0076デフォルトの名無しさん
2014/08/29(金) 10:22:48.45ID:HC1xSJU90077デフォルトの名無しさん
2014/08/29(金) 10:32:10.83ID:+T2tHFPF3流のUXを安価に提供するブラウザプラットフォームとして
不動の地位を持ってることは否定してないよ
0078デフォルトの名無しさん
2014/08/29(金) 17:11:28.26ID:JF5lqIUAやっとHTML5で縦書きや右開きで日本人の文化にも馴染むものになりつつあり、音声同期で多くの人に楽しみを与えられるものになりつつ有る。
単純にビデオを流すだけでも今まではflashを使わざるを得なかった呪縛から逃れられた。 若干の調整は残ってるが
言語と言うのはそう言う技術や文化の下支えがあってはじめて成り立つもの。
HTML5とはそう言うものなんだけど何が言いたいんだ?
0079デフォルトの名無しさん
2014/08/29(金) 18:04:45.98ID:y0wlLGq8少しずつ仕事とられて結局jsは死ぬ運命なんだよ
jsで無駄な冗長なソースコードかいてるそれはいずれHTML5に組み込まれて終わり
サーバーサイドも既にPHP筆頭に多くの言語がひしめく激戦区だから参入なんて不可能jsはオワコン
0080デフォルトの名無しさん
2014/08/29(金) 18:50:30.69ID:/jlnFq3Nウェブサイトにちょっとしたエフェクト付けるとか動画を流すとか、これまでflashがしてきたような事はhtml5がいずれ完全に代替すると思う
けど、それ以上にはならないと思う
0081デフォルトの名無しさん
2014/08/29(金) 20:28:34.11ID:HC1xSJU9クラウド味代に欠かせないものだろ
HTMLの裏でどんな言語でも動かせば良いんだから共存共栄だろ
UI がHTMLだと思えば良い
0082デフォルトの名無しさん
2014/08/30(土) 00:19:25.36ID:xweqMAs80083デフォルトの名無しさん
2014/08/30(土) 02:45:47.75ID:Y3aOlWd0Ruby、PHP、JS全部微妙じゃねえの最近
Pythonは教育分野や科学分野で割りと頑張ってるようだが
みんな仲良くしようぜ(´・ω・`)
0084デフォルトの名無しさん
2014/08/30(土) 03:50:47.25ID:QWav5+mbPHP以外、存在しないのと同じ
てか、PHPよりjsの方が文字列処理しやすいよね
0085デフォルトの名無しさん
2014/08/30(土) 04:53:09.28ID:bthGnPJHhttp://postd.cc/sick-of-ruby-dynamic-typing-side-effects-object-oriented-programming/
0086デフォルトの名無しさん
2014/08/30(土) 05:12:13.80ID:AQHhz7Go良く分からないけどLL全部死ぬんじゃね
0087デフォルトの名無しさん
2014/08/30(土) 05:28:00.71ID:AQHhz7Goつまり、世界からさほど重要なものではなくなってきた
0088デフォルトの名無しさん
2014/08/30(土) 08:41:05.69ID:aDzegpD9Perlはsh(シェルスクリプト)、sed 、awk とかを使って来た人が、
使いやすいようにってだけで、
今更新しくって人向きじゃないしね。
文字列の比較のeqとかが、shの数値比較のeqから来てるとか知らんと、
なんやねんってなるだろうし。
0089デフォルトの名無しさん
2014/08/30(土) 08:57:35.34ID:3J76hEg2=が文字列比較でeqが数値比較だから
Perlと逆なんだよね
0090デフォルトの名無しさん
2014/08/30(土) 11:35:38.63ID:T0jUedLAhttp://jobinjapan.jp/
転職・求職活動中の方のご利用をお待ちしています。
0091デフォルトの名無しさん
2014/08/30(土) 12:42:50.26ID:fktBCnc4自己紹介乙w、ついでに添削しとくね
> 私のIT技術への興味の薄れは半端ない
> つまり、私にとってIT技術さほど重要なものではなくなってきた
板違いだから、続けたいならマ板へ逝きなされ
あと IT は "Information Technology" の略語だよ
「馬から落馬した」みたいな言葉を平気で使う
森元総理みたいなIT音痴はプログラマには向かないと思うね
0092デフォルトの名無しさん
2014/08/30(土) 13:16:45.20ID:3J76hEg20093デフォルトの名無しさん
2014/08/30(土) 14:47:40.80ID:gD5SQTD1PerlユーザーがGolangに流れるのは合点がいく
今さらタイプセーフじゃない言語を始める理由ない
0094デフォルトの名無しさん
2014/08/30(土) 14:52:59.50ID:XzWqzjLg0095デフォルトの名無しさん
2014/08/30(土) 15:35:08.93ID:eMjEoUcz翻訳時に型検査する(型安全な)言語は大抵反変な型に対応してないのが辛い。
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();
0096デフォルトの名無しさん
2014/08/30(土) 17:12:06.61ID:bW0dX0pAむしろ、それで流れるならもっと前に別へ流れてるのが自然だと思うのだけれど…
0097デフォルトの名無しさん
2014/08/30(土) 18:26:08.70ID:b6PiuM0VCommand = {};
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();
0098デフォルトの名無しさん
2014/08/30(土) 19:01:14.13ID:3J76hEg2Hello
Bey
Hello
0099デフォルトの名無しさん
2014/08/30(土) 19:59:23.90ID:6WSuRWjK> 「馬から落馬した」みたいな言葉を平気で使う
まだこんなこと言ってる奴がいるんだな w
もう既に IT で一つの言葉になってる
http プロトコルとか SCSI インターフェースとかと同じだよ
0100デフォルトの名無しさん
2014/08/30(土) 20:24:35.40ID:V1laBz/Xそのコードだと一度UnDoを呼び出したら
もう一度ReDo -> UnDoと呼び出しても戻れないだろ
ショボすぎる
最低限こういう挙動になるように書いてくれないとな
やり直し
ActiveJournal.DoIt( HelloCommand ); #=> "Hello"
ActiveJournal.UnDo(); #=> "Bye"
ActiveJournal.ReDo(); #=> "Hello"
ActiveJournal.UnDo(); #=> "Bye"
ActiveJournal.UnDo(); #=>
ActiveJournal.ReDo(); #=> "Hello"
ActiveJournal.ReDo(); #=>
0101デフォルトの名無しさん
2014/08/30(土) 20:33:29.35ID:Xv2623Xm吹いた。自分で違和感ないのそれ
クォートしてググると万ヒット程度はあるけど、この件数だとむしろみんな意味ダブりを気をつけてるって事に感じるけどなあ
0102デフォルトの名無しさん
2014/08/30(土) 20:40:39.56ID:fktBCnc4class 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[]
0103デフォルトの名無しさん
2014/08/30(土) 20:51:05.89ID:CAyHLC1C忘れてたわ
めんごんご
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;
}
}
}
0104デフォルトの名無しさん
2014/08/30(土) 21:52:02.57ID:3J76hEg2> this.DoIt( aCommand );
> this.ReDo = reDo;
どうでもいいけど、順番逆じゃね?
0105デフォルトの名無しさん
2014/08/30(土) 21:53:44.99ID:T0jUedLAPHP(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が一番安い?
0106デフォルトの名無しさん
2014/08/30(土) 22:37:49.26ID:PEff/omhdef 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()
0107デフォルトの名無しさん
2014/08/31(日) 00:12:52.69ID:6JqydWBU例外対策だよ
ReDoに失敗したのにReDo完了になってると不味いから。
0108デフォルトの名無しさん
2014/08/31(日) 00:40:03.78ID:WGg/3o6eDoIt -> UnDo -> ReDo -> UnDo -> ReDo -> ReDo -> ReDo -> ... では3回目以降のReDoも"Hello"を出力し続ける
という統一感の無い仕様に疑問を覚えないタイプか
0109デフォルトの名無しさん
2014/08/31(日) 00:55:55.70ID:/uYnzAqfその辺はどうでも良くね?
ただ動的型付言語にはお題が簡単すぎるな
0110デフォルトの名無しさん
2014/08/31(日) 01:10:24.80ID:gAY4BEiKPerl意外と多いんだな。
まさかCGIの求人とかねーだろうなって思って見たら、
WRB系ってのが結構あるんだが、
多分CGIだよな?
今時まだCGI/Perlなんてあるんだな…。
0111デフォルトの名無しさん
2014/08/31(日) 01:45:29.98ID:ag+J7Um1! 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"
0112デフォルトの名無しさん
2014/08/31(日) 01:57:01.01ID:NvHF5m7cあんた「WebアプリはCGIとPHPしかない」って2chに毒されすぎだよ
0113デフォルトの名無しさん
2014/08/31(日) 02:03:10.59ID:ag+J7Um1各言語によるUnDo/ReDoの実装方法を批判する事がお題の目的で、
別に関数の入れ替えが出来るか試す事がお題の目的じゃないよ。
0114デフォルトの名無しさん
2014/08/31(日) 02:13:20.82ID:ag+J7Um1Bugだね。ごめんごめん。
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;
}
}
}
0115デフォルトの名無しさん
2014/08/31(日) 06:32:49.08ID:midIxlyrLAMPというのがあってね
0116デフォルトの名無しさん
2014/08/31(日) 10:48:06.72ID:WGg/3o6eclass 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()
0117デフォルトの名無しさん
2014/08/31(日) 12:26:03.31ID:jMVPb3Gf勝手に書き直してみた。
http://ideone.com/x0DuUF
0118デフォルトの名無しさん
2014/08/31(日) 12:34:40.78ID:gPjYOqNI他人と会話するときに ftp で転送すると言ったら、どう言うことを想像する?
0119デフォルトの名無しさん
2014/08/31(日) 15:23:34.57ID:dK8Z1XNhhttp://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
0120デフォルトの名無しさん
2014/08/31(日) 16:49:03.56ID:4kwz6JJO上のランキング、複数のサーチエンジンの検索結果から総合的に求めているという
ことなんだが、GoogleやBingだとObjective-Cがこんな順位にはならないんだよな。
どのサーチエンジンが上げてるんだろ。
0121デフォルトの名無しさん
2014/08/31(日) 18:04:19.49ID:H7XMdBocいつの時代だよ
http://dailyjs.com/2014/08/28/mean-google/
0122デフォルトの名無しさん
2014/08/31(日) 18:09:06.73ID:WGg/3o6e扱ってる者のみが石を投げなさい
0123デフォルトの名無しさん
2014/08/31(日) 18:23:51.62ID:H7XMdBocjavascriptでやった方が管理しやすいって採用するだけの理由になるよ
0124デフォルトの名無しさん
2014/08/31(日) 21:51:25.51ID:+wrLXgjrUndoStackはVisualGSTの一部として存在してるんだから、
せめてI/FをUndoStackに合わせてくれ。
https://github.com/zecke/gnu-smalltalk-debian/blob/master/packages/visualgst/Undo/UndoStack.st
0125デフォルトの名無しさん
2014/08/31(日) 23:58:16.67ID:ZXg8yhGLSmalltalkは環境の名前で調べないと意味が無いんだけどねぇ。
Smalltalkで検索してSmalltalkの使い方書いてる所は殆ど無いから。
0126デフォルトの名無しさん
2014/09/01(月) 00:05:45.83ID:m6Tmjdd7https://www.google.co.jp/trends/explore#q=Squeak%2C%20Pharo%2C%20VisualWorks%2C%20Smalltalk&cmpt=q
0127デフォルトの名無しさん
2014/09/01(月) 00:48:04.63ID:7j02fd97やっぱり環境の名前の方がSmalltalkより検索量が多いな。
0128デフォルトの名無しさん
2014/09/01(月) 01:56:08.58ID:072y2JCb今更ながら本当にスゴいように思う
0129デフォルトの名無しさん
2014/09/01(月) 02:22:00.36ID:0L11GGiJ0130デフォルトの名無しさん
2014/09/01(月) 08:18:07.85ID:xK7WN8k/自論の検証のための実験結果としてつけるものだろ
0131デフォルトの名無しさん
2014/09/01(月) 11:55:37.08ID:072y2JCb学生の演習用だったよ
探したら既にJava製Pipeとかあったけど
0132デフォルトの名無しさん
2014/09/01(月) 15:32:58.79ID:Aoi0Spszclass 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()
0133デフォルトの名無しさん
2014/09/01(月) 16:34:09.40ID:uJG2hXKz>>97 & >>114 WScript
>>102 Ruby
>>106 >>116 Python
>>111 >>117 GNU Smalltalk
>>132 Swift
0134デフォルトの名無しさん
2014/09/01(月) 17:55:20.80ID:072y2JCbnode.js一択になってしまった、今後では本当に悲しい出来事です
0135デフォルトの名無しさん
2014/09/01(月) 18:26:23.07ID:3ZaJH5/9言語機能を活かした個性的な実装は無いの?
0136デフォルトの名無しさん
2014/09/01(月) 20:44:28.33ID:CiNZKcmO出題者が書いた先頭バッターのWScript(>>97)コードが
没個性そのもので、しかも次々とBugを指摘されるしぃ....
おまけに "Hello" "Bye" を表示すればUnDo/ReDo機能が
確認できると思っているみたいなレベルだしぃ....
出題をやり直した方がいいんじゃねえの?
せめて出題者がWScriptの言語機能を活かして、
他の言語では容易く真似できないようなお手本を示してもらいたいなぁ....
0137デフォルトの名無しさん
2014/09/01(月) 21:35:45.06ID:aHXhCh/j他人のことは良いから、Smalltalker見たいに違うやり方してみろよ。
0138デフォルトの名無しさん
2014/09/01(月) 21:50:56.91ID:XtSc5NXx0139デフォルトの名無しさん
2014/09/01(月) 21:53:02.13ID:CiNZKcmOその言葉をそのまま>>137へお返しするよ
0140デフォルトの名無しさん
2014/09/01(月) 22:03:52.38ID:aHXhCh/j口だけはデカイのにヘタレだなー
0141デフォルトの名無しさん
2014/09/01(月) 22:26:29.03ID:CiNZKcmO>>139
0142デフォルトの名無しさん
2014/09/01(月) 22:35:31.02ID:76iKDgoxこれってSmalltalkerが出題したってことだよな?
それで>>138ってのはカッコ悪すぎじゃね?
0143デフォルトの名無しさん
2014/09/01(月) 22:47:03.28ID:DAMUdDHxそれには違和感ないなあ。
ファイル転送プロトコルを利用してファイル転送するよ、って解釈したけど、なんか違う解釈できるのかな?
0144デフォルトの名無しさん
2014/09/01(月) 22:53:32.90ID: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()
0145デフォルトの名無しさん
2014/09/01(月) 23:19:43.02ID:N/gatcgj実行環境に既存のLibraryが有るなら使えば良いんじゃね。
なんか問題でもあんの?車輪屋さん?
0146デフォルトの名無しさん
2014/09/01(月) 23:38:47.91ID:76iKDgox0147デフォルトの名無しさん
2014/09/01(月) 23:59:04.20ID:PX/2+tbVRudyかPythonか知らんけど、お前も好きな言語で
既存のライブラリーなり言語機能なり使って書けば良いじゃん。
0148デフォルトの名無しさん
2014/09/02(火) 00:06:08.40ID:eHgt21Yg>>137がSmalltalkのように個性的に書けと言ってるのに対し、
全然個性的じゃないよバカじゃないの?と言ってるわけだから、
Smalltalkの個性的なところを説明するか、Smalltalkも没個性と認めるか
どっちかにしてくれない?
0149デフォルトの名無しさん
2014/09/02(火) 00:27:26.44ID:eL0WUZUQこのスレだけなんで異様にSmalltalkerで溢れているの?
0150デフォルトの名無しさん
2014/09/02(火) 00:45:17.47ID:BmMNOa/v単に最近の話題なだけだよ
このところこのスレ、スレタイ的な内容を期待してもなんか違う感じの流れしかない
深く考えないほうが混乱しないで済みます
スレ頭のあたりでは、Gitのどうでもいい煽り合いが流行ってました
0151デフォルトの名無しさん
2014/09/02(火) 01:28:10.50ID:p/E9p38V書き込んでたのが荒れた原因だけどな
0152デフォルトの名無しさん
2014/09/02(火) 06:42:38.49ID:CtF88/DVgit format-patchの結果を指すのか否かで揉めたせいだったが。
アンチSmalltalkerは何でもSmalltalkerのせいにしようとするな。
0153デフォルトの名無しさん
2014/09/02(火) 11:53:09.89ID:KrSYfhAEftp コマンドで転送したと解釈されても不思議はない
0154デフォルトの名無しさん
2014/09/03(水) 13:54:28.96ID:U3mBpUpE荒れたのはSmalltalkerのお前がgitは使ったことがあると言ったくせに、patchが一連のコミットを指すような概念だとも知らず
未だにgit diffやgit format-patchの結果を指すのか否かなんていうことを言ってる頓珍漢なレベルでgitを否定したからだろ。
Smalltalkを否定するつもりはないが、他のシステムをよく知らずにFUDすんなよ。
0155デフォルトの名無しさん
2014/09/03(水) 17:14:21.26ID:8rcXwuzeヒマなんで、一連のやり取りを読み返して見たけど、なんか違うような気がする。
発端は前スレ(以下同じ)非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だったりする?
0156デフォルトの名無しさん
2014/09/03(水) 17:28:17.27ID:brWD22kUSmalltalkerがリポジトリとブランチの違いすら分かってないのに驚いたな
Smalltalkのバージョン管理にはその区別が無いってことなんだろうか?
0157デフォルトの名無しさん
2014/09/03(水) 17:32:55.12ID:brWD22kUパッチに日時とかauthorとかの付加情報がくっついたのがコミットって感じ
0158デフォルトの名無しさん
2014/09/03(水) 17:38:32.57ID:8rcXwuzeえ? どの書き込み?
このスレの前のほうで件のおかしなSmaltalker(カタカナ語を
頭文字大文字の英字で書くからすぐわかる)はいないみたいだよ。
たぶんこのスレでは ID:b6PiuM0V として >>97 あたりからだから。
ID:K9igsSCk は前スレの書き込みをみるかぎり、Smalltalkerじゃないみたいだし。
0159デフォルトの名無しさん
2014/09/03(水) 18:47:00.61ID:ptuefsju0160デフォルトの名無しさん
2014/09/03(水) 19:28:45.79ID:kxuCdwtA0161デフォルトの名無しさん
2014/09/03(水) 19:50:51.81ID:Vl5YW3d/それをあげつらっているのかと思って Monticello っての調べてみたけど
普通にレポジトリーもブランチもあるみたいだし。やっぱアンチの FUD?
http://17get.blogspot.jp/2010/11/pharo.html
http://www.lukas-renggli.ch/blog/monticello-merging
0162デフォルトの名無しさん
2014/09/03(水) 21:03:26.58ID:rgaFaXryGitで管理してる差分ってどう呼ぶのが適切なんかね?
0163デフォルトの名無しさん
2014/09/03(水) 21:11:29.80ID:UR+0KJVl0164デフォルトの名無しさん
2014/09/03(水) 21:32:03.82ID:JPyhrjiUhttp://ton-up.net/technote/2013/11/17/study-git-internals/
0165デフォルトの名無しさん
2014/09/03(水) 21:34:19.97ID:rgaFaXrygit gc で .git/objects/pack/ 以下に作成されるファイルには
差分が入ってるんじゃないの?
0166デフォルトの名無しさん
2014/09/03(水) 21:35:27.46ID:0ir9kNKtこれはスクリプト言語、プログラム言語に入ってるのか?
チューリング完全と言う概念を満たさないだろ?
0167デフォルトの名無しさん
2014/09/03(水) 21:47:02.18ID:JPyhrjiU最近は差分で管理していたんですね。情報古くてすみません。
http://dqn.sakusakutto.jp/2013/09/git_add_very_large_file.html
0168デフォルトの名無しさん
2014/09/03(水) 22:18:39.39ID:mWs0q5VfScriptは別に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
0169デフォルトの名無しさん
2014/09/03(水) 22:24:49.51ID:3KSJfFhoプログラミング言語を名乗るなら、チューリング完全である必要があるよ(一般的に)
0170デフォルトの名無しさん
2014/09/03(水) 22:25:03.17ID:ptg5oEg90171デフォルトの名無しさん
2014/09/03(水) 22:44:18.73ID:tLgkN519兼用する物も多いが
だからどうした? どうでも良いだろ
ここで議論するスクリプト言語は、チューリング完全なプログラミング言語が対象だな
0172デフォルトの名無しさん
2014/09/03(水) 22:48:04.56ID:rgaFaXryCoqが思い浮かんだ
0173デフォルトの名無しさん
2014/09/03(水) 22:51:05.32ID:HqUsCeK+0174デフォルトの名無しさん
2014/09/03(水) 23:01:17.92ID:mWs0q5VfAutoCAD ScriptとDrawscriptはたしか反復や分岐が無かった気がする。
操作手順を記録して再生してるだけだったように思う。
0175デフォルトの名無しさん
2014/09/03(水) 23:04:40.60ID:rgaFaXry念のためググってみたらSQLもチューリング完全だった
0176デフォルトの名無しさん
2014/09/03(水) 23:04:41.31ID:oAeAVS0h何でプログラミング言語じゃないといけないの?
スクリプトスレだし、ム板はプログラミング言語以外の
スレもあるから板違いな訳でも無いよね。
0177デフォルトの名無しさん
2014/09/03(水) 23:07:58.64ID:V3ERpIlIスクリプトを追い出すんなら汎用言語バトルロワイヤルスレでも立てて、
そっちに移った方が良いんじゃねに。
0178デフォルトの名無しさん
2014/09/03(水) 23:10:17.28ID:Y1teGBhn一般的にはチューリング完全ではないと見なされてる。
SQLとRubyやPythonを同列にみなすのは意味がないだろ?
0179デフォルトの名無しさん
2014/09/03(水) 23:10:40.67ID:z1Y/3x7fで、Git もスクリプトだからという理由で、
スレ違いの議論を延々と続けようとしている訳か....
0180デフォルトの名無しさん
2014/09/03(水) 23:11:59.48ID:Y1teGBhnスレタイにpython,js,pl,rb,phpって書いてあんだろ。
この辺りの言語に近しい物が対象だよ。常識的に考えて
0181デフォルトの名無しさん
2014/09/03(水) 23:13:39.14ID:V3ERpIlI0182デフォルトの名無しさん
2014/09/03(水) 23:19:48.09ID:V3ERpIlIスクリプトを語るスレが無くなるな。
新しいスレでも建てるか?
0183デフォルトの名無しさん
2014/09/03(水) 23:27:42.66ID:rgaFaXryある程度は汎用に使える言語じゃないと勝負にならないのでは
0184デフォルトの名無しさん
2014/09/03(水) 23:29:57.55ID:V3ERpIlI通信制御用のTeleScriptも追加で
0185デフォルトの名無しさん
2014/09/04(木) 00:01:00.36ID:a8LqbcNn個人的にはスクリプトっつーたらLuaやSquirrelも外せんのだが、それは別にスレがあるしな
かと言ってWebプログラミング用のスクリプト言語のスレならWebProgでやれって話だし…
0186デフォルトの名無しさん
2014/09/04(木) 00:13:10.94ID:Ks7kNHLJsedは入らないけど、awkは入る気がするし
0187デフォルトの名無しさん
2014/09/04(木) 00:16:13.74ID:rITlWe6e名前にScriptが付く言語はダメとか…。
0188デフォルトの名無しさん
2014/09/04(木) 00:19:41.14ID:a8LqbcNnLuaはここではバトルにならないんよ
用途が用途だけに、バトルするならSquirrelも居る組み込みスクリプト総合スレでやったほうがいい
awkは入っていいと俺も思う
0189デフォルトの名無しさん
2014/09/04(木) 00:22:53.35ID:rITlWe6e否かで白黒付けた方がいいんじゃないか?
0190デフォルトの名無しさん
2014/09/04(木) 00:34:56.55ID:34rt8A6n(ちなみに >>184 の TeleScript は MagicCap用になる)
さてそれはさておき、
>>188
Lua も入れないとなると、スレタイにある PHP や JavaScript の立場も、
「勝負にならない」という意味で微妙じゃないかと思う
ただし Git、SQL、HTML をスクリプトと見なす意見には、断固として拒絶する
0191デフォルトの名無しさん
2014/09/04(木) 00:36:44.83ID:bkSQ+Hy6Scriptの方が圧勝なんだけどなー。
例えばAutoCADで線を引くならAutoCAD Scriptの方が
2行程と圧倒的に短い(そもそも手で直接書かない)。
なんつうか闘う次元が違うな。
0192デフォルトの名無しさん
2014/09/04(木) 00:40:27.35ID:iXxF7dM8SQLをRDB制御言語と見なしてはダメな理由を答えなさい
0193デフォルトの名無しさん
2014/09/04(木) 00:47:47.84ID:34rt8A6nここはPerl/Python/Rubyといった汎用スクリプト言語プログラマが
コード設計の技(わざ)を競うバトルロワイヤルの闘技場だから
(Smalltalk なら、GNU Smalltalk や Little Smalltalk のコードは歓迎したい)
もし反論があるなら、過去のお題について
一つでもSQLでコードを示してからにしなさい
0194デフォルトの名無しさん
2014/09/04(木) 00:51:09.31ID:Dl7v7SB20195デフォルトの名無しさん
2014/09/04(木) 00:51:54.96ID:RUHHUhiS同意
0196デフォルトの名無しさん
2014/09/04(木) 00:55:41.05ID:bkSQ+Hy6RDB制御言語じゃあるけど、
手打ちも出来る
CommandをScriptに纏めて書いて
一気に実行するScript言語とは違うんじゃないか?
と思ったが、Scriptに纏めて書いて一気に実行するSQL Scriptと言うのが有った。
http://docs.oracle.com/cd/E14373_01/user.32/e13370/sql_rep.htm
SQLはともかくSQL ScriptはScriptで良いんじゃないか?
名前にScriptって書いてあるし。
0197デフォルトの名無しさん
2014/09/04(木) 00:57:57.10ID:RUHHUhiSなんかSQLをスクリプト言語と認めさせることが目的になってないか
0198デフォルトの名無しさん
2014/09/04(木) 01:02:54.44ID:Ks7kNHLJとか普通に使うでしょ。でも>>193には同意
0199デフォルトの名無しさん
2014/09/04(木) 01:05:21.47ID:bkSQ+Hy6Shell 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
0200デフォルトの名無しさん
2014/09/04(木) 01:05:53.97ID:34rt8A6n>SQLはともかくSQL ScriptはScriptで良いんじゃないか?
>名前にScriptって書いてあるし。
ただ単に、バトル(=コード合戦)へ参加できる言語であることが資格だ
>>193 を繰り返す:
もし反論があるなら、過去のお題について
一つでも SQL Script でコードを示してからにしなさい
SQL Script やその他大勢がスクリプト言語ではないとは言ってないし、
スクリプト言語の定義も無関係
もしこれらを話題にしたいのなら、別の雑談スレへ逝くか新スレ立てろ、って話
0201デフォルトの名無しさん
2014/09/04(木) 01:09:39.04ID:JrHf8QHD動的プログラミング言語と言った方が良いのかな
http://ja.wikipedia.org/wiki/動的プログラミング言語
http://i.imgur.com/5Yn5wui.jpg
http://i.imgur.com/ZuMdBe7.jpg
0202デフォルトの名無しさん
2014/09/04(木) 01:11:48.28ID:FnqOLc8Mrubyとかphpとかの話はもうお腹いっぱい
今度は誰かjuliaの話とかしてくれ
0203デフォルトの名無しさん
2014/09/04(木) 01:14:22.59ID:BbDfnFo+>>201
じゃ「動的汎用言語バトルロワイヤル」スレ建てるか。
0204デフォルトの名無しさん
2014/09/04(木) 01:29:51.98ID:y7U1XDJP【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 とか調べてたらここに辿り着いちゃって…。
何覚えたら(学習したら)いいでしょうか?
0205デフォルトの名無しさん
2014/09/04(木) 01:31:00.77ID:OCBOYGfu実質DSLなエクセルマクロでも、ゲーム作ったりしてるエクストリーム系な話題はあるし
0206デフォルトの名無しさん
2014/09/04(木) 01:49:37.98ID:Ks7kNHLJ反論があるわけじゃないけど、前スレ遡ってたら
解けそうなお題見つけた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';
0207デフォルトの名無しさん
2014/09/04(木) 03:15:34.65ID:bcVjO/13少なくとも2007年には実装されてた機能を、最近ってお前…
0208デフォルトの名無しさん
2014/09/04(木) 06:22:17.39ID:218WJICe最近は
#!/bin/sh
って書いてあるのに、Bashで書く馬鹿がいるけど、
Shell Scriptの基本は、一応sh(Bourne Shell)な。
Linuxだと、Debian系(Mint等)以外、
/bin/shのシンボリックリンクが/bin/bashになってるから、
しゃーないんだけど。
0209デフォルトの名無しさん
2014/09/04(木) 06:28:10.70ID:218WJICeいや俺も、DSLを線引きにすればいいとは思ってた。
とは言っても、多少話題が逸れたって別にいいとは思うけどね。
自分が気に入る話題の流れにしたいのなら、自分から、ネタを提供しろってことだし。
とは言っても、完全に(元々の用途も、その後拡張されて現在でも)汎用ってのは、
意外と少ないかも。
PythonとRubyくらい?
awkはテキスト処理のためのDSLだし、Perlも最初の成り立ちは、それに毛生えたようなものだし、
PHPはウェブのライブラリなつもりだったし、Javascriptもブラウザ向けのDSLに近かったしな。
Luaは組み込み用途。
エクセルVBAも含めて、その気になれば、変態的なことは、
大抵の言語ではできるけど。
0210デフォルトの名無しさん
2014/09/04(木) 07:20:32.76ID:qM1T2Af2基本的に汎用言語でScript用言語じゃないんだよな。
0211デフォルトの名無しさん
2014/09/04(木) 07:29:25.58ID:Dl7v7SB2コンパイルなしで逐次実行可能な動的言語だと一般には解釈されてるだろ。
Javascriptもブラウザ専門というわけでない。
0212デフォルトの名無しさん
2014/09/04(木) 07:33:26.73ID:TIeZUDIHその点全然ダメなRubyと一緒にしちゃいけない
0213デフォルトの名無しさん
2014/09/04(木) 07:37:18.37ID:qM1T2Af2一般的に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
0214デフォルトの名無しさん
2014/09/04(木) 07:50:29.11ID:JrHf8QHDこのスレは汎用動的プログラミング言語だけ
0215デフォルトの名無しさん
2014/09/04(木) 08:16:41.90ID:ouwNdSKoスレタイと>>1はこれで良いよな。
動的汎用言語 バトルロワイヤル47
スクリプト専用言語の話題は禁止です。
このスレで取り扱う言語の例:
・Perl
・Python
・Ruby
・JavaScript
元スレ
【Python】スクリプト バトルロワイヤル46【pl,rb,php,js】
http://peace.2ch.net/test/read.cgi/tech/1409066255/
0216デフォルトの名無しさん
2014/09/04(木) 08:17:04.15ID:/3JR0XIGpythonのようなこの書き方しか出来ないみたいな言語に憧れるわぁ。
0217デフォルトの名無しさん
2014/09/04(木) 08:22:24.70ID:XfxeWDvMgitが管理してるのはパッチだよ
分かったら落ち着け、な?
0218デフォルトの名無しさん
2014/09/04(木) 08:25:42.90ID:Dl7v7SB2一般のスクリプト言語と、動作・実行可能なことがまったく異っていたら比較不可能でバトルロワイヤルにならない。
0219デフォルトの名無しさん
2014/09/04(木) 08:29:53.81ID:ouwNdSKo0220デフォルトの名無しさん
2014/09/04(木) 08:36:33.19ID:Ks7kNHLJ特定のアプリを制御するのが目的である以上、他の言語では代用できないんだから
勝負自体が成立しないだろ
例えばVimScriptはどう頑張ってもActionScriptの代わりにならないわけで
0221デフォルトの名無しさん
2014/09/04(木) 08:39:53.04ID:TIeZUDIH元々ここLLスレと称してたから
0222デフォルトの名無しさん
2014/09/04(木) 08:49:36.33ID:d+hXtCPkPythonは歴史が古いからねぇ。ただその分、ちょっと原始的で扱いづらかったような記憶が。
コンテキストがグローバルなものひとつだけだったり、アプリケーション外部のPython環境に
依存したりとか。
今もそうなんだろうか?
0223デフォルトの名無しさん
2014/09/04(木) 09:30:06.77ID:218WJICe結構長いんだけどね。
Perlがもっと古いし、awkはさらに古いけど。
0224デフォルトの名無しさん
2014/09/04(木) 09:42:35.30ID:cIOBgnXC>コンテキストがグローバルなものひとつだけだったり、
Pythonにレキシカルスコープが入ったのが2.1なので、その前の話?
まあそれ以前もグローバルひとつだけではなかったけど
0225デフォルトの名無しさん
2014/09/04(木) 10:46:23.55ID:d+hXtCPkもしかしたらひとつじゃなくてスレッド毎だったのかも知れないけど、
lua v8 mruby といったイマドキの組み込み言語は普通に複数コンテキストを
扱えたんで。
0226デフォルトの名無しさん
2014/09/04(木) 10:50:03.65ID:cIOBgnXCお題にしてみてよ>複数コンテキスト
0227デフォルトの名無しさん
2014/09/04(木) 11:23:01.41ID:Hk6TBqME> MessagePad(NewtonOS)用の NewtonScript も忘れないであげて....
NewtonScript は NEWT/0 を使えばバトル参戦可能!
http://gnue.github.io/NEWT0/ja/
こちらも参考まで
http://manuals.info.apple.com/MANUALS/1000/MA1508/en_US/NewtonScriptProgramLanguage.PDF
0228デフォルトの名無しさん
2014/09/04(木) 13:42:25.39ID:JrHf8QHDAppleScriptも次の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
0229デフォルトの名無しさん
2014/09/04(木) 13:56:51.02ID:a8LqbcNnwscriptは言語でなく環境だけどな
wscriptもしくはcscript、これらがWSH環境
WSHで使える言語には、デフォルトではVBScriptとJScriptがある
んでその内のJScriptがJavaScriptの亜種
0230デフォルトの名無しさん
2014/09/04(木) 17:39:28.95ID:Dl7v7SB2http://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
0231204
2014/09/04(木) 18:07:35.53ID:y7U1XDJP「ここで聞いたらいいんじゃ…」ってあたりのヒントだけでも頂けると…
0232デフォルトの名無しさん
2014/09/04(木) 19:17:38.78ID:JrHf8QHD>rep2 みたいにウェブからデータ読んでスマホUIで操作できるようなの作れないかなと思って
-->CGI PythonでもPHPでもJavaでも何でも好きな言語で
元の話が見えないなんでXSLTの話が出てきてたのかが解らないとアドバイスのしようがない
単に元のサイトの表示の体裁だけを変えてスマホで表示したい程度の事ならXSLTで良いだろうし
単にPC用サイトの内容をスマホ用表示に変えるのであればXSLTで出来る
XSLTと言うのはXML(HTMLとほぼ同じ)の内容を表示変換するもの
HTML -> PC用
HTML=>XML +XSL −> スマホ用/PC用
ただ、アクセスしてきたのがPCかスマホかを判断するのは多少のサーバサイドのプログラムが必要となる
殆どはApachの機能で出来るけど
サーバに手を入れないでスマホで表示したいのであればスマホアプリからHTMLを読み込んで体裁を整えてスマホに表示する事も出来る
0233204
2014/09/04(木) 20:45:17.16ID:y7U1XDJP> 元の話が見えないなんでXSLTの話が出てきてたのかが解らないとアドバイスのしようがない
パナ製のレコーダーに DIGA Manager というブラウザでアクセスして、
タイトル編集とか、リモートコントロールできる機能があるのですが、
それがパソコン向けの UI しかなくて、スマホ(iPod touch)だと
激しく使い辛いので、何とかできないかなーと。
そしたら >>204 のリンク先のような話があったので、
「?」となってる状態な次第でして…。
どの処理系、仕組みを使うのが適切なのかすら判っていない状態で、
ここに迷い込んでしまいまして…。
> サーバに手を入れないでスマホで表示したいのであればスマホアプリからHTMLを読み込んで体裁を整えてスマホに表示する事も出来る
サーバーが「レコーダーのDIGA」ということだと手を入れられず、
中間サーバーということでしたら、rep2を動かしている xampp の環境があります。
スマホアプリは敷居が高そうなので、
ウェブアプリとしてのような形でできないかなーと思っています。
(その認識、考えがあってるのか検討違いなのか判ってないです。)
0234204
2014/09/04(木) 20:52:41.24ID:y7U1XDJP> 単にPC用サイトの内容をスマホ用表示に変えるのであればXSLTで出来る
> XSLTと言うのはXML(HTMLとほぼ同じ)の内容を表示変換するもの
これなんですけど、XML が無くて、元が HTML の場合も
XSLTの仕組みって使えるのでしょうか?
(お馬鹿な質問ですみません。)
> HTML -> PC用
> HTML=>XML +XSL -> スマホ用/PC用
この場合、XSL を記述したファイルってどこに設置して、
どれにどう読み込ませるのか、レコーダーの場合だと全然判らなくて。
自前でサイトを構築するというのなら、
元データを XML で用意して、XSLT で HTMLなど各種変換用の記述をして、
全部サーバーに配置…みたいなイメージできるんですけど、
今回の場合は、サーバー側のファイルは直接はいじれないので…。
パナがスマホUIで使えるように
DIGA Manager を改良してくれたらいいんですけど。
0235デフォルトの名無しさん
2014/09/04(木) 21:04:00.67ID:TIeZUDIHWinのストアアプリではJavaScript(もうMSもJScriptとは呼ばなくなった)は第一級のアプリ開発言語の一つ
0236デフォルトの名無しさん
2014/09/04(木) 21:11:20.63ID:JrHf8QHDHTMLとXSLで処理出来るかどうかはXSLT次第だけど、サーバアプリケーションを作った方がなんでも出来て好きな様に出来るだろう
ここは、バトルの場だから WebProg 板で聞いた方がふさわしい
0237デフォルトの名無しさん
2014/09/04(木) 22:28:23.43ID:W0WmL4e5AndroidでもiPhoneでもJSを使うメリットはほとんどない
0238デフォルトの名無しさん
2014/09/04(木) 23:47:13.98ID:OCBOYGfu例えばUnityでJavaScript使うとnode.js+Socket.IOなリアルタイム系サーバとの連携がすげえ楽な上に、C#よりパース周りの処理も速い
UnityScriptなんかJavaScriptじゃねえ、って言われたら黙るより仕方ないが
0239デフォルトの名無しさん
2014/09/05(金) 01:05:18.09ID:29q2O7B7それはWeb限定じゃなくて?
0240デフォルトの名無しさん
2014/09/05(金) 01:10:53.51ID:aAWeMktFでもPython開発者のエンジニアがGoogle去ったからこれからどうなるかはわからんけど。
GoやDart推奨していくのかな。このスレにゃあんま関係ないけど。
0241デフォルトの名無しさん
2014/09/05(金) 08:00:20.65ID:7VgE06Ofそのプロジェクト(特にFLOSS)の開発者は大抵逃げ出す。
例
OOo
MySQL
Hudson
0242デフォルトの名無しさん
2014/09/05(金) 16:30:30.82ID:N8/KiC52golangを作り出した辺りで、グイドのお払い箱は目に見えていた
サーバーサイドでのgolangの普及は時間の問題。
javascriptからdartへ以降するかは作られるアプリケーションの規模次第
静的言語と動的言語の何方に軍配があるか、ようやく決着がつく
どのみち、お前らには縁のない世界の話だから、c/c++,c#,java,javascript使うのが無難
0243デフォルトの名無しさん
2014/09/05(金) 17:59:39.18ID:Ne6tWzRJ根本が間違ってる。
言語種類や動的や静的は進展に関してあまり関係がなく、あとから変更・追加できること。
大きいのはライセンスとシェアだろ。
たとえばC#をMS以外の会社が進化させるのはいろいろトラブルでそう。
あとからJITコンパイルやネイティブコンパイルや型付きの強制など可能。
0244デフォルトの名無しさん
2014/09/05(金) 18:45:08.45ID:qGPmbH7E0245デフォルトの名無しさん
2014/09/05(金) 18:59:03.25ID:UY2a0tkIまともな物は何も無い
0246デフォルトの名無しさん
2014/09/05(金) 19:19:14.80ID:qmuQRxyX0247デフォルトの名無しさん
2014/09/05(金) 19:21:25.63ID:Nbx6m267うざぎの脳みそレベル
0248デフォルトの名無しさん
2014/09/05(金) 19:54:04.04ID:Ne6tWzRJC#のように一社でゼロから開発して普及した言語のほうが特殊で、
pythonとかのようにそこそこ普及来て使えることが分かってから
後乗りで投資したほうがコストパフォーマンスがいい。
アップルの新言語も普及しない危険もあって、そうなって破棄・開発中断となると会社のダメージが大きい。
まとめるとライセンスが緩く、そこそこ普及していた・している言語が進化する可能性が高い。
0249デフォルトの名無しさん
2014/09/05(金) 20:02:42.21ID:7VgE06OfCとかLispとかPerlとか
昔は一社で開発した言語が広まるってのじゃない言語ばかり、
使われてたな。
Java辺りから?
もしくは、VB及びその前身からか。
一企業言語が広まるってのは。
0250デフォルトの名無しさん
2014/09/05(金) 20:11:24.32ID:SsZqwSm1Cはベル研究所じゃねーか
0251デフォルトの名無しさん
2014/09/05(金) 20:11:43.75ID:yeFHC3mSタブレットはsurfaceのようなのが主流になって
だんだんノートPCへ・・・windowsへ・・・と回帰してるけど
スマホは世界的に見ればiPhoneオワコンだけどガラパゴスではまだ主流だし
iPhoneが息してれば安泰
アプリケーションを無にしないよう次のApple製品でも採用すればいいし
Appleさえ落ち目にならなければ問題ない
0252デフォルトの名無しさん
2014/09/05(金) 20:27:30.08ID:N8/KiC52JavaもPerlも、一社や個人が作って広まったものじゃないの?
独占的な囲い込み言語ってObjective-Cぐらい
Objective-CよりFirefoxOSの市場の方がオイシイでしょ。
どうせ、広告収入なんだろうから人口の多い方が良い。
来年は、スロバキア語、ポーランド語あたりがトレンドだね
0253デフォルトの名無しさん
2014/09/05(金) 20:31:58.94ID:7VgE06Ofそうだったけど、
当時のベルって、独占禁止法だったかで、
コンピュータ関連で商売しちゃいけないんじゃなかったっけ?
だからUnixやCが、大学とかに、実費程度で渡って、
フリーソフトウェア・オープンソースの、先駆け的になったとか何とか。
0254デフォルトの名無しさん
2014/09/05(金) 20:41:34.94ID:SsZqwSm1なんかお前、日本語下手くそだな
0255デフォルトの名無しさん
2014/09/05(金) 20:48:43.09ID:ZrXjeIjZFortran、IBM産なんだけどな
昔は「この言語は自分のもの/あそこのもの」って感覚が薄かったのか
同じ名前のまま全然互換性のない派生を色んなトコが作りまくった
だから、言語名は同じでも今で言えば◯◯系の別言語、みたいなもん
しかもハードと結びついてたりもしたから、それぞれの派生の開発会社が一社独占してるようなもん
0256デフォルトの名無しさん
2014/09/05(金) 20:54:55.08ID:IS3u/LBz今は言語そのものよりシェアと既存資産の方が遥かに重要なので言語だけ移植しても意味無いんだよ
0257デフォルトの名無しさん
2014/09/05(金) 22:35:48.52ID:ORGaGWL3そうしたらこのスレも卒業ですかね
0258デフォルトの名無しさん
2014/09/06(土) 00:10:36.52ID:F+GQ4Fvp文化祭ワロタ
0259デフォルトの名無しさん
2014/09/06(土) 00:20:24.71ID:dTRps0qb0260デフォルトの名無しさん
2014/09/06(土) 00:27:17.03ID:F4AzRXIzTypeScriptみたいになるの?
0261デフォルトの名無しさん
2014/09/06(土) 00:30:52.83ID:26XmETZJずーーーーーっと古いソフトが使われ続けてしまい、
セキリティホールとか電力の無駄遣いとか弊害が出てくる。
そして開発費を極限まで削る企業の粗製乱造とか
コピペプログラマーのやっつけ仕事の問題も出てくる。
だからAppleとかは、わざとやっている気がする。
0262デフォルトの名無しさん
2014/09/06(土) 01:14:47.13ID:t9j+UA+eObjective-CのSmalltalk由来の動的型はウンコだったからね
0263デフォルトの名無しさん
2014/09/06(土) 01:36:50.63ID:YgfGJDWn0264デフォルトの名無しさん
2014/09/06(土) 01:39:50.72ID:3rCeo+Qc0265デフォルトの名無しさん
2014/09/06(土) 01:40:02.66ID:x5z9wxphSwiftも美しくなるための脱皮だろう
SwiftはLL言語風で取っ付きやすく、標準語に近い誰でも理解出来る言語体系で、全てがObjectで成り立っているところだろう。
機能的にも最近の流行はほとんど取り入れてるし。 まだ姿が見えないのは並列動作の仕様かな( ライブラリとしては有るけど )
Xcode のPlaygroud のデバッグ環境もわかりやすいし、スクリプト言語風に動かすことも出来る
0266デフォルトの名無しさん
2014/09/06(土) 02:18:41.99ID:dxBwNPI60267デフォルトの名無しさん
2014/09/06(土) 08:58:45.02ID:4xZAZHAnまたでたよ。気持ち悪いSmalltalkアンチ。
頭のオカシイSmalltalker呼び寄せるだけだから、
ほんと黙っててほしい。
0268デフォルトの名無しさん
2014/09/06(土) 10:10:17.25ID:EPOR9/1Hそれは林檎をヨイショしすぎ。
保守なんてダルい。
信者ども、アップル様のありがたいソフトを買えば良いぞ。
ってのがアップルだろうがw
0269デフォルトの名無しさん
2014/09/06(土) 11:28:49.28ID:eJ7nIgaz真面目な話
0270デフォルトの名無しさん
2014/09/06(土) 11:29:59.51ID:dxBwNPI6obj-cもjsと同じで他に選択肢がないから使われていただけ
0271デフォルトの名無しさん
2014/09/06(土) 12:10:48.89ID:YgfGJDWnどこが悪いのか言ってみろよ
言えねえのか?
口だけ野郎は黙ってろ
0272デフォルトの名無しさん
2014/09/06(土) 12:14:26.24ID:iVcUSsfoサード品すら拒否しやがる。使用者にSource
弄られるのが嫌なんだと。
SmalltalkでCocoa使えばこんなに素直に書けるのに。
PackageLoader fileInPackage: 'Objc'.
| nsApplication application |
nsApplication := Objc.ObjcRuntime at: 'NSApplication'.
application := nsApplication sharedApplication.
application run.
0273デフォルトの名無しさん
2014/09/06(土) 12:23:48.08ID:iVcUSsfo0274デフォルトの名無しさん
2014/09/06(土) 12:25:04.62ID:4xZAZHAnこの空気読めない論点ずれまくりコミュ障Smalltalker、
ほんとに勘弁してほしいんだけど。
0275デフォルトの名無しさん
2014/09/06(土) 12:37:27.12ID:eJ7nIgaz悪いところはSmalltalkからパクった全て
0276デフォルトの名無しさん
2014/09/06(土) 13:34:57.23ID:1gGWUXDA0277デフォルトの名無しさん
2014/09/06(土) 14:36:23.85ID:t9j+UA+eSmalltalkでCの糊付けすれば良いじゃん
Objective-C要らんでしょ
それとも、SmalltalkはCの糊付けに苦労するほどウンコなの?
0278デフォルトの名無しさん
2014/09/06(土) 14:47:30.89ID:0wUV67Pm最も大事なオブジェクトのみ残して綺麗さっぱり出直したのが Swift
Cは直接呼べるし言う事なし
所でここはなんのスレだったかな?
0279デフォルトの名無しさん
2014/09/06(土) 14:58:35.84ID:gIT9JvMGCの機能関数呼び出すだけなら、Smalltalkだけで良いね。
問題はCのHeaderで、Objective-Cを使わなきゃ、
Smalltalk側でCのHeaderをSmalltalkに解釈させて
Smalltalk内の型(Classではない)に
変換する必要がある。
SmalltalkでHeaderを解釈させる方法は、依存関係が汚くなるので、
依存関係を考えるとObjective-Cに分離した方がすっきりはする。
0280デフォルトの名無しさん
2014/09/06(土) 15:05:31.83ID:JkZRd3lVスクリプト(制御)言語で論争するスレだよ
スクリプトの例
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
0281デフォルトの名無しさん
2014/09/06(土) 16:18:39.70ID:dTRps0qb0282デフォルトの名無しさん
2014/09/06(土) 19:17:00.34ID:FrPKU2Rxジョブズが当時、動的バインドが出来ないことを理由にオブジェクト指向C互換の言語ということでNeXTの公用言語に採用したのがズルズル続いたんでしょ
まだJavaもなかったし
C++も予想に反して(?)発展し続けてきたから不自然に見えるだけ
0283デフォルトの名無しさん
2014/09/06(土) 22:13:01.48ID:AqdRG+P2> ところでPython3.5に静的型検査が標準で入りそうな勢いですね
ソースは?
0284デフォルトの名無しさん
2014/09/06(土) 22:14:09.69ID:+wZYoT3I気に食わないPRは即クローズするし、CSもBackboneもあいつのオナニーという印象が強い
0285デフォルトの名無しさん
2014/09/06(土) 23:25:26.60ID:HH5pSQds0286デフォルトの名無しさん
2014/09/06(土) 23:40:16.71ID:F4AzRXIzそんなスグ簡単に入るもんなのか静的型って
0287デフォルトの名無しさん
2014/09/07(日) 00:04:37.11ID:RrFqfcJfオラすっげぇワクワクして来たぞ
0288デフォルトの名無しさん
2014/09/07(日) 00:05:01.38ID:dcnAWLo9海外のco-workerたちの間では作られたもの全部ヒットしているじゃん
coffee script, backbone, underscore
これだけ、hackらしいものに対しての美的感覚に優れた人居ないって
競合は、dart, typescript, angularjsだけど、対抗相手が企業のプロダクトだけ
0289デフォルトの名無しさん
2014/09/07(日) 00:07:39.40ID:Gd1SvQRT0290デフォルトの名無しさん
2014/09/07(日) 00:19:47.27ID:vLvv4cTjそこそこのシェアがある言語と言語がくっついて1つになっていくのが好ましいな
JVMとか.NETとかそういうVMの枠組みじゃなくて言語仕様ごとごっそり
0291デフォルトの名無しさん
2014/09/07(日) 00:20:55.85ID:XmOI9A4lLet'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
0292291
2014/09/07(日) 00:26:44.37ID:XmOI9A4lhttps://mail.python.org/pipermail/python-ideas/2014-August/028618.html
0293デフォルトの名無しさん
2014/09/07(日) 00:56:07.81ID:a2BnUqVh見たことはない。動的型付けはまだマシだ。-- アラン・ケイ
http://d.hatena.ne.jp/katzchang/20080807/p2
0294デフォルトの名無しさん
2014/09/07(日) 04:14:13.97ID:OiviXZOrありがとう。
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で標準化しようということね。
動的型付けは損なわずにエラーの検知がしやすくなるのなら、
良いんじゃないのかな。
コードも読みやすくなりそう。
どこまで広く使われるかは未知数だけど。
0295デフォルトの名無しさん
2014/09/07(日) 04:20:38.30ID:OiviXZOr念のため、>>283=>>294です
0296デフォルトの名無しさん
2014/09/07(日) 09:31:05.55ID:6BBgRau/便利だと思うんだが、そういうことができる言語ってあるかな?
0297デフォルトの名無しさん
2014/09/07(日) 12:40:23.11ID:bqe710PZ0298デフォルトの名無しさん
2014/09/07(日) 12:47:34.02ID:RrFqfcJf0299デフォルトの名無しさん
2014/09/07(日) 13:08:34.14ID:6BBgRau/型情報に基づく実行時チェックならC++やC#にあるし、その他にも動的型変数が
扱える言語では珍しくないと思うが。
0300デフォルトの名無しさん
2014/09/07(日) 13:51:07.19ID:/uEAzM7Y賛否両論ありそう
pythonとrubyの分かれ道になるのか...
0301デフォルトの名無しさん
2014/09/07(日) 14:58:56.96ID:v5LNVtzhErlang や Prolog の単一化はそれにあたるのかな
0302デフォルトの名無しさん
2014/09/07(日) 15:30:55.89ID:xl3XppIaま具体的な型では無いから少し戸惑うだけで
0303デフォルトの名無しさん
2014/09/07(日) 18:58:14.21ID:dcnAWLo90304デフォルトの名無しさん
2014/09/07(日) 19:18:44.67ID:Gd1SvQRT「そのメソッドがあるならその型だ」というのが動的言語なのに
「そのメソッドがあるけど型が違うからダメだ」とかやっても意味ない気がするんだが
0305デフォルトの名無しさん
2014/09/07(日) 19:30:35.40ID:rAkoMjVXあくまで、知らないMessageをObjectが受信した時に
呼ばれるMethodが例外を投げてるんだよね。
近年、PythonやRubyにも同等な機能が追加されたらしい。
PerlやJavaScriptの用に整数型か文字列かを処理系が
判断して構文Errorにする真の動的型付とはちょっとちがう。
0306デフォルトの名無しさん
2014/09/07(日) 19:33:07.32ID:oBUfkakOなにいってんだこいつ
0307デフォルトの名無しさん
2014/09/07(日) 19:54:27.21ID:bqe710PZSmalltalkerはgitだけじゃなくて
PerlもPythonもRubyもJavascriptも知らないんだな
0308デフォルトの名無しさん
2014/09/07(日) 20:02:25.31ID:q7MWPCLy型の実装と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()
}
0309デフォルトの名無しさん
2014/09/07(日) 20:09:57.59ID:q7MWPCLymessage := MessageCatcher new show: 'Hello'.
"show: 'Hello'をTranscriptに送る。"
message sendTo: Transcript.
FireFoxのJavaScriptなら試験的な拡張で、
Objectが知らないMessageを処理できるってのは知ってたが、
拡張なしのJavaScriptやPerlで同じコトできるとは初耳だわ。
0310デフォルトの名無しさん
2014/09/07(日) 20:16:45.67ID:XmOI9A4lRubyは少なくとも1.6の頃には method_missing が、
Pythonは少なくとも2.0の頃には __getattr__ があったはず
近年追加された機能というのは何のことだろうか?
0311デフォルトの名無しさん
2014/09/07(日) 20:17:12.45ID:q7MWPCLy0312デフォルトの名無しさん
2014/09/07(日) 20:18:32.23ID:q7MWPCLy最初のRelease(1.0)の時には無かったってこと。
0313デフォルトの名無しさん
2014/09/07(日) 20:26:06.66ID:XmOI9A4l0314デフォルトの名無しさん
2014/09/07(日) 20:41:28.79ID:wmz5JjDw整数型か文字列かを処理系が判断して
構文エラーになるPerlコードって例えば?
0315デフォルトの名無しさん
2014/09/07(日) 20:43:42.33ID:q7MWPCLy0 .selector( 'value' )
上記をJavaScript(IE), Perl, Rubyで試して例外が
処理系かObjectのどっちから出てるか見てみて。
そしたら意味がわかると思う。
0316デフォルトの名無しさん
2014/09/07(日) 20:50:52.21ID:q7MWPCLy型個別に識別するような書き方して悪かったね。
具体的には↓のError。
http://ideone.com/Nsjtj9
Can't call method "selector" without a
package or object reference at prog.pl line 2=
0317デフォルトの名無しさん
2014/09/07(日) 21:03:20.59ID:oBUfkakOそれはJSでは0はオブジェクトじゃない(プリミティブ型)からだろ。
Rubyはオブジェクトだから、メッセージを送られるのは保証されてるってだけ。
その違いをして、動的型付けでないとは言えねーよ。
0318デフォルトの名無しさん
2014/09/07(日) 21:11:21.66ID:D4FT8JO20319デフォルトの名無しさん
2014/09/07(日) 21:26:34.78ID:6kzvC9vjあなたが書くべきコードはこうじゃないの。
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.
何を主張したいのか知らんし、どうでもいいけど。
0320デフォルトの名無しさん
2014/09/07(日) 21:52:42.96ID:OiviXZOr> けどまた、mypyみたいなツールがjavascriptに移植されるんでしょ?
多分無理じゃないかな。
mypyが利用しているのは、
関数の引数(引数の":"以降の部分)や戻り値("->"以降の部分)に注釈を付ける、
Python3で導入された関数アノテーションという構文で、
この注釈は実行時には全く解釈されない。
だから、動的型付けを維持してる。
サードパーティーのライブラリで利用されることを想定して導入されたようだけど、
それが今回標準化しようという運びになったようです。
def greeting(name: str) -> str:
return 'Hello, {}'.format(name)
JavaScriptでもこうした構文を導入しないと、型検査はできないでしょう。
0321デフォルトの名無しさん
2014/09/08(月) 00:02:20.98ID:Ao8t0mlV重要じゃないけど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'.
0322デフォルトの名無しさん
2014/09/08(月) 01:32:13.22ID:XzgEVXT7暗黙型変換されてるだけで、数値と数値オブジェクト別。
>動的型付じゃ無い言語ってのをもっと具体的に説明すると、
説明になってねーよ。じゃあなんでObjectがメッセージを処理できるんだよ。型があるからだろ。
なんで、それで動的型付ではないと言えるのか意味不明。
0323デフォルトの名無しさん
2014/09/08(月) 07:11:24.15ID:M3K1/uSR静的型付か動的型付ってのは翻訳時に型検査するか、
実行時に型検査するかの話。
Class定義に動的型付か静的型付かなんて持ち込んだら、
話が無茶苦茶になるでしょ。
0324デフォルトの名無しさん
2014/09/08(月) 07:36:03.29ID:ET3Np56Wだから、型検査を静的に行うか、動的に行うかで決まるってのが間違いだっつーの。
一般的には、変数や引数などの型付けが静的/動的かのことだよ。
0325デフォルトの名無しさん
2014/09/08(月) 07:52:44.09ID:JHSpVdseあと数値がObjectじゃ無いって言ってたのは、
数値定数(literal)は数値Objectの生成機だから厳密には
違うってコト言いたかったのか。そういう意味では違うだろうね。
でもその意味じゃ>>317の意味ががわからないよ。
あと数値定数と数値Objectが厳密には別って話ならSmalltalkとか他の言語でも同じ話だよ。
0326デフォルトの名無しさん
2014/09/08(月) 08:03:43.52ID:JHSpVdse実行時に引数や変数の型付をするとはどういうこと?
0327デフォルトの名無しさん
2014/09/08(月) 08:04:13.69ID:ET3Np56W型が決まるってこと。
0328デフォルトの名無しさん
2014/09/08(月) 08:10:13.52ID:JHSpVdse型が決まる?ますます意味がわからない。
そういうコト書いた文献出してくれる。
0329デフォルトの名無しさん
2014/09/08(月) 08:14:34.06ID:ET3Np56Wすまん、>>317は反論の仕方を間違えた。
だが、JSの場合、メソッドも単なるプロパティだから、undefinedが返って、undefinedは関数でないからエラーになるわけで、0の型検査してるわけじゃないぞ。
あと、JSの場合、数値はプリミティブ型で、メソッド(プロパティ)呼び出しされる時に初めてNumberに変換される。
Rubyの様に、整数リテラルがFixnumになるとかとは意味が異なるからな。
0330デフォルトの名無しさん
2014/09/08(月) 08:14:59.44ID:ET3Np56Wてめえが先に出せやww
0331デフォルトの名無しさん
2014/09/08(月) 08:15:27.87ID:JHSpVdsehttp://en.m.wikipedia.org/wiki/Type_system
少なくとも英語版Wikipediaにはそんな謎定義は書いてなかったよ。
0332デフォルトの名無しさん
2014/09/08(月) 08:21:10.44ID:JHSpVdseだから数字かどうかが問題じゃなくて、
処理系が型検査するか、処理系が型検査しないかが問題だって言ってるじゃん。
>>330
型検査に付いては、英語版Wikipediaに書いてあるよ。
0333デフォルトの名無しさん
2014/09/08(月) 08:24:12.16ID:ET3Np56W0334デフォルトの名無しさん
2014/09/08(月) 08:26:34.93ID:ET3Np56Wだから、お前の例に問題があるんだよ。
PerlとJSとRubyだと、数値の扱いが異なるんだから。
>>319には返さねえのかよ。
0335デフォルトの名無しさん
2014/09/08(月) 08:32:09.11ID:JHSpVdseどう違うの?
処理系が型検査するか、型検査しないかが違うって
話を崩せる違いなの?
>>319は相手しても意味が無いから無視してるだけだよ。
0336デフォルトの名無しさん
2014/09/08(月) 09:05:31.61ID:/xLfFsYj# 非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'
0337デフォルトの名無しさん
2014/09/08(月) 10:43:03.96ID:meYF+l/j下は、(0).sel()で、number型に自動型変換されてselメソッドの呼び出し。メソッドが存在しないからエラー。
0338デフォルトの名無しさん
2014/09/08(月) 10:57:57.77ID:meYF+l/j0はFixnumのオブジェクト。
JavaScript
0は数値(基本データ型)。場合によって、number型や文字列などに自動変換される。
Perl
0はスカラデータ。
0339デフォルトの名無しさん
2014/09/08(月) 11:17:18.96ID:Dxtts/Cs0340デフォルトの名無しさん
2014/09/08(月) 11:22:41.81ID:Xb0yAy7fありがとうございます。
ただ、そうなのであればなぜ Number型に明示的に変換したこれ
> var meth = Number("0").sel; meth()
TypeError: Property 'meth' of object #<Object> is not a function
は、なぜ >>336の下のエラーにならないのでしょうか?
念のため、ここでは
>>329
> メソッドも単なるプロパティだから、undefinedが返って、undefinedは関数でないからエラーになる
というのを検証したいと思っています。
0341デフォルトの名無しさん
2014/09/08(月) 11:27:18.55ID:Dxtts/Csこの場合 f(1) f(1.0) f("1") 何れも入力パラメータの型に応じた型で2倍を返す言語は何だ?
0342デフォルトの名無しさん
2014/09/08(月) 12:40:12.78ID:meYF+l/j>>329が正しいか間違ってるかを検証するなら、仕様書を読むべきでは。
Spidermonkeyの例。
http://ideone.com/WPIX05
0343デフォルトの名無しさん
2014/09/08(月) 12:57:32.67ID:Xb0yAy7fありがとうございます。
> Spidermonkeyの例。
なるほど。
JavaScript におけるこの手の振る舞いは、処理系によって変わるのですね。
0344デフォルトの名無しさん
2014/09/08(月) 20:34:28.90ID:4KrAPuZv馬鹿なSmalltalkerが生半可な知識でJSをdisってるでOK?
0345デフォルトの名無しさん
2014/09/08(月) 20:35:55.79ID:0BEKcfFo0346デフォルトの名無しさん
2014/09/08(月) 21:03:00.33ID:5sCEyKTZ話してたのに、被害者意識の高いこと。
0347デフォルトの名無しさん
2014/09/08(月) 23:04:36.61ID:GSY54KyD英語版wikipediaのどの辺りに
>動的型付言語は処理系がMethodの有無を確認してErrorにしてる。
とか
>処理系が型検査するか、処理系が型検査しないかが問題
に該当する記述がある?
あと、そのページからリンク貼られてる”the category for dynamically typed programming languages”に
Smalltalkが入ってるんだけど…
0348デフォルトの名無しさん
2014/09/09(火) 00:22:03.58ID:CkaPICnJこの辺だな。
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.
0349デフォルトの名無しさん
2014/09/09(火) 00:42:44.94ID:SEObCJuW訳
動的型検査は実行時にプログラムの型安全性を検証するプロセスです。
動的型付け言語の実装は一般に各ランタイムオブジェクトを
型情報を含む「型タグ(型への参照)」に結びつけます。
この実行時型情報(RTTI)は動的ディスパッチ、遅延束縛、ダウンキャスト、リフレクション
それに類する機能の実装に使う事も出来ます。
0350デフォルトの名無しさん
2014/09/09(火) 08:23:06.05ID:8cxeb5H4処理系が型チェックしてエラーにするなんて
全然書いてないじゃん
頭大丈夫?
0352デフォルトの名無しさん
2014/09/09(火) 17:06:45.83ID:c9puwdFm>>336はnode.jsのrepl.js経由で動かしてるせいじゃないの?
0353デフォルトの名無しさん
2014/09/09(火) 19:48:52.81ID:l+AehZnr動的型付言語の実装=処理系
0354デフォルトの名無しさん
2014/09/09(火) 19:57:17.97ID:gv45/PiJ> Implementations of dynamically
type-checked languages
>動的に型検査する言語(動的型付言語)の実装
0355デフォルトの名無しさん
2014/09/09(火) 20:20:25.12ID:yRdKHhuQ()の中身はお前の補足やんけ
0356デフォルトの名無しさん
2014/09/09(火) 20:26:37.15ID:08f9kkEm> Smalltalk is an object-oriented, dynamically typed, reflective programming language.
dynamically typed
0357デフォルトの名無しさん
2014/09/09(火) 20:37:21.01ID:7z1yc0O0ではなく
型検査を動的に行う言語⊆動的型付け言語
ってだけの話
0358デフォルトの名無しさん
2014/09/09(火) 20:54:29.72ID:08f9kkEm型検査に入らないという流儀なの?
変なの
0359デフォルトの名無しさん
2014/09/09(火) 20:58:59.08ID:MFhSA0xn型検査の代替もできるというだけであって、どんな型かは気にする
必要ないね>あるメソッドを持っているか否か
0360デフォルトの名無しさん
2014/09/09(火) 21:10:13.17ID:08f9kkEmあるメソッドを持ってるか等を調べるStructural Subtyping(構造的部分型)があるけど、
このスレでは前者だけが型検査ってこと?
0361デフォルトの名無しさん
2014/09/09(火) 21:27:08.59ID:MFhSA0xn部分的に似た構造だと判明したからって型が判明するとは限らない。
0362デフォルトの名無しさん
2014/09/09(火) 21:43:18.32ID:drlMF11X型検査に入るって話だろ
0363デフォルトの名無しさん
2014/09/09(火) 21:59:27.94ID:olBrIqjc0364デフォルトの名無しさん
2014/09/09(火) 22:08:56.27ID:gv45/PiJ>>349にもあるけど一般的な意訳は動的型付言語だよ
0365デフォルトの名無しさん
2014/09/09(火) 22:18:12.61ID:gv45/PiJメソッドだけじゃなくて演算子も入るだろ
0366デフォルトの名無しさん
2014/09/09(火) 22:34:07.70ID:u4pMEKRn「(データ型の)型付け」と「メソッド束縛」は、分けて考えるのが一般的だね
たとえば Objective-C は「動的型付け(Smalltalk)と静的型付け(C)のハイブリッド」で
かつ「動的メソッド束縛」になる
そして、あるオブジェクトがメソッドを持つか否かを検査するのはメソッド束縛の役目になる
たとえば Java/C++ のような静的メソッド束縛ではコンパイル時にエラーが検出されるけど、
Smalltalk/Objective-C のような動的メソッド束縛では実行時にエラーが検出される(=遅延束縛)
ただし Objective-C のハイブリッドが例外的であって、大半の言語であれば
「静的型付けであれば静的メソッド束縛」だし「動的型付けであれば動的メソッド束縛」だから、
暗黙の文脈下だと単純に「静的」または「動的」と表現することが多い
0367デフォルトの名無しさん
2014/09/09(火) 22:45:23.21ID:tBdID5VH型付けは型検査のみにあらず。Smalltalk、Rubyはまごうことなき動的型付け言語。
0368デフォルトの名無しさん
2014/09/09(火) 22:46:07.00ID:u4pMEKRnいや、違う
型検査そのものを指して、型付け(の厳格性)が強い弱いと評価するのが一般的だね
たとえば型付けが弱い 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
>>>
0369デフォルトの名無しさん
2014/09/09(火) 23:12:41.11ID:Xwh16d4AHarry 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)
と書いてある。
0370デフォルトの名無しさん
2014/09/09(火) 23:44:06.42ID:pkzxcIklメソッドの静的コールにより継承による doesNotUnderstand: message の送信を回避すると、
関係ないクラスのインスタンスをレシーバーにしてもメソッドをコールできてしまう。
例:
10 factorial "=> 3628800 "
0 factorial "=> 1 "
0.0 factorial "=> MessageNotUnderstood: Float>>factorial "
(Integer>>#factorial) valueWithReceiver: 0.0 arguments: #() "=> 1 "
0371デフォルトの名無しさん
2014/09/09(火) 23:58:18.06ID:Xwh16d4ASmalltalkやObjective-C(Cの型は除く)は型無なんで、
言語自体の機能としてはMethodの有無や
演算子の適性を検査しないよ。
それを決めているのはあくまでLibrary。
型検査が無い説明の良い例として
SmalltalkならProtoObjectの派生型、
Objective-CならnilやObject或いはNSObjectを
継承していないclassのobjectがあり、
これらは対応するMethodが無くてもあらゆるMessageを拾うことができる。
動的型付言語は対象的に対応するMethodが無いObjectに
Messageを送ると例外を発生させる。
0372371
2014/09/10(水) 00:21:40.37ID:mmW9LFDb動的型付言語は対象的に対応するMethodが無いObjectに
Messageを送ると必ず例外を発生させる。
型無言語の様に必要に応じて
Messageを無視させることが出来ない。
0373デフォルトの名無しさん
2014/09/10(水) 00:35:12.96ID:LphNIpd8型無し言語になっちゃいそうだね
0374デフォルトの名無しさん
2014/09/10(水) 00:40:52.88ID:pXOleHzB対戦相手が見えなくて面白くない
0375デフォルトの名無しさん
2014/09/10(水) 00:41:14.53ID:MIzNsnl2厳密な議論であれば、Python や Ruby も型無しだね
あえて言えば万有型(universe type)というデータ型、ただ一つしか無い
動的型付け言語で型エラー(>>368 の "TypeError")というのも
単なる実行時エラーの一種であり、要因コードや例外クラスの名前でしかない
その実行時の型検査を指して「動的型付け」と呼んでいるだけ
型システムの教科書(TAPL本)だと、型システムは以下のように定義されている:
型システムとは、プログラムの各部分を、それが計算する値の種類に沿って
分類することにより、プログラムがある種の振る舞いを起こさないことを保証する、
計算量的に扱いやすい構文的手法である
何の事か分かりづらいけど、要するに
「型システムは(プログラムの実行前に行われる)静的な型検査の為に存在する」ってことで、
「いわゆる静的型付け言語」に固有の概念だということ
そして、教科書では上記の定義の後に、実行時に型検査する「いわゆる動的型付け言語」との
対比を目的として「静的」という語を明示的に付加することがある、と続き、更には:
「動的型付けされる」という言い回しは誤っているといって差し支えなく、
おそらく「動的型検査される」と言い換えるべきであるが、
標準的に用いられる用語法である
という指摘までしている
こういった専門的な議論をしたいのであれば、「Smalltalk は型無し言語であり動的型付け言語ではない」
という主張も正当でかまわんのだけど、そういった議論は情報学板でやるのがふさわしいと思う
ム板はふつうのプログラマが集う場なのだから、Wikipedia にある「動的型付け言語」または
「静的型付け言語」という(ふつうのプログラマにとって)常識的な分類法を採用するのが妥当ではないかと
0376デフォルトの名無しさん
2014/09/10(水) 00:53:10.68ID:mmW9LFDbとは言え型無言語か動的型付言語かで出来ることが違う以上、
その違いに触れるなら型無言語と動的型付言語の区別は必要でしょ。
0377デフォルトの名無しさん
2014/09/10(水) 00:53:51.55ID:pXOleHzB0378デフォルトの名無しさん
2014/09/10(水) 01:04:52.87ID:MIzNsnl2だから専門的に言えば型無言語と動的型付言語とは同じ概念を指す用語なんだよ
あえて言えば「Smalltalk とその他の型無言語(=動的型付言語)」と分けるしかない
ただ単に「Smalltalk は他の奴等とは違うんだぜ」と言いたいだけならば、
好きにすればいいと言うしかないけどね
0379デフォルトの名無しさん
2014/09/10(水) 01:08:03.83ID:oS7YMnaVJavaScript でもできた。
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
0380デフォルトの名無しさん
2014/09/10(水) 01:09:36.90ID:9p5FDdhO0381デフォルトの名無しさん
2014/09/10(水) 01:19:44.66ID:mmW9LFDb>>375にも動的型付言語の説明にも書いてるけど、型無言語と
動的型付言語は違うよ。
PythonやRubyも1.0の頃は
動的型付言語だったけど今は型無言語だ。
型無言語になったお陰でObjectにMethodが無くても
Messageを送ることが出来るようになった。
JavaScriptなんかは動的型付言語だから
ObjectにMethodがなきゃMessageを送れない。
というかMessageの概念が成立しない。
0382デフォルトの名無しさん
2014/09/10(水) 01:31:25.14ID:ysKE+Qj10383デフォルトの名無しさん
2014/09/10(水) 01:55:56.56ID:LphNIpd8Pythonは1.0の頃からgetattrがあったよ
Object/object.c みれば分かる
0384デフォルトの名無しさん
2014/09/10(水) 01:56:19.14ID:oS7YMnaVPython でも。
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
0385デフォルトの名無しさん
2014/09/10(水) 02:02:42.37ID:LphNIpd8こっちでもOKだよ
Foo.foo(Bar())
0386デフォルトの名無しさん
2014/09/10(水) 08:09:29.80ID:eO1uAsEARuby は、バインド時の型チェックに引っかかってできなかった。
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
0387デフォルトの名無しさん
2014/09/10(水) 13:23:28.93ID:W2EgB/Gtいまどき、強制的にSmalltalkを使わせられるシチュエーションなんて
皆無に近いにも関わらず、disliked比率の高いこと
型無し言語が〜とか言ってる暇があったら他のところ改善したほうが良いんじゃないの?
まあ基本設計の筋が悪過ぎて無理なんだろうけど
0388デフォルトの名無しさん
2014/09/10(水) 13:33:59.34ID:pXOleHzB0389デフォルトの名無しさん
2014/09/10(水) 13:57:06.57ID:wb7ixN1x島根の行政が資金提供してくれる時期にRoRに習熟していて、
nodejsが成熟した頃に難なく乗り換えれてさ
0390デフォルトの名無しさん
2014/09/10(水) 14:22:05.29ID:pZLH9WZifavoriteが赤色に違和感
0391デフォルトの名無しさん
2014/09/10(水) 14:50:45.39ID:eO1uAsEA0392デフォルトの名無しさん
2014/09/10(水) 18:18:23.39ID:z+t5Ot3X0393デフォルトの名無しさん
2014/09/10(水) 19:51:31.90ID:RNgPlmiT0394デフォルトの名無しさん
2014/09/10(水) 22:42:35.66ID:gkYNR+Bf6 のバス運転手の中でも、積極的に戦闘機のパイロット
を目指していた 3% から寄せられたものでした。彼ら
は、カンファレンスに出席したり、CompuServe の
フォーラムに質問を投稿したり、記事にコメントを残し
たりすることに、時間を割きました。道路で行く手を
遮る車の排気管にサイドワインダー ミサイルを撃ち込
むことを夢想するだけでは飽き足らず、バスにアフター
バーナーやミサイル、防衛兵器、ヘッドアップ ディスプ
レイを設置することまで、マイクロソフトに求めたの
です。そして、マイクロソフトはそのとおりにしまし
た。
0395デフォルトの名無しさん
2014/09/10(水) 22:56:24.46ID:MIzNsnl2>>375をカキコした本人だけど、「型無言語と動的型付言語は違う」とは
どこにも書かれていないよ、かんべんしてくれ
型システムについて厳密な立場をとれば、「静的型付け言語ではない言語達」を
総称して「型無し言語」とか「動的型付け言語」みたいな曖昧な用語を使うことがある、
と書いてあるだけ
「型無し言語」と「動的型付け言語」のどちらも
同じ「静的型付け言語ではない言語達」を指す異音同義語だよ
ここで珍説を唱えたいのなら、まず始めにこの2つの用語の正確な定義を示してほしいな
0396デフォルトの名無しさん
2014/09/10(水) 23:45:33.89ID:N+5c6/yM動的型付言語 = dynamically
type-checked language = 実行時に型検査する言語
型無言語 = untyped language = 型検査がない言語
0397デフォルトの名無しさん
2014/09/11(木) 00:03:08.66ID:+cqss+B20398デフォルトの名無しさん
2014/09/11(木) 00:04:00.64ID:WdQgW6yPということは、オブジェクトが受信したメッセージが実装されているかを
実行時に検査する Smalltalk は type-checked language に分類される、ってことね
分類法の基本だけど、各要素は同じ基準(切り口)で定義するものだよ
たとえば生物を分類するのに、素人が:
・哺乳類:親の乳によって子を育てる
・鳥類:空を飛ぶ
・魚類:卵によって繁殖する
などと定義するのと、>>396は同じレベルに見える
(哺乳類の正しい分類法は Wikipedia 等を参照してくれ)
>>395で求めたのは「正確」な定義だから、そこんとこヨロシク
0399デフォルトの名無しさん
2014/09/11(木) 07:50:03.12ID:mZPHk3MX動的型付言語 = dynamically
type-checked language = 実行時に型処理系が検査してErrorを出す言語
型無言語 = untyped language = 処理系が型検査しない言語
これで満足かい?
0400デフォルトの名無しさん
2014/09/11(木) 08:00:58.20ID:H1K34lvjだから違うって
0401デフォルトの名無しさん
2014/09/11(木) 08:30:38.78ID:+cqss+B2# 動的型付言語
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']() # 例外にならない
0402デフォルトの名無しさん
2014/09/11(木) 10:35:55.19ID:I5Ff9Nvc動かして試したわけじゃないけど
Ruby1.0のソースにはmethod_missingがあるみたい
未定義のメソッドコールはデフォルトのmethod_missingに送られて
そこでNoMethodError例外を出すことになっているので
Ruby1.0とそれ以降で、何も変わってないようなんですが
0403デフォルトの名無しさん
2014/09/11(木) 12:41:32.36ID:yx4TJ6K4これほんと疑問だった。>>381には是非きちんと答えてほしい。
今の動的型付けか型無しかに関連して
Ruby 1.0 以前でできなくて 1.0 よりあとで出来るようになったことは
具体的には何かということ。
0404デフォルトの名無しさん
2014/09/11(木) 17:11:07.41ID:+E96cQfH0405デフォルトの名無しさん
2014/09/11(木) 17:16:41.71ID:ThP8Tlio0406デフォルトの名無しさん
2014/09/11(木) 17:20:40.06ID:+E96cQfH業務システムにJavaが使われるだけで、
ソフトウェア作ってるとこって今でもc++だよね
0407デフォルトの名無しさん
2014/09/11(木) 18:22:24.38ID:MBx8DiQdSmalltalkerが知ったかのウンコってことくらい
これまでのやり取りで分かってた事じゃん
0408デフォルトの名無しさん
2014/09/11(木) 19:22:21.66ID:oL03u+KkSmalltalk でメソッドが無いときの挙動を、
なんかおもしろそうなので >>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
0409デフォルトの名無しさん
2014/09/11(木) 19:38:03.74ID:WdQgW6yPダーメダコリャw
0410デフォルトの名無しさん
2014/09/12(金) 00:54:51.95ID:U31iUJfShttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/2046
PythonもRubyも1.0の頃には型無言語だったんだね。
失敬失敬。
0411デフォルトの名無しさん
2014/09/12(金) 01:22:55.73ID:5zER8GeN生のメモリやレジスタの値みたいなものじゃないの?
数値とみなしたり、アドレスとみなしたり
まさに型がなくプログラマの解釈しだい
そんなのアセンブラ以外にあるのかな?
TCLのすべてが文字列っていうのも型無しっぽいけど
モダンな言語で型無しってのはありえないような
0412デフォルトの名無しさん
2014/09/12(金) 01:37:34.09ID:umGgZ7qj頑なに認めないのな。
0413デフォルトの名無しさん
2014/09/12(金) 18:51:41.39ID:KAqXTRmI静的型のメリットをどう両立するかって方を向いているのに
動的型と型無しの違いを熱く語るとかバカかっつの
0414デフォルトの名無しさん
2014/09/12(金) 19:43:36.01ID:QZd6eufJメッセージを送りつけてみて、たまたま上手く動いたらオッケー、
ダメでも気にすんな的なプログラミングスタイルが普通だから、
どんなメッセージを送りつけても例外で落ちない
ということに拘りがあるんだよ
その辺の事情は他言語ユーザには分からないかもしれないね
0415デフォルトの名無しさん
2014/09/12(金) 19:44:07.89ID:ke/j7I6c0416デフォルトの名無しさん
2014/09/12(金) 21:14:46.99ID:dQQcme2D業務でsmalltalkやるとうんざりする
大規模だと原因クラスが
どれなのか調べるのも困難
メンテナンス考えると
手続き型の方がいい
0417デフォルトの名無しさん
2014/09/12(金) 21:45:34.62ID:PNfSodRm他の動的型(あえて型無しとは言わない。為念)言語なら
ともかく、デバッガのサポートが手厚い Smalltalk で
原因クラスがわかりにくかったという状況が
ちょっと想像がつかないのですが、差し支えない範囲で
具体的にどんな問題だったか教えてもらえると助かります。
0418デフォルトの名無しさん
2014/09/12(金) 21:51:51.32ID:PNfSodRm独自のトンデモ解釈や限定的な持論を Smalltalk使いの
一般論として自信たっぷりに語らないでください。
他の Smalltalkファンがすごく迷惑します。
0419デフォルトの名無しさん
2014/09/12(金) 22:07:46.60ID:fQaYqz1u基本的なLibraryはSUnit使ってるから原因がすぐ解るし、
他はinspect機能やMessageの検索使えば
すぐ原因わかるだろ。
どんな使い方してたんだよ。
0420デフォルトの名無しさん
2014/09/12(金) 22:16:44.98ID:PNfSodRmただ「デバッガのサポートが手厚い」とかだけ書くと
特にこのスレでは反感買うだけだと思うので、ちょっと補足すると、
Smalltalk では実行時コンテキストもオブジェクトなので
他のオブジェクトと同様に扱うことが容易である
(例えば、永続化※も可能)というのは他言語には
なかなかないアドバンテージかと思います。
※デバッグ時の困難の一つに、状況の再現が難しい場合という
状況がありますが、Smalltalk の場合、状況そのものを
永続化可能なので、たまたま起きた異常事態を保存しておき
あとからいろいろな方法での対応を試すことが可能です。
0421デフォルトの名無しさん
2014/09/12(金) 22:32:59.02ID:NmiO33AG言語の外側の環境に依存してるケースが多いから
VMのスナップショット取った方が圧倒的に便利だよ
0422デフォルトの名無しさん
2014/09/12(金) 22:47:40.39ID:fQaYqz1u外部の入出力系はSmalltalkのSnapshotだと手軽だよ。
OSのVMみたいに時間も掛からないし、
Debugger差し込むのも簡単だし。
0423デフォルトの名無しさん
2014/09/12(金) 23:06:29.32ID:NmiO33AG外部環境は再現出来ないわけだよね
0424デフォルトの名無しさん
2014/09/12(金) 23:45:27.60ID:QZd6eufJ他の言語に負けてる部分があるわけじゃないよ
VMのイメージが必要ならそうする
ただ、いまではSmalltalkでは外に依存するような本格的なシステムは
まず作らないので、大抵はデバッガで事足りるけどね
0425デフォルトの名無しさん
2014/09/12(金) 23:50:54.62ID:PNfSodRm外部環境由来の状況であればおっしゃるとおりだと思います。
ただ Smalltalk の永続化はそれ以外の場合に役立ちますし
(そういうことが皆無だとおっしゃるつもりはないですよね?)
VMのスナップショットと違って、save as... 感覚の手軽さも相まって
他言語に対するアドバンテージであることには変わらないと思います。
他方で、外部状況を保持するためにVMのスナップショットを
とりたければ、Smalltalk をVM環境(まぎらわしいですね^^;)で
動かせばよいので Smalltalk のスナップショットは邪魔にはならないはずです。
0426デフォルトの名無しさん
2014/09/12(金) 23:51:48.49ID:PNfSodRm0427デフォルトの名無しさん
2014/09/13(土) 00:12:20.21ID:mOSERTji使ってる比率からして
0428デフォルトの名無しさん
2014/09/13(土) 00:17:45.38ID:aXV++67B全く再現できない他の言語よりは、異常があった時のQueryと
結果を保存出来るだけマシだよ。
0429デフォルトの名無しさん
2014/09/13(土) 00:41:41.53ID:aXV++67B0430デフォルトの名無しさん
2014/09/13(土) 00:42:47.82ID:/mgnsgolゴキブリじゃないですが、全体の人数の割に、
一人現れると聞きつけて何人かが寄ってくる率は高いですよ。w
0431デフォルトの名無しさん
2014/09/13(土) 00:53:38.74ID:pbPiGazv0432デフォルトの名無しさん
2014/09/13(土) 01:01:11.78ID:aXV++67BいまならGemStoneがタダで手に入る。
有り難え有り難え。
0433デフォルトの名無しさん
2014/09/13(土) 01:16:16.13ID:/mgnsgolhttp://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枚目)
0434デフォルトの名無しさん
2014/09/13(土) 01:20:00.51ID:/mgnsgolいかんいかん^^;
×Gemstine/S → ○GemStone/S
0435デフォルトの名無しさん
2014/09/13(土) 01:28:02.71ID:mOSERTji0436デフォルトの名無しさん
2014/09/13(土) 01:29:30.12ID:/mgnsgol当時としては比較的高速で、もちろん永続化機能も有した
Ruby 処理系を実装した Smalltalk 処理系として、
いっとき話題になっています。
http://www.infoq.com/jp/news/2011/11/ruby-maglev-10
0437デフォルトの名無しさん
2014/09/13(土) 07:20:51.72ID:XqW5wWk0まあ、俺が池沼なのも大きいけどね
dbとosのverを上げたら一定確率でログインfatalになるんでself haltして見てった
ステップするもループで起動時オブジェクト大量に作ってて、ログインクラスが何ループ目か分からないので延々とステップ、飛ばそうとステップオーバーさせたらdllの方にいっちゃたのかハングしてctrlyも効かなくなり最初からやり直しを延々数時間
該当システムの知識なくデバッグすると
深すぎて飛びすぎて迷いこんでくイメージしかない
画面の数字がおかしいとかの場合は結果の出来た所で止めればトレースバック出来るんで簡単だろと言うのは分かる
0438デフォルトの名無しさん
2014/09/13(土) 09:10:24.20ID:KYJA+u1QSmalltalkじゃなくても実行時のログや
異常発生時の詳細なスタックトレース位ならとれるし、
それで実行時の状況を再現できることも多いから
全く再現できないは言い過ぎ
>>433
DBで気になるのはパフォーマンスなんだけど
ググってもそういう情報は見つけられなかった
どこかに情報ある?
0439デフォルトの名無しさん
2014/09/13(土) 09:17:42.48ID:/mgnsgolなるほど。システムの動き方によっては、やみくもに
デバッガのステップで手繰るのは問題特定を難しくする
というパターンですね。その状況であればわかります。
0440デフォルトの名無しさん
2014/09/13(土) 09:50:15.94ID:vLgLnJJXRDBより速く、Scalabilityに優れる点が評価されて
VMWareに買収されたって記事は見つかるんだけど、
具体的な測定結果は見つからないね。
気になるならタダで落とせるから自分で試してくれ。
0441デフォルトの名無しさん
2014/09/13(土) 10:05:19.79ID:vLgLnJJXStep実行何回もするぐらいならUnitTest使えば良いのに。
それが起きたSmalltalk環境ってなに?
VisualWorksじゃ、Step実行中だけDLLで止まるとか起きた事ないよ。
あとLogin出来ない原因は何だったの?
因みにSmalltalkのStep実行はBlockをStep実行するか
どうか選べる機能がある。
Break point無しで反復処理すっ飛ばせるから結構すきだ。
0442デフォルトの名無しさん
2014/09/13(土) 10:13:46.50ID:5iRXmRCwttp://community.gemstone.com/download/attachments/6816350/GS64-ProgGuide-3.0.pdf
ここの1.2章を見ると良い
0443デフォルトの名無しさん
2014/09/13(土) 11:07:49.70ID:/mgnsgol> ググってもそういう情報は見つけられなかった
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
0444デフォルトの名無しさん
2014/09/13(土) 11:40:17.53ID:KYJA+u1QそれでもMySQLの数十〜百分の1以下の性能なんだね
良く分かったありがとう
0445デフォルトの名無しさん
2014/09/13(土) 14:45:44.70ID:JCN84Z6S>型システムの教科書(TAPL本)だと、型システムは以下のように定義されている:
> 型システムとは、プログラムの各部分を、それが計算する値の種類に沿って
> 分類することにより、プログラムがある種の振る舞いを起こさないことを保証する、
> 計算量的に扱いやすい構文的手法である
>何の事か分かりづらいけど、要するに
「型システムの教科書」に書かれている「型システムの定義」を引用して
「何の事か分かりづらいけど」と切り捨てる強烈なdisに吹いたww
0446デフォルトの名無しさん
2014/09/13(土) 15:55:00.12ID:Bjr83Kqxhttp://d.hatena.ne.jp/yomoyomo/20140907/swift
0447デフォルトの名無しさん
2014/09/13(土) 18:03:42.96ID:7F4s5mUoどういう条件でだよ
0448デフォルトの名無しさん
2014/09/13(土) 18:47:11.82ID:mAxKIb3wわかっていて言っておられるとは思うのですが、
GemStone/S は OODB なので、素の RDB とパフォーマンス比較しても
あまり意味がないような。せめて ORM を介在させた状態ととかかと。
それとも ORM にオーバーヘットなぞ存在しない派、でいらっしゃるとか?
0449デフォルトの名無しさん
2014/09/13(土) 20:27:27.36ID:/w+exahQ使わないという選択肢があるから
0450デフォルトの名無しさん
2014/09/13(土) 21:56:57.16ID:/mgnsgolなるほど。そう来ますか。
もしや最初から 、MySQL 程度のスループットがだせないなら
この OODB は使いものにならない、という結論ありきで
パフォーマンス情報を探しておられたのでしょうか?
だとしたら随分意地が悪いお人ですね。^^;
0451デフォルトの名無しさん
2014/09/14(日) 02:19:17.07ID: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
].
0452デフォルトの名無しさん
2014/09/14(日) 02:42:02.73ID:92EZCtvb抜き出す例の方が分かりやすいかな。
Session >> authorizeUser: anIdObject withPassword: aPassword
userAccount :=
tableOfUserAccount
at: anIdObject asSymbol
ifAbsent: [ InvalidateLogin signal ].
self user: ( userAccount unlockByPassword: aPassword asString ).
0453デフォルトの名無しさん
2014/09/14(日) 02:56:53.03ID:92EZCtvbTableOfUserAccount >> createSessionByUser: anIdObject withPassword: aPassword
| userAccount |
userAccount :=
self table
at: anIdObject asSymbol
ifAbsent: [ InvalidateLogin signal ].
^ userAccount unlockByPassword: aPassword asString.
0454デフォルトの名無しさん
2014/09/14(日) 07:59:52.59ID:VxA609skそれだけ見たら単なるドキュメントデータベースじゃん
0455デフォルトの名無しさん
2014/09/14(日) 09:07:30.07ID:c+6AylsA>>453だけぱっとみたらそうかもね。
でも
・userAccountが指すObjectのClass
・#unlockByPassword:の振る舞い
を前回の状況によって変える事ができるよ。
例えばAccount情報を外部のWeb serviceから取得してる場合。
利用者がAccountの取得に選んだWeb serviceによって
#unlockByPassword:の振る舞いが違うかも知れない。
尤も>>453じゃそこまでの仕様に耐えきれないけど。
(Web serviceのURLをanIdObjectに追加するとか必要。)
0456デフォルトの名無しさん
2014/09/14(日) 09:34:51.93ID:o67Hs83G0457デフォルトの名無しさん
2014/09/14(日) 09:35:32.61ID:Pc2qNKiG0458デフォルトの名無しさん
2014/09/14(日) 12:11:35.99ID:LaSC6W3nRDBより遥かに遅いOODBなんてクソでしょ
0459デフォルトの名無しさん
2014/09/14(日) 12:27:47.73ID:RYMEDjoi0460デフォルトの名無しさん
2014/09/15(月) 10:35:59.33ID:MGTym664Pascalが擬似コードとして使われるケースがありますが。
他言語にコンバートできて、人間が読みやすいコードを生成できるやつないですか。
アルゴリズムを少ないコード量で記述したいのが目的です。
0461デフォルトの名無しさん
2014/09/15(月) 11:08:03.07ID:pNNQiIbO0462デフォルトの名無しさん
2014/09/15(月) 11:16:44.55ID:ONJbox51じゃあ演算子の優先順位すらない言語は
お呼びじゃないね
0463デフォルトの名無しさん
2014/09/15(月) 11:58:52.04ID:ftT2x/3cMagLev-Ruby を使った GemStone の解説は、
これが比較的わかりやすかった。
http://www.slideshare.net/rengelbrecht/maglev-rubyfuza-cape-town-2012
0464デフォルトの名無しさん
2014/09/15(月) 12:39:35.27ID:AtN8BUOBPrologですが、いかがでしょう。
http://nojiriko.asia/prolog/twitter_by_toby_net_20140912_3.html
0465デフォルトの名無しさん
2014/09/15(月) 13:22:53.19ID:j8xvklWY使ったことないけどググると日本語解説もいくつか見つかる
0466デフォルトの名無しさん
2014/09/15(月) 21:17:06.29ID:MGTym664コンバーター、トランスレーターはある?
最低でもC/C++とJavascriptには変換できて、
OS固有の命令を除けば、C++とJavascriptで実現可能なことは全て表現できるといい。
フローチャートってのは言語に依存しないけど、それのコード版かつ、実用性も欲しい。
0467デフォルトの名無しさん
2014/09/15(月) 23:53:35.19ID:Hk6+hq2X> OS固有の命令を除けば、C++とJavascriptで実現可能なことは全て表現できるといい。
C++ か Java で書けよ
0468デフォルトの名無しさん
2014/09/16(火) 01:09:18.24ID:+7eujhzIPrologは、フローチャート書くタイプじゃないと思う
手続き型言語とは、思い切り方向性というか、考え方が違うからな
0469デフォルトの名無しさん
2014/09/16(火) 01:24:52.87ID:zuELja3f人生が終わるまでに結果が出ないプログラムが完成
それが Prolog
0470デフォルトの名無しさん
2014/09/16(火) 01:55:25.48ID:+7eujhzI一応、手続き型でもボゴソートとか色々書けちゃうからその書き方だと誤解されそうだなー
気持ちはだいたいわかるんだが
0471デフォルトの名無しさん
2014/09/16(火) 06:07:32.54ID:xheLKUX2一般的に、>>460 のPascalの擬似コード風に使うと、手続き的な課題であっても
・ if, case, while 文などの表現を排除できる。
代りにバックトラックのような難題が生じているのだが、ここの部分を日本語で
述語名にうまく含ませてしまうと、「読み物」としてはPrologコードができ上がる。
そしてこれは「擬似」ではなく、ちゃくと動く。
0472デフォルトの名無しさん
2014/09/16(火) 06:09:24.22ID:xheLKUX2「読み物」としてのPrologコードができ上がる。
でした。
0473471
2014/09/16(火) 06:23:51.50ID:xheLKUX2話だが、PrologをCに、或いはPrologをJavaに変換するプログラムは存在するが、
Prologのモニタによってバックトラックや再帰を制御させるためのコードを落としてしまう。
それで、>>460 が要求している事と >>464 は話が違うということになると思う。
0474デフォルトの名無しさん
2014/09/16(火) 21:47:36.66ID:+Ut5bl5+その Prolog コードを Ruby へ移植してみた
http://ideone.com/0TSBBr
nojiriko氏に質問するが、あなたはこの程度のコードを根拠に、
(>>46 の言う)アルゴリズム記述言語として Prolog がふさわしいと主張したいのかね?
率直に言ってこの Ruby コードの難易度は(日本語の利用を強制しなければ)超初心者級なんだけど、
nojiriko氏の Prolog コード設計レベルも初心者にしか見えないよ
>>471
君は本当に素直な性格なんだね
コード中の識別子に日本語を使っているからnojiriko氏の詐欺にまんまと騙されているけど、
>>464 のコードは分岐(if、case)や反復(while)など使用していない、
ましてやバックトラッキングといった Prolog らしさの欠片(かけら)すら無い糞コードだよ
0475デフォルトの名無しさん
2014/09/16(火) 23:18:57.19ID:xheLKUX2ごめん。>>464と>>471は同一人物、すなわち私が書いたものです。
>>464はPascalの擬似コード風のものの中でPrologをしらない人でも
わかるコードを選びました。
>>471で言っていることは nojiriko.asia のサイトの末尾1000題くらいを
追ってみてください。課題がやさしいですから、糞コードと取られるのは仕方
ありません。このような表現を使った場合、なにが問題であるかが、段々と
表現が極端な方向に変化する中で読み取ってほしいというところかな。
0476デフォルトの名無しさん
2014/09/16(火) 23:39:42.32ID:xheLKUX2それから、Rubyのコード。すばらしいですね。
0477デフォルトの名無しさん
2014/09/16(火) 23:42:25.15ID:xheLKUX2何が問題であるかを、
でした。
0478デフォルトの名無しさん
2014/09/16(火) 23:55:46.69ID:2l4a4VBe直に書き込まないでくれて助かる。
ところで9―3÷1/3+1の答えは1だと思うのだけど、
件の Prologコードは SWI-Prolog でエラーになって確かめられない。
あと、Ruby のコードで逆引き辞書の / が重複しているのに
出力ではちゃんと再現できているのはなぜだろう。
0479デフォルトの名無しさん
2014/09/17(水) 00:08:01.06ID:tkaK1kp6>ところで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.
?-
0480479
2014/09/17(水) 00:14:36.53ID:tkaK1kp6$ 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.
?-
0481デフォルトの名無しさん
2014/09/17(水) 00:43:48.52ID:TerbdBJl> /(実は÷)の演算子結合度をrdiv(実は/)の400より強くする
だけど、実際は 401 と低くしているので 9-3/(1/3)+1 かと。
http://www.swi-prolog.org/pldoc/man?section=opsummary
0482デフォルトの名無しさん
2014/09/17(水) 01:04:26.90ID:TerbdBJl> 出力ではちゃんと再現できているのはなぜだろう。
あ、わかった。
表示に使う式の文字列は改めて与えて、
それをそのまま出力しているのか!
> 式を復元して表示する('9―3÷1/3+1=',_はてな)
全角に戻しているのは結果だけだという罠。きたない。
0483デフォルトの名無しさん
2014/09/17(水) 09:18:24.05ID:C2WN/KBR$ swipl
?- op(401, yfx, (/)). X is 9 - 3 / 1 rdiv 3 + 1.
true.
X = 1.
0484デフォルトの名無しさん
2014/09/17(水) 13:04:50.10ID:q3qTrR1U9−3÷1/3+1 を 結果が 1 を返すようパーズして評価するコードを書け。
なお、
・/ は ÷より優先される。どちらの演算も割り切れない場合は分数を返す。
・組み込みで分数をサポートしない言語は、既存ライブラリーを使ってもよいし
自分で簡易実装してもよい。無理なら小数点数で扱ってもよい。
・パーザーは手書きでもパーザー生成器などライブラリーを使ってもよい。
いずれにせよ、他の類似の式文字列も同様にパーズ・評価できるように実装する。
・余力があれば二桁以上の数値、漢数字、括弧、全角返値などへの対応もご自由に。
0485デフォルトの名無しさん
2014/09/17(水) 15:40:52.29ID:tIwxdoK80486デフォルトの名無しさん
2014/09/17(水) 17:05:09.93ID:RlznIxIP0487デフォルトの名無しさん
2014/09/17(水) 18:32:34.00ID:6L2oAPxUSqueak 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 "
0488デフォルトの名無しさん
2014/09/17(水) 18:37:12.59ID:HcKN6G5K0489デフォルトの名無しさん
2014/09/18(木) 09:02:26.23ID:WDIfCnlqOMeta/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
0490デフォルトの名無しさん
2014/09/18(木) 13:23:40.38ID:e8lbKqg+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"
0491デフォルトの名無しさん
2014/09/18(木) 13:43:50.43ID:PJ3flVKP0492デフォルトの名無しさん
2014/09/18(木) 16:50:42.59ID:IKF3bMic0493デフォルトの名無しさん
2014/09/19(金) 07:30:05.52ID:932+hnbT書いて下さいだろタコ
身分をわきまえろよ
0494デフォルトの名無しさん
2014/09/19(金) 08:01:50.12ID:fVs2kyBw出題文を命令形にするのは、ギリシャ時代からのならわしではないか。
0495デフォルトの名無しさん
2014/09/19(金) 16:51:25.35ID:OwpMAs9whttp://ideone.com/3W5gUW
0496デフォルトの名無しさん
2014/09/25(木) 13:46:34.10ID:tDBGvJpk死ねゴミ共がw
死ねゴミ共がw
死ねゴミ共がw
0497デフォルトの名無しさん
2014/09/25(木) 13:47:38.27ID:tDBGvJpkさっさと書けやゴミw
0498デフォルトの名無しさん
2014/09/25(木) 15:11:58.07ID:/zs8YLvv0499デフォルトの名無しさん
2014/09/25(木) 17:32:18.73ID:J2V3iT830500デフォルトの名無しさん
2014/09/26(金) 07:00:11.81ID:/wNWbPfSその通りだw
さっさと書きやがれw
0501デフォルトの名無しさん
2014/09/27(土) 14:36:10.46ID:M7ySO1zH安易にsystem()とか呼び出しちゃうから
今回のbashの件で死亡しちゃった?
0502デフォルトの名無しさん
2014/09/27(土) 17:11:17.90ID:lJpImKEe0503デフォルトの名無しさん
2014/09/27(土) 18:58:05.39ID:BDVmPomLsystem()で一番呼ぶのcmd.exeだなぁ
0504デフォルトの名無しさん
2014/09/27(土) 20:39:51.83ID:lJpImKEeC言語使いでも安易にsystem()するバカは見たことがあるけどな。
0505デフォルトの名無しさん
2014/09/28(日) 10:12:02.15ID:lx4te+LVMySQLへの接続判定で、以下の例文がありました。
$d=mysql_connect("localhost","root","1234") or die("接続失敗");
普段はC++使いですが、この書き方に違和感があってまだ理解できません。
なぜ接続に失敗したら、die関数が実行されるのでしょうか?
0506デフォルトの名無しさん
2014/09/28(日) 10:23:31.42ID:2T0qE7fchttp://toro.2ch.net/test/read.cgi/tech/1365323116/938
0507デフォルトの名無しさん
2014/09/28(日) 11:49:30.38ID:FAkptdZZfalse || failed()
0508デフォルトの名無しさん
2014/09/28(日) 18:29:14.74ID:tW0kG1zRC/C++でもそういう書き方するときあるじゃない
if (is_file_opened() || open_file()) {
// ファイル処理
} else {
// 開けなかったときの処理
}
みたいな
0509デフォルトの名無しさん
2014/09/28(日) 19:34:26.08ID:lwUZotcA短絡評価 でググれ
0510デフォルトの名無しさん
2014/09/28(日) 20:19:48.18ID:lx4te+LV理解した。thx
0511デフォルトの名無しさん
2014/09/29(月) 11:08:04.74ID:fOxN//gb0512デフォルトの名無しさん
2014/09/29(月) 12:17:49.64ID:1eoAu9jp0513デフォルトの名無しさん
2014/09/29(月) 14:51:10.65ID:WITlTI700514デフォルトの名無しさん
2014/09/29(月) 22:04:34.29ID:QcGUG2KQスクリプト言語同士で争ってる場合じゃないんだよなぁ
0515デフォルトの名無しさん
2014/09/29(月) 22:07:37.98ID:gltXtwF0え?
0516デフォルトの名無しさん
2014/09/29(月) 22:23:37.74ID:sAVGRibI0517デフォルトの名無しさん
2014/09/29(月) 22:31:05.54ID:QcGUG2KQ0518デフォルトの名無しさん
2014/09/29(月) 22:52:02.46ID:WITlTI700519デフォルトの名無しさん
2014/09/30(火) 05:08:41.73ID:LKjBmG+Iこんなもので作れるわけないけどねwwwwwwwっうぇwっうぇwwww
この言語のリソースが増える事こそが重要なのだ
じゃんじゃんデバッグ、バグレポートを送られたし
オモチャの完成度を高めていく
そのためには金になるという噂をばらまく必要があり、ネイティブ吐けない下等種であるにもかかわらず経済活動に無理やり参加
一体どれだけの人間を騙したんだ?^^
誰かが気づく 本当はこんな言語なくてもいいのに・・・
いやいやいやそんなことないそんなことないプログラミングは楽しいよ!(笑)
存在意義を聞いてるのに・・・、楽しいとかなんとかいう話にされちゃって・・・
R**y会議!カンファレス!勉強会!2014!
誤魔化しだまされ一過性の効率という快楽でシャブ漬けにして本人にとっては無意味なコードを
本人にとっては無意味なライブラリを本人にとっては無意味なパッチを、人に頼られて嬉しいいいいw という自己満足の海に溺れながらコードを書き続ける
小さな一室に集まった者はみな同じ言語を使っていて、似たような服を着ていて、仲間が居るという安心感があり同じ匂いがするらしい
そこのボスや中ボスが登場して演説「諸君、私はプログラミングが大好きだ」洗脳する
超大人数のとてつもない作業量と熾烈な争いによって積み重ねられた恩恵を、高みの見物続けてた奴が「どーれーにーしーよーうーかーなー」っと、そろっと使って、本当の最高効率を愉しむのがLLっていう機構のカタチ
0520デフォルトの名無しさん
2014/09/30(火) 07:24:45.38ID:BzokIjTB0521デフォルトの名無しさん
2014/09/30(火) 08:05:19.12ID:73X2BIep0522デフォルトの名無しさん
2014/09/30(火) 15:10:12.73ID:DxOWHnchこういうロートルには非スクリプト言語、非静的型付け言語のカンファレンスや勉強会の存在すら知られてないのかな
0523デフォルトの名無しさん
2014/09/30(火) 20:32:26.76ID:JU1j3mFEそういう勘違いを昔の自分がしてました〜Tte自己紹介にしか見えないのは一体なんなんだろう
0524デフォルトの名無しさん
2014/10/01(水) 01:24:57.66ID:FFGuf9Qm0525デフォルトの名無しさん
2014/10/01(水) 01:36:02.19ID:Ho+PcJZymatzが元々想定してた使い方には実際困らんと思うよ
0526デフォルトの名無しさん
2014/10/01(水) 01:56:02.17ID:djuRX9lpアホの発想は滑稽だな
0527デフォルトの名無しさん
2014/10/01(水) 06:53:27.62ID:Jjrp6OPY死ねやお前らw
0528デフォルトの名無しさん
2014/10/01(水) 09:09:23.15ID:uFTE4qddフムフムヌクヌクアプアアみたいな奴だな
0529デフォルトの名無しさん
2014/10/01(水) 11:59:12.68ID:n9ZGXeJVRuby取扱従事者免許の普及の遅れが致命的だったな
0530デフォルトの名無しさん
2014/10/01(水) 13:35:56.66ID:wjpxhl4G>Rubyは遅くても
オランダの数学者が作り上げたpythonは、Rubyよりも
演算速度が速いのかナ?
0531デフォルトの名無しさん
2014/10/01(水) 13:52:58.48ID:gC0CIiK80532デフォルトの名無しさん
2014/10/01(水) 19:23:42.78ID:tNvWEr0O0533デフォルトの名無しさん
2014/10/01(水) 21:12:16.33ID:RRxwqEFU0534デフォルトの名無しさん
2014/10/03(金) 01:23:37.15ID:T/kFcWDz0535デフォルトの名無しさん
2014/10/03(金) 01:43:36.72ID:3AMdlTB0タイトループのあるソフトとかの
特定の状況で爆速になり、
特定の状況で逆に遅くなるピーキーな体質
0536デフォルトの名無しさん
2014/10/03(金) 08:02:25.77ID:OYKQH0+C0537デフォルトの名無しさん
2014/10/03(金) 11:03:28.73ID:CqqmulyuJVMにサーバモードとクライアントモードがあったりするように、プロセスを長時間立ち上げたまま、
同じコードが何回も走る、というよくあるユースケースで安定して高性能が出る、というように、
うまくいくパターンは割と明確なんですが。
0538デフォルトの名無しさん
2014/10/03(金) 12:26:04.88ID:zwNCTHT60539デフォルトの名無しさん
2014/10/03(金) 12:39:25.04ID:I4AMywYFまぁ、Rubyはもう完全に落ち目だね。
あえて今からやろうっていう言語じゃない。未来もないし。
0540デフォルトの名無しさん
2014/10/03(金) 12:49:01.03ID:Cqqmulyu0541デフォルトの名無しさん
2014/10/03(金) 12:57:34.47ID:qvYC9LzM確かに。
未来がないよな。
外国勢も殆どpythonで事足りてるみたいだし。
Rubyの存在意義って何?
宗教の奴がなにか使命感に燃えてひたすら自己満する言語?
エンジニアなら目の前の物理の法則とそれにまつわる宇宙を信じろと言いたいけどね
0542デフォルトの名無しさん
2014/10/03(金) 13:57:40.07ID:Cqqmulyu0543デフォルトの名無しさん
2014/10/03(金) 14:03:33.43ID:I4AMywYF0544デフォルトの名無しさん
2014/10/03(金) 14:17:15.89ID:engCVLK60545デフォルトの名無しさん
2014/10/03(金) 17:10:35.60ID:BlqF2NHpRailsはRubyとは正直別物になってて栄えた内に入らんと思うし
0546デフォルトの名無しさん
2014/10/03(金) 18:22:43.63ID:UskTMg6a0547デフォルトの名無しさん
2014/10/03(金) 20:13:02.28ID:MM8EH8yD0548デフォルトの名無しさん
2014/10/03(金) 20:35:46.29ID:Zg+zwuTS0549デフォルトの名無しさん
2014/10/03(金) 20:40:38.81ID:Zg+zwuTS組み分けんもう帽子「ジャアアアアアアアアアアアアアアアアアアアアアアアアアアアップwwwwwwwwwwwwwwwwwwww」
ハリーはネトウヨ
0550デフォルトの名無しさん
2014/10/03(金) 21:19:27.12ID:dP+u0FXo0551デフォルトの名無しさん
2014/10/03(金) 21:21:48.98ID:aFxHZePJ0552デフォルトの名無しさん
2014/10/03(金) 21:56:35.81ID:+Kawa44EMatz はネトウヨ
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さん、おっしゃることは了解しました。が、私自身は言葉狩りには賛成しません。
差別意識というのは文脈から切り離された単語に宿るものではないと思います。私(や、おくじさん)が
どなたか韓国籍・朝鮮籍の方を差別する目的でそのような言葉を使ったのであれば大問題でしょうけど。
0553デフォルトの名無しさん
2014/10/03(金) 21:58:34.03ID:+Kawa44ERuby がなければ、とか 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コミュニティの潜在認識になっている
0554デフォルトの名無しさん
2014/10/03(金) 21:59:04.05ID:dP+u0FXo0555デフォルトの名無しさん
2014/10/03(金) 22:13:22.25ID:FG6v5YFb最後にSeaSideなんてマイナーうんこ言語のマイナーフレームワークに
触れずにいられない時点で、それを書いたヤツの御里が知れるってもんだな
0556デフォルトの名無しさん
2014/10/03(金) 22:13:32.42ID:+Kawa44ELINE の中の人、お疲れさまです
--
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
0557デフォルトの名無しさん
2014/10/03(金) 22:23:37.02ID:FG6v5YFbな時代が一番好きだったな
0558デフォルトの名無しさん
2014/10/04(土) 01:20:04.49ID:WpG7hkwu0559デフォルトの名無しさん
2014/10/04(土) 01:34:56.42ID:ywWSNZBS無知を訂正されるところからスタートしてるし
0560デフォルトの名無しさん
2014/10/04(土) 08:53:03.56ID:9D7AARhC新たな仕事を生んでいるw
0561デフォルトの名無しさん
2014/10/04(土) 09:19:17.97ID:mv0qdR50それはPython2? それともPython3? それともネタ?
0562デフォルトの名無しさん
2014/10/04(土) 10:50:31.06ID:4W3ZFPUpJavaかScalaへの書き直しはある
0563デフォルトの名無しさん
2014/10/04(土) 11:02:27.36ID:wqfRCh+2Java習得しといたほうがいいですか?
0564デフォルトの名無しさん
2014/10/04(土) 11:23:31.14ID:WoYJoTXcしょぼい小規模サイト構築にはRuby
役割分担できてるんだから喧嘩すんな
0565デフォルトの名無しさん
2014/10/04(土) 11:29:52.24ID:9Gf/pGOaScript-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
0566デフォルトの名無しさん
2014/10/04(土) 11:52:55.48ID:pzA2eR9p日帝の残滓が作った言語だから
0567デフォルトの名無しさん
2014/10/04(土) 13:06:45.32ID:Tv/g5xxf好きな言語をやればいいよ
何がオワコンになるかなんて業界のベテランでも外しまくるんだから
ましてこのスレにいる奴らの見解なんてw
0568デフォルトの名無しさん
2014/10/04(土) 14:00:56.07ID:sURg0Bzk0569デフォルトの名無しさん
2014/10/04(土) 14:32:23.48ID:nTcA+0A9世の中の需要はGoogleのキーワード検索や求人サイトみたら良くわかるよ
PHPはダントツで需要ある、ASP.NETやjspが次点でGoがこれからどうなるかって所
0570デフォルトの名無しさん
2014/10/04(土) 14:36:10.36ID:Vt7U2TgV複数が安全安心だよ
0571デフォルトの名無しさん
2014/10/04(土) 18:40:42.25ID:PeX/vDpI最も簡単なのはPHP
学ぶ気すら起きないのはPerl
数年俺のメインはPython
0572デフォルトの名無しさん
2014/10/04(土) 19:18:18.97ID:BSQAStrVJavaとJavascript
0573デフォルトの名無しさん
2014/10/04(土) 19:29:16.41ID:NFWtJDVPJavaとかPHPが流行ってるのは汎用性があって開発の手間が減るからにすぎない。
コボルでもフォートランでもPascalでもベーシックでもいい。
クライアント側にJavaとかPHPなどと同じ応答を返せばいいだけだ。
0574デフォルトの名無しさん
2014/10/04(土) 19:54:26.57ID:BSQAStrVじゃ、両方Javascriptで。
0575デフォルトの名無しさん
2014/10/04(土) 19:55:26.29ID:vkm/NTXC最後の SeaSide なんてフレームワークにしか触れられない時点で、
「>>553 の主旨には反論できません」と敗北を認めたも同然だな
というか、>>553 が書かれたこのスレの part1 が2011年で
それからおよそ3年が経過しようとしているのに、
未だに Python から Rails を越えるフレームワークが登場ないのはナゼ?
世界中にいる優秀な Python プログラマ達をもってしても、
Webアプリ開発フレームワークの舞台では Ruby に勝ち目がないってことだよ
>>564
「Web と スマフォ」の未来は Ruby で決まりだ
手続き型言語の Python は、「非プログラマな数値計算やデータ分析」と
「プログラミング初心者向けの教育」の分野で頑張ってくれ
どちらも重要な分野であるのは事実だし、ライバルには数値計算だと FORTRAN が
教育では BASIC がいて、「手続き型言語の Python」にふさわしい舞台だね
役割分担できてるんだから喧嘩すんな
0576デフォルトの名無しさん
2014/10/04(土) 20:02:55.29ID:bap2QlH4じゃあなんでPythonを辞めるの?
まず一つに、僕自身のスキルと、Pythonを使う人達がドメインとするものが、あまりにもかけ離れていたというのが現状にあります。
実際に、djangoで受託を行っていた会社を辞め、Pythonを利用した各社に対して転職活動を行ったのですが、
何処も書類選考までは通るのですが、自分のスキル上、面接で落とされることが多く、Pythonが好きであることと、
飯を食うことというのは一致しないという時期がありました。
元々、Pythonというのはどちらかといえば研究開発に近い側面に強い印象があります。例
えば、Numpy、Scipy、そしてDeep Leaningなど、それらはコンピュータサイエンスに近い人間ほど、その力を発揮するかと思います。
しかし、僕自身はそういう素養がなく、単純にWebベースのアプリケーションを作りたい人間であり、たまたまPythonという言語が性にあっていた。
Pythonの素晴らしいところは、出来るだけ黒魔術やメタプログラミングを避ける傾向にあるかと思います。
確かにその欠点は冗長性につながりますが、逆にそれは見通しのいい、初心者にやさしいコードになるという側面は疑い得ません。
しかし、やはり自分のように30代でかつWebサービスの経験も浅い、性格的にも破綻しているような人間が、
Pythonを利用して飯を食っていくというのは厳しいものがありました。それはPythonを利用する会社の絶対量が少ないというのもありますし、
逆にPythonを使う会社というのは、スキルの高い会社で、自分のような人間は足切りされてしまうのが現状なのではないかと率直に思います。
Pythonの言語が云々ということではなく、ただ単純に自分のスキルが足りなく、また人材としても魅力的ではなかった。
実際、自分は性格的に破綻しているという自覚もあります。ただ、それだけの話です。だからPythonは悪くない。
そしてRubyへ
というわけで、恐らくこの一年間は暫くRubyを勉強することに注力しようと思っている。
Ruby自体は「いい言語」だとは思うけれど、性に合わないところはいくつかある。もちろん、嫌いじゃない言語だよ。
ただ、俺としてはPythonのほうが性にあっている。それだけ。だからどっちがいいとか、悪いとかではない。
0577デフォルトの名無しさん
2014/10/04(土) 20:13:08.44ID:ywWSNZBSpythonと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が分かってないんじゃない?
0578デフォルトの名無しさん
2014/10/04(土) 21:46:07.48ID:vkm/NTXC結局、>>553,575 には何一つ技術的な反論もできない、
つまり Web の舞台で Python は雑魚であること認めたってことね
それでは「Web と スマフォの未来」について、「Web」については結論が出たから、
ご要望に応えて Ruby スレでやり残した「スマフォ」の話を続けでみよう
まず、Ruby スレでの「Kivy は GUI レイアウトの動的変更ができない」という指摘が
間違いであったことを認める(Python は専門じゃないんで、まあ間違える事はある)
(* 長いので、ここで切る *)
0579デフォルトの名無しさん
2014/10/04(土) 21:46:46.52ID:vkm/NTXC次に >>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
と書くだけで生成できるんだけど、いったいぜんたい何なの、この技術格差は?
0580デフォルトの名無しさん
2014/10/04(土) 22:01:20.35ID:wMiSiXLA数値計算のライバルはMATLABとかRだよ
FORTRANはラップする側される側の関係
あと教育現場のライバルはSchemeだよ
お前が通ってたFランはBasicかもしれんがね
0581デフォルトの名無しさん
2014/10/04(土) 22:08:35.14ID:ywWSNZBSこれでOK
ちゃんとマニュアル読んだ?
CMMotionManager = autoclass('CMMotionManager')
motion_manager = CMMotionManager.alloc().init()
0582デフォルトの名無しさん
2014/10/04(土) 22:16:37.69ID:wMiSiXLA0583デフォルトの名無しさん
2014/10/04(土) 23:14:17.63ID:vkm/NTXCAppKit 等のフレームワークのロードだけなら 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 ならブリッジそのものが不要なんだけど....
0584デフォルトの名無しさん
2014/10/04(土) 23:39:10.94ID:ywWSNZBSそれは只のサンプルコードで、Objective-Cのコードと連携する方法を説明してるだけ
フレームワーク呼び出し以外は全部Pythonで書きたかったら好きにすれば良い
CythonもあるからObjective-Cとの連携はそっちでも取れるしな
ていうか、そのサンプルでユーザ定義のObjective-Cクラスがロードできるんだから
任意のクラスが(パスさえ通ってれば)ロードできることくらい分かれ
0585デフォルトの名無しさん
2014/10/05(日) 00:21:45.69ID:8uTJOzcq> 任意のクラスが(パスさえ通ってれば)ロードできることくらい分かれ
そんなことはすでに理解している(つもりだ)けど、>>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 に勝ち目が無いという当然の結論になったね
0586デフォルトの名無しさん
2014/10/05(日) 09:03:48.36ID:PhGGBuX4ISO化したらしいけど、今後も後方互換は保障されないのかな
rubyにしたいけど、それが解決してないと話にならない
0587デフォルトの名無しさん
2014/10/05(日) 10:38:11.04ID:a0dwa85V> そんなことはすでに理解している(つもりだ)けど、>>583 を読んで分からなかったの?
> Objective-C のブリッジコードを手書きでゴリゴリ書かなきゃならない」
分かって無いじゃん
0588デフォルトの名無しさん
2014/10/05(日) 10:40:21.24ID:a0dwa85Vその代償が>>582ですよ
全くもってゴミですよね
0589デフォルトの名無しさん
2014/10/05(日) 13:37:24.72ID:ktqu8y2sISO化されたのは大昔の化石バージョンの仕様
言語そのものが規定されたわけじゃない
0590デフォルトの名無しさん
2014/10/05(日) 15:26:39.33ID:XTB08jeJ死ねやお前らw
0591デフォルトの名無しさん
2014/10/05(日) 17:02:42.97ID:XrIDkgzN0592デフォルトの名無しさん
2014/10/05(日) 19:22:38.20ID:aVbSVb3wスマホの未来はJavaと共にあるよ
0593デフォルトの名無しさん
2014/10/05(日) 19:34:08.81ID:e3IJDrLs0594デフォルトの名無しさん
2014/10/05(日) 20:03:46.40ID:2UENZX3o電卓
0595デフォルトの名無しさん
2014/10/05(日) 20:06:44.40ID:8uTJOzcq> 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 プログラマなら英語くらい読めるだろ
0596デフォルトの名無しさん
2014/10/05(日) 20:19:10.76ID:2UENZX3o0597デフォルトの名無しさん
2014/10/05(日) 21:49:29.76ID:8uTJOzcqそう、このスレの自称Pythonプロは、
英語も読めずに知ったかぶりをしてPython初心者にも負けたことを認めた、
ってこと?(笑
0598デフォルトの名無しさん
2014/10/05(日) 22:12:52.38ID:a0dwa85Vand then we call methods of bridge class so we can get actual data.
という理由で、あえて冗長にObjective-Cのbridgeを書いてる例なんだけどね(英語読めてる?)
ちゃんとメソッドやメンバに直接アクセスしてるコードがあるだろ
Objective-Cを使うだけならbridgeを手で書く必要なんてない
いったい何故bridgeを手でごりごり書くなんて結論になったのか説明しろよ
0599デフォルトの名無しさん
2014/10/05(日) 22:25:42.84ID:a0dwa85Vbridgeを書くケースもあるが、そんな大した分量にはならない
その代わりにCPythonのpypiライブラリが使えるってことを無視するなよ
トレードオフなんだよ
0600デフォルトの名無しさん
2014/10/06(月) 00:09:39.25ID:CQl8idGZその英文の直前に以下の記述があるけど、わざと無視しているのかな?
> 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 で書かなければならない」
という状況を「トレードオフ」と呼ぶのは、間違っているんじゃないかなあ....
0601デフォルトの名無しさん
2014/10/06(月) 00:59:05.60ID:SaQmb5eoラッパー被せりゃいい話。
LLを組込むケースを考えてみればいい
バインダ込みの言語もあればそうでないものもある
その違いで優劣はないし瑣末な問題だよ
自由を与えられた奴隷の考えに通じるね。
0602デフォルトの名無しさん
2014/10/06(月) 07:06:24.37ID:+EFKhnQRプププのプw
0603デフォルトの名無しさん
2014/10/06(月) 08:55:19.54ID:qWdV2q410604デフォルトの名無しさん
2014/10/06(月) 11:57:42.56ID:DaOiROEZ0605デフォルトの名無しさん
2014/10/07(火) 22:14:28.95ID:KzNWKz7K0606デフォルトの名無しさん
2014/10/07(火) 23:28:12.66ID:7LrCT+Kb>ラッパー被せりゃいい話。
だから 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 を嘲笑さえする
そして奴隷はどこまでも奴隷に過ぎない
0607デフォルトの名無しさん
2014/10/08(水) 08:26:11.99ID:Tjq207Zkhttps://www.google.co.jp/trends/explore#q=RubyMotion, Kivy&cmpt=q
0608デフォルトの名無しさん
2014/10/08(水) 14:08:07.16ID:vDUa8S4h0609デフォルトの名無しさん
2014/10/08(水) 21:12:15.09ID:b9Zu08Ntみんなそれでも対応しているのって、凄いね
1.9.3 を使い続けるという選択肢はありなんだろうか
0610デフォルトの名無しさん
2014/10/08(水) 22:11:05.08ID:vDUa8S4h誰もおまえの要求してる互換性がどの部分なのか知らねぇんだし。
0611デフォルトの名無しさん
2014/10/08(水) 23:34:47.55ID:Df1+rkDp>結局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 でも新しいちゃぶ台返しが待っているだろうから後方互換性ネタに事欠くことはなさそうだ
いやあ、議論が盛り上がれるネタの充実している言語が、まったくもってうらやましいよなあ....(棒
0612デフォルトの名無しさん
2014/10/09(木) 00:09:49.73ID:kebIao6Dだから必要に応じてラッパー被せりゃいい話じゃん。
0613デフォルトの名無しさん
2014/10/09(木) 00:34:43.47ID:O2y6rmeM某言語の何が問題なの?
過去の資産の活用なら変換スクリプトあるし。
変なことかかない方がいいよ
0614デフォルトの名無しさん
2014/10/09(木) 05:59:06.61ID:A7b/lmxq0615デフォルトの名無しさん
2014/10/09(木) 08:23:35.47ID:XWUvY1//0616デフォルトの名無しさん
2014/10/09(木) 09:33:05.03ID:WDpcud9E0617烏有(uyuu) ◆/uuWdTQ106
2014/10/09(木) 14:18:47.26ID:UrAfs7LD0618デフォルトの名無しさん
2014/10/09(木) 15:30:03.92ID:IFg54I5e0619烏有(uyuu) ◆/uuWdTQ106
2014/10/09(木) 19:49:16.77ID:7JkNNmd+俺が壁ドンするようになったのは高校二年生の時からだったな
学校のコンクリ壁とか思いっきり殴ってたら、少し壁がへこんでた
誰のせいで壁ドンするようになっちゃったんだろう
さっきの壁ドンは、かなり殴り方を失敗してて
痛さが引かない感じだ
一週間は痛いと思う
壁ドンって、グーにして小指のほうでドンだから痛いんだよな
そういう壁ドンじゃなくて、壁を破砕する気で真っ直ぐに壁ガッなら、こういうことにはなってない
ただし上部な壁じゃないとこれは本当に破砕してしまうから、
床ドンはかかと痛くなるし
壁殴り代行が説に欲しい
0620デフォルトの名無しさん
2014/10/09(木) 21:16:56.99ID:qw9WkxKn0621デフォルトの名無しさん
2014/10/09(木) 21:44:01.74ID:VbELXZgl具体的に勘違いポイントを挙げてあげると気づくと思うよ
0622デフォルトの名無しさん
2014/10/10(金) 08:38:21.78ID:2s4SxNGL0623デフォルトの名無しさん
2014/10/10(金) 16:39:52.39ID:3/q4BLC1そのため、ビル・ゲイツはマイクロソフトのオフィスが穴だらけになるのを恐れて、
コンクリートむき出しの部屋を多く作成した
デヴィッド・ニール・カトラー(David Neil Cutler
- Wikipedia
0624デフォルトの名無しさん
2014/10/10(金) 16:43:34.55ID:ZnFlb2T+http://postd.cc/saying-goodbye-to-python/
> Pythonでコーディングし始めて1万時間ほどに達したでしょうか。Pasteの教訓からライブラリ設計のヒントを得てWebObを記述しました。(略)
> しかし、なぜか私のツールで最大の成功を収めたのがvirtualenvとpipでした。(略)
> データベースを使ったWebサイトやHTTPベースの動的なWebアプリケーション、テンプレートやデプロイメントといったRESTと呼ばれる部類のものには将来性を感じられず、
> 自分が探し求めてきたものなど存在しないかのようでした。
> こうしてJavaScriptやブラウザやDOMに目を向け始めたのです。
> 私がMozillaに加わったのはPythonから離れる少し前です。
これは既出? 私はこれに完全に同意なんだけど、皆はどう?
0625烏有(uyuu) ◆/uuWdTQ106
2014/10/10(金) 19:03:14.69ID:hRiCQ4nDhttp://news.2chblog.jp/archives/51806724.html
0626デフォルトの名無しさん
2014/10/10(金) 21:47:54.66ID:Llmt3h+M俺も全く同じ理由でruby始めた
0627デフォルトの名無しさん
2014/10/11(土) 01:00:45.19ID:7Enc8P3v0628デフォルトの名無しさん
2014/10/11(土) 09:03:41.97ID:y/2VeKBU父が最初に買ったのが10日ではじめるPythonという本だったので
ずっとPythonやってる
本当はRubyがやりたかった
楽しいけどねPython
0629デフォルトの名無しさん
2014/10/11(土) 10:14:01.24ID:+RfzhL5sこのスレを最初から読みなおしていて、気がついたので書いておきます。>>464は
私が書いていますが、この課題もともとツイッター上でジョークとして書いてあった
ものを、私が拾って定義して返したものです。ジョークとして課題が与えられた場合、
1) 大真面目に(構文解析から)キチッと全部書いて、出題者の居心地を悪くさせる。
2) こちらもジョークで答える。
の2つの方向が考えられ、ここでは 2) 演算子の架け替えという絶対に使っては
いけない手を使うという頓智で答えているわけです。
順序としては、>>464のコードは既にあり、>>460の後に>>462で演算子の話題が
出てきたので、演算子を切り替えた解を持つものをさがしてこれを引いてきました。
しかもこれはPascalの擬似コード風でもあるということで。
0630デフォルトの名無しさん
2014/10/11(土) 13:24:22.67ID:bB7VEFAD日本では圧倒的にPythonistaよりRubyistが多い
という状況だとRubyを選ぶことができなかった
逆に、Rubyは国産だけど日本では認められず、寧ろ海外でよく使われている、
という状況なら、多少の困難があってもRubyを選んでいた...
俺の悲しい性だヲ
0631デフォルトの名無しさん
2014/10/11(土) 14:02:59.70ID:HGcTegWfお前D言語とか好きだろ
0632デフォルトの名無しさん
2014/10/11(土) 14:20:39.40ID:Q4QRH68m0633デフォルトの名無しさん
2014/10/11(土) 15:05:15.32ID:oD37Hh5X0634デフォルトの名無しさん
2014/10/11(土) 15:33:22.47ID:+RfzhL5s終日140字で苦しんでいるから、たまに2ch来ると伸び伸び。
0635烏有(uyuu) ◆/uuWdTQ106
2014/10/11(土) 18:18:00.09ID:fozbFsv6俺も全く同じ理由で床ドン始めた
0636烏有(uyuu) ◆/uuWdTQ106
2014/10/11(土) 18:19:14.24ID:fozbFsv6父が最初に買ったのが10日ではじめる床ドンという本だったので
ずっと床ドンやってる
本当は壁ドンがやりたかった
楽しいけどね床ドン
0637デフォルトの名無しさん
2014/10/11(土) 18:25:05.36ID:9vsymaaRたのしいRuby、第4版、2013
そんな大層な話なの?w
1つ言語を知っているのなら、すぐ読める
0638烏有(uyuu) ◆/uuWdTQ106
2014/10/11(土) 18:30:11.90ID:fozbFsv6難しいとか簡単って問題じゃないんだよなぁ
0639デフォルトの名無しさん
2014/10/11(土) 23:30:07.62ID: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
0640デフォルトの名無しさん
2014/10/11(土) 23:37:03.71ID:OjXLMr3pP言語ではPythonの1人勝ちで確定か
0641デフォルトの名無しさん
2014/10/12(日) 00:51:36.68ID:EtzXik070642デフォルトの名無しさん
2014/10/12(日) 01:01:37.88ID:Qh8IWB8fRailsってRubyがなくてもやってけるの?
Ror言語とかやられたら確かに終わりそうwww
0643デフォルトの名無しさん
2014/10/12(日) 01:33:13.56ID:ElJnU/0K0644デフォルトの名無しさん
2014/10/12(日) 02:03:58.84ID:2D7VEq3z理由は、しらない(最適化してないからなのか?)
初心者にとっては、Delphiでexeを構築する(ビルド)のも簡単なきがする。
0645烏有(uyuu) ◆/uuWdTQ106
2014/10/12(日) 04:50:36.18ID:iENiuObx理由は、しらない(音がうるさいからなのか?)
壁ドン初心者にとっては、ドアドンで憤りを表現する(representation)のも簡単なきがする。
0646デフォルトの名無しさん
2014/10/12(日) 07:57:19.76ID:j5jhSN7Oだったらもう別の言語で書き直せばいいや
0647デフォルトの名無しさん
2014/10/12(日) 10:38:30.55ID:LjQH95WZDelphi が速いというより C++/C が異常に遅いだけ あれは欠陥と断言できるレベル
0648デフォルトの名無しさん
2014/10/13(月) 01:49:30.43ID:jOfyS9fghttp://developers.slashdot.jp/story/14/10/10/2155216/
日本のスラド住民ってRubyファンが多いのかな、と思ったらRubyの将来に悲観的というか、
結構アンチも多いのが意外だった。
0649デフォルトの名無しさん
2014/10/13(月) 04:21:36.78ID:yxlKL2Q7スラドのどの発言がアンチRubyなの?
0650デフォルトの名無しさん
2014/10/16(木) 11:38:48.61ID:O1qykKyv$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;
}
?>
0651デフォルトの名無しさん
2014/10/16(木) 11:40:45.94ID:O1qykKyv0652デフォルトの名無しさん
2014/10/16(木) 22:22:56.65ID:2qVozzEa0653デフォルトの名無しさん
2014/10/16(木) 22:27:00.44ID:XqcPlrDWhttps://www.google.co.jp/trends/explore#q=node.js%2C%20php%2C%20python%2C%20ruby&cmpt=q
node.js なんてほとんど誰も使ってない、という方が正しい
0654デフォルトの名無しさん
2014/10/16(木) 22:38:05.76ID:OHTiH13gphpの激減り分は一体どこに行ったんだろ
0655デフォルトの名無しさん
2014/10/16(木) 22:48:17.71ID:YO/psvESnode.jsだけ言語でなく比較がダメだ。
0656デフォルトの名無しさん
2014/10/16(木) 23:40:02.99ID:lcx469S3言語とフレームワークで人気度を描いてみた
(PHP は代表的なフレームワークを知らないので除外した)
動向をみると、Rails は2007年前後の熱狂的な人気は落ち着いてきていることが分かる
とはいえ他と比較すれば圧倒しているので、この先の数年で人気が逆転することは考えにくい
また地域別でみると面白い傾向がある
・node.js:インド、アメリカ合衆国、日本、カナダ、ドイツ、イギリス、フランス
==> インドおよび(いわゆる)先進国で人気
・Django:ロシア、ウクライナ、中国、大韓民国、チェコ共和国、フィンランド、インド
==> 露中韓で人気、インドでは(ナゼか)それほど人気がない
・Rails:インド、ベラルーシ、アメリカ合衆国、ラトビア、エストニア、シンガポール、日本
==> インドおよびアメリカ合衆国で人気、日本ではとりわけ大人気というわけでもない
ざっくりと「インドに好かれる node.js & Rails と 露中韓に好かれる Django」という傾向が見える
0657デフォルトの名無しさん
2014/10/17(金) 08:23:41.05ID:kwa4KqRMインドや中韓に流れてるよね
0658デフォルトの名無しさん
2014/10/17(金) 09:08:23.04ID:O3Ha9Xaqいつ気づくのかなw 一生気付かないのかなw
0659デフォルトの名無しさん
2014/10/17(金) 09:44:19.70ID:zL0+W46Jウェブアプリの寿命は短く、数年でリプレースが起きる
Railsは互換性が低く、追随するにはプログラムの大幅な書き直しが要求される
そのタイミングでRuby離れが起きうる
0660デフォルトの名無しさん
2014/10/17(金) 11:48:10.65ID:HHaE9RjFRuby自体は良くも悪くも、そんなに変わってない
Rails離れが起きて離れるのはRailsのためにRuby入れてた層で
Ruby本体を使う層は良くも悪くも低空飛行で使い続けるかと
0661デフォルトの名無しさん
2014/10/17(金) 17:46:15.04ID:O3Ha9Xaq可能性の話だけしかできない奴w
0662656
2014/10/17(金) 20:54:14.69ID:j5u0ESS9https://www.google.co.jp/trends/explore#q=javascript%20node.js%2C%20python%20django%2C%20ruby%20rails&cmpt=q
--
>>655
言語とフレームワークで人気度を描いてみた
(PHP は代表的なフレームワークを知らないので除外した)
動向をみると、Rails は2007年前後の熱狂的な人気は落ち着いてきていることが分かる
とはいえ他と比較すれば圧倒しているので、この先の数年で人気が逆転することは考えにくい
0663デフォルトの名無しさん
2014/10/17(金) 21:18:48.72ID:x3Lm0zS6西側諸国はWeb系(js,ruby)重視
東側は全般?
ってことなのか???
0664デフォルトの名無しさん
2014/10/17(金) 22:54:28.01ID:mExlA8xJ海外投げるまでもなくね?
>>662
PHPは、zend framework, cakephp, symphony,辺りで、
最近は、symphonyの上に出来たlaravelが普及してる
PHPの急降下って、ほぼ確実にnodejsの影響だよね。
>>663
共産主義の規律で固められた国がpyhon。自由主義の国がRuby
0665デフォルトの名無しさん
2014/10/17(金) 23:00:30.97ID:mExlA8xJだけど、本当に賢い人達はhaskell,ocaml以外には手を出さないだろうね
0666デフォルトの名無しさん
2014/10/17(金) 23:08:03.86ID:HOcKtfcPRubyなんて臭すぎて見るのも嫌になる
0667デフォルトの名無しさん
2014/10/17(金) 23:08:37.55ID:mZsnpkx1なわけあるかい
node.js の上昇度は PHP の下降度に比べればはるかに小さい
0668デフォルトの名無しさん
2014/10/17(金) 23:13:54.01ID:mExlA8xJえ?他にどんな理由あるの?
webアプリがメインになったときに、PHPは対して魅力的でないじゃんね。
Javaを除けば、他の候補なんてRailsぐらいしかないんだから、
Railsに以降してないならnode.jsの影響だって。
皆、meteorやmeanのようなfull stackなものに興味津々なんでしょ?
0669デフォルトの名無しさん
2014/10/17(金) 23:15:32.46ID:mZsnpkx1まず事実から見よう
>>653 のリンクの通り、現在でもnode.jsの地位ははるかに小さい
そこを前提にしない限り、話はいつまでたっても噛み合わない
0670デフォルトの名無しさん
2014/10/17(金) 23:19:20.55ID:mExlA8xJ現実のWebAPIは、どこも彼処もjavascript。残念だけど。
0671デフォルトの名無しさん
2014/10/17(金) 23:21:13.35ID:mZsnpkx1事実は事実
違うというならそれを客観的に証明しないと議論は始まらない
ということで客観的な証明よろ
0672デフォルトの名無しさん
2014/10/17(金) 23:25:25.16ID:mExlA8xJその資料って、誰が使ってるか明記されてないし、
rubyとpythonがプログラム言語かその他の何か分からないじゃんね
0673デフォルトの名無しさん
2014/10/17(金) 23:26:38.94ID:mExlA8xJ0674デフォルトの名無しさん
2014/10/17(金) 23:27:30.59ID:mZsnpkx1人の出した資料にケチをつける前に自説を証明する資料を出そう
0675デフォルトの名無しさん
2014/10/17(金) 23:28:26.07ID:mZsnpkx1https://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
比較するなら公平にな
0676デフォルトの名無しさん
2014/10/17(金) 23:30:37.56ID:mExlA8xJ個人的な体感に近いのが此のグラフ。node.jsの普及間がピッタシ
0677デフォルトの名無しさん
2014/10/17(金) 23:31:37.82ID:mZsnpkx1https://www.google.co.jp/trends/explore#q=node.js%20programming%2C%20php%20programming%2C%20python%20programming%2C%20ruby%20programming&cmpt=q
比較するなら公平に、な
0678デフォルトの名無しさん
2014/10/17(金) 23:33:20.87ID:mExlA8xJnode.jsと言われて、programming languageを一緒に付随させることがないから
node.js = programming languageの認識だから
0679デフォルトの名無しさん
2014/10/17(金) 23:34:49.39ID:mZsnpkx1python や ruby もわざわざ programming を付けて検索することなんかほぼないよ
0680デフォルトの名無しさん
2014/10/17(金) 23:35:38.67ID:mExlA8xJあるよ。monty pythonなのか、蛇なのか、宝石なのか、レズビアン雑誌なのか分からないじゃんね
0681デフォルトの名無しさん
2014/10/17(金) 23:37:24.53ID:mZsnpkx1ふつうはそれに追加して何か検索するだろ
試しに、python array で検索してみろよ
monty python も蛇も宝石も出てこないから
0682デフォルトの名無しさん
2014/10/17(金) 23:40:40.54ID:mExlA8xJnode.jsが使われてないって出した資料が役立たずなの。わかる?
0683デフォルトの名無しさん
2014/10/17(金) 23:43:29.31ID:mZsnpkx1だったらnode.jsもprogrammingを追加しないと不公平だな
pythonだってprogrammingを付けないで検索することが大半なのだから
0684デフォルトの名無しさん
2014/10/17(金) 23:58:13.18ID:mExlA8xJまったく。
世の中の現実はpythonって何?で検索して、monty pythonを探す方が多いから
0685デフォルトの名無しさん
2014/10/18(土) 00:01:02.65ID:YEgpFvTL違うね
プログラマは python + 何かで検索するんだよ
だからわざわざ programming なんかつけない
つけなくても目的のページは検索できるからね
python が何かすら知らん奴らはどうでもいい
プログラマの多さが指標だから
0686デフォルトの名無しさん
2014/10/18(土) 00:04:05.69ID:+RKFoQTZprogramming languageを一緒に付随させることがないんだけど、
pythonはそうとは限らない。
けど、僕らが知りたいpythonってprogramming languageでしかないんだよね
まぁ、google trendにpythonなんて入れてドヤ顔してるヤツがバカなんだけど
0687デフォルトの名無しさん
2014/10/18(土) 00:06:55.01ID:YEgpFvTL何度も言ってるように、python で検索する人は python という単語だけで検索はしない
python + 何かで検索する
何かの部分はほぼプログラミング用語なので、わざわざ programming と入れる奴はいない
0688デフォルトの名無しさん
2014/10/18(土) 00:09:22.99ID:+RKFoQTZてか、google trendって、検索キーで集計してるの?
サイト上の単語抽出してんじゃないの?
0689デフォルトの名無しさん
2014/10/18(土) 00:10:38.69ID:YEgpFvTLそうだよ
じゃないと trend わかんないじゃん?
まさかそれすら知らずに言ってたのかい?
0690デフォルトの名無しさん
2014/10/18(土) 00:13:17.42ID:+RKFoQTZいや、ソースは?
0691デフォルトの名無しさん
2014/10/18(土) 00:14:32.05ID:YEgpFvTLhttp://ja.wikipedia.org/wiki/Google_Trends
ほれよ
0692デフォルトの名無しさん
2014/10/18(土) 00:15:13.96ID:+RKFoQTZ別にpythonの調べ物する人は、いちいちgoogleから検索しないよ
0693デフォルトの名無しさん
2014/10/18(土) 00:16:18.23ID:YEgpFvTLふつうにやるよ
0694デフォルトの名無しさん
2014/10/18(土) 00:17:49.62ID:+RKFoQTZ普通は、調べ物用のサイトやリファレンスを、お気に入りに入れるからググらないよ
0695デフォルトの名無しさん
2014/10/18(土) 00:18:41.88ID:YEgpFvTLじゃ、node.jsも同じだね
0696デフォルトの名無しさん
2014/10/18(土) 00:19:41.54ID:eTdnAi9Jどうかな
0697デフォルトの名無しさん
2014/10/18(土) 00:21:13.63ID:+RKFoQTZやっぱり、google trendで検索される数という資料そのものに疑問を持つべきなんだよ
0698デフォルトの名無しさん
2014/10/18(土) 00:21:49.34ID:YEgpFvTL人の資料にケチつける前に、自説を証明する資料を出そうな
0699デフォルトの名無しさん
2014/10/18(土) 00:22:21.98ID:+RKFoQTZ0700デフォルトの名無しさん
2014/10/18(土) 00:23:29.47ID:YEgpFvTLならんというなら自分で反例を探せ
少なくとも、反例を探すのは悪魔の証明じゃない
0701デフォルトの名無しさん
2014/10/18(土) 00:26:02.47ID:+RKFoQTZhttps://www.google.co.jp/trends/explore#q=node.js%20MVC%2C%20python%20MVC%2C%20ruby%20MVC&cmpt=q
これなんか、体感値にぴったり
>>700
google trendにpythonなんて直打ちで検索した役に立たない資料提供したからって、ファビョらないでよ
0702デフォルトの名無しさん
2014/10/18(土) 00:30:32.50ID:YEgpFvTLhttps://www.google.co.jp/trends/explore#q=node.js%20MVC%2C%20python%20MVC%2C%20ruby%20MVC%2C%20PHP%20MVC&cmpt=q
ということでPHPの圧勝
0703デフォルトの名無しさん
2014/10/18(土) 00:39:27.23ID:+RKFoQTZ賑わってたRubyやScalaのポストが失くなって、node.jsの話題しか失くなったあたり、特に
0704デフォルトの名無しさん
2014/10/18(土) 00:40:25.44ID:+RKFoQTZでっ?
0705デフォルトの名無しさん
2014/10/18(土) 00:43:19.78ID:YEgpFvTL話の最初は>>664の
> PHPの急降下って、ほぼ確実にnodejsの影響だよね。
だよね?
でも MVC というキーワードをつけると、むしろPHPは伸びてるんだよね
つまり、PHPの急降下の原因はnode.jsではない、ということになるね
0706デフォルトの名無しさん
2014/10/18(土) 01:25:29.72ID:+RKFoQTZPHP MVCは誰もが最初に通る道ってだけの話しだよ
0707デフォルトの名無しさん
2014/10/18(土) 01:32:43.27ID:YEgpFvTLだからなに?
自分が出してきたMVCというキーワードでボロ負けしたからってファビョるなよ
0708デフォルトの名無しさん
2014/10/18(土) 01:35:31.40ID:+RKFoQTZその自営業のヤツって、1人で全部こなしたいからLAMPからMEANへ移行しちゃう。ものすごく普通の現象だよね。
仲間と過ごした日々の為に、いつまでもsymphonyやRailsを使い続けるのも悪くはないと思うよ。
今の所は過去の資産や堅牢性って言葉が味方してくれているから
0709デフォルトの名無しさん
2014/10/18(土) 01:37:42.34ID:YEgpFvTLそういう現象が起きてるという客観的な証明よろ
0710デフォルトの名無しさん
2014/10/18(土) 01:37:58.03ID:+RKFoQTZPHP MVCって、入門者が最初に検索するから数が多いだけで、
比較対象の検索キーとしては役に立たないんだよ
0711デフォルトの名無しさん
2014/10/18(土) 01:39:00.04ID:YEgpFvTL自分が出してきたんだろ、MVCを
それが使えないというなら、node.js が PHP を駆逐したという明確な資料を出してくれよ
0712デフォルトの名無しさん
2014/10/18(土) 01:39:29.14ID:+RKFoQTZhttps://geekli.st/homeとgithubのリポジトリ数
0713デフォルトの名無しさん
2014/10/18(土) 01:42:09.04ID:YEgpFvTLgithub なんてちょっと前まで Ruby が無双してたように、偏りが激しすぎるとこだろ
0714デフォルトの名無しさん
2014/10/18(土) 01:46:28.63ID:+RKFoQTZだけど、誰もRSpecのようなツール群をPHPで最初に書こうとはしなかったんだ
0715デフォルトの名無しさん
2014/10/18(土) 01:48:00.89ID:YEgpFvTLということで、PHP が node.js に置き換わったという証明にはなんにもなってないですね
0716デフォルトの名無しさん
2014/10/18(土) 01:51:03.38ID:+RKFoQTZ初心者がちょっとした勉強に使うものだからね。置き換わらなくても良いよ
だけど、昔、Rubyでスゴいツールを書いてた人たちって、
今ではnode.jsでOSを書いちゃうような時代なんだよね
0717デフォルトの名無しさん
2014/10/18(土) 02:43:51.65ID:YEgpFvTL> PHPの急降下って、ほぼ確実にnodejsの影響だよね。
> 初心者がちょっとした勉強に使うものだからね。置き換わらなくても良いよ
見事に矛盾してますねー
0718デフォルトの名無しさん
2014/10/18(土) 03:53:00.97ID:8mXKoYje0719デフォルトの名無しさん
2014/10/18(土) 03:53:54.23ID:YEgpFvTLじゃぁ実体を掴める調査方法をよろ
0720デフォルトの名無しさん
2014/10/18(土) 08:34:41.94ID:sZk+3MdOかなり特化した用途のものだよね
pythonやrubyとは違うタイプのものだし、一過性の流行って思った方がよさそう
0721デフォルトの名無しさん
2014/10/18(土) 12:04:18.03ID:+RKFoQTZ0722デフォルトの名無しさん
2014/10/18(土) 12:05:48.69ID:+RKFoQTZ今だに、phpの方が生き残ってるぐらいだもん
0723デフォルトの名無しさん
2014/10/18(土) 12:29:39.68ID:YEgpFvTLnode.jsも似たようなもんだよ
pythonやRailsレベルにも達しないで消えそうだけどな
0724デフォルトの名無しさん
2014/10/18(土) 12:41:25.94ID:+RKFoQTZECMA scriptやCommonJSの規格が先にあって、そこに実装が出てきたものだもの
それに企業や非営利団体のバックボーンまである
プログラマが休暇に書いたものと違って、コアの部分はプロの中のプロがフルタイムで開発しているんだよね
0725デフォルトの名無しさん
2014/10/18(土) 12:45:15.52ID:YEgpFvTLそんなの言語が生き残る条件にもなんにもなってない
流行り廃りなんて運任せな部分が大きいからね
「イノベーションには再現性がない」とMatzも言ってるじゃないか
0726デフォルトの名無しさん
2014/10/18(土) 12:56:58.29ID:+RKFoQTZ0727デフォルトの名無しさん
2014/10/18(土) 13:02:48.73ID:YEgpFvTLクズはすぐに人格攻撃したがるな
大事なのは言った人じゃないくて内容だろ
0728デフォルトの名無しさん
2014/10/18(土) 13:08:41.76ID:+RKFoQTZ実際の所、Railsの後にscalaやnode.jsって二匹のドジョウがやってきて、
幾つかの大きなサービスがRailsからリプレースされてるよね
linuxの後に出てきたplan9は失敗したけれど、Railsは置き換えられたよね
0729デフォルトの名無しさん
2014/10/18(土) 13:12:02.65ID:YEgpFvTLscalaなんてRailsの足元にも及ばない普及度だぞ
Twitterのようなウルトラ大規模なら使いでもあるんだろうが、そんなサイトの割合なんて1%もないしな
0730デフォルトの名無しさん
2014/10/18(土) 13:17:59.98ID:+RKFoQTZしっかりと、計算機科学を学んだ人が言語を設計したって代物
Rubyを有難がったのって、PHPから移行してきたWebデザインの畑耕してたヤツらだろ
0731デフォルトの名無しさん
2014/10/18(土) 13:19:57.90ID:YEgpFvTL残念ながらそんなのは普及の決め手ではない
普及するかどうかなんて業界のベテランでも外しまくるものなんだから
結局運次第
0732デフォルトの名無しさん
2014/10/18(土) 13:23:28.65ID:+RKFoQTZ普及の決めては、バカでも使えるか、既に広まってるの何方かだよ
それからすると、node.jsは、node.jsが生まれる前から既にあるんだ
0733デフォルトの名無しさん
2014/10/18(土) 13:24:24.49ID:YEgpFvTLscalaの話はどこいった?
0734デフォルトの名無しさん
2014/10/18(土) 13:25:53.39ID:+RKFoQTZscalaなんて一部のオタクにしか使いこなせないもの広まるわけないじゃない
最初からnodejsの話ししかするつもりないよ
0735デフォルトの名無しさん
2014/10/18(土) 13:35:39.35ID:YEgpFvTL>>728>>730はなんだったのか…
0736デフォルトの名無しさん
2014/10/18(土) 13:42:44.49ID:raeZ5AHoScalaがあればRuby要らないになるよね
0737デフォルトの名無しさん
2014/10/18(土) 13:45:17.19ID:YEgpFvTLそんなのは普及の決め手ではないと何度言えば…
0738デフォルトの名無しさん
2014/10/18(土) 13:50:12.43ID:O1BMhf+3ラーメン伸びるぞ
0739デフォルトの名無しさん
2014/10/18(土) 14:11:37.67ID:raeZ5AHoそれらの企業で使われてれば、使うだけで創り出せないドカタなどに普及しなくても
何の問題もない
0740デフォルトの名無しさん
2014/10/18(土) 14:12:16.31ID:8mXKoYje0741デフォルトの名無しさん
2014/10/18(土) 14:40:24.37ID:YEgpFvTLそうやって「優秀()なエンジニアにしかウケない言語ageる俺カッケー」ってずっとやってればいいよ
あと、土方の間で流行ってる言語に嫉妬してそっちをsageるのをやめることができれば100点
0742デフォルトの名無しさん
2014/10/18(土) 14:59:04.50ID:7kjZRqRVSNSだのゲームだの作るならnodeとかpythonとか
個人的にwebにおいてのrubyの使いどころがいまいち分かってない
0743デフォルトの名無しさん
2014/10/18(土) 15:47:59.29ID:XDEljLAa0744デフォルトの名無しさん
2014/10/18(土) 15:54:36.05ID:njDwcE3d0745デフォルトの名無しさん
2014/10/18(土) 16:24:29.50ID:Wss95k07インターンでむっちゃ書かされたけどあれは新人研修だったん?
それとも近年のどっかで変わったの?
結局入ってねえからわかんないけど
0746デフォルトの名無しさん
2014/10/18(土) 17:49:10.53ID:+RKFoQTZ今どきperl案件なんてラリーでも裸足で逃げ出すわ
0747デフォルトの名無しさん
2014/10/18(土) 17:51:44.37ID:+RKFoQTZ0748デフォルトの名無しさん
2014/10/18(土) 17:56:32.57ID:YEgpFvTLfacebookはPHPだね
0749デフォルトの名無しさん
2014/10/18(土) 17:58:22.08ID:+RKFoQTZCRUDアプリを作るためのもので、もうじき、MEANとかmeteorに越される
0750デフォルトの名無しさん
2014/10/18(土) 18:00:12.59ID:YEgpFvTL根拠のない予言乙
まぁ、ごの業界で予言を信じてる奴なんていないけどな
ベテランですら外しまくるぐらいなんだから
0751デフォルトの名無しさん
2014/10/18(土) 18:01:51.48ID:+RKFoQTZ0752デフォルトの名無しさん
2014/10/18(土) 18:05:14.47ID:YEgpFvTL逆に言うと大規模でないと活かせないのがnode.js
イベントマシンを使ったややこしい構成は大規模をターゲットにしてるからこそ
世の中にある大半のWebサイトはPHPやRailsで十分なので、現状の採用数の差として現れる
0753デフォルトの名無しさん
2014/10/18(土) 18:06:16.77ID:+RKFoQTZ0754デフォルトの名無しさん
2014/10/18(土) 18:07:21.87ID:YEgpFvTL活用されてから言おうな
0755デフォルトの名無しさん
2014/10/18(土) 18:07:44.40ID:+RKFoQTZ0756デフォルトの名無しさん
2014/10/18(土) 18:08:24.52ID:YEgpFvTLhttps://www.google.co.jp/trends/explore#q=meteror%2C%20rails&cmpt=q
ほれよ
0757デフォルトの名無しさん
2014/10/18(土) 18:09:37.76ID:YEgpFvTLhttps://www.google.co.jp/trends/explore#q=meteor%20framework%2C%20rails%20framework&cmpt=q
0758デフォルトの名無しさん
2014/10/18(土) 18:10:12.66ID:+RKFoQTZタイポに気付かない人って、動的言語使わない方が良いよ
0759デフォルトの名無しさん
2014/10/18(土) 18:12:50.32ID:YEgpFvTLmeteorだけだと隕石として検索されてるようだな
0760デフォルトの名無しさん
2014/10/18(土) 18:21:01.02ID:+RKFoQTZ2005年以前にrailsがあることも疑問に思うべきで、google trendに1つの単語だけ入れても役に立たないんだ
0761デフォルトの名無しさん
2014/10/18(土) 18:23:14.48ID:YEgpFvTLmeteor の突出した部分をクリックしてみ
隕石関係のページが出てくるから
0762デフォルトの名無しさん
2014/10/18(土) 18:39:49.23ID:eTdnAi9J現実は未だに大量にのさばってるんだけどな…
0763デフォルトの名無しさん
2014/10/18(土) 19:01:43.18ID:+RKFoQTZテストツール書いてたようなsaucelabだって、railsから撤退気味だよ
トップページにJSのツールが来たときに、皆、終わりの時期を悟ったんだと思ったね
0764デフォルトの名無しさん
2014/10/18(土) 19:45:05.65ID:6najUmG9乗せるいたずらによって中央線の電車が脱線した。この事故により通勤客二千人の足に影響した。
0765デフォルトの名無しさん
2014/10/18(土) 20:49:19.01ID:aIv2kPXGD言語(ボソッ
0766デフォルトの名無しさん
2014/10/19(日) 06:00:23.87ID:27d2i3VK0767デフォルトの名無しさん
2014/10/19(日) 11:27:41.58ID:U9zncy/Oくらえ colour
0768デフォルトの名無しさん
2014/10/20(月) 12:31:36.66ID:HPoOlohnまったくの別物だよ。歴史的な経緯から、ある程度の得意分野が棲み分けされてるからね。
同じだって人は目的が分かってないからプログラミングなんて入門しない方が良いぐらい。
で、Web開発って分野じゃ、もうnode.jsしか選択肢がないんだ。
SASSからlessに置き換わったときには、これ以上の自己欺瞞を続けられなくなったんだ。
0769デフォルトの名無しさん
2014/10/20(月) 13:54:41.13ID:2JMHhaut難点としてはちょっと速度が遅いような気がするけど
0770デフォルトの名無しさん
2014/10/20(月) 15:10:58.67ID:x/j2b7Pm0771デフォルトの名無しさん
2014/10/20(月) 16:24:43.44ID:LPksyt4v今後は、PHPに難しい機能追加は要らない、出来るだけ互換性を保つ事が大事と思う
0772デフォルトの名無しさん
2014/10/20(月) 19:04:30.75ID:Z8kNqu4Dhttps://wiki.php.net/phpng#performance_evaluation
新しい機能を追加しても、あまり利用してくれないからね。
未だに5.2や5.3が大半を占めるという話も聞いたことあるし。
0773デフォルトの名無しさん
2014/10/20(月) 19:39:11.27ID:2JMHhautやりにくかったことがあった気がする。
頑張れば同じ動作が実現できたけどこれ何とかして欲しいね
0774デフォルトの名無しさん
2014/10/20(月) 20:45:57.48ID:HPoOlohnphpクラスタのヤツらが、何でframeworkやCMSばかり作って、
コマンドラインツールが発展しなかったのか、文法レベルで考察すべきだと思うね
0775デフォルトの名無しさん
2014/10/20(月) 20:55:16.14ID:HPoOlohnphp ngとhackの2つが内輪で揉めて共倒れするよ。
XEmacs,NetBSDとかCodeIgnitorのような末路をたどるんだろうね
phpの進化の可能性なんて、JSONとRubyレベルの
柔軟な文法でも備えないと使うだけのメリットが見当たらないんだ
で、phpが進化するまでに世の中の興味はdartへ移って死に体
0776デフォルトの名無しさん
2014/10/20(月) 21:08:29.91ID:Vawq+2U2スルー推奨
0777デフォルトの名無しさん
2014/10/20(月) 23:10:53.11ID:HPoOlohnperlもすごく広まっているから今だに無くならないし、
後方互換性を保ちながらperl6のメジャーバージョンアップを待っているね
PHPも同じ運命を辿るんだろうね。nodeは、perlやPHPとは根本的に違うんだ。
まず、規格があって、最強のコアの部分だけ取ってきて、必要な部分だけ付け加えられているんだ。
nodejsのメモリリークなんかも、ebay辺りが最強の面子を集めてデバッグしてくれる
0778デフォルトの名無しさん
2014/10/21(火) 00:13:02.40ID:0vfesyL/その後改善されたりはしてるのかな?
0779デフォルトの名無しさん
2014/10/21(火) 00:17:09.22ID:7kQ0a/IPgoto文入れたり変なことはたまにしている
0780デフォルトの名無しさん
2014/10/21(火) 03:09:24.22ID:UG1iBG6U同じに見えるがなぁ。見た目や書き方が若干異なるくらい。解法や目標は特によく似てる。
jsはこの3つよりよっぽど違う場所にいる気がする。
0781デフォルトの名無しさん
2014/10/21(火) 03:11:04.48ID:E3/E6gOJ0782デフォルトの名無しさん
2014/10/21(火) 23:37:23.83ID:oLvFFaubどう見てもPerlには似てない
0783デフォルトの名無しさん
2014/10/22(水) 00:11:56.23ID:N2snF+4ZLESSってWindowsではコンパイルすら通らないからみんなSASSに移ったけど・・・
Bootstrapとか
0784デフォルトの名無しさん
2014/10/22(水) 01:42:13.04ID:f+dm3f7U0785デフォルトの名無しさん
2014/10/22(水) 08:53:07.96ID:ZuLOuTIo0786デフォルトの名無しさん
2014/10/22(水) 10:38:58.52ID:G51+7oPM0787デフォルトの名無しさん
2014/10/22(水) 10:55:19.19ID:RIes3wgVPerlとPHPどちらの経験も無ければ、パッと見似てるんじゃね
片方だけでも経験してたら、違うと感じるのは間違いないな
0788デフォルトの名無しさん
2014/10/22(水) 18:49:57.29ID:f+dm3f7Ujavaってクラス名が長過ぎて吐き気がする。この言語で文字列扱うとか狂気の沙汰だよね
c++の方がマシなぐらい
0789デフォルトの名無しさん
2014/10/22(水) 19:32:42.04ID:ODLk5kJpPHP5からはどうみてもJavaよりだわ
0790デフォルトの名無しさん
2014/10/22(水) 20:44:51.63ID:rV+YylK+各種ライブラリを入れまくったC++はともかく、素のC/C++で文字列処理ってかなりめんどくさいと思うけどな。
正規表現は当然使えないし、前方一致させるのも結構大変じゃないか。多言語対応も大変だし。
JavaはIDE使えば長いクラス名なんて自分で入力するわけじゃないから関係ないからね。NPE→NullPointerException的な補完も当たり前だし。
>>788の知識経験レベルが疑わしすぎるw
0791デフォルトの名無しさん
2014/10/22(水) 21:54:21.54ID:1/BwKyk1Javaは好きだがウザいもんはウザい
0792デフォルトの名無しさん
2014/10/22(水) 21:55:23.59ID:KLl3weAFPHPはまんまJava
0793デフォルトの名無しさん
2014/10/22(水) 22:28:41.90ID:NlDsk5rNC++11から正規表現は標準ライブラリに含まれてるんやで
0794デフォルトの名無しさん
2014/10/22(水) 23:19:43.34ID:rV+YylK+C/C++と書くと世間ではC++11のことを指すのかい?それは知らなかったよ。
0795デフォルトの名無しさん
2014/10/23(木) 04:39:40.51ID:bEqh17CyC/C++って書くと普通に考えてC言語とC++の事だろう?
他に何があるんだよ
あと文字列の前方一致なんざC言語でもstrncmp呼ぶだけじゃないか。何が大変なんだよ
すれちだな
0796デフォルトの名無しさん
2014/10/23(木) 09:34:58.41ID:nXMyMXg1phpは命名規則がUnixよりなんだよ
Javaの命名規則はJavaの世界に閉じられてるの
phpは、どこをどうみてもjavaには見えない
0797デフォルトの名無しさん
2014/10/23(木) 09:35:51.36ID:nXMyMXg1お前の経験疑うわ
0798デフォルトの名無しさん
2014/10/23(木) 09:38:22.31ID:8j+v/8fy標準だったよねこれ。
0799デフォルトの名無しさん
2014/10/23(木) 12:09:42.41ID:ckAJhut0bitcoin事件のMt.goxのソース(あかんやつ)
これがCに見えるならおかC
0800デフォルトの名無しさん
2014/10/23(木) 19:30:48.50ID:bWtzwxlY0801デフォルトの名無しさん
2014/10/23(木) 20:30:41.48ID:nXMyMXg1Larryとmatzの死が、オマエラの限界
0802デフォルトの名無しさん
2014/10/23(木) 20:31:54.35ID:nXMyMXg1他のどの言語よりも、はるかにcの精神を受け継いでるよ
0803デフォルトの名無しさん
2014/10/23(木) 21:18:57.71ID:iff3BYcTお二人とも、どうぞ。って感じだな(PHP技術者 / 32歳 / 男性)
0804デフォルトの名無しさん
2014/10/23(木) 22:09:35.12ID:CuaF4pQX0805デフォルトの名無しさん
2014/10/24(金) 01:59:05.23ID:SXGOr5T70806デフォルトの名無しさん
2014/10/24(金) 02:03:34.38ID:SXGOr5T7本当に世の中がつまらなくなった
0807デフォルトの名無しさん
2014/10/24(金) 02:06:30.65ID:m7hE39Wa0808デフォルトの名無しさん
2014/10/24(金) 03:12:42.18ID:IQyPzeP8PHPの関数の命名規則はCと似てるかもね。というかPOSIXの関数そのままのやつが多いよね。
でも、>>790で言ったのは「PerlとC/C++は(命名規則でなく)言語全体としてみれば全然似てないから同列に語るのは意味不明」
「Javaの文字列処理がC++の文字列処理より酷いなんてどんな冗談」ということなんだよね。PHPには触れていない。
>>788が命名規則について似てる似てない良い悪いを言っているのか、言語の思想に対して言っているのか、なんにも明確でないからおかしいだろって突っ込みを入れただけ。
>>795 >>799
すまん。CというよりC++のSTLといったほうがいいかもね。stringで前方一致させるのはargorithmのmismatchを使う長ったらしいイディオムしか知らないんだけど、
startsWithレベルで簡単なやつある?まあ確かにスレチなんだが
0809デフォルトの名無しさん
2014/10/24(金) 07:33:16.95ID:fzJEIn/oPHPの組み込み関数の名前は単に適当に作ってたらこうなったってだけ
0810デフォルトの名無しさん
2014/10/24(金) 08:15:45.71ID:z1D9cZ8Mそもそもこのスレのテーマはなんなんだよ…
0811デフォルトの名無しさん
2014/10/24(金) 09:10:34.94ID:S3fKdVaOJavaScriptがアレば十分。サーバサイドはPHP一択。
perlだのrubyはもはや論外。
0812デフォルトの名無しさん
2014/10/24(金) 10:25:33.93ID:nb7VNkeSそのうちJSがサーバサイドで使われるようになるかもしれないけど
0813デフォルトの名無しさん
2014/10/24(金) 10:27:30.07ID:iswtk73Bキモw
0814デフォルトの名無しさん
2014/10/24(金) 11:11:43.55ID:SXGOr5T7javaの文字処理はc++よりヒドイだろ
StringStreamBuilderみたいなもの連ねてJSPで何かやるなんてマトモな神経でやってられない
c++は、<<のオペレータがある分、幾らかマシ
0815デフォルトの名無しさん
2014/10/24(金) 11:17:05.16ID:cOPL4nV50816デフォルトの名無しさん
2014/10/24(金) 11:35:13.48ID:0RGxI6O8スクリプト=Webみたいな考え方には参道できんなあ
もしそういう定義なら、このスレはWebProgへ移籍してると思うぜ
0817デフォルトの名無しさん
2014/10/24(金) 12:15:26.09ID:Gjcs6S4E>JavaScriptがアレば十分。サーバサイドはPHP一択。
大量のJavaScriptを作り上げるのに、pythonを使っている。
PHPだとTerminalから文字列の処理ができない(?)
0818デフォルトの名無しさん
2014/10/24(金) 14:00:24.09ID:m7hE39WaただそれはPerlやPythonのほうが向いてるけど
0819デフォルトの名無しさん
2014/10/24(金) 14:07:13.40ID:7uisWKAtそれ、デメリットでもあるんだよね
0820817
2014/10/24(金) 17:57:06.92ID:Gjcs6S4Eやるのには、限界があるのでは?
Terminalから実行するコマンドをJavaや
C, C++で書くよりも、Python, Ruby,
Perlの方が効率的な場合が多いはず。
PHP大好き人間は、Terminalからのコマン
ドを使わないのか?!
0821デフォルトの名無しさん
2014/10/24(金) 18:17:11.60ID:SXGOr5T7テキスト処理ぐらいなら、今使ってる言語で書いた方がよっぽど早いよ
perl,python,rubyなんて使うならエディタマクロで書いた方が遥かにマシ
0822デフォルトの名無しさん
2014/10/24(金) 18:58:24.02ID:tj9/ksNS0823デフォルトの名無しさん
2014/10/24(金) 19:38:05.47ID:+tf7fXZT0824デフォルトの名無しさん
2014/10/24(金) 19:48:50.49ID:SXGOr5T7は?elipsとvim scriptの入門用チュートリアルぐらい読めよ
0825デフォルトの名無しさん
2014/10/24(金) 20:23:16.38ID:6HGiabybvim scriptの中でもPythonで書いちゃってるわ
0826817
2014/10/24(金) 20:34:07.38ID:Gjcs6S4E>テキスト処理ぐらいなら、今使ってる言語で書いた方がよっぽど早いよ
1TBのHDD内部を全て検索して、ファイル名に2014という
文字列を含むものを全て選び出し、そのファイルを1つ1つ
開いて4番面の文字を取り出す、というような作業を「今使
ってる言語、エディタマクロ」でできるの? (Emacsの
Lispを除いて) javascriptでもPHPでも無理だろう?
このような作業には、perl, ruby, pythonが必要に
なるはず!
0827デフォルトの名無しさん
2014/10/24(金) 20:55:27.55ID:WSkOVKOJ0828デフォルトの名無しさん
2014/10/24(金) 21:26:36.45ID:0RGxI6O8編集することが多くて、編集中にやりたいテキスト処理については、もちろんエディタマクロが適切だろうけど
わざわざエディタ通さないと出来ないなんて面倒って処理もまたある
0829デフォルトの名無しさん
2014/10/24(金) 21:37:29.33ID:2r3lzEcT2014という文字列が出現する回数を数える場合
Emacsやvimじゃファイルすら開けないだろ
0830デフォルトの名無しさん
2014/10/24(金) 22:36:17.47ID:SXGOr5T7は?elisp、vim scriptってterminalから動かせるから
最近の2chに集まるトロールって、以前と比べて明らかに質が落ちたよね
ttp://decomplecting.org/blog/2014/10/23/welcome-to-the-dark-side-switching-to-emacs/
0831デフォルトの名無しさん
2014/10/24(金) 23:02:56.03ID:+AY5TDhY1TBのファイル?
0832デフォルトの名無しさん
2014/10/24(金) 23:07:37.22ID:Zs190Uj9goでjsonいじるの面倒すぎるからそれはないわ
0833デフォルトの名無しさん
2014/10/24(金) 23:44:29.56ID:0RGxI6O8君的にはターミナルから動かせれば「わざわざではない」のかい
0834デフォルトの名無しさん
2014/10/25(土) 00:14:06.36ID:9maskwYi0835デフォルトの名無しさん
2014/10/25(土) 04:50:54.65ID:X7Txwa8i0836デフォルトの名無しさん
2014/10/25(土) 08:02:24.38ID:8tQAYsJtインタプリタ起動するのも、エディタのマクロ処理系呼び出すのも同じ手間
0837デフォルトの名無しさん
2014/10/25(土) 12:25:58.77ID:8tQAYsJt今回のnode.jsのブームってrailsやscalaのときと違って企業の動きが早いんだ
多分だけど、linuxに近い形のプロジェクトになるよ。
趣味で始められたものに、いくつもの大企業がコミットしていく形式。
0838デフォルトの名無しさん
2014/10/25(土) 12:30:24.66ID:V3LUyF6V0839デフォルトの名無しさん
2014/10/25(土) 15:59:58.82ID:+2RQKUJA多重ディスパッチって計算用途以外にはあんまり向かない?
0840デフォルトの名無しさん
2014/10/25(土) 16:21:00.33ID:onrtvozm0841デフォルトの名無しさん
2014/10/25(土) 16:58:08.90ID:FadhVfwr構文自体は結構好みだけど
現状だと初動が遅すぎて正直使い物にならないね
Javaが速いという人にとってはいいかもしれない
ただ、その点は時間掛ければ改善出来る事だから期待してる
同じく好みの構文のDao言語ってのがあったけど
何の期待も出来なかったなぁ
0842デフォルトの名無しさん
2014/10/25(土) 17:26:38.32ID:8tQAYsJt0843デフォルトの名無しさん
2014/10/25(土) 17:57:40.94ID:onrtvozm0844デフォルトの名無しさん
2014/10/26(日) 00:22:07.31ID:qZ7NpcIe素のjsの存在意義ってあるんだろうか
いっそのこと...
0845デフォルトの名無しさん
2014/10/26(日) 01:06:26.65ID:ahtZMnZFデザイナー向けのプラグインが豊富なツールってだけで大していいとも思わない
CoffeeScriptは悪くはないがTypsScriptのほうがプログラム的で好き
0846デフォルトの名無しさん
2014/10/26(日) 13:15:27.94ID:N8Eo4pDcそのjQueryって、javascriptが動的言語として優れてるから出来る芸当なんだよね
0847デフォルトの名無しさん
2014/10/26(日) 13:55:25.91ID:e33XAUxVえ?jQueryは特にトリッキーなことやってないけど…
どの辺がJavaScriptならではなのか、具体例をあげてもらえるかな
0848デフォルトの名無しさん
2014/10/26(日) 14:32:28.67ID:pjtSipCq優劣は別にデファクトなJSに被せたものでしょ
0849デフォルトの名無しさん
2014/10/26(日) 14:41:16.25ID:N8Eo4pDc中身は熟成されたカリー化だらけだって、クレア叔母さんがゆってた
0850デフォルトの名無しさん
2014/10/26(日) 14:42:45.87ID:N8Eo4pDc0851デフォルトの名無しさん
2014/10/26(日) 14:59:27.20ID:keBuV8dejQueryに触れてカルチャーショックを受けて
>>846を言いだすのが良くあるパターン
0852デフォルトの名無しさん
2014/10/26(日) 16:59:19.06ID:qZ7NpcIeなぜjsにはcoffeescriptが存在してるんだろ
0853デフォルトの名無しさん
2014/10/26(日) 17:26:45.33ID:N8Eo4pDccoffee scriptは、Jeremy Ashkenasが凄かったってだけ
0854デフォルトの名無しさん
2014/10/26(日) 17:49:11.47ID:Brx5W+IdJSの構文がウンコすぎるから
0855デフォルトの名無しさん
2014/10/26(日) 17:56:13.76ID:eoLX8RNk0856デフォルトの名無しさん
2014/10/26(日) 20:15:56.04ID:N8Eo4pDc0857デフォルトの名無しさん
2014/10/26(日) 23:37:23.51ID:0uM1zB6zSmalltalkも<<をStreamの出力に使ってたりする。
因みに連結には , を使う。
文字列の連結に + を使うOOPLは正直どうなのかと思う。
+ は加算だから、+と連結は互換性が無いだろうに。
#( 1 1 1 ) + #( 1 1 1 ) "→ #( 2 2 2 )"
'1' + '1' "→ '2'"
#( 1 ) , #( 2 ) "→ #( 1 2 )"
'1' , '2' "→ '12'"
0858デフォルトの名無しさん
2014/10/27(月) 02:00:20.19ID:9dCb0Lih言語が重視するのが数学的なことであれば、+ は加算であり
ベクトル同士の足し算は各要素の加算、だろうけど
OOPLにおいて数学が必ずしも重要視される訳ではないからなぁ
そもそもリストや配列、文字列はベクトルではない、という考え方も多いかと
0859デフォルトの名無しさん
2014/10/27(月) 07:13:19.06ID:aQir2vuc死んじまえクズ共w
0860デフォルトの名無しさん
2014/10/27(月) 08:07:03.74ID:vv05VlVsでも、一々数字の文字列と数値を区別せにゃならんのは面倒くさい。
OOの利点は異なるObjectでも同じ手順を使い回せることだけど、
それを生かせないのはヤダわ。
0861デフォルトの名無しさん
2014/10/27(月) 08:18:55.37ID:XwZ72Hg9レベル6
他の言語のデザイナが演算子の優先順位や文法に使う記号の善し悪しを 議論しているのが遠い世界のように感じられる。
0862デフォルトの名無しさん
2014/10/27(月) 08:23:53.45ID:41R6ibqU'1' + 'w' みたいなのはエラーになるんだろ?
そっちの方がウザいわ
0863デフォルトの名無しさん
2014/10/27(月) 11:44:04.18ID:VoSGhOqgPHPの意味不明な相互変換規則のおかげで100回ぐらい死んでから許される発言だなそれはw
0864デフォルトの名無しさん
2014/10/27(月) 17:22:18.26ID:dUOsOJix0865デフォルトの名無しさん
2014/10/27(月) 17:27:45.49ID:8Joo/hTL0866デフォルトの名無しさん
2014/10/27(月) 17:33:49.74ID:XzLhLShg例えば想定していないインスタンスが引数に来ちゃった場合に
たまたま同名メソッドがあればエラーが起きない
これは問題である
0867デフォルトの名無しさん
2014/10/27(月) 22:37:58.09ID:nXO/8XB2それだけjsが使われているってこと。
0868デフォルトの名無しさん
2014/10/27(月) 23:40:47.52ID:LZvdAwpH'1' asInteger + 'w' asInteger.
明示的な変換する場合だって例外が出るのは同じじゃん。
明示的な変換しても冗長になるだけ。
0869デフォルトの名無しさん
2014/10/27(月) 23:54:35.75ID:LZvdAwpHMessageの仕様はProgram内で統一するもんよ。
Smalltalk環境なんかだと、Class名の一覧表示機能より、
Selector(Methodの名前みたいなもん)の一覧表示の方が充実してて、
Messageの仕様を統一しやすくなってる。
あとMessageの仕様を統一するってことは、
UnitTestの再利用に繋がって効率化にもなる。
0870デフォルトの名無しさん
2014/10/28(火) 00:42:54.08ID:26RMclFVエラーが出ても気にしない文化だから、
外部からの入力を入り口でvalidationするなんて発想はないよ
普通の人なら、コードの奥深くで実際に演算するときに
エラーが出たら面倒と思うかもしれないけど、そういうマトモなプログラムは書かないんだ
0871デフォルトの名無しさん
2014/10/28(火) 01:20:53.06ID:avsoFd9D例外処理でどのI/Oが間違ってたのか判定するのが簡単なんだよね。
VisualWorksやらGemStoneやらVisualAgeなんて
大規模なものが存在するけど、こういう安全性が大規模化に
貢献してるんだよね。
0872デフォルトの名無しさん
2014/10/28(火) 02:19:01.08ID:KtRuSKC5サブモジュールの1ユーティリティ程度だなw
0873デフォルトの名無しさん
2014/10/28(火) 06:54:07.86ID:pU8P/Oibそれが上と同じに見えるなら、プログラミング経験が浅いとしか…
0874デフォルトの名無しさん
2014/10/28(火) 07:35:02.77ID:m6vu7Wpe大規模Projectで使うUtilityと同じと言いたいんだろうけど、
それは比較する次元が違うよ。
それならOSもDBも1 Utilityに過ぎない。
Softwareの規模で言えば>>871の例を超えるものはOSぐらいだよ。
Smalltalk自体OSみたいなもんだし。
0875デフォルトの名無しさん
2014/10/28(火) 12:16:36.18ID:U3xh/ZrO「上と同じ」の上ってどれのこと?
0876デフォルトの名無しさん
2014/10/28(火) 12:22:29.61ID:U3xh/ZrOそのオブジェクト群を生きたままOODBもどきにストアして運用する変態ソフトって印象。
0877デフォルトの名無しさん
2014/10/28(火) 14:28:20.56ID:GFfyO3pL教材みたいなタネとしてではなく
0878デフォルトの名無しさん
2014/10/28(火) 17:19:40.06ID:U3xh/ZrO0879デフォルトの名無しさん
2014/10/28(火) 17:39:25.96ID:wqItU/7J>>868 が指してるやつだよ
0880デフォルトの名無しさん
2014/10/28(火) 18:57:39.54ID:G67znoVZあ、そういうことか。ありがとう。
0881デフォルトの名無しさん
2014/10/28(火) 19:04:14.37ID:OoYbG0Wgよく知られてる企業でSmalltalk使ってるとこなんて無いんだから、
「居る=マイナー企業で井の中の蛙やってるへたれエンジニア」
ってことになるじゃん
へたれエンジニアと自供させようなんて酷いヤツだな
0882デフォルトの名無しさん
2014/10/28(火) 19:58:47.25ID:Zi6JJb/+の言い間違い?だとしても企業名しらなさすぎだし。ゆとりか?
http://smalltalk.cincom.jp/main/successes/
0883デフォルトの名無しさん
2014/10/28(火) 22:07:41.63ID:s98vcxYOTI は、知ってるから読んでみたら...
1989 年1 月、米国国防省は...
いつの話やねん w
0884デフォルトの名無しさん
2014/10/28(火) 22:54:38.34ID:d9dSP/pzhttp://blog.dabbledb.com/
0885デフォルトの名無しさん
2014/10/28(火) 23:20:14.65ID:26RMclFV開発してた連中は今ではRuby書いてるよ
0886デフォルトの名無しさん
2014/10/28(火) 23:52:08.95ID:z5kQ7TQ9結局またRuby書かされてんのか。みじめだな。
0887デフォルトの名無しさん
2014/10/29(水) 00:13:32.22ID:1xI7XKsehttp://www.oscon.com/oscon2014/public/schedule/detail/34383
0888デフォルトの名無しさん
2014/10/29(水) 00:30:15.92ID:1xI7XKseSmalltalk使ってると解体されたり潰れたりでろくなことないなw
0889デフォルトの名無しさん
2014/10/29(水) 00:48:27.45ID:B+aOWxJY2013年にGemTalkとして再独立して消えずにがんばってる
0890デフォルトの名無しさん
2014/10/29(水) 01:02:04.34ID:3qMLreQqSmalltalkみたいに言語処理系だけの閉じた環境で仮想化するより
大正義だとAWSとかが証明しちゃったからね
飼われたたほうが良かったんじゃね
0891デフォルトの名無しさん
2014/10/29(水) 03:21:15.31ID:EoK9ItRE実際は特定の一つの言語で片がつくようなプロジェクトばかりではないから、そりゃOSごと仮想化したほうが実用性高いってなるよね
どっかの中小企業が開発したCで書かれてバイナリ提供されてるライブラリを使いたいとなったり、
同じ言語でも処理系のバージョン依存が激しいとなったりすればOSの環境ごと分けて作りこんだほうが何かと安全、手間がかからないってなるだろうしね
0892デフォルトの名無しさん
2014/10/29(水) 06:33:58.35ID:G1/18Xk7覚え違いか?
0893デフォルトの名無しさん
2014/10/29(水) 07:51:44.90ID:JkYKKADn0894デフォルトの名無しさん
2014/10/29(水) 09:32:28.02ID:YjNa5iHfQwaq/Teleplace は高性能の Cog JIT VM を
Squeak/Pharo コミュニティにプレゼントしてくれたので
経営には失敗したけれど悪くいえない。
http://goran.krampe.se/2014/10/13/cog-vs-luajit/
0895デフォルトの名無しさん
2014/11/01(土) 02:13:18.88ID:KlokPP1Tあ、失敗してないって反論は無しね。もうソコは確定だから
0896デフォルトの名無しさん
2014/11/01(土) 09:33:24.56ID:RDc17QeYSmalltalkが関わっていそうな場所に近寄らなければいいだけ。
失敗してる言語なんだから、そんなに難しいことじゃないだろ?
0897デフォルトの名無しさん
2014/11/01(土) 09:56:28.07ID:woVuP3aC0898デフォルトの名無しさん
2014/11/01(土) 10:02:56.62ID:KlokPP1Tまあ好きとか嫌いでしか物事考えられない馬鹿は
何からも学べないんだろうけど
0899デフォルトの名無しさん
2014/11/01(土) 10:15:40.83ID:t34NKh2g今は選択肢が沢山ある時代だし、Smalltalkにこだわっている人やプロジェクトはないと思うけど
0900デフォルトの名無しさん
2014/11/01(土) 21:10:43.06ID:bVkQrW5OSmalltalkみたいな単純な言語を学ぶ力すらないおまえに
Smalltalkの失敗から学べる何かがあるとはとうてい思えないけどな。
>>899
九大病院のあれはSmalltalkと言うより日本IBMをパートナーに選んだ失敗。
http://drillbits.tumblr.com/post/15664104845
それより、
ケント・ベックたちが火消しに入ったけど失敗した、COBOLで書かれたクライスラーの
給与システムをSmalltalkのに置き換えようとした炎上プロジェクトこそSmalltalkの失敗。
http://en.wikipedia.org/wiki/Chrysler_Comprehensive_Compensation_System
0901デフォルトの名無しさん
2014/11/01(土) 21:37:04.78ID:mUvqqgtr失敗したSmalltalkそのものを学ぶことには価値はないよ
0902デフォルトの名無しさん
2014/11/01(土) 22:35:34.47ID:3Qbwh71SおまえがSmalltalkの失敗から何をも学びとる力がないこととは
直交する
0903デフォルトの名無しさん
2014/11/01(土) 22:59:36.69ID:3Qbwh71Sその言語の失敗から何かを学ぶことに価値があると信じている時点で謎
加えて一般論として、背景も理解しようとせずに失敗のみからなにかを学べると
本気で信じているなら真性のバカ
Smalltalkにいまさら学ぶべき価値がないことはまぎれもない事実だが、
失敗から学ぶうんぬん言ってFUD繰り返す気持ち悪いアンチが低能なのも事実
0904デフォルトの名無しさん
2014/11/01(土) 23:02:53.92ID:woVuP3aC0905デフォルトの名無しさん
2014/11/02(日) 00:18:37.11ID:/3am1v+iSmalltalkの底を流れる設計思想 - ダン・インガルス
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
0906デフォルトの名無しさん
2014/11/02(日) 00:31:03.27ID:zCm1VvUy0907デフォルトの名無しさん
2014/11/02(日) 03:43:00.30ID:PSHwlJIq0908デフォルトの名無しさん
2014/11/02(日) 05:11:46.25ID:Vf5VSDSDTom.age = 50;
空のインスタンスを作って、属性を追加する
なんじゃ、これ!
各インスタンスに、自由に属性を追加できる!
JS使うと、無茶苦茶になるでw
0909デフォルトの名無しさん
2014/11/02(日) 05:14:58.31ID:4UwsIu6Gそりゃあ、JavaScriptはObjectが連想配列兼ねるからね
var Tom = {};
Tom["age"] = 50;
…出来なかったら困るだろうよ
0910908
2014/11/02(日) 05:35:44.89ID:Vf5VSDSDTom["age"] = 50;
属性を、ドット/ブランケットの両者で表記できるんだね
でも一々、動的に属性を追加したりするのは、
静的な言語よりも、大変な手間がかかりそう
0911デフォルトの名無しさん
2014/11/02(日) 05:41:31.17ID:cOZRjysN動的プロパティは無いけど。
0912908
2014/11/02(日) 06:05:50.37ID:Vf5VSDSDvar str2 = 'cd';
Tom[str1 + str2] = 50; // Tom.abcd = 50;
ブラケット表記なら、属性名を動的に決めることができて、
連想配列に使えるね
0913デフォルトの名無しさん
2014/11/02(日) 07:03:37.50ID:qsGQJo5yRubyさえ消えれば、Pythonの1強だから
鬼畜米英に対して、今こそ、日本人として立たねばならぬ!
全国民は何があろうと、Rubyを死守せよ!
0914デフォルトの名無しさん
2014/11/02(日) 07:25:13.38ID:JFWg5+kvいいものはいいといえるのが日本人です。
Rubyistさんは思考が朝鮮人みたいですね。
0915デフォルトの名無しさん
2014/11/02(日) 08:58:32.00ID:FMU9P7y3>Smalltalkにいまさら学ぶべき価値がないこと
これは大昔の教育用の教材言語だと勘違いしていた。過去には、
この言語でまともなシステムが開発されて、今でも(COBOLのよ
うに?)稼働していて、保守されているシステムもあるのですか?
0916デフォルトの名無しさん
2014/11/02(日) 10:07:13.18ID:D5eKszqC>> 913
のように。
pythonistaはrubyをそれほど気にしてない気がする
0917デフォルトの名無しさん
2014/11/02(日) 10:20:13.96ID:4UwsIu6GRubyist(Rails一辺倒の人を除く)は人によって差はあれど
他言語の話が好きな傾向があるのは確かだと思う、俺自身もそうだし
0918デフォルトの名無しさん
2014/11/02(日) 10:26:57.43ID:gwsCz/b50919デフォルトの名無しさん
2014/11/02(日) 13:33:48.76ID:SnPD8yA7見ててそんな感じするわ
子供信者に支えられてやっと一人前になったね
0920デフォルトの名無しさん
2014/11/02(日) 13:39:52.18ID:mhXgKda+0921デフォルトの名無しさん
2014/11/02(日) 14:29:33.99ID:vvnFSn6gどんなSmalltalkの説明を読むとそういう理解になるのだろう^^;
とりあえず>>882 のリンク先とか目をとおしましたか?
国内でもPOSレジに使われているのを見かけたことありますよ。
処理系もVisualWorksやGemStone/Sなどの商用をはじめ、
SqueakやPharoなどのオープンソースながらも本格実装、
GNU SmalltalkやAmber Smalltalkなどファン手製の変わり種など
新旧処理系の開発が続けられていて、いまだに現役です。
0922デフォルトの名無しさん
2014/11/02(日) 14:39:00.91ID:zCm1VvUy0923デフォルトの名無しさん
2014/11/02(日) 15:11:29.40ID:SljKnHGj死体蹴りは趣味悪いぞ
0924デフォルトの名無しさん
2014/11/02(日) 15:44:26.84ID:pa2U0Qx8もしそのとおりなら、Rubyを応援するが、実際は、そうでもない。日本人、初心者をバカにする
0925デフォルトの名無しさん
2014/11/02(日) 16:58:37.25ID:XtmY11cs低能アンチ君。元気が良いなぁ、何かいいことでもあったのかい?
0926デフォルトの名無しさん
2014/11/02(日) 17:22:50.79ID:zCm1VvUy0927デフォルトの名無しさん
2014/11/02(日) 17:37:24.65ID:vxEoPS2x0928デフォルトの名無しさん
2014/11/02(日) 19:05:28.26ID:D5eKszqCブラウザ環境下のjsにもそういう存在がいてくれたらなーとよく思う
0929デフォルトの名無しさん
2014/11/02(日) 21:06:45.10ID:091n3lbv今ではScratchくらいしか普及した貢献が無いんだから
0930デフォルトの名無しさん
2014/11/03(月) 11:15:02.13ID:C9Z/RfTt言語にとどまらない OS まで含ませようとする世界制覇みたいなところが‥
当時はともあれ現在の計算機の能力ではやっていけるのならいいのだが‥
0931デフォルトの名無しさん
2014/11/03(月) 11:40:10.89ID:yN2w0N/w0932デフォルトの名無しさん
2014/11/03(月) 11:46:06.38ID:C9Z/RfTtできることを記述するだけだったしね‥
ポインタくらいかね、まあ概念としては簡単だし‥
0933デフォルトの名無しさん
2014/11/03(月) 11:48:30.96ID:GHCh+c9h0934デフォルトの名無しさん
2014/11/03(月) 11:49:31.42ID:aNJ5eidf日本人気質によるもので、他の国には見られません
0935デフォルトの名無しさん
2014/11/03(月) 12:08:38.75ID:JkrPdOEP宗教っぽさがあったな
0936デフォルトの名無しさん
2014/11/03(月) 12:44:16.36ID:yN2w0N/wだいたいMS-DOSという機械語でガチガチに実装してたシステムのGUIラッパーが
Windowsの出自じゃないかw
しかし、Unixだってたいがい宗教じみてるし、WIndowsだって似たようなものなのに、
「俺の嫌いなアレ」だけが宗教だ、みたいに主張する奴が多くて滑稽。
0937デフォルトの名無しさん
2014/11/03(月) 12:53:10.62ID:C9Z/RfTt0938デフォルトの名無しさん
2014/11/03(月) 13:12:35.44ID:CZDqb7cKあと何かを考える上で、違いや優劣の視点から考えるのは基本だと思うんだよね。
なんでも似たようなもの、個人の好き嫌い、みたいな行き過ぎた価値相対主義は
単なる思考停止、反知性主義な愚か者の思考だと思う。
0939デフォルトの名無しさん
2014/11/03(月) 13:32:40.28ID:aZ1lF/ar>個人の好き嫌い、みたいな行き過ぎた価値相対主義は
>単なる思考停止、反知性主義な愚か者の思考だと思う。
これのことか....
>青木純の本とか読むと、Smalltakerの宗教じみたキモさ
たしかに、思考停止と反知性主義な愚か者の思考だね
0940デフォルトの名無しさん
2014/11/03(月) 13:38:06.06ID:ivBcZJVZ> 愚か者の思考だと思う。
自己紹介乙
0941デフォルトの名無しさん
2014/11/03(月) 13:39:44.97ID:aNJ5eidf0942デフォルトの名無しさん
2014/11/03(月) 13:42:26.01ID:ANFWCHRGただ、メジャーな言語は信者でも何でもないユーザが大半だけど、
マイナー言語をわざわざ使うのは信者だけ
だから目立つ
0943デフォルトの名無しさん
2014/11/03(月) 13:43:00.74ID:aNJ5eidf0944デフォルトの名無しさん
2014/11/03(月) 14:00:10.03ID:H8eeTM/M烈火の如く怒り出したり、
あまつさえ批判した相手の人格を攻撃し始めたりするところが
宗教っぽいよな
0945デフォルトの名無しさん
2014/11/03(月) 14:08:32.66ID:yN2w0N/w0946デフォルトの名無しさん
2014/11/03(月) 14:22:36.33ID:aNJ5eidfつまり、不毛なのでつまらん話はやめなさいということw
0947デフォルトの名無しさん
2014/11/03(月) 14:35:47.52ID:C9Z/RfTt大半のWindows7 ユーザー(私もだ)はそうでもない、よくも悪くも Windows はドッグフードだからね、カトラー自身もいってたじゃない‥
Windows8/10 に手を出している人の中にはいるかもね
UNIX/Linux 信者の方がしつこいんじゃない‥
って Smalltalk の話となると OS に言及したくなるのも‥まあ、そういうものですか‥
0948デフォルトの名無しさん
2014/11/03(月) 14:43:16.23ID:yN2w0N/w0949デフォルトの名無しさん
2014/11/04(火) 14:29:24.89ID:ZSx3BfgV0950デフォルトの名無しさん
2014/11/04(火) 14:32:51.71ID:ZSx3BfgVこのスレでしか見たことないんだけど。
0951デフォルトの名無しさん
2014/11/04(火) 15:57:30.80ID:0blbt53yhttp://lists.squeakfoundation.org/pipermail/squeak-dev/
http://planet.smalltalk.org/
http://consortium.pharo.org/web/news
http://planet.squeak.org/
0952デフォルトの名無しさん
2014/11/04(火) 19:37:48.24ID:6LVYr/c9時代遅れの化石にホットな話題とか無茶振りすぎるわ
0953デフォルトの名無しさん
2014/11/04(火) 23:45:00.73ID:9lQ17wqs(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 の失敗から学ぶ上でも押さえておきたい背景とも言える。
0954デフォルトの名無しさん
2014/11/05(水) 09:06:47.33ID:+2ULCI/nなるほど、Rubyを押さえておけば良いのか
0955デフォルトの名無しさん
2014/11/05(水) 10:23:43.06ID:hrZ2iYVz言語としては Ruby、GUI としては Mac を押さえておくのは順当なんじゃない?
これらは Smalltalk の特色の一部+独自の工夫のアレンジ・アピールで
ずっと多くの人に受け入れられたわけだから。(もちろん、それのみということはないけれど、
両者が Smalltalk からの影響を無くして同じ成功を収めえたかどうかという観点で。)
ただ、言語の Ruby は今後どうなるかわからないけれど、一方の GUI については
直接の影響下にあった旧Mac は進化の隘路にはまってもう滅びてしまっているわけで、
一部を切り取って拝借しそれをアレンジ・アピールしてイノベーションを起こせたように見えても、
元ネタである Smalltalk のようにその後も変化・適応を続けて生きながらえ、
ただ生きながらえるだけでなく、また別の価値(たとえばトレイトとかモーフィックとか)を
新たに具現化していけるわけではないことは、成功とは何かということを考えさせられる。
0956デフォルトの名無しさん
2014/11/05(水) 11:01:46.15ID:yca9uhKQどっちもメジャーな舞台からは脱落してる
0957デフォルトの名無しさん
2014/11/06(木) 11:48:35.10ID:boOGm5M/新規案件で積極的に採用されないことは明白だし、人生とは何かということを考えさせられる。
0958デフォルトの名無しさん
2014/11/06(木) 12:17:49.95ID:ki6zkhTW脳内妄想だけをソースにRubyをdisるだけが能のおまえの人生、ほんとに考えさせられるw
0959デフォルトの名無しさん
2014/11/06(木) 12:21:02.63ID:boOGm5M/今もう、ググったところで、node.js over Railsみたいな記事しか出てこない
このクラスタに居る連中って、もともとRailsに居た層だしさw
0960デフォルトの名無しさん
2014/11/06(木) 12:22:55.89ID:CYtemmd6結局生き残ったのはこの3つだったと
0961デフォルトの名無しさん
2014/11/06(木) 12:42:05.84ID:ki6zkhTW違うか、世界の狭さかw
0962デフォルトの名無しさん
2014/11/06(木) 13:03:04.19ID:boOGm5M/技術者と道具は使い捨て。
0963デフォルトの名無しさん
2014/11/06(木) 13:42:13.29ID:ilh+Dp7P0964デフォルトの名無しさん
2014/11/06(木) 16:25:45.46ID:NlZscSaQあとはC++とJavaとGo
結局Googleの世界になったわけだ。
0965デフォルトの名無しさん
2014/11/06(木) 16:57:56.39ID:boOGm5M/言語なんて、最初からjavascriptとc++だけで良かった
GCの仕組みを付けて、クロスプラットフォームの方向で規格を作ればそれで良かった
0966デフォルトの名無しさん
2014/11/06(木) 17:07:26.11ID:ki6zkhTW0967デフォルトの名無しさん
2014/11/06(木) 17:21:03.34ID:boOGm5M/無能は最新鋭の道具を使い続けることで、有能な技術者を蹴散らせるんだ。
その最終形態がjavascriptだろうね。これ以上はもう進化しない
0968デフォルトの名無しさん
2014/11/06(木) 18:49:31.20ID:Yp9ASOGoスルー推奨
0969デフォルトの名無しさん
2014/11/06(木) 19:29:17.87ID:ki6zkhTW> COBOLしか使わないよ
釣りに釣られてしまったようだなw
0970デフォルトの名無しさん
2014/11/06(木) 19:34:35.69ID:boOGm5M/大企業のシステム部門ほど保守的にCOBOL使ってるよ
0971デフォルトの名無しさん
2014/11/06(木) 19:38:52.43ID:S+O4ynQg0972デフォルトの名無しさん
2014/11/06(木) 20:11:38.14ID:qa/zA3LZ0973デフォルトの名無しさん
2014/11/06(木) 20:12:59.69ID:ki6zkhTW0974デフォルトの名無しさん
2014/11/06(木) 20:19:36.42ID:E1F4gijJ>duke script出てきたから
まだこのプログラム掲示板には、duke scriptは出てきてないので
建ててくれ! 話はそれからだ!!!
0975デフォルトの名無しさん
2014/11/06(木) 20:32:26.19ID:boOGm5M/0976デフォルトの名無しさん
2014/11/06(木) 20:53:38.11ID:39IZf/FTでもねPythonという字面見ると、わかってるのに「フェイトン」と読んでしまうんだ。
「違う!パイソンだ!」
頭のなかでは解ってるんだ。
でも一番最初にフェイトンと読んでしまう。
もうフェイトンで正解にしてくれないかな?
0977デフォルトの名無しさん
2014/11/06(木) 21:31:06.13ID:GdD/Qq140978デフォルトの名無しさん
2014/11/06(木) 21:50:40.68ID:oocVlm4p0979デフォルトの名無しさん
2014/11/06(木) 22:01:59.47ID:jjGYjgfathonでどうやってチョンと読めるのか(chonならわかる)
なんかすごいセンスだな
0980デフォルトの名無しさん
2014/11/07(金) 01:39:50.23ID:2s1DOJpYPythonじゃなくPhyton
PhだとPHILIPSでハ行フでPhyでフェイ
と頭のなかで読んでしまった癖が抜けないんだわ。
多分二三年は「フェイトンスクリプト」というものだと思い込んでた。使ったこともなかったしね
二三年も読んでると、もう抜けないよ。
>>977さんじゃないけどチョンは分かる
ワープロ専用機のローマ字入力ではthonでチョンと出る機種使ってたから・・・(キャノワード)
0981デフォルトの名無しさん
2014/11/07(金) 07:17:18.67ID:fJwKtGM6てか、全体的に年俸額平均ひっく!
ttp://livedoor.blogimg.jp/itsoku/imgs/1/f/1faad113.png
0982デフォルトの名無しさん
2014/11/07(金) 08:31:23.24ID:Xu80vYTx0983デフォルトの名無しさん
2014/11/07(金) 08:32:05.07ID:Xu80vYTxごめん逆に見てた
0984デフォルトの名無しさん
2014/11/07(金) 09:06:13.46ID:77KIGWbEそれ最低額の平均値だからな
0985デフォルトの名無しさん
2014/11/07(金) 10:27:09.33ID:QgM9KfjUネタにマジレスするセンスの方がすごいと思うw
0986デフォルトの名無しさん
2014/11/07(金) 12:32:59.26ID:wPWUsFcH脳みそが欠陥品、
親にリコール出してこい
0987デフォルトの名無しさん
2014/11/08(土) 03:59:04.80ID:3wU+5H6tこれがどれほどのネックかわかってない奴は営業が全く出来ない奴
日本じゃ永久に流行らないのがペイソン
これからもRubyの一強時代が続いていく
0988デフォルトの名無しさん
2014/11/08(土) 04:01:58.50ID:3wU+5H6t0989デフォルトの名無しさん
2014/11/08(土) 07:12:28.47ID:idmJASrx本格的にRailsやDHHともサヨウナラだ
1つの時代が終わったんだ
0990デフォルトの名無しさん
2014/11/08(土) 10:30:24.22ID:G/t0xEls0991デフォルトの名無しさん
2014/11/08(土) 11:47:38.33ID:om46DDyf$____="#"=~/$/;$___=$____+$____;$_=$____+$___;$__=$___+$_;$_____=$___+
$__;@@_=""<<($_*$_*$_____+$_); @@__=""<<($___*$__*$_____);@__=""<<($_*
$__*$_____); @___=""<<($__**$_-$___**$_);@_=""<<($__**$_-$_);@_<<@_;__=
->(_){_>$____&&__.(_-$____);($><<[_%$_<$____?(@@__+@__+@_):_%$__>(""=~
//)?_:'',[@@_+@___+@_][_%$__]]*''+(""<<($___*$__)))};__.($___*$___*$__*$__)
-- 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
こういう変なプログラミングがやりやすい言語ってのは、
変な使い方でクソ読みにくいコードを生産しやすい言語。
結局、使い方の問題だよ。
0992デフォルトの名無しさん
2014/11/08(土) 12:45:54.35ID:lN5fgWBIperlの読みにくさとどっちが上?
0993デフォルトの名無しさん
2014/11/08(土) 17:04:09.73ID:iid1PSVvPythonはこれからも生き残ると思うんだけども
0994デフォルトの名無しさん
2014/11/08(土) 19:34:39.67ID:idmJASrx0995デフォルトの名無しさん
2014/11/08(土) 19:36:49.88ID:idmJASrxpythonが生き残るとしても、それはボランティアベース
OSSとはいえ、金になるものに開発者のリソースが投入される
0996デフォルトの名無しさん
2014/11/08(土) 22:40:23.19ID:xBZHHdRa今の時代にプログラミングでOSSに参加する他にもいろいろあるだろうに
お金にならないOSSに参加して数千時間を消費してる人って
その分、副業でも本業のための勉強でもやっていたら
きっと今は高い生活水準にあったと思う
こうやって一過性の楽しさに身を任せて、確かに凄くても殆ど無駄って行為に躍起になってんのは
2chで時間潰してんのと、どういう違いがあるのかね?
確かに知識量が増えたって、その集めた知識をこれからどう使うかとか全く考えてないなら無駄って事だよ
そうやって将来に役立つか、役立たないかわからないけどとりあえず覚えとく みたいな作業は学生までにしないと
なんだか、永久に発芽しないで栄養だけ蓄え続けてる種みたいな存在になってくと思うよ
0997デフォルトの名無しさん
2014/11/09(日) 00:17:00.51ID:CQ95p10Nお金になる仕事はやっても自分の成果として残らないとか
お金になっても殆どは自分のポケットには入らないとか
現実派複雑なのさ
0998デフォルトの名無しさん
2014/11/09(日) 00:52:28.67ID:mPJWLa2A今のところはPHPとRoRの2強って状態だが
0999デフォルトの名無しさん
2014/11/09(日) 01:02:27.36ID:nlmXbEn2小さなとこはPHPで良いんじゃねーの?
1000デフォルトの名無しさん
2014/11/09(日) 02:46:14.88ID:gF5CsO0E10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。