[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 12/03 05:21 / Filesize : 235 KB / Number-of Response : 1025
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

次世代言語15 Go Rust Swift Kotlin TypeScript



1 名前:デフォルトの名無しさん [2018/11/04(日) 20:30:10.42 ID:OF8fjEC1.net]
スレタイ以外の言語もok

前スレ
次世代言語14 Elixir Crystal Julia Rust Swift
https://itest.5ch.net/mevius/test/read.cgi/tech/1536668904

523 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 02:21:22.63 ID:R//MLWrb.net]
いや型無し糞言語ガイジは死ねよ、時代遅れの爺

524 名前:デフォルトの名無しさん [2019/03/11(月) 09:04:21.30 ID:9skrQpxpu]
部分適用じゃね?→ラムダを使わない技術

sum xs = foldl (\a x -> a + x) 0 xs

sum xs = foldl (+) 0 xs

sumの方も部分適用すれば、こうなる

sum = foldl (+) 0

525 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 09:24:00.27 ID:D2PSGRy3.net]
そもそも実行時に命令を作り出すというのは、動的型付けじゃないとできないのでは? eval

526 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 09:38:26.34 ID:9rO3q8tQ.net]
動的もコンパイルするし、静的もRepl あるし

527 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 11:48:34.91 ID:NYtiTycm.net]
>>518
s='a+a'
a=1
print(eval(s)) #2

a=2.0
print(eval(s)) #4.0

528 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 11:57:22.45 ID:NYtiTycm.net]
REPL と動的実行のeval は違う。

a=input() #abcと入力
print(eval(s)) #abcabc と出力

s=input() # 3**2 と入力
print(eval(s)) #9 と出力

529 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 12:30:19.49 ID:NYtiTycm.net]
動的実行には、複数の式を実行する exec がある。

exec("""
total = 0
for i in range(5):
 print(i)
 total += i

print(total)
""")

これを利用すれば、プログラムを変更しないで外からの入力で動作を変えたりできる。

530 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 12:44:28.78 ID:XUClMORg.net]
何か変なのに粘着されてるじゃん

531 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 12:49:45.69 ID:iGRez5Af.net]
>>521
そうだね重大なセキュリティホールだね
お願いだから消えてくれ



532 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 16:46:34.67 ID:9rO3q8tQ.net]
>>519
そんなの単にevalに渡すコンテキストの違いじゃん
実行時に命令生成することの本質じゃない

533 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 20:14:35.05 ID:YRmagZmf.net]
文字列使えば任意のコードが実行できる!文字列最強!みたいなバカ理論。

534 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 20:16:58.60 ID:vDWHHSf6.net]
それ社内のエースが言っててワロタ

535 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 20:49:09.16 ID:kuj3upGr.net]
構文木いじれるLispの方が便利じゃね?

536 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 12:12:04.79 ID:f1IcpvAp.net]
構文木オブジェクトなら左括弧と右括弧の対応をいじる脆弱性はない
文字列を使わないことがオブジェクト指向の定義と言えないこともない
オブジェクト指向の定義多すぎ

537 名前:デフォルトの名無しさん [2019/03/12(火) 12:34:20.82 ID:rf03pH6k.net]
> 文字列を使わないことがオブジェクト指向の定義

ハハハ

538 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 13:10:26.07 ID:f1IcpvAp.net]
笑うことも定義か
staticおじさんを笑うように

539 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 13:24:41.15 ID:f1IcpvAp.net]
定義を教えられないから目で盗み空気を読み忖度した結果として定義が増える

540 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 13:33:15.64 ID:RXMytCd2.net]
ハハッ

541 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 21:17:11.81 ID:u/DrurAb.net]
まあテクニカルタームにしがみつく奴はバカしかいないよ。



542 名前:デフォルトの名無しさん [2019/03/13(水) 21:26:00.10 ID:M+m6pFpm.net]
ハッ

543 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 22:20:22.61 ID:eVzJUFww.net]
ハハッ

544 名前:デフォルトの名無しさん mailto:sage [2019/03/14(木) 10:58:18.04 ID:0lYU+AM6.net]
差別発言が日常茶飯事なのと専門用語のマナーを守ることとのギャップがものすごい

545 名前:デフォルトの名無しさん mailto:sage [2019/03/14(木) 23:49:16.54 ID:gVqeE1jf.net]
>>536
そういうバランスが壊れてるところプログラマーっていう人種の典型

546 名前:デフォルトの名無しさん mailto:sage [2019/03/15(金) 17:46:48.87 ID:LvZJWiiQ.net]
プログラムはおいといてデバッグに必要なのは典型的でないケースを1個見つけること
1個だからといって無視しないこと

547 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 11:52:05.42 ID:4E+XY7RQ.net]
型無し糞ガイジの老害が死滅すれば済む話
頭のアホ毛$から腐臭が漂ってくるんだよ、早く死ね

548 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 14:54:23.26 ID:YNfhsYwt.net]
エディタを終了してからテストを実行するのはターン制だから古臭いんだな
リアルタイムこそが現実であり次世代であるはずなのに一体なぜターン制が滅びないのか

549 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 17:44:29.53 ID:2O0dSFGZ.net]
>>539
おだいじに。ちゃんとお薬のむんだよ。

550 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 18:24:15.45 ID:4E+XY7RQ.net]
>>541
薬を飲むべきはおまえさんやで、型無し糞ガイジw

551 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 08:00:57.82 ID:zUjZ7ZUG.net]
次世代言語として必須機能はなんですか?



552 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 09:10:22.60 ID:ZlGSstH0.net]
高速で軽量、堅牢な非同期処理のサポート
デフォルト実装を定義できるインターフェイス(and/or 型クラス)
高度な型推論(もとより静的型)
高速なコンパイルとコンパクトな実行ファイル(非AltoJS、JVM言語)
関連して、セルフホスティングやブートストラップは完了済み

553 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 09:23:43.23 ID:f3qHSm8q.net]
>>54
様々なポリシーの元に設計されて良いだろうから必須なんて機能は無いんじゃないか

554 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 09:24:21.62 ID:f3qHSm8q.net]
>>545
>>543宛だった

555 名前:デフォルトの名無しさん [2019/03/23(土) 11:11:33.27 ID:Bvojjkpo.net]
何を作りたいかによるよね。作りたいものが作りやすければ良いわけだから。

556 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 22:35:21.72 ID:kS3TDVAs.net]
皆さん的にvlangどうなの?

557 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 23:03:36.39 ID:oh3HXLVk.net]
実物待ちじゃないの

558 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 13:56:01.89 ID:oJh5vPLh.net]
ぶっちゃけTypeScriptが強最やろ

559 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 14:23:51.27 ID:dT6Xb8jy.net]
強いかはともかく、最も美しいプログラミング言語の一つではある

560 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 16:01:57.35 ID:ElpwR+x1.net]
tsいいんだがjavascriptの呪縛から解き放ってやりたい感

561 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 16:09:10.35 ID:3s1WkY0F.net]
今のesならそんなに捨てたもんでもないと思うが。
まぁでも、tsにclassは要らなかったな。



562 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 16:18:49.96 ID:Nexfdc7v.net]
しょせんパフォーマンスでない言語

563 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 16:34:58.29 ID:RF+VrP1U.net]
esにもクラスはなくても良かったけどデコレータは早く来てほしいね
デコレータ風に組めなくもないけど面倒だしな

564 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 18:01:12.81 ID:ZhSBqocX.net]
tsはjsの呪縛でガンガンに縛られてるから全然いい言語に見えない

共有型からの流れのせいでコードに無駄な型判定が入ってて全然スマートじゃない

565 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 19:00:10.91 ID: ]
[ここ壊れてます]

566 名前:3s1WkY0F.net mailto: >共有型からの流れのせいでコードに無駄な型判定が入ってて全然スマートじゃない

ちょっとピンとこないけど具体的にはどういう記述?
[]
[ここ壊れてます]

567 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 19:23:03.00 ID:YsBQPuQx.net]
js.studio-kingdom.com/typescript/handbook/advanced_types

型判定のifなどが邪魔すぎる
こういうのを見てスマートだと感じるなら毒されている

568 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 19:32:49.50 ID:3s1WkY0F.net]
それは無駄な判定とは思わないが、どう記述出来たらスマートだと言うんだろう。
パターンマッチとか?

569 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 19:37:55.56 ID:503powVA.net]
無駄っつーかanyって言ってるのに実際は2つの型しか認めないのは無責任やな

570 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 19:44:07.97 ID:LeGi1F7Y.net]
>>558
直和型をパターンマッチで処理切り分けるのは、関数型言語からの流れで最近の流行りだと思うんだけどね
if 文で書くのはダサいな

>>560
any がダメだから string | number と書くというのが共用体型じゃないの?おれもtsはよく知らないんだけど

パターンマッチで切り分けて、すべての可能性を記述してない場合にはエラーにしてほしいね

571 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 20:34:17.47 ID:3s1WkY0F.net]
まぁパターンマッチ構文で多少記述がシンプルになるならそれもいいけど、逆に専用の構文に頼らずに
ifやswitchを使っても同等のことができているというのがいいところだと思うがなぁ。
シンタックスシュガーとして入れるなら後からでもできるんじゃね?

>パターンマッチで切り分けて、すべての可能性を記述してない場合にはエラーにしてほしいね

それをエラーにするような記述は今でもできる。パターンマッチなんてなくても。



572 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 21:15:12.88 ID:YouWSmuh.net]
>>562
そんなのなくない?
String | Date | Number
だったとして、StringとNumberの処理しか書いてなくってそれがエラーにはならんやろ

やっぱScala最強やね
コンパイル速度ゴミで死んでしまったが

573 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 21:22:23.00 ID:dT6Xb8jy.net]
>>563
TypeScriptは Discriminated Union 使えるよ
メンバのリテラル値によって型をマッチさせるという中々面白い仕様

574 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 21:32:02.61 ID:503powVA.net]
sbt言うほど遅いか?
Scala2.13でまたちょっと速くなるみたいだし
それにScala3まであと一年と考えるとScala最強説が蘇る可能性もあるで

575 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 21:42:20.21 ID:hMqcesBf.net]
scala死んだ理由どう考えてもバージョン上がる度にコンパイル通らなくなる互換性のなさだろ
3なんかにしたら爆死以外見えない

576 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 22:02:19.88 ID:LeGi1F7Y.net]
>>564
ここら辺見て ts 勉強させてもらったよ https://qiita.com/kobanyan/items/ca56df27de50ec267995
Discriminated Union はすべての可能性を記述してない場合にエラーとするための仕組みになってないだろ
その下に書いてある Exhaustiveness checking っていうのが求めてるものだ

でも、
--strictNullChecks つけて戻り値の型のでチェックするのはswitchの下にreturn 文書いちゃったらスリ抜けちゃわない?
default: return assertNever(s) を記述することでチェックするのは、その記述が無くてもエラーにしてほしいんだけど?

577 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 22:17:38.55 ID:3s1WkY0F.net]
>default: return assertNever(s) を記述することでチェックするのは、その記述が無くてもエラーにしてほしいんだけど?

どのパターンにもマッチしない場合に何もしないという場合はあるわけだから、エラーにするのか
しないのかを示さなきゃならないのは仕方ないだろう。
strictNullChecks付けるのを忘れるからデフォルトでonにしてほしいとか言ってるようなもん。

578 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 22:46:49.41 ID:LeGi1F7Y.net]
>>568
case 文で全パターンを網羅できない場合には default 必須にして欲しい
どのパターンにもマッチしない場合に何もしないときは、その default の処理を空っぽにする
これを強制したい

579 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 22:52:15.99 ID:3s1WkY0F.net]
それはlintでやればいい。

580 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 23:24:23.33 ID:LeGi1F7Y.net]
みんなが Lint かけてくれるわけじゃないので、コンパイル時チェックが望ましい
特に新しい言語作るのならばそうすべき

581 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 23:25:57.15 ID:LeGi1F7Y.net]
あと、>>564は、言語の機能と、コーディングパターンの区別がついてないよね?



582 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 23:29:21.26 ID:dT6Xb8jy.net]
>>572
言語の機能として公式ドキュメントに記載されてるんだよ
https://www.typescriptlang.org/docs/handbook/advanced-types.html

583 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 23:54:07.40 ID:LeGi1F7Y.net]
>>573
Discriminated Union とか Exhaustiveness checking は、言語機能じゃなくて
いくつかの言語機能を組み合わせて実現可能なコーディングパターンの解説をしているように見えるよ?
そのドキュメントが Specification じゃなくて Hand book だし

584 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 00:04:21.99 ID:8zmAEr9n.net]
>>571
そういう腐った現場で強制してもコンパイル通すためだけのくそハックが横行するだけ。
事態をもっとややこしくする。

585 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 00:28:45.64 ID:PAua+1O7.net]
>>575
コンパイル通すためのハックしてることがコード見ただけで分かるのが重要

586 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 07:59:56.31 ID:W4SpLKRa.net]
>>571

lintすら不要と思っている人が>>561のようなチェックをしたいと思うシチュエーションが考えにくいが。
PLがメンバーに強制するならlintごと使わせればいいわけだしな。

587 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 09:18:04.90 ID:WuArxINc.net]
次世代言語を名乗るなら網羅性がチェックされたパターンマッチ構文は必須でしょ
TypeScriptのswitch文がJSからのしがらみで前時代的なのは仕方ない

588 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 13:08:18.82 ID:K4z2YXqu.net]
マイクロソフトの「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が使用されて
いるという。(後略)

589 名前:デフォルトの名無しさん [2019/03/25(月) 13:08:57.00 ID:8zI0ePtf.net]
purescript全然流行ってないぞw
やっぱts人気なのはjs互換だから。良くも悪くも。

590 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 13:17:36.44 ID:MfpTwt9Q.net]
npmがあってこそ

591 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 13:40:39.94 ID:NJTMQsjm.net]
tsといいkotlinといい、言語を流行らせるならまずは開発環境が大事というのがよくわかる結果だな



592 名前:デフォルトの名無しさん [2019/03/25(月) 13:43:55.66 ID:T0osdeZX.net]
Kotlin 万歳

593 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 13:45:37.65 ID:b0YsS78F.net]
JSは言語というより環境
つまりSmalltalkがやりたかったことをやってるのが大事なポイントだ
それとJavaがやりたかったこと (JNI禁止) もまあやってる

594 名前:デフォルトの名無しさん [2019/03/25(月) 13:46:17.07 ID:T0osdeZX.net]
>>582
開発環境と作ったプログラム動かす環境、更にそれで確実に金儲けが出来そうだと思わせる状況があるとよい。

595 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 14:07:09.12 ID:n9E0/aVP.net]
まぁRailsもそうだったけど「これ作るならこれ!」みたいな洗脳が上手くできるかどうかだよね

596 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 14:19:36.61 ID:b0YsS78F.net]
でも洗脳を解いてやったらC/C++をすらすら書けるようになるわけじゃないし
宗教があるのは難易度を下げるのがメインで洗脳は副産物

597 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 15:04:53.80 ID:+4I8CbY7.net]
Javaも部分的かつ牛歩だけど、モダン機能に追従していってる
https://qiita.com/nowokay/items/0e860819b6ffb1aca90a#switch%E5%BC%8F

言語でなく環境の方でもGraalVMを進めてるし一応止まってはいない感じ

598 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 15:17:23.11 ID:NJTMQsjm.net]
Javaは本質的な不便さから目を背けてミーハーな目立つ機能をつまみ食いしてる印象
いいかげん例外透過やクッソ使いづらい非同期APIをなんとかしろ

599 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 15:51:46.88 ID:gMgBFzz/.net]
javaは中間コンパイルしたあとのソースを見るとやる気なくなる

600 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 16:00:12.57 ID:n9E0/aVP.net]
Java「じゃあ互換性切り捨てて小鳥に寄せます」
ってならね?

601 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 17:45:18.30 ID:95AoY43y.net]
>>579
金で操作できるランキングに価値ねえよ
上位言語が企業のステマ言語って時点で疑問持てよ



602 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 18:34:27.56 ID:uGzTncPE.net]
そもそもnumberとstringをいれれる型が邪魔すぎる

603 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 18:51:00.60 ID:g4/jn9Nj.net]
javascriptの制限のせいでtypescriptには従来の言語のような関数オーバーロードがない
あるのは関数シグネチャーのエイリアスのようなもので中ではifなどで型の判定をして使い分けてる
非常に泥臭い

604 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 18:55:41.13 ID:g4/jn9Nj.net]
パターンマッチはクソださいので必要ない

605 名前:デフォルトの名無しさん [2019/03/25(月) 19:03:37.93 ID:8zI0ePtf.net]
javascript離れて独自拡張したら行く末はelmやpurescriptコースだからな。
そうなったtypescriptは誰も使わないし、
js互換の第二のtypescriptが登場してそっちに流れるだけ。
そうでないと言うのならelmやpurescriptが閑古鳥な理由を説明してほしい。

606 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 19:05:06.35 ID:PPwxmC3U.net]
ダサいとかいう非論理的な言葉で要不要を語るんじゃあない

607 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 19:06:59.78 ID:g4/jn9Nj.net]
>じゃあない

ださい

608 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 19:11:19.73 ID:6qJsOYPQ.net]
>>594
tsのunionは、関数の引数だけじゃなくて、戻り値とかオブジェクトのプロパティにも使える
関数オーバーロードの変わりに使うものだと考えるのは、少しズレてる

609 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 19:31:47.11 ID:g4/jn9Nj.net]
numとstringを入れられるプロパティの存在意義は?

610 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 20:32:23.9 ]
[ここ壊れてます]

611 名前:3 ID:6qJsOYPQ.net mailto: >>600
これは number と string とかだけじゃなくて、同じ interface を継承しないオブジェクトをひとつのプロパティに格納できたりする機能なんだよ
利点は intetface を用意して継承するよりも記述が減ることかな
普通の静的型付け言語だと any みたいな型を使う事になるけど、それよりもチェックを少し厳しくできるのが利点だね
[]
[ここ壊れてます]



612 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 20:42:39.81 ID:+4I8CbY7.net]
>>598
https://i.imgur.com/rQXUs9z.jpg

613 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 20:47:57.44 ID:+4I8CbY7.net]
正直オーバーロードは無くていいと思ってる
ジェネリクス等で処理出来ないなら名前変えた方がいい

多言語の境界でよく面倒事の原因になる

614 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 20:48:32.11 ID:g4/jn9Nj.net]
>>601
でもそれを参照する場所で型チェックなどが発生するだろ
A型とB型を格納していたプロパティにC型を格納するようになったら
それぞれの場所でまた変更が必要になる
無駄じゃないかなって思う

615 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 21:00:38.33 ID:/ev0NUx0.net]
関数のオーバロードは正直なくてもいいかなと思うけど(別の名前にすればいいだけ)
その言語はオブジェクトのコンストラクタのオーバロードも多分ないよね
それはどうするか、ちょっと困るな

616 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 21:00:47.68 ID:UtVBJg4o.net]
オーバーロードと、実装を上書きするタイプのオーバーライドは絶滅すべき

617 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 21:14:48.42 ID:+4I8CbY7.net]
>>605
Go Rustはオーバロードが無く、ただのstaticなファクトリメソッドでやってるよ

618 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 21:21:17.36 ID:g4/jn9Nj.net]
fabs()再び

619 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 21:24:14.16 ID:g4/jn9Nj.net]
オーバーロードがないとintのabsのほかにfloat用のfabsを用意しないといけない

620 名前:デフォルトの名無しさん [2019/03/25(月) 21:27:47.27 ID:1GKiPWph.net]
>>603
リーナスも似たようなこと言ってたな
記事探すの面倒だから貼らないが
(誰か探して貼ってくれないかなチラッ)

621 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 21:39:42.65 ID:/ev0NUx0.net]
>>609
そっちはジェネリクスで対応するのでは



622 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 22:26:27.11 ID:8zmAEr9n.net]
オーバーロードだったらマクロのが少しはマシ。

623 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 22:27:46.86 ID:xXsGZ5++.net]
>>604
ts のunion は interface 無しでダックタイピング効くから、参照する時必ず型チェックが必要なわけじゃない
型自体の定義も type alias しておけば一箇所で済むし
静的型付け言語でany使うよりは、遥かに手間はかからないよ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<235KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef