スレタイ以外の言語もok
前スレ
次世代言語14 Elixir Crystal Julia Rust Swift
https://itest.5ch.net/mevius/test/read.cgi/tech/1536668904
次世代言語15 Go Rust Swift Kotlin TypeScript
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/11/04(日) 20:30:10.42ID:OF8fjEC1488デフォルトの名無しさん
2019/03/09(土) 09:29:17.49ID:jmJNTA16 >>481 ちょこちょこ変更できてなんでもできる事。
だから入門者用としても入りやすい。小学生から学者まで。
特にライブラリーが揃ってるから統計分析など科学技術計算には強い。 特に機械学習やAI は、Python
また、Excel との相性も良い。
コンパクトなバイトコードになるから、IoTの様に小さな所でも動け、REPLが動くから実機で変更テストができ自由度が高い。だから、IoT用言語としての地位も確立している。
だから入門者用としても入りやすい。小学生から学者まで。
特にライブラリーが揃ってるから統計分析など科学技術計算には強い。 特に機械学習やAI は、Python
また、Excel との相性も良い。
コンパクトなバイトコードになるから、IoTの様に小さな所でも動け、REPLが動くから実機で変更テストができ自由度が高い。だから、IoT用言語としての地位も確立している。
489デフォルトの名無しさん
2019/03/09(土) 09:37:11.61ID:uR+z9zTM >>487
Pythonにはどっかの赤い宝石とは違ってドキュメントをきちんと書く文化がある
そして、本当に正しく書かれたドキュメントには「プロトコル」としてアヒルが満たすべき要件が定義されている
そこまでやってはじめて「ダックタイピング」と言える
Pythonにはどっかの赤い宝石とは違ってドキュメントをきちんと書く文化がある
そして、本当に正しく書かれたドキュメントには「プロトコル」としてアヒルが満たすべき要件が定義されている
そこまでやってはじめて「ダックタイピング」と言える
490デフォルトの名無しさん
2019/03/09(土) 10:01:14.60ID:4ewQpv+T Pythonのプロトコルというとイテレータとかああいうやつ?あれなら確かにダックタイピングと
言えるかもしれないけど、あらかじめ定義されているもの以外に「アヒル」プロトコルとか
追加できるんだっけ?
言えるかもしれないけど、あらかじめ定義されているもの以外に「アヒル」プロトコルとか
追加できるんだっけ?
491デフォルトの名無しさん
2019/03/09(土) 10:22:47.01ID:ylwqDFWx 文章力があればプロトコルの数学的定義を覆せる文化
それがドキュメントを書く文化につながる
それがドキュメントを書く文化につながる
492デフォルトの名無しさん
2019/03/09(土) 11:05:03.57ID:ktQSUaaW >>490 デスクリプタ汎用プロトコルがあるからユーザが定義できる。
https://qiita.com/knzm/items/a8a0fead6e1706663c22
デスクリプタ HowTo ガイド
https://docs.python.org/ja/3/howto/descriptor.html
Duck Typing は動的型付けな言語(Python, Ruby)等における型付けの作法である
ある処理に必要なオブジェクト A と同じ振る舞いができるのであれば、継承関係のある/なしにかかわらず、そのオブジェクトはAと同じとみなして良いというもの。
Python のダックタイピングの例
PythonのABC - 抽象クラスとダック・タイピング
https://qiita.com/kaneshin/items/269bc5f156d86f8a91c4
https://qiita.com/knzm/items/a8a0fead6e1706663c22
デスクリプタ HowTo ガイド
https://docs.python.org/ja/3/howto/descriptor.html
Duck Typing は動的型付けな言語(Python, Ruby)等における型付けの作法である
ある処理に必要なオブジェクト A と同じ振る舞いができるのであれば、継承関係のある/なしにかかわらず、そのオブジェクトはAと同じとみなして良いというもの。
Python のダックタイピングの例
PythonのABC - 抽象クラスとダック・タイピング
https://qiita.com/kaneshin/items/269bc5f156d86f8a91c4
493デフォルトの名無しさん
2019/03/09(土) 11:58:15.18ID:GVs3bbIF Ruby のStringIO は、Duck Typing
StringIO クラスは、IO クラスと継承関係はなく、
単に、read, write など、IO と同名の関数名を使っているだけ
これだけで、StringIO に対して、入出力操作を行うことで、
メモリファイルを扱うことができる
最近は、ガチガチの継承よりも、委譲やDuck Typing を使うことも多い。
宣言無しのinterface みたいなもの
StringIO クラスは、IO クラスと継承関係はなく、
単に、read, write など、IO と同名の関数名を使っているだけ
これだけで、StringIO に対して、入出力操作を行うことで、
メモリファイルを扱うことができる
最近は、ガチガチの継承よりも、委譲やDuck Typing を使うことも多い。
宣言無しのinterface みたいなもの
494デフォルトの名無しさん
2019/03/09(土) 12:11:53.03ID:4ewQpv+T495デフォルトの名無しさん
2019/03/09(土) 12:17:10.91ID:BnoVO+GE Rubyは大クラス主義といって、移譲だのプロトコルだのまどろっこしいことするよりどんどん継承しようぜ!という考え方が主流
だから実際にはほとんどダックタイピングは使わない
静的型検査なしでドキュメントも書きたくないとなると、Pythonのような紳士協定ベースなやり方は確実に破綻するので、
実装継承を多用するというのは「実装が仕様」なルンペン文化には適したスタイルではある
だから実際にはほとんどダックタイピングは使わない
静的型検査なしでドキュメントも書きたくないとなると、Pythonのような紳士協定ベースなやり方は確実に破綻するので、
実装継承を多用するというのは「実装が仕様」なルンペン文化には適したスタイルではある
496デフォルトの名無しさん
2019/03/09(土) 12:34:00.97ID:jso+Oksr interfaceがあってこそのduck typingだなとtypescriptやって思った
497デフォルトの名無しさん
2019/03/09(土) 12:42:38.75ID:BnoVO+GE interfaceは元々は「堅い」言語で既存コードに極力手を入れずに建て増ししていくための仕組みだが、
今ではそれが高速な開発におけるデグレ防止に役立ち、生産性において動的型を圧倒したというのは皮肉な話だな
今ではそれが高速な開発におけるデグレ防止に役立ち、生産性において動的型を圧倒したというのは皮肉な話だな
498デフォルトの名無しさん
2019/03/09(土) 12:47:14.54ID:4ewQpv+T Javaのinterfaceを初めて見たとき、Goのようなものを期待したら違っててがっくりした思い出。
499デフォルトの名無しさん
2019/03/09(土) 12:51:39.03ID:ylwqDFWx 静的型は悪くないが静的型を正しく教えるノウハウをだれが持ってるんだろうか
目か?目で盗むのか?
目か?目で盗むのか?
500デフォルトの名無しさん
2019/03/09(土) 12:54:03.55ID:GVs3bbIF Duck Typing だと、たまたま同名の関数名があった場合に、バグる危険性があるから、
自分が使うものだけを、interface 宣言させて、バグを避けているのだろう
最近は、その宣言がガチガチ過ぎて面倒なので、Duck Typing が流行ってきている
自分が使うものだけを、interface 宣言させて、バグを避けているのだろう
最近は、その宣言がガチガチ過ぎて面倒なので、Duck Typing が流行ってきている
501デフォルトの名無しさん
2019/03/09(土) 13:40:27.53ID:ylwqDFWx 危険と安全の対立が今は主流になっているがCの型にはサイズを計算する意味もあった
502デフォルトの名無しさん
2019/03/09(土) 13:54:13.53ID:jz9xUaFa 流行り廃りは行き来するもんだからな。
動的も静的もいいバランス具合にそのうち落ち着いていくだろう。
本当に流行り廃りを超えてる技術というのはユニットテストやリファクタリングといったものなんだが、
そういうのみんな嫌いでしょ?
動的も静的もいいバランス具合にそのうち落ち着いていくだろう。
本当に流行り廃りを超えてる技術というのはユニットテストやリファクタリングといったものなんだが、
そういうのみんな嫌いでしょ?
503デフォルトの名無しさん
2019/03/09(土) 14:07:25.26ID:ylwqDFWx 仕様と実装言語が独立しているレベルになったら言語の布教に不都合だから
実装は仕様に依存するぐらいがみんな好きでしょ
実装は仕様に依存するぐらいがみんな好きでしょ
504デフォルトの名無しさん
2019/03/09(土) 19:48:43.49ID:YBbU7zqD >>497
> 動的型を圧倒したというのは皮肉な話
そもそも言語機能としてのinterfaceは動的型(具体的にはSmalktalk)のダックタイピング(当時はそうは言わなかったが)を
静的型のメリットを殺さずにやるアイデアから考案されたんだから順当だろう
http://www.cs.utexas.edu/~wcook/papers/OOPSLA89/interfaces.pdf
> 動的型を圧倒したというのは皮肉な話
そもそも言語機能としてのinterfaceは動的型(具体的にはSmalktalk)のダックタイピング(当時はそうは言わなかったが)を
静的型のメリットを殺さずにやるアイデアから考案されたんだから順当だろう
http://www.cs.utexas.edu/~wcook/papers/OOPSLA89/interfaces.pdf
505デフォルトの名無しさん
2019/03/10(日) 13:14:29.15ID:E4pQDIKL C++はvirtualを使わない技術、Haskellはラムダを使わない技術を磨いている
Rustも同様
virtualが動的型を圧倒したとか言ってるのは時代錯誤
Rustも同様
virtualが動的型を圧倒したとか言ってるのは時代錯誤
506デフォルトの名無しさん
2019/03/10(日) 20:02:03.91ID:iWdySZoH ラムダを使わない技術ってなんなん?
507デフォルトの名無しさん
2019/03/10(日) 20:02:56.59ID:/oBaS06x なんだろね
ポイントフリースタイルの話かな
ポイントフリースタイルの話かな
508デフォルトの名無しさん
2019/03/10(日) 20:22:04.07ID:8hqMg5Px ラムダを使わずコンビネータを使う、とか言ったりして。
509デフォルトの名無しさん
2019/03/10(日) 20:48:07.67ID:E4pQDIKL quickSort :: Ord a => [a] -> [a]
でも昇順とか降順とかを変えるのが大変だな
でも昇順とか降順とかを変えるのが大変だな
510デフォルトの名無しさん
2019/03/10(日) 22:35:21.02ID:iWdySZoH sortByしたくなったらどうするんよ?
ラムダなしHaskellとかコード量が2倍で済まなさそう。
ラムダなしHaskellとかコード量が2倍で済まなさそう。
511デフォルトの名無しさん
2019/03/10(日) 23:20:22.27ID:evthC8BV sortByなんて実用的なタスクでしか使わないだろ
つまりHaskellには不要
つまりHaskellには不要
512デフォルトの名無しさん
2019/03/10(日) 23:54:02.27ID:E4pQDIKL そもそも動的型をdisることに実用性があるのかどうか考えたか?
それとも何も考えてなかったのにHaskellと聞いたら急に頭が良くなったのか?
それとも何も考えてなかったのにHaskellと聞いたら急に頭が良くなったのか?
513デフォルトの名無しさん
2019/03/10(日) 23:56:13.89ID:vvRzWHgY ラムダを使わない技術って何なの
説明しろよ
説明しろよ
514デフォルトの名無しさん
2019/03/11(月) 01:18:43.16ID:XnlVWIz4 会話が成り立ってなくて怖いんだけど
515デフォルトの名無しさん
2019/03/11(月) 02:21:22.63ID:R//MLWrb いや型無し糞言語ガイジは死ねよ、時代遅れの爺
516デフォルトの名無しさん
2019/03/11(月) 09:24:00.27ID:D2PSGRy3 そもそも実行時に命令を作り出すというのは、動的型付けじゃないとできないのでは? eval
517デフォルトの名無しさん
2019/03/11(月) 09:38:26.34ID:9rO3q8tQ 動的もコンパイルするし、静的もRepl あるし
518デフォルトの名無しさん
2019/03/11(月) 11:48:34.91ID:NYtiTycm519デフォルトの名無しさん
2019/03/11(月) 11:57:22.45ID:NYtiTycm REPL と動的実行のeval は違う。
a=input() #abcと入力
print(eval(s)) #abcabc と出力
s=input() # 3**2 と入力
print(eval(s)) #9 と出力
a=input() #abcと入力
print(eval(s)) #abcabc と出力
s=input() # 3**2 と入力
print(eval(s)) #9 と出力
520デフォルトの名無しさん
2019/03/11(月) 12:30:19.49ID:NYtiTycm 動的実行には、複数の式を実行する exec がある。
exec("""
total = 0
for i in range(5):
print(i)
total += i
print(total)
""")
これを利用すれば、プログラムを変更しないで外からの入力で動作を変えたりできる。
exec("""
total = 0
for i in range(5):
print(i)
total += i
print(total)
""")
これを利用すれば、プログラムを変更しないで外からの入力で動作を変えたりできる。
521デフォルトの名無しさん
2019/03/11(月) 12:44:28.78ID:XUClMORg 何か変なのに粘着されてるじゃん
522デフォルトの名無しさん
2019/03/11(月) 12:49:45.69ID:iGRez5Af523デフォルトの名無しさん
2019/03/11(月) 16:46:34.67ID:9rO3q8tQ524デフォルトの名無しさん
2019/03/11(月) 20:14:35.05ID:YRmagZmf 文字列使えば任意のコードが実行できる!文字列最強!みたいなバカ理論。
525デフォルトの名無しさん
2019/03/11(月) 20:16:58.60ID:vDWHHSf6 それ社内のエースが言っててワロタ
526デフォルトの名無しさん
2019/03/11(月) 20:49:09.16ID:kuj3upGr 構文木いじれるLispの方が便利じゃね?
527デフォルトの名無しさん
2019/03/12(火) 12:12:04.79ID:f1IcpvAp 構文木オブジェクトなら左括弧と右括弧の対応をいじる脆弱性はない
文字列を使わないことがオブジェクト指向の定義と言えないこともない
オブジェクト指向の定義多すぎ
文字列を使わないことがオブジェクト指向の定義と言えないこともない
オブジェクト指向の定義多すぎ
528デフォルトの名無しさん
2019/03/12(火) 12:34:20.82ID:rf03pH6k > 文字列を使わないことがオブジェクト指向の定義
ハハハ
ハハハ
529デフォルトの名無しさん
2019/03/12(火) 13:10:26.07ID:f1IcpvAp 笑うことも定義か
staticおじさんを笑うように
staticおじさんを笑うように
530デフォルトの名無しさん
2019/03/12(火) 13:24:41.15ID:f1IcpvAp 定義を教えられないから目で盗み空気を読み忖度した結果として定義が増える
531デフォルトの名無しさん
2019/03/12(火) 13:33:15.64ID:RXMytCd2 ハハッ
532デフォルトの名無しさん
2019/03/13(水) 21:17:11.81ID:u/DrurAb まあテクニカルタームにしがみつく奴はバカしかいないよ。
533デフォルトの名無しさん
2019/03/13(水) 21:26:00.10ID:M+m6pFpm ハッ
534デフォルトの名無しさん
2019/03/13(水) 22:20:22.61ID:eVzJUFww ハハッ
535デフォルトの名無しさん
2019/03/14(木) 10:58:18.04ID:0lYU+AM6 差別発言が日常茶飯事なのと専門用語のマナーを守ることとのギャップがものすごい
536デフォルトの名無しさん
2019/03/14(木) 23:49:16.54ID:gVqeE1jf >>535
そういうバランスが壊れてるところプログラマーっていう人種の典型
そういうバランスが壊れてるところプログラマーっていう人種の典型
537デフォルトの名無しさん
2019/03/15(金) 17:46:48.87ID:LvZJWiiQ プログラムはおいといてデバッグに必要なのは典型的でないケースを1個見つけること
1個だからといって無視しないこと
1個だからといって無視しないこと
538デフォルトの名無しさん
2019/03/17(日) 11:52:05.42ID:4E+XY7RQ 型無し糞ガイジの老害が死滅すれば済む話
頭のアホ毛$から腐臭が漂ってくるんだよ、早く死ね
頭のアホ毛$から腐臭が漂ってくるんだよ、早く死ね
539デフォルトの名無しさん
2019/03/17(日) 14:54:23.26ID:YNfhsYwt エディタを終了してからテストを実行するのはターン制だから古臭いんだな
リアルタイムこそが現実であり次世代であるはずなのに一体なぜターン制が滅びないのか
リアルタイムこそが現実であり次世代であるはずなのに一体なぜターン制が滅びないのか
540デフォルトの名無しさん
2019/03/17(日) 17:44:29.53ID:2O0dSFGZ >>538
おだいじに。ちゃんとお薬のむんだよ。
おだいじに。ちゃんとお薬のむんだよ。
541デフォルトの名無しさん
2019/03/17(日) 18:24:15.45ID:4E+XY7RQ >>540
薬を飲むべきはおまえさんやで、型無し糞ガイジw
薬を飲むべきはおまえさんやで、型無し糞ガイジw
542デフォルトの名無しさん
2019/03/23(土) 08:00:57.82ID:zUjZ7ZUG 次世代言語として必須機能はなんですか?
543デフォルトの名無しさん
2019/03/23(土) 09:10:22.60ID:ZlGSstH0 高速で軽量、堅牢な非同期処理のサポート
デフォルト実装を定義できるインターフェイス(and/or 型クラス)
高度な型推論(もとより静的型)
高速なコンパイルとコンパクトな実行ファイル(非AltoJS、JVM言語)
関連して、セルフホスティングやブートストラップは完了済み
デフォルト実装を定義できるインターフェイス(and/or 型クラス)
高度な型推論(もとより静的型)
高速なコンパイルとコンパクトな実行ファイル(非AltoJS、JVM言語)
関連して、セルフホスティングやブートストラップは完了済み
544デフォルトの名無しさん
2019/03/23(土) 09:23:43.23ID:f3qHSm8q >>54
様々なポリシーの元に設計されて良いだろうから必須なんて機能は無いんじゃないか
様々なポリシーの元に設計されて良いだろうから必須なんて機能は無いんじゃないか
545デフォルトの名無しさん
2019/03/23(土) 09:24:21.62ID:f3qHSm8q546デフォルトの名無しさん
2019/03/23(土) 11:11:33.27ID:Bvojjkpo 何を作りたいかによるよね。作りたいものが作りやすければ良いわけだから。
547デフォルトの名無しさん
2019/03/23(土) 22:35:21.72ID:kS3TDVAs 皆さん的にvlangどうなの?
548デフォルトの名無しさん
2019/03/23(土) 23:03:36.39ID:oh3HXLVk 実物待ちじゃないの
549デフォルトの名無しさん
2019/03/24(日) 13:56:01.89ID:oJh5vPLh ぶっちゃけTypeScriptが強最やろ
550デフォルトの名無しさん
2019/03/24(日) 14:23:51.27ID:dT6Xb8jy 強いかはともかく、最も美しいプログラミング言語の一つではある
551デフォルトの名無しさん
2019/03/24(日) 16:01:57.35ID:ElpwR+x1 tsいいんだがjavascriptの呪縛から解き放ってやりたい感
552デフォルトの名無しさん
2019/03/24(日) 16:09:10.35ID:3s1WkY0F 今のesならそんなに捨てたもんでもないと思うが。
まぁでも、tsにclassは要らなかったな。
まぁでも、tsにclassは要らなかったな。
553デフォルトの名無しさん
2019/03/24(日) 16:18:49.96ID:Nexfdc7v しょせんパフォーマンスでない言語
554デフォルトの名無しさん
2019/03/24(日) 16:34:58.29ID:RF+VrP1U esにもクラスはなくても良かったけどデコレータは早く来てほしいね
デコレータ風に組めなくもないけど面倒だしな
デコレータ風に組めなくもないけど面倒だしな
555デフォルトの名無しさん
2019/03/24(日) 18:01:12.81ID:ZhSBqocX tsはjsの呪縛でガンガンに縛られてるから全然いい言語に見えない
共有型からの流れのせいでコードに無駄な型判定が入ってて全然スマートじゃない
共有型からの流れのせいでコードに無駄な型判定が入ってて全然スマートじゃない
556デフォルトの名無しさん
2019/03/24(日) 19:00:10.91ID:3s1WkY0F >共有型からの流れのせいでコードに無駄な型判定が入ってて全然スマートじゃない
ちょっとピンとこないけど具体的にはどういう記述?
ちょっとピンとこないけど具体的にはどういう記述?
557デフォルトの名無しさん
2019/03/24(日) 19:23:03.00ID:YsBQPuQx http://js.studio-kingdom.com/typescript/handbook/advanced_types
型判定のifなどが邪魔すぎる
こういうのを見てスマートだと感じるなら毒されている
型判定のifなどが邪魔すぎる
こういうのを見てスマートだと感じるなら毒されている
558デフォルトの名無しさん
2019/03/24(日) 19:32:49.50ID:3s1WkY0F それは無駄な判定とは思わないが、どう記述出来たらスマートだと言うんだろう。
パターンマッチとか?
パターンマッチとか?
559デフォルトの名無しさん
2019/03/24(日) 19:37:55.56ID:503powVA 無駄っつーかanyって言ってるのに実際は2つの型しか認めないのは無責任やな
560デフォルトの名無しさん
2019/03/24(日) 19:44:07.97ID:LeGi1F7Y561デフォルトの名無しさん
2019/03/24(日) 20:34:17.47ID:3s1WkY0F まぁパターンマッチ構文で多少記述がシンプルになるならそれもいいけど、逆に専用の構文に頼らずに
ifやswitchを使っても同等のことができているというのがいいところだと思うがなぁ。
シンタックスシュガーとして入れるなら後からでもできるんじゃね?
>パターンマッチで切り分けて、すべての可能性を記述してない場合にはエラーにしてほしいね
それをエラーにするような記述は今でもできる。パターンマッチなんてなくても。
ifやswitchを使っても同等のことができているというのがいいところだと思うがなぁ。
シンタックスシュガーとして入れるなら後からでもできるんじゃね?
>パターンマッチで切り分けて、すべての可能性を記述してない場合にはエラーにしてほしいね
それをエラーにするような記述は今でもできる。パターンマッチなんてなくても。
562デフォルトの名無しさん
2019/03/24(日) 21:15:12.88ID:YouWSmuh >>561
そんなのなくない?
String | Date | Number
だったとして、StringとNumberの処理しか書いてなくってそれがエラーにはならんやろ
やっぱScala最強やね
コンパイル速度ゴミで死んでしまったが
そんなのなくない?
String | Date | Number
だったとして、StringとNumberの処理しか書いてなくってそれがエラーにはならんやろ
やっぱScala最強やね
コンパイル速度ゴミで死んでしまったが
563デフォルトの名無しさん
2019/03/24(日) 21:22:23.00ID:dT6Xb8jy564デフォルトの名無しさん
2019/03/24(日) 21:32:02.61ID:503powVA sbt言うほど遅いか?
Scala2.13でまたちょっと速くなるみたいだし
それにScala3まであと一年と考えるとScala最強説が蘇る可能性もあるで
Scala2.13でまたちょっと速くなるみたいだし
それにScala3まであと一年と考えるとScala最強説が蘇る可能性もあるで
565デフォルトの名無しさん
2019/03/24(日) 21:42:20.21ID:hMqcesBf scala死んだ理由どう考えてもバージョン上がる度にコンパイル通らなくなる互換性のなさだろ
3なんかにしたら爆死以外見えない
3なんかにしたら爆死以外見えない
566デフォルトの名無しさん
2019/03/24(日) 22:02:19.88ID:LeGi1F7Y >>563
ここら辺見て ts 勉強させてもらったよ https://qiita.com/kobanyan/items/ca56df27de50ec267995
Discriminated Union はすべての可能性を記述してない場合にエラーとするための仕組みになってないだろ
その下に書いてある Exhaustiveness checking っていうのが求めてるものだ
でも、
--strictNullChecks つけて戻り値の型のでチェックするのはswitchの下にreturn 文書いちゃったらスリ抜けちゃわない?
default: return assertNever(s) を記述することでチェックするのは、その記述が無くてもエラーにしてほしいんだけど?
ここら辺見て ts 勉強させてもらったよ https://qiita.com/kobanyan/items/ca56df27de50ec267995
Discriminated Union はすべての可能性を記述してない場合にエラーとするための仕組みになってないだろ
その下に書いてある Exhaustiveness checking っていうのが求めてるものだ
でも、
--strictNullChecks つけて戻り値の型のでチェックするのはswitchの下にreturn 文書いちゃったらスリ抜けちゃわない?
default: return assertNever(s) を記述することでチェックするのは、その記述が無くてもエラーにしてほしいんだけど?
567デフォルトの名無しさん
2019/03/24(日) 22:17:38.55ID:3s1WkY0F >default: return assertNever(s) を記述することでチェックするのは、その記述が無くてもエラーにしてほしいんだけど?
どのパターンにもマッチしない場合に何もしないという場合はあるわけだから、エラーにするのか
しないのかを示さなきゃならないのは仕方ないだろう。
strictNullChecks付けるのを忘れるからデフォルトでonにしてほしいとか言ってるようなもん。
どのパターンにもマッチしない場合に何もしないという場合はあるわけだから、エラーにするのか
しないのかを示さなきゃならないのは仕方ないだろう。
strictNullChecks付けるのを忘れるからデフォルトでonにしてほしいとか言ってるようなもん。
568デフォルトの名無しさん
2019/03/24(日) 22:46:49.41ID:LeGi1F7Y >>567
case 文で全パターンを網羅できない場合には default 必須にして欲しい
どのパターンにもマッチしない場合に何もしないときは、その default の処理を空っぽにする
これを強制したい
case 文で全パターンを網羅できない場合には default 必須にして欲しい
どのパターンにもマッチしない場合に何もしないときは、その default の処理を空っぽにする
これを強制したい
569デフォルトの名無しさん
2019/03/24(日) 22:52:15.99ID:3s1WkY0F それはlintでやればいい。
570デフォルトの名無しさん
2019/03/24(日) 23:24:23.33ID:LeGi1F7Y みんなが Lint かけてくれるわけじゃないので、コンパイル時チェックが望ましい
特に新しい言語作るのならばそうすべき
特に新しい言語作るのならばそうすべき
571デフォルトの名無しさん
2019/03/24(日) 23:25:57.15ID:LeGi1F7Y あと、>>563は、言語の機能と、コーディングパターンの区別がついてないよね?
572デフォルトの名無しさん
2019/03/24(日) 23:29:21.26ID:dT6Xb8jy573デフォルトの名無しさん
2019/03/24(日) 23:54:07.40ID:LeGi1F7Y >>572
Discriminated Union とか Exhaustiveness checking は、言語機能じゃなくて
いくつかの言語機能を組み合わせて実現可能なコーディングパターンの解説をしているように見えるよ?
そのドキュメントが Specification じゃなくて Hand book だし
Discriminated Union とか Exhaustiveness checking は、言語機能じゃなくて
いくつかの言語機能を組み合わせて実現可能なコーディングパターンの解説をしているように見えるよ?
そのドキュメントが Specification じゃなくて Hand book だし
574デフォルトの名無しさん
2019/03/25(月) 00:04:21.99ID:8zmAEr9n575デフォルトの名無しさん
2019/03/25(月) 00:28:45.64ID:PAua+1O7 >>574
コンパイル通すためのハックしてることがコード見ただけで分かるのが重要
コンパイル通すためのハックしてることがコード見ただけで分かるのが重要
576デフォルトの名無しさん
2019/03/25(月) 07:59:56.31ID:W4SpLKRa577デフォルトの名無しさん
2019/03/25(月) 09:18:04.90ID:WuArxINc 次世代言語を名乗るなら網羅性がチェックされたパターンマッチ構文は必須でしょ
TypeScriptのswitch文がJSからのしがらみで前時代的なのは仕方ない
TypeScriptのswitch文がJSからのしがらみで前時代的なのは仕方ない
578デフォルトの名無しさん
2019/03/25(月) 13:08:18.82ID:K4z2YXqu マイクロソフトの「TypeScript」など上昇--RedMonkプログラミング言語ランキング
Liam Tung (Special to ZDNet.com) 翻訳校正: 編集部 2019年03月25日 12時26分
https://japan.zdnet.com/article/35134639/
Microsoftのプログラミング言語「TypeScipt」の人気が上昇しており、Appleの
「Swift」に続く順位についた。(中略)
TypeScriptは2018年8月に発表された前回の調査から4つ順位を上げた。JavaScriptは
首位となっている。TypeScriptの最新の順位は、RedMonkが「これまでで最も成長の速い
プログラミング言語」とするSwiftの1つ下だ。
RedMonkのStephen O'Grady氏は、「TypeScriptは確かにJavaScriptと近いことや、オプ
ションの静的型チェックなどの安全性を実現する機能からメリットを得ている。だが、機能
だけではこのペースで大きく前進できない。成長中の幅広いプロジェクトに活用されて
いるはずであり、これら全てが、TypeScriptの成長が目覚ましく、持続性のあるものと
なっている理由を示している」と説明している。(中略)
TypeScriptよりも急速に成長している言語は「Kotlin」だ。Kotlinは前回から8ランク
アップし、今回の調査では20位となった。O'Grady氏によると、Kotlinの成長速度はSwiftに
次ぐレベルだという。
KotlinはGitHubの「2018 Octoverse」レポートでも、GitHubで最もコントリビューター
人口が増えている言語となった。KotlinはGoogleが公式にサポートしているAndroidアプリ
開発言語であることからAndroidのアプリ開発者に人気で、Googleによると「Google
Play」で提供されているAndroidアプリのトップ1000のうち、27%でKotlinが使用されて
いるという。(後略)
Liam Tung (Special to ZDNet.com) 翻訳校正: 編集部 2019年03月25日 12時26分
https://japan.zdnet.com/article/35134639/
Microsoftのプログラミング言語「TypeScipt」の人気が上昇しており、Appleの
「Swift」に続く順位についた。(中略)
TypeScriptは2018年8月に発表された前回の調査から4つ順位を上げた。JavaScriptは
首位となっている。TypeScriptの最新の順位は、RedMonkが「これまでで最も成長の速い
プログラミング言語」とするSwiftの1つ下だ。
RedMonkのStephen O'Grady氏は、「TypeScriptは確かにJavaScriptと近いことや、オプ
ションの静的型チェックなどの安全性を実現する機能からメリットを得ている。だが、機能
だけではこのペースで大きく前進できない。成長中の幅広いプロジェクトに活用されて
いるはずであり、これら全てが、TypeScriptの成長が目覚ましく、持続性のあるものと
なっている理由を示している」と説明している。(中略)
TypeScriptよりも急速に成長している言語は「Kotlin」だ。Kotlinは前回から8ランク
アップし、今回の調査では20位となった。O'Grady氏によると、Kotlinの成長速度はSwiftに
次ぐレベルだという。
KotlinはGitHubの「2018 Octoverse」レポートでも、GitHubで最もコントリビューター
人口が増えている言語となった。KotlinはGoogleが公式にサポートしているAndroidアプリ
開発言語であることからAndroidのアプリ開発者に人気で、Googleによると「Google
Play」で提供されているAndroidアプリのトップ1000のうち、27%でKotlinが使用されて
いるという。(後略)
579デフォルトの名無しさん
2019/03/25(月) 13:08:57.00ID:8zI0ePtf purescript全然流行ってないぞw
やっぱts人気なのはjs互換だから。良くも悪くも。
やっぱts人気なのはjs互換だから。良くも悪くも。
580デフォルトの名無しさん
2019/03/25(月) 13:17:36.44ID:MfpTwt9Q npmがあってこそ
581デフォルトの名無しさん
2019/03/25(月) 13:40:39.94ID:NJTMQsjm tsといいkotlinといい、言語を流行らせるならまずは開発環境が大事というのがよくわかる結果だな
582デフォルトの名無しさん
2019/03/25(月) 13:43:55.66ID:T0osdeZX Kotlin 万歳
583デフォルトの名無しさん
2019/03/25(月) 13:45:37.65ID:b0YsS78F JSは言語というより環境
つまりSmalltalkがやりたかったことをやってるのが大事なポイントだ
それとJavaがやりたかったこと (JNI禁止) もまあやってる
つまりSmalltalkがやりたかったことをやってるのが大事なポイントだ
それとJavaがやりたかったこと (JNI禁止) もまあやってる
584デフォルトの名無しさん
2019/03/25(月) 13:46:17.07ID:T0osdeZX >>581
開発環境と作ったプログラム動かす環境、更にそれで確実に金儲けが出来そうだと思わせる状況があるとよい。
開発環境と作ったプログラム動かす環境、更にそれで確実に金儲けが出来そうだと思わせる状況があるとよい。
585デフォルトの名無しさん
2019/03/25(月) 14:07:09.12ID:n9E0/aVP まぁRailsもそうだったけど「これ作るならこれ!」みたいな洗脳が上手くできるかどうかだよね
586デフォルトの名無しさん
2019/03/25(月) 14:19:36.61ID:b0YsS78F でも洗脳を解いてやったらC/C++をすらすら書けるようになるわけじゃないし
宗教があるのは難易度を下げるのがメインで洗脳は副産物
宗教があるのは難易度を下げるのがメインで洗脳は副産物
587デフォルトの名無しさん
2019/03/25(月) 15:04:53.80ID:+4I8CbY7 Javaも部分的かつ牛歩だけど、モダン機能に追従していってる
https://qiita.com/nowokay/items/0e860819b6ffb1aca90a#switch%E5%BC%8F
言語でなく環境の方でもGraalVMを進めてるし一応止まってはいない感じ
https://qiita.com/nowokay/items/0e860819b6ffb1aca90a#switch%E5%BC%8F
言語でなく環境の方でもGraalVMを進めてるし一応止まってはいない感じ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【芸能】デパートで見つけたランドセルが衝撃価格! つまみ枝豆「どこかで規制しないと」に共感の声殺到 「全て同感」「高すぎますね」 [冬月記者★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★2 [Hitzeschleier★]
- 日本語が話せない「外国籍」の子が急増中、授業がストップ、教室から脱走も…先生にも大きな負担「日本語支援」追いつかず [七波羅探題★]
- 「暖房が使えない」「食費が高くて子どもの栄養が…」 物価高に苦しむ子育て世帯、政府に期待する支援は [蚤の市★]
- 自ら「パンセクシュアル」だと明かし、東由貴・東京都議(立憲民主)が「パートナーシップ」施策の充実求める:東京新聞 [少考さん★]
- 【女子カーリング】五輪出場決定!女子日本代表の「フォルティウス」チーム名は「より強く」の意味 [征夷大将軍★]
- VIP過疎りすぎて9人くらいの同じメンバーがローテーションして書き込んでるだけじゃね?
- 高市を支持する日本人さんはなにが理由なの?円安進行、国債金利爆上げ、最大貿易国との摩擦とたった1ヶ月で国益を棄損してるのに [472617201]
- 【悲報】ご飯がススム「ゴキブリが入れる隙間なんてない!」→めちゃめちゃデカい穴が空いてましたwwwwwwwwwwwwwwwwwwww [802034645]
- ガイナックス破産整理終了で42年弱の歴史に幕 [256556981]
- ( ´・ω・` )「油そばって実は割とヘルシーなんだね」
- Twitter医師ら「死ぬほど勉強して博愛精神求められるとかそらみんな美容外科なるわ。嫌なら普通の医療も保険診療廃止しろ!」 [762037879]
