コレクションの良しあしは言語の生産性に直にかかわってくる。
例えば配列しかないCは最低の言語だ。
コレクションが最高にイケてる言語仕様をみんなで考えよう。
探検
コレクションが最高にイケてる言語を作ろう [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2017/04/07(金) 00:05:23.53ID:FMSUelHn2017/04/07(金) 00:13:41.62ID:FMSUelHn
例えば空コレクションでMaxとか呼ぶと普通例外だよね?
ヌルオブジェクトパターンとかつかって綺麗に解決できないだろうか。
ヌルオブジェクトパターンとかつかって綺麗に解決できないだろうか。
2017/04/07(金) 00:14:44.33ID:FMSUelHn
2017/04/07(金) 06:47:50.17ID:ZgSaSKBc
2017/04/07(金) 21:39:18.48ID:A4pCb4U0
ジェネリクス対応の配列、ディクショナリ、セットがあれば大概の用途で事足りる
と言うことで、ほとんどの言語で問題ない
と言うことで、ほとんどの言語で問題ない
2017/04/07(金) 22:57:02.31ID:FMSUelHn
>>4 既存言語って候補はこれくらいか?
まともにやるとクソ大変だが…
wikiのプログラム言語一覧から抜粋
Bash,BASIC,C,C#,C++Caml,Clojure,COBOL,CommonLisp,D
Dart,Delphi,Erlang,Forth,FORTRAN,Go,Haskell,Java,
JavaScript,Julia,Miranda,Objective-C,Pascal,
Perl,PHP,PL/I,PowerShell,Prolog,Python,R,Ruby,Rust,
Scala,Scheme,Smalltalk,Swift,
まともにやるとクソ大変だが…
wikiのプログラム言語一覧から抜粋
Bash,BASIC,C,C#,C++Caml,Clojure,COBOL,CommonLisp,D
Dart,Delphi,Erlang,Forth,FORTRAN,Go,Haskell,Java,
JavaScript,Julia,Miranda,Objective-C,Pascal,
Perl,PHP,PL/I,PowerShell,Prolog,Python,R,Ruby,Rust,
Scala,Scheme,Smalltalk,Swift,
2017/04/07(金) 23:02:55.18ID:j5QgAAcl
すまんそれライブラリで良くね?
2017/04/07(金) 23:23:26.28ID:FMSUelHn
C++だとmapに突っ込むときoperator<とか定義しなきゃいけないけど
そういうのもなるべく言語でデフォルトのものを用意してほしい。
そういうのもなるべく言語でデフォルトのものを用意してほしい。
2017/04/07(金) 23:51:13.53ID:FMSUelHn
C#のSystem.Collections.Generic 名前空間
https://msdn.microsoft.com/ja-jp/library/system.collections.generic(v=vs.110).aspx
https://msdn.microsoft.com/ja-jp/library/system.collections.generic(v=vs.110).aspx
2017/04/07(金) 23:58:40.35ID:jBafhBvv
Smalltalkでさんざんいじられた結果なもんでさ
2017/04/08(土) 10:39:56.79ID:wG8v5Zr7
C#のLinqとかはコレクションが使いやすくなる良構文だとおもう。
2017/04/08(土) 19:23:27.58ID:wG8v5Zr7
>>8
haskellのderivingというのがあるが参考になるだろうか
haskellのderivingというのがあるが参考になるだろうか
2017/04/08(土) 20:38:13.43ID:wG8v5Zr7
コレクションに対してそれを表現するリテラルがあると使い勝手がかなり違う。
シリアライズ、デシリアライズなどの機能を有する言語は結構あるが、
あんな感じでそれをそのままリテラルとして書けるようにするというのはどうだろう。
シリアライズ、デシリアライズなどの機能を有する言語は結構あるが、
あんな感じでそれをそのままリテラルとして書けるようにするというのはどうだろう。
2017/04/09(日) 22:15:51.86ID:xeKqw9Ld
俺のコレクション見たい?
2017/04/10(月) 22:29:21.07ID:imUoe1w7
コレクションという観点だと
動的型付けと静的型付けは
どちらに軍配があがるかな
動的型付けと静的型付けは
どちらに軍配があがるかな
2017/04/11(火) 21:18:37.12ID:m/oJQzNS
俺は多次元配列は配列の配列があれば要らない派
2017/04/12(水) 00:58:22.70ID:1JOc28FD
(配列の配列はしばしばジグザグ配列になって演算速度の低下につながるので)ダメです
2017/04/12(水) 21:49:29.52ID:ymAyZSnB
冪集合や直積も言語でサポートしてほしいな。
2017/04/13(木) 22:37:17.25ID:S/dW7TnL
2017/04/15(土) 00:39:27.42ID:v99qvGb2
既存言語で一番コレクションが使いやすい言語ってなによ?
C#はかなりいいと思うが。
C#はかなりいいと思うが。
2017/04/16(日) 12:49:58.72ID:njyBHlwQ
C♯っていうか.NETな。
C♯がすごいんじゃない。.NETがすごいんだよ。
C♯がすごいんじゃない。.NETがすごいんだよ。
2017/04/16(日) 15:55:43.93ID:z1TgtbB7
>>19
コレクションクラス(とそのサブクラス群)のネタ元はSmalltalkで培われたものって意味では?
コレクションクラス(とそのサブクラス群)のネタ元はSmalltalkで培われたものって意味では?
2017/04/17(月) 18:05:28.45ID:v9quCy+G
配列でありリストであり連想配列でありキューでありスタックであるJavaScriptの配列が最強でイケイケだと思う
2017/04/17(月) 19:46:53.34ID:4UmS+KBL
javascriptはプログラム組んでてなんかもやっとするw
2017/04/17(月) 20:17:41.16ID:4UmS+KBL
型の境界線がもやっとしてるよねjavascript
整数と実数の区別とか。
整数と実数の区別とか。
2017/04/21(金) 22:17:11.63ID:A2U3H+Qf
small talkってやったことないな。
噂は聞くが。
かじってみるかな。
噂は聞くが。
かじってみるかな。
2017/04/21(金) 22:18:34.05ID:Re4upQlq
>>26
やめとけ時間の無駄だ
やめとけ時間の無駄だ
2017/04/21(金) 22:19:18.69ID:A2U3H+Qf
>>27
まじで
まじで
29デフォルトの名無しさん
2017/04/22(土) 20:01:03.57ID:MD8NWs/L >>26
オブジェクト指向言語としての初の試みであって実用性は無いからな
オブジェクト指向言語としての初の試みであって実用性は無いからな
2017/04/22(土) 20:07:13.82ID:M051jVFH
>>29
Core CLRのソースに含まれててびっくりしたけどね
Core CLRのソースに含まれててびっくりしたけどね
2017/04/22(土) 21:03:10.84ID:2QNaIclJ
機能をどっさり削った go でも map だけは特別扱いだからな。
一理はある。
一理はある。
2017/04/23(日) 12:49:06.59ID:EiQ7XooB
>>26
最近だとPharoというSmalltalk処理系のコミュニティが活発です
国内でもスタートアップに使われたりして話題になっています。(pharo.orgが落ちているみたいなのでキャッシュで失礼)
http://webcache.googleusercontent.com/search?q=cache:bXBcfw6f0PYJ:pharo.org/success/AllStocker
コレクションについては英語が苦手でなければチュートリアル「Pharo by Example」のこちらの章が参考になるかと
https://ci.inria.fr/pharo-contribution/job/UpdatedPharoByExample/lastSuccessfulBuild/artifact/book-result/Collections/Collections.html
最近だとPharoというSmalltalk処理系のコミュニティが活発です
国内でもスタートアップに使われたりして話題になっています。(pharo.orgが落ちているみたいなのでキャッシュで失礼)
http://webcache.googleusercontent.com/search?q=cache:bXBcfw6f0PYJ:pharo.org/success/AllStocker
コレクションについては英語が苦手でなければチュートリアル「Pharo by Example」のこちらの章が参考になるかと
https://ci.inria.fr/pharo-contribution/job/UpdatedPharoByExample/lastSuccessfulBuild/artifact/book-result/Collections/Collections.html
2017/04/24(月) 09:16:50.97ID:RdOcyrB3
>>26
今週末、ちょうどこんな催しもあります
春のSmalltalk初心者向けのハッカソン | 第99回Smalltalk勉強会
https://smalltalk.connpass.com/event/55260/
もし東京近郊にお住まいでご都合が合えば参加されてみてはいかがでしょう
Smalltalkは独学で試行錯誤するのも(旅先でわざと道を外れて迷ってみる程度の愉しみとしては)悪くないのですが
効率的に何かの学びを得ようとするには、思いの外時間を無駄にすることにもなりお薦めできません
実際に使っていてよく知っている人に疑問をどんどんぶつけて解消してしまうのが一番です
今週末、ちょうどこんな催しもあります
春のSmalltalk初心者向けのハッカソン | 第99回Smalltalk勉強会
https://smalltalk.connpass.com/event/55260/
もし東京近郊にお住まいでご都合が合えば参加されてみてはいかがでしょう
Smalltalkは独学で試行錯誤するのも(旅先でわざと道を外れて迷ってみる程度の愉しみとしては)悪くないのですが
効率的に何かの学びを得ようとするには、思いの外時間を無駄にすることにもなりお薦めできません
実際に使っていてよく知っている人に疑問をどんどんぶつけて解消してしまうのが一番です
2017/04/24(月) 09:54:40.35ID:RdOcyrB3
>>33
×今週末 → ○明後日
×今週末 → ○明後日
2017/04/24(月) 23:15:32.53ID:iqoCzYpO
カオスすぎんだろsmall talk w
じっくり勉強すれば理に適ってるのか?
じっくり勉強すれば理に適ってるのか?
2017/04/25(火) 08:58:59.48ID:5ILiyJO9
>>35
> カオスすぎ
>>32のコレクションのクラス階層についてでしたら、ほとんどは抽象クラスや特殊用途のクラスなので
とりあえずこちらの図の黒枠のだけを押さえておけばよいかと
http://imgur.com/a/liiNB
OrderedCollectionは要素が追加可能なだけのArrayです
Dictionaryは他言語ではHashとかMapとか呼ぶことがあります
Setは重複を許さない集合
Bagがちょっと特殊ですが要素の数も覚えてくれるSetで他言語ではMultisetと呼ぶものもあります
> カオスすぎ
>>32のコレクションのクラス階層についてでしたら、ほとんどは抽象クラスや特殊用途のクラスなので
とりあえずこちらの図の黒枠のだけを押さえておけばよいかと
http://imgur.com/a/liiNB
OrderedCollectionは要素が追加可能なだけのArrayです
Dictionaryは他言語ではHashとかMapとか呼ぶことがあります
Setは重複を許さない集合
Bagがちょっと特殊ですが要素の数も覚えてくれるSetで他言語ではMultisetと呼ぶものもあります
2017/04/25(火) 09:25:33.87ID:5ILiyJO9
>>36
> 要素の数も覚えてくれるSet
Bagについてはたとえば文字列(仮に 'SMALLTALK')を構成する文字とそれぞれの出現数を多い順に知りたいとき
文字列(やはりコレクション)をBagに変換する(asBag)などして、こんなふうに書くことができます
'SMALLTALK' asBag sortedCounts
"=> {3->$L . 2->$A . 1->$K . 1->$M . 1->$S . 1->$T} "
> 要素の数も覚えてくれるSet
Bagについてはたとえば文字列(仮に 'SMALLTALK')を構成する文字とそれぞれの出現数を多い順に知りたいとき
文字列(やはりコレクション)をBagに変換する(asBag)などして、こんなふうに書くことができます
'SMALLTALK' asBag sortedCounts
"=> {3->$L . 2->$A . 1->$K . 1->$M . 1->$S . 1->$T} "
2017/04/26(水) 23:16:35.99ID:H7jXi739
OrderedCollectionって順序付きコレクションってことだよね?
ツリーならsequenceableというのは若干違和感あるが…
先頭から順にたどれるから間違ってはいないのかな…
ツリーならsequenceableというのは若干違和感あるが…
先頭から順にたどれるから間違ってはいないのかな…
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 高市早苗「株やってる奴ザマァwww格差是正のためにも、もっと暴落した方がいいよwww」(´・ω・`)確かに。 [252835186]
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- んなっしょい🍬禁止🈲のお🏡
- 【動画】男女混合レスリングのガチ試合の様子がこちら [738130642]
- なんかデカいミスしても 「でも明日戦争行くかもしれないしなぁ」 でなんでも乗り切れるよな
