2021-05-09 11:12:42
2021-05-09 11:16:24
icon

何に反応したのかわからないけど、Python2.xからPython3.xに変換するbotにふぁぼとリプされた。 無意味だと思うけど一応、ネタツイですって返しといた。

2021-05-09 11:27:15
icon

そもそも俺Python2.x系触ってないんだよね。Python3.xとどこが違うのかっていうのは粗方把握してるけど。

2021-05-09 12:01:20
icon

FORTRAN77と同じ理由だと思うけど、Python2ってもうサポート終了してるのにまだ使っているところがあるからな。

2021-05-09 12:21:20
icon

三倍アイスクリーーーム!!!

2021-05-09 12:21:21
icon

#アイスクリームの日 らしいのでとりあえず叫んでみた。

2021-05-09 12:26:32
icon

あれって本当はSomebody Screamって叫んでるんだけど、それに三倍アイスクリームっていう空耳を付けるのは日本人ならではだよね。

2021-05-09 13:15:31
icon

地球が滅ぶ!(大嘘)

2021-05-09 13:24:43
icon

地球が滅ぶって叫んでる馬鹿いい加減に現実見たら?

2021-05-09 13:37:29
icon

@akkoden_akutoku いやー地球滅びましたね。俺生きてるけど。

2021-05-09 13:44:06
icon

@akkoden_akutoku ほとんどがガスでできていて核にたどり着くころには人間は100%の確率でタヒんでいるはずなんですが、それは・・・

2021-05-09 22:24:40
icon

俺読んだことないからわからんけど、N-ArrowのTUEEEEE系がつまらないのは多分努力している描写をあまり描いていないからで、TUEEEEEになるまで血の滲むような苦労してるはずゾ、知らんけど。

2021-05-10 19:28:25
icon

@perlzemi Python自体1991年登場でそれなりに古い言語であるはずなんですけどね。

2021-05-10 19:39:31
icon

フォールスルーができないんですが、それは・・・(公式回答に対してのツッコミ) twitter.com/kawamineka/sta…

2021-05-10 19:42:26
icon

まぁ、while文使えば似たようなことは可能だけども・・・単純にパフォーマンス面で良くない。

2021-05-10 19:51:17
icon

あと、switch文って中身goto文なので、実はif文による多条件分岐よりも速いんですよね。なぜならif文は条件ごとに評価のコストがかかるから。 kotlinのwhen文とRustのmatch式はどうなのかは知らんけど。

2021-05-10 20:18:35
icon

そう言えばGo言語ではswitch文でbreakする必要がなくなって、代わりにフォールスルーする場合にfallthrough文を使うようになったと聞いた・・・switch文独自の良さを理解してらっしゃるな。俺Goまったく書いてないから知らんけど。

2021-05-10 20:54:05
icon

Kotlin環境は実はマイハウスにないのでできないが、Rust環境は構築しているから、if式とmatch式どっちのが速いのか検証してみても良いな。timeモジュールで簡単にできるだろうしな。

2021-05-10 22:05:53
icon

if : 0.00000319 match: 0.00000287 50回連続で同じ処理をやらせた平均。どうやらswitch文と同じくmatch式のほうが評価のコストがなく速いらしい。良い発見をした。

2021-05-10 22:07:23
icon

結論:Rustのmatch式はif式よりも速い。多条件分岐を高速にしたい場合はmatch式を使おう。

2021-05-10 22:16:51
icon

Rustのmatch式がif式より速いことはわかったから誰かKotlinのwhen文がif文より速いか確かめてくれー(他力本願)

2021-05-10 22:58:29
icon

if : 37ns match: 33ns Rustのif式とmatch式の比較、わかりづらいうえにバグがあったのでもう一度検証。 100回同じ処理で確認。

2021-05-10 22:59:52
icon

数十回試してもifがmatchに勝つことはなかった。そのため、match式が速いという結果自体は変わらなかった。

2021-05-10 23:09:38
icon

というか、これはCと同じだと思うのだが、キャッシュされて同じ処理を省略してるな。 初回だけだと100nsぐらい差があるのでmatch式はif式の100倍速いということになる。

2021-05-10 23:16:21
icon

間違えた、100nsぐらい差があるってことだけしかわからんな。 if式150nsに対してmatch式50nsだから3倍程度かな。

2021-05-10 23:27:54
icon

Rust By Exampleで「match式でswitch文のような書き方ができます」って書いてあったの、嘘じゃなかったんやなって・・・フォールスルーはできないけど。

2021-05-10 23:30:33
icon

2021-05-10 23:31:53
icon

別に誰もやる必要ないけど、一応RTしとこ。もしかしたらKotlinのwhen文がif文よりも速いって言うのを検証する人がいるかもしれないからな。

2021-05-10 23:43:35
icon

そういやキャッシュされているで思い出したけど、Rustってvolatileあるのかな。キャッシュさせないようにすることで処理の省略を防ぐ奴。

2021-05-10 23:48:49
icon

組込みやるならvolatileぐらいは知っておかないとね。知らないのはもはや恥レベル。

2021-05-11 17:35:20
icon

@kawamineka そこまでデータが少ないのであれば、二分挿入ソート(二分探索 + 挿入ソート)のほうがむしろクイックソートより安定して速くなるのでお勧めです。

2021-05-11 17:48:30
icon

Go言語信者「Go is GOD」

2021-05-11 17:50:04
icon

すんません、例のアレを元ネタに呟いただけです。

2021-05-11 21:23:52
icon

@wyper_xyz @kawamineka FF外から失礼します。 配列は「型が同じ値を複数格納できる変数」であるのに対し、ポインタは「メモリアドレスを格納する変数」です。 そのためポインタはメモリアドレスを再代入できますが、配列自体にはその機能はないという点で異なります。 気になったのでリプしました。失礼いたしました。

2021-05-12 02:05:55
icon

@WebDesignerRiku 環境構築お疲れ様です。 見たところhello.exeに変換できており、ターミナルのほうでも出力できているため問題はないと思われます。 念のため、コマンドプロンプトで以下を書いて、Enterを押してだけますでしょうか。そちらも想定通り動いていれば問題ありません。 %UserProfile%Desktop\gcc\hello.exe

2021-05-12 18:27:27
icon

@WebDesignerRiku いえ、やり直さなくていいですよ。多分。結局はhello.exeがコマンドプロンプト内で実行できれば良いので。

2021-05-12 19:08:05
icon

@WebDesignerRiku 私がちゃんとhello.exeが実行できるのか不安なだけで以降はコマンドプロンプトで実行せず、テキストがあるのであればとりあえずテキスト通りに進めてください。

2021-05-12 23:12:38
icon

TIOBEのランキング、しばらく見てなかったけど、ついにObjective-CがTop20から下落してしまったのか。代わりにFortranが入ってますね。 90以降では配列が簡単に扱えるところがTop20入りしたことと関係してそう。

2021-05-12 23:31:19
icon

まぁそれだったらもっと早くにTop20入りしてるだろうと思われるかもだけど、Swiftが登場するまではObjective-CはPOTY(Programming language of the year)に輝くほどだったからそれも関係してると思う(まぁそれはMacアプリやiOSアプリ開発ができるのが主な理由だけど)。

2021-05-12 23:46:12
icon

でも、Swiftってまだ発展途上でObjective-CじゃないとできないAPIもあるんじゃなかったっけ?それはもう全部対応済みかな。

2021-05-13 20:47:20
icon

Rustでわかる英語の発音。 まずRはLと違いくっきり発音してはいけない。そのため若干巻き舌気味に発音する。 その次、ustでuの後に文字があり、その次の文字が母音じゃないのでuは口半空けで「ア」と発音、sとtは「う」の口で少し区切る感じ発音するので「ストゥ」と発音する。 これで完璧なRustや。

2021-05-14 19:53:03
icon

Rust(プログラミング言語)学習の良さそうなサイトまた見つけた。しかもMicrosoftだからかVC++ Build Toolsのインストール方法まで載っているので「WindowsでRustコーディング始めたい!」って人にお勧めかも。 docs.microsoft.com/ja-jp/learn/pa…

2021-05-15 10:18:27
icon

@perlzemi おそらくAIが講座というところに関連を見出して表示していると思われます。 自然言語処理は機械学習において最も難しい分野であり、故に偽陽性率を抑えることはできますが出すなと言うのは難しい要望なのです。 ですので、Youtubeにてフィードバックの送信を行い、改善されることを祈りましょう。

2021-05-15 11:23:32
icon

Rustはオブジェクト指向なのか、ということについてトレイトには継承という概念がある、という観点から考えてみたけど、正直オブジェクト指向と言うのはやはり難しい。 メソッドが隠蔽やオーバーライドできないと継承ではない、というのであれば、それはRustが継承と付けているのであって、->

2021-05-15 11:23:33
icon

OOPにおける継承ではないと言えるが、サブトレイトとスーパートレイトの同名のメソッドが別個のものであっても継承と呼んで良いのであれば、RustOOPにおける継承を持つということが認められると思う。 しかしながらトレイトの継承は、OOPの継承と言うよりも->

2021-05-15 11:23:34
icon

「スーパートレイトとの依存関係を作る」と言ったほうが良く、「サブトレイトはスーパートレイトの機能を受け継いでいる」とはちょっと違うと思う。なぜなら、クラスベースのOOPではサブクラスはサブクラス単体でも動かすことができるけど、Rustのトレイトはサブトレイトを実装するだけでは動かず->

2021-05-15 11:23:38
icon

スーパートレイトも実装する必要があるからだ。 以上をもとに考えると、トレイト継承はOOPにおける継承ではなく、故にOOPにおける継承を持つことがオブジェクト指向のパラダイムを持つ必要条件と言うのであれば、Rustはオブジェクト指向のパラダイムを持たないと言える。

2021-05-15 11:23:39
icon

その点を顧みて考えてみると、ちょっと凄いなと思うのが、Rustには継承がなく、また強い型付けであるのに関わらずポリモーフィズムを実現しているという点。これは他言語にはない魅力的な部分なんじゃないかと思う。

2021-05-15 11:40:13
icon

勘違いしないように補足しておくと、オーバーライドできることが継承の十分条件ではなく、そもそもオーバーライドは「動作を上書きする」ことを示すので、それが継承である必要はないと言えます。故にRustのトレイトの実装はオーバーライドが可能ですが、継承ではないと思います。