次世代言語18 Go Rust Elixir Kotlin TypeScript

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
垢版 |
2019/10/01(火) 02:58:03.93ID:aEwUIB6s
スレタイ以外の言語もok

前スレ
次世代言語17 Go Rust Kotlin TypeScript Julia
https://mevius.5ch.net/test/read.cgi/tech/1567602619/
2デフォルトの名無しさん
垢版 |
2019/10/01(火) 03:01:08.82ID:aEwUIB6s
好きなほう使え
2019/10/01(火) 03:28:34.17ID:QzzO0BSF
Go イケてない労働者言語
Rust 完璧な仕事を公務員が定義したような言語
Elixer ダメ親父Erlangの存在を興信所に暴かれるのにビクビクしながら婚活してる言語
Kotlin 乞食共がJetbrainsにカネを落とさないとこに気づかれたら終わる言語
Typescript ブラック企業Javascript社で同期のCoffeescriptが退職するまで耐えてやったー勝ったーと喜んでいるブラック社員みたいな言語
4デフォルトの名無しさん
垢版 |
2019/10/01(火) 07:30:15.07ID:TQ/of5Nk
そんな私はPureScript
2019/10/01(火) 21:20:50.11ID:edrieGWV
結局何がええねん
2019/10/01(火) 21:58:34.13ID:fVpn7q4P
とりあえずClojureとElixirやっとけばいいんじゃないの?
2019/10/01(火) 22:21:06.45ID:edrieGWV
Elixir調べたらイケてたしやってみるわ
8デフォルトの名無しさん
垢版 |
2019/10/02(水) 03:01:44.17ID:HAeoUhP1
元々、スレタイのElixirのところはSwiftだったんだけど
話題にする人少なすぎた
2019/10/02(水) 12:44:14.85ID:sUJcMPgN
R, Matlab → Python → Julia

Ruby → Elixir

Java → Kotlin

TypeScript → JavaScript 逆行w
2019/10/02(水) 20:48:10.64ID:VsMQdTfA
>>9
>Ruby → Elixir
Erlang → Elixir, Ruby → Crystalでしょ
実際の人の流れは知らんが

>TypeScript → JavaScript 逆行w
?
2019/10/10(木) 00:37:13.64ID:mYmIMpK9
TypeScriptなんでよ
12デフォルトの名無しさん
垢版 |
2019/10/24(木) 23:19:50.59ID:mygjqvuo
よく分からんがこっち再利用でいいか
前スレ
https://mevius.5ch.net/test/read.cgi/tech/1569852711/
2019/10/25(金) 00:02:35.20ID:XhstDZpk
中学生の作った言語
見た感じJavaScriptみたいだったな…
14デフォルトの名無しさん
垢版 |
2019/10/25(金) 00:40:53.30ID:SyedIRhC
>>13 アホか。 そりゃみんなCに似てるから似たようなもんだが、どちらかというとPython にかなり影響されている。
15デフォルトの名無しさん
垢版 |
2019/10/25(金) 01:23:14.96ID:yHWkSsCK
最近Ponyの話題ないな
2019/10/25(金) 02:21:05.08ID:ceUTcTBx
https://rosettacode.org/wiki/Category:Programming_Languages
2019/10/25(金) 10:51:42.90ID:e5XctPAa
なぜGoやRustが不要なのか
それはハードウェアやOSのベンダーが提供しているAPIがCまたはC++を対象としているからだ
つまりC/C++はプログラマの必修である(ウェブスクリプターはお帰りください)
そして一度CやC++を習得したなら、もはやGoやRustなどという言語は不要なのである
2019/10/25(金) 13:32:18.26ID:toX20EzX
あ、はい
19デフォルトの名無しさん
垢版 |
2019/10/25(金) 17:05:11.97ID:TZuDPeyc
>>17
一理ある

FFIとかctypes便利やな
2019/10/25(金) 19:12:53.57ID:n5fer6xH
目的を設定せず要か不要かを言い出すとどんなことも極論に着地する
2019/10/25(金) 19:30:53.93ID:jaw68O5t
GC使ったらええやん。
バカほど過大にオーバーヘッドガーとか、ベンチマークも取らずに言い出す。
2019/10/25(金) 20:14:18.64ID:n5fer6xH
?

?????/Uyir

こんなのまであるのにひまわりは
2019/10/26(土) 01:05:37.18ID:JNlbd3QN
Blaun
2019/10/27(日) 03:48:27.78ID:IJXdK348
>>17
C/C++は生産性が低いやん
GoやRustは比較的生産性が高い
だから不要ではない
2019/10/27(日) 04:20:48.67ID:GY6dff4n
低ない
2019/10/27(日) 06:44:20.78ID:9sDcwo0m
>>24
生産性はプログラマーの技量によるものであり、言語は関係ない
27デフォルトの名無しさん
垢版 |
2019/10/27(日) 06:49:28.43ID:W3AB9aBJ
んなあほな
2019/10/27(日) 08:03:37.47ID:IJXdK348
>>26
プログラマーの技量と言語両方関係あるよ
2019/10/27(日) 08:35:15.03ID:Stkn+hXf
>>26
わろた
2019/10/27(日) 08:39:49.40ID:YkfDxgSs
>>26がbrainf*ckで高生産性のプロジェクトを作れると聞いて
2019/10/27(日) 09:02:20.23ID:/g1/9V53
26が事実ならアセンブラでみんな書いとるわ。
2019/10/27(日) 09:16:38.06ID:MBtvQv/0
>>26 アセンブラよりコンパイラの方が生産性が高いのは明らか。 そのコンパイラの中でも得て不得手はあるものの適正なコンパイラを選べば生産性は高くなる。

開発言語が生産性に与える影響の分析
https://www.zai-keicho.or.jp/data/pdf/software/EIRR_vol%2018.pdf
2019/10/27(日) 09:36:44.64ID:E7xaVBiS
>>31
事実が確定して言語が確定するまで待つのは素人だよ
確定する前になぜかフライングできる奴がいる
それが技量なんだよな
34デフォルトの名無しさん
垢版 |
2019/10/27(日) 09:37:12.41ID:E41dDRFH
>>32
中身読んだ?

>開発言語が生産性に与える影響の分析
> 上記のことから、プロジェクトで使用する開発言語数が増えると
> 生産性が低下する傾向があることが判った。
2019/10/27(日) 09:51:08.42ID:MBtvQv/0
>>34 沢山の言語を使うバカの話なんかどおでも良い。
特定の言語通しの比較だよ。

例えばGoogle は生産性を高くするために Go を作ったし、Javaより生産性が高いとしてKotlin を推奨し始めたし、いろんな点(特にAI)で生産性が高いのでpython を使ってる。
2019/10/27(日) 09:54:23.49ID:/g1/9V53
>>33
事実は「作るプログラムによって言語を変える方が生産性あがる」ってことだよ。
そんな当たり前のことも理解できないバカはだまってろ。
2019/10/27(日) 10:19:12.78ID:i7/INYAa
仕事で複数人でc++使うとうんざりする
わかってないやつはスクリプト言語のノリで非効率でMTアンセーフなコード書くし
自称わかってるやつは、他人が読解困難なテンプレートパズルを書いて悦に浸るし
代替言語の需要はある
2019/10/27(日) 10:42:12.80ID:E7xaVBiS
なぜうんざりするコードを買ってしてしまうのか
コードを書いていない (勿論まだ読んでいない) 段階で購入決定してるから
買い物の技量によっぽど自信がある奴にしかできない芸当だから
2019/10/27(日) 14:07:06.62ID:E41dDRFH
>>35
>特定の言語通しの比較
であれば引っ張ってきた文献は根拠としては意味がないね
2019/10/28(月) 01:17:44.10ID:t3VCRQln
作るプログラムによって言語を変えられる言語最強
やっぱPerl 6だな
41デフォルトの名無しさん
垢版 |
2019/10/29(火) 00:22:37.88ID:rsD5lU2a
>>40
Perl6などと言う言語はもはや存在しないぞ
新言語 Raku だ
42デフォルトの名無しさん
垢版 |
2019/10/29(火) 00:33:04.43ID:3GUclSH5
楽土に行ってお星様に成ってしまわれた
2019/10/29(火) 00:36:49.69ID:etQNoPl+
日本人がぐぐれなくなったw
44デフォルトの名無しさん
垢版 |
2019/10/29(火) 09:11:40.20ID:C6ZDvzKW
> Haskellで書かれたPugsは活発ではなく[2]、もはや歴史的な実装とされている。

はぁ〜つっかえ。
haskellってやっぱ実用言語じゃないな。マニアのおもちゃw
2019/10/29(火) 11:59:15.41ID:OaQk1xyV
Haskellは最初から学者のおもちゃを目指してる

だけどそのポテンシャルに着目してFacebookなんかが支援してるし
社内で実用的に使ってる
2019/10/29(火) 20:14:44.16ID:dJZjQrr+
ライブラリの依存関係もまともに解決できない糞パッケージマネージャーしかないような言語、
使われるわけないだろ。
2019/10/29(火) 20:49:05.52ID:lbgfr1pN
これなんとか最強のパッケーマネージャーはgitということにできないかな
48デフォルトの名無しさん
垢版 |
2019/10/30(水) 14:38:45.41ID:Jt7N9BVB
Go より Rust の方が良いな
2019/10/30(水) 20:34:59.18ID:W4pbxdXC
同じことしたくてもRustだとスゲー面倒になる
アルゴリズムに集中したいからRustはパス
50デフォルトの名無しさん
垢版 |
2019/10/30(水) 21:40:15.56ID:XjQVZIUI
アルゴリズムにだけ集中できる仕事なんてあるんだな
羨ましいようなつまらなそうなような
2019/10/30(水) 21:53:37.74ID:FbHfZMe1
GCがある言語を使えばいいだけだろ
2019/10/30(水) 23:36:28.52ID:/8g3afGg
クソみたいなプライドがGC使うことを許さんのだろうw
2019/10/31(木) 06:22:05.01ID:86Hrwe7r
アルゴリズムに集中?
大学教授か?
54デフォルトの名無しさん
垢版 |
2019/10/31(木) 20:25:06.66ID:HxztbwtI
ポリリズムだろ
55デフォルトの名無しさん
垢版 |
2019/10/31(木) 20:31:04.73ID:f3uH9i59
>>49
c++とrustならどっちがいいかな?
2019/11/02(土) 11:44:06.04ID:lY37zOLC
たまにrustで書くのもいいとは思うが普段使いはせんわな。
2019/11/02(土) 19:32:31.60ID:hRU0v2as
アルゴリズムわかんない人大杉w
58デフォルトの名無しさん
垢版 |
2019/11/04(月) 11:07:48.23ID:4UdRZ1tG
AWSも支援 -- プログラミング言語「Rust」人気が拡大
https://japan.zdnet.com/amp/article/35144661/
2019/11/04(月) 12:09:59.99ID:0O6JYxLK
ビジネスロジックに集中と言いたいのでは
2019/11/04(月) 12:11:05.27ID:0O6JYxLK
AWSも支援--プログラミング言語「Rust」人気が拡大
https://japan.zdnet.com/article/35144661/
2019/11/04(月) 13:01:28.35ID:0O6JYxLK

ごめん
2019/11/04(月) 14:16:08.28ID:VfDE21hF
>プログラミング言語Rustは、2009年にMozillaのエンジニアリングチームによって作り上げられた。
>メモリー関連のバグを防ぐ目的などでゼロから構築された。

えぇ・・・どっか違う世界から来たのかな・・・
2019/11/04(月) 15:54:47.39ID:9k/OwcSB
>>62
初期から支援してきたのは事実だし文字数的に短いほうがいいんじゃない?
2019/11/06(水) 11:23:51.45ID:BxZkkowq
どっちでもいいよモジラもRustもどっちも産廃だから
2019/11/06(水) 21:45:18.82ID:sPTvbp9j
やっぱりTSが最強じゃないか(歓喜)

Announcing TypeScript 3.7
https://devblogs.microsoft.com/typescript/announcing-typescript-3-7/
2019/11/06(水) 22:21:06.79ID:i7d6nyLW
>>65
神ってる
2019/11/11(月) 08:37:54.03ID:nmrg3hQp
このクソスレすっかり過疎ったな
良いことだ
2019/11/11(月) 08:41:18.73ID:ugn4nfqU
炎上PJに巻き込まれて帰ってこれなくなってしまったのだろう
2020/01/03(金) 12:58:50.03ID:f2V4CbYL
あけ おめこ とよろ
2020/01/03(金) 18:49:31.31ID:iLCgGCNV
C++ -> Swift, Go, Rust
Java -> Kotlin
Python -> Python
JavaScript -> TypeScript

こんなイメージなんですがおかしいところあったら教えてください
2020/01/03(金) 19:00:11.26ID:7xXfFr1e
>>70
ポストCはRust
実はGoがPythonからの移行組で賑わってる
2020/01/03(金) 22:03:27.41ID:9AYxjjFN
Java → KotlinはAndroidアプリだけな感じ
サーバの方はそのままJavaか、Goへの移行か
2020/01/03(金) 22:47:32.05ID:2usG3fmF
C#さんのことも思い出して
2020/01/03(金) 22:48:16.52ID:Hb+6eNIf
うちはJavaからC#だな
2020/01/03(金) 23:13:55.92ID:f2V4CbYL
ウインドズサーバで動かすのか?
頭おかしなるで
2020/01/03(金) 23:16:24.61ID:Hb+6eNIf
>>75
なぜ?
2020/01/03(金) 23:20:49.32ID:f2V4CbYL
>>76
「なぜ?」などというレスをしてしまう時点で、貴殿の頭はおかしなっとる証拠だ
2020/01/04(土) 00:00:22.05ID:amyE7Ff1
なぜ?
2020/01/04(土) 00:05:35.55ID:nEdNy4Lm
もうC#はWindowsって時代はとっくに終わってるのに・・・
2020/01/04(土) 03:49:46.94ID:Z0ApmQEX
>>77
なぜ?
2020/01/04(土) 05:08:03.10ID:bkDktfPN
現役言語を知らないで次世代言語を語るクソスレはここですか?
82デフォルトの名無しさん
垢版 |
2020/01/04(土) 12:24:01.91ID:trUJS7QS
>>70
Python -> nim
83デフォルトの名無しさん
垢版 |
2020/01/04(土) 12:26:03.62ID:xFWRGYjR
>>70
Ruby → Blawn
2020/01/04(土) 12:59:45.53ID:Gwa4LI2s
>>82
ガイジ

>>83
ガイジ
2020/01/04(土) 13:41:32.77ID:HpdirvDU
General ...... C -> Go
System ...... C++ -> Rust
Application (Android) ...... Java -> Kotlin
Application (iOS/macOS) ...... Objective-C -> Swift
Application (Windows) ...... C# -> Dart
Web (Client-side) ...... JavaScript -> TypeScript
Web (Server-side) ...... PHP -> Hack
Science ...... Python -> Julia

大雑把な理解としてはこれでいいだろ
現世代の八大言語と次世代の八大言語と言ってもいい選出だと思う
Dartの立ち位置は本来はJavaScript枠だがTypeScriptに敗北してからはAndroid、iOS、macOS、Windows、Webのクロスプラットフォームアプリ開発に活路を見出しているので空席になっているC#枠に便宜上置いた
2020/01/04(土) 15:21:38.35ID:wQXQd9yF
一貫性なさすぎやろ。Application (Win)は、flutter要はdartを予想しながら、application(android)の方はdartじゃなくkotlinなのかよ。
2020/01/04(土) 15:23:50.49ID:wQXQd9yF
すまん、C#枠に便宜上置いたという最後の一文を読んでなかった
2020/01/04(土) 15:32:50.74ID:ZtmGuAO0
>>85
細かい点では不満もあるが一枠に付き一言語という制限を付けて選ぶとこんなもんかなという納得感はある
DartはC#枠ではないと思うがJavaScript枠やJava枠はすでに埋まってる上に他にC#枠に来そうな言語もないので仕方ないか
2020/01/04(土) 15:36:51.99ID:l3KYLm/H
C#は旧世代と言うほど古くないからまだネクストC#を目指す言語が登場するには早いってことだろ
50年後の視点から見ればC#はGoやらRustやらと同世代として扱われてるんじゃねーの?
2020/01/04(土) 15:37:54.73ID:hpecUN4N
Julaiもないな。
2020/01/04(土) 15:40:11.03ID:bZUIqwFi
Dartはマジでどこを目指してるの?
TypeScriptに白旗上げてスマホアプリに移行したって認識なんだがKotlinと戦うわけじゃないよね?
2020/01/04(土) 15:51:24.33ID:zd98VfCC
>>85
GAFAM全社…C、C++、Java、JavaScript、Python
Google…Go、Kotlin、Dart
Amazon…Rust
Facebook…PHP、Hack
Apple…Objective-C
Microsoft…C#、TypeScript
なし…Julia

五大IT企業から一切公認を貰ってないマイナー言語が一つだけ混ざってるわけだが
2020/01/04(土) 15:53:42.98ID:zd98VfCC
>>91
最強のマルチプラットフォームだろ
2020/01/04(土) 15:54:28.16ID:zd98VfCC
>>92
Apple公認のSwiftが抜けてた
2020/01/04(土) 15:58:39.36ID:0rq4/Cwl
>>92
そういう意味では
AmazonとMicrosoftから公認されたRust
MicrosoftとGoogleから公認されたTypeScript
の2つは生き残るのが確定してるから安泰だな
2020/01/04(土) 18:05:38.53ID:Gwa4LI2s
Dartとかいう劣化Javaのゴミがなんだって?
2020/01/04(土) 18:16:07.99ID:nYJWMiyq
>>92
Juliaはまだ正式版がリリースされて一年なんだから仕方ないだろ
そもそもPythonにしても当初は同世代のJavaやJavaScriptやらと比べて影が薄い存在だけどアカデミアで支持されたことで生き残って後からブレイクしたわけでポストPythonとしてJuliaが同じ道を辿るかもしれん
実際に新規AI開発ならPythonかGoかJuliaかの三択になってるし
2020/01/04(土) 18:20:51.03ID:nYJWMiyq
>>96
俺もDartは10年後には消えると思うわ
そもそもTypeScriptに負けて一度死んだ言語だしflutterで一過性のブーム起こしてもモバイル開発にはKotlinとSwiftがすでにあるから需要ない
誰が支持してるのか一番分からない言語
2020/01/04(土) 18:27:05.12ID:Gwa4LI2s
マテリアルユー愛とかいう一過性のデザインにロックインしたFlatterに、劣化JavaのDart

ガチのゴミオブゴミ、ミラクルマッドマックスゴミ・EX
2020/01/04(土) 19:16:55.02ID:hpecUN4N
>>97
逆に言うとやっと正式版が出たばかりで、まだpythonの後釜といえるような位置にはいないんじゃないかね。
2020/01/04(土) 20:31:51.46ID:Fk64oDOj
>>97
正式版(1.0)がリリースされた年

1978 C
1985 C++
1986 Objective-C
1994 Python
1995 PHP
1996 Java
1996 JavaScript
2002 C#

2012 Go
2013 Dart
2014 Hack
2014 TypeScript
2014 Swift
2015 Rust
2016 Kotlin
2018 Julia

こうして見るとリリースから時間が経っているのに遅れを取っているのはDartとHackか…
2020/01/04(土) 20:33:47.61ID:Fk64oDOj
>>85
C# -> Dart

ここだけモヤモヤするが代替案がないわ
ちょうどここしか残ってない感
2020/01/04(土) 20:44:00.13ID:eFXyJY/2
そこはF#で
2020/01/04(土) 21:56:55.10ID:bYW1iCGz
F#は2005年からあるから次世代言語じゃない
2020/01/04(土) 22:01:10.60ID:bZS+cfSM
>>101
1994から1996は黄金世代だな
2010年代も黄金世代になるのかな?
2020/01/04(土) 22:07:00.98ID:Dw91Ir7+
>>105
RubyもDelphiも1995年だしな
WWWが一般に普及してきたタイミングだから新言語がどんどん定着したんだろう
2010年代はGAFA+Microsoft主導の言語置き換え合戦が成功するかどうかってとこか
2020/01/04(土) 22:18:37.00ID:NL29rqkc
c/c++に取って代わるとか言われた言語がどれだけあったことか。。
2020/01/04(土) 22:48:58.51ID:Z0ApmQEX
>>102
C#でいいやろ
2020/01/05(日) 09:10:16.95ID:h/Fdg6dB
>>101
これ見るとC#は旧世代と次世代の中間世代なのでまだ世代交代する必要がないということだ
C#の代替言語が登場するのは数年後だな
2020/01/05(日) 10:12:13.12ID:unJHxkBD
言語だけ登場されても困るわ。.NETのリッチな標準クラスライブラリみたいのも一緒に登場してくれんと。
2020/01/05(日) 10:25:59.07ID:FBvFWwln
【歴代スレタイ言語】
次世代言語1 Go Rust Haskell Scala Erlang Elixir
次世代言語2 Go Rust Haskell Scala Erlang Elixir
次世代言語3 Go Rust Haskell Scala
次世代言語4 Go Rust Kotlin Scala
次世代言語5 Go Rust Scala Haskell
次世代言語6 Rust Kotlin Haskell
次世代言語7 Go Rust Swift Kotlin TypeScript
次世代言語8 Haskell Rust Kotlin TypeScript
次世代言語9 Haskell Rust Kotlin TypeScript Dart
次世代言語10 Rust Swift TypeScript Dart
次世代言語11 Rust Swift TypeScript Dart
次世代言語12 Go Rust Swift Kotlin TypeScript
次世代言語13 Go Rust Swift Kotlin TypeScript
次世代言語14 Elixir Crystal Julia Rust Swift
次世代言語15 Go Rust Swift Kotlin TypeScript
次世代言語16 Go Rust Bosque Kotlin TypeScript
次世代言語17 Go Rust Kotlin TypeScript Julia
次世代言語18 Go Rust Elixir Kotlin TypeScript

登場回数
18回 Rust
12回 Go
11回 TypeScript Kotlin
7回 Swift Haskell
5回 Scala
4回 Elixir
3回 Dart
2回 Julia Erlang
1回 Bosque Crystal
2020/01/05(日) 10:29:51.89ID:PSsOx+9B
>>111
Scalaはギリギリ許されるとしてもJavaよりも歴史が古いHaskellとErlangが新世代言語はさすがに無理あるだろ……
2020/01/05(日) 10:48:31.28ID:udhU3R9n
>>111
ルーストの期待高杉ィ!
2020/01/05(日) 12:04:32.08ID:CCp/9MIZ
>>111
旧世代言語のHaskellがなんで入ってるのか全く分からない
2020/01/05(日) 12:07:27.33ID:CCp/9MIZ
>>101
DartとHackはもう退場でいいよ
Google社とFacebook社が作った言語だからって理由以外に存在意義がない
DartはTypeScriptに負けた言語
HackはPHP7に美味しいところだけ取り込まれて役目を終えた言語
2020/01/05(日) 12:17:27.66ID:CCp/9MIZ
>>85
General ...... C -> Go
System ...... C++ -> Rust
Application (Windows) ...... C# -> Bosque
Application (macOS/iOS) ...... Objective-C -> Swift
Application (Android) ...... Java -> Kotlin
Web (Client-side) ...... JavaScript -> TypeScript
Web (Server-side) ...... PHP -> Elixir
Science ...... Python -> Julia

これでどうだ
2020/01/05(日) 12:31:03.15ID:H15DrU/v
>>116
Bosqueはないわwww
2020/01/05(日) 14:41:58.81ID:O1c9EgK/
JuliaとElixirもまだ地歩を固められるかどうかさえ怪しいところだろう。
サーバーサイドなんてElixirよりGo/Rust/TypeScriptの方が獲りそうにも思うが。
2020/01/05(日) 14:52:54.89ID:+Zo8pyHn
フロントもバックも、全部TypeScriptでいいよ
2020/01/05(日) 15:03:30.51ID:8XxuYVE6
Elixirを持ち上げてるのは元Ruby信者が多い
2020/01/05(日) 15:18:42.39ID:H6Oq7LCM
RubyはPHPに負けた言語だからな
思い返してみると言語の流行度をランク付けしたらいつも10位前後をフラフラしていただけで一度として覇権を握ったことはない
信者はPHPerが単細胞の無能で他の言語を覚えられないからRubyが主流にならなかっただけだと思ってるみたいだけど
ポストRubyのポジションはElixirだろうがそこまで価値のあるポジションとは思えない
2020/01/05(日) 15:23:27.69ID:+Zo8pyHn
Elixirなんか実務で聞いたことねえわ
PHPはゴミ
2020/01/05(日) 16:58:36.15ID:cUAn3/gX
次世代で差し当たって生き残るのが決まってるのはGo、Rust、Swift、Kotlin、TypeScriptの五大言語だけでしょ
この5つは大企業がバックについてて一定の信者コミュニティが形成されてるからもう揺るがない
ほかの言語はこれから競争
Pythonの遅さに対するヘイトでPythonブームがしぼむタイミングでどの言語がポストPythonに収まるかって戦いが注目だ
Rubyのまつもとゆきひろが言ってたけど結局言語自体の良し悪しだけじゃなくて有能なコミュニティが形成されるかどうかという要素が重要だからな
TensorFlowがGoに対応してる関係でAI界隈だとPythonからGoへの移行が多いけどJuliaやCrystalのラッパー作ってる人もいるからまだ他の言語にもチャンスある
ちなみにうちはすでにGo
2020/01/05(日) 17:01:50.31ID:cUAn3/gX
>>121
RubyはPythonの地位にあってもおかしくなかった
アカデミックな世界の人たちがPythonに流れたのが大きかった
2020/01/05(日) 17:41:07.92ID:O1c9EgK/
rubyが出た頃には既にpythonは十分人気があったわけで、流れたというより
pythonのシェアを奪えないまま自滅したという方が合ってる気がする。
2020/01/05(日) 18:38:52.97ID:wCDbKTu8
>>123
研究者が使うフレームワークが殆どpytorch一色になったので、
tensorflowもどこまで安泰か分からん
2020/01/05(日) 18:48:23.54ID:cUAn3/gX
>>125
いや、一時期は間違いなくRubyはPythonよりも人気があったよ
日本に限らず世界でね
2000年代に入ってからSciPyとNumPyという科学計算ライブラリの決定版が出たことで一気にPythonの地位が上がった
それまでR言語とかに注目してた層が根こそぎPythonに飛びついて大逆転した
もしSciRubyやNumRubyだったらRubyが天下を取っていたはず
2020/01/05(日) 18:56:14.34ID:nCpGvxq/
PyTorchやTensorFlowがどうしてPythonなのかが全く分からん
あんな遅い言語で機械学習をやるメリットは何なの?
ディープラーニングは複雑な計算が必要だからこそ高速な言語でやらないとって思ってしまうのは俺がド素人だから?
2020/01/05(日) 19:08:07.33ID:0cNR2y9K
単にAPIとして優秀だからだよ
それだけ
2020/01/05(日) 19:12:24.89ID:YF3dXBXH
PythonではC等で書かれたライブラリを呼ぶだけで計算はしないから、遅くても問題ない
2020/01/05(日) 19:15:19.30ID:wCDbKTu8
どんな言語で書いてもCUDA等を呼び出すだけだから
2020/01/05(日) 19:19:55.04ID:zZ0UxrzA
>>128
この分野ではライブラリ叩くのだけが役目で速さがいらないからこそPythonが生き残ったんだよ
2020/01/05(日) 19:44:46.12ID:6gmeklwC
ruby好きの奴らなんてmatzも含めて絶対数値計算なんかやらんかっただろう。
そういうとこだよ。
2020/01/05(日) 20:12:28.37ID:O1c9EgK/
客観的な数字がない以上どっちが人気があったかというのは水掛け論でしかないけど、
rubyが世界的に人気が出たと言えるのはRoR以降で、登場時期はNumpyとほぼ同じなんだよな。
仮にrubyの人気がpythonを上回ったことがあったとしても非常に短い期間に限られたと思われ。
2020/01/05(日) 20:53:54.52ID:6gmeklwC
>>128
pythonが実行速度が必要なところはcで書けばいいと割り切ってる中で
rubyは言語自体の速さをあげることに時間かけてた。
そういう見識のなさがrubyなんだよ。
2020/01/05(日) 21:17:35.10ID:+Zo8pyHn
68 名前:デフォルトの名無しさん[sage] 投稿日:2019/11/11(月) 08:41:18.73 ID:ugn4nfqU
炎上PJに巻き込まれて帰ってこれなくなってしまったのだろう

69 名前:デフォルトの名無しさん[sage] 投稿日:2020/01/03(金) 12:58:50.03 ID:f2V4CbYL
あけ おめこ とよろ


おまえら、この空白の2ヶ月間、何してたんだ?
2020/01/05(日) 21:54:16.01ID:NzdiaSgk
>>135
さすがに無知すぎるだろ
PythonもRubyも知らないなら無理すんなw
2020/01/05(日) 22:23:58.34ID:wCDbKTu8
>>137
Ruby信者イライラでウケるw
2020/01/05(日) 23:09:54.68ID:6gmeklwC
>>137
やっぱrubyやってる輩って低レイヤーのことをまるでわかってないのな。
馬鹿丸出し。
2020/01/05(日) 23:34:13.56ID:2r2GEHCR
pythonもpython自体の高速化はやってきてるでしょ
pypyみたいな変態的なものもあるし
むしろrubyの方が言語仕様的に高速化できる余地が少なくて停滞してた印象
yarvも遅れてやってきた感しかない

まぁ身もふたもないけど、つたない英語で日本人がリードするプロジェクトに
外人はあんまり寄り付いてこないのがrubyがいまいち盛り上がらなかった原因だと思うよ
RoRの波の時にいろいろ仕掛けておけば違った気がするんだけど
2020/01/06(月) 11:00:46.22ID:AUHKm4tz
>>140
日本でRubyが人気あるのは日本で誕生した言語(→日本語のドキュメントやコミュニティが充実)だからってのは確実にあるだろうし逆に考えたらアメリカ人は英語圏で誕生した言語を使うわな
Python開発者はオランダ人だけどアメリカで働いていた人だし
2020/01/06(月) 22:45:21.22ID:sgp8c2gs
>>140
結局遅くてもデフォルトのcpythonを使うわけだよ。
そこまでcpuバウンドなプログラムなんて早々ないし、あったらcで実装したライブラリを使う。
なんでも同じ言語だけで無理やり何とかしようってのはバカの発想だわ。
cをどれだけ呼びやすくするかに労力をかけたpythonにrubyは完全に負けたわけよ。
2020/01/06(月) 22:51:03.06ID:ax8KHfsY
cというか共有ライブラリの呼び出しでそんな大きな違いあったっけ?
似たようなもんだったと思うけどな
2020/01/06(月) 23:48:50.87ID:OPIqNi1w
cで実装って言っても、cythonなら殆どpythonのように書けるわけで
2020/01/07(火) 08:51:26.11ID:ofmsTTYR
旧世代言語で言えばC++、Java、Python、JavaScriptの4つが書ければ組み込みからウェブまで基本的に何でもできた
1つの言語で何とかしようとすれば何とかなるかもしれないが開発効率を考えると結局この4つくらいの言語が必要
速さのC++、汎用性のJava、書きやすさのPython、ウェブのJavaScript
最強の言語に統一しようとする試みは全部失敗に終わって適材適所で使い分けるのが結局最適解だったわけだ
次世代言語では汎用性と書きやすさを兼ね備えたGoがあるのでRust、Go、TypeScriptが必須三大言語になる
146デフォルトの名無しさん
垢版 |
2020/01/07(火) 11:10:34.52ID:4XCSnFAB
wasmの展開次第ではまた統一の流れになるかもよ
今のところRustかGoかかな
147デフォルトの名無しさん
垢版 |
2020/01/07(火) 15:35:35.01ID:2Dq0zKSW
cythonよりもpybind
2020/01/07(火) 21:50:43.14ID:ueOqy5pf
Ruby の主な設計思想は、C の拡張ライブラリを作りやすくする事!
今は、FFI

言語が流行るかどうかは、便利な拡張ライブラリの作りやすさで決まる。
VSCode がそう。
皆が作る、多くの拡張機能が大人気

R, matlab → Python → Julia
Ruby → Elixir

数十万もする、matlab を誰も使いたくない!
これが無料で使える、Pythonがコスト的に優秀だった!

ただ、文法が辛いから、Ruby風のdo 〜 end を採用した、Juliaへ流れたw
2020/01/07(火) 22:09:56.51ID:yh5VVA2x
的外れのことをよく長々と書くもんだな
2020/01/07(火) 22:35:33.23ID:+L6qE003
juliaなんてインデックスが1はじまりな時点で終わってんだよ。
2020/01/07(火) 22:54:19.05ID:SnOVFU52
ruby信者はrubyの文法が好きみたいだけど
rustは文法もゴミだからね?
2020/01/07(火) 22:55:15.32ID:SnOVFU52
あ、rubyをrustに間違えた。rustすまん…
2020/01/07(火) 22:58:02.03ID:nsSNgmh4
>>152
許さん
2020/01/07(火) 23:27:16.65ID:VzO2pILM
まぁほら、値を返す場合はセミコロンを付けちゃいかんとか、あの辺は真にゴミだ。
2020/01/08(水) 11:36:37.71ID:sRhV0lFo
どうしたらよかった?
2020/01/08(水) 14:43:49.47ID:e6ROAylT
>>115
Dartは今一番来てる言語だろ
ちょうどFlutterのスター数がReact Nativeを超えたところだぞ
これで名実ともにクロスプラットフォーム開発のスタンダードがDartになった
2020/01/08(水) 15:05:07.83ID:GLREUp4M
Rustのセミコロンは文の終端じゃなくて、「左オペランドを評価してその値を破棄し、右オペランドを評価してその値を返す演算子」だと理解すればスッキリする
2020/01/08(水) 19:33:38.16ID:btz4wclA
そんな独自ルール押し付けられても普通はくそだとしか思わんよ。
2020/01/08(水) 20:28:36.87ID:5tRz+DPE
>>155
「式にセミコロンを付けたら文になる」
「文の評価値はunit」
「ブロックの値は含まれる最後の式(文)の値」

それぞれは筋が通ってなくもないけど、2番目のは

「文の値は含まれる最後の式の値」

にしても問題なかったんじゃないのかな。
2020/01/08(水) 20:40:04.73ID:MaFwnBiO
結局Rustは死産だった
2020/01/08(水) 20:46:34.81ID:tjOftEX2
>>159
問題あるからそうなってるんだよ
2020/01/08(水) 21:11:26.71ID:5tRz+DPE
>>161
具体例plz
2020/01/08(水) 21:25:54.87ID:AbnA2tlH
なぜ
Go
Rust
TypeScriptが
旧世代5大言語を超越するのでしょうか?
2020/01/08(水) 21:50:40.19ID:m4KDxoTK
>>163
Go→めっちゃ書きやすい。少ない行数で何でも書けるので生産性爆上げ。実効速度はC/C++よりは遅いがJavaやPythonよりもずっと速いので何にでも使いやすい。文法が分かりやすいので入門用言語にも適している。オールマイティな次世代エース的存在で欠点がほぼない

Rust→C++と同レベルに速い唯一の言語。なおかつC++よりも文法が整理されている。C++と違ってメモリ安全性が確保されている。Goほどの書きやすさ・利便性はないがC++の後継としてシステムプログラミングに使えると考えられている

TypeScript→JavaScriptを大規模開発にも使えるように整備した言語。JSがウェブだけでなくアプリ開発にも使われるようになったという背景にマッチ。既存のJSコードという遺産をそのまま使えるのでデメリットなし

3言語ともにGoogleやMicrosoftが推しているので他企業も追随して移行している
165デフォルトの名無しさん
垢版 |
2020/01/08(水) 21:58:55.88ID:5fiN5kGt
Goの行数が短いとは
2020/01/08(水) 22:05:03.81ID:VsmkZjsO
GoはAI関連のPythonからの移行組、組み込み系のCからの移行組、アプリ開発のJavaからの以降組と色々なところから支持されてるよな
2020/01/08(水) 22:19:11.42ID:btz4wclA
goはガベコレ付きのcってくらいだろ。それくらい機能が少ないから良い。
168デフォルトの名無しさん
垢版 |
2020/01/08(水) 22:59:45.27ID:oFdEo24g
Goは機能が少ないから行数は長くなるな
ジェネリクスがまだなくて冗長になりやすい
良くも悪くも割り切ってる
2020/01/08(水) 23:17:23.66ID:fhO5tB7/
PythonやJavaは機能が多過ぎるからGoに移行すると言ってるように見えるが
多過ぎるという証拠がない
2020/01/09(木) 01:00:17.42ID:vhRTlzM5
GoがJavaよりずっと速いってことはない
ほぼ同程度
2020/01/09(木) 01:23:41.01ID:AUFIvY9B
かなり速いよ
起動が
2020/01/09(木) 02:53:10.48ID:Ur3XGElN
>>159
今日まで1200円(93%OFF)で買えるよ

現役シリコンバレーエンジニアが教える
Goで始めるスクラッチからのブロックチェーン開発入門
45レクチャー(5時間33分)
https://www.udemy.com/course/go-blockchain/
2020/01/09(木) 06:44:29.90ID:Ur3XGElN
Rust in Blockchain
Bringing engineering insight and experience to blockchain technology.
https://rustinblockchain.org/
174デフォルトの名無しさん
垢版 |
2020/01/09(木) 07:42:30.82ID:QBVFRtP7
>>159
returnを省略できるから値を必ず返してしまう
2020/01/09(木) 09:24:02.44ID:xKZrNt+9
Goはそこそこ速くて文法もすっきりしてるから汎用性高い
2020/01/09(木) 11:06:37.80ID:vRVrXWOG
Goは機能も絞ってあるし文法も簡単だから初心者の入門用に最適だと思う
しかも当然Pythonより速いので実用性も高い
次世代では学校でGoを習ってプログラミングを始めて実務でもGoで書ける部分はそのままGoとなりそう
2020/01/09(木) 11:22:30.94ID:vRVrXWOG
旧世代五大言語…C、C++、Java、Python、JavaScript
新世代五大言語…Go、Rust、Kotlin、Swift、TypeScript

今のところこんな感じだけどDartやJuliaは五大に入ってきてもおかしくないと思ってる
クロスプラットフォームアプリ開発でDart(Flutter)がReactNativeに勝利しそうな勢いで注目してる
多分DartはJavaライクな文法がJavaScript嫌いなアプリ開発者たちから受けてるんだろう
AndoroidはKotlin、iOSはSwiftという棲み分け自体が不効率の極みなのでDartがもう少し使えるものになればクロスプラットフォーム開発に雪崩を打って移行していくと思う
JuliaはJuliaですでにAI関連で信者層が形成されているしPythonでできることはJuliaでもできる状態になってるからじわじわシェア奪っていけると思う
TensorFlow次第という側面もあるが
2020/01/09(木) 12:07:25.94ID:kiVtjsUg
dart2nativeのよってFlutter以外にもDartの使い道が
2020/01/09(木) 12:45:50.31ID:LsvkYb1v
GoはそもそものGoogle自身がほとんど使ってない
2020/01/09(木) 13:01:10.01ID:9BpGshJT
AndroidはJavaScript、iOSもJavaScript
一方、サーバーは非効率の極み
2020/01/09(木) 14:16:30.17ID:LsvkYb1v
C#はMSの推奨言語である限り何が出てこようとVC++とともにMS環境下での第一選択肢であることは揺るがない
基本的にOSやハードウェアのベンダーが使えと言っているものと使うのが正しい
2020/01/09(木) 21:24:14.26ID:SzStz3wn
関数型言語の特性を少しずつ取り入れる動きがあるのは(それが良いかどうか別にして)ある程度共通の認識として持たれていて
その中でも型システムに関してRustはライフタイム管理と参照の可変性制約に議論の余地があるとはいえそれ以外は程々な落としどころになってると思うんだけどどうよ
つまりはtraitとかenumとかgenericsとかについてなんだけど
2020/01/09(木) 21:39:52.57ID:/duGWeb2
てかemunの網羅性チェックとか普通に考えたら欲しくなると思うんだが
なぜC/C++/Java等の手続き型/オブジェクト指向言語では今まで取り入れられてなかったのかが謎
2020/01/09(木) 21:52:21.07ID:YgTrDd8p
>>174
関数戻り値の型推論はされないんだから、関数の型がunitのときは型の不整合とみなさないとか
できると思うがなぁ。
その場合のデメリットって「特別扱いは一貫性に欠ける」というくらいしか思いつかない。
2020/01/10(金) 01:35:53.38ID:0q4Qxo1U
ジェネリクスの起源はC言語の配列型やポインタ型のような気がする
ポインタ型を取り入れるどころか逆に排斥するのが常識だった
たまたま常識を疑うことができたのがC++と関数型言語だっただけ
2020/01/10(金) 02:36:02.44ID:kSkZ4oHO
次世代とか関係なく趣味でやるのにオススメの言語ある?
https://rosettacode.org/wiki/Category:Programming_Languages

https://duckduckgo.com/bang_lite.html
!rosettacode Generics
2020/01/10(金) 10:47:12.28ID:OzcTj1e5
次世代とか関係ないならスレチ
188デフォルトの名無しさん
垢版 |
2020/01/10(金) 15:44:58.26ID:puBSVXWR
>>186
https://mevius.5ch.net/test/read.cgi/tech/1571717826/
2020/01/10(金) 20:05:28.59ID:gdjTauNe
>>182
逆だろ。
rustのやろうとしてることを考えればライフタイム管理と参照の可変性制約に議論の余地はない。
他のどうでもいいところに力を入れてることの方が問題。
2020/01/10(金) 21:31:36.42ID:0q4Qxo1U
力を入れるより力を抜く方が難しい戦闘民族もいるんだろう
2020/01/11(土) 11:07:27.64ID:Mi8oZktw
>>185
多分趣旨は同一だと思いますが、私はC++ template がジェネリクスの起源だと
2020/01/11(土) 12:52:41.76ID:C5APeypm
お前初めてか次世代言語は、力抜けよ
193デフォルトの名無しさん
垢版 |
2020/01/11(土) 13:04:07.27ID:l/QLWHKH
Genericsの起源 → template
Genericsの起源 → enum
Genericsの起源 → マクロ
Genericsの起源 → キャスト
Genericsの起源 → struct
Genericsの起源 → union
Genericsの起源 → ポインタ
Genericsの起源 → レジスタ
2020/01/11(土) 13:42:11.23ID:C5APeypm
全ての始祖にして始まりの言語 ダークネスオブライト 神光雪花繚乱 ーCー

おまえはまだ、本当のCを



2020/01/11(土) 17:39:11.16ID:jnWa1Bc7
>>189
ごめんこれは私の書き方が悪かった
Rustのやろうとしてることからすれば議論の余地が無いのは間違いない

ただRustのやろうとしてること(つまりそれらを型システムに落とし込んで管理しようとすること)そのものには反対意見も見られるのでそのように書いた
(私はRustの方針で良いとは思っている)

それなりに一般人類が扱える程々な型システムの機能は言語の目的に依存しない範囲でどの程度かなって話をしたかった
型システムの程々が言語の目的に依存するのは分かった上でなので、それ無しに語る事なんてできないと言われたらはいとしか返せない

あと例にgenericsを書いたのは最近の言語でGoが少なくとも今は取り入れてないからだったんだけど、冒頭に関数型〜と書いてしまったがために >>185 みたいに起源の議論になってしまって申し訳ない

あとgenericsの起源の話をするならAdaちゃんのことも思い出してあげて下さい(小声)
196デフォルトの名無しさん
垢版 |
2020/01/12(日) 02:59:36.74ID:eMSUjpmi
言っとくけどMITのJulia凄いんだから!バカにしたら許さないから!
2020/01/12(日) 10:32:30.51ID:kMp+U+wu
バーカ
おまえのかーちゃんAV女優
2020/01/12(日) 11:36:08.74ID:gA+rg5vj
juliaはクソだわ。推してるやつも数値計算まともに理解してないろ。
2020/01/12(日) 15:31:32.23ID:txAfGBZe
実数クラスは複素数クラスを継承していない
数値計算の闇は深い
2020/01/12(日) 15:35:53.73ID:kMp+U+wu
おまえらクラスにはセックスメソッドすら実装されてないよね
2020/01/12(日) 18:19:08.33ID:Age3j7t+
じゃあ実装するから
LGBTをふまえたモデル化やってみて
2020/01/12(日) 20:19:36.78ID:kMp+U+wu
は?キモ
2020/01/13(月) 21:57:09.26ID:mYAmbNyn
Go, Rust, Swift, Kotlin, Typescript
基本的にこれだけやっとけばいいわけか
2020/01/14(火) 12:59:45.06ID:uZ65hl6g
>>203
分野次第だろ
例えばiPhoneアプリ作らないならSwiftいらないし
2020/01/14(火) 13:30:37.65ID:AAWN8rY8
〇〇だけやればいい
これを満たせるのはC++とJavascriptだけ
2020/01/14(火) 13:56:29.79ID:06NyUtxI
旧世代「綿密な準備、計画、理解、Go、Rust、Swift、Kotlin、Typescript」
ニュータイプ「あっ(察し)」
2020/01/14(火) 18:52:16.13ID:xEAW1qCD
本屋に行くとswiftやkotlinの本がたくさん陳列してあって流行ってるのを感じる
2020/01/14(火) 20:52:15.46ID:NIc2ogis
まだ発展途上とはいえ、RustってC, C++の上位互換っていう認識でいたんだけどどうなの

ライブラリの充実度とかはまだまだだろうけど
2020/01/14(火) 21:23:10.59ID:JlIaLGxV
>>208
上位互換を目指してるというのは正しいけどまだ上位互換とは言えない
C/C++のほうがまだ多少は実効速度が上みたい
体感できるほどの差はもちろんないけど
2020/01/14(火) 21:37:06.70ID:1v7jQTZs
Rustのほうが未来永劫遅いだろ
速くなる要素あるのか?
2020/01/14(火) 21:53:54.59ID:CySpaDcH
言語の処理速度は      C > C++ > Rust
プロダクトの性能の傾向は Rust > C++ > C

理由は、コンパイラ時のチェック系の支援が大きいほど
プログラマが気を使う量が減って高度な高速化実装がしやすくなるため
実例はServo

一方Cで限界までチューニングすれば他は追いつけない
メンテ難易度は上がるがそれを扱えるメンバーと運用があれば問題無い
実例はLinuxカーネル
2020/01/14(火) 22:06:05.36ID:Y6z2uzMK
色々な言語が登場しても未だにCが生き残ってるのはとにかく速さだからね
Cを置き換えようとする次世代言語は速さでCに負けてたら結局置き換えられないよ
2020/01/14(火) 22:09:27.27ID:AAWN8rY8
Cが使われる理由は速さではなく自由度
書いたとおりに動くという当たり前のことができる言語は、特に新しい言語においてはほとんどない
2020/01/14(火) 22:16:53.48ID:3eaorBLU
>>211
と思うじゃん?
実際はコンパイル時間が鬱陶しすぎてクソな通し方するようになる。
2020/01/14(火) 22:43:28.59ID:ETa8CiFD
Rustは、Cには負けるけどC++には速度で勝った、みたいな記事を最近見たんだが
2020/01/14(火) 23:02:29.05ID:AAWN8rY8
しょーもないブログ記事なんか真に受けんな
2020/01/15(水) 00:35:12.86ID:l5yk4jFW
C++のコンパイル時計算のあれこれを見ていると証明が必須じゃないCoqかよみたいな気持ちになるし人類にとってはできることが多すぎる
コンパイル時間のあれこれを言うならC++こそ人の事言えねぇよ
2020/01/15(水) 03:36:18.54ID:JGL8Rg1T
まあそうなんだがc++を置き換えると言いつつ
c++の問題を後追いしてるところはアホとしか言いようないなと思ってるってことだわ。
2020/01/15(水) 04:14:23.70ID:gFOlYGPu
C++を越えようとすればするほどC++に近づき、最終的にC++そのものになっていく
2020/01/15(水) 09:36:21.05ID:CBF4WmsT
最近はセキュリティ要件厳しいから
静的解析パスしないとリリースできなかったりするんだけど
とりあえず静的解析を黙らせるために過剰にvalidity checkが入れられてると思う
そういう無駄をきれいに省けたらc、c++を上回る可能性はあるかもしれない
2020/01/15(水) 11:05:13.31ID:l5yk4jFW
でもボクシングとかで実行時に負担掛ける動的多相を導入しない限りコンパイル時間は大きくは変化しないでしょという気持ち(型渡しと型消去)
別にRustだって依存型(定理証明系)とか高階多相(Scalaとか)でコンパイル時間増えてるわけじゃないんだし
2020/01/15(水) 13:04:38.24ID:DG9IEwRP
高尚な低速言語供が売りとしてる機能を組上げる部品をゲロベチョっとコーダー側へぶちまけ
オマエ自身が工夫してどうにかしろな仕組みを提供してんのがrustだからのう
関数型へ傾いてるとはいえコンパイル時間がどうこう言うのにrustの例は不適切かな
2020/01/15(水) 19:26:50.92ID:JGL8Rg1T
いや実際cの5〜10倍ビルド時間かかるだろ。
224デフォルトの名無しさん
垢版 |
2020/01/15(水) 19:42:04.64ID:vosN76E7
ダンリンポインタ探しに1000倍かかるよりいいわ
2020/01/16(木) 06:11:49.71ID:iXD/XJ1o
まともにやってりゃそんなクソコードにならんわ。
どんなコードだよそれ。
2020/01/18(土) 08:53:48.14ID:+M4Y4zKh
新言語登場

Project Verona
https://github.com/microsoft/verona

> Research programming language for concurrent ownership
2020/01/18(土) 08:59:16.18ID:8D4uGXih
もう新言語に期待するしかないかもな
2020/01/18(土) 11:08:15.00ID:bckYulo4
C++20に期待しろ
2020/01/18(土) 11:17:50.30ID:Iw/95SDF
どんな言語がでても馬鹿がいじれば糞化するという現実を受け入れさせるフレームワークが必要。
2020/01/18(土) 13:40:35.18ID:sqF6puYJ
劣化前のソースコードと文書は残っている
ただし過去に戻ったら他の人間とは仲良くできない
その代わりソースコード自体がAIみたいなもの

人間をクビにしてAIを使うとはそういうことよ
人間がいじればAIではなくなる
2020/01/18(土) 14:17:34.01ID:7/uZ9u1x
>>226
Rustっぽい言語なのか
2020/01/18(土) 14:23:41.36ID:10mPsw6w
それRutstでよくねえ?
2020/01/18(土) 14:34:40.59ID:10mPsw6w
               , -――- 、
              /       ヽ
              | ノ  ー    |   それRutstでよくねえ?
              |(・) (・)   |   だって、それRutstでよくねえ?
              |  (      |
              ヽ O    人
               >ー-― ´   ̄ ̄\
  ⊂ニニ ̄ ̄ ̄ヽ  /              |
     くメ) _ノ  |  |  |        |   |
       (/  |  | /  |        |   |
          |  |/  /|        |   |
          |  ト  / |        |   |
          ヽ__/ |        |   |
2020/01/18(土) 14:49:52.92ID:PrMkgj9t
「Rust言語」をWindowsプロジェクトに適用してみた、Microsoftの事例
https://www.atmarkit.co.jp/ait/articles/1911/12/news050.html

欲しい機能がまだまだある

Rustは比較的歴史が浅いため、Microsoft社内の開発に使うことを考えると、よく使う言語機能であっても欠けているものがあるという。
その最たるものは、安全な変換(“プレーンな古いデータ”型をrawバイトと間で相互に安全にキャストする)やCスタイルの共用体の安全なサポート、誤りを許容する割り当て(割り当ての失敗でパニックに陥らず、所定の手順で停止する)だ。

Cargoには優れた単体テスト機能が組み込まれているため、開発者が本番コードと同じファイルにユニットテストを記述して、開発中に簡単に実行することができる。だが、Microsoft社内の大規模で複雑なビルドシステムでは、Cargoをビルドツールとして利用できない。
2020/01/18(土) 15:30:43.11ID:lNH5KTZ4
>>226
Microsoftとしては未だにRustが本命ではあるが自前でもっといいのが作れないか研究してみるって趣旨みたいだな


Q.
Does Project Verona mean Microsoft is no longer using C++/C#/Rust/...?

A.
Project Verona is a research project that is not affecting engineering choices in the company.
The Project Verona team is connected to the people using all the major languages at the company, and want to learn from their experience, so we can research the problems that matter.

https://github.com/microsoft/verona/blob/master/docs/faq.md
2020/01/18(土) 15:43:46.52ID:10mPsw6w
               , -――- 、
              /       ヽ
              | ノ  ー    |   それRutstにコントリビューチでよくねえ?
              |(・) (・)   |  
              |  (      |
              ヽ O    人
               >ー-― ´   ̄ ̄\
  ⊂ニニ ̄ ̄ ̄ヽ  /              |
     くメ) _ノ  |  |  |        |   |
       (/  |  | /  |        |   |
          |  |/  /|        |   |
          |  ト  / |        |   |
          ヽ__/ |        |   |
2020/01/18(土) 15:58:02.34ID:OxDzBJO3
Microsoftっていっつも新しい言語生み出してんな
ちょっと前に発表してたBosqueとかどうなったのか続報全然ないけどもう諦めたのか?
遡ればF#とかも期待したほど流行らなかったしもっと遡ればVisual Basicとか散々ゴリ押ししたけど粗大ゴミになってる
Windowsというプラットフォームにあぐらをかいてるわけじゃないだろうがまともに使えるものを生み出す能力あるのか?
2020/01/18(土) 16:03:09.21ID:10mPsw6w
はいTypeScript
2020/01/18(土) 16:06:57.01ID:uzGc4BxW
>>237
C#「……」
TypeScript「……」
2020/01/18(土) 16:07:46.78ID:7/uZ9u1x
javascriptを静的型付けで縛るなんて俺の方が先に考えてたから
2020/01/18(土) 16:10:54.13ID:CgNop+pB
C#はC++を拡張してJavaにしただけ
TypeScriptはJavaScriptを拡張して静的型付けにしただけ
Microsoftのオリジナルではないからこそまともなものになった
2020/01/18(土) 16:35:15.63ID:4nVoSga0
その基準で行くと世の中でオリジナル言語と言えるのはどれよ
2020/01/18(土) 16:57:08.75ID:gFLtZPix
Speedcoding
2020/01/18(土) 17:10:47.48ID:bckYulo4
C#のモデルはDelphiであってC++でもJavaでもない
2020/01/18(土) 18:27:34.81ID:wjNBEjvE
>>242
今回新しく作ったVeronaはRustを参考にしてるけどかなりオリジナリティ高そうな感じ
2020/01/18(土) 18:32:58.91ID:10mPsw6w
>>245
はいパクリ
2020/01/18(土) 21:01:50.17ID:7F1h9NLC
MicrosoftのRust実装って聞いたぞ
2020/01/18(土) 21:03:10.22ID:7l55S8jf
https://www.zdnet.com/article/microsoft-opens-up-rust-inspired-project-verona-programming-language-on-github/

>Also, Rust isn't the only language that's inspiring Project Verona,
>which also borrows concepts from Cyclone, a "safe dialect of C"
>and Pony, which has key contributors from Microsoft Research.

久しぶりにPonyの話が出てる
Pony大勝利やん
2020/01/18(土) 21:41:35.95ID:uMWc60b6
じゃあ久しぶりにVの話を出してみる
https://github.com/vlang/v/issues?q=label%3A%22Unit%3A+Memory+Management%22
もうRustライクなんて壮言やめて素直にGC入れたら
2020/01/18(土) 21:57:59.56ID:uMWc60b6
>>244
ヘルスバーグさんめっちゃC++の話してるけど
https://www.codebrary.com/2018/03/deep-inside-c-sharp-interview-with.html

> is that we tried to stay much closer to C++ in our design.
> C# borrows most of its operators, keywords, and statements directly from C++.
2020/01/18(土) 22:12:30.57ID:80udMoW2
Vが詐欺って熱弁してたヤツ息してる?w
2020/01/18(土) 22:22:30.56ID:/f5VkUxk
相変わらずvlangのメモリ管理がゴミって話だろ?
何を勘違いしたんだ
253デフォルトの名無しさん
垢版 |
2020/01/19(日) 15:48:50.92ID:ehZNNwbS
Java# も F# も C# も Rust も捨てた結果が Verona ωωω
254デフォルトの名無しさん
垢版 |
2020/01/19(日) 15:55:17.54ID:ehZNNwbS
>>237
MSが出したやつはいつもダサいですね
言語も
製品も
2020/01/19(日) 16:03:51.59ID:0+Xqpf5l
>>252
2020/01/19(日) 16:16:01.02ID:XiThPh0f
オリジナルかっこいい
コピーださい
ふしぎ
2020/01/19(日) 17:08:58.60ID:4SQs66uE
そんなあなたにALGOL
2020/01/19(日) 18:00:55.33ID:L2mlhsAt
いちゃもん付けの馬鹿はほっとけばいいんだよ。
2020/01/20(月) 05:25:15.00ID:lu9djVuk
一周回ってErlangが今最も熱い
2020/01/20(月) 13:00:48.42ID:CkOt9DEa
あー?
2020/01/20(月) 15:27:50.47ID:NaVmECv0
ラン🎵
262デフォルトの名無しさん
垢版 |
2020/01/20(月) 21:36:52.33ID:5waZG120
> Go→めっちゃ書きやすい。少ない行数で何でも書ける
お、おう(笑)
エアプ勢はレガシー言語触ってろ
2020/01/21(火) 20:58:58.76ID:+NXCLtkc
>>248 日本語訳

マイクロソフト、「Rust」に基づくプログラミング言語プロジェクト「Project Verona」がGitHubに
https://japan.zdnet.com/article/35148191/
2020/01/21(火) 21:13:12.81ID:c52Que/u
Veronaが有能だった場合Rustが消える可能性も
2020/01/21(火) 22:11:36.26ID:P5mJ3EUI
さすがマイクロソフト
2020/01/21(火) 23:07:13.74ID:oE0e8bR0
Rustに挑んで心が折れた
Veronaとやら頼むぞ・・・
2020/01/21(火) 23:12:15.69ID:OieZoAm+
rustに全振りした馬鹿が泣き出しそうw
2020/01/21(火) 23:23:01.84ID:jtyzl32v
C++に戻るのが一番賢い
2020/01/21(火) 23:27:23.74ID:pQFmi1qD
どうやら君は正解に到達したようだなw
270デフォルトの名無しさん
垢版 |
2020/01/21(火) 23:28:36.06ID:ugpYi19h
Rustは名前が悪すぎる。車輪のベアリングが錆びついてギシギシで滑らかに回らないイメージ。
2020/01/21(火) 23:37:40.15ID:oeYN0gBf
お前定期的に現れるけど錆に嫌悪感持ちすぎだろ
2020/01/21(火) 23:40:24.38ID:Ogjhh6IZ
イメージで話をする奴の頭の悪さの方がアレだろ
2020/01/22(水) 00:18:11.55ID:xMoPOHAd
rustでYouTube検索したらゲーム動画ばっかやった
274デフォルトの名無しさん
垢版 |
2020/01/23(木) 22:13:59.32ID:gI2c2uQ9
>>271-272
名は体を表すと言う。プログラミングの命名でも、名が体を表すのが良いとされる。
だから、言語名に体を見出そうとするのは自然な感覚。ましてRustのアイコンは
歯車だから、労力が無駄にかかり動作が遅いと思われるのは当然。さらに、Rustは
米国生まれなので、かつては栄えていたが今は没落した北部の重工業地帯を表す
rust beltも連想される。

開発者はこんな変な名前をなぜ選んだのか。真価を分かる人だけが使えば良いという
通好みの言語にしたかったのか。
2020/01/23(木) 22:16:06.13ID:jwguk9mv
中身の話しろよ
2020/01/23(木) 23:38:40.71ID:i4i/dtG5
>>274
作者が生物学好きで
名前の由来は錆菌、つまり化合物自体でなく菌の方だそうだ

曰く
> Five-lifecycle-phase heteroecious parasites.
> I mean, that's just crazy.
> talk about over-engineered for survival.
> fungi are amazingly robust to start,
> they are distributed organisms.
> not single cellular, but also no single point of failure.
2020/01/23(木) 23:57:07.04ID:MG3KKW59
rustはメモリ管理がゴミだからこのスレ的には詐欺なんだろ
2020/01/24(金) 00:00:58.41ID:eYFKJ4zI
Rustは信者が他言語のスレで布教しまくるせいで印象最悪
2020/01/24(金) 00:09:35.69ID:SIX6NI9U
このスレってびっくりするほど技術的な話ないな
2020/01/24(金) 00:16:59.73ID:oUbAtTQV
だいたい変な長文のせい
2020/01/24(金) 00:35:28.28ID:aER0jG3N
真面目な話してもスルーしてすーぐ言語叩き始めるからなぁ…
2020/01/24(金) 00:58:45.26ID:f1L6KzBl
マンセー意見だったらアンチ意見のが参考になるがな。
283デフォルトの名無しさん
垢版 |
2020/01/24(金) 11:49:27.62ID:ytRnz1Ft
RとかGとかで始まる言語は頭悪そうなイメージω
2020/01/24(金) 19:54:19.33ID:NbObue8L
F*ってどうなったの?
2020/01/24(金) 21:12:30.21ID:/GM2AKZG
頭が悪い言語があるんじゃなくて
頭が悪い人がいるだけでは?
2020/01/24(金) 21:18:29.19ID:k3lTIvb/
どうも
2020/01/24(金) 21:52:36.51ID:dQp4YPRV
    (V) (V)
http://strlen.com/lobster/
2020/01/24(金) 23:27:48.03ID:pw14qEqb
なんで言語は引き算ができんの
そんなんだからゴーとかいうGOMIにオカマを掘られる
2020/01/24(金) 23:28:14.47ID:pw14qEqb
>>287
httpの時点でゴミ確
2020/01/24(金) 23:39:30.28ID:e4qsn6ol
>>289
どゆこと?
291デフォルトの名無しさん
垢版 |
2020/01/25(土) 00:49:13.02ID:4UaLWgqo
言語の引き算の最たる言語はHaskell。
遅くても、次世代じゃなくても、あの無駄の無さが好き。
ifもforも飾りです。偉い人はそれが分からんとです。
2020/01/25(土) 00:52:21.75ID:pMmE+Nm7
>>291
なお知名度なし
なおエコシステムはカス
なお速度はウンポコペチプー以下
2020/01/25(土) 01:00:43.81ID:lY+ErK7r
パッケージの依存関係すらまともに解決できん言語のくせに。
2020/01/25(土) 01:37:44.96ID:y3QDj64+
モナドはいい仕組みだよ
動的な部分を個々包み込んで波及を抑えるつーのはプログラミング言語の基本機能に成るべき
例外処理みたいな真逆の言語が大手を振ってるのは異常
2020/01/25(土) 09:43:36.81ID:0701+yxk
モナドは抽象度が高すぎるんだよなぁ
俺みたいな素人にも分かりやすいのが欲しい
2020/01/25(土) 10:30:04.52ID:gDStPvND
モナドは別にいいんだけどHaskellのシンタックスシュガー満載で手続きっぽく見せようとしてるのはすきになれないな
ちょっと複雑なことしようとするとコンパイラエラーに悩まされる
結局トリックをきちんと理解しないと使えない
297287
垢版 |
2020/01/25(土) 10:55:26.17ID:pHbGVo5T
>>290
今どきletsencryptすらしてないってことじゃね
URL貼る前にhttps試したから俺もちょっと思った
2020/01/25(土) 11:01:38.75ID:pHbGVo5T
>>295
モナド自体より解説がマズいんだと思うけどな
「正しい説明」を意識しすぎて、分かってる奴にしか分からない解説が溢れてる
2020/01/25(土) 11:32:14.21ID:wjfpRr1m
最初は型を書かない方が分かりやすい
アセンブラが分かる奴はCのポインタが分かる
ただし言語が二つ必要

Haskellの型を無くしてみろ
それが引き算だろ
2020/01/25(土) 14:09:04.44ID:HoGSN4jt
>>299
unlambdaでもlazy kでもお好きな方をどうぞ
2020/01/25(土) 14:22:16.84ID:Uv9FI2Dd
型無し糞言語至上主義ってマ?!?www
2020/01/25(土) 14:25:55.18ID:HjVTkheD
型なしは型を動的に解析する機能を「足した」ものであって何ら引き算になっていない
2020/01/25(土) 15:36:44.04ID:E5VEPFTe
動的型付けと型無しは別だよ
2020/01/25(土) 15:45:23.82ID:wjfpRr1m
Haskellは
お前らが同じ解説を繰り返す毎に強力な静的型になって行ったんじゃないのか
2020/01/25(土) 15:57:20.44ID:HoGSN4jt
純粋関数型である程度まともなプログラムを作れるようにする為にはHaskellの標準+αくらいの型システムがないと駄目という話ではある
2020/01/25(土) 16:13:04.17ID:lY+ErK7r
全然関係ない。
ランタイム速度が出てないときにどういう手当が可能かという方がよっぽど大事。
2020/01/25(土) 16:26:35.28ID:HoGSN4jt
それは事実かもしれないが大事さという指標はあくまで君の信仰でしかないよね
2020/01/25(土) 16:27:59.44ID:gDStPvND
へたくそな反論止めろや
荒れるだけだ
2020/01/25(土) 19:02:12.15ID:6461T671
Haskellの型システム程度のものを理解できない知能で
プログラミングをしてるのが間違いなんだよ
生得的に向いてないんだから諦めろ
2020/01/25(土) 20:54:07.00ID:Uv9FI2Dd
なお世の中のシステムの95割はPHPでできているという事実
2020/01/25(土) 22:53:21.79ID:sEXLIatZ
95割りって950%か
それは大変だな
2020/01/26(日) 00:26:42.95ID:dKcKmE+f
>>311
くやしいか?
313デフォルトの名無しさん
垢版 |
2020/01/26(日) 11:06:39.43ID:+3DuCtIS
23回を文字通り23回とか誤解されることは多い
文字は文字で難しい
2020/01/26(日) 12:05:43.42ID:CetPJABf
95割はただのネットスラングだけども
315デフォルトの名無しさん
垢版 |
2020/01/26(日) 14:26:44.31ID:k2+mT4PN
Windows 95
316デフォルトの名無しさん
垢版 |
2020/01/26(日) 14:34:20.60ID:Yuet6lAk
いまだに95割とか言ってる奴がいてワロ。
それ昭和の時代だろ。
2020/01/26(日) 14:44:33.72ID:ZSyO84gV
そういえば九分九厘って10%以下なのな。
2020/01/26(日) 15:44:40.17ID:iT5O7oMi
平成ど真ん中くらいだから昭和は言い過ぎ
まぁ世の中には一定の割合で昔の流行語とか昔の駄洒落とか言い続ける層がいて迷惑だとは思う
2020/01/26(日) 16:16:31.94ID:smtkhynE
>>317
調べると割分厘は1割を10%とする用法と1割を100%とする用法と2種類あって歴史的にはどちらも正しいんだと
九分九厘は1割を100%とする用法で99%だと
自然言語特有の曖昧定義
つまり95割は950%もしくは9500%
2020/01/26(日) 17:05:13.94ID:DD0zspUI
>>313
23回と書いて、2,3回と読んでほしいってか?
それはちょっと無理では?
文脈込みでもちょっと無茶だわ
2020/01/26(日) 21:04:48.98ID:BKKks8j/
まさに悪貨は良貨を駆逐する状態だな。
2020/01/26(日) 22:24:26.81ID:o1eawELH
為替が固定されているようなもの
為替操作に駆逐された
323デフォルトの名無しさん
垢版 |
2020/01/26(日) 23:29:15.87ID:thUZV5f4
>>319
分は1/10、厘は1/100で、割合の単位が割で1/10
「9割5分」の「分」は「割の1/10」を意味している
1割を100%とする用法は見たことない
2020/01/26(日) 23:50:08.91ID:6ZE6/BGT
5割は50%
5分も50%
5割5分は55%
ファック
2020/01/26(日) 23:53:31.69ID:dKcKmE+f
でもおまえ童貞じゃん
2020/01/27(月) 08:58:02.50ID:EpKbKI6u
ハゲのお前よりマシだろ
2020/01/27(月) 12:54:22.53ID:j9P5HG/v
でもおまえハゲで童貞じゃん
2020/01/27(月) 20:00:34.31ID:yeFJ9ZCG
見てないのにハゲとか童貞言わない
2020/01/31(金) 02:43:32.03ID:m4jVFc8Z
Go言語イコールgolangだから、clangイコールC言語の事かと思ってた
330デフォルトの名無しさん
垢版 |
2020/01/31(金) 10:18:22.06ID:YmbKsQW3
dlang
331デフォルトの名無しさん
垢版 |
2020/01/31(金) 10:18:47.96ID:YmbKsQW3
erlang
2020/01/31(金) 10:19:09.02ID:rt0EJzQX
Frank
2020/01/31(金) 14:44:44.45ID:VuUsvAfW
クラウドネイティブコンピューティングのための新プログラム言語 Ecstasy
https://www.infoq.com/jp/articles/xtc-lang/
2020/02/01(土) 02:07:07.01ID:efnE+DyP
エクスタシー
ネーミングはなかなかいいな
2020/02/01(土) 02:08:58.58ID:HKHG7VHk
「セクシー」じゃダメなんですか?
336デフォルトの名無しさん
垢版 |
2020/02/01(土) 09:58:57.74ID:fiLTG5Nb
将来が約束されているω
2020/02/01(土) 12:41:31.57ID:iMzFL2if
Why dont election!!!
2020/02/01(土) 15:14:24.38ID:jANmYCH5
D言語ってもうオワコン?
やっぱ大手がバックについてないと駄目なのか
339デフォルトの名無しさん
垢版 |
2020/02/01(土) 15:26:32.57ID:fiLTG5Nb
諦めたらそこで試合終了
2020/02/01(土) 15:31:32.99ID:eXUHWthh
言語の勝ち負けは資金力がものを言う
もうPHPやRubyの時代とは違って個人が作った言語が日の目を見ることはない
ここの一部が熱狂してた中学生言語はそろそろスポンサーを得たのかな?w
2020/02/01(土) 15:46:08.21ID:TULylXcw
何でお前が勝ち誇っとんねん
342デフォルトの名無しさん
垢版 |
2020/02/01(土) 15:48:55.51ID:fiLTG5Nb
Rubyそのものをdisる訳じゃないが
Rubyはパトロンが付いてから落ち目になった印象
2020/02/01(土) 16:04:34.83ID:uIRhn79u
言語の良し悪しだけじゃないからな
ドキュメント ライブラリ ビルドツール IDE プラットフォーム対応
企業にせよ団体にせよ組織的な人手が無いと厳しい
2020/02/01(土) 16:18:48.79ID:aiv1Gn1Y
アイデア勝負から体力勝負ってか
2020/02/01(土) 17:12:27.13ID:EspH/Y2K
>>339
いい言葉ですね!
誰がいったのですか?
2020/02/01(土) 17:13:44.13ID:caubOhav
リーナス・トーバルズや
2020/02/01(土) 17:35:34.79ID:iMzFL2if
あまねく型無し糞言語池沼がすべからく滅びますように
2020/02/01(土) 17:39:09.56ID:9BMLg08w
まだ滅びてない型無し言語って何が残ってたかな
2020/02/01(土) 18:06:53.35ID:9qdhvoJU
アセンブラ
2020/02/02(日) 00:28:55.56ID:7b/FZYuN
諦めたらそこでギブアップやからな!
2020/02/02(日) 00:33:23.43ID:vTjBAXNr
結局書いてて楽しい言語と保守しやすい言語って違うってのが
rubyが根本から間違ってるところだろ。
2020/02/02(日) 00:36:53.43ID:N9qFFSK9
あれが楽しいとかゲエジだら
型無し糞言語は補完も頭悪いし、書いてて全く楽しくない
おまけに保守性も最悪ときたら、ほんとにほんとにゴミでしかないゴミ
今すぐ回線切って首吊って死ねや
2020/02/02(日) 06:02:43.82ID:DhujQgFD
Rubyが型無しとか頭わいてんのか
2020/02/02(日) 06:59:23.56ID:9jRHEnns
>>352
型無しでもいいけれども、宣言なしというのはいただけない
var a
とか VB/VBA 的に option explicit, dim a
とかは、そろそろ導入されるべきでしょう
2020/02/02(日) 09:21:26.51ID:oSeNT+fp
Zigって次世代っぽいよな
2020/02/02(日) 10:15:11.33ID:Ng7YaIlp
型無し言語とか
rubyが保守しにくいとかw

相変わらず低スキル&エアプの巣窟やなココ
2020/02/02(日) 10:55:21.44ID:N9qFFSK9
>>356



回線切って首吊って死ねや
358デフォルトの名無しさん
垢版 |
2020/02/02(日) 15:24:04.03ID:9xJm9DGW
>>347
確かに、滅んで欲しい

SML(静的型付け):
  - (1, 2, 3);
  val it = (1,2,3) : int * int * int  (* タプル型(要素は整数型) *)

  - (1, true, "Foo");
  val it = (1,true,"Foo") : int * bool * string  (* タプル型(要素の型は混在) *)

  - [1, 2, 3];
  val it = [1,2,3] : int list  (* リスト型(要素は整数型) *)

  - [1, true];
  stdIn:12.1-12.9 Error: operator and operand don't agree [overload conflict]
   operator domain: [int ty] * [int ty] list
   operand:    [int ty] * bool list
   in expression:
    1 :: true :: nil  (* 要素の型が混在するリストは誤り *)

(長いので続く)
359デフォルトの名無しさん
垢版 |
2020/02/02(日) 15:24:32.12ID:9xJm9DGW
(>>358の続き)

Python(動的型付け):
  >>> (1, 2, 3)
  (1, 2, 3)  # タプル型(要素は整数型)

  >>> (1, True, "Foo")
  (1, True, 'Foo')  # タプル型(要素の型は混在)

  >>> [1, 2, 3]
  [1, 2, 3]  # リスト型リスト型(要素は整数型)

  >>> [1, True]
  [1, True]  # リスト型(要素の型は混在)
2020/02/02(日) 15:27:54.03ID:sFvJQflI
未だにそんないにしえの言語持ち出してホルホルしてる型無し糞言語じいさん・・・
2020/02/07(金) 14:34:28.70ID:a6hn8dag
ロートルは氏ね
2020/02/10(月) 20:57:41.54ID:vVtjhTfX
実装言語を「Go」から「Rust」に変更、ゲーマー向けチャットアプリ「Discord」の課題とは
https://www.atmarkit.co.jp/ait/articles/2002/10/news038.html
2020/02/10(月) 21:35:25.56ID:Dl8kxxCi
>>362
>Rustのナイトリーチャネルで、非同期プログラミング機能が強化された不安定版が入手できるようになった
>Discordはナイトリーリリースを導入し、問題が発生した際にはRustチームと協力して対処した

頑張ったなw
2020/02/15(土) 15:20:00.59ID:J1bovO5o
まあガベコレに手を入れるくらいならc++, rustって選択にはなるわな。
2020/02/15(土) 15:23:11.73ID:YlxUawVa
ガベコレって呼び方ダサっ
2020/02/15(土) 15:26:47.98ID:HP9UoaRz
ファイファンのことFFって呼んでそう
2020/02/15(土) 23:36:38.39ID:XID0eZBS
ドラゴボ、アダビデ
2020/02/16(日) 01:00:22.94ID:yLDkBP53
マナル
369デフォルトの名無しさん
垢版 |
2020/02/16(日) 16:39:43.39ID:e+hZCGM4
ガベーコレ
2020/02/16(日) 17:10:35.02ID:w0IbR+6u
呼び方とかクソ議論だと盛り上がるのな
2020/02/16(日) 17:24:03.66ID:U3PjlFnp
ガペ
2020/02/18(火) 00:05:13.18ID:h15Bw/Qz
Rustの時代来て欲しいけどやっぱ難しいんだよね
2020/02/18(火) 00:09:41.30ID:M/XUPoxw
型無し糞言語は肉片一つ残さず消え去って欲しい
2020/02/18(火) 01:56:31.44ID:Az88Dn7G
動的型付け定期
2020/02/18(火) 08:00:03.50ID:KHr4ndHy
コンパイラがメチャ賢くなってあらゆるプログラムが最適化で削除されるようになったら消滅する議論
2020/02/18(火) 09:26:02.08ID:2AC9Ct1n
そんな10年前に終わったitaniumみたいな話されてもな。。
2020/02/18(火) 21:42:04.43ID:tCjwrmMM
何が消滅するんだ?
2020/02/18(火) 21:58:50.38ID:M/XUPoxw
コロナで糞バカ中世ジャップランド土人どもが消滅するよ
やったね
379デフォルトの名無しさん
垢版 |
2020/02/20(木) 21:32:45.76ID:MYBjG5xo
でも死亡率低いようだよ。
感染後に何人治癒したかも発表してほしいね。死ななかった人が治癒した人だからいずれはわかることではあるが。
380デフォルトの名無しさん
垢版 |
2020/02/20(木) 21:50:22.46ID:ABNkvVkH
JavaScriptはPHPとかいう汚物を一刻も早く滅ぼしてくれ。
言語仕様自体がゴミの癖にコーディング規約1番うるさい
のほんと腹立つ。
2020/02/20(木) 22:12:34.54ID:YUzkIp/O
言語じゃないがjsonが最後の要素にカンマあるだけで壊れるの何とかして
2020/02/20(木) 22:22:50.95ID:9OkW2rsY
>>380
型無し糞言語からJavaの悪いところだけを輸入して、ただの糞言語になった
便器ブラシことゴミ屑PHP(障害者手帳持ち)の悪口を言うな
2020/02/20(木) 22:57:56.57ID:Nllb9nDe
phpでクソコード書く奴はjsで同じ様にクソコード書くけどな。
2020/02/20(木) 23:02:02.13ID:9OkW2rsY
そう。一度ペチパーの畜生道に堕ちると、ほとんどの人間がダメになってしまう。
ペチパーは、クソコードを書かれる前に、打ち首の上さらし首にするしかない。
2020/02/20(木) 23:09:21.96ID:EIb8BF36
JSONを策定した連中(IETF)は馬鹿

propertyでのidentifier(ダブルクォート無し)、末尾カンマ、コメント、
undefined(void 0) を削って設定ファイルとしても優秀に出来た仕様をぶち壊した
2020/02/20(木) 23:18:52.95ID:EIb8BF36
言語間ネタ繋がりで
FFIのモダンな標準っていつまで経っても出てこないな
C言語ヘッダファイルが悪いとは言わないけど
2020/02/20(木) 23:30:23.69ID:rlR2t2y0
Ruby を書く人は、JS でも、きれいに書く

React でも、Ruby のinclude(mix-in)を入れた

mix-in で、親子の継承チェーンの間に入るから、
同名のメソッドが、親の前に、mix-in で見つかる
388387
垢版 |
2020/02/20(木) 23:33:18.57ID:rlR2t2y0
Ruby の、require/include の違いを学びましょうと、matz も言ってたw
2020/02/20(木) 23:53:57.06ID:Bxr9L5YO
class やら継承やら、久しくやってない(もっぱら関数・合成と委譲)ので、mix-in の記憶が曖昧なんだが、
React で mix-in なんてやることある?

少なくとも、独自コンポーネントの継承は随分昔からアンチパターンとわかってるから、やめた方がいいと思う
というか、最近の React ならほぼ全部 function でいけるぞ
2020/02/21(金) 02:13:02.66ID:by8wvtRn
>>385
JSON5使えよ
391387
垢版 |
2020/02/21(金) 03:09:32.20ID:2TMdipPT
ヘルパーメソッドなど、汎用的なモジュールを作って、子クラスでinclude(mix-in)すると、

メソッドの探索チェーンが「子 → mix-in → 親」となるので、
同名のメソッドが、親よりも先に、mix-inで見つかる

便利なインターフェースみたいなもの
2020/02/21(金) 08:29:33.49ID:gYJx2Nw8
そういうのはロギングとか、本筋の処理と関係ない部分でやるならいいんだけどね。
2020/02/21(金) 09:15:11.85ID:fb5RhRNc
継承より委譲と言われるようになって久しいが、まだこんな老害が生きていたのか
394デフォルトの名無しさん
垢版 |
2020/02/21(金) 09:20:51.62ID:x3ENt9Ss
>>3
エリ臭ーの説明が臭逸wwwww
2020/02/21(金) 15:22:06.78ID:LIVBire/
>>3
Goもっとなんかないの?
2020/02/21(金) 17:47:40.90ID:Q29ljCA8
>>386
どうせc呼ぶくらいしか需要ないんだしそれでいいだろ。
他の言語呼ぶくらいならプロセス切り離してシステム関数つかったらええわ。
2020/02/21(金) 18:13:02.48ID:Ih2AT/wR
高級言語がC言語を呼び出すのは古い
C言語が高級言語を呼び出すのがモダン
398デフォルトの名無しさん
垢版 |
2020/02/21(金) 19:38:24.80ID:rQPJsZ5x
Cの書きにくさと高級言語の遅さを兼ね備える
のか…(困惑)
399デフォルトの名無しさん
垢版 |
2020/02/21(金) 22:00:41.03ID:yQU53qlc
Goの良くない点

入門者への分かりやすさを重視して設計したはずなのに、配列のスライスが上端を
含まない半開区間であること。閉区間にすべきだった。
2020/02/21(金) 22:31:21.43ID:qBSn2WyF
配列のインデックスが0ベースならスライスは普通半開だけど
含んでる言語はスライス用途以外に同じ記法を用いる特殊な事情があるやつ
2020/02/21(金) 22:50:10.70ID:SL2p+l+/
>>390
標準化あるいはデファクト化が重要なんすよ

自社ソフト内で使う分にはいいけど
公開APIでJSON5を返す選択は厳しい
2020/02/21(金) 22:51:09.76ID:gYJx2Nw8
半開区間で表すのが常識になれば入門者が迷うこともなくなるよ。実際そうなりつつある。
2020/02/21(金) 23:13:55.94ID:SL2p+l+/
>>399
>入門者への分かりやすさを重視して設計したはず

言語入門者はともかく、プログラミング入門者を対象とはしてないよ
楽しさや設計の美しさより実務を最優先にした言語

公式にも以下のようにある
> Go was designed to address the problems faced in software development at Google
404デフォルトの名無しさん
垢版 |
2020/02/21(金) 23:18:00.85ID:yQU53qlc
>>400
添字が0始まりだから半開区間にしなければならない理由なんてないだろ。
添字が0始まりでも閉区間のF#やPowerShellの方が入門者にとっても
それ以外の人にとっても直感的で分かりやすい。
2020/02/21(金) 23:25:51.94ID:qBSn2WyF
>>404
だからそれらの言語のは配列のスライス専用の記法じゃないから

let list = [ 1 .. 10 ]

みたいな場面でも使われる
こういう時にはたしかに直感的で便利だけどスライス用途ではむしろ使い難い
RubyやPerlも同じ
406デフォルトの名無しさん
垢版 |
2020/02/22(土) 00:02:04.72ID:iumKj4t4
>>405
スライスでも閉区間の方がはるかに使いやすい。Pythonみたいな奇形言語の真似を
するのはやめてもらいたい。
2020/02/22(土) 00:12:16.03ID:3tA6OTRM
おまえの個人的な決めつけで閉区間のがいいとか言われても困るわ。
408デフォルトの名無しさん
垢版 |
2020/02/22(土) 00:38:42.23ID:4ukU5GSv
開閉と区間とか知らない言葉出てきた
モナドばりの失笑もんだ
2020/02/22(土) 01:10:25.80ID:nfgptzfk
https://tour.golang.org/moretypes/7
The following expression creates a slice which includes elements 1 through 3 of a:

a[1:4]

`1 through 3 of a` == a[1:4]
さすがGoogle謹製わかりやすい!!!
2020/02/22(土) 01:52:17.36ID:dIBglAMb
Rust
for x in 1..4 { println!("{}", x); }
> 1 2 3

Java
for(int i : Arrays.asList(0,1,2,3,4).subList(1,4)){ System.out.println(i); }
> 1 2 3

IntStream.range(1,4).forEach(System.out::println);
> 1 2 3

C#
foreach(var i in new int[]{0,1,2,3,4}[1..4]){Console.WriteLine(i);}
> 1 2 3
2020/02/22(土) 02:12:12.39ID:nfgptzfk
Rust, Ruby, Swiftあたりは選べるよ
2020/02/22(土) 09:34:25.17ID:swIKwGW1
(選べなくて)いいです
2020/02/22(土) 09:56:32.14ID:3tA6OTRM
閉区間だったり1始まりが好きな奴はjulia使ってればいいんじゃね?そこから出なくていいよ。
2020/02/22(土) 10:01:32.18ID:vDAf0o9K
閉区間だと[i:i-1]で空集合にするのはどうなんだ
415デフォルトの名無しさん
垢版 |
2020/02/22(土) 12:10:17.27ID:BfUm9Jvt
@ & $ ^ * ` -> => などを
使ってる言語は俺の中でゴミ確定


うんこをOSS公開しなくていいから
2020/02/22(土) 12:13:19.15ID:ArzKKN+q
配列クラス自体は言語ではなくライブラリだから
いくら言語を統一してもライブラリを何通りも作るのは合法
2020/02/22(土) 12:13:47.33ID:swIKwGW1
>>415
ぴーーーーーーーーえいーーーーーーちーーーーーーーーーーーーピューーーーーーーーーーーーーーーーーーー
2020/02/22(土) 12:28:58.73ID:d8Cq9jZ5
>>415
C言語アウトか
厳しい
2020/02/22(土) 13:02:12.00ID:WVugcdbO
つか、*を使わない言語なんてAPLくらい?
2020/02/22(土) 14:08:59.76ID:qQaAG+8d
Ruby のrange では、
p ( 1 .. 3 ).to_a #=> [1, 2, 3]
p ( 1 ... 3 ).to_a #=> [1, 2]

オプションで切り替えられるのも良いかも
( 1 .. 3, true )
2020/02/22(土) 14:36:44.32ID:9VOnc80r
>>408
たかが高校数学にすら出てくる用語だぞ

開区間,閉区間の意味と関連する話題
https://mathtrain.jp/kukan
2020/02/22(土) 14:57:36.74ID:ArzKKN+q
オプションよりキーワードを使おう
first=1, overrun=3
zeroth=1, last=3
2020/02/22(土) 16:40:01.88ID:dIBglAMb
Swiftの半開区間/閉区間の表現を使うとして
 (10 ..< 20) → (10 <= x < 20) 要素数: 20-10  = 10
 (10 ... 19) → (10 <= x <= 19) 要素数: 19-10+1 = 10

2分割を考える

整数区間の表現や分割は互いに代用可能
 (10 ..< 20) → (10 ..< 15) (15 ..< 20) 要素数: 5, 5
 (10 ... 19) → (10 ... 14) (15 ... 19) 要素数: 5, 5

実数区間は代用不可能 ※精度の仮定無しに <= 1.9999.. は表現不可
 (1.0 ..< 2.0) → (1.0 ..< 1.5) (1.5 ..< 2.0)
 (1.0 ... 2.0) → (1.0 ... 1.5) (1.5 ... 2.0) ※境界点のhitTestは両方に該当

閉区間では整数区間と実数区間で考え方が異なる
また、固有の値の数が多くなりがち (10...14) (15...19) → 10,14,15,19

両方あるべきとは思うけど、半開区間の方がロジックが簡潔になることが多い
2020/02/22(土) 16:49:53.81ID:ArzKKN+q
スカラーと行列では交換法則がー

交換法則を使ったら不正解とする方がロジックが簡潔みたいな風潮
425デフォルトの名無しさん
垢版 |
2020/02/22(土) 19:06:26.05ID:iumKj4t4
>>409
a[1:4]はa[1], a[2], a[3], a[4]にしか見えない。見た目が左右対称だから機能的にも
左右対称な閉区間を表すのが自然。半開区間を表したければ、見た目にも左右非対称な
a[1:<4]にすべきで、1文字増えるだから不満はないだろ。

a[1], a[2], a[3]を指定したいときに、3に1を足して4なんて煩わしいことをするのは
馬鹿げているから、たいていの場合は閉区間が適していて、開区間が適しているのは
>>423のような特殊な場合だけ。

半開区間は「赤上げて、白下げないで青下げて」みたいなひねくれた書き方だから、
閉区間の方が分かりやすい場合にも半開区間を強要するのは、書き間違えやすくバグの
元。お前らも半開区間の言語で、a[1], a[2], a[3]のつもりでa[1:3]と書き間違えた
ことが一度はあるだろ。いや、二度、三度どころかもっとあるはず。白状しろw
2020/02/22(土) 19:15:16.42ID:WVugcdbO
「俺の思い込みに合わせろ」
427デフォルトの名無しさん
垢版 |
2020/02/22(土) 20:24:36.79ID:6IDagORl
--lua
print (1 .. 4)

14
428デフォルトの名無しさん
垢版 |
2020/02/22(土) 20:29:39.10ID:iumKj4t4
>>419
*と言えば、Goの巨大数パッケージmath/bigは異様に使いにくいな。

階乗関数の整数版factと巨大整数版Factを書いてみると、C#ではfactのintを
BigIntegerに置換するだけでFactになる。アルゴリズムが本質的に同じときに
同じ書き方をできるのは、分かりやすくて良い。
https://www.ideone.com/T8WbLX

ところが、Goではfactと比べFactには余分なものがたくさん増えている。
*big.Intなんてポインタが現れるし、整数からの変換にbig.NewInt関数が必要だし、
四則演算子を使えず、掛け算は*ではなくMul関数を呼ばないといけない。
こんな実装の裏方を晒して低レベルな書き方をさせるのは、煩雑でバグの元。
C#では許されるp *= n--をGoが許さないのは、評価順序の勘違いによるバグを
防ぐためだろうが、他方で半開区間や巨大数パッケージでバグの温床を与えているのは
設計方針がちぐはぐすぎる
https://www.ideone.com/9ndenp
2020/02/22(土) 21:15:42.06ID:dIBglAMb
>>425
> 3に1を足して4なんて煩わしいこと

off位置からlen個取りたい → off..<(off+len)
"key=value"からkeyを切り出したい → 0..<(=の位置)

閉区間では1を引くなんて煩わしいことが必要とも言える
使い易さの例がマジックナンバーなのはナンセンスでは?

非対称な構文にすべきという点には異論無いけど
それ以外の部分は、君がそう思っているという以外に根拠が無いように見える
430デフォルトの名無しさん
垢版 |
2020/02/22(土) 22:31:04.26ID:iumKj4t4
>>429
範囲をマジックナンバーで指定したい場面は多い。

閉区間にするため1を引く計算は日常的に染みついているから、煩わしいと思わない。
例えば、2月22日から5日間は、22 + 5 - 1 = 26だから26日までと理解する。
変数で書く場合も、off..<(off + len)よりoff..(off + len - 1)の方が最小値と
最大値が両方明示されていて分かりやすいと思うが、人によって違うだろうし、
半開区間の方が4文字短いので、好みに応じて選べるようにするのが良い。
offを二度書かずに済む構文off+..(len - 1)とoff+..<lenがあるともっと良い。
2020/02/22(土) 22:34:01.56ID:WVugcdbO
>閉区間にするため1を引く計算は日常的に染みついているから、煩わしいと思わない。

他の人は半開区間もすぐに染みつくから問題ないのよ。
432デフォルトの名無しさん
垢版 |
2020/02/22(土) 23:19:17.03ID:40Zqn9UM
>>399
無いなら作れば良い。
そう。Haskellならね。

組込のindexえんざんし(!!)だとこう

[1..3]!!0
>1

んで、1で始まるindex演算子が欲しければ作る。

(x:_) !!! 1 = x
(_:xs) !!! n = xs !!! (n - 1)


[1..3]!!!1
>1
2020/02/22(土) 23:41:19.49ID:swIKwGW1
な、なんだってー!!!!
2020/02/22(土) 23:46:03.57ID:3tA6OTRM
そんなとこでつまづく様じゃどのみちまともにプログラムできる様にはならんだろ
2020/02/22(土) 23:49:32.86ID:zVGqPuAA
>>432
今のところこいつが一番頭悪そう
2020/02/22(土) 23:54:59.87ID:dIBglAMb
>>430
ではその期間にログインした人をログイン日時から絞り込むとする

  2月22日 <= ログイン日時 <= 2月26日

仕様の具体例として上記を書くのは不具合のリスクがある

  2月22日 <= 日単位切り捨て(ログイン日時) <= 2月26日
  のように精度を揃える切り捨てを明示するか

  2月22日0時0分 <= ログイン日時 < (2月26日0時0分 + 1日間)
  のように半開区間にすべき

このような操作が必要なのは、2月22日から2月26日という表現は
実際には「2月22日から2月26日終日」という暗黙の非対称性があるため
437デフォルトの名無しさん
垢版 |
2020/02/22(土) 23:55:16.88ID:iumKj4t4
>>432
Haskellでは範囲を指定してリストを作るときの範囲は閉区間だな。
だから、スライス風演算子!..!を定義すれば、

Prelude> xs !..! ys = map (xs !!) ys
Prelude> [1..10] !..! [1..4]
[2, 3, 4, 5]

となる。

Haskellは言語仕様は難解で有名だが、標準インストールでREPLが提供され、
ソースファイルをいちいち作らずにいろいろ試せて便利だな。C#とF#も
コンパイラ言語だがREPLがある。GoにもREPLが欲しい。Goreという
REPLもどきを作った人はいるが、もどきなので遅くて使い物にならない。
純正で本物のREPLを提供してもらいたい。
2020/02/22(土) 23:57:09.96ID:dIBglAMb
>>430
一方で時間は「昼休みは12:00〜13:00の1時間」のような半開区間の表現と
12:00〜12:59のような閉区間の表現がある (秒以下もあるので中途半端だが)
ググった限りでは前者の方が一般的に見える

行程表などでの分割では 12:00〜12:30, 12:30〜13:00 のようになる

これは君が「特殊な場合」と言ったものの実例
整数区間の日付と実数区間の時刻
2020/02/23(日) 00:43:44.71ID:ngt5amF4
配列が1から始まるウンコさに比べたら
こんなもん誤差ですよ
440デフォルトの名無しさん
垢版 |
2020/02/23(日) 01:27:08.73ID:A66EETsq
おじさんてほんと豆知識自慢好きだよな
441デフォルトの名無しさん
垢版 |
2020/02/23(日) 01:52:12.77ID:4j3W7HlN
>>439
配列が1から始まったら何か不都合がありますか?
442デフォルトの名無しさん
垢版 |
2020/02/23(日) 06:56:02.42ID:z54NwjgJ
numpyとか
数値計算専用ライブラが
充実してて使いやすればいいだけの話。
言語ネイティブのシンタックスで
そこまでサポートしなくてもいいし、
どうでもいい。
443デフォルトの名無しさん
垢版 |
2020/02/23(日) 07:02:30.87ID:z54NwjgJ
しかしよく考えたら
if(0 < x < 10)
くらいの比較演算は確かにあったら便利だよな
なんでこれができる言語はないのか。
もしくはbetweenとか
誤解を招くような記法を使うのではなく、
普通の不等号で挟めるのが一番わかりやすいな。
444デフォルトの名無しさん
垢版 |
2020/02/23(日) 08:28:32.81ID:NXppToWn
一発目でboolが出てこない特別ルールを構文解析器に埋め込まなきゃなんないからな
2020/02/23(日) 08:52:16.70ID:Sm6Vd1r9
>>441
配列が2から始まったら何か不都合がありますか?
2020/02/23(日) 08:53:35.92ID:vHITJSpV
if (0 < x && x < 10) と書くのと比べてもそこまで便利だとも思えん
2020/02/23(日) 09:02:51.71ID:SvXUu1bl
>>443
Icon言語ってのがあるよ。
2020/02/23(日) 09:55:59.93ID:yD0p0mSx
>>443
Juliaの話してます?
2020/02/23(日) 10:09:37.75ID:DWh+LsOr
こんなしょーもないことでグダグダ文句言うくらいなら本人だけがjuliaでも使ってりゃいいんだよ。
こういう馬鹿に限って人に自分の感覚を強制しようとする。
2020/02/23(日) 10:48:37.88ID:qGGkqWra
>>415
_*:;を多用する言語が目に悪くてイラッとする
2020/02/23(日) 11:19:19.18ID:y7plF7NK
これ自分の「正しさ」を人に押しつけるパターンではないな
狼少年は自分の言葉が正しくないと知りながら人に教える
動機は、例えば何かの記憶を消すためにでたらめなデータで上書きするとか
452デフォルトの名無しさん
垢版 |
2020/02/23(日) 12:03:38.48ID:e2r12CYr
>>443
Pythonかな
2020/02/23(日) 14:48:30.91ID:FuQUS0ts
>>444
3項演算子にすればいいだけ
2020/02/23(日) 15:28:27.91ID:SvXUu1bl
そういうことじゃなくて、0<x<10 の 0<x の部分と単体の 0<x では異なる評価をしないとならないということ。
モナドみたいな形で解決できるかもしれないが。
455デフォルトの名無しさん
垢版 |
2020/02/23(日) 21:19:41.25ID:eJliGvsG
>>438
「○〜○」や「○から○まで」という表現は閉区間だよ。13時ちょうどは次の閉区間と
重複し、昼休みであると同時に昼休みではないことになり、厳密に言えばおかしいが、
13時とそれより0.01秒前または後との違いなんて日常感覚では知覚できないから、
このような表現でも問題なく通用している。

秒を小数で表示すれば実数になるが、(連想配列でない)配列の添字は整数しか
ないから、実数を持ち出すのはそれこそナンセンス。実数は数直線上の点だが、
整数は番号が付けられた桝目として捉えられる。配列は下図のようなメモリ格納
イメージだから、

012345
□■■■□□

黒く塗られた部分をスライスとして指定したければ、その部分の最初と最後の番号を
使ってa[1:3]と書くのが分かりやすく間違えにくい。Excelのセル番地の範囲を
指定するのに閉区間でA1:B3と書き、半開区間でA1:<C4とは書かないのと同じ。

>>441
PowerShell, Python, Rubyのように配列の添字が負の整数-iのとき最後からi番目の
要素を指す仕様の言語では、正の整数iのとき最初からi番目の要素を指す仕様(つまり
添字が1始まり)にする方が整合性が取れて分かりやすいな(実際には0始まり)。
2020/02/23(日) 22:23:06.83ID:BvZqtd/x
>>455
> 配列の添字は整数しかないから、実数を持ち出すのはそれこそナンセンス
区間という概念が配列にしか使われないとでも?

> 13時ちょうどは次の閉区間と重複し、昼休みであると同時に昼休みではない
時間帯毎の集計程度の処理で容易に不具合出しそう
2020/02/23(日) 23:26:10.61ID:SvXUu1bl
グラフィック処理でのピクセル座標系とグリッド座標系の違いの方が似てるかな。
昔は直感的なピクセル座標系も使われていたけど、グリッド座標系の方が合理的だということが理解されて
今じゃそっちが主流だな。
2020/02/23(日) 23:33:16.75ID:VVi+7A/g
よくわかんない
ドラゴンボでたとえて
2020/02/24(月) 00:07:37.86ID:XuGp3j1T
馬鹿が馬鹿なことを言ってるだけだわ。
電流が本当は負の方向にながれててもそのまま正負は変えてないってことの意味を少しは理解しろ。
2020/02/24(月) 00:11:25.85ID:S594+rxm
つまり?
2020/02/24(月) 00:16:26.23ID:XuGp3j1T
>>460
閉区間に合わせろやと言ってるバカは無視していいってこと。
2020/02/24(月) 00:28:58.12ID:S594+rxm
>>461
ドラゴンボでたとえて!
2020/02/24(月) 11:16:49.98ID:FL3aaU5e
添字が実数の場合は左辺値という概念がなくなるだろうから
[]演算子は意味のない仕様だよ
()演算子だけでいい
2020/02/24(月) 11:37:27.76ID:S594+rxm
だからドラゴンボではなしてってゆってるでしょ!
2020/02/24(月) 12:23:33.10ID:Smt10ptd
ドラゴボじゃだめなの?
2020/02/24(月) 12:28:55.87ID:S594+rxm
ドラゴンボです!
2020/02/24(月) 13:49:03.80ID:XuGp3j1T
これが面白いと思ってるんだろうな。。かわいそうに。
2020/02/24(月) 15:48:18.28ID:dJSyQnEN
クソワロタwwwwwwwwwwwwwwwwww
2020/02/24(月) 16:06:14.97ID:FL3aaU5e
長編すぎて売れすぎた作品で笑った記憶ある?
お笑いは意味のない芸だよ
2020/02/24(月) 17:54:18.52ID:/m2XX1oE
三国志で張飛が「ぐわっ」の一言で死んだ時わろた
2020/02/24(月) 18:06:27.88ID:/m2XX1oE
あまりに社会に都合がわるい真実なので隠蔽されているが
笑いは基本的には嘲笑であり相手との社会的距離による
自分の地位向上が見込めそうなとき笑いが出る

自分と近しい人だとちょっとした失敗のとき笑う、ケガとかは後で自分に面倒がくるから笑えない
自分と距離がすごくある、究極的にはフィクションだと指でつつかれて頭が吹っ飛ぶのに大笑いできるわけだ

愚かさをアピールして反射的な笑いを取る方法だと
長期になるとそいつが愚かなのはわかりきってるので笑えなくなる

状況が思いもしない方向に転換するようなときは長編でも笑える
472デフォルトの名無しさん
垢版 |
2020/02/24(月) 19:55:05.44ID:17cy6+il
>>461
範囲指定(スライスに限らない)が閉区間だけの言語
Fortran, F#, Haskell, Julia, MATLAB, Octave, Pascal, PowerShell, R, S, Scilab

どう見ても使用者の平均的な知能は半開区間だけの言語より高そうだなw

蛇に唆され禁断の果実を食べ「知恵」を得たが、「知恵」と呼べるほどのものでは
なかった。代償として産みの苦しみが増し、苦労して食物を収穫し、死んで塵に
帰らなければならなくなった――

Pythonに後続し半開区間だけにしたGoは、非合理で書きにくい記法を甘受しなければ
いけない、>>2の表現を借りるなら「イケてない労働者言語」か… その地位を
否定したいなら、改悛して閉区間も取り入れ、Pythonを駆逐してもらいたい。
2020/02/24(月) 20:11:23.36ID:XuGp3j1T
>>472
だからその使用者の平均的な知能が高そうな言語をおまえは使ってたらええやん。
そんなことも通じない人の知能が高いとはとても思えないけれど。
2020/02/24(月) 20:13:54.96ID:1guin73G
>>471
生きるの大変そう
475デフォルトの名無しさん
垢版 |
2020/02/24(月) 21:42:39.58ID:17cy6+il
>>473
Pythonは何から何までキモくてただ絶滅を願うのみだが、Goは基本的には
良い言語だから、直すべき所は直して、より使いやすい言語になってもらいたい。
教祖様の決定はすべて正しいので信者は黙って従えという言語ではない(Swiftは
C系列の新言語の中では良くできていると思うが)から、不満点があれば改善を
求めて構わない。

>>428にあるGoの巨大数パッケージについてはどう思う? あんな煩雑な書き方で
満足できる? C#のようにすっきり書けるようになってもらいたくないか?
2020/02/24(月) 22:40:17.58ID:XuGp3j1T
じゃあC#つかって巨大数の計算してりゃええよ。
なんで無理にどの言語も同一的にしようとするのか?愚かとしか言いようがない。
お前が挙げてる下の言語にgoに近くなるように言ったらええわ。
Fortran, F#, Haskell, Julia, MATLAB, Octave, Pascal, PowerShell, R, S, Scilab
賢い人ばっかならそっちのが意見きいてくれるだろw
2020/02/24(月) 22:45:23.33ID:1U5lho1x
1始まりの閉区間これ最強マジお勧め

1. nが符号付整数でも
for (n = 100; n >= 1; n--) { ... }
 が有限ステップで止まる

2. nで表せる上限が65535のとき
 for (n = 1; n < 65535; n++) { ... } より
 for (n = 1; n <= 65535; n++) { ...
2020/02/24(月) 22:45:56.20ID:OInStaY+
>>475
求めるのは構わないがそれに対する反対もまた正当

言語設計者/コアメンバの判断やコミュニティで賛成多数かなどで決まるだろうが
不要な追加は改悪になりうるので説得出来ないなら現状維持が優先される

自分の好みや引き合いに出した言語の使用者の知能が高そうという話で
より多数の使用者を抱える言語の仕様を変えられると考えるのは無理がある
2020/02/24(月) 22:48:33.53ID:NVuyTsWU
>>475
C#のように半開区間で指定できるんだからいいじゃん
480デフォルトの名無しさん
垢版 |
2020/02/24(月) 23:18:53.55ID:17cy6+il
>>478
後方互換性がない改版はむやみにすべきではないが、不合理な点をいつまでも
引きずるのも良くない。PythonやRubyは後方互換性がない改版を敢行した。

範囲を半開区間でしか指定できずそれをa[1:4]のように書くのは、for文で言えば
for (i = 1; i <= 3; i++) を禁止し、for (i = 1; i < 4; i++) しか許さず、
しかもそれをfor i = 1 to 4と書けと言っているような滅茶苦茶な仕様。

>>479
C#のスライスの歴史は浅く、2019年9月のC#8.0で採用されたばかり。同じ.NET系で
スライスを既に持っていたF#とPowerShellに合わせて閉区間にすべきだったな。
もちろん、a[1..<4]で半開区間を表し、それをF#とPowerShellにも導入するのは
一向に構わない。
2020/02/24(月) 23:36:38.08ID:iQYTd9Fe
>>472
数学よりの用途が比較的多い言語が並んでて興味深いな
2020/02/24(月) 23:38:10.64ID:OInStaY+
>>480
滅茶苦茶な仕様とやらは閉区間だけの言語には言わないのか?

専用の演算子が用意されていないことを禁止と言い換えるあたりもズレているし
それともそういう動作の関数すら自分で実装出来ないのか

自分の主観を中心にしすぎだ
だから好きな言語を使えという話になる
483デフォルトの名無しさん
垢版 |
2020/02/25(火) 00:00:00.40ID:AmG8+LM2
>>482
閉区間だけなのは滅茶苦茶ではない。forループで言えば、Basic, Fortran, Pascalなどは
for i = 1 to 3のような書式しかなく、それでi = 1, 2, 3を網羅する。半開区間にしたければ
whileループを使う。

演算子を使えばすっきり書けるのに、何で>>428の巨大数演算みたいに関数でゴテゴテ
書かなければいけないのか。おまけに関数も自分で実装しなければならないなんて、
それこそ他の言語を使った方が良い。
2020/02/25(火) 01:06:59.95ID:C32G0TY+
ドラゴンボに喩えられない無能ども
2020/02/25(火) 02:54:50.77ID:oSeHo6cg
そんなに閉区間がいいならa.slice(1,3)とか作ればええやん・・・
と思ったが

Goはnon-localな型を直接拡張できないから
自前でラッパーを定義しないとa.slice(1,3)は無理

じゃslice(a, 1, 3)でもいいかって考えるけど
ジェネリックがないから要素の型ごとに関数定義が必要・・・
じゃマクロでコード生成すればいい・・・・・ってマクロもない

詰んどるやんけ
もうa[m:n+1]でええわってなる
2020/02/25(火) 03:52:13.55ID:1ovb/01f
Go ていつもそんな感じだよなwww
言語内で出来る範囲で済んでるうちはまあまあ快適だけど
いざ「これさぁ・・何度も同じパターンでてくるからなんかうまく
楽するやりかた考えられんもんかな」ってはじめると
あーージェネリックないから全部書かないといけないのか面倒くせぇ・・
じゃマクロ・・はないのか・・じゃあどうすれば・・
えええいもういいやベタでシコシコ書こう、ってなりがち
でそういうグチ言うとジェネレーター使えとかいわれるけどあんな
ウンコみたいな機構に頼らないといけない時点でクソすぎるわ
2020/02/25(火) 07:30:56.44ID:AO5ezpPA
Goは楽をするための言語ではない
確実に書くための言語なのだよ
2020/02/25(火) 09:14:21.30ID:SJd9VeEz
>>486
まともなビルドシステムも作れないようなお前がうんこなんだよ
2020/02/25(火) 14:22:44.48ID:2Lu4opRy
goは確実に書くための言語ではない
仕事を増やすための言語なのだよ
2020/02/25(火) 19:15:23.89ID:C32G0TY+
新言語覚えただけで仕事した気になるガイジ
俺みたいな優秀なビジネスマンから見たら同じことしてるだけで偉そうにしてるゴミ
2020/02/25(火) 21:30:57.62ID:AO5ezpPA
おまえは優秀なんだろうな
何がしたいのかわからんアホのために
仕事をし、結論をだし、さらにはその意味付けまで考え出す

馬鹿がトップにいても優秀に見えるようにふるまえる

おれはそんなに優秀じゃない
心が死ぬ
2020/02/25(火) 21:40:22.90ID:AO5ezpPA
雑談スレじゃないじゃねーか
赤っ恥かいた
もう来ない
493デフォルトの名無しさん
垢版 |
2020/02/26(水) 19:03:12.30ID:JAINtVGn
RustもPythonないとビルドできないクソ言語。
しかも2.7系。依存が深すぎて3系にアップグレードできないw
2020/02/26(水) 19:07:45.10ID:5GhL8bDh
>>493
マジンゴーZ??
2020年でサポートおわりやん
ウンコマンブリッチョか?
2020/02/26(水) 21:17:35.91ID:LEGaL302
IBMがSwift開発を終了 - Chris Bailey氏とのQ&A
https://www.infoq.com/jp/news/2020/02/ibm-stop-work-swift-server/

IBMは先頃、サーバサイドSwiftの開発を中止した。これはSwiftがオープンソース化して間もなく開始されたもので、Swift Server Worl Griup[SSWG]のリーダシップも同時に譲渡されている。

GoとRust、そしてSwiftは、型安全でコンパイル可能なネイティブ言語として、CおよびC++の代替となる"現代的ネイティブ言語"としてグループ分けされることが少なくありません。

GoはKubernetesのようなクラウドテクノロジのコアインフラストラクチャや、CLIの開発などに使われるシステム言語として、真の得意分野を見つけることに成功しました。
Rustはまだ展開すべき場所を模索している段階ですが、Web Assemblyによって大きな関心を集めるようになっています。
Swiftが採用曲線において遅れを取っていることは否めない事実です。
496デフォルトの名無しさん
垢版 |
2020/02/26(水) 22:47:29.71ID:dT4BwRcy
TypeScriptは高カインド型作れないのを早くなんとかしてくれ
インターフェース使って無理やり実現するハックもあるけど、ポリモーフィックな関数のUnionをちゃんと単一化できないあたり雑魚いなあという印象
2020/02/26(水) 23:00:43.71ID:yGkcf64x
高カインド型
2020/02/26(水) 23:01:04.23ID:yGkcf64x
高力 インド型
2020/02/26(水) 23:25:33.17ID:5GhL8bDh
const people: Namasute = new Indo()
people.eat(curry).yogaFire()

こんな感じか?
500デフォルトの名無しさん
垢版 |
2020/02/27(木) 00:26:44.33ID:SC3VM5LZ
カリー化か
2020/02/27(木) 01:14:55.96ID:G3iz3let
高カインド型言いたかっただけだろこの馬鹿は。
502デフォルトの名無しさん
垢版 |
2020/02/27(木) 09:21:04.85ID:OJ5+vP6y
低知パキスタン型と戦わせよう
2020/02/27(木) 12:48:26.71ID:gmGuUzNT
$j = new Jap(colonaUirus)
$j.touhyo(jimin) === gaiji // true
504デフォルトの名無しさん
垢版 |
2020/02/27(木) 13:01:06.82ID:OJ5+vP6y
VIRUSをUIRUSって書くって古代ローマ人かよお前www
2020/02/27(木) 13:54:23.83ID:z6pg265N
上のIndoもIndiaではない
2020/02/27(木) 15:59:54.77ID:m23pWZMd
高力インド型ってなんぞ
2020/02/27(木) 17:11:17.64ID:igir/6Hq
mapの引数がlist<A>ならlist<B>を
vector<A>ならvector<B>を返したい
だが引数の型をTとすると返り値の型を宣言できない
508デフォルトの名無しさん
垢版 |
2020/02/27(木) 17:43:30.43ID:jwUSyqkl
c++の型出しテンプレートの不自由版みたいなもんか
509デフォルトの名無しさん
垢版 |
2020/02/27(木) 20:01:01.74ID:SC3VM5LZ
型宣言のないネイティブJavaScriptが
いかに最強かが分かるな
2020/02/27(木) 20:15:45.52ID:gmGuUzNT
標準で型のあるなし選択できるPHPこそ最強
2020/02/28(金) 15:33:40.60ID:Oxj0VwoG
void* で全部持てばいいみたいな糞議論し始めたぞ。。
2020/02/28(金) 20:40:45.71ID:l4cSWDtI
やはりグローバル変数こそ至高
2020/02/28(金) 21:49:36.13ID:eKvCiVmD
型という概念すらないbrainf*ckこそ最強
514デフォルトの名無しさん
垢版 |
2020/03/01(日) 00:36:11.71ID:D/Yz/cH7
高カインド型は、要は型引数を取るジェネリック型の総称だよ

たとえばArrayは、Array<number>とかArray<Indo>は具体型(実行時に存在する値をとりうる型という意味で、抽象クラスに対する具象クラスという意味の具体ではないことに注意)だけど、
型引数を入れてないArray<_>のままだと実行時の値をつくれない
これにnumberなど具体型を入力してやれば、はじめてArray<number>などの具体型となる

そこでArray<_>は「具体型に作用して新たな具体型を作るもので、具体型ではないなにか」と考えられ、こういうものを1階カインドとか Type → Type のカインドを持つという

同様に型引数2個のジェネリック型は2階カインドだったり、具体型は0階カインドともいう。
0階以外のカインドを持つ型を総称し高カインド型と呼ぶ
2020/03/01(日) 00:39:07.10ID:us3Jsokx
Indoの配列って何だよ
516デフォルトの名無しさん
垢版 |
2020/03/01(日) 00:47:37.29ID:D/Yz/cH7
TypeScriptのジェネリクスの高階カインド型サポートがいまいちなのは、
「ジェネリック型に入れられるのが具体型に限定されていること」で、

たとえば map をサポートするジェネリックインターフェースとして
Mappable<f>を作るとする

そのインターフェースを実装できるクラスはカインド1、つまりArray< >など
型引数を1個とるクラスだけにしたい けど、できない

また、カインド Type -> Type -> Type の高カインド型に型1個入れたものは
カインドType -> Type になってほしいけど、こういうこともできない

たとえばkey-valueペアのMap<_, _>なんかは2階カインドだけど、
キータイプだけ指定した Map<string, _> を1階カインドと見なしてMappableを実装させたい(map はMapの各値を変換する関数になる) けど、これもできない
2020/03/01(日) 07:11:57.02ID:S7tJWbi5
ゴチャゴチャ言わずも508でfinal fugure っしょ
2020/03/01(日) 08:55:19.40ID:Es9RVpwC
機能足りないと思うやつが自分で実装してPR送るんだよ
519デフォルトの名無しさん
垢版 |
2020/03/01(日) 09:39:10.97ID:wTWFPuO/
高力インド型
2020/03/01(日) 09:46:16.48ID:J3IrN4Ey
higher-kinded typesの日本語訳は高階型で別に良いと思うんだがな
カインド強調する意味がゼロとは言わないがデメリットのほうが大きい
2020/03/01(日) 10:24:35.13ID:TbG8Ke0I
高階関数という言葉を知ってれば、そこから類推できる高階型って呼び方の方が良いよね
2020/03/01(日) 11:23:12.58ID:us3Jsokx
high power indo type
2020/03/01(日) 12:37:26.26ID:GdO9iGlh
何でもできる方がいいと思い込んでるのはバカにありがちなセンスなのでしょうがない。
2020/03/01(日) 15:16:31.84ID:TbG8Ke0I
変につまみ食いしようとして使い勝手が悪くなるってこともあるよ
Java8から入ったStreamとOptionalみたいなのを自分で書くのすごい面倒くさい
2020/03/01(日) 16:33:14.39ID:hFYkB74O
null禁止型の配列の初期化に必要な無引数コンストラクタ
が無かったらコンパイルエラーになるコンパイラを自分で書けない
2020/03/01(日) 16:48:14.31ID:us3Jsokx
書く必要ないじゃん
はい論破
527デフォルトの名無しさん
垢版 |
2020/03/01(日) 19:10:26.22ID:D/Yz/cH7
高階型はまた別じゃね?
Higher-kinded typesじゃなくてrank-N typesのことかと
2020/03/01(日) 19:27:05.36ID:us3Jsokx
高階してすぐ後悔YO
2020/03/01(日) 21:22:24.37ID:GdO9iGlh
そんな糞機能がほしけりゃマクロ使ってでも実装すりゃいいんだよ。
そうすればゴミ機能ってことに気づくから。
2020/03/01(日) 22:16:25.66ID:0mRiQY7q
高力インド人を右へ
531デフォルトの名無しさん
垢版 |
2020/03/02(月) 02:25:57.25ID:fKVy9ahu
>>92
https://juliacomputing.com
https://i.imgur.com/cz3K43o.jpg
情弱乙
世界の強キャラ企業は全部Juliaを絶賛してるぞ
532デフォルトの名無しさん
垢版 |
2020/03/02(月) 08:24:29.53ID:vmTfu2dg
>>529
自分が理解できなかったものを話してる人がいるからってイライラするなよw
2020/03/02(月) 13:22:02.15ID:dzgadk5u
本当にいい言語は遠くから絶賛なんかじゃく、
自分ところの基幹言語としてプロジェクト全体の10%以上ぐらいの割合で採用するから。
2020/03/02(月) 13:48:47.72ID:JudLh/rB
>>532
理解してるから下らねーつってんだよカス。
お前こそその機能の無駄さとバギーさを理解しろ。
535デフォルトの名無しさん
垢版 |
2020/03/02(月) 17:54:10.41ID:lNfcnDid
>>534
わかったわかった。
ジェネリクスについてちゃんと勉強してきてからまた読み直してくれよ。
2020/03/02(月) 18:08:36.58ID:1of+/HmK
C/C++が絶賛されないのはテストしすぎてリスクの大きさが見えるからだろ
本当に科学的なやつらはテストを嫌う
2020/03/02(月) 19:15:10.70ID:2ci/vrTp
誰でもテストは嫌いだけど?
2020/03/02(月) 19:55:38.54ID:JudLh/rB
>>535
勉強しても問題が理解できてないのかよ。。少しは自分でコード組んでみれば?

>本当に科学的なやつらはテストを嫌う
こんな大嘘をよく平気で言えるな。
539デフォルトの名無しさん
垢版 |
2020/03/03(火) 00:50:53.97ID:halZ50DI
>>538
確かに中途半端にしかポリモーフィズム意識してないお前みてーなやつには
難しくて理解できんのでメンテできる人が限られたコードにはなるという問題はあるな…
540デフォルトの名無しさん
垢版 |
2020/03/03(火) 01:30:28.89ID:9peK0gCx
くりかーえーす♪この
2020/03/03(火) 01:40:19.91ID:K1m6EpnB
Androidアプリ開発ってGoogle自身は未だにJava使ってるのかな?
542デフォルトの名無しさん
垢版 |
2020/03/03(火) 14:51:04.88ID:9peK0gCx
Rust勉強してんだけど、
let mut n = 5;
println!("{}", n = 4);
println!("{}", n);
〜結果〜
4
5
なるほど分からん
2020/03/03(火) 15:42:26.74ID:lzYVFoFM
>>542
>println!("{}", n = 4);

named parameterがformat stringで使われてないから
エラーにすべきケースかもね
544デフォルトの名無しさん
垢版 |
2020/03/03(火) 17:25:37.47ID:9peK0gCx
あー、assignmentではなく…
なるほどだけど、
えー…
Rustでは代入式は右辺の評価値ではなく空のタプルを返すとあったから確かめようとしたらこうなったw
大根乱ですよ
545デフォルトの名無しさん
垢版 |
2020/03/03(火) 17:31:22.84ID:EXykEa9V
むしろ何で代入してると思ったのか
546デフォルトの名無しさん
垢版 |
2020/03/03(火) 18:04:04.14ID:9peK0gCx

いや以下expected `i32`, found `()`でエラーになるけど代入の結果空のタプルが返ったればこそでしょ??どういう意味?
fn foo(x: i32) -> i32 {
x * 2
}
let mut n = 5i32;
let m = foo(n = 4i32);
2020/03/03(火) 18:44:54.59ID:uIYzrTnG
nを定義しても呼び出された側からは見えないのがレキシカルスコープ
でもやっぱり見えるスコープが欲しい
これはダイナミックスコープの再発明だな
2020/03/03(火) 21:48:28.93ID:Bj/i6Nw/
マクロの中がRustのコードだなんて思っちゃ火傷するぜ
https://github.com/fusion-engineering/inline-python
https://docs.rs/cpp/0.5.4/cpp/
2020/03/04(水) 10:26:08.15ID:g+Yoq0EE
エラーを出すとどっか破綻すんのかね
2020/03/04(水) 22:33:59.46ID:/mNi51EN
行儀の悪いことするな、で終わってもいいかもしれんが、結局>>542はどう解釈するのが正しいの?
2020/03/04(水) 22:54:37.02ID:yiNVycVp
>>550
2行目のn=4は println!マクロの中で
`n`というnamed parameterを新しく定義してそれに4を入れてるので1行目のnとは別物
https://doc.rust-lang.org/std/fmt/index.html#named-parameters

個人的にはエラーにすべきケースだと思うけど
named parameterが明示的に使われてなくても
format stringが必要としてるパラメータの数に合致してるとエラーが出ないっぽい

let x = 100;
println!("{}, {}, {}", x, x=200, y=300); //=> 100, 200, 300
2020/03/04(水) 23:01:20.25ID:4yioSA0z
fn print6(a:()){ println!("{}", 6); }
let mut n = 5;
println!("{}", n = 4); //マクロの引数: 代入じゃない(マクロの仕様次第)
println!("{}", n);
print6(n = 7); //関数の引数: これは代入
println!("{}", n);

4
5
6
7
2020/03/07(土) 00:08:15.14ID:po15mmZE
書けば書くほどPython嫌いになるわ
機械学習とかやるにはいいんだろうけど、これでサーバーサイド組むとか狂気もいいとこ
やっぱ型無し言語って糞だわ
2020/03/07(土) 08:46:48.72ID:/ejMiS3D
どの程度の型が欲しいの?
2020/03/07(土) 10:01:11.59ID:XLWmxUUx
サーバー組むならgo使えばええやん。なぜpython?
2020/03/07(土) 10:09:34.67ID:po15mmZE
>>555
過去のおガイジどもが色んな言語使いすぎて保守不能になって
社内標準言語がPythonとJavaScriptだけになったから

>>554
最低でもJava8
どんなに type hinting 書いても IDE は黙ったままだし補完も大して効かないし
糞of糞、糞の山マウンテンがチョモランマ

__init__.pyがないとimportできない糞
pyenv使ってbuildしてもruntimeエラーがでる糞
venv,pipenv,poetry,pyflow, おまえいったいいくつパッケージ管理ツールつくるねんの糞

糞糞糞糞
2020/03/07(土) 10:35:22.99ID:Gh4Y79Ev
PythonとJavaScriptだけって結論出した奴も含めておガイジやん
つまるところ一番の糞はその職場や
2020/03/07(土) 10:38:36.62ID:XLWmxUUx
>過去のおガイジどもが色んな言語使いすぎて保守不能になって
これはまあよくある話だが
>社内標準言語がPythonとJavaScriptだけになったから
こうなるのは珍しいな。。普通は逆にこいつの言うように堅めのやつでjava一択とかなりそうな気はするが。
559デフォルトの名無しさん
垢版 |
2020/03/07(土) 10:49:17.19ID:tB1OTpLA
今javaは時期が悪いよ
2020/03/07(土) 11:19:48.16ID:po15mmZE
>>557
わかっとるわそんなん
だがPythonが糞なのも事実

>>558
超消極的な理由で選ばれただけ
バックエンドは機械学習プロダクトもあるからPythonは必須
フロントエンドはJavaScript必須

他はなんも考えてない
笑えよ
2020/03/07(土) 11:31:51.02ID:XLWmxUUx
またとりあえず機械学習に手を出しちゃうところも糞要素として取り上げたいw
2020/03/07(土) 12:21:08.97ID:z518jRtl
>>556
>どんなに type hinting 書いても IDE は黙ったままだし補完も大して効かないし

これはIDE自体の問題か使う側の問題じゃないか?
2020/03/07(土) 12:41:54.68ID:po15mmZE
>>562
じゃあVSCodeが糞かpythonのlspが糞かだな
糞ばっかりだ
2020/03/07(土) 12:52:50.19ID:3vujaOiu
>>563
お前がうんこなんだと思うよ
職場でも無能と思われてそうw
565デフォルトの名無しさん
垢版 |
2020/03/07(土) 13:13:17.74ID:e127m1PH
Pythonどちらかと言うと好きな方だけど開発環境周りは糞極めてるよね
2020/03/07(土) 13:30:02.16ID:po15mmZE
うるせーコロナで死ね
俺の言うこと聞かない言語は全て糞なんだよ糞、糞糞糞の糞
2020/03/07(土) 13:40:37.80ID:hl5qkDBY
まあ発狂してもおかしくなさげな環境なのは同情の余地あるわな。。
2020/03/07(土) 13:45:28.33ID:S0pb9ZoR
Pythonの
JavaScriptに対するTypescript相当
の言語欲しい
569デフォルトの名無しさん
垢版 |
2020/03/07(土) 15:06:23.05ID:Zs2bgd34
TypeScript作ってる当のMicrosoftがPyright出してるじゃん。何の不満が?
2020/03/07(土) 15:15:02.73ID:po15mmZE
>>569
使ったことあるか?
import先もまともに検知できないガチゴミガイジだぞ
571デフォルトの名無しさん
垢版 |
2020/03/07(土) 15:41:21.16ID:Zs2bgd34
乞食の癖に贅沢言うな!じゃあお前が作れ!
2020/03/07(土) 17:04:18.90ID:po15mmZE
>>571
そういう問題じゃねえーだろカスが!
2020/03/07(土) 17:10:01.53ID:/3GyPk4K
要はライブラリでPythonを超えればPythonは消えるよね
でも大抵の言語はライブラリを管理するツール自体が保守不能になる
Pythonは手動またはC言語のツールに丸投げしておけば保守不能にはならない
2020/03/07(土) 19:26:36.13ID:XLWmxUUx
まあc言語のライブラリ管理はそんな簡単じゃないがな。
低レイヤー触るとどうしてもそうなる。
2020/03/07(土) 21:21:55.92ID:zyQisfjb
PythonがC FFI側に投げてるライブラリのバージョンの複雑さは結局ユーザじゃなくてメンテナがコスト払ってるだけな部分もあるからな……
576デフォルトの名無しさん
垢版 |
2020/03/07(土) 22:13:32.23ID:7WCIBliR
>>574,575
そんな低レイヤーうんぬんなど些細な話だ
そもそも2系から3系への移行ではPython本体やCライブラリだけでなく、
あまたの2系ライブラリのメンテナが膨大なコストを払っているのだから…
「後方互換性の断絶」とはそうゆうものだ

Python利用者はそうした神の決定に逆らうことは許されない
神の行いは絶対であり、聖書PEPを疑ってはならない
2020/03/07(土) 22:48:02.52ID:XLWmxUUx
2のメンテは終了しただろ。何言ってんだこの馬鹿は。
2020/03/07(土) 22:50:53.56ID:z518jRtl
Pythonとか言うレガシー言語の話はスレチだぞ
2020/03/07(土) 23:32:00.06ID:po15mmZE
最新の3.8ですらJavaにすら劣るゴミという事実
2020/03/08(日) 07:27:02.29ID:8cCRMkvW
一方で単一の言語処理系に過去バージョン互換をさせるとそれ自身の複雑さが極端に増すのは間違いない訳で
結局どこかしらでコストは払ってるんだよ
この辺はいくら次世代のいい感じの言語が出ようとも変わらないと思う
2020/03/08(日) 08:57:57.34ID:WHPmDMrq
んなあたりまえのこといわれても、でっ?ていう。
最適な互換性の維持具合についてなんか意見でもあるなら言えばいいけど
なんも考えてなさげだな。
2020/03/08(日) 09:38:38.42ID:oRQj+xWf
Pythonには2と3があるから駄目
そしてPythonをJavaに置き換えることを意識した時点で
Javaもその駄目なグループのメンバーになったようなもの

GCがある言語は多分みんな駄目になってしまう
2020/03/08(日) 09:56:41.58ID:I0GhLDrC
>>578
ここは「次世代言語に憧れるレガシー言語労働者の愚痴スレ」だから
584デフォルトの名無しさん
垢版 |
2020/03/08(日) 10:06:42.70ID:ZuSBaXSz
いやJSもGCあるだろ…
2020/03/08(日) 14:22:36.07ID:jdr/SdJJ
>GCがある言語は多分みんな駄目になってしまう
なんの根拠もなく現状を全く無視したことを平然とのたまう精神はどこからきてるんだろうか。

こういう輩が好みそうなのはrustですかね。
2020/03/08(日) 16:42:21.18ID:8nAE6D2E
そうだね
なんの根拠もないものは全く無視されて当然
その精神がある限り、古い仕様は無視されて互換性が無くなる
587デフォルトの名無しさん
垢版 |
2020/03/08(日) 17:08:13.34ID:aNSOANJ3
仕様は根拠では?
2020/03/09(月) 12:56:13.44ID:sMpZHxT3
静的型付け言語(typescript)の設計を学ぶためには、HaskellとF♯どっちが向いてるんだろう。
2020/03/09(月) 13:55:56.02ID:ufIdRt45
javaでええやん
2020/03/09(月) 15:09:02.70ID:3YbuMVaT
TypeScriptの設計を学ぶならTypeScript以外に無いだろ
591デフォルトの名無しさん
垢版 |
2020/03/09(月) 16:12:01.63ID:yVhMK1Dj
Javaとか型システム微妙言語の代表だろ
592デフォルトの名無しさん
垢版 |
2020/03/09(月) 16:54:47.41ID:SsKgVmjs
javaScriptの数値は浮動小数点数だけなんたな
2020/03/09(月) 17:45:31.41ID:lIxpUDM9
なんでそうなったん
594デフォルトの名無しさん
垢版 |
2020/03/09(月) 19:28:17.56ID:vLcN6ouJ
NumberとBigIntの二種類あるよ。
かつてNumberしかなかったのは、
JS作ってるほうも「JSで数値計算?そんなやつおらへんやろ〜」って感じだったんだと思う。
実際はそんなことはなかったという歴史は知っての通り。
2020/03/09(月) 20:29:51.94ID:8jAtqHAE
昔から知ってるやつからすると
ホームページ上で動的にデザイン変えるための言語だよなそもそもは
2020/03/09(月) 20:44:02.12ID:vwFp+YAO
昔だけ知ってるだろ?
2020/03/09(月) 21:37:38.49ID:ZpX38Mjq
TypeScript、普通にトップクラスに書きやすいから困る
json 扱うなら TypeScript さいつよ
598デフォルトの名無しさん
垢版 |
2020/03/09(月) 21:57:00.16ID:y1num/wG
JavaScriptでも、ビット演算は32bit符号付き整数に対する演算と決められてるので、
直接32bit整数の値を作れはしなくても、内部的にそのような型は存在はしてるはず

JavaScriptではビット演算はオペランドをこの32bit整数に暗黙的に型変換してから
実行するので、これを利用してNumber型を"整数型"に変換できる
a = Math.PI | 0
a == 3 // --> true

実際、JavaScriptにトランスパイルされるAltJSのPureScriptではInt型があるけど、
PSからコンパイルされたJS見てみると、Intは|0で実装されてるのがわかる。
2020/03/09(月) 22:05:45.05ID:m8/R2X0g
asm.jsと言うのものがあってだな・・・
元々誰も使ってなかった上にwasmの登場で完全にいらない子になったけど
2020/03/09(月) 22:09:10.66ID:+A4ZnB3N
int型の有無で言語を2つ以上作る世代は早く終わってほしい
ライブラリを追加するだけですむようにしてくれ
2020/03/09(月) 22:23:03.50ID:3YbuMVaT
>>599
むしろ要る子だったからwasmに進化したんだが
分けて考えるのはナンセンス
2020/03/10(火) 00:01:49.26ID:JL6LcQ03
なお誰も使わんもよう
2020/03/10(火) 00:11:22.94ID:XfE8NJsh
>>602
https://github.com/WebAssembly/design/blob/12ee148fb5cfa33331dbffadae06752b1759a7bf/HighLevelGoals.md

> WebAssembly High-Level Design Goals
> 4. Design v.1 as a Minimum Viable Product: basically what you can do with asm.js.

これが出発点だからな
そのレスはかなり間抜け
2020/03/10(火) 00:35:40.04ID:JL6LcQ03
v8が優秀すぎてasmなんていらねンだわ
605デフォルトの名無しさん
垢版 |
2020/03/10(火) 01:26:22.74ID:p2qIixd6
優秀つってもしょせんC++で作られたプログラムだろ?C++褒め称えろよ
2020/03/10(火) 02:25:56.91ID:pLogcX5n
出発点だったら何なんだよ
すべてのC言語プログラマはBCPLを崇め奉らなきゃいけないのか?
どっちが間抜けだよ
607デフォルトの名無しさん
垢版 |
2020/03/10(火) 02:57:32.01ID:YCA0GKqZ

V8はC++で作られてるでしょ?
CコンパイラはBCPLで書かれてるの?
違うでしょ?大抵CかC++で書かれてるでしょ?
何で書かれてるかと何が先祖かの区別つかないとか、頭大丈夫?w
2020/03/10(火) 03:57:53.48ID:Vh3kisjp
つまり機械語が神
2020/03/10(火) 07:40:37.31ID:zMjjJrJs
でもアセンブラとC++にはマクロがあるから
文字列指向というか

asm.jsもテキスト形式だな
2020/03/10(火) 11:25:46.45ID:JL6LcQ03
マクロって何?
2020/03/10(火) 11:29:46.52ID:uPXabSQ0
本質的には引数を評価しないでそのまま使う関数
612デフォルトの名無しさん
垢版 |
2020/03/10(火) 12:27:40.09ID:TTfAesFm
ももも、文字列指向www
マクロがあったらw
文w字w列w指w向www
Rustもマクロがあるから
文w字w列w指w向www
2020/03/10(火) 14:14:07.58ID:zMjjJrJs
IDEも予測入力もなかった時代に入力を補完するオーパーツ的な存在がマクロ
引数があれば補完後のどこかに挿入されたりする
2020/03/10(火) 14:52:47.65ID:JL6LcQ03
何それ
何が嬉しいの
2020/03/10(火) 15:14:15.03ID:zMjjJrJs
コンパイル前にできる処理をコンパイル・実行時にやらない
2020/03/10(火) 19:21:25.93ID:wOkC+tNx
defineマクロみたいなのは純粋な文字列置換
lisp系とか高級になるとトークンを受け取ってどのような構文木を作って返すかプログラマーが操作できる処理
2020/03/10(火) 19:32:18.89ID:uPXabSQ0
lispのマクロと関数の違いに対する理解が浅そう。
618デフォルトの名無しさん
垢版 |
2020/03/10(火) 20:04:37.71ID:ZpJirelH
フォトジェニックマクロとか言うやつでしょ?ぼく知ってるよ
2020/03/10(火) 22:20:01.26ID:Ph+PgS0T
赤身が好きです
2020/03/10(火) 22:29:12.83ID:JL6LcQ03
要するにbabel?
621デフォルトの名無しさん
垢版 |
2020/03/11(水) 02:11:53.77ID:zwwCe0yv
スレタイにJulia入れなかったのはつまりそういうことか
622デフォルトの名無しさん
垢版 |
2020/03/12(木) 01:25:03.61ID:cYhZNtzC
Rust触ってみたいんだけど逆に悪いところってなに?
いいところしか聞かないから聞きたい
2020/03/12(木) 07:35:14.32ID:bA+UUDN6
>>622
Rust使ってると変な人にからまれるから、やめといた方がいい
2020/03/12(木) 08:11:31.88ID:6ER5Rjkf
読んで字のごとく
何をやってもつっかかる
できるはずのことができない
2020/03/12(木) 09:23:56.54ID:cdl9Dqe3
コミュニティーがことごとく都合の悪いことをなかったことにしている。
そんなに悪いとこがねーならとっくに他の言語を置き換えてるだろうに。
2020/03/12(木) 09:34:32.26ID:SjQQh/Ja
安全教信者がうるさいって印象はある
でも言語自体はよくできてると思うわ
Let's EncryptのやらかしもRustなら防げたんだろうし
2020/03/12(木) 09:37:04.12ID:cdl9Dqe3
防げるわけねーだろ。。
結局低レイヤーの配列のインデックスに演算が必要な場合はunsafeだしな。
そういうところで嘘を表に出さないようなことやってるから信用がない。
2020/03/12(木) 09:52:08.63ID:SjQQh/Ja
なんの話してんの
2020/03/12(木) 09:55:20.70ID:cdl9Dqe3
何にもわかってないなら言わなきゃいいのに。。
2020/03/12(木) 10:35:24.94ID:pkrQoC1s
C++はユーザーに数十年間検査され欠陥が大量に見つかったがほとんど直さない
Rustはそもそも検査されてないので直すところもない

あとは正しい方を選ぶだけの簡単な作業
2020/03/12(木) 10:57:04.90ID:2DPQopCV
欠陥は誰かが騒ぐからググればすぐに出てくるので
実害はない。そこを避ければいいだけ。
普通、迂回策も書いてある。
2020/03/12(木) 10:57:34.97ID:bA+UUDN6
ほら、やっぱり基礎的な文法すら見てないような奴にからまれてる
2020/03/12(木) 11:02:50.18ID:xxd0OfES
主要言語の消費電力・処理時間・メモリ
https://www.researchgate.net/figure/Normalized-global-results-for-Energy-Time-and-Memory_tbl2_320436353
2020/03/12(木) 15:10:51.89ID:B7szUci1
>>627
どういうバグだったのか見てきたが
何もわかってないのは君のほうみたいだね

https://bugzilla.mozilla.org/show_bug.cgi?id=1619047
https://github.com/letsencrypt/boulder/pull/4690/commits/ba6b85ee126b50d19837a53a52cb6d894594935f
2020/03/12(木) 15:31:45.71ID:0Q2uMOAR
少なくともピューと吹けば壊れるPHPより良い言語であることは疑いようのないTru
2020/03/12(木) 19:35:48.05ID:gx+WAl6Y
>>627
なんで何もわかってないのに偉そうにしちゃうん?
2020/03/12(木) 19:57:06.51ID:vSXXsYBd
>>627
誰が一番信用がないかが分かったな
638デフォルトの名無しさん
垢版 |
2020/03/13(金) 17:50:55.96ID:uMGbn/tA
インフラに疎いんだけど、
デプロイ(CD)ってどのファイル転送プロトコル使われることが多いの?
639デフォルトの名無しさん
垢版 |
2020/03/13(金) 18:07:48.25ID:jvKiI+vV
scp
2020/03/15(日) 22:18:17.86ID:gNXlAxhx
GoogleのPWA推しはなんなんや……
File APIじゃサンドボックスからファイルシステム一切アクセスできない
試験運用中のNative File System API試したらinput type=“file”とできることかわらなくてマジクソ
パスすら取得できないって始まる前から終わってますやん
PWAとかいうその幻想をぶち殺す
2020/03/16(月) 03:04:15.00ID:9SLGD+wr
ローカルファイルをやめて全部サーバーにおかせようって魂胆
ま、クロウムブックだとかグーグルのネットストレージサービスの促進には役だつわな
当然、巨大ファイルをしょっちゅうガリガリやるようなアプリにはまるで使えない
2020/03/16(月) 07:49:03.33ID:IojLJcYy
ウェブ、ローカルストレージ APIとか明らかにiOS/Androidしか考えてないよな
アプリの設定やデータだけキャッシュできればいいならそらそうか……
wasmはブラウザアクセス時にホストからダウンロードして実行とかMSのClickOnceを思い出すわ懐かしい
そしてwasmもサンドボックスの制約から逃れられないから恩恵受けるのゲームだけなんじゃなかろうか
2020/03/16(月) 15:46:11.75ID:sEXify1M
原作と全然違うアニメが炎上するようなものか
644デフォルトの名無しさん
垢版 |
2020/03/17(火) 01:49:34.03ID:EqYyAGcG
Googleは自分のサービス繁栄のことしか考えてないからな
合理的なエコシステムなんて糞くらえよ
2020/03/17(火) 19:34:03.42ID:4wOPps0G
で betterC はどれ
646デフォルトの名無しさん
垢版 |
2020/03/18(水) 10:46:35.92ID:UiixgEyd
betterCという呼称はCに対して失礼だと思う
647デフォルトの名無しさん
垢版 |
2020/03/18(水) 10:46:36.14ID:UiixgEyd
betterCという呼称はCに対して失礼だと思う
2020/03/18(水) 11:10:47.27ID:ysA7x2sq
大事なことなので2回
2020/03/18(水) 12:09:15.13ID:LF+YjKOD
じゃあ何ならいいの?
AltC?
2020/03/18(水) 14:05:37.85ID:m8jl3r7k
>>645
C99, C11, C18, C2x
2020/03/18(水) 14:40:59.49ID:QhEd5Nre
C99でいい
2020/03/18(水) 15:23:05.35ID:dFIFySqQ
COVID-19
2020/03/18(水) 16:17:02.71ID:U9aknzyy
>>651
C99 の大部分は改悪、C89 こそ正義!
654デフォルトの名無しさん
垢版 |
2020/03/18(水) 16:23:14.96ID:0bSESAPE
どこが?
具体的に。
2020/03/18(水) 16:24:55.32ID:U9aknzyy
>>654
C99 の C++ 互換でない仕様は基本的に害悪
656デフォルトの名無しさん
垢版 |
2020/03/18(水) 16:39:49.24ID:0bSESAPE
>>654
C99 と互換でない C++ の仕様が害悪なのでは?
ボブは訝しんだ
2020/03/18(水) 22:36:26.94ID:IrvT9dn/
K&Rとかいう化石以外なら何でも良いよ
2020/03/19(木) 03:45:35.82ID:VRFqiqhe
>>622
Rustは、有る意味では普通の「手続き型言語」の枠組みを超えてしまっているため、
通常のプログラミング言語の代わりに使うことはほぼ出来ないことが最大の欠点。
関数言語以外ではどの言語でもほぼ共通である所の変数の代入の概念がRustでは
変更になってしまっている。
2020/03/19(木) 03:51:58.51ID:VRFqiqhe
>>642
ファイルシステムに関しては、本当にサンドボックスの外に出られ無い事が
大問題ではあるが、Wasmは雰囲気だけはnativeアプリ見たいには出来る。
ダウンロード時間を含めて起動も速い:
https://yutakaaoki.github.io/demo1/index.html
2020/03/19(木) 04:21:11.94ID:VRFqiqhe
>>98
KotlinとSwiftは、それぞれ、ほぼ AndroidとiOS専用なのに対し、DartとFlutterと組み合わせは、マルチプラットフォームであることが違うことは違う。
2020/03/19(木) 04:23:28.20ID:VRFqiqhe
>>96
Dartは、Javaにも似ているが、初期のころのC++に似ている気がした。
原始的なC++から、型を明示した宣言を省略したような感じ。
C#やSwiftには便利さの点で負けると思うし、確かにJavaにすら負けているかもね。
2020/03/19(木) 04:29:05.38ID:VRFqiqhe
>>24
Rustは、厳格すぎて余計なことに気を取られたりタイプ量が多すぎてむしろC++より生産性は下がりそうだ。
生産性という意味では、C#やJavaの方が上だろう。
2020/03/19(木) 04:43:25.86ID:H2D24Ilu
>>659
結局wasmの売りってホストにデプロイされたバイトコードが如何なる環境でもChromium上で実行可能かつネイティブと迫る速度であるってことだからやっぱターゲットはゲームやモバイルアプリなんだよな
そうなると最近アナウンスされたReactNative for Windows/Macとはベクトルが違うからやっぱクロスプラットフォームって幻想だよな
実際アプリもネイティブで書いた方がメンテしやすいからなみんなネイティブで書いてるもんな
664デフォルトの名無しさん
垢版 |
2020/03/19(木) 06:33:09.69ID:I3A3yd/j
それはwasmじゃなくてwasiでやろうとしてることでしょ?
2020/03/19(木) 12:54:55.70ID:H2D24Ilu
>>664
wasiなんてあるのか知らなかったわサンクス
node.jsでも試験的に実装されてて実際に動作するみたいやな
現状ファイルアクセスだけみたいやがネットワーク接続もできるようになるみたいやしnode.jsでwasiがサポートされてるなら完全なクロスプラットフォームが実現しそうやな
2020/03/19(木) 13:04:19.10ID:Pzb6grX0
ぼくもwasiって知らんかった。このスレたまたま開いてよかった
2020/03/19(木) 13:43:55.40ID:VRFqiqhe
Wasm : ブラウザで動かす。バックエンドのJSのcanvasなどを使うことで
    グラフィックも使え、GUIも可能。原則、nativeファイルシステムが使えない。

wasi : Wasmを使うがブラウザ外で動かし、今のところCUI専用。native ファイル
    システムが使えるので、サーバーサイドの node.jsやJavaの置き換えや
    組み込みに向いているらしい。
2020/03/19(木) 13:47:08.94ID:66GF5L4f
webの流れ早過ぎ
業務で触ってないと追いつける気がしない
2020/03/19(木) 13:48:24.36ID:MilrfGsk
wasiの変なサイトにアクセスしたら勝手にインストールされて
激重なるの?情報も抜かれる?
2020/03/19(木) 13:56:02.78ID:VRFqiqhe
>>667
他にも、
Wasmer, Wasmerio(Wasmer I/O ?), Wasmtime など色々出てきている。
2020/03/19(木) 14:39:21.98ID:VRFqiqhe
>>669
そんなことは無い。
すべてはブラウザのセキュリティーモデルの中で動いているので、
原則的に今までどおりのセキュリティーレベル。
というのは、結局、Wasmで出来ることはJSでできることと変わりが無いため、
JSでどう書いてもできないことは、Wasmでもできないから。
Wasmの大きな利点は、JS以外の言語が使えることで、プログラムが開発し易くなること。
たとえば、JSだと間違いになかなか気づかない箇所でもC++だとコンパイラが発見してくれ、protected属性をつけていれば、他のclassからのアクセス制御なども出来て、保護したい変数に不用意にアクセスできなく出来たりする。
672デフォルトの名無しさん
垢版 |
2020/03/19(木) 15:20:08.64ID:dnKvjYNt
DOS攻撃すると逆にハッカー側がダメージ負う方法ってない?
例えばレスポンスで巨大なファイル送りつけるとか(多分レスポンス受け取らないから意味なさそう)
2020/03/19(木) 16:26:42.06ID:jGrvpb5b
ネットを利用するとお金がかかるようにすればいいのに
なんでネットすぐタダにしてしまうん
2020/03/19(木) 16:45:13.38ID:H2D24Ilu
>>668
俺は最新のメタはほぼすべて趣味で調べて自宅でコーディングして試してるで
仕事やとまず言語ですら最新のバージョン触れないから言語やフレームワークの新機能やトレンドはすべてプライベートでないとキャッチアップ不可能
2020/03/19(木) 16:57:59.44ID:M+e24sDQ
wasi なんてワシもしらんかったわい
2020/03/19(木) 17:00:48.35ID:c1m9bpJY
>>673
じつはネットもぜんぜんタダやないんやで
主に広告によって収入を得る仕組みになっとるんや
ただしサービスを受けとる側が提供してる側へ直接払うみたいな
ドストレートな金の流れにはなってへんし、そもそもサービスを
提供してる側が金をもらうようにはなってない事もようあるで
世の中タダのもんなんてあらへんで
677デフォルトの名無しさん
垢版 |
2020/03/19(木) 17:53:08.01ID:hFX+dqhp
>>669
その文脈でwasiはおかしい。wasmかな?
2020/03/19(木) 19:35:41.74ID:KTdRY0Ga
>>657
K&R2=C89 で必要にして十分、それ以降は蛇足
679デフォルトの名無しさん
垢版 |
2020/03/19(木) 22:41:13.00ID:i16Q86hT
> というのは、結局、Wasmで出来ることはJSでできることと変わりが無いため、
> JSでどう書いてもできないことは、Wasmでもできないから。

え?
間違ったことは教えちゃダメよーダメダメ🙅‍♂

wasmでしかできないこともあるし、JSでしか出来ないこともあるよ
2020/03/20(金) 00:11:25.98ID:405ti7Ej
>>679
いや、言語が変えられることと、速度が速いこと以外は、Wasmが
出来ることはJSと完全一致で、JSが出来る範囲の事を超えることは出来ない。
これは絶対。
2020/03/20(金) 01:17:37.81ID:b2ihZgLg
>>679
>wasmでしかできないこともあるし、JSでしか出来ないこともあるよ

これはそうだけど
セキュリティ観点でJS onlyでは出来ないけど
wasm使えば出来るってことは無いよね?
2020/03/20(金) 02:27:28.05ID:uULTB4xx
うーん、俺の理解はこんな感じやな
クライアントのwasm対応ブラウザからホストにデプロイされたwasmのバイナリをリクエストしてダウンロードされたバイナリをブラウザで実行。
wasmの実行はブラウザ依存で対応ブラウザさえあれば組込だろうとどんな環境でも実行可能かつ高速なのが魅力。

wasm ←
・CaaS、コンテナみたいなもの。
・wasmは現状ブラウザ標準のFile APIしか使用できないのでネイティブファイルシステムにアクセスできない。
・ChromeではNative File System APIが試験導入されてるが、現状できることはinput type=“file”のFile APIとかわらない(これは試した)。
・各言語で書かれたソースコードをコンパイルして、wasmファイル(ブラウザで実行するバイナリ。プラットフォーム毎にバイナリが作られる)を生成。
・よって基本AOTでJITやインタプリタはない?

wasi ←
・PaaS、仮想マシンみたいなもの。
・wasmから利用できるプラットフォーム毎のネイティブファイルシステムAPIを抽象化した実装。
・wasiの機能・使用方法
→ watからモジュール(ライブラリ)を参照して使用する。
→ wasiを使用して書かれたソースコードをwasi対応バイナリとしてコンパイルする、コンパイルされたファイルはwasmだったりしなかったり。
→ wasmを実行するランタイムでもある。
2020/03/20(金) 02:35:29.88ID:405ti7Ej
>>682
>・各言語で書かれたソースコードをコンパイルして、wasmファイル(ブラウザで実行するバイナリ。プラットフォーム毎にバイナリが作られる)を生成。
「各言語で書かれたソースコードをコンパイルして、wasmファイルを生成」
の部分は正しいが、
Wasmはプラットフォームごとのバイナリではなく、あらゆるプラットフォームで共通の1つのコードだ。
だから、全く同じ *.wasm が Win/Mac/Linux/Android/iOS で、Wasmに対応したあらゆるブラウザで動作する。
なので、プラットフォームごとにキオンパイルしなおす必要は全くない。

>・よって基本AOTでJITやインタプリタはない?
Wasmは基本的にAOTではあるが、実行段階でさらにJITによってさらにコンパイルされて高速に動作される。
この段階でWasmの形式から、CPUのマシン語の形式に変換されることがある。
また、Wasmにはインタプリタも存在している。
684デフォルトの名無しさん
垢版 |
2020/03/20(金) 05:58:59.54ID:qGV0eoEO
>>680
> 出来ることはJSと完全一致で、JSが出来る範囲の事を超えることは出来ない。
完全一致www
まぁ色々仕様見た方がいいね

>>681
むしろセキュリティ観点からするとJSの方が安全だよ
"そこ"に関しては特別WASMだけが出来ることはないよ
2020/03/20(金) 11:01:34.93ID:405ti7Ej
>>684
正しく言えば、Wasmでも、画面の見た目、グラフィック、キーボード/マウス/タッチパネルなどの
入出力、IMEなどを使った日本語入力、XHRやfetchなど、File API, native file API,
などはJSを使ってしか出来ないのでJSで出来ないことはWasmでも出来ないことになるので、
「Wasmで出来ることは使える言語と速度を除いてはJSと完全一致」
ということは正しい。
686デフォルトの名無しさん
垢版 |
2020/03/20(金) 17:23:27.50ID:43c15jQs
自己矛盾
2020/03/21(土) 11:21:11.63ID:W/MeN4A+
>>676
でもワイ、毎日タダでシコりまくりんグの件
2020/03/22(日) 09:31:45.18ID:zQpJysa3
>>658
>関数言語以外ではどの言語でもほぼ共通である所の変数の代入の概念がRustでは
>変更になってしまっている。
たいへん良いことじゃん?
変更されない変数を後から探してconstを付けて回る工数が削減される、
2020/03/22(日) 16:15:40.85ID:6GcIkd5x
Rustの所有権や借用の概念は何で今まで他はこうじゃなかったのかと思ってたわ
難しいとか聞いたので構えてたけど、全く何の違和感も無かった
但し書き方が、もうちょい何とか出来なかったのかとは思うが、Rustが難しいのは概念や仕様じゃなくて書式
2020/03/22(日) 16:48:50.31ID:HvrypJyW
>>689
参照などの書き方に統一感が無いのは、Perl の関数呼び出しにおける参照型を思い出させる。
結局、分けが分からないので、衰退して言ったようだ。
2020/03/22(日) 20:50:12.50ID:ZvBqcowf
rustはコンストラクタにもう一工夫あればc++に取って変われたかもね。
2020/03/22(日) 21:27:08.55ID:6pjqYr89
>>691
そのココロは?
2020/03/22(日) 21:28:05.51ID:I5Su+SV6
AppleのCloudサービス(iCloud, iTunes, Siri, Maps)はRustへ移行するってさ

Following a very successful first foray into Rust we are migrating an established codebase from C to Rust, and building new functionality primarily in Rust.
https://jobs.apple.com/en-us/details/200144575/software-engineer
https://jobs.apple.com/en-us/details/200117537/software-engineer
2020/03/22(日) 22:46:24.47ID:bDl/VAFl
欲求の大体は想像できるけど
ライブラリ等の使用準備はインスタンス駆動よりも
ブロック内に記述/用意したプロパティを言語機能で勝手に読み取り構築してくれるくらいやって欲しいね
機能関数を初めて呼んだ時点でブロック単位最優先のヤツをライブラリに渡してくれるようなの
ブロックの親子関係でマイナスになったら初めてフラグもリセット
2020/03/22(日) 22:52:16.35ID:6pjqYr89
意味がワカラン
2020/03/22(日) 23:25:52.06ID:0rN6cFcx
>>693
Swiftの間違いだろ
2020/03/23(月) 10:12:42.25ID:YjRO4AxK
造語症の検査が必要だ
造語症を見抜けないことでかえってリソースが浪費される
2020/03/23(月) 10:57:01.11ID:qdgRIROC
DropboxもクライアントをRustに書き換えか
Pythonの型アノテーション頑張ってたけど
2020/03/23(月) 11:44:55.37ID:IXWRbkqI
>>692
書いてみりゃわかる。
状態変更や共有に気を遣うとインスタンス生成を上手くやる必要が出る。
700デフォルトの名無しさん
垢版 |
2020/03/23(月) 12:42:49.16ID:e6B2kqQy
rustのhello world 4MBになるけど最小化しようとしたら存外難しくてワロタw
2020/03/23(月) 14:57:51.21ID:+m59DBar
cargo newしただけの状態をBuildしても143KBなんだが…
Goと間違ったのかな?いや流石に無いか、どういう事なんだ釣か?
2020/03/23(月) 15:21:39.20ID:cEc1Pjxt
人工知能にハロワでもさせたんやろ
2020/03/23(月) 15:51:42.58ID:z2RWyRRi
AppleもcをRustに置き換えしていくって言ってるよ
2020/03/23(月) 16:08:07.86ID:ryqQXgQk
こマ?
2020/03/23(月) 16:09:53.98ID:z2RWyRRi
ほい
https://www.phoronix.com/scan.php?page=news_item&;px=Apple-From-C-To-Rust
706デフォルトの名無しさん
垢版 |
2020/03/23(月) 16:14:33.22ID:QFUl7nfE
本文と関係無いグロ画に悪意をおぼえる
2020/03/23(月) 18:27:55.44ID:KRdtMR7c
rustにコンストラクタねえ?
コンストラクタに一工夫とか釣りなのかエアプなのか判断に苦しむ
708デフォルトの名無しさん
垢版 |
2020/03/23(月) 18:48:57.41ID:Txpengd8
rustのGC性能ショボすぎワロタwww
2020/03/23(月) 19:06:25.60ID:cjB95B7K
>>701
strip -s してないだけだろう
2020/03/23(月) 19:54:20.21ID:IXWRbkqI
>>707
すまん、refCell、mut使いまくりの馬鹿には関係ない話だな。
2020/03/23(月) 20:29:15.25ID:cEc1Pjxt
ワイJavanist完全コンストラクタで華麗に対応
2020/03/25(水) 14:31:56.32ID:2CCp9AcV
公式のリファレンス読んでもRustを使うメリットがわからんのやけどPythonみたいに環境がトータルとして優れてるってことか?
変数を束縛という概念で標準でイミュータブルとして定義されると何が嬉しいんや?constやreadonlyやとあかんのか?
スコープとシャドイーングもクロージャやとあかんのか?有識者からの説明求む
環境やパフォーマンスやなくて言語仕様や機能そのものは個人的にC#が最高やと思うんやけどマイノリティなんかな
2020/03/25(水) 14:49:34.17ID:VKn2QSTg
Rustのメリットは実行時のパフォーマンスを犠牲にすることなくそこそこモダンで高度に抽象化された言語で書けること
開発効率だけで言えばC#の方が圧倒的に上だし、総合的なROIで見てもRustがC#を上回るケースは現実にはほとんどない
714デフォルトの名無しさん
垢版 |
2020/03/25(水) 15:02:16.86ID:6ULKuSqz
CもC++もDも使ってきたけど最近はPythonばっかり
Pythonが物足りなくてRust覚えようとしてたけど
C#が思いの外良くてそのままC#使ってる
2020/03/25(水) 16:01:27.10ID:bWSDziy7
Nimは?
2020/03/25(水) 16:20:35.23ID:2CCp9AcV
>>713
なるほど、ちゃんと調べてから質問すればよかったわすまんこ
システムプログラミングで使われるC/C++の代替がRust/Goなわけなんやね
調べてて知ったのがRust/Goはtry-catchない仕様なんめっちゃええね
そもそも例外が起きないようにプログラミング書くのに全処理をtry-catchで囲む慣習が個人的にずっと不服やったんよ
そもそも例外も変数で受け取ればええやんてのはほんま納得
Rust/Goでアプリケーション開発できるイージーな環境を誰か構築してほしいな
2020/03/25(水) 16:26:23.15ID:eUPBV1Bq
PythonのライブラリはCで書く
言語を2つ使うのをやめて1つにするのを狙ってるのがC++やRust

PythonはRubyと競争して勝ってしまった
競争も勝敗もないのがC#やJavaやGo
2020/03/25(水) 16:51:30.87ID:COJzGufp
>>712
Rustは、例え一部であっても、参照カウンタも GarbageCollection もなしで、メモリ管理を目指そうとしていた。
束縛や借用を使えばStack変数に関してはそれはある程度成功する。
Heapオブジェクトの自動解放に関しては、Uniqueポインタ的な単一参照や参照カウンタ方式を使っている。
がしかし、循環参照してしまうと誰も使ってないHeapメモリーが自動解放されない現象が起きるので、循環参照を避けることはプログラマの責任で行う設計。
2020/03/25(水) 16:56:54.91ID:COJzGufp
>>718
C/C++では、スタック変数を、関数の呼び出し元へ returnしたり、
引数に返したりすることが出来てしまうが、危険なので絶対やってはならないが、
Rustではそれに関してはコンパイル時にエラーが出るので防げる。
同様に関数の途中のブロックの中だけで有効なブロック変数も、ブロックの
外側にポインタ値を渡してはいけないが、これもRustでは防げる。
2020/03/25(水) 16:59:17.07ID:COJzGufp
>>716
プログラムのし易さの目的には、Rustは向いていない。
例外を try, catch で囲む以上の面倒くささがあらゆる場面で伴う。
2020/03/25(水) 17:01:41.23ID:COJzGufp
>>714
Pythonは、RAD系。C#も、RAD系的。
Rustは、RAD系とは正反対で、深く使いこなそうとするとCよりもC++よりもずっと難しい。
2020/03/25(水) 17:39:26.59ID:COJzGufp
海外のサイトでRustを褒めている人は実際には表面的にしか理解してない。
多くの人の投稿を見ているとC++14などの新しいC++が難しいから嫌になって
その代替としてRustを使いたいと思っている。
また、うたい文句である所の「安全、ガベージコレクターなし、簡単なC統合」
などをそのまま真に受けている。
ところが現実は違う。
C++ですら複雑に感じる人は、Rustで独自のリンクリストを設計することは決して出来ないと予言しておく。
そして、それが出来ない状態でシステム作りするのは、とても危険である。
(C++が難しく感じるプログラマの99.9%は、Rustで、標準のリンクリストを僅かでも作り直すことは出来ないだろう。)
2020/03/25(水) 17:40:30.68ID:2CCp9AcV
>>720
あーそうなんか残念やな

C#は登場から20年経ってようやくパフォーマンスに舵を切り始めて俺が使うことはないやろけどSystem.Runtime.Intrinsicsなんかもリリースされたから下々にもパフォーマンスを享受できるようにしてほしいわ
個人的にp/invokeをpythonのようにctypes/cdllでみたいに使いやすくしてくれへんもんかなC++/CLIでラッパー書くのしんどすぎる
2020/03/25(水) 17:57:58.76ID:Y3hcHT+A
C#はMS製というのが唯一の欠点
食わず嫌いも多いであろう
2020/03/25(水) 17:58:43.28ID:cjzqzk4A
>>716
全処理を囲む?それ設計の問題やろ
2020/03/25(水) 18:00:18.34ID:giqHqMXk
>>722
なかなか支離滅裂な文章だな
2020/03/25(水) 18:05:41.08ID:fCjn9EhQ
>>716
>そもそも例外が起きないようにプログラミング書くのに全処理をtry-catchで囲む慣習が個人的にずっと不服やったんよ

エラーハンドリングの基礎を学んだほうが良さそう
それにRustとGoではエラーハンドリングの機能や考え方は全く違うぞ
2020/03/25(水) 18:34:22.72ID:2CCp9AcV
元請けが決めるんやからしゃーないやろw
そやから慣習って書いてるやんけ
2020/03/25(水) 19:35:02.48ID:3tnofAZc
元請けのトンチキさに縛られる環境なら
RustやPythonの特徴がどうのとか考えるだけ
無駄では
2020/03/25(水) 19:38:00.42ID:KwM83K9a
Rustをどうしても認めたくない人多いイメージ
海外大手を筆頭に導入が広がりだしてるのは確かなんだが
2020/03/25(水) 19:54:40.38ID:eUPBV1Bq
海外の競争原理、和を乱す
2020/03/25(水) 21:17:55.06ID:eNR5PFXP
海外の事例(○○をrustで書き直しました!)はかなりタメになる
rustはいいぞ!なんで使わないの、やくめでしょっていう話は楽しくない

最近だったらDiscordをrustで書き直したって記事が面白かった
https://blog.discordapp.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f

ただ、こういうリライト記事って基本的に「既にある≒要件がとても固まってるシステム」が対象なので、
試行錯誤しながら正解を探すっていう普通のプログラミングに合うのかは分からないよね
2020/03/25(水) 22:20:32.82ID:hLf3cIQd
GCに困ってないならRust使う理由無いと思うが
2020/03/25(水) 23:01:17.38ID:eUPBV1Bq
GCのアルゴリズムはいっぱいある
最も単純な方法では何か困ったからいっぱい作った
735デフォルトの名無しさん
垢版 |
2020/03/25(水) 23:26:28.94ID:6cLcCOlB
ふつう何かを開発するのにGCとか型付けとか
関数型プログラミングとかそんなくだらない事はどーでもいいわけ。

numpyやpandas、数学ライブラが充実してるから
pyを使う
組み込みで機械動かせるからC系を使う
ブラウザはJavaScriptで動作するからJavaScriptを使う
モバイル開発専用の言語だからkotlinやswiftを使う
みんな使ってるからJavaを使う

GoやRustにそれらの専売性がありますか?
ないよね?それを使わざるを得ない状況がないよね?
じゃあ要らないよね。
2020/03/25(水) 23:29:23.97ID:ukHBAVn8
いやそれGC使ってるからね。。
2020/03/25(水) 23:43:09.74ID:JWe47CB2
Goは文法がガチでウンコ
あれ作った低学歴に説教してやりてえわ
2020/03/26(木) 00:00:42.85ID:ldfbk/zu
GAEに最適だから俺はこのGoの言語を選ぶぜ
2020/03/26(木) 00:11:18.82ID:Dsy66Brp
このGoに及んでくだらんことを言うな
2020/03/26(木) 00:36:21.74ID:Gvi6EW7Y
>>735
サーバー書くのなら割とGoが最適解の時あるのでは
2020/03/26(木) 00:42:11.16ID:Dsy66Brp
サーバーって、ショッピングの Web API サーバーとか?
あの記述力の低さで複雑なドメイン扱える気がしないな
2020/03/26(木) 00:58:37.13ID:Gvi6EW7Y
>>741
そんなん言われても実際に使ってるところあるし
2020/03/26(木) 01:50:56.47ID:Dsy66Brp
>>742
そんなこと言ったら、PHP 4 だって使ってるところありますよ(笑)
2020/03/26(木) 01:58:57.97ID:Gvi6EW7Y
>>743
まあ確かにGoは技術力いるかもな
俺は技術力高い所がよく使ってるのは重要な指針になると思ってるんだけど、君はそう思わないタイプ?
2020/03/26(木) 02:21:23.83ID:Dsy66Brp
記述力の低さを指摘したら
いっぱい使ってるし!とマジギレされたでござる

Go信者こわ
2020/03/26(木) 02:24:54.88ID:mwwmClxG
そりゃphpだってfacebookは使ってるし、javaだってgoogleが使ってるわけで
そんなことで判断するのは流石にどうかと思うわ。
2020/03/26(木) 02:34:21.84ID:SQR24f3M
バックエンドは長いスパンで運用しながら継続的に開発していくわけだが、
そういった状況において言語の一定以上の機能性は開発生産性にほとんど寄与しないんだよね
Googleはプログラマの感情を無視して露骨にそれを主張してるから反感を買いがちだけど、
MSなんかも統計的にはその事実はよく理解してるはず
2020/03/26(木) 06:12:20.75ID:2gvNqqTc
頑固な善人より柔軟な悪人の方が機能性があると思うやんか
でも一定以下に抑えることができなくなって悪は滅ぶ
この主張が感情ではなく統計的事実だとすると滅ぶのは誰なのか
2020/03/26(木) 07:13:45.73ID:xf2sP63i
MicrosoftがProject Veronaという主要言語の研究でRustを高く評価してるな
Windowsの低水準コンポーネントをRustで書いて試用中らしい

>>732
同意、ぶっちゃけ実際の開発って仕様決まってようがRADでコアを作って形になったらそのままスケールしていくって感じが個人的にほとんどなんだよな
とにかく効率的なメタで開発したプログラムをパフォーマンスやメンテがボトルネックだから性能を追求と保守性で最適なメタでリライトしようぜって感じでRust採用って流れじゃなかろうか
750デフォルトの名無しさん
垢版 |
2020/03/26(木) 07:54:21.26ID:Sq/f/q6k
Rustだから効率悪いとは思わんが
2020/03/26(木) 08:37:28.63ID:mwwmClxG
>>747
それはそう。
結局組織の問題だったりするわけだがプログラマとしては面白くない結論なんだろうっていうのはよくわかる。
2020/03/26(木) 10:50:56.35ID:2gvNqqTc
人類は感情を煽る技術ばっかり進歩させて
逆に感情を抑えるノウハウをほとんど持ってない
2020/03/26(木) 11:13:24.16ID:Nv8FEfE5
記述力なんて言葉を使うやつが
複雑なドメインを扱える気がしない
2020/03/26(木) 11:46:49.87ID:OqYbDrlw
>>752
スレ違いな内容を書きたいという感情を抑えることができないのか
2020/03/26(木) 19:59:58.20ID:1Pvv4AyX
>>749
後半の文節に関して、Webサービスの世界における究極のRADである Ruby on Rails の
誕生から現在に至るストーリー展開とのデジャブーを感じる
たとえば Twitter は、Rails でスタートアップして「コアをスケールアップ」していくことで
ビジネス的な成功を収め、同時に「パフォーマンスやメンテがボトルネック」だから
内部のコンポーネントを Scala/Java へ移行している

Rust に関して言えば、必須の低水準言語は C であることは変えようが無いという前提のもとで、
それよりやや高水準をターゲットとしている C++ のシェア侵食が起こり得ると考える

それはWebサービスの世界で Rails が PHP の牙城に食い込んでいった歴史の再現だ
もちろん昔も今も PHP の絶対的王者たる地位に揺るぎがあろうはずもなく、
一部の熱狂者たちが Rails のシェアを支えているに過ぎないという事実と重なる

同様に、Rust が一定の認知を得て普及する可能性は高いと同時に、
すべての C++/Java/C# プロジェクトが Rust に置き換わるバラ色の未来もまた存在しないだろう
2020/03/26(木) 20:18:11.18ID:BFnt5xGK
誰も言ってないことを長文で批判するのが
あちこちのスレで見るよね
757デフォルトの名無しさん
垢版 |
2020/03/26(木) 21:18:48.36ID:5AygTm0o
>>755
まず「文節」を辞書で引こう。
小学校の国語の授業寝てたの?www
2020/03/26(木) 21:59:58.46ID:3AJePqna
PHPが絶対的王者ってマジ?
俺の世界ではRubyが王者でそのあとをGoが追ってて、PHPはゴリ押ししてようやく採用されるかどうかなんだが
2020/03/26(木) 22:19:20.61ID:5np4UAxw
春になるとポエッティーノ男爵ふえるよね
2020/03/26(木) 22:26:38.95ID:Dsy66Brp
PHPなんてもう名前すら聞かなくなった
あんなガイジ言語ありがたがってる程度の底辺とは付き合いがないからかもしれんが
2020/03/26(木) 22:30:12.07ID:z8spWkog
いまどきRubyを好んで使うのは底辺うんこベンチャーくらいだろ
2020/03/26(木) 22:30:42.51ID:MxLRauFN
駄目なのはポエムじゃなくて登場人物を出すやつだ
プログラムは無人で動くべきなんだよ
2020/03/26(木) 23:20:27.36ID:n14BBjo0
>>759
ポエムじゃなくて、「転生したらPHPが絶対王者だった件」というラノベかもよ
2020/03/26(木) 23:26:23.33ID:Dsy66Brp
>>763
転職して型無しゲェジのウンポコペチプー糞まみれになって気が狂って
最後はコロナに罹って電車に飛び込む話か
2020/03/26(木) 23:37:49.18ID:8/yZHzko
>>758
wikipedia も PHP だし…
766デフォルトの名無しさん
垢版 |
2020/03/27(金) 00:20:14.31ID:GUIIkCWN
PHPは言語設計力0のガイジが作って、さらに機能を付け足していって更にガイジ言語になり、IT界でSIerが一番権力を持つガイジ国家日本で文系ガイジが動的なHTMLを書けるというだけで採用し、変えられずに今に至る
証拠にメルカリや最近のWeb系企業はPHPではモダンな言語でWebを作っている

でも俺はGoは好きじゃないけど
767デフォルトの名無しさん
垢版 |
2020/03/27(金) 00:20:58.83ID:GUIIkCWN
タイポ
PHPではなくモダンな言語でWebを作っている
2020/03/27(金) 00:35:13.11ID:HpnI1SG8
>>766
>PHPではモダンな言語でWebを作っている
言ってることが矛盾していませんか?
2020/03/27(金) 00:35:34.84ID:HpnI1SG8
>>767
了解しました
2020/03/27(金) 00:43:11.04ID:AdoNhS+g
>>769
承知しましただろうが
日本語もまともに使えないガイジ
情けない
世も末だな
2020/03/27(金) 00:44:19.56ID:Oj6vZ37J
しかしPHPで金儲けできてるなら文句は言いづらい
金儲けして何が悪いの?っていう魔法の言葉があるから
2020/03/27(金) 00:53:25.52ID:AdoNhS+g
PHPに負けてるゴミどもが喚くな
773デフォルトの名無しさん
垢版 |
2020/03/27(金) 02:22:06.66ID:GUIIkCWN
PHPに縛られてるガイジどもが喚くな
2020/03/27(金) 02:25:32.34ID:hLiiQ+aA
とりあえずPHPで作ってスタートアップしてからGoに置き換えていくのが流行ってるよな
2020/03/27(金) 03:09:18.60ID:u+JL0HJF
うちは権力の強いペチパーがいるから変えたくても変えれん
2020/03/27(金) 03:15:26.78ID:hLiiQ+aA
転職するべきでは
2020/03/27(金) 03:48:37.25ID:E0iV7Jya
>>707
Rustなんだから合ってるだろ;
2020/03/27(金) 03:49:27.86ID:E0iV7Jya
まつがえた
>>706
Rustなんだから合ってるだろ;;
2020/03/27(金) 05:12:38.14ID:cwhPeqJj
雑食系エンジニアサロン勝又健太氏を思いっきり論破してみた
https://www.youtube.com/watch?v=td6cX0en4oI

初心者に、Rails を推奨する、雑食系エンジニア・KENTA を批判して、
Java, PHP を勧める、モローに対して、批判殺到w

PHP は、プログラマー向けの本がほとんどない。
WordPress の説明本ばかりだから、上達しない

Java は、数倍の勉強時間が掛かる。
人間の成長率を、同じ勉強時間で比べていないだろ

それと雇用形態が異なる。
Java は5大ITer を頂点とする、使い捨て奴隷・土方系。
建設業と同じで、1社経由するごとに、3割抜かれる

時給5千円 * 180時間 = 1人月90万円でも、
元請けが30万円、1元請けが20万円、2元請けが10万円と抜いていく

COBOL, Java, VB というのが3大土方言語。
でも銀行の更新時期が過ぎたから、仕事が無くなった

業界調査すると、ブラック過ぎて、他人に勧められない。
一方、5大ITerは、社員の給料を高くしたいから、都合のよい使い捨ての奴隷が欲しい
2020/03/27(金) 07:15:34.06ID:7fKLUCpq
rustな。。本当にバリバリc++書いてきて、
しかも慎重にコーディングする優秀な奴らばっかのチームなら機能するんじゃないかという気はしてきた。
まあそんなチームは日本にはないだろうなという気もする。
てか世界でもほとんどないんじゃないかな。
GAFAでも優秀なごく限られた一部だけだろう。
んでもってそういうところならc++でも十分な品質のものが書けるっていうね。。
2020/03/27(金) 09:06:14.35ID:KIy2b3FX
優秀な人材集められそうなところが
Rustに書き換えやってるわけですが
2020/03/27(金) 09:15:18.27ID:7fKLUCpq
https://github.com/fnwiya/japanese-rust-companies
この辺とかのこと言ってるなら、俺は勧めないよ。
糞製品作らされるだけなのが目に見えてる。
まあ個人の自由だからやりたいならやればいいと思うが。
2020/03/27(金) 09:23:14.00ID:Oj6vZ37J
優秀な上司を探そうという気がそもそもないよね
2020/03/27(金) 11:42:41.50ID:cYTeLRjQ
>>780
むしろ逆だわ
Rustが書けない(メモリの所有権、借用、ライフタイムの概念が理解できない)プログラマが
まともなC++のコードを書けるとは思えない
Rustはプログラマが間違えたらコンパイラが誤りを指摘してくれるが
C++はプログラマが間違えても何もしてくれないからほっとくと脆弱性まみれのプログラムになる
2020/03/27(金) 11:46:55.08ID:AdoNhS+g
でも動かないじゃん
動くPHPと
動かないRust

ビジネスチャンスを鷲掴むのはどっちだと思う?w
2020/03/27(金) 11:51:36.63ID:7fKLUCpq
>Rustが書けない(メモリの所有権、借用、ライフタイムの概念が理解できない)プログラマが
>まともなC++のコードを書けるとは思えない
これは正しいと思うけど、そもそもc++をまともに書ける奴は少ないし、
c++をまともに書けるやつがrustのコンパイルチェックで
得られる恩恵ってやつは君が思うほどおおきくないってのが俺個人の意見だわ。
それでもってランタイムの品質、ハードウェアに対する対応なんかを考えた場合、
c++のが上になるっていうことが考慮から外れているように見受けられる。
2020/03/27(金) 12:09:22.76ID:KIy2b3FX
>>782
こういう奴は良い会社や良いプロダクトの
例は出せやしない
2020/03/27(金) 12:10:19.43ID:VaiYZBCN
>>784
本来、変数とは読んで字のごとく「変化する数」なわけだから
本質的に mutable(変更可能な)なもの。
にも関わらずRustでは、変更可能な変数には mut を指定しなければならないので
確率論的にはソースコードの量が増えてしまうことになる。
2020/03/27(金) 12:14:59.14ID:VaiYZBCN
>>788
さらにいえば、Rustでは、型を明示する場合は、
let a:TYPE = xxx; // (1), TYPE は xxx の型
と書くが、:TYPE を省略して、
let a = xxx; // (2)
のようにもaの型を書くと自動推論する機能を持っている。
C++にもあるバージョンから auto などでこれと同様の機能が入って、
一見便利だが、型がわかりにくくて問題にある可能性がある。
逆に、C++ だと型を明示する場合には、
TYPE a = xxx; // (3)
と(1)に比べて短く書けることも重要。
Rustだと:TYPEを書くのが面倒なために、(2)ように省略してしまう
人が続出する可能性がある。
これは問題だ。
2020/03/27(金) 12:15:48.45ID:VaiYZBCN
>>789
誤:のようにもaの型を書くと自動推論する機能を持っている。
正:のように型を自動推論する機能を持っている。
2020/03/27(金) 12:21:05.07ID:aLfv28Wa
>>788
今どきimmutableな変数も受け入れられないとかどんだけ化石なんだよ
2020/03/27(金) 12:21:34.20ID:aLfv28Wa
あ、確率論的にヤバイやつに触ってしまった
スマヌ
2020/03/27(金) 12:23:58.46ID:hY05skqC
Rustだと所有権とかでエラーになる部分も警告で留めてくれる+警告潰せばだいたい安全、みたいなのがほすぃ(´・ω・`)
2020/03/27(金) 12:27:10.00ID:VaiYZBCN
大手が採用したとかで一見目立っているが、Google Trends で見る限り
極度の低空飛行で、人気は横ばいよりも下がり気味だ。
2020/03/27(金) 12:33:25.16ID:VaiYZBCN
Rustは、去年の7月辺りをピークとして人気が下がってきている。
2020/03/27(金) 12:36:17.11ID:VaiYZBCN
>>791
非難する人を「古い人」扱いすれば切り抜けられると思ったら大間違いだ。
2020/03/27(金) 12:39:35.97ID:VaiYZBCN
>>784
しかし、C++ の場合、new の働きは明確なのに対し、
Rustは、Box::new のコードを見ても、「box」という組み込みキーワードを
使ってしまっているのでそれ以上追う事は出来ず、曖昧さが残る。
C++の場合は、少なくともC++98までだとかなり原始的なレベルまで
やっていることが明確だった。C++11あたりから異常になったが。
2020/03/27(金) 12:51:59.02ID:AdoNhS+g
で、Rust使ったらPHPより売れるプログラム書けるの?w
2020/03/27(金) 13:02:00.57ID:3tCJhGUU
>>788,789
俺もRustは指示するわけではないが、問題点として挙げるのがほんのわずかなタイプ数だなんて、根拠としては弱いというかどうでも良い話だろ
2020/03/27(金) 13:07:03.48ID:VaiYZBCN
>>799
C++が使いこなせる程度の適正があるプログラマにとっては、タイプ量の増加
は苦痛以外の何者でもない。
彼らは特にC++でバグに悩まされたりしてるわけじゃないのだから。
2020/03/27(金) 13:44:45.27ID:ShoDX97I
タイプ量なんかより大事なことがあるって分かる奴が
Rustをつくりだして、または使ってるんだろうなw
2020/03/27(金) 13:52:21.68ID:KIy2b3FX
連日あちこちのスレで荒らしてる奴なので
相手するだけ無駄
2020/03/27(金) 14:09:16.05ID:VaiYZBCN
タイプ量はとても大事だ。
頭が賢ければ、タイプする体力と時間が不要なのだよ。
頭が悪い人は、体力と時間で勝負するしかないからタイプ量が多い言語を使うしかない。
2020/03/27(金) 14:40:34.92ID:gM1jKcLP
タイプ量はどうでもいい
読みやすいかどうか
805デフォルトの名無しさん
垢版 |
2020/03/27(金) 14:42:32.41ID:VaiYZBCN
let a:i32 = x;

int a = x;
なら、後者は短いのに分かり易い。コンパイラに伝達される情報は同じだし。
2020/03/27(金) 14:54:06.18ID:VaiYZBCN
Rustで、
let a = x; //(1)

let a:i32 = x; //(2)
なら、そもそもコンパイラに伝わる情報が違い、後者は記述量が多くてもバグの少ないプログラミングに役立つ。
後から読み直しても a を i32 型にしたいプログラマの意図が分かって分かり易い。
だから、記述量が増えても後者は良い面を持つ。
ところが、Cで
int a = x; //(3)
と書けば、Rustの(2)と全く同じ情報がコンパイラに伝わり、エラーチェックのレベルも同程度だから、
Cは、少ない記述量で同じ事ができると言える。

(1)と(2)の違いと、(2)と(3)の違いを混同してはならない。
前者は記述量が多くなっても安全性向上という意味で意味が有るのに対し、後者は、書くのが長くなるだけで全く意味が無いのだから。
2020/03/27(金) 15:00:14.28ID:ShoDX97I
ガイジかこいつ
2020/03/27(金) 15:01:10.96ID:I9gCjo9A
型推論て今時どの言語にもあるんじゃね
GoやJavaにさえある
つまり問題視する方がお菓子い
2020/03/27(金) 15:11:19.11ID:VaiYZBCN
型推論することで安全性が駄目になるから、Cでは型を明示して宣言するようになったんだ。
その哲学を壊す言語が増えてきているだけ。
2020/03/27(金) 15:13:12.70ID:u+JL0HJF
タイプ量タイプ量ってさぁ
型無し言語かhaskellでもやってろ
2020/03/27(金) 15:17:28.55ID:E0iV7Jya
型の選択みたいな重要なことをコンピューター任せにしてしまって良いのでしょうか?!
2020/03/27(金) 15:17:37.12ID:M0gPeD08
null安全を考慮した言語よりnullの方が良いと
主張していたアホだから
2020/03/27(金) 15:19:37.09ID:E0iV7Jya
Cも暗黙の型変換があるからイクナイ
高度な型推論はいずれチューリング完全性を有して機械的手続きでは御しきれなくなる
そして人類が機械でないという証拠は今のところ無い
2020/03/27(金) 15:42:26.54ID:VaiYZBCN
>>808
型推論は、C++は template が深くて複雑すぎて、templateを使っているときに、
人間側が結果や変数の本当の型が分からなくなってきたので、しょうがなく
最近になって導入された。
もしこれをちゃんと手で書くと複雑で長い型になり過ぎる。
templateはソースがあるが読んでも複雑すぎて多くのC++プログラマには型が分からない。
また、templateはRADのような簡単に機能を使いたいときに使えるように設計された
ものなのに、型が難しすぎてわからないということは本末転倒であった。
そのためにしょうがなく型推論できる機能がC++に導入された。
2020/03/27(金) 15:44:18.61ID:VaiYZBCN
>>810
型を打つこと自体は良いんだ。
>>806 を読むべし。
2020/03/27(金) 15:46:21.71ID:VaiYZBCN
>>812
そうじゃない。
nullable指定を明示的に行うことは良いと思うが、
nullを絶対悪として、NullObjectとPolymorphismで対応することで
nullを完全排除しようとしている一部の人に対して反論していただけだ。
2020/03/27(金) 15:53:09.55ID:Oj6vZ37J
結局これ「型」の宣伝だからね
この謎のゴリ押しにタダ乗りして得をしてるのはRustも同じ
818デフォルトの名無しさん
垢版 |
2020/03/27(金) 15:58:44.21ID:6mKroLAz
let a = 1;
型無し数値リテラルはデフォルトでi32でintと変わらないし数値リテラルで変えたい時は明示的にする
だから
long int a = 1;
より
let a = 1i64;
または
let a: i64 = 1;
の方がデフォルト以外の型が現れるかつタイプ数も少ない

こういうやつらはなんで後置型指定でletで変数宣言するか意図を理解してない
そもそもNull最高とか言ってるやつらに構っても意味ないな
一生C/C++とかJava、PHP、VB触ってろよ無能
2020/03/27(金) 16:00:21.15ID:VaiYZBCN
>>818
違う。C/C++では、
long int a = 1;
とも書けるが、typedefやusingなどを使えば、
i64 a = 1;
と非常に古くから書ける。
2020/03/27(金) 16:02:26.87ID:zbLM5N3A
そもそもCの理解も怪しいよな
2020/03/27(金) 16:06:14.83ID:gM1jKcLP
>>806
型推論できるのは冗長性があるからで
冗長性にもいい面悪い面がある
悪い面は変更に弱くなる
あっちかえたらこっちもってね
rustはそのへんバランスとろうとしている
効果はさておき
そのへんまで考察しないと浅いよ
822デフォルトの名無しさん
垢版 |
2020/03/27(金) 16:10:41.99ID:sMse3dA+
>>819
普段C++触るけど同じ型指定なのに二通りの書き方あるのはC++の悪いところだと思う
Cの資産引き継ごうとしててC++特有のカオスによりしてる
823デフォルトの名無しさん
垢版 |
2020/03/27(金) 16:15:28.13ID:9RtDMjhb
C/C++ は typedef した型を区別出来れば良かったのにな
2020/03/27(金) 18:30:43.63ID:E0iV7Jya
別のclasssにすれば区別できるお、
intと同じ振る舞いをするがintと区別されるclass、みたいなやつは必要に駆られてたまに作る
2020/03/27(金) 19:41:47.93ID:1SbgdhCL
C++は最悪templateで筋肉解決できるけどCでtypedefを別の型にしちゃうとインターフェイス相応のものもderiveマクロ相応のものもそもそもないし、組み込み型のオペレーター群を指定する方法もないから記述がべろべろになってしまうんだよな
C++はそれと統一性をもたせざるを得なかったから現状がある
良しか悪しきかは知らん
2020/03/27(金) 20:40:39.66ID:t91Qh+gU
型なんて屁みたいなもんでガチャガチャ言ってる入口さん
どんだけ効率的に書けて実行出来るか焦点はforeach と食わすリストよ
動的なリストでも分岐無くすとかキャッシュ乗り鬼効率な凄いのをくれ
2020/03/27(金) 21:51:32.40ID:vVxM6cgA
その屁みたいなもんが無くなったらNumPyやCythonの無いPythonのようなもので
それはもうウンコやん
828デフォルトの名無しさん
垢版 |
2020/03/27(金) 22:51:32.05ID:YevT+Fte
phpはシンタックスがゴミ
(そもそもなんだよ $ -> => って...)
パッケージ管理もゴミ
ログ出力の見やすさもデバッグのしやすさもゴミ
バージョン乱立
フレームワーク乱立
土台の言語仕様自体がゴミなの棚に上げて
コーディング規約の強要
やることなすこと全部他言語の猿真似
動的片付けの癖にプリミティブ型がメソッドや属性すら
持ってない
JavaやRailsやJavaScriptはいい加減糞PHPを
著作権侵害で訴えろや
消えうせろ、潰れちまえパクリウンコゴミ溜め言語が
2020/03/27(金) 23:03:13.17ID:AdoNhS+g
>>828
で?君はPHPで書かれたプロダクトより良いプロダクトを持っておりゅかね??
2020/03/27(金) 23:19:21.19ID:h10m8k5F
Rubyは

次世代の日本を担う素晴らしい言語


Railsは、流行りのWebサイトでほとんど使われてる。

Qiitaも、Rails
最近流行ってた、質問箱も、Rails


雇われから脱出し、マックザッカバーグを目指すならRails一択!!!!!!!
2020/03/27(金) 23:52:10.33ID:oRj/lH5B
phpもそうだしエクセルもそうなんだけど、濫用するヤツが増えると悪評が一気に増える
もしかしたらm4がphp並みに嫌われる世界もあったかもしれないと思う
言語の適用範囲を高めるためには、抽象度の高い概念を基本とした方が良い。できるなら数学的に議論可能なレベルで
832デフォルトの名無しさん
垢版 |
2020/03/28(土) 00:26:31.23ID:UNB7xn0N
マックザッカーバーグを目指すから、
Facebookに倣ってPHPにするは!
2020/03/28(土) 00:51:24.52ID:ZE1QO4UJ
FacebookほどPHP憎んでそうな企業もないと思うが
HackやらReactやら
834デフォルトの名無しさん
垢版 |
2020/03/28(土) 02:26:30.25ID:7+pamnWR
なんでReact??
そもそもフロント技術だし、しかもフレームワークだし、ベースがJSだからPHPと全然違う
PHPは糞言語なのは間違いないけど論点違うだろ
2020/03/28(土) 02:37:43.77ID:ZE1QO4UJ
関数型、immutable、思想の話
836デフォルトの名無しさん
垢版 |
2020/03/28(土) 03:00:20.11ID:7+pamnWR
じゃあ尚更PHPとの比較は外した方がいいな
関数型、immutableってJSがESで取り込んでいった方針だから
2020/03/28(土) 03:06:32.88ID:5hSs4v6h
Facebookつながりで書いてるだけやろ
838デフォルトの名無しさん
垢版 |
2020/03/28(土) 03:39:20.77ID:UNB7xn0N
ちなみにザッカーバーグのfacebookはrubyもrailsも全く関係ない。
安定のrubyガイジ妄想クオリティ。
2020/03/28(土) 04:46:49.21ID:N90Naszz
Railsで作られたサイトは、山ほどあるけど、Laravelで作られた有名なサイトは、少ない。

というか、見たことない。

Laravel使いは、誰も使わないサービスを量産してお金を稼ぐ負の存在。。。!?


技術だけじゃなく、ビジネスで勝負したいならRails一択!!!!!
2020/03/28(土) 07:02:49.77ID:jVMyeik2
人はパンのみにて生くるにあらずという名セリフを知らないのかよ
2020/03/28(土) 13:06:34.70ID:zHaA6Kc0
本屋のrubyの本消滅していてワロタ
2020/03/28(土) 14:11:57.48ID:lvHGCPQW
ZOZO は、Laravel

レールは続く】 Ruby on Rails Part21 【これからも
https://medaka.5ch.net/test/read.cgi/php/1545146635/103

世界を驚かせた、表示速度が異常なサイトも、Rails 製だった!
https://dev.to/
2020/03/29(日) 11:04:58.76ID:IJ+/NVut
Goだとクリティカルになる場合だけRustを使う、あとは面倒なだけだから(マークアップ以外は)絶滅して無問題、わりとマジで
2020/03/29(日) 14:53:46.23ID:mFLaDIgK
wasmて使用言語混ぜて分割コンパイルとか出来るん?
2020/03/29(日) 15:19:30.65ID:Kzf4aDfw
>>844
Wasmはマシン語に相当するものなので、Wasm自体には使用言語に関する混合に関して何の制限も無い。
ただし、nativeアプリの場合と同じで、C言語の関数を通じてお互いに呼び出しあうなどは必要。
なお、今のところ、最低限マシン語とC言語の仕組みに関して知識がないと難しい。
(最低、アドレスやポインタについての理解がいる。)
2020/03/29(日) 15:27:11.95ID:Kzf4aDfw
>>845
例えば、LLVMをバックエンドに持つコンパイラであって、LLVMの中の
%struct.XXXX のアラインメントのとり方が同じであって、かつ、
export、importする関数がC言語のインターフェースを持っているならば、
Wasm用のリンカでリンクが可能。

この条件を満たさない場合、リンクするのは難しいが、以下のようにすれば、
実行段階でお互いに関数を呼び出しあうことが出来る。
・それぞれの言語処理系でリンクを行って、*.wasm ファイルを作る。
 これらは、「Module」と呼ばれる。
・ModuleをWasmとして機能させるには、JSでInstace化を行う。
・この際に、それぞれの関数名を import すれば、お互いに関数を呼び出しあうことが可能。
・この場合、文字列や配列の様なものにアクセスし合いたい場合、ポインタ値がJSレベルでは
 単なる整数値になるので、それを、Memory と呼ばれる線形メモリーの ArrayBufferの
 アドレス値とすることで、可能。
2020/03/29(日) 21:23:25.95ID:s3Co173K
並列処理一番簡単に書けるスクリプト言語なに?
848デフォルトの名無しさん
垢版 |
2020/03/29(日) 21:30:38.73ID:aoCWY+mA
go
2020/03/29(日) 21:33:30.37ID:Erzf/uFl
php
850デフォルトの名無しさん
垢版 |
2020/03/29(日) 21:33:38.94ID:AoSt3bhf
>>847
PureScript
2020/03/29(日) 21:44:17.08ID:MKM75DKF
bash
2020/03/29(日) 21:47:11.25ID:s3Co173K
バラバラじゃん
人によって違うのか
853デフォルトの名無しさん
垢版 |
2020/03/29(日) 21:51:55.62ID:AoSt3bhf
そらそうやろ
何個言語あってプログラマ何人おると思ってるねん
2020/03/29(日) 22:23:37.56ID:GFdzppn9
コロナ菌に強い言語は?
2020/03/29(日) 22:55:19.13ID:Erzf/uFl
php
2020/03/29(日) 23:14:39.66ID:Sg0tN/NI
>>847
Make
2020/03/29(日) 23:23:25.57ID:AoSt3bhf
TypeScriptで質問なんだけど、全く新しい型を導入する方法ってあるのかな?
構文がわからないから疑似コードで書くけど、

typedef X; // Xという新しい型を定義

function makeX<T> (t T): X { /* ... */ }

// makeXで作られた値以外を渡したらいつもコンパイルエラー
function soSomethingWithX( x: X ) :void { /* ... */ }

こういうことがしたいんだけど…
2020/03/29(日) 23:53:44.28ID:Erzf/uFl
TypeScript は構造的部分型だから無理

type Nekko = {
name: string
age: number
}

type Inu = {
name: string
age: number
}

これらは同じ扱いになる
っていう話?

それとも makeX 以外で X を作れなくしたいという話?
別に X を満たせば、 makeX 以外が X 作ってもよくない?
makeX が作った X と、makeX 以外が作った X が別物なのであれば、
それらは別の型だろう
2020/03/29(日) 23:54:30.67ID:Erzf/uFl
なんか頭おかしそうな奴とID被ってて最悪・・・
2020/03/30(月) 00:09:09.76ID:2aeq6Dek
型の表現力が低くて嫌だねそれ。0以上の数を表す型とか作れないじゃん
861デフォルトの名無しさん
垢版 |
2020/03/30(月) 00:15:47.42ID:byCSvntg
>>847
erlang かな
むしろ全て機能を並列処理で書くしか無い割り切りというか
2020/03/30(月) 00:42:47.60ID:Oymj8mf6
>>847
スクリプト言語ではないが、GPGPU 用のC言語に似た言語は、そもそも
最初から並列処理を前提にしている。
2020/03/30(月) 01:02:40.38ID:DOS6yDxg
>>860
プロパティが一致しなければ別の型になるので、
piotrwitek/utility-types の nominal type 使うなどして、自分で識別子を与えればできる
JavaScriptというカオスな言語・膨大な資産を利用するには、仕方ない面もある
2020/03/30(月) 19:47:31.17ID:UMPMfaDu
並列処理などお前らが書く必要はない。
ライブラリを使え。
2020/03/30(月) 20:46:42.03ID:kgJURof2
erlangtって、堅牢かもしれんが縛りがきつくて決して簡単だとは思えないが。
2020/03/30(月) 21:04:07.42ID:bUcOwvrU
Objective-C → Swift や Java → Kotlin
と同じ感じで Erlang → Elixir がある
867デフォルトの名無しさん
垢版 |
2020/03/30(月) 21:09:02.33ID:08TDMd3Q
>>864
やっぱりPureScriptでAffがナンバーワン!
2020/03/30(月) 21:15:44.17ID:kgJURof2
いや文法がどうとかじゃなくて、データを一切共有しないアクターモデル自体がね。
2020/03/30(月) 23:04:26.22ID:N7kDQWeU
Erlang、
870デフォルトの名無しさん
垢版 |
2020/03/30(月) 23:41:35.89ID:mSBWf3OZ
並列処理は、データベース管理システムで結合したマルチプロセスでほとんどの場合十分だろ、って思ってしまう
局所的な高速化だったらライブラリ使えになっちゃうし
2020/03/31(火) 01:01:31.54ID:G9etW8qy
>>867
JSは自前でWorker使った並列処理書かないと
並列化はされてないんじゃないの?
2020/03/31(火) 09:07:30.53ID:tO4cMY6a
どこもzenの話題がないな。
2020/03/31(火) 09:22:07.43ID:c3F4yVlK
zenzen話題にならないね、全然
2020/03/31(火) 09:49:27.32ID:PWbizjT8
当然だろ
2020/03/31(火) 11:26:57.93ID:S3VhPMDw
zig/zen/c2にはCの壁は崩せんかなぁ
いい感じではあるけどいい感じから更に上回って採用するほどではないという
2020/03/31(火) 13:17:16.39ID:OTxurRkT
cの壁崩す前にcの前に散っていった言語の特徴でもまとめておいた方がよっぽど前向きだよ。
2020/03/31(火) 13:25:17.44ID:c3F4yVlK
僕たちはCの世界で契約したんだ
2020/03/31(火) 14:38:03.91ID:EXHwmcq2
UNIXにしろWindowsにしろOSのAPIがCの関数だから
アプリもCで書くのが一番自然になる
2020/03/31(火) 15:39:54.43ID:chhHfIYK
cしか書けない人はこういう極論を言う
880デフォルトの名無しさん
垢版 |
2020/03/31(火) 15:45:01.73ID:54ZUq6ql
極論であると同時に正論でもある稀有な例。
2020/03/31(火) 16:43:37.28ID:chhHfIYK
正論も何もnativeでABI準拠できればいいのであって
cである必然性はない
882デフォルトの名無しさん
垢版 |
2020/03/31(火) 16:47:11.45ID:54ZUq6ql
つまりわざわざC以外にする必要性もないわけだね
2020/03/31(火) 17:06:20.65ID:chhHfIYK
システムコールだけが言語選択の基準
って思考から脱却しろ
あほらし
2020/03/31(火) 17:34:36.26ID:WCUraC1a
Cおじいちゃんって職場で若者にマウント取ってそう
2020/03/31(火) 17:37:12.28ID:mFEQEhdF
C調言葉にご用心〜♪
2020/03/31(火) 17:38:37.75ID:c3F4yVlK
でもPHPの方が生産性高いよね
2020/03/31(火) 17:40:28.69ID:qnv4SZcB
アセンブリでマウント取る爺様方がだいたい鬼籍に入って次はCでマウント取る爺様方の時代になった感じやね
888デフォルトの名無しさん
垢版 |
2020/03/31(火) 18:01:22.91ID:uDSFrRRV
C#からCのAPI呼ぶとき
構造体とか配列のポインタとか面倒だな・・・
2020/03/31(火) 18:27:57.93ID:S3VhPMDw
Cベースはむしろマシなんだよほとんどの言語でFFIあるし
問題は処理系依存マシマシのC++ベースAPI/ABI
2020/03/31(火) 18:58:18.61ID:DEnjdkJH
>>888
C#のFFIはかなり良い方だろ
C側でラッパーを一切書くことなくC#から呼び出せる
何より、トラブルの元になりがちな変なコードジェネレータの類がなくて、宣言した通りに正しく素直に動くってのが素晴らしい
そのストレスフリーさに比べたら、C#側で関数や構造体の宣言を書き直さなきゃいけないのは余裕で受け入れられる冗長性だと思う
2020/03/31(火) 21:40:41.75ID:OTxurRkT
別にcで書けって話でなくて、cのそういう側面くらい常識として知っとけって
だけなのに、なんかコンプレックス刺激されちゃう奴がいるのな。
2020/03/31(火) 22:05:04.60ID:HDRrREDo
>>891
C がわかる、てだけでドヤるのも大概だけれども
それよりももっと性質が悪いのは C がわからないコンプをこじらせているやつ
2020/03/31(火) 22:28:42.75ID:G9etW8qy
次スレは「次世代言語を夢見るレガシー言語労働者達のマウンティング合戦スレ」に改題で
894デフォルトの名無しさん
垢版 |
2020/04/01(水) 10:12:43.54ID:5VJq6KKK
解決しそうだけど
何このモヤモヤ感
https://qiita.com/hmuronaka/items/619f8889e36c7b5db92d
895デフォルトの名無しさん
垢版 |
2020/04/01(水) 17:19:13.73ID:XWi3lCYB
C#はわからん
896デフォルトの名無しさん
垢版 |
2020/04/01(水) 18:46:22.78ID:60SS71wY
ヒカルと店長からこれまで話してこなかった真面目な話があります
https://www.youtube.com/watch?v=WiPoQWJfFt0&;t=900s
全部話します。YouTuberヒカルが生まれるまでの話しと今の本音
https://www.youtube.com/watch?v=97FsyM7G1jw
高校生の自分に教えたいこと
https://www.youtube.com/watch?v=y0SY32zOExc
嫌われながら好きなことで、生きていく「起業家-ヒカル」
https://www.youtube.com/watch?v=OcsN5iD7C-s
【本音対談】これからYouTubeをはじめるあなたへ【DJ社長×ヒカル】
https://www.youtube.com/watch?v=IDL3dLxyPuk
【好きなことで、生きていく】『レペゼン地球-DJ社長-』
https://www.youtube.com/watch?v=PPnbEiXSYM8
2020/04/01(水) 20:24:09.70ID:GBjVGlaM
>>896
グロ
898デフォルトの名無しさん
垢版 |
2020/04/02(木) 20:08:57.64ID:SaXsz2/b
標準ライブラリが豊富な言語ってC++, Javaとかになるの?
899デフォルトの名無しさん
垢版 |
2020/04/02(木) 22:35:51.75ID:0tSRYO67
C++は豊富とは言えない。
2020/04/02(木) 22:39:04.07ID:D0Dsg/MO
Cの非標準ライブラリまとめ言語
と言われたくない人達
901デフォルトの名無しさん
垢版 |
2020/04/02(木) 23:17:47.62ID:iuGcEdKM
プログラム板でこのスレしか人いないのほんと草
2020/04/02(木) 23:53:07.21ID:tEUzHDBS
Javaと並ぶのはないんじゃないの?
2020/04/03(金) 00:01:45.98ID:0E621fjE
.NETも標準ライブラリ豊富だろ
つか、今時スレが言語スレだが言語だけで語る滑稽さ
次世代言語というより、標準ライブラリも含めた次世代環境がほしい
2020/04/03(金) 00:21:31.40ID:v6FKoEXq
最近の言語はどれも環境そろってるだろ。
適当なインストーラーとライブラリ管理はあるし。
ビルド通らねー糞が!とかもだいぶ減った。
905デフォルトの名無しさん
垢版 |
2020/04/03(金) 00:44:59.65ID:WSo5wZTZ
rustはpythonがらみでエラー出てビルド通らなかった。
本気だして調べる気力もなく、関連ファイル削除して男友達と焼肉食いに行った。
わざわざ男友達と書いたのは、女友達なんかいないからだ。
2020/04/03(金) 01:46:29.30ID:y4LIlYUL
>>905
わざわざどうでもいいつまらないことを書き込むところが女友達のいない原因だろう
2020/04/03(金) 01:54:07.26ID:b0rZIsH6
>>905
1行目からイミフ
2020/04/03(金) 07:20:23.73ID:x2AIwLRG
>>907
rust自身のビルドが、Pythonに依存しているって話じゃない?
2020/04/03(金) 10:41:31.87ID:TFqtSApO
Pythonはいいぞ
Makefileより読みやすく
Python自身のビルドはLLVMのビルドより10倍か100倍速い
2020/04/03(金) 10:53:44.07ID:b0rZIsH6
型無しの時点でゴミという現実
2020/04/03(金) 14:42:39.21ID:Tc814Ws0
型が無いんじゃなくて型を差別してないのさ
どんな型が来ても受け入れるおおらかさがある
2020/04/03(金) 15:11:10.65ID:v6FKoEXq
動的な型なだけだな。
ネストした構造をループ処理するときなんかは確かに楽なことも多い。
2020/04/03(金) 15:32:53.86ID:b0rZIsH6
それを世間一般では型無し糞言語と言うんだよ
2020/04/03(金) 15:51:03.27ID:MTkh8ajj
強い動的型付けだし型アノテーションだいぶ充実してきたしでだいぶマシだと思うけどなぁ

弱い動的型付けと同一視するのは誤りの元だし、漸進的型付けの存在を無視するのもまた評価を誤りかねないですよ
2020/04/03(金) 16:37:43.22ID:UYNPUerC
Pythonの型アノテーションは実際には全くと言っても差し支えないほど使われていないから無視して問題ない
そろそろ後付け静的型の代表的成功例であるTypeScriptと何が違ったのかを真剣に議論すべき時期にきてる
2020/04/03(金) 16:50:18.12ID:v6FKoEXq
したけりゃすりゃいいじゃん。
2020/04/03(金) 17:36:01.98ID:qlrRurvi
TypeScriptの方が使いやすい型システムしてるのわかる
2020/04/03(金) 17:42:02.39ID:HJoja6bN
型無しは苦手だけどbashは認める
919デフォルトの名無しさん
垢版 |
2020/04/03(金) 18:10:28.37ID:VVxcL9Mv
>>902
C#は多いけど標準かって言われるとな・・・
C/C++も「標準」に拘ると何もできないω
2020/04/03(金) 22:01:00.40ID:9+J0Mjhv
型なし言語でも宣言時に初期化と代入を済ませれば問題がない
2020/04/03(金) 22:20:48.78ID:bCeKFD21
動的だと、神関数が、作れるからオススメ。

func add_god(a,b){
return a + b
}

add_god(1,2)
add_god("a","b")
add_god(1,"a")


神関数、があれば、コードの削減が可能!!!!!!!!!
ノーコード時代には動的型付け言語一択!!!!!!!!
2020/04/03(金) 23:12:24.05ID:IuiLyZOy
型無しのデバッグ作業に駆り出された事有るけど、マジで地獄やぞ。絶滅はよ
2020/04/03(金) 23:39:58.52ID:b0rZIsH6
ガチのマジで型無し糞言語の良さがわからん
死ねとまでは言わないが生まれてこなければよかったのに
2020/04/03(金) 23:46:38.92ID:y4LIlYUL
型無し言語より>>921に絶滅してほしい
2020/04/04(土) 01:01:37.87ID:ImIgGAA9
何回言われても直す気がないからもう悪意だと認識してるけど、動的型付けと型なしは全く別のものとしてそもそも存在してるので、動的型付けを型なしと呼びまた強い型付けと弱い型付けの区別を無視する限りこの議論が有意義に進むことはないよ
2020/04/04(土) 01:03:28.27ID:9qrNMGHe
このへんでも読めば?
https://myuon.github.io/posts/type-system-poem/
927デフォルトの名無しさん
垢版 |
2020/04/04(土) 01:04:40.59ID:PddOPzm8
型があれば静的解析に有効というのは間違い無いのだが
静的解析すれば全てのバグを取り除けるというのは間違い
2020/04/04(土) 01:34:09.53ID:ezNPGdHf
> 静的解析すれば全てのバグを取り除けるというのは間違い

そもそもそんな主張誰もしていない
929デフォルトの名無しさん
垢版 |
2020/04/04(土) 02:58:03.09ID:bmDmb45p
スクリプト界隈もlintから始まってflowだTypeScriptだ型定義は素晴らしい!静的型付けバンザイ!
とかあれだけ動的型付け素晴らしいからの静的型付け面倒臭いとかディスッといてこの状況は大草原ですわ
まぁ何事もトレードオフだからケースバイケースで使い分ければいいんだが
今頃ブレイクスルーだなんだと大騒ぎなのは滑稽ですな
js界隈も結局サーバサイドレンダリングに回帰してるしファッションや音楽と同じで10〜20年スパンでサイクルすんのかね
930デフォルトの名無しさん
垢版 |
2020/04/04(土) 04:34:22.45ID:aJleCvsu
JSを本業にしてる層って最近の若者で学生時代にちょっと触り始めた生意気なガキが多いから気にしない方が健全
2020/04/04(土) 07:59:21.83ID:ImIgGAA9
CのunionとかC++のオブジェクトスライシングの話を見てたら型が無いからクソみたいな言説は発生しないはずなんだがな……

型があっても言語としての使い方がクソならクソだし、静的解析のないLLだからってランタイムにきちんと型エラー吐いてくれるものが比較的マシという評価になるのは間違いないでしょ

デジタルな分野扱ってるからって判断までI/Oにするもんじゃない
2020/04/04(土) 08:04:15.02ID:7gXG4pCc
静的解析マンセーな輩はただテストコード書く技量がないだけ。
2020/04/04(土) 09:42:25.07ID:BgK/PXFy
>>932
君は >>921 の関数に、整数、小数、文字列、オブジェクト、真偽値、日付型・・・
たくさんの引数を与えて
一生懸命テストを書くのだろうな

それは素晴らしいことだと思うよ
感動で涙がで、でますよ
2020/04/04(土) 09:47:00.19ID:7gXG4pCc
またそう言う極論をほざくところが静的解析マンセー厨らしいよ。
2020/04/04(土) 09:48:28.05ID:BgK/PXFy
>>934
おやおや・・・君もテストコード書く技量がないだけ??
2020/04/04(土) 09:50:52.18ID:BgK/PXFy
それともコメントに、
この引数は整数でございます。小数、文字列、オブジェクト、真偽値、日付型・・・は教育によろしくないので与えないでいただけますと幸い至極でございます。
とでも一生懸命書くのかな??

それでIDEの静的解析に警告を受けたら
「やっぱり型無し糞言語でも安全!!型はいらない!!!」
とか言うのかな

あれっw
2020/04/04(土) 10:24:55.54ID:4+4qlucB
Pythonは現実的
言語名が不明な「静的型」は現実みが浅い
2020/04/04(土) 10:34:48.74ID:LqQwLSmR
Pythonは有名ライブラリにことごとく型がついてないので
やっぱりクソ
2020/04/04(土) 10:48:28.81ID:g5yerRCZ
>>937
現実みが浅い、って日本語として気持ち悪い
940デフォルトの名無しさん
垢版 |
2020/04/04(土) 11:05:52.17ID:L/BdUORC
逆に静的型付けの何がいいのか知りたい
JavaScriptやpyなんか連想配列や辞書
定義するのもコンソール出力もめっちゃ便利やぞ
コンパイルエラーの手間もないしめっちゃデバッグが楽
2020/04/04(土) 11:12:33.09ID:oHbtMe0Y
>>932
それな
全員がそうだとは言わないけどテスト設計できないやつが大半
2020/04/04(土) 11:46:08.97ID:nZpdiFMX
// この関数を使えばなんでもできます
func god(args...){}

これだけで基幹システム作ったわ
1年掛かる工数を3日に短縮できる動的言語ってやっぱ神だわ
2020/04/04(土) 11:54:03.53ID:BgK/PXFy
>>942
うーんこの神
みずほ案件も型無し糞言語を使っていれば3人日で完成していた
2020/04/04(土) 12:50:45.86ID:7gXG4pCc
>>940
メソッドの実装探すのに苦労する。
2020/04/04(土) 13:09:18.66ID:XKUUvXNa
public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello, world");
}
}


やっぱJavaだわ
記述量が多いから努力した気になれるし成長した気にもなれる
静的型付けだから動的野郎にもマウント取れるし
昔ながらの大企業でよく使われてるから日本の伝統も感じられるし
今後50年は食いっぱぐれないし
Oracleに転職できるかもしれない
2020/04/04(土) 13:11:54.28ID:ebeS0Dvl
またそう言う極論をほざくところが型無し糞言語マンセー厨らしいよ。
2020/04/04(土) 13:15:24.41ID:c4e/DrqX
30年後50年後にコードを書く文化って残ってるのかな
2020/04/04(土) 14:40:47.29ID:4+4qlucB
英語圏の文化で面白いのがプログラムしかない
これが無くなったら英語自体がオワコン
2020/04/04(土) 17:38:57.41ID:VsggCgGE
>>941
動的派の書くテストは正常系を一発通すだけのものが多くて、あれでテストちゃんと書いてますと言われても首を傾げてしまう
動的型のコードがデグレで動かなくなるのは日常茶飯事であるし、そもそも最初から全く動かないウンコであることも珍しくない
だから最低でも変更の度に自動テストで一度動しておけば品質は大幅に上がるのだが、とはいえ血便が下痢便になる程度
一方、静的型はプログラマの品質に対する意識の高さや静的型検査の恩恵のため、動かすだけのテストにはあまり意味がない
起こりうる様々なケースを試したり挙動の変更を厳密に監視したりと、静的型においては自動テストに求められる基準は遥かに高くなる
2020/04/04(土) 17:54:20.92ID:f2T6dYaQ
>>933のいうとおりだな。人間どうミスするかわからんから、
整数、少数..本来は全部やるべきだな

エラーの原因の大半は人間のちょっとしたミスだからな

>>934は勝手に都合のいい解釈でそういうテスト省こうとしてるだけやんw
2020/04/04(土) 17:57:18.65ID:j3yAmUj/
過激派静的言語マンってミスが一切許されない職場で働いてそう

動的だと一週間で終わるものを三ヶ月ぐらい掛けて実装してそう
2020/04/04(土) 17:59:36.08ID:f2T6dYaQ
>>949
なるほど、まさしく>>934は「異常系」のテストは、極論と自己都合解釈して省こうとしてるのですね
2020/04/04(土) 18:06:51.89ID:ebeS0Dvl
>>951
型無し糞言語脳って、型チェックがあればそもそも発生しないバグのチェックに何日費やしてるんだろうな

静的型だと0秒で終わるバグを三ヶ月ぐらい掛けて修正してそう
2020/04/04(土) 19:42:07.40ID:ebMvcEKD
ワイ「この作業、手動でやるとめんどいしpythonで自動化するかぁ」

型おじさん「……型は?」

ワイ「え?」

型おじさん「簡単なスクリプトだからって舐めてない?引数とかに色んな型が入ること想定してる?」

ワイ「いや……」

型おじさん「あのさぁ!!!!!型が無いと万が一のこともあるよねぇ!?!?!?エラーが起きてサーバぶっ壊れるかもしれないだろ!?!?」

ワイ「サーバが壊れる!?どうしたんですか」

型おじさん「ああああああああ!!!!!!!!」

次の日にそのおじさん退職したわ
前の職場でも型型騒いで辞めたらしい
お前らも気をつけろよ
2020/04/04(土) 19:46:39.69ID:C11LX2Y6
>>954
そんな低レベルな職場に一生居たくないと思ったんだろう。
かわいそうに。
2020/04/04(土) 20:02:34.31ID:4KWBPZA4
型おじ釣られすぎだろ
ネット初心者かよ
2020/04/04(土) 20:03:33.83ID:dzVJGpcL
>>954
最近多いんだよねー
Pythonとかちょっとかじった程度で
「俺プログラマーやってます」って顔する子

最初の入り口が動的型付け言語なんだよね最近の子って
そんなもんじゃ使いものにならねっての
2020/04/04(土) 20:04:21.63ID:0WjGsUHg
長文でクソおもんない作り話書いてて楽しそうですね

Juliaなんかはパフォーマンス向上目的での型の導入だけど、型安定とかわざわざドキュメントに記すなら言語側でそもそも制約を強めてエラーにしてしまうとかでよかったんじゃないかと思ってしまう
2020/04/04(土) 20:17:41.20ID:ebeS0Dvl
やっぱり型無し糞言語池沼ってガイジだなw
2020/04/04(土) 21:08:43.70ID:g5yerRCZ
pythonの型とかどうでもいいよ。次世代言語の話をしよう。
2020/04/04(土) 21:13:34.71ID:xxHp0w1Z
N88-BASICにも型の概念はあったからなあ…
2020/04/04(土) 21:22:41.67ID:nlgyx7EU
classイコール型みたいな言語だと考慮しないといけない事項が多すぎるし記述量は馬鹿みたいに多い
なので、そういう言語しか知らない人が「静的型付けは煩わしい」と思うのは仕方ないことかもしれん、と思う

一度はOCamlを使って欲しい
OCamlは正格評価だし、型は強力で作りやすくて使いやすいし、OOPとも丁度いい距離を取ってる
smalltalkほど死んじゃいないし、Haskellほどアカデミックじゃない
次世代言語じゃない!と言うなら、ReasonMLでも良い。OCaml -> Javascriptみたいな環境もある
2020/04/04(土) 22:28:52.51ID:oHbtMe0Y
>>949
正常系を一発通すだけで十分なのかどうかは仕様次第
ただオープンソースではよくあるのは開発者がテスト軽視してるだけで
動的言語か静的言語か関係ない

>>950
>>921の関数に対してどういうテストをすべきかは仕様次第
仕様は不明だけど考えうる限り網羅的にテストすべきって考え方自体が
テスト設計したことない人の考え方だよ
2020/04/04(土) 22:57:35.78ID:f2T6dYaQ
こいつの人間は間違わないっていう前提にたってる品質管理が草
2020/04/04(土) 23:05:06.65ID:ebeS0Dvl
俺は天才と信じている異常者(低学歴・障害者手帳持ち) = 型無し糞言語ガイジ
2020/04/04(土) 23:05:29.19ID:wh1EiJLW
web プログラミングのように外は危険がいっぱいという状況と
機械学習のように入力情報は保証されているという状況では
当然テストの質が異なる
議論がすれ違っているのはその辺の違いかと
2020/04/04(土) 23:09:15.46ID:oWvr86T9
それ型の有無関係ない話じゃん
それこそ論点ずれてる
968デフォルトの名無しさん
垢版 |
2020/04/04(土) 23:12:02.58ID:H4c+c10U
そもそもテストと型は無関係なんですかそれは
969デフォルトの名無しさん
垢版 |
2020/04/04(土) 23:21:54.26ID:L/BdUORC
Javaとpythonで争ってたところに
唐突に岡村提案されてて草
970デフォルトの名無しさん
垢版 |
2020/04/05(日) 00:17:54.25ID:bKlpD2Cq
データに型は必要ない。
データの内容によって命令を使い分ければ良いのだ。

機械語で十分って事では?
2020/04/05(日) 00:34:46.44ID:GfhXthds
>>970
確かに。
ポインタも整数も同じ整数レジスタで行うね、マシン語だと。
整数演算で可能な型ならビット数以外の型情報が無い。
2020/04/05(日) 00:37:30.12ID:GfhXthds
>>971
それで、マシン語だと間違った演算でもコンパイル時にエラーがでにくかったが
C言語で細かな型が導入されて間違いをコンパイラが発見することに成功した。
ところが最近のスクリプト言語では明確な型宣言がないものが流行り出し、
かつての問題点がまた出てくるようになってしまった。
973デフォルトの名無しさん
垢版 |
2020/04/05(日) 00:56:47.84ID:d7/7NuuZ
ほう…マシン語でコンパイルを
2020/04/05(日) 01:07:09.53ID:N+saKT+1
普通に静的型+型推論でええやん
型書けない言語はもうありえんわ
一時期PHP使ってたことあるけど、正気の沙汰じゃなかった
2020/04/05(日) 01:15:27.47ID:O4a3Y/9V
TypeScriptが一番しっくりくるという悲しい現実
2020/04/05(日) 01:22:54.32ID:k4Q+DqWZ
PureScriptに慣れてしまったらTypeScriptの構文はやぼったいわ
2020/04/05(日) 01:23:18.72ID:GfhXthds
>>973
当時はアセンブルと言っていたが、若い人にはコンパイルといったほうが通じ易いらしいので。
2020/04/05(日) 01:36:39.25ID:oP415tbW
>>962
岡村さん何してはるんですか
979デフォルトの名無しさん
垢版 |
2020/04/05(日) 02:12:33.78ID:d7/7NuuZ
今の若い人はマシン語はコンパイルするものと習うのですか?
コンパイル言語を知っている人向けにアセンブルを説明するのに「コンパイルみたいなもの」と説明するのではなく?
2020/04/05(日) 02:16:10.20ID:dvIeqTXE
次世代じゃないけどOCamlはええぞ。大体の言語のエッセンスを見直すきっかけになる

ちゃんとした型推論と簡潔な型表記があれば静的型付けでも書くのは面倒じゃないって分かったり
クラスってプログラムの必須構成要素なんかじゃないって気づけたり(むしろ用途は凄く限定されるべきもの)
遅延評価って実際にどんだけ便利なの、とか、分かる
981デフォルトの名無しさん
垢版 |
2020/04/05(日) 02:16:21.31ID:bKlpD2Cq
アセンブラと機械語は一対一に対応していないんだよな。
配置が決定しないと使えない機械語が有るので。
2020/04/05(日) 02:30:40.57ID:k4Q+DqWZ
型がいらない/めんどくさいと主張する層は、
大方自分の意図をメソッドのボディによって表現することしか知らないのだろう

HaskellやらOCamlやらある程度の型システムの強度を持っている言語の経験があるプログラマは、
自分の意図の大部分を型で表現することに慣れているから、型がいらないとか正気か?となる
983デフォルトの名無しさん
垢版 |
2020/04/05(日) 02:48:33.35ID:bKlpD2Cq
型が無いのはとても良いことです。
2020/04/05(日) 02:49:08.14ID:c8uove51
関数型で型が重用されるのは、高階関数によって型が至るところでアドホックに生み出されるため、
型がないとプログラムを正しく組むことが事実上不可能だからだよ
関数型では型は主にプログラムの形式的な正しさを守るためのテクニカルなツールとして用いられていて、
むしろドメインモデルを型で記述するみたいなのは意外にも関数型では重視されなかったりする
985デフォルトの名無しさん
垢版 |
2020/04/05(日) 02:49:14.27ID:bKlpD2Cq
プログラミングが必要なくなればもっと良いです。
986デフォルトの名無しさん
垢版 |
2020/04/05(日) 02:50:35.75ID:bKlpD2Cq
でも今はまだ無理です。
素直に型を使いましょう。
2020/04/05(日) 03:09:06.75ID:k4Q+DqWZ
>>984
言ってることが何一つ理解できないんだが
ほんとに関数型言語の経験か、型システムを専門に研究した経験のどっちかでもある?
2020/04/05(日) 03:27:35.54ID:O4a3Y/9V
>>980
標準ライブラリなんとかして
2020/04/05(日) 03:31:26.32ID:1D4UZmeK
>>980
haskell と比較した ocaml の利点をぜひ!
990デフォルトの名無しさん
垢版 |
2020/04/05(日) 06:23:20.59ID:bKlpD2Cq
タイプ数を節約できることでは?
991デフォルトの名無しさん
垢版 |
2020/04/05(日) 10:17:02.41ID:/6aVgV0B
ん?OCamlってかなり標準ライブラリ豊富って聞いてたけど違うの?
2020/04/05(日) 11:56:52.59ID:ZlQTcj/v
そんなに引数に何が来るかわからないという状況が多いのかなあ
このメソッドは何をするかがはっきりしていれば、そんなに型を気にする
必要はないと思うけどなあ。一つのクラスでたくさんのことをさせているのか?
2020/04/05(日) 12:17:46.87ID:aRq634GN
メタプログラミングは動的型の方が楽。思いついたアイデアを簡単に試せる
Haskellのマクロとか使いにくいったら無いし、あんなので試行錯誤したくない
RailsもRubyで産まれて、静的型言語に不完全な形でパクられた

だから、ゼロからフレームワークを作る創造的な人達は動的型を好み、
アイデアをパクって実装したり、フレームワーク使うだけのドカタは静的型を好むわけだよ
2020/04/05(日) 12:33:48.77ID:N+saKT+1
こんなトンデモ論を持ち出さないと、動的型言語を擁護できないのか(笑)
2020/04/05(日) 12:35:55.88ID:aRq634GN
>>994
創造性のないドカタっぽいレスですね
知能低そうw
2020/04/05(日) 12:42:23.04ID:N+saKT+1
うわぁ・・・
2020/04/05(日) 12:51:43.69ID:9ug9dps/
メタプログラミングの結果を駆使する立場ならともかく
メタプログラミング自体を行う奴らは試行錯誤とかあんましないレヴェルなんじゃね
書いたら動いてバグがほとんど無い(
もちろんテストはする
998デフォルトの名無しさん
垢版 |
2020/04/05(日) 12:55:49.48ID:bKlpD2Cq
釣りなら釣りと分かるように書かないと、タダの馬鹿だと思われるのでは。
999デフォルトの名無しさん
垢版 |
2020/04/05(日) 12:58:04.13ID:bKlpD2Cq
>>993 は普通に考えれば釣りなんだけど、本気で顔真っ赤にしながら主張する人もいるから、
どこかに釣りの痕跡残しておかないと、後で釣りでしたと言っても信じてもらえなくなる。
1000デフォルトの名無しさん
垢版 |
2020/04/05(日) 13:01:44.09ID:bKlpD2Cq
縦読み入れておくのが良いのでは。
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 187日 10時間 3分 41秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況