次世代言語21 Go Nim Rust Swift Kotlin TypeScript

レス数が1000を超えています。これ以上書き込みはできません。
2020/04/19(日) 15:06:02.92ID:jAOW5aqE
スレタイ以外の言語もok

前スレ
次世代言語18 Go Rust Elixir Kotlin TypeScript (実質20)
https://mevius.5ch.net/test/read.cgi/tech/1569866283/
2020/04/19(日) 15:20:31.24ID:kqxDm9Wj
次世代言語議論スレ【Go Rust Haskell Scala Erlang Elixir】
https://echo.5ch.net/test/read.cgi/tech/1479434349/
次世代言語議論スレ【Go Rust Haskell Scala Erlang Elixir】 第二世代
https://echo.5ch.net/test/read.cgi/tech/1486816357/
次世代言語議論スレ[Go Rust Haskell Scala]第3世代
https://echo.5ch.net/test/read.cgi/tech/1488608741/
次世代言語議論スレ[Go Rust Kotlin Scala]第4世代
https://mevius.5ch.net/test/read.cgi/tech/1492631007/
次世代言語議論スレ[Go Rust Scala Haskell]第5世代
https://mevius.5ch.net/test/read.cgi/tech/1497311647/
次世代言語議論スレ[Rust Kotlin Haskell]第6世代
https://mevius.5ch.net/test/read.cgi/tech/1503924817/
次世代言語Part7[Go Rust Swift Kotlin TypeScript]
https://mevius.5ch.net/test/read.cgi/tech/1508403098/
次世代言語Part8[Haskell Rust Kotlin TypeScript]
https://mevius.5ch.net/test/read.cgi/tech/1512137301/
次世代言語9[Haskell Rust Kotlin TypeScript Dart]
https://mevius.5ch.net/test/read.cgi/tech/1520298555/
次世代言語10[Rust Swift TypeScript Dart]
https://mevius.5ch.net/test/read.cgi/tech/1524607347/
2020/04/19(日) 15:22:22.41ID:kqxDm9Wj
次世代言語11[Rust Swift TypeScript Dart]
https://mevius.5ch.net/test/read.cgi/tech/1528037607/
次世代言語12 Go Rust Swift Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1530664695/
次世代言語13 Go Rust Swift Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1534769753/
次世代言語14 Elixir Crystal Julia Rust Swift
https://mevius.5ch.net/test/read.cgi/tech/1536668904/
次世代言語14 Go Rust Swift Kotlin TypeScript (実質15)
https://mevius.5ch.net/test/read.cgi/tech/1536664054/
次世代言語15 Go Rust Swift Kotlin TypeScript (実質16)
https://mevius.5ch.net/test/read.cgi/tech/1541331010/
次世代言語15 Go Rust Bosque Kotlin TypeScript (実質17)
https://mevius.5ch.net/test/read.cgi/tech/1555679940/
次世代言語17 Go Rust Kotlin TypeScript Julia (実質18)
https://mevius.5ch.net/test/read.cgi/tech/1567602619/
次世代言語18 V Julia 他 (実質19)
https://mevius.5ch.net/test/read.cgi/tech/1569852711/
次世代言語18 Go Rust Elixir Kotlin TypeScript (実質20)
https://mevius.5ch.net/test/read.cgi/tech/1569866283/
41
垢版 |
2020/04/19(日) 15:23:41.40ID:kqxDm9Wj
やはりこのスレは必要
2020/04/19(日) 17:15:05.59ID:LqW3+d+E
じゃ、Python以外で有望な言語はなんですか?
2020/04/19(日) 17:56:25.08ID:gEgC0AtJ
(´・ω・`)知らんがな
7デフォルトの名無しさん
垢版 |
2020/04/19(日) 17:58:02.24ID:ErWVsP/c
それを議論するのがこのスレの意義だろ
まあ、そもそも Python は次世代言語としては論外だが

「コレクションが最高にイケてる言語を作ろう(dat落ち)」から引用
http://mevius.2ch.net/test/read.cgi/tech/1491491123/43-45

> 43 1 名前:デフォルトの名無しさん Mail: 投稿日:2017/05/05(金) 18:00:36.59 ID:oGFFYBoD
> コレクション使ってて使いづらいと思うことも最近は減ってきたよな
> 昔より言語が進歩してるんだろか
>
> 44 名前:デフォルトの名無しさん Mail: 投稿日:2017/05/05(金) 21:23:00.44 ID:Qc8J8Hpx
> >>43
> でもねぇ、世の中にはコレクション操作が使いづらい
> 退化した最悪な言語が存在する
>
> http://d.hatena.ne.jp/edvakf/20090405/1238885788
>
> 元々は手続き型として設計された簡潔な言語だったけど、
> オブジェクト指向やら関数型やらを行き当たりばったりに増築し続けたおかげで、
> コレクション操作に関する「一貫性」という設計哲学が破綻してしまった例だね
>
> 45 名前:デフォルトの名無しさん Mail: 投稿日:2017/05/05(金) 21:52:01.71 ID:Qc8J8Hpx
> [Ruby]
> a.sort().reverse().map{|x| x.to_s}.join('-')
>
> [JavaScript]
> a.sort().reverse().map(function(x) { return x.toString() }).join(“-“)
>
> [Python]
> '-'.join(map(lambda x: str(x), reversed(sorted(a))))
2020/04/19(日) 19:33:28.74ID:IIwuaKLK
前スレでGo一択って決定しただろ?
2020/04/19(日) 20:53:26.32ID:KxsKaBCc
Rustじゃないの?
理由は、俺が本を買ってしまって、GWに読むつもりだから。
2020/04/19(日) 21:47:54.67ID:kqxDm9Wj
>>5
JavaScript
有望な言語というより万人向けの安泰な言語だと思うけど、
Pythonに比類しうるならね
2020/04/19(日) 22:19:06.46ID:BVTzWDo1
>>7
> [Ruby]
> a.sort().reverse().map{|x| x.to_s}.join('-')

a.sort.reverse.map(&:to_s).join('-')
元の文脈の趣旨に無関係なのは自覚してる
2020/04/19(日) 22:35:59.91ID:IIwuaKLK
Rustは勉強マニアがオナニーするために使う言語って感じ、つまり5年前ぐらいのScala
2020/04/19(日) 23:10:38.51ID:HY2ckOMy
TypeScriptが好きな連中は
フルスタックエンジニアw を自称してることが多い
2020/04/19(日) 23:12:04.97ID:KxsKaBCc
>>12
>Rustは勉強マニアがオナニーするために使う言語って感じ、つまり5年前ぐらいのScala
おっしゃる通りです。
いろいろ言語やって、やっぱりC系だなーと思って戻って
きたら、Cはそのまんま面倒くさそう、C++はカオス。
だったら、Rustかなーって思う。
2020/04/20(月) 08:51:44.52ID:vHi46Tvs
やればやるほど結局c++と同じくらいになってくけどね。
2020/04/20(月) 18:27:41.79ID:hO3VD2NZ
GopherくんがキモいからRustの勝ちでいいよ
2020/04/21(火) 04:41:04.13ID:qz2Q4Aux
キモナイ
2020/04/21(火) 04:49:41.58ID:YtNE395i
いいやキモいね
2020/04/21(火) 06:32:04.12ID:SdFINa/G
ハム太郎のキャラは出っ歯じゃないから可愛いのに
Gopherくんは出っ歯だからキモい
2020/04/21(火) 13:40:40.73ID:qz2Q4Aux
キモナイ!!
21デフォルトの名無しさん
垢版 |
2020/04/21(火) 16:31:44.57ID:u1QyXaMj
星もちがキチガイすぎてみんな愛想をつかした
自身で荒らしてる事がまわりにバレてないとか本気で思ってるアホの子だってのが致命的
2020/04/21(火) 17:59:06.72ID:AhpNN+u5
Pythonは新しいところもあるけど、「あ、Perlと同世代の設計だな」ってとこが見え隠れする
2020/04/22(水) 03:49:11.78ID:34cLWUvQ
う、うん…
2020/04/22(水) 07:31:53.55ID:obS+r2in
明らかにperlだったらpascalのがええやんって設計だろ
2020/04/22(水) 13:31:59.08ID:HLWlM89p
>>22
どの辺が?
26デフォルトの名無しさん
垢版 |
2020/04/22(水) 17:39:58.27ID:1eLqKnpd
>>22ではないが、いくつか例を挙げよう

(1) すでに世界的にメジャーであったにもかかわらず、
 後方互換性を断絶させる基礎的な言語仕様の変更が断行された
 ・文字列出力の print 文が廃止され、組み込み関数となった
 ・整数の除算演算子の意味が変更された
 ・… etc

(2) 否定形の予約語 nonlocal が存在する
 スコープに関する言語仕様設計の破綻という現実を逃避し、
 安易に泥縄的な解決を選択

(3) 本体に文(ステートメント)が書けない中途半端なラムダ式
 ・クロージャって何がいいの?
  http://mevius.2ch.net/test/read.cgi/tech/1415419907/197
 ・この関数型プログラミング対応という視点では、Perl にも劣る

こうした言語仕様以外に、言語の原作者である Guido 氏が自ら引退を宣言せざるを得ない
状況に追い込まれてしまうという、コミュニティの特異性も見逃せない

さあ、どれを取ってもも過去のプログラミング言語の歴史目にしたことのない
歴史的な革新といって過言ではない、と思わないか?
27デフォルトの名無しさん
垢版 |
2020/04/22(水) 18:20:54.00ID:4A42K1Fb
全然、「あ、Perlと同世代の設計だな」の例になっていない件
28デフォルトの名無しさん
垢版 |
2020/04/22(水) 18:31:23.36ID:1eLqKnpd
Perl 未満の例ばかりでスマソ
2020/04/22(水) 18:45:52.84ID:qBiorB2T
pythonは伸びやかじゃないよねrubyに比べて
スイスイ〜ってんじゃなくて
ンッガクック!って感じ
お前ら俺の言うことわりと分かると思うけど
30デフォルトの名無しさん
垢版 |
2020/04/22(水) 23:17:43.72ID:MDmrvGrK
pythonはライブラリの使い方を知ってる奴が威張れる実務言語の系譜よ
VB → Java → python
VBと前後してチョロっとperlが顔覗かしたけど速攻消えたw
2020/04/23(木) 00:08:17.94ID:5udoMUF9
>>29
めちゃわかるわ〜
2020/04/23(木) 01:10:04.61ID:OwEKbvBb
そういうところに拘ってるから
お前らいつまで経ってもドカタなんだよ
せめて確定申告が必要なレベルくらいまでは稼ぎな?
2020/04/23(木) 07:50:13.60ID:2pQFhIL8
言語について個人的に好きな良さがある事よりも稼ぐ事が基準でもいいと思うけど、それならその基準での次世代言語がどれかみたいな話は欲しいな
とはいえ今は00〜10年代で出てきた言語のブラッシュアップと競争がメインで新しい言語が少ないタイミングというのは実際ある
2020/04/23(木) 08:49:29.46ID:Q66hfIcW
今時はjavaみたいな古臭いコンパイル言語でもスクリプト言語並みにテキトーに動くし、ライブラリも標準であるし、
言語でマウントする奴は単なる馬鹿だよ。
35デフォルトの名無しさん
垢版 |
2020/04/23(木) 09:52:27.50ID:P4YrD1rB
>>29
ターボジェットの様に一定の回転数を超えてしまえば
あとはすいすい楽ちん高パフォーマンスになるのがpython
36デフォルトの名無しさん
垢版 |
2020/04/23(木) 09:53:06.31ID:P4YrD1rB
>>5
C#
2020/04/23(木) 15:10:05.79ID:87GHMCpD
たしかに言語ではないよね。
女性には言葉でマウントするものだから。
38デフォルトの名無しさん
垢版 |
2020/04/23(木) 18:23:47.18ID:annngXhO
>>35
つまり、トレンディでナウいヤングメンがイチオシするのが python なんですね
すごくわかりやすいです
2020/04/24(金) 00:35:00.34ID:B1fvRJ4E
>>37
腰にマウントしてますが
2020/04/25(土) 06:13:22.74ID:Tx9DkwTK
>>13
suin
2020/04/26(日) 13:59:06.89ID:6f+ZEau3
空飛ぶパイソン最強伝説!!!
42デフォルトの名無しさん
垢版 |
2020/04/26(日) 19:24:25.04ID:jk3kfRKy
パイパンはそれほど好きでない。
2020/05/01(金) 17:03:28.29ID:sd5tC5U0
V言語気に入ったけど、Nim以上に将来どうなるかが不安
2020/05/01(金) 18:08:56.55ID:R0Lm8ryA
ぶっちゃけV見限ってるまであるんだけどなんか劇的な更新あったの?
相変わらずメモリ管理なんか進行中のままだけど
2020/05/02(土) 02:26:22.46ID:PxiZZxe8
ベーパーウェアかとオモテたよ
2020/05/02(土) 10:18:58.76ID:b8p0dCol
Rust/WinRTだとさ
MSはいよいよ本気でRust使う気なのかね
https://blogs.windows.com/windowsdeveloper/2020/04/30/rust-winrt-public-preview/
2020/05/02(土) 12:12:02.92ID:wDqRLadW
MicrosoftもMozillaのステマに引っかかってしまったのかー
2020/05/02(土) 15:59:29.71ID:QBsgOtwR
Rustベースの新言語作ってるとか聞いてたけどやっぱRustでいくんかな
2020/05/03(日) 22:39:42.43ID:Rp60Zdnq
C/C++コードをリプレースするのに使えれば言語自体はなんでもいいんじゃね?
2020/05/04(月) 00:55:52.02ID:eKse40AC
C/C++のリプレイスをするのに使えれば
という条件のきつさわかってるのか
51デフォルトの名無しさん
垢版 |
2020/05/04(月) 10:48:29.38ID:zTC9x9sU
Rustは2022版で後方互換捨て構文統一しないと増改築歪マンションみたいな
変人しか全貌を把握出来ないRust++になりそう。既に成りかけてるけどw
2020/05/04(月) 11:19:57.79ID:HMR6BDIh
MSがやるならMozillaは追い出して全権を握ってほしい
DもScalaもKotlinもRustも、MS製以外の俺様最強言語は結局全部カオス化して崩壊したよね
2020/05/04(月) 11:38:32.29ID:7IQ5DE83
Kotlin と Rust はまだいけるよ
2020/05/04(月) 12:08:10.57ID:eKse40AC
>>52
goは?
2020/05/04(月) 13:12:48.36ID:eA9rrZ8d
>>46
WinRTって時点で誰も使わんだろ。
2020/05/04(月) 14:30:22.34ID:LTSaVbeP
なにいってんだこいつ
57デフォルトの名無しさん
垢版 |
2020/05/05(火) 14:04:51.13ID:Dr3nH8+z
Rustのどこがカオスなんだ
いつもの人かな
2020/05/05(火) 14:44:45.32ID:NBDTFJxx
>>52
MS様のF#は生き残ってるの?
2020/05/06(水) 12:00:11.16ID:ihfZgSx4
コンテナが主流になってきて思うんだけど
VM系の言語って存在価値無くね?
もうrustでいいんじゃないか?
2020/05/06(水) 13:48:44.71ID:SXTCTKgl
なぜ?
2020/05/06(水) 14:33:19.61ID:O21P/E1e
ワンソースでどこでも動くって言う利点がほぼ無くなったからじゃね?
2020/05/06(水) 14:35:58.63ID:O21P/E1e
ワンソースってかワンビルドか
2020/05/06(水) 14:53:43.94ID:aLD+Grz6
実態は逆なんだよなあ
実行環境を構築する責任がアプリ開発者自身に押し付けられたことで、
アプリ開発者は、Goに代表されるような、よりシンプルでデプロイの容易なアプリを指向するようになった
コンテナによる仮想化はアプリ開発者にとっては明らかに過剰であり、メリットに対して過大なオーバーヘッドとなっている
そこで、ビルド済みのバイナリを突っ込めば動くVM系の性質はむしろ好都合だ
Javaがコンテナで好まれないのは単に他の選択肢があるのとエコシステムとしてマイクロサービス志向と相性が悪いからで、VM云々は関係ない
2020/05/06(水) 15:05:04.90ID:BDO6BCRr
めっちゃ早k
65デフォルトの名無しさん
垢版 |
2020/05/06(水) 15:09:45.16ID:1RWth/sR
ビルド済みのバイナリ突っ込めば動くのはむしろgoとかrustでしょ
そもそもランタイム構築できなきゃ開発もできないじゃん
頭おかしいのか
2020/05/06(水) 15:13:24.85ID:E/8R3YZo
最後の一行はいらんだろ
いい議論なのに
2020/05/06(水) 15:37:04.35ID:ohBd/rOh
VMは中間コードを解釈してネイティブコード化する機能だけじゃないからね
それだけ見ればRustでもC#やJavaでも大した違いはない
CLRにはJVMのGraalのような実用的なAOTコンパイラがまだないってだけ

Rust code -> LLVM IR -> native code
C# code -> CLR IL -> native code
2020/05/06(水) 16:51:19.70ID:ytGCszD0
>>65
開発もコンテナ内でやってる開発者なんてほとんどいないし、
仮にコンテナ内で開発してたとしても実行環境とは別のイメージ使うだろ
開発環境からそのまま本番へ持っていけるなんて完全に妄想だよ
69デフォルトの名無しさん
垢版 |
2020/05/06(水) 17:18:40.43ID:HeZINUY7
Goはシンプル方向じゃなくてイージーな 勘違いすんな

VMとネイティブで大した違いないとか小学校からやり直してこい
70デフォルトの名無しさん
垢版 |
2020/05/06(水) 17:25:52.44ID:1RWth/sR
>>68
スクリプト言語はコンテナ内で開発するだろ

実行環境ってなんのことを指して言っているんた?
2020/05/07(木) 10:29:22.09ID:OXCYO38H
>仮にコンテナ内で開発してたとしても実行環境とは別のイメージ使うだろ
その前段はまああることだが、ここは言ってることがおかしい。
2020/05/07(木) 11:23:50.12ID:cpirF9cI
そうか?
ステージングはともかく、開発中はデバッグ用のツール等の入った別のイメージを使うだろう
2020/05/07(木) 14:14:40.81ID:1KdHedIV
ほんとにコンテナ使った開発してるのか?
2020/05/07(木) 15:10:38.12ID:fqpyOqEO
してたら実行環境用のコンテナでローカル開発をやることがどれほど非効率か知ってるはずだけどな
75デフォルトの名無しさん
垢版 |
2020/05/07(木) 15:23:11.50ID:TSVqZJLC
噛み合わない会話だな
作ってるものも使ってる技術も違うのにコンテナ技術はこうであると言い切るのがおかしい
2020/05/07(木) 15:41:25.82ID:bI3grm3h
ルドルフとイッパイコンテナ
77デフォルトの名無しさん
垢版 |
2020/05/08(金) 01:17:59.87ID:2R+BCvOe
シンタックスが優れてる言語ってみんななに?
自分はNimを押すけど
78デフォルトの名無しさん
垢版 |
2020/05/08(金) 07:27:26.66ID:1NvDSuMt
HaskellとかPureScript
2020/05/08(金) 08:38:40.53ID:CWp8JT/U
「プログラミング言語Go完全入門」の期間限定公開のお知らせ
https://tech.mercari.com/entry/2020/03/17/120137
80デフォルトの名無しさん
垢版 |
2020/05/08(金) 09:38:23.85ID:oIDbptWL
nim
81デフォルトの名無しさん
垢版 |
2020/05/08(金) 09:49:29.54ID:oIDbptWL
https://qiita.com/gobori/items/821e6d8219033c4f68a8
2020/05/11(月) 20:00:00.91ID:Mc14l0dP
>>75
いや、少なくとも実行環境と開発環境の環境差をなくすためのものって意味じゃ共通だろ。
そこでヘンテコなこと言ってるわけだ。
デバッグツールの容量惜しむくらいならコンテナなんか使うなよ。
83デフォルトの名無しさん
垢版 |
2020/05/11(月) 22:35:49.36ID:4rfs8pmX
いや、同じじゃないわ
開発環境と実行間隔
という区分けがまずヘンテコだし噛み合ってない
2020/05/11(月) 23:02:02.02ID:WwQsCNLV
コンテナで一括りにしちゃうから
人によって違った意見になるんじゃないかと予想
dockerとlxcじゃ使い方も開発方法も違うんでないか?
2020/05/12(火) 01:01:47.76ID:fG4+2tb6
コード生成のコマンドなんかもわざわざコンテナで実行するの?
拘りを否定はしないけどご苦労なことだな
俺はむしろ変に環境に依存して壊れやすいコードにならないように、ローカルではできるだけホストで直接動かしてテストしてるわ
コンテナでのテストはプルリク作ってCIが回るまでやらないことも多い
2020/05/12(火) 01:32:02.26ID:akQl+uEy
ローカル開発環境もコンテナ化してるから変に本番と違う環境では確認も実行もしなくて良いのがコンテナのメリット
2020/05/12(火) 08:51:25.48ID:D9UbiRTs
無理やり違うってところをひねりだしてるだけだろ。。ばかばかしい
2020/05/12(火) 11:19:25.36ID:L67dsyUS
個々人/個別のチームがどれを選択するかは別にして、dockerの場合マルチステージビルドがある事からビルドと実行環境とか細かい環境の区分けは想定されていると思える
89デフォルトの名無しさん
垢版 |
2020/05/12(火) 20:51:36.64ID:Q3Ydpsyj
>>63 の言ってることが実態に即してるかどうかだけが議論の的だら
俺はそもそも何を言ってるか分からんかったが
90デフォルトの名無しさん
垢版 |
2020/05/15(金) 22:45:11.65ID:fJGpkBrc
cronで1分おきにpullすればデプロイは最強
コンテナにもオートスケールにも対応可能
2020/05/16(土) 19:22:29.32ID:O1QHymgY
コンテナ関係なくjavaがgoより好まれないてだけってのはあるな。
2020/05/16(土) 21:31:30.60ID:ZXqt/6hW
Javaはそれで統一しないと価値ないからね
ポータビリティ云々じゃなく、マイクロサービスであえて選ぶ意味がない
2020/05/26(火) 20:57:07.70ID:o7qcL7dG
待望の新言語

ZetZ、形式的検証機能を備えたCのダイアレクト
https://www.infoq.com/jp/news/2020/05/zz-formal-verified-c-dialect/
2020/05/28(木) 08:03:06.98ID:M27vSOvR
言語じゃない!
95デフォルトの名無しさん
垢版 |
2020/05/29(金) 00:58:39.13ID:qvMSVXsG
>>93
アニメじゃないのにZZとか
96デフォルトの名無しさん
垢版 |
2020/05/30(土) 08:23:38.83ID:NdMurT+t
構文がだせぇ
2020/05/30(土) 14:26:57.08ID:dyzggIxm
開発者がもっとも好きなプログラミング言語は「Rust」、Stack Overflow「2020 Developer Survey」より
https://codezine.jp/article/detail/12350
2020/05/30(土) 15:43:15.73ID:of77hray
IBMがRustを使ってNode.jsのプロジェクトを書き換え。その背景とは?
https://thinkit.co.jp/article/17561
2020/06/02(火) 22:13:15.49ID:+tjitl4G
GoとRustはどっちがいいんですか?
2020/06/02(火) 23:05:49.41ID:KZ+90q/T
どっちも良いよ。Rust難しいと聞くけど、所有権もライフタイムも大して難しくはない
けど、Goに比べて圧倒的に調べるのが面倒、流行ってんのか情報充実してきたけど
このCrateはfuturesの何が要るのか要らんのか、devに何か足さないと動かないのか
大抵crates.ioに乗ってるけど、自分で書き始めるとそれ以上の何かが必要な時に元のソースをゴリゴリ読む事になる
この辺、みんなどうしてんのかな。Goに戻って勝手にimport補完してくれるわ、標準ライブラリーで大半は済むわ、
Godocの調べやすさに対してcrates.ioの調べに草w
101デフォルトの名無しさん
垢版 |
2020/06/04(木) 08:22:36.72ID:4kMLpsX6
例が二つともよくわからん
俺は困ってない
2020/06/05(金) 14:04:47.29ID:9ZNDO7sq
GoとRustが合体したみたいな言語があればいいんだが
2020/06/05(金) 20:41:52.51ID:Yb4qiw/3
Gost作るか
2020/06/05(金) 20:46:55.91ID:QJHD9Kma
スレタイにある言語って第7世代?
2020/06/06(土) 20:29:52.43ID:C1du69au
今度Windowsにネイティブ対応するらしいSwiftは?
2020/06/06(土) 21:40:05.53ID:XYysOhiX
まあ対応してから判断すればいいんじゃね?
2020/06/06(土) 23:40:53.02ID:sd6np5wi
日本人が作って今でも発言権があるということを重視すると、Ruby
2020/06/07(日) 04:35:46.58ID:ISISpwjU
そもそもプログラム言語より英語が読めないのが辛い。
2020/06/12(金) 08:28:38.75ID:/yGoBGzJ
英語勉強しろ
2020/06/13(土) 21:14:39.52ID:Co+z+oK9
英語勉強したくないのでなでしこに乗り換えます
2020/06/15(月) 14:44:07.98ID:hPgxSRbu
Hegel,新しいJavaScript型チェッカ
https://www.infoq.com/jp/news/2020/06/hegel-type-checking-javascript/
112デフォルトの名無しさん
垢版 |
2020/06/15(月) 16:38:45.12ID:iqqqiJ5Y
禿そう
2020/06/15(月) 16:49:35.07ID:b7BGzTns
ヘーゲルの弁証法のヘーゲルもハゲって話をするんじゃない
2020/06/15(月) 17:06:31.59ID:TP6e6Qn5
屁ー出る
2020/06/15(月) 19:54:29.55ID:8sQ2Zw5k
コメントでメタデータをあれこれするライブラリは成功例を見たことねえなあ
2020/06/15(月) 22:05:17.87ID:uwscV1ya
TypeScriptと比較した短所
・TypeScriptはJavaScript文法をたくさん拡張しているのにHegelは少ししかない
・TypeScriptにはany型があるのにHegelでは使えない
2020/06/15(月) 22:35:54.06ID:Qz5pUzob
静的型付けマンセー人類からすれば静的型付けと言いながら悪魔の様に万能なany型の禁止は長所だけど
2020/06/15(月) 22:37:50.44ID:yqEOs8la
>>115
コメントでメタデータをあれこれしてるように見えたんですねw
2020/06/16(火) 08:37:02.16ID:9fjqT2W8
OSSの宿命だけど、こういうのって少ししたら俺も俺もって、新しいのが作られて、お互いに食い合って、消えていくんだよ
重要なのは、長期的に責任をもって、メンテナンスしてくれるかどうか
TypeScriptの成功は、マイクロソフトへの信頼があってこそ
2020/06/16(火) 08:56:17.23ID:JSqevQjl
Concurnas - 並列およびGPUコンピューティングのための新しいJVM言語
https://www.infoq.com/jp/news/2020/06/concurnas-jvm-gpu/
2020/06/16(火) 22:48:27.54ID:KGIo06cm
どういう売りの言語なんだ?
2020/06/17(水) 09:10:16.82ID:RREhDXpr
まあアノテーションで動作注入するってのは意味が広すぎるからぱっと見、動作がわからんってのはある。
2020/06/17(水) 11:11:39.35ID:x68gmLFY
Jが付くのは大体糞だな
2020/06/18(木) 06:55:32.16ID:9/W/0Gtf
Java
Japan

Korea
Kotlin
2020/06/18(木) 07:36:48.15ID:jBRL/Eep
トレンドマイクロはJavaとJavaScriptを区別できないらしいな
2020/06/18(木) 13:00:41.64ID:o6buD/Ym
goが流行ってるのって静的言語の中ではビルドが楽って理由じゃね?
2020/06/18(木) 13:22:18.44ID:jBRL/Eep
他と比べてそんなに楽かい?
2020/06/18(木) 13:56:16.60ID:cP/SUrV2
JVMに依存したくない
.NET runtimeにも依存したくない
クラウド上で使うので出来るだけ少ないリソースで動かしたい

消去法で残る選択肢の代表格がGo
2020/06/18(木) 14:24:44.95ID:jBRL/Eep
.NETも.NET Coreになってからは快適だけどな
130デフォルトの名無しさん
垢版 |
2020/06/19(金) 11:00:03.40ID:imkL+tNk
Rustって実用性ってどんなもん?
ライブラリの充実度とか色んな面で
2020/06/19(金) 11:34:29.32ID:/tlJ1uju
Rust自体は既にプロダクションの実績がいくつもあります
貴方にとって実用になるかどうかは開発メンバーの脳味噌の実用性次第です
132デフォルトの名無しさん
垢版 |
2020/06/19(金) 11:57:46.89ID:imkL+tNk
>>131
えー!!
教えてくれてありがとう
でもさ、言語ってさコンパイラ作ったら終わりじゃないじゃん
cmake、Mavenのようなビルドツール
Webフレームワーク
IDE
デバッカ(C++の場合finstrument-functionsよる実行時関数トレースまで出来る)
プロファイリング
Valgrindみたいな仮想機械
静的コード解析
コンパイラによる最適化
などなど言語作るって本当に大変だと思うんだけどRustがオープンソースでそこまでしてくれてるのかなーって思ったんだ
開発メンバーが優秀でもそこまで自分たちじゃ作れないもん
2020/06/19(金) 12:19:28.67ID:Q7Nlzsqk
全部込みなら結局.NETが最強ってわけよ
2020/06/19(金) 12:40:44.64ID:fVZkw9Lt
.NET使いが本当に.NET使えてるのか疑問に思うわ
2020/06/19(金) 12:55:25.35ID:Nn1N7UYA
>>134
「本当に言語(やフレームワーク)を使う」ってどういう意味?
2020/06/19(金) 15:23:42.80ID:Ipe4ECyW
Valgrindは言語非依存だろ
137デフォルトの名無しさん
垢版 |
2020/06/20(土) 15:52:56.50ID:NfAnNyQw
結局V言語のメモリ管理ってどうなったのさ?
2020/06/20(土) 16:06:26.98ID:s+0TrQkE
だから詐欺だって言ったじゃん
139デフォルトの名無しさん
垢版 |
2020/06/21(日) 20:59:09.47ID:jqoo3LUF
>>132
大企業のバックアップがいくつかあるから
うちでは小さな企業だけどいくつも製品に適用してる
2020/06/22(月) 01:34:11.04ID:vjvn7WrE
素人質問なんだけどNimってGCだからRustよりメモリ消費量が増大するのかな?
GCが優れてたらRustの出番なくなる気がするんだけど
2020/06/22(月) 07:52:04.28ID:YYa85moB
その僅かなGCもクリティカルになる場合で必要だから出番は無くならない
2020/06/22(月) 08:59:44.79ID:OECHtCBQ
そうかなあ
Rustのメモリ管理はどっちかというと、人間にとってある程度の予測可能性は犠牲にしつつもGCほどには不確定ではないっていう、
GC頼りからのクォリティアップのための選択肢としての性格が強い印象
本当に厳密に全てを人間が把握する必要があるような用途ならメモリは静的に確保するのが基本なんで、むしろC/C++で十分
143デフォルトの名無しさん
垢版 |
2020/06/22(月) 11:06:52.85ID:HUDePNlz
GCの問題ってメモリの使用量より実行コストなのでは
何にせよ「優れていてたら」という曖昧な評価を前提に議論するようなことではない
2020/06/22(月) 12:53:01.15ID:pgI7+Dvz
>>142
個人的印象じゃなくて仕様から動作説明しろよ
2020/06/22(月) 13:08:53.95ID:vjvn7WrE
>>143
コンパイル時間は多少かかるけど最適化されたcが出てくるから実行は早いんだよ
https://pbs.twimg.com/media/DoLuLlsUUAATlmC.jpg
https://twitter.com/nim_lang/status/1045659954923724802

ただGCにも限界あるし大きいファイル高速に処理したりとかは無理なんだろうな
https://twitter.com/5chan_nel (5ch newer account)
2020/06/22(月) 13:20:43.45ID:cZQabspg
まずGCがなんたるかを勉強してこい
2020/06/22(月) 14:27:48.17ID:5DKYw5ah
Rustはdropのタイミングでfreeされるんだから完全にコントロール出来るだろ
148デフォルトの名無しさん
垢版 |
2020/06/23(火) 02:21:40.09ID:LtGjLWJA
freeしてもすぐ解放されないよ
厳密にやるならそもそもヒープ使わないだろうし
glibcも使わないんじゃないの
2020/06/23(火) 11:33:30.58ID:bQuRMpOx
こういう反論されると話の最初の前提を勝手に変えだす
奴と議論するのは無益
150デフォルトの名無しさん
垢版 |
2020/06/23(火) 11:35:56.34ID:4kHZmTBE
動くゴールポスト
勝つとルールが変わる
2020/06/23(火) 11:53:24.52ID:EpfZjwCv
言い忘れたからって
現実に前提が存在してるときはしょうがないだろ!
2020/06/25(木) 11:21:03.93ID:XA10qT73
ガンダムみたいに戦闘しながら議論した方がいいかもね
そうすれば議論は勝敗やゴールとはあまり関係ないという事実がわかりやすい
2020/06/25(木) 12:30:00.05ID:i+VkGREF
基本議論しかできない掲示板でひどい開き直り
2020/06/25(木) 12:50:45.88ID:XA10qT73
ニュータイプは戦果を出すことしかできない機械なのか
という議論もガンダムでやったやつだ
2020/06/25(木) 14:19:19.47ID:oLCCqb60
次世代言語(笑)
やっぱり実績のある言語じゃないと

Announcing Perl 7
https://www.perl.com/article/announcing-perl-7/
2020/06/25(木) 14:27:20.56ID:t7+TBcnO
そういえば次世代みこそ薄いけど富岳はFortran,C,C++,Java,Python,Rubyだそうだ
京はFortran,C,C++,Java,Python,R,Rubyっぽい?のでR除外の理由が気になるところ
パッチ当てが追いつかなったって説はあるが
157デフォルトの名無しさん
垢版 |
2020/06/25(木) 15:34:28.47ID:2XRewe5U
描き忘れたに+1
2020/06/26(金) 03:31:18.99ID:4Xp41V6m
皆、移行したから

R, Matlab → Python → Julia
159デフォルトの名無しさん
垢版 |
2020/06/26(金) 21:12:36.04ID:Op8/e6Io
スレタイにflutterいれろよ
2020/06/26(金) 21:34:30.95ID:cCyoeEbx
言語じゃないし
2020/06/26(金) 21:39:30.43ID:TT3ZMIPw
言語じゃねぇし。Rails入れろ、WordPress入れろと言ってるようなもん。
2020/06/26(金) 22:07:41.65ID:Hs7cx7hb
DartならKotlinと同世代だしスレタイに入る資格あるんじゃね
ようやくNULL安全になりそうってレベルだけど
2020/06/27(土) 06:45:52.74ID:mR8TbkIn
>>100
>調べに草w

上手いこと言ってて草w
164デフォルトの名無しさん
垢版 |
2020/06/27(土) 09:16:57.07ID:e0+LQFD/
nimなんて聞いた事ないのねじ込んでくるなよ
スレタイから外せ
165デフォルトの名無しさん
垢版 |
2020/06/27(土) 10:11:44.16ID:QSLeN3Uh
喰わず嫌い良くない
Nim やってみなよ
2020/06/27(土) 10:22:27.59ID:aTkq7ke+
Nim Nanて何処Nimo使われてNaimoN
167デフォルトの名無しさん
垢版 |
2020/06/27(土) 15:27:43.23ID:e0+LQFD/
つかスレタイからElixer外したやつ誰だ?
なんで外したん?
2020/06/27(土) 15:31:40.51ID:Xu05bxNt
>>167
スレ立てる奴が好きに付け外ししていいから。
169デフォルトの名無しさん
垢版 |
2020/06/27(土) 16:50:26.92ID:PIc799Td
この半年くらいでRustが一つ抜けてしまったから他はどうでもいいわ
2020/06/27(土) 17:12:05.58ID:NFShXxR/
スレタイ入り言語ランキング
Rust:19回
Go:13回
Kotlin:12回
TypeScript:12回
Swift:8回
Haskell:7回
Scala:5回
Elixir:4回
Dart:3回
Julia:3回
Erlang:2回
Bospue:1回
Crytal:1回
V:1回
2020/06/27(土) 17:39:03.98ID:qbf/CKsA
つまり大器晩成だとおだてられ続けて気が付けば還暦を過ぎていたクソ言語
2020/06/27(土) 19:38:02.86ID:dHy1PVbN
Dart(Flutter)は新しい言語に興味を示さないタイプの同僚が
これはいいと使い始めてるからちょっと興味ある
2020/06/28(日) 08:45:17.63ID:UQNu08lk
Zigも入れようぜ!
2020/06/30(火) 12:15:19.76ID:FwIuBGzE
Zigは演算子がダサいから無理
175デフォルトの名無しさん
垢版 |
2020/07/01(水) 11:46:50.25ID:IfUrt5hg
スレありますか?
https://ja.crystal-lang.org/
https://ja.wikipedia.org/wiki/Crystal_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)
2020/07/05(日) 20:04:09.93ID:0gld4/HX
Dartマジ無理
177デフォルトの名無しさん
垢版 |
2020/07/06(月) 10:37:27.36ID:vjiPzzt6
スレありますか?
http://kuina.ch/kuin/tutorial1
https://github.com/kuina/KuinInKuin
https://github.com/kuina/Kuin
2020/07/06(月) 12:34:42.05ID:KZ2tcQsg
クソ単発ガイジ
179デフォルトの名無しさん
垢版 |
2020/07/17(金) 12:19:32.48ID:x8/LfrV9
Haskell、いつの間にかマルチスレッド書き易くなってたから再参入して良い?


932 デフォルトの名無しさん[] 2020/07/13(月) 11:46:57.33 ID:Bw4cVoP9
Haskellによる並列・並行プログラミング読み進む内に、普通のシングルスレッドプログラムを簡単にマルチスレッドにする方法が書いてあった。

import Control.Parallel.Sterategies

main = (print.f) [9999800..1000000]

f xs = map g xs `using` parList rseq

g n = sum [1..n]

上の通り、シングルスレッドプログラムに
import~と、`using`~を追加するだけ。

コンパイルと実行の時にもコマンド引数が必要で、コンパイルの時、

>ghc -O2 filename.hs -threaded

と言うふうに速さ重視の最適化とスレッド対応を明記。

実行時にはスレッド数をNnの形で指定する。(ここでは2スレッドを指定)

./filename +RTS -N2

普通のプログラミング言語だと、シングルスレッドとマルチスレッドでは似ても似付かないコードになるから、これには感動した。
(2スレッドと4スレッドでもコードが違う事がまま有る中、これは本当に感動)

Haskellマジお勧め。
2020/07/19(日) 15:03:03.44ID:Xms4b6hK
Haskellにはseq=簡単、モナド=難しいという俗説があるようだ
181デフォルトの名無しさん
垢版 |
2020/07/19(日) 15:26:10.25ID:mM+s32W9
モナドは一言でいえば「箱から出して、何かして、箱に戻す」と言う動きに付けた名前。
モナドのreturn関数は箱では無く、階層として捉えたと考えられる。
「階層から降りて、何かして、元の階層へ『戻る』」

ただそれだけなのに、名前が無い(モナドとしか名前が無い)から、具体的に何なんだと言われても困るってだけ。
182デフォルトの名無しさん
垢版 |
2020/07/19(日) 15:29:14.11ID:mM+s32W9
詳しくは拙著「あっけなく覚えるHaskell」(kindle本)をご購入下さい。
2020/07/19(日) 15:43:05.45ID:UW3G0u72
こんな説明が下手なやつも珍しい
2020/07/19(日) 15:45:54.45ID:Xms4b6hK
モナド=型を書かない人には難しい
seq=型を書いたらモナドの再発明
2020/07/19(日) 16:06:36.18ID:kKBDrrZH
クラステンプレートのメソッドがモナド則満たしたものをモナド言ってるだけだぞ。
なおプログラム的に制約を満たすかどうかはチェックしない模様
2020/07/19(日) 16:25:35.06ID:OIQ5n+6G
プログラム的にモナド則を満たすか検証できる型システムを入れるのはめちゃくちゃ大変だし型推論も大変な事になるし記述しなきゃいけない量も爆発するから…
187デフォルトの名無しさん
垢版 |
2020/07/20(月) 21:31:52.03ID:kCiG6sTQ
もしかしてHaskellが難しいって言ってる人達って、モナドが何か分からないから難しいって言ってるだけだったり?
モナドが何かとかの理論的背景は難しいけど、モナドの使い方自体は難しくない。
スクーターの運転は難しく無いけどスクーターの構造は難しいのと一緒。
それでスクーター難しいってのは的外れ。

Haskellそのものは簡単。
それを支えるモナドや圏論の理論が難しい。

そこは切り分けなきゃ。
2020/07/20(月) 21:37:51.03ID:uvZgkaZD
初心者に説明する人が切り分けてないので。
嬉しそうに理論的背景を唱えてくる。
効果はばつぐんで深い眠りに落ちる。
2020/07/20(月) 23:31:34.22ID:L10CJ4Gi
哲学のモナドとまったく何の関係もないのだと納得するまで混乱しまくった
190デフォルトの名無しさん
垢版 |
2020/07/21(火) 00:09:36.21ID:O3jPbwEs
Haskellで書かれているので次期LinuxはWindowsの20倍速いという噂。
2020/07/21(火) 01:06:01.32ID:pGVS9bJf
うそだろwwwwww
2020/07/21(火) 21:35:47.16ID:nyC/Po7o
Linuxカーネルが難しい?Rustで実装しよう!
https://medium.com/nttlabs/linux-kernel-module-with-rust-d5363c2f9085

まとめ
現状、RustでのLinuxカーネルモジュール実装は、Rustだけなく、C言語でのカーネル開発知識も必要になり、C言語で実装したほうが簡単ということが分かりました。
しかし、全てのLinuxカーネルモジュールを、Rustで書き直すとなれば、この先10年間ぐらい、エンジニアみんなの仕事を作ることができます。業界愛ですね。
193デフォルトの名無しさん
垢版 |
2020/07/21(火) 23:46:13.85ID:4GG7eaxB
Dが出た頃に同じ様な話を聴いた覚えがある
MonaOSとか今どうなってるかなω
2020/07/22(水) 00:15:45.05ID:z4DE/LFz
C++と違ってRustにLinusが切れてないのは大きい
2020/07/22(水) 00:19:40.79ID:YZRjR+YG
ちゃちいコンパイラで判断できる安全性を判断するためだけに
Rustに書き換えるのか?
ナンセンスだ
196デフォルトの名無しさん
垢版 |
2020/07/22(水) 01:48:12.20ID:nm/iTumD
誰かが、RustでUnixライクなOS実装すれば、流行るかもね
2020/07/22(水) 08:26:18.70ID:C3ALD0gE
後のRunixである
2020/07/22(水) 08:38:41.88ID:VhKfQKt/
絶対この書き方しかしないのにチェーンメソッド連連書かされるのを省いたトランスコンパイラ作れば流行りそう
2020/07/22(水) 10:02:06.83ID:2Lry9Yzr
linuxのヘッダーマクロ地獄は確かにcで書く意味あるのか考えたくはなるわな。
コードジェネレーターとかやろうとしなかったのは気になるところ。
200デフォルトの名無しさん
垢版 |
2020/07/22(水) 17:20:34.61ID:rcYeJgob
なんでマクロごときでコードジェネレーターなんて出てくるんだ?純粋に疑問
2020/07/22(水) 17:37:18.31ID:2Lry9Yzr
マクロごときってw馬鹿は黙ってろよ
202デフォルトの名無しさん
垢版 |
2020/07/22(水) 20:44:27.83ID:7mpqS8Jd
>>187
Cや手続き型、副作用前提でやってたことをすべて代替できないとう意味で難しいんだろ
諸君らが愛してくれたscalaは死んだ。 何故だ!?
2020/07/23(木) 05:32:18.04ID:JJDBOEYA
_ だからさ
204デフォルトの名無しさん
垢版 |
2020/07/23(木) 10:48:15.71ID:LFdUt9xs
>>202
Haskellにも副作用はあるよ。
参照透明性が崩れないだけで。

一応メモリを扱う関数もある。
Haskellでハード寄りのプログラム書くならCで良いとは思うが。
2020/07/23(木) 10:57:16.86ID:1c3WMgKJ
>>202
c++の糞なとこばっかまねたからだぞ。
無駄に多い機能、無駄に長いビルド時間、安定しない実装。
どれもこれも糞だろ。
206デフォルトの名無しさん
垢版 |
2020/07/23(木) 11:10:31.34ID:LFdUt9xs
あ、手続き脳と関数脳の話か。
慣れたら関数脳の方が楽なのになぁ。

あと、手続き型言語の副作用のある処理を数学的に表すとこう。みたいな相関が見えて来るのは知見を広める意味でも触っておいた方が良い。
207デフォルトの名無しさん
垢版 |
2020/07/23(木) 13:04:58.57ID:Y70b/8hZ
実用的じゃないから誰も触らない
2020/07/23(木) 13:06:52.89ID:Eu0fAWmh
しくじっても、誰も笑わない
209デフォルトの名無しさん
垢版 |
2020/07/24(金) 04:50:25.42ID:6ZonvnML
Kotlin もよろしく
2020/07/24(金) 15:49:49.14ID:qTzVDhtt
C++とRustはsoとdllを諦めてるけどどうするんだろう
アプリにカーネルを丸ごと静的リンクするOSを作るのか
211デフォルトの名無しさん
垢版 |
2020/07/28(火) 19:04:04.55ID:KJ/jhVY+
Windowsなんて金優先のクローズドゴミ野郎だから対応しなくてもいいじゃん
2020/08/01(土) 10:58:02.60ID:AZmFmctv
macOSなんて金優先のクローズドゴミ野郎だから対応しなくてもいいじゃん
2020/08/06(木) 21:46:11.32ID:3hCyvjau
次世代ちっくな感じで大きめのwebアプリ作りたくなった会社は何言語使うのが正解かな?
2020/08/06(木) 21:55:44.41ID:64oFcyvB
>>213
マイクロサービスでpolyglot
2020/08/08(土) 15:20:26.95ID:Uq9PeiVW
>>213
Elm+Elixir/Phoenix
2020/08/09(日) 22:32:36.25ID:gljEqah4
GoとTSが安定だろうな
2020/08/09(日) 23:05:46.62ID:+Z5N4eB3
>>213
ASP.NET Core
218デフォルトの名無しさん
垢版 |
2020/08/11(火) 00:58:08.53ID:jdRsH5YI
ここにもMSガイジ湧いてて草
219デフォルトの名無しさん
垢版 |
2020/08/11(火) 01:00:35.20ID:jdRsH5YI
>>212
林檎ってことある事に
人の神経逆撫でしてくるよな
ヘッドセット買った後に
スマホにヘッドホン端子のジャック着いてないのに
気づいた時は本当に殺意を覚えたわ
2020/08/11(火) 01:17:36.94ID:6Dh6cPB7
>>218
TypeScriptもMicrosoftな
2020/08/11(火) 03:26:24.11ID:X5c8vKvD
耐障害性のある、Erlang VM 上で動作する、Elixirは、Ruby を関数型にした言語で、
Heroku, Nintendo Switch、ドワンゴ、LINE などの分散型でフォールトトレラントなアプリで使われている

作者のJose Valim は、Ruby on Rails のコミッター

Ruby の伝道師で「達人プログラマー」の著者・Dave Thomas の本も出てる。
プログラミングElixir、2016
222デフォルトの名無しさん
垢版 |
2020/08/16(日) 03:33:43.19ID:DO9VjcLp
もう何日も書き込みが無い
次世代言語なんて幻想はもうどこにもないんだ

プロセッサだって、もって後数回しかシュリンクできない
2020/08/16(日) 10:30:41.58ID:csiWOmGY
RustとGoで良いだろ、マークアップ除いて後は要らん。わりとマジで
2020/08/16(日) 11:49:34.88ID:9EO0Sudk
まあどんな言語使ってもそんな生産性変わらんわってのが広まってるんだろ。
この言語使えば〜みたいな詐欺はもう流行らん。
2020/08/16(日) 12:15:40.03ID:Gx64LiTB
逆にどの言語使っても生産性変わらんから
スクリプト言語から速度的に優位なgoに移ってきてる気がする
2020/08/16(日) 13:38:06.99ID:A8I8zPK7
言語でもツールセットでも生産性変わる
多言語使わないやつにはわからない

用途に適した言語、道具が揃ってる言語を選ぶ能力の有無が
生産性を左右する最大の要素
227デフォルトの名無しさん
垢版 |
2020/08/16(日) 18:40:27.51ID:PSKVDlvX
三流プログラマは自分がコードを書いているときの効率を生産性と評価するんだよね
それは誤りだと気づく能力が生産性を左右する最大の要素
2020/08/16(日) 21:11:53.03ID:A8I8zPK7
>>227
それは全体最適を理解する最初の一歩でしかないので
生産性を左右する最大の要素にはなりえない
2020/08/16(日) 22:30:13.57ID:Degs0Zl8
Ruby on Rails なんて、いかに自分でコードを書かないかが、生産性を決める。
ほぼ、技術選定を同じ。
だから、Rails をやった人は、若くして重役になる。
上流工程だから

有名なYouTuber、雑食系エンジニア・KENTA も言ってる。
サーバー側・上流工程がプロジェクトを請け負って、価格を決める

逆に、下流工程専門のJava 土方は、奴隷から上がれない。
でも、コーディングばっかり出来るから、一人でやれるから、煩わしくない。
他人と協調しなくても良いから。
その代わり、給料は上がらない

Rails には、credentials、データベース機能、S3 へ保存、websocket、サムネイル作成、メール送受信など、
アプリに必要な全機能が揃っている
2020/08/17(月) 02:06:21.48ID:CkOUws2q
railsは最近のフレームワークに比べると
設計古い分だけ苦しいんだよなあ
なんでもかんでもそろってるというのはあるけど

それに輪をかけてRubyの古さはどうしようもない
231デフォルトの名無しさん
垢版 |
2020/08/17(月) 10:16:37.44ID:JNS55LaW
RいるずとかRびぃとかで生産性が上がると思ってる香具師は三流
2020/08/17(月) 10:32:02.74ID:gOpuo4mW
railsで全てを悟ったような事を言う奴って
railsしか触ったこと無い奴が多い

上流とか下流とかいう奴も
設計書見なけりゃプログラム書けない奴が多い

有名なYoutuberはわざわざ「有名な」なんて付けない
有名なら「有名な」なんてつける必要が無いから
有名なヒカキンとは言わんだろ
233デフォルトの名無しさん
垢版 |
2020/08/17(月) 10:34:48.06ID:L1BKvkJB
人気アイドルグループの●●
ジャニオタ涙目ωωω
2020/08/17(月) 14:36:40.35ID:4SFpVmal
railsとかある程度の規模でどんづまりなのが見えてるのになんで使うかね。
2020/08/17(月) 22:23:17.85ID:MEsr0Cpt
土方の俺達は選べない。Railsがウンコでも脳みそ鼻くそな上流工程が使えと言えば使わざるを得ない。
偶の音も出なくてワロタ
236デフォルトの名無しさん
垢版 |
2020/08/18(火) 05:58:43.05ID:MShhF9Ek
ウンコなのはお前
2020/08/18(火) 08:15:20.19ID:KlQrPk6/
>>234
道具のPros/Cons理解して使いこなす能力がないからどんづまる

能力があればGithubのように規模がでかくなってもどんづまらない
238229
垢版 |
2020/08/18(火) 09:09:46.30ID:uZlAQ3GL
Github, Cookpad, Airbnb, Shopify などの世界No.1 レベルは、
たぶん、Ruby on Rails から、Elixir へ進む

Python も、Julia へ進む
2020/08/18(火) 11:03:49.01ID:IP4M1BnZ
こういう馬鹿ってscalaがどんだけ糞レガシーを残していったのか理解してないんだろうな。
てかレガシーコードのほとんどがこういう新し物好きが食い散らかした後なんだよな。
240デフォルトの名無しさん
垢版 |
2020/08/18(火) 11:12:54.71ID:m/IRCFM1
Scala 久々に目にしたω
スッカラカンωωω
2020/08/18(火) 23:56:48.55ID:hURjH3AW
10年後にレガシーにならない保証なんかどの言語にもねー
2020/08/19(水) 19:49:36.13ID:0GUp1FRq
rustでサーバーサイド実装したら、goでやるのの何倍くらい実装コストかかるかな?
2020/08/19(水) 20:18:25.96ID:0GUp1FRq
コストじゃなくて工数
244デフォルトの名無しさん
垢版 |
2020/08/20(木) 06:55:12.76ID:TxgxGTNZ
同じくらいでしょ
2020/08/20(木) 13:24:37.10ID:mUbWyim7
>>242
20倍ぐらい面倒くさくなる
2020/08/20(木) 17:43:19.69ID:Vh+CKm/q
>>244
>>245
どっちなんや?
2020/08/20(木) 19:31:28.88ID:p14ZPIiN
工数は頭の悪さに比例します
248デフォルトの名無しさん
垢版 |
2020/08/20(木) 21:03:08.53ID:TxgxGTNZ
イニシャルは練度が同じなら同じ
ランニングコストはRustの方が安い
2020/08/20(木) 21:20:56.88ID:Zhp21ZGG
(ただし言語自体の学習コストは含みません)
250デフォルトの名無しさん
垢版 |
2020/08/20(木) 21:52:59.12ID:jaUS/0kj
>>248
やっぱしそうか!ありがと
2020/08/21(金) 21:24:17.22ID:Q32PIa6B
どんな言語でもテキトーなサーバーだったら5分でできるやろ。
252デフォルトの名無しさん
垢版 |
2020/08/22(土) 18:02:23.24ID:75ogR6/b
もしかしてrustで複雑な業務(ドメイン)を書いたら所有権周りでめちゃくちゃ工数掛かる?
2020/08/22(土) 19:38:13.07ID:A9y+5EGT
そんなもんどうせIOバウンドなんだから全部値渡しでいいだろ
ドメインオブジェクトの生成や破棄は、それが業務上の意味を持つ操作なのであればRustの厳格なメモリ管理とは本来全く別の関心事であって、混同するべきではないと思うよ
2020/08/22(土) 23:04:59.73ID:75ogR6/b
わかった。とりあえず気にしないことにして進めてみる。ありがと
255デフォルトの名無しさん
垢版 |
2020/08/28(金) 16:16:56.11ID:BzetMPZy
何日もレスがない

次世代言語を語っている奴は目が覚めたか?
256デフォルトの名無しさん
垢版 |
2020/08/28(金) 21:53:58.53ID:+vlHuFYR
いやRustで結論が出た
2020/08/28(金) 22:48:55.15ID:d1Ph4yRx
unsafe{ }
2020/08/28(金) 23:28:34.38ID:2izNWGSa
期待されたけど死産だったんだよ
2020/08/28(金) 23:30:15.29ID:d1Ph4yRx
配列の斬進的初期化はいつくるんだ
260デフォルトの名無しさん
垢版 |
2020/08/29(土) 06:52:27.32ID:Xfp/9lVZ
斬新的初期化とは斬新だな
2020/08/29(土) 10:02:41.16ID:3CjOGhtc
rustで挫折したやつはgoでええやんてなる。それでもダメならpythonでええやんてなる。
で10年くらいかけてc -> c++ -> rust と辿ってまたgoに戻る。
262デフォルトの名無しさん
垢版 |
2020/08/29(土) 10:56:22.52ID:HmjSn9P9
悟った人はプログラム描くのに忙しい
ここに来てる人はもやもやしてる人
2020/08/29(土) 13:12:22.12ID:mIv5b+Hm
プログラム猫
2020/08/29(土) 13:15:16.68ID:pB6OoNy0
最近は、common lisp眺めてる。
265デフォルトの名無しさん
垢版 |
2020/08/29(土) 13:59:40.80ID:9NUjRqbJ
>>263
https://robotstart.info/2020/08/06/moflin-kickstarter.html
2020/08/29(土) 19:46:32.32ID:PAjgnkr0
選択肢の多様化も専門化も進んでる以上今イケてる分野で多用される言語はあってもC時代やJava時代みたいな言語としての覇権は出てこないっしょ
GoとRustだって結局やれることもやりたいことも違うんだから
2020/08/30(日) 01:30:55.98ID:QoCO2IvO
カツマタくんは
Rust見限ったと言ってるけど
ほんま需要ないの?
2020/08/30(日) 05:03:47.15ID:bk9ybW3K
>>267

web系の需要は少なそう
と言うか彼がやってるようなマイクロサービス案件はgo一択になってるっぽい
269デフォルトの名無しさん
垢版 |
2020/08/30(日) 07:36:43.47ID:moqZWk8K
なってないわ
2020/08/30(日) 12:18:31.72ID:bk9ybW3K
go以外にはどんな選択肢あるん?
2020/08/30(日) 12:54:09.21ID:BWuiy1TR
rust使うほどメモリレイヤーを細かく見る必要ない輩が騒いでる印象しかない。
結局c++とくらべていうほど安全に書ける範囲は広くないっていう。
2020/08/30(日) 13:59:42.34ID:zxKbVKb3
わかる
Goが選択肢に上がる時点でRustなんか論外
273デフォルトの名無しさん
垢版 |
2020/08/30(日) 14:11:50.44ID:GgAZZaQa
D は何故流行らなかったし
2020/08/30(日) 16:34:30.85ID:y/viv//D
今のGoは書いてて色々と気持ち悪いとこあるねん
思いきり破壊的移行してくれちゃってもええんやで?
275デフォルトの名無しさん
垢版 |
2020/08/30(日) 16:46:17.36ID:GgAZZaQa
Go 2
2020/08/30(日) 16:49:27.73ID:pBdVEeYq
>>275
それがV
2020/08/31(月) 01:10:43.63ID:t0AIL0p6
Goの何が駄目といって名前がまず駄目すぎる
あとマスコットがきもすぎ
278デフォルトの名無しさん
垢版 |
2020/08/31(月) 10:32:38.14ID:pX0ZQbZW
Go 2 で Heaven
279デフォルトの名無しさん
垢版 |
2020/08/31(月) 10:45:00.75ID:IiRWGc0G
rustのいいとこはGCがないこと
メモリレイヤーなんてどうでもいい
2020/08/31(月) 22:06:17.35ID:hXeEIz7l
C#とかでもオプションでGCじゃなくて参照カウントを選べるようにして欲しいわ
2020/08/31(月) 23:12:26.45ID:Qnl/Xujv
>>280
2020/09/01(火) 12:33:39.63ID:wBGQmF0I
>>279
すげー馬鹿なこと言ってるって自覚ないのか。。
2020/09/01(火) 15:11:31.43ID:o71+cerz
馬鹿が自覚持てたら、馬鹿卒業だろ
284デフォルトの名無しさん
垢版 |
2020/09/01(火) 17:17:20.34ID:JSj/RsF4
>>282
馬鹿には難しかったか
すまんの
285デフォルトの名無しさん
垢版 |
2020/09/01(火) 19:29:53.89ID:Z9W01AEm
C++が手に馴染んでもう手放せない
286デフォルトの名無しさん
垢版 |
2020/09/01(火) 19:32:48.40ID:Z9W01AEm
メモリ安全性はメモリサニタイザーでも使えばいいのさ
287デフォルトの名無しさん
垢版 |
2020/09/01(火) 19:34:52.79ID:Z9W01AEm
メモリ安全を言語レベルでチェックした結果
Rustみたいな使いづらいのになるよりまし
2020/09/01(火) 20:37:02.87ID:wBGQmF0I
>>284
メモリーレイヤーとGCの有無が結びついてるっていう当たり前のことも理解できんの?
そりゃバカとしか言いようがないのだが。
289デフォルトの名無しさん
垢版 |
2020/09/01(火) 20:44:36.45ID:JSj/RsF4
>>288
まずめもりれいやーとかいう謎用語を説明してみろ雑魚
騒いでるだけの輩じゃなく実用例をみて考えろ馬鹿
周りの反応みて自分の使う技術を決める、あるいはそもそも決める権限のない三流は山に籠もってワサビでも育ててろ
2020/09/01(火) 22:56:04.60ID:RK7Kdsp4
>>285
C++ で xlsx をお手軽に扱いたいのですが、poi みたいなのはありますか?
291デフォルトの名無しさん
垢版 |
2020/09/02(水) 15:36:22.55ID:PicHUi2j
c++ → python.dll → openpyxl → xlsx
2020/09/03(木) 01:34:49.42ID:1yOoy4EL
ほかの言語の例外処理って
コンパイルされたとき
例外が出るかもしれないところ全部にIF命令でチェック入ってるの?
293デフォルトの名無しさん
垢版 |
2020/09/03(木) 10:09:04.00ID:DK3Ul6vK
馬鹿には無理
2020/09/03(木) 23:44:57.09ID:xoqRcLA4
>>292
多分 sjlj
2020/09/04(金) 10:16:43.00ID:RyABI4zl
>>289
メモリ管理しないでGCもない言語の実例なんてねーよバカ。
そもそもおまえはなぜ全く別と言い切ったのか?馬鹿だから説明できんだろうが。
296デフォルトの名無しさん
垢版 |
2020/09/04(金) 17:54:54.66ID:KIaTSFBF
何言ってるかわかんねぇなこいつ
2020/09/04(金) 19:21:18.28ID:9u5Ak7Cc
結局メモリレイヤーって何?
2020/09/04(金) 21:41:36.96ID:GUj1t4WA
昔のFortranはメモリ管理もGCもしていなかったと思った
メモリを使い切るとシステムごとダウン
2020/09/05(土) 09:59:00.26ID:udYsES5F
なんでrustってすぐレスバ始まるの?
c++競合だから老害が多いの?
2020/09/05(土) 10:06:16.29ID:qef5ttAc
若者はメモリレイヤーが何か説明できるの?www
301デフォルトの名無しさん
垢版 |
2020/09/05(土) 10:24:51.56ID:D6IgUwp/
メモリレイヤーのおかげでコロナも治りました
2020/09/05(土) 10:34:06.80ID:Zt2jN5NI
メモリレイヤーのおかげで彼女ができました
2020/09/05(土) 12:18:42.56ID:6bX7Er3v
なんでメモリーレイヤーでもメモリレイヤでもなくメモリレイヤーなんだ?
2020/09/05(土) 12:30:23.21ID:xxmjhRdJ
メモリレイヤーのおかげで貯金が増えました
305デフォルトの名無しさん
垢版 |
2020/09/05(土) 12:57:25.52ID:6bF9LE2w
>> 297,300

https://www.hackerearth.com/ja/practice/notes/memory-layout-of-c-program/
2020/09/05(土) 12:59:43.79ID:qef5ttAc
レイアウトをレイヤーと間違えてましたというオチ?
まず土下座しなよ
307デフォルトの名無しさん
垢版 |
2020/09/05(土) 14:48:43.58ID:D6IgUwp/
これはひどい
2020/09/05(土) 21:31:43.79ID:4KLFZR2n
メモリレイアウトするのはメモリレイヤーだろ?
2020/09/05(土) 21:44:34.11ID:S08YuXMp
それはつまりコスプレイヤーはコスプレイアウトするということ?
2020/09/05(土) 22:30:54.33ID:OV3VFUME
なんでマキマはパワー殺したんや?

パワーちゃんを返せ!!(´;ω;`)ブワッ
311デフォルトの名無しさん
垢版 |
2020/09/05(土) 22:44:48.98ID:PJOEuBz7
メモリイヤー
312デフォルトの名無しさん
垢版 |
2020/09/12(土) 04:26:21.84ID:qnwPZG87
もう書き込み止めたのか

次世代言語って幻想はどこにもないんだな
313デフォルトの名無しさん
垢版 |
2020/09/12(土) 09:04:47.51ID:gNCHDXQ0
ただの現実だからね
2020/09/12(土) 09:09:11.46ID:tObrdLHP
RustとGoでFAだろ
2020/09/12(土) 09:18:26.07ID:D2vMAItA
Rustは知らんがGoはもう普通に使われてるよ
Go+Lambdaは古いバッチやツールを一掃していくだろう
2020/09/12(土) 17:45:52.54ID:DngvGWWG
Rustだって機能が足りない足りない言われながらも1.0は2015だし、Goだって1.0は2012
TSも2.0すら2016だ
単純にここ数年に一発屋でなくかつそこそこの規模と注目度のある新言語が無いって話だろう

Juliaの1.0が2018ってくらいか?
Vはdiscoのコミュニティと宣伝は活発みたいだが結局メモリ管理の話が全然されていないのでここではお話にならないって扱いなのもある(そしてそれは正当な評価だと思う)
2020/09/12(土) 17:59:51.46ID:erdZI+Jx
julia意外だな。1.0未満の期間が長かったんだっけ?
2020/09/12(土) 18:22:29.95ID:uKAWBZoa
てかc++が35年前リリースで、その時点でcの互換性を気にするような時代だったわけで、
ライブラリ資産を考えれば現在ならさらに互換性重視になるのは当たり前といえば当たり前な話だな。
2020/09/12(土) 18:47:45.43ID:iYw8cktk
新言語が実用レベルになって注目を集めるまでには短くても5年くらいかかるのが普通
Swiftみたいなのが例外

https://en.wikipedia.org/wiki/Timeline_of_programming_languages
2020/09/16(水) 11:21:04.86ID:7urtxE4G
typescriptに興味があるんだけど、これってpythonと同レベルのことはできるの?
2020/09/16(水) 12:44:17.58ID:EKN8ETXg
余裕でpython超えてるよ
322デフォルトの名無しさん
垢版 |
2020/09/19(土) 02:33:55.66ID:Vwp+/AeQ
個別スレの勢いもありそうだし、次からはスレタイトルからGo,Rust,TypeScriptは外していいんでね?
代わりにDeno入れようや。
2020/09/19(土) 08:22:29.23ID:k5fZduun
denoって言語じゃねえじゃん
2020/09/19(土) 10:22:58.54ID:GIsFWUa4
node.jsも言語って言ってるやついたなぁ
325デフォルトの名無しさん
垢版 |
2020/09/19(土) 13:21:30.45ID:c3Dxemv9
node.jsはLinuxだよねw
2020/09/19(土) 16:39:06.59ID:zaBpASvv
>>325
??
2020/09/19(土) 21:13:18.09ID:aizVmBlc
なでしこ、
328デフォルトの名無しさん
垢版 |
2020/09/20(日) 11:16:46.77ID:twnavDgu
node.jsはUbuntuだよねw
2020/09/20(日) 11:29:02.85ID:OXACXz1O
サンマは目黒に限る、みたいな?
330デフォルトの名無しさん
垢版 |
2020/09/20(日) 23:33:35.24ID:MLu0Cj9r
reactでtypescript導入してみたけど
生産性下がりそうだわ
2020/09/21(月) 19:50:42.00ID:bUjODxzP
typescriptは、簡単にインストール不要で
配布しやすい実行ファイル形式に出来ると良いんだけどな。
2020/09/22(火) 03:21:18.04ID:m5/WiGPk
webpack使ったら1個のjsに
2020/09/22(火) 21:58:13.38ID:8LDReTrK
nimが来そうってマジ?
2020/09/23(水) 00:25:08.30ID:VyoI5STN
全然
335デフォルトの名無しさん
垢版 |
2020/09/23(水) 09:33:08.94ID:hJkRvCZv
"Dよりマシ"
336デフォルトの名無しさん
垢版 |
2020/09/23(水) 19:46:40.23ID:FlkINfmG
iOSやMacOSとかの開発用としては強みは当然あるだろうけど、
Swift言語自体のほかの言語に対する長所って何ですか?
2020/09/25(金) 07:32:26.71ID:LUJK9/4D
>>333
オレは結構好き。
あとHexaが気になる。
338デフォルトの名無しさん
垢版 |
2020/10/27(火) 23:59:10.81ID:3AmRv/Cj
nimなんて聞いたことねーぞ
339デフォルトの名無しさん
垢版 |
2020/11/03(火) 02:03:32.62ID:Ir5rYGmc
よし!rustでhello world書いたぞ!
コンパイルしてみよ!
$ cargo build
っと。
…えっ、さ、さささ356,420バイト?たかだかhello worldで???

…あっ、デバッグビルドね!
あービックリした。
そうだよね、リリースビルドにしなきゃ。
$ cargo build --release
っと。
…さ、351,996バイト…

僕はC/C++に戻った
340デフォルトの名無しさん
垢版 |
2020/11/03(火) 12:10:40.93ID:1IAISP6j
Nimも良いけどDも良いで
2020/11/03(火) 18:06:07.49ID:t3pT9PGn
>>339
いろいろスタティックリンクするから
モダンな言語ってだいたいそんなもん
Goなんてたしか1MB超えるはず
(その代わりHelloWorld100行書いても少ししか増えない)

それが問題になるほどリソース制限がきつければC/C++しかない
342デフォルトの名無しさん
垢版 |
2020/11/14(土) 11:16:24.29ID:R1HTKNlU
>>331
Webassemblyが近そう。
ブラウザマシン専用中間言語ぽいやつ。
くろむブックもジワジワ普及しているから、次の時代の主流になるのは間違いないと確信している。
生成元の言語はタイプスクリクプトたろう。
ブートストラップ4とかあんぎゅらーとかのフレームワークつけて。
というか、最近のecサイトはGoogle系はあんぎゅらー、あどべアップル系がブートストラップにみえる。
343デフォルトの名無しさん
垢版 |
2020/11/14(土) 11:24:00.95ID:rlfQnoKb
>>341
Goはどのバイナリも中にnagix積んでるようなもんだしな。
でもwebapiサーバ(Grpc;グローバルリモートプロシージャコールんるん)の中身実装するなら、goが一番楽。手間要らず。

ポイントは、jsonのmarshalと案marshalメソッドのマッチョな便利さ。
uriとメソッドを紐付けてポスト駆動で記号的な直感さでイベント書けるところ。
あとバイナリでかいがプロセス起動が比較的に早い。
アンギュラーの起動の遅さときたら。。。
344デフォルトの名無しさん
垢版 |
2020/11/14(土) 11:43:18.75ID:YQeFE5ux
まだこのスレ続いてて草
2020/11/14(土) 13:18:18.50ID:DnZAmAgg
記号的な直感さ(笑)
346デフォルトの名無しさん
垢版 |
2020/11/15(日) 01:14:33.33ID:nkfeeuzq
>>342
>>343
この二人について何か言うことないの?
2020/11/16(月) 15:59:07.35ID:UwqGwG/i
ねえー
2020/11/16(月) 17:43:00.62ID:UqEVzIVF
何を語れと?
Golangは使いやすい。
ちな、その二つは俺が書いた。
2020/11/16(月) 18:14:31.42ID:2ijHHLJY
Go言語がダメな理由
https://postd.cc/why-go-is-not-good/

6年経ちましたがよくなりましたか?
2020/11/17(火) 18:04:47.39ID:YCT/6MoE
低学習コスト優先であえて採用しなかった機能ばっかり?
2020/11/18(水) 08:29:07.36ID:ec2Z+hpL
ゴルーチンを後世に残すのが目的の言語だったんだ
2020/11/22(日) 16:13:58.68ID:L0EkE2ab
>>349
クソ言語かしそうな機能ばっかw
2020/11/22(日) 18:56:24.06ID:0mjGeKEB
Haskellにある機能を取り入れれば取り入れるほど、その言語は流行らなくなるという法則はある?
2020/11/22(日) 20:15:49.45ID:ujQ9d+0r
そこに気付くとはやはり天才
2020/11/22(日) 23:21:01.97ID:Erty2L4C
仕様としてのHaskell2010は意外と貧弱という話もある
2020/11/23(月) 21:14:40.11ID:gAkTmGSN
最近のコンパイル時になんでもやったらええっていう流れは揺り返しくると思うぞ。
2020/11/23(月) 22:26:56.07ID:XIoHPhIo
実行時になんでもやるのはJavaScriptで飽きるほどやったでしょ!
今がそれの揺り返しだよ!
2020/11/24(火) 03:02:40.15ID:dNje8QjT
だからそういう極端に触れるのはもう流行らんって言ってるんだが。
2020/11/24(火) 04:41:00.67ID:nYSkOGZz
おまえらはほんと極端が好きだからな
nullは駄目だっていったら、もうキチガイみたいにnullの存在はすべて悪
根源的にすべて消去せよ!みたいに極端にはしったり
手続きオブジェクト指向は古い!これからは関数型だ!っていうと
キチガイみたいになんでもかんでも関数型にして挙句のはてにクラスの機能は
一切排除する!とかな
なんでも普通にバランスよく、まあこれはだめかもしれないけどたまには
あってもいいよね、つぶしもきくし
こんぐらいでいいんだがそういうバランスよく中途半端にすると
中途半端はだめだ!!とかいってキチガイみたいに暴れだすし
2020/11/24(火) 07:06:36.44ID:wCic/rFb
流行るって誰か言ってたん?
2020/11/24(火) 08:57:19.09ID:JUfZpr0a
>>359
何がこれは有ってもいいかなだ、迷惑なんだよ。キチガイはてめーだよカス
2020/11/24(火) 10:14:10.72ID:ETG1tMPZ
>>361
お、早速発狂してるねぇ……w
技術的負債作るの頑張ってねー
2020/11/24(火) 10:47:41.99ID:j055waEy
極端言語は2個しかない
バランス言語は10個でも20個でも作れる
10個覚えるより2個覚える方がいい
2020/11/24(火) 11:34:24.18ID:i4288F00
だから最近の言語はnullを根源的に排除しなくていいように無効値は無効値でnull許容型にしたりチェックを簡易なイディオムに落とし込めるような文法や機能を持ってるよね

クラスに関しては、オブジェクト指向側の流れとしてもクラスは機能として過剰だからと古典的にはインターフェイス/トレイトがまず分離されたし、最近ではJavaでもデータクラスの提案が行われてる話をした方が分かりやすいかな
その上でHM型推論を導入する時クラス的静的型の扱いが難しい(というか型のできる事の多さによっては不可能な場合すらある)から外さざるをえなかったりするという話がある

罵倒するだけじゃなく勉強して技術的に/理論的に何がトレードオフなのか、その上で言語開発者が何をどう取捨選択したのか読めると楽しめるようになるしいいと思うよ

まぁその上でも極端なものを見て不快になるのかもしれないけど、極端なものがなけりゃ中庸やほどほどは出てこないからそういう意見を言う人間の存在も含めてある程度は必要経費として諦めてくれ
2020/11/24(火) 13:41:26.47ID:dNje8QjT
>技術的に/理論的に何がトレードオフなのか
自分が全く語ってないっていうw
2020/11/24(火) 14:25:33.58ID:LJZ1Sdrv
>>363
LISPとFORTHかな?
2020/11/24(火) 15:04:58.61ID:p7TzmKlx
P R O L O G
2020/11/24(火) 15:31:15.48ID:j055waEy
そっち側はPythonが平定したから比較的平和なんだよな
逆側は勝負が決まったのに敗北宣言しないクズが多い
2020/11/24(火) 16:15:01.48ID:HgpgxAFc
2020/11/24(火) 17:56:01.23ID:svYBEQzM
たしかに俺が今迄みてきたなかで最悪に頭おかしい馬鹿(褒め要素ゼロ)
と思った二大アホ信者は、LISP信者とFORTH信者だったな
2020/11/24(火) 18:12:04.57ID:Px3mcDE+
>>365
型推論には限界があって、型に機能を加えれば加えるほど実装が困難になり最終的には不可能になるので、高度な型推論とOOP的クラスに由来する静的型付けの導入(と実装コスト)はトレードオフだ
というのは特に型推論の限界については先行研究があるし理論的なトレードオフの一例だというつもりで書いたのだけれど

型推論で有名なOCamlのOOP的クラスも結構制約あるし型システムはその分複雑になってるからね
2020/11/24(火) 18:53:03.86ID:u+mtDBRk
>>370
誉めてどうする?
2020/11/26(木) 15:38:50.46ID:aj/sudBx
>>高度な型推論とOOP的クラスに由来する静的型付けの導入(と実装コスト)はトレードオフだ
なんか言ってることめちゃくちゃじゃないか?
2020/11/26(木) 17:20:08.08ID:O9/RzT4k
ごめんなさい
トレードオフって言ってみたかっただけです
2020/11/26(木) 18:45:14.84ID:i3o/tq0Q
ハードオフ
2020/11/26(木) 22:08:38.81ID:9Ff8ZZge
>>373
言い方が悪いね申し訳ない
高度な型推論をさせたい所にクラスの継承オーバーロードオーバーライド由来の多相性やディスパッチが絡むと面倒くさいくらいでどうだろう
2020/11/27(金) 01:30:32.59ID:kjR/dkMj
どこまでを同じ型とするかってのと、型推論をどこまでやるかって話か。
くっだらねー話だな。
型をどこまで強くするか(暗黙の変換をどこまで認めるか)なんて今更すぎて。。
2020/11/27(金) 02:57:38.45ID:o8mcz0Pl
>>377
全然違ってて草る
今更すぎてww
2020/11/27(金) 08:35:22.42ID:suMZl+3n
型推論と聞いて暗黙の変換に結びつけるのは、LL界から来たウンコ脳あるある
2020/11/27(金) 11:38:18.35ID:7OB9oyZa
暗黙の型変換を気にするのはむしろ静的型付け言語やで

今どきLLなんて言葉を使う方は流石にわかってらっしゃらない
2020/11/27(金) 17:52:45.14ID:ri5grbAb
なにいってんだこいつ
2020/11/27(金) 21:22:17.08ID:kjR/dkMj
暗黙の型変換がコンパイル言語にないと思ってる馬鹿はc言語からやり直しやな。
2020/11/27(金) 21:43:26.23ID:vu5n6mzG
LLは2010年頃を最後に聞かなくなったな
JavaScriptが原因だろうね
2020/11/27(金) 21:44:58.71ID:W+zDVYCR
Python以外踏み潰してしまってすまんなww
2020/11/27(金) 22:08:13.46ID:0HPijqQz
せっかくJavaを殺したのに第二のJavaを作るわけにはいかんのだよ
2020/11/27(金) 22:20:44.61ID:0HPijqQz
とおもったけど
どちらかというと浸透して普通になったんでは
2020/11/27(金) 22:47:47.39ID:YYM6Dd5g
>>382
さすがにここまで明後日の話を自信満々にするのは清々しい
2020/11/27(金) 23:14:56.50ID:lTXB/QWu
日曜日に何かあるの?
2020/11/29(日) 00:39:38.28ID:tTYihsqx
>高度な型推論をさせたい所にクラスの継承オーバーロードオーバーライド由来の多相性やディスパッチが絡むと面倒くさいくらいでどうだろう
継承オーバーロード、オーバーライドが絡む多層生の問題が型推論をめんどくさくなるって
型をどのレベルで同一と考えるかって話にしか普通ならんよね?
まあ元々の文章もどうかしてたし、まともに突っ込むだけ野暮なんだろうが。
2020/11/29(日) 13:21:38.74ID:c6bFSJ+B
もしかして暗黙の型変換と部分型関係を混同していらっしゃる??
2020/11/29(日) 18:57:40.67ID:tcENDjhy
>>389
型をどのレベルで同一と考えるかは関係ないって
推論時の制約の識別だったり制約を満たす型候補の識別や選択が複雑になるという話

型推論時に暗黙の型変換をしてると思ってるのかな?
392デフォルトの名無しさん
垢版 |
2020/11/30(月) 14:23:30.47ID:3rsg5agA
V言語いまさらだけど
メモリリークはともかく全体的にバグだらけ
インターフェースとジェネリックまわりもバグらだけ
作者コンパイル速度にばっかりこだわってて
安定性は二の次以下で放置しっぱなし
文法的には好きなんで惜しいなー
あと3年もすれば安定するかな?
2020/11/30(月) 14:32:55.83ID:5LwFg3Ca
だから詐欺だとあれほど…
2020/11/30(月) 14:36:28.77ID:BSk0huJF
C言語で暗黙の型変換が発生する16のパターン(+演算子の結果型5パターン)
https://qiita.com/yz2cm/items/0e24e1df40ef5cd43249
Cプログラミング診断室/キャストが好き/自動的型変換
http://www.pro.or.jp/~fuji/mybooks/cdiag/cdiag.4.3.html
2020/12/01(火) 00:38:08.03ID:PxTcCeoD
>>391
>推論時の制約の識別だったり制約を満たす型候補の識別や選択
継承されようが型変換を一切考えないで良いなら制約としては何も困ることはないが?
型推論の問題以前に多相性のメリット、デメリットすら理解できてないのでは?
2020/12/01(火) 02:47:37.79ID:SzMvahRJ
>>395
これだけ指摘されても自分の知識不足を省みず同じ言い分を毎日繰り返すおじいちゃん相当ヤバイで

少しでも自覚症状あるなら早めに病院行きなはれ
2020/12/01(火) 10:09:32.31ID:VSZnTJcU
ここまで必死になって反論してくれるということは、きっと表現力が高く型推論もできる型システム、俺なら作れるぜ! ってことなんだろう
期待してるわ
2020/12/01(火) 10:33:22.17ID:VBLLvmcX
いくらなんでもこの逆ギレは恥ずかしい
399デフォルトの名無しさん
垢版 |
2020/12/01(火) 14:29:58.48ID:svWaRz3S
型推論「これはたぶん弐ノ型だな」
2020/12/01(火) 15:57:28.00ID:TYZeCD93
おじいちゃんにオススメ
20年前のペーパーだけど型推論とオーバーローディングの関係は分かるはず
https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/overloading.pdf
2020/12/01(火) 18:02:36.90ID:NPaComTE
3行にまとめろよカス
2020/12/01(火) 21:00:36.73ID:PxTcCeoD
>>400
だからまんま弱い型で可能性が広がるからってだけじゃねーかw
お前、さてはちゃんと読んでねーなw
2020/12/03(木) 18:35:40.61ID:W3dmrQm9
とりあえずTaPL読んで
2020/12/03(木) 21:11:04.97ID:QOvIykSz
翻訳めちゃくちゃ叩かれててワロタwww
2020/12/04(金) 00:09:50.97ID:ONRwTAv7
マウント取った気分になれれば何でもいいんだなこいつ
2020/12/04(金) 01:17:58.73ID:nObgG/+C
お前ら面白い奴らだな
コロナが流行っていなかったら
オフミ開いて喧々諤々したいところだわ
2020/12/04(金) 02:13:30.09ID:9rlWhRRz
喧々諤々もいいけれど
クラスベースオブジェクト指向の継承と
モジュラリティーが相反することは
共通認識ということでいいよな
2020/12/04(金) 03:05:02.00ID:2+VKdPy1
喧々諤々は間違い
喧々囂々、侃々諤々、が正しい
いい歳こいて恥ずかしいぞ
ていうか変換時に気づけ
2020/12/04(金) 07:24:18.06ID:ONRwTAv7
>>407
モジュラリティ? 型推論の話どこいったん?
2020/12/05(土) 21:04:04.49ID:IToZisS4
まさにこの症状
https://qiita.com/hirokidaichi/items/adccebb41f77eaa6132f
2020/12/06(日) 11:05:17.77ID:Md9wORf7
話者をdisったところでOOP関係なく型に機能付けすぎると決定不能になるのは事実だからなぁ
2020/12/06(日) 18:17:03.73ID:2tpoK6vU
だから型に機能をつけすぎるじゃなくて問題は型の分類をどこまでやるかってことだっての。。何回言わせるんだよ。。
2020/12/06(日) 19:03:42.13ID:hVhD6Or5
>>412
一般的に通用する定義を使って話さないと、一生かかっても誰にも理解されないよ
その分類ってのは厳密にはなに?
2020/12/06(日) 22:48:01.01ID:cXTltfR7
型はないほうがいい。究極的には。
2020/12/07(月) 00:18:42.29ID:obD3rptW
ねーよ
2020/12/07(月) 07:36:57.33ID:GM+ljNhw
シェルスクリプトかな?
2020/12/07(月) 23:25:24.59ID:8m4VcT76
ざっくり言うとインライン展開できない関数は型推論もできない
2020/12/08(火) 11:27:25.28ID:TVoYF8xt
なんでJSXなんてものまで出てきたのにHTMLを書かなきゃいけないんだ?
2020/12/08(火) 11:58:19.43ID:FU97XkxI
ハァ?HTMLの文法に未練があるからJSX使うんだろ?
あれコンパイル後はJSの関数呼び出しになるんだぞ?
HTMLの文法に未練がないなら最初からReact.createElement使って入れ子の関数で自分で書けばいい。
誰もそうしないのはHTMLの文法に未練があるから。
2020/12/11(金) 15:59:53.87ID:B7/V4mDP
wasmにコンパイルされる言語探してたら良さげなもん見つけた
https://github.com/grain-lang/grain
421デフォルトの名無しさん
垢版 |
2020/12/19(土) 00:30:47.02ID:19FeYV4h
普通にrustじゃん?お漏らしスコープでtraitの無い
2020/12/19(土) 09:06:04.43ID:ZHiT7c2p
ところでscalaはダメなんですか?

kotlinてのがあるらしい

見てみるとさほど惹かれない

scalaてのがあるらしい

kotlinにくらべて随分意欲的やんけ!

_=とか?.curriedつけないとカリー化されないとか?
複数パラメータリストに部分適用しようとして _ をつけないといけないとか?
ヴァリアントがないとか?うーん? ←いまここ
423デフォルトの名無しさん
垢版 |
2020/12/19(土) 09:23:44.43ID:2Cvgn7yg
jvmが取り憑いてるから
2020/12/19(土) 10:12:52.69ID:jiYjRuFZ
信者がアレだから
2020/12/19(土) 10:14:58.08ID:sSGRlhWr
関係なかろう
2020/12/19(土) 14:34:57.88ID:W83u/fSR
雑食系エンジニア・KENTA、2020/3

Scalaが日本で衰退し始めている理由を説明します
https://www.youtube.com/watch?v=kFzLia7YZQU

Scala は、キャズムを超えられなかった

新規参入してくる初心者に、マウントを取ってくるベテが多い。
そういうベテに誰も注意しないから、コミュニティーが廃れた。
学習コストが高いから、偏屈な人間が多い

Ruby は全く逆。
親切な人が多く、コミュニティーが強い

他にも、キャズムを超えられなかった言語は、Rust, Elixir。
キャズムを超えた言語は、Go

よって、初心者が学ぶべき順番は、Ruby → Go
2020/12/19(土) 17:28:00.48ID:dhA5fnTq
えええええええええ
2020/12/19(土) 18:00:53.27ID:Wex6Ix7T
5chのような人が多いってこと?
2020/12/19(土) 18:23:51.65ID:dhA5fnTq
名探偵ホームズで
田舎の警官は親切で優秀だと
どう考えても事実と真逆のことが何度も書いてあったのを思い出して
なんというか
人心誘導的な感じがする
2020/12/19(土) 19:41:31.71ID:0cJ95+HZ
>>426
その動画は的外れと思う
心理的安全とやらじゃなくて言語の魅力という点で伸びがなかったのが原因と思う
なんとなく期待するいろいろに対して
調べていくうちのあれあれあれーっ?が多すぎた
(個人の感想です)
2020/12/19(土) 21:20:19.06ID:dhA5fnTq
ケンタはホモ(個人的な観測の範囲からの推測です)
2020/12/19(土) 21:56:11.82ID:dhA5fnTq
つかどう考えてもだめだろこれ
昔自分の記事をこきおろされたのを根に持って
人を名指しで侮辱したあげくにコミュニティからの排除を煽るとか
クズにもほどがある
2020/12/19(土) 21:56:27.33ID:g7ChEFMN
>>426
聞いたことないけど、キャズムってどんな言語なの?
コイツが考えた言語?
2020/12/19(土) 22:03:48.02ID:RW00uZdG
>>433
英単語のchasmが由来のカタカナ語
意識高い系いつもの日本語でおk案件
2020/12/19(土) 22:14:00.45ID:jiYjRuFZ
イノベーター理論だよ
2020/12/19(土) 22:26:25.16ID:1ZOkfUtM
>>434
キャズム => 断絶
破壊的イノベーション => 破壊的革新
ブルーオーシャン => 青い大海
リーンスタートアップ => 痩せ型新興企業

横文字にすると一般的な単語との区別がつきやすくて付随する意味がとりやすいんだよ
プログラミング、コンパイル、データベースなんかも同じ
2020/12/19(土) 22:40:02.67ID:RW00uZdG
>>436
それはそう
ただその文脈が共有されてない外部向けにまで使ってるのは、受け手にとって未知で特殊な単語を使ってる事から発生する権威性によるマウントの側面があって私は嫌いなので日本語でおkと言っている
2020/12/19(土) 23:22:22.02ID:aGDb/Jxi
アグリーとか言ってんのは賛成では表現できない
深い意味合いあるんかね
2020/12/19(土) 23:30:46.86ID:1ZOkfUtM
>>437
めんどくさいやっちゃな

知ってて当然と思われてるだろう用語を知らない自分を認識していて
それをどこか後ろめたく思ってるから権威性マウントと感じてしまうんでしょ
知らないのが当たり前で発信する側が当然説明すべきと考えてたらそうは感じないよね
(>>433がいい例)

5chなら”お前こんな事も知らないのかよ”って煽られるけど
人間知らないことのほうが多いんだから開き直っとけばいいよ
2020/12/20(日) 00:01:36.19ID:llRQx8oF
>>438
それは専門用語ではないからまた違った横文字の使われ方だと思うよ
2020/12/20(日) 03:37:23.15ID:1LcS4Wc6
>>438
書いといた
三大バカが意味も分からず使いたがる用語 デプロイ
https://medaka.5ch.net/test/read.cgi/prog/1597086668/
2020/12/20(日) 06:34:20.05ID:f0KNQbik
>>436
「断絶」にしても意味がわからないな。
2020/12/20(日) 08:13:45.54ID:6ulDWEzW
>>439
自分がどうこうというよりも無知な人々から金をかすめとろうとするタイプの人がそういうムーブをしがちなので嫌いなのよ
言われてる側面が自分に全くないかと言われると否定しきれないけどね
2020/12/20(日) 08:29:03.54ID:DTyuQMlU
ScalaはScalaエンジニアが多言語をバカにするせいで誰も近寄らなくなって衰退したって聞いた
初心者お断りの空気感とか
2020/12/20(日) 09:16:27.99ID:FqqhUCnN
多言語をバカにしうる根拠を一個でも知りたい
いやほんとscalaを勉強したいという意味で
2020/12/20(日) 09:21:51.02ID:MaT6/uce
ただの足し算をわざわざ加算とか言うのも権威なのか
2020/12/20(日) 10:03:32.43ID:VU0S4uld
>>443
ムーブって何すか
行動とは違うんすか
2020/12/20(日) 10:34:15.89ID:0k/qx/P5
自由な行動とは違う
義務や目的により強制された行動
キャズムを超えるとかいう謎の目的が設定されている時点で自由とは違う
2020/12/20(日) 10:38:53.81ID:6ulDWEzW
>>447
これはやらかし
ダブスタもとい自己矛盾して私が恥をかいてしまった

一応補足すると立ち回り辺りが適切な日本語になる
2020/12/25(金) 03:01:00.46ID:m615S4tT
そんなことよりodinの話しようぜ!
2020/12/27(日) 10:18:53.79ID:TuLc8Ci/
国産検索エンジンが復活するのか
2020/12/27(日) 11:50:44.61ID:12A8zFdY
千里眼作り直せ
2020/12/27(日) 12:15:19.38ID:xvZc4lDU
サーチエンジンはやぶさはつい最近復活したのか。
2021/01/04(月) 21:44:33.11ID:VSJtgA/r
Googleが検索シェアのトップじゃない国って結構あるんだよな
2021/01/06(水) 21:16:27.99ID:c1LLzA8a
最近グーグルで検索しても目当てのもにが全然ヒットしなくなってるんだけど
同じようなやついる?
2021/01/06(水) 22:37:25.61ID:Td/kVwus
開発者から見た V 言語とその(誇大)広告について
https://zenn.dev/zakuro9715/articles/vlang-from-contributor-perspective
2021/01/07(木) 01:48:45.23ID:3TLTtAUE
だから詐欺だって言ったじゃん…
2021/01/07(木) 11:59:43.85ID:jZkwErJJ
>>457
せめて456を読めよ
2021/01/07(木) 14:49:07.84ID:gDoUJyLi
自分の理解出来ないことは否定したいんだろ。
2021/01/07(木) 19:07:22.37ID:E1GQSfXf
え?実際詐欺じみた誇大広告してるって内容じゃね?
2021/01/07(木) 19:34:58.81ID:wzgIrp4s
メモリ管理がすごいぞ→時々リークします

何をどう弁護すれば…
2021/01/07(木) 20:42:06.72ID:pdkBwEAt
まあrustよりまともな方向性だな。
c++駆逐しようとしてミイラとりがミイラになった感があるわ。
2021/01/07(木) 21:30:03.88ID:wEquAIaf
開発中だからなおるんじゃないか
2021/01/07(木) 21:30:47.34ID:wEquAIaf
コンパイラの実行ファイルサイズなんて嘘でだれが気にするんだ
2021/01/07(木) 21:48:51.91ID:yc0Tcp9P
5GB とかあったらイヤだけどな。
2021/01/07(木) 21:51:10.47ID:xDDYixjd
少なくともLobsterのリンク先の時点でいくつかの問題点を認めてて、その辺をどうするんだろうなって話だな
2021/01/08(金) 02:05:47.72ID:z+YKoOzo
>>462
どの辺が?
468デフォルトの名無しさん
垢版 |
2021/01/13(水) 09:02:56.94ID:oKh8381v
Vlangはmut mutが出てきた時点でGC搭載する気ないでしょ、簡単で安全な自動メモリ管理
なんて言ってるけど循環参照のリークチェックは簡単じゃ無いわけで、方向性は
Goルーチェン+Rustで行くと思われる。
でも本当にGCなくて良いんですかね?サーバーサイドなんて特にそうだが、メモリリーク
しないことが保証されるのは所有権/借用を使いこなしてこそ(マップに無限に追加してたら
どんな言語でもメモリーが解放されないが)ワイはNim推しますわ、必要なければGCはOFFに
出来るべきでストップ・ザ・ワールドが嫌なら、それをしないGCを選べる選択肢を用意すべき。
年々GCの速度が改善されるように、そしてファイル・システムに用途別に色々な実装があるが
Rustを書いて良いてボローチェッカーにイラつかないのが不思議、初回実行のcargoも異様に
遅いし、unwrapの連打はまだ良いが・・・Goは一貫性は欠けるけど単純で敷居が圧倒的に低く
他にないCPUバウンドなGoroutineの特徴がよく出ている。IOバウンドなAsyncはどれも彼も
使いづら過ぎ、N:Mライトスレッドの高速な切り替えは他にない。だが
これは言語の特徴とは言いづらいよ
2021/02/07(日) 09:37:39.73ID:N+s5KVQ/
なんでもいいけど読みにくい
2021/02/10(水) 13:48:10.99ID:XO2z1FbM
今北さん魚
2021/02/14(日) 05:19:27.74ID:+oGfnxrk
年明けて過疎りだしてるな
472デフォルトの名無しさん
垢版 |
2021/02/16(火) 04:23:15.71ID:i2+BQGYO
今からnimerに入門するのありですか
473デフォルトの名無しさん
垢版 |
2021/02/16(火) 10:34:02.43ID:yhgiETSa
ハゲめ
2021/02/16(火) 12:06:45.72ID:Ng2tzs+U
誰がハゲやねん!
475デフォルトの名無しさん
垢版 |
2021/02/16(火) 17:47:18.34ID:i2+BQGYO
nimerがハゲってこと?
2021/02/21(日) 18:14:07.92ID:XsukC5HX
vim→vimmerなんだから
nim→nimmerなんじゃないの?
nimerではなく。
477デフォルトの名無しさん
垢版 |
2021/02/22(月) 00:22:55.21ID:hufyi6L+
>>476
たしかに。
このスレで返事ないところ見ると、
nimmer人口少ないんですね
2021/02/22(月) 12:13:29.30ID:8rA9Ts98
最近nimmerに入門しました!

golangのvscodeくらいの開発環境を探しているんだけど、
無さそうで、そういうところで使ってる人少ないのかなって感じる。
479デフォルトの名無しさん
垢版 |
2021/02/22(月) 13:25:25.28ID:u9bSLLBv
>>478
その辺の周辺ツール、プラグインが充実してないとつらいですね...そして入門者も減ると言う悪循環
2021/02/22(月) 15:23:47.78ID:loe37PP4
nim はもっとpythonにすり寄れ
2021/02/23(火) 01:02:42.90ID:90bPaZuU
NimとJuilliaは棲み分けできるんか?
2021/02/23(火) 03:11:07.41ID:xWwELnvI
>>478
https://github.com/pragmagic/vscode-nim
>>479
https://github.com/alaviss/nim.nvim
>>480
https://github.com/nim-lang/Nim/wiki/Nim-for-Python-Programmers
https://github.com/yglukhov/nimpy
2021/02/23(火) 07:39:59.89ID:JIMDon3c
>>482
rustのpyo3みたいなのがnimにもあるんだ
逆にnimから豊富なpythonのライブラリ呼べたりもする?
2021/02/23(火) 11:42:17.39ID:eeQBUcpI
>>481
方向が真逆だと思うけど。
485デフォルトの名無しさん
垢版 |
2021/02/23(火) 11:56:44.11ID:enuiuomY
Nimの仮想敵(?)はRustあたりでは?
2021/02/23(火) 12:30:41.78ID:0iI/BmGY
サーバーサイドの言語はもう伸びない
2021/02/23(火) 13:50:00.91ID:5+NO2QHa
サーバーサイドでやればiOSでもAndroidでも同じコードが動くんだろ?
一体なぜ伸びないんだ…
2021/02/23(火) 14:47:06.25ID:83B8ELn4
結局分けたほうがいい事ありそうだし
489デフォルトの名無しさん
垢版 |
2021/02/23(火) 17:25:16.05ID:0iI/BmGY
serverlessにシフトしよう
2021/02/23(火) 18:08:32.97ID:whD5xbd2
Nimは現状GCベースの時点でRustと同じ土俵には立たないよ
速度面でJava・Go、抽象度面でML系・Haskellと、両立の面ではMLton・Scala・Lisp系とかと比較される言語でしょ
ORCの速度面レイテンシ面の改善は興味深いけどRustのメモリを生でべたべた弄りやすい点とは競合しないと思うなぁ
2021/02/23(火) 22:17:25.21ID:VpyuW4/O
nimはいろんなGC選べるって言ってなかった?
GC無しも選べるとか…
2021/02/24(水) 07:46:47.30ID:alrdgmdA
デフォルトは、GCからARCへ移行したんだっけ?
2021/02/24(水) 19:10:12.66ID:3aV73sbd
nimのarc/orc情報です。
https://nim-lang.org/blog/2020/10/15/introduction-to-arc-orc-in-nim.html
2021/02/24(水) 21:35:05.72ID:U5tdQeil
TypeScript は補完が便利!ってなるけど、

コードジャンプで元のコードじゃなく d.ts に飛ぶのがうんk

d.ts がないライブラリみるとめっちゃがっかりしてしまう点もうんk

型情報の union とか intersection とか、
ぐちゃぐちゃになって頭もぐちゃぐちゃになる点もうんk

VSCode のポップアップヘルプ見にくい点もうんk
function のシグニチャ見にくすぎ

React とかと親和性が低い点もうんk

なんだかんだで型ヒントくらいの機能がちょうどいいのかなって思える

Java みたいにゴリゴリにょきにょき補完してくれるならいいんだけど、
やっぱり後ろに JavaScript さんが控えてるからいろいろ大変そう

でも、TypeScript 使っちゃうビクンビクン
2021/02/24(水) 22:38:38.73ID:KmBJy8lD
tsと来ればDeno、Denoと来ればRust
2021/02/24(水) 22:49:36.21ID:U5tdQeil
console.log がもうめんどくさい
System.out.println なんて論外
print ちゃんは好き
497デフォルトの名無しさん
垢版 |
2021/02/25(木) 18:41:49.97ID:rcOltu0H
Nipple なら延びたかもしれんね
2021/02/25(木) 19:38:03.28ID:U3JZ43Jo
kokaってやつ今日知ったんだが既出?
2021/02/25(木) 20:36:41.26ID:/SjIQ6wc
静的型付けで嫌なのって、ちょっとごちゃっとした構造のある引数を渡したいときに
毎回その引数のためだけにクラスつくるみたいな事がある点かな

それさえなくなれば他は静的型づけに特に不満ないんだけど

あ、でもやっぱりキャストと複雑なジェネリクスは面倒か
500デフォルトの名無しさん
垢版 |
2021/02/25(木) 20:40:00.64ID:twDFYCAL
>>491
--gc:noneでGC無しだが、このオプションを使用し、当然ながらRustのような所有権と借用は無いので
ヒープに関しては自分でproc dealloc(p: pointer)管理する必要がある。Rustはunsafeでなければ極端に
セキュリティ重視(リーク、オーバーフロー、再解放)でプログラマにそれを強要する。速度面ではGCが
無いので紙一重で早いが、所有権と借用のスコープで自動的にGCされるはず?なので--gc:noneで手動で
解放する方が紙一重で有利。ま、それを言ったらRustでunsafeを使って自分で解放も同じだがw

Nimは(Rustも?)コンパイル時のマクロ実行があるので、GC有りとGC無しはwhen defineで分岐すれば
同じコードベースに書ける。これが何の役に立つかといえばGCの時間が極端に問題になるメモリが潤沢な
ハードやシステムでGCをOFFにして、メモリが厳しい環境ではGCをORCにしておくとか書ける訳ね。
例えば、短期間しか走らないプログラムで(夜間)バッチ実行なども、毎回GCが走るのは嫌な訳だが
メモリが増え続けても良いならプログラムで随時メモリ解放なんてする意味があまりない。
当然ながらテストもしなくちゃならないけど、出来上がるバイナリはamd64, Linux, GC:ORC, SSLとか。
Rustの#[cfg(target_os = "linux")]もある意味同じだが、#[]とか言語と解離していて冗長的でキモい…
2021/02/25(木) 21:34:27.27ID:PF1Nn8ga
lispみたいに見た目で区別できずにコード追わなきゃマクロか関数呼び出しか分からんほうが嫌だから解離してるほうが見ただけで分かっていいわ
2021/02/25(木) 23:07:08.85ID:VZy10bT/
C/C++でいう&&や||の定義をライブラリに丸投げできないかという問題
その解決策の一つがマクロ
&&と||は見た目というか意味的に積と和なので関数と同じになるのは必然
503デフォルトの名無しさん
垢版 |
2021/02/26(金) 01:38:20.80ID:VseSftXI
まあ好みの問題でprintln!()とかが好みの人が居るだろうけど、nimのマクロはnimの構文でほとんど
書けて特殊性がほとんど無い。現状はAST木をそのまま使うのと、parseStmtで文字列のようにして
使うのと、quote do:するのと3通りあるが、Rustを完全に学習するなら当然ながら所有権と借用、
Optionなど、そして、何よりあちこちに出てくる全然構文が違うRust のマクロを理解しないとね。
Lispのようなバッククオートで呼び出し先でそれがマクロだと分かるのが嫌だという人も分かるがね。
それは関数の見た目で区別がつくだけで、引数の先が#[derive(xxx)]とかアトリビュートがついてたら
動きが変わるわけで、結局見なきゃいけないよね。一応言うとくとディスってる訳じゃなく好みの問題
2021/02/26(金) 01:47:12.14ID:ZAnS5D43
Rustはマクロの書き方は知らなくても問題ない
定義されたマクロを使う方法は誰でもわかるし実装内容を知りたければexpandすればいい
505デフォルトの名無しさん
垢版 |
2021/02/27(土) 00:29:29.15ID:tPG7SwEZ
Gleam はどうだろう?
erlang + ruby → elixir
erlang + rust → Gleam
2021/02/27(土) 01:20:01.88ID:JUgkZUPX
Gleamよさげだな
まだいろいろ不足しててElixirに追いつくには時間はかかりそうだけど
Phoenixレベルのフレームワークが出てくればそこそこ流行りそう
507デフォルトの名無しさん
垢版 |
2021/02/27(土) 02:48:38.99ID:aULfChep
ジェネリクスはswiftつかどっち側へも転べるobjectiveC++でワガママ通せるな
rustなんかも継承の相互性端折ったまでいいからobjectiveCオブジェクト導入すりゃいいのに
2021/02/27(土) 11:41:10.20ID:8JWxjtWT
Typescriptって次世代言語なんですか?
2021/02/27(土) 11:42:14.19ID:8JWxjtWT
jsのラッパーぐらいにしか思ってませんでした。
2021/02/27(土) 12:16:57.05ID:yTOj7AY/
altjsの一つでしかないtypescriptがはいってるのは確かに違和感あるな
2021/02/27(土) 12:20:33.35ID:Q1sJcSsB
それ言うたらKotlinなんかもそうならん?
2021/02/27(土) 12:27:59.86ID:yTOj7AY/
jvm上で動くけど一旦javaに置き換わるわけではないから微妙だな
2021/02/27(土) 12:29:59.07ID:sWAAltIA
とはいえaltjsはブラウザ上で動くのがjsであらざるをえない以上好きでaltjsやってるわけじゃないからな
wasmもjsを置き換えるものではないし置き換えを目指しているわけでもないのが大きい
そのへんは神経質になる必要はない気がするなぁ
2021/02/27(土) 12:31:20.83ID:8JWxjtWT
Typescript好きてすけど、
次世代って言われると??な気がします。
2021/02/27(土) 12:40:22.21ID:yTOj7AY/
jsのsyntax sugarである以外に何か新しさがあるかって点だろうか?
2021/02/27(土) 12:59:15.33ID:AQslqvPC
次世代環境は画面が狭い上に動画重視だから
GUIで新しさを演出するやり方自体が古くなった
2021/02/27(土) 13:47:19.13ID:vZ1ioaSe
え?w
518デフォルトの名無しさん
垢版 |
2021/02/27(土) 23:00:12.25ID:A2gkfgFy
TypeScriptを外して、Juliaを入れるべきだろう。
Kotlinは微妙だけど基本JVMで動作するけど、トランスコンパルではないからJavaの制限(例えば演算子の
オーバーロード)を超えてるわけで、過疎らない程度なら良いんじゃない?Scala-Nativeの方が次世代っぽい
けども流行らないだろうな。Zigでも良いけど誰も使ってなさそう、nimmerだけど
2021/02/27(土) 23:09:12.64ID:AQslqvPC
>>513
好きでやってるわけじゃないって気軽に言うけどかなりのネガティブ思考だよな
好きなことをやればいいのに
ブラウザ上でも動画やPDFを使う自由はあるし
2021/02/27(土) 23:11:49.58ID:vZ1ioaSe
ブラウザにそんなにたくさんの言語エンジンはコスト面からも載せられないだろ
2021/02/27(土) 23:15:35.39ID:NjMWacY/
Pythonを置き換えてほしいと思ってるのもしかして俺だけ?
2021/02/27(土) 23:30:27.95ID:Hg2wHc/X
Juliaは登場時期こそ新しいけど次世代言語というような言語自体の新しさはあまり感じないなぁ。
2021/02/28(日) 00:39:44.34ID:nPksHaq2
面接官「このままだとコミュ力採用だけど」
次世代言語「100の階乗とか計算できないやつを落とせばいいのでは」
524デフォルトの名無しさん
垢版 |
2021/02/28(日) 00:56:29.15ID:/UVkNIT2
@distributed (@parallel)とかmutable structとか他の言語とはちょっと違う部分があるよね
手続き系言語のコンピューター工学言語の新しさじゃなく、ベクタードット演算とか、外部ライブラリに
依存するPython系の自動学習やRなんかにはかなり競合する。分散性を考えると大規模なAI系は、これで
決まりだと思う、明らかに大規模分散を意識してる
2021/02/28(日) 02:18:43.91ID:IW6BdE6e
トランスパイルが駄目ならNimもアウトじゃね?
Cのソース生成してからコンパイルでしょたしか
526デフォルトの名無しさん
垢版 |
2021/02/28(日) 03:50:04.87ID:aU7a7SwI
vlangと同じ立ち位置だよね
527デフォルトの名無しさん
垢版 |
2021/02/28(日) 06:31:33.42ID:/UVkNIT2
言葉が足りなかった、トランスパイルがダメというより、ベースとなる言語の機能や域を出られない。
つまり言語の特徴としてES5/6/7/8と(ブラウサ)に「強く」依存するのはTSがブラウザネイティブで
動かない限り目新しさはそれほど無い・登場しないって事。NimはCに依存してるわけちゃうでしょ
TSはJSに比べシンタックスシュガーは掛けられるし、JSの悪習を禁止する言語制約はつけられるけどさ

Vlangも入れた方が良いかもしれない、ほとんど個人開発のVlangが嫌いな人もいるみたいだけどね。
目新しさはほとんど無いけどGo+Rustみたいな文法は、Nimの見た目だけPythonみたいより好きかな
GC/RTLが搭載しえないのは利点では無いと思うけど
2021/02/28(日) 07:38:04.49ID:YWIO641N
言語学的に次世代って言いわれてるのはなんなのよ。
2021/02/28(日) 08:11:20.85ID:4OVJxDt4
>>519
良くも悪くも実用志向の言語群だからね
このスレの一定数の人は挑戦的な機能や実装があることを次世代言語と認識してるけど、様々な言語に実用面で機能が足りてなかったり普及に障害がある点を指摘する人は以前のスレでもいくらか見かけた覚えはある
私は前者の方が好みだが、あくまで実用の為に普及の容易さも込みでjsを置き換えようとすると、TSのようになるというのは自然だと思うな

逆にaltjsでもElmは十分次世代的な機能の導入と実用の為の割り切りをしていたり、PureScriptなんかは数学的抽象化一直線突っ走ってて高階多相なんかも導入してるし単にaltjsというだけで次世代要素がないというのは違うと思うんだよな
それにTSの型機能はjsの動的な型に合わせるためとはいえ漸進的型付け言語として挑戦的な試みが沢山あるし、今なお追加もされてるので十分次世代的な要素があると個人的には思うよ
2021/02/28(日) 10:55:21.69ID:nPksHaq2
>>528
言語と標準ライブラリの密結合を避けること(非標準ライブラリは問題無い)
ができないと言語学的にはスタートラインにも立てないね
531デフォルトの名無しさん
垢版 |
2021/02/28(日) 12:32:21.00ID:A4uk6Kzo
>>522
Julia は形を変えた Fortran だと思った
2021/02/28(日) 14:32:24.19ID:iucjRJ2q
数値計算速いの?
2021/02/28(日) 17:53:08.55ID:BWTKlu0s
Elmはいい言語だと思う
もうすぐ2冊目の日本語の本が出るよ
純粋な関数型言語なのに実用面重視なのが今までの流れと違うところ
普通この手の言語は汎用性とか型クラスとかにこだわってしまうのにあえて外してる
2021/02/28(日) 18:04:40.20ID:TzXN37YB
普及してない時点でまったく実用できない
2021/02/28(日) 20:27:24.36ID:nPksHaq2
狼少年のパターンなら知名度が上がるほど駄目になる
その場合は、普及活動するべきという俗説には従わない方が実用的に正解
2021/02/28(日) 21:57:01.28ID:MOb8c/K3
Vlangみたいに凄い事をやりたいというタイプではなくやらない事を選ぶタイプなので悪い方向に転がっても狼少年にはならんと思う
2021/03/02(火) 22:28:04.28ID:xkSaUBtO
どうせなら借用も認めないとかとことん尖らせたらいいと思う。
2021/03/02(火) 23:12:40.45ID:3dhTBaxS
>>537
erlangとかアクターモデルの言語で良いのでは?
2021/03/03(水) 08:42:43.27ID:mCX6K/+k
ここのところDartが割といい言語じゃんってなってる。
クロスコンパイルできるようになったらGo並に使える気がするんだがなぁ。
Goでジェネリクスが使えるようになるのが先かな。
2021/03/03(水) 09:50:07.06ID:d6RCeNqz
PowerFx大勝利!
2021/03/03(水) 11:38:23.70ID:lsQqWTvf
借用を認めないみたいな意味の用語は「シェアードナッシング」でしょ
共有していないところでは副作用を認めるという発想はアクターモデルではあまり強調されなかった
2021/03/03(水) 12:46:08.86ID:Pm16geQl
DartのNULL安全はまだ来ないのか
2021/03/03(水) 18:31:04.85ID:9ncygIV6
null安全なんて言うほど安全じゃない
2021/03/03(水) 18:32:42.97ID:+TqkcVy7
Go lang 2.0はよ
2021/03/03(水) 19:00:19.95ID:vf+ENLg5
>>543
型無しのnullが危険すぎるだけだな。
2021/03/03(水) 20:39:48.06ID:9dLYGr/x
でも型があるとgoのような悪夢に
2021/03/04(木) 19:00:42.56ID:FwINCIAX
DartのNULL安全が来たっぽい(Dart 2.12)
2021/03/05(金) 00:10:29.44ID:ap8GROD4
記念してNULL安全日としようか
549デフォルトの名無しさん
垢版 |
2021/03/05(金) 11:27:53.31ID:6qFLuZG/
undefined「フフフ、nullの奴がやられおったか」
NaN「nullは我らの四天王のなかで最弱、面汚しよ」
-Inf「・・・」

フラッター2って誰が使ってんの?真顔でNULL安全でない言語はレガシーだと言われると
プッと笑い出しそうになる…
2021/03/05(金) 11:40:40.39ID:7wZZkSrv
ぬるぽ
2021/03/05(金) 12:49:21.47ID:CPRmMLwG
int型の値にもnullがあったら嫌だろ
それと64bitに移行してもまだ32bitのint型を使ってたらレガシーだろ
ライブラリの変更だけでできそうなことが、言語ごと作り直さないとできない設計がレガシーなんだ
2021/03/05(金) 13:34:46.07ID:gVgFrLj8
いうほどnullで困ってない。
553デフォルトの名無しさん
垢版 |
2021/03/05(金) 15:42:14.78ID:VbRCEJsj
困るってよりループの中でチェックが無駄に繰り返されるのを防ぐのがオモヨ
で、ヌル限定で排除するより総てのプリミティブを範囲型にするほうがいいと思うんだけどね
整数でゼロだけ除けるんも範囲の内だし
2021/03/05(金) 15:56:36.25ID:gVgFrLj8
心の底からどうでもいいと思う。くっだらないな。
2021/03/05(金) 16:56:49.67ID:37/sJ5bt
これが次世代について行けない奴の末路か
2021/03/05(金) 16:57:24.94ID:0LRxSrSM
まあDartのSound Null Safetyはネイティブコードにした時の実効速度アップ効果もあるし
2021/03/05(金) 17:35:05.91ID:ozzHXY/d
全てのバグをコンパイル通す前に消し去りたい…というのは言いすぎだが
やりたいことはそういうことなんよね
決して自分の足を撃ち抜かないスーパーハカー様には無用の長物に見えることだろう
2021/03/05(金) 18:26:31.58ID:gVgFrLj8
>>555
そんなしょっぱい機能で次世代ドヤとかやられてもw
2021/03/05(金) 18:27:21.92ID:gVgFrLj8
シンタックスによるバグなんてど素人だけだわ。
バグが発生するのはそんなところにはない。
2021/03/05(金) 18:48:33.41ID:EPnjm+FH
そういったド素人のやるような些末なミスチェックがforgettableになるというのもメリットなんだけどな
規模がでかけりゃ可能性は少なからず上がるし、何より人間の頭の良さはそういう機能をどれだけ上手く使えるかにもあると思わない?

ただ確かにその機能があるというだけで次世代だと錦の御旗を振るのは少し難しくて、それをどれだけ使用者が気にせずいい感じに導入できたかも重要と思う
2021/03/05(金) 21:12:55.25ID:5RYmOCrl
そもそも>>545の型無しのnullと>>551がなんのこと言ってんのかわからん。

>>545は動的型付けのnullのこと?

>>551は数値型のintがポインタ型のnullになることはないし、
option<int>ならpresentかabsentを表現するのにつかう。
それにnull safeな言語ってnon-zeroのときに最適化するだけでnoneの参照は普通のnullポインタ。
言語的には仕様かライブラリでnullableのハンドリングを工夫してるだけだから
既存の言語にも追加できる。javaも今やってる。
// まあ、アレは事あるごとに互換性維持したまま魔改造する常軌を逸した言語だが。

>>560
>些末なミスチェックがforgettable
対処としては漸進的型付けで早期エラーにするくらいかな。
最適化で実行前にエラーにできる場合もある。

TypeScriptが次世代かと言われると確かに違和感ある。js2/es4の方がまだ進んでる。
2021/03/06(土) 01:13:30.58ID:Tfz5lFd6
お前らnull safeの機能があって助かった〜なんてことが本当にあると思ってんの?
おめでてーな。結局考慮してない奴はそんな機能あってもつまづくよ。
それももっと酷い形でな。
2021/03/06(土) 01:32:39.74ID:DBO1vWCm
null safeな言語は助かった〜みたいなことになる前に
コンパイラやIDEに文句言われるから
確かに助かった〜なんてことにはならないな
2021/03/06(土) 01:51:36.56ID:4yCs4axt
しぬる
565デフォルトの名無しさん
垢版 |
2021/03/06(土) 02:06:07.77ID:Y4U2Cfcl
コーディング安全はほぼ関係ないつうのに
そこにこだわって文句垂れるクソw
2021/03/06(土) 03:18:37.29ID:jOZnXzPo
V言語にまだ期待している奴がいるってマジ?ガワだけGoっぽいCだぞあれは
clayやcycloneやbitCやらが色々試行錯誤して、何とか生き残ったrustがようやくそれなりの妥当性を見出した「GC無しで安全なメモリ管理」を
何の論文も書かずにWIPで放置しているのに「Rustのように安全」とかフカし続けている奴らだぞ

Cに毛が生えた程度の安全性を持った、Rustより謎な制約を課してきて、フカシた結果ASTも生成できずに最適化が使えない言語ができるぞ
2021/03/06(土) 06:46:27.22ID:lBapLpDG
だからVは詐欺だって言ったのに…
2021/03/06(土) 07:46:02.04ID:E5Tw2kdh
ガワがGoっぽいCならC2とZigがもっと素直に
2021/03/06(土) 08:01:57.54ID:Tfz5lFd6
rustの安全性もたかが知れてるのでまあそんなとこだろ。
実際セキュリティー分野でrustを使う機運はほとんどない。
2021/03/06(土) 08:05:43.60ID:E5Tw2kdh
セキュリティ分野でRustほど低レイヤーな言語を使う必要がある場面がそもそもあるのか?
571デフォルトの名無しさん
垢版 |
2021/03/06(土) 08:54:36.63ID:YD4frn+e
1Passwordがバリバリ使ってますが
572デフォルトの名無しさん
垢版 |
2021/03/06(土) 13:25:12.62ID:bGzUu7RI
>>559
正論
+1
2021/03/06(土) 14:02:22.83ID:oEmAT3IB
型を命名規則に組み込んだ言語とかってないのかな
non primitive だと、さすがに明示的に書く必要あると思うけど、
primitive の宣言時にいちいち型書くのだるい
でも静的型付けは欲しい
2021/03/06(土) 14:07:01.49ID:tq2JBvn3
fortranの時にそれは捨てられた
2021/03/06(土) 14:13:59.72ID:oEmAT3IB
>>574
Fortran ってそんな宣言できたのか
何が駄目だったの?
2021/03/06(土) 14:42:16.25ID:XRYgvkNk
>>575
IJKが整数型とかあったな・・・(遠い目)
2021/03/06(土) 16:33:52.93ID:kirbXePv
null 安全だとコンパイル時にエラーになってくれたりするので良いのではないか?
危険な部分は自分で敢て null を使うように書いた部分だけ。それも null チェックした後でしか
本来の型として扱えないようになってればコンパイル時にエラーになって結構安全。
2021/03/06(土) 16:34:37.52ID:kirbXePv
あ、ごめん。リロードせずに書いてしまった。間に沢山の書き込みがorz
2021/03/06(土) 16:43:07.04ID:BWZLcpxD
>>573
初期値入れればたいてい推論で済むんじゃね?
2021/03/06(土) 19:01:39.91ID:oEmAT3IB
>>579
たし蟹
2021/03/06(土) 21:08:31.03ID:Tfz5lFd6
>>577
馬鹿はとりあえず「汎用」にどこでも使えるように書くもんなんだよ。
そういう馬鹿に馬鹿と言う労力を抑えるために無駄なシンタックス入れて、
また馬鹿がそれに混乱して酷い状況になるっていうのを嫌というほど見てきたわけだが。
582デフォルトの名無しさん
垢版 |
2021/03/06(土) 21:21:03.25ID:YD4frn+e
いつもの人か
2021/03/07(日) 01:28:00.90ID:j7St4ggd
セキュリティー分野に明るいみたいだけど、最近のトレンド知ってたらそんな事いわないと思うんだけどな。
2020年度だけでUse After Freeがらみいくつあったんよ。
馬鹿に作れるものじゃなくなってるよ。
2021/03/07(日) 14:06:58.16ID:Shd6OUrG
XSS絡みか、ブラウザのバグじゃん。
お前らには関係ないわ。
2021/03/07(日) 14:46:13.47ID:w/ds1TIt
Rustが何でどう使われてるかわかったら、ブラウザのバグをどう解決したかわかるんじゃねえの?
586デフォルトの名無しさん
垢版 |
2021/03/07(日) 14:48:03.98ID:Vfc9MKsb
>>576
一々めんどくさいから型宣言せずに使えるって話だろ
IJKを整数型以外にも出来たんじゃなかったかな
587デフォルトの名無しさん
垢版 |
2021/03/07(日) 14:54:59.61ID:4VZYUHqt
機械を意識した具体的なのと表現力重視の抽象的なのの2つでええやろ

@Rust:GCレスながら比較的安全に低レイヤーをさわれる
AIdris2:依存型(型がファーストクラス)ありの線形型(Rustのアフィンの強いやつ)ありのHaskell
2021/03/07(日) 15:25:04.07ID:7gy+NlG3
>>586
I,J,Kで始まる名前の変数は宣言せずに使うと整数型
宣言すれば他の型にもできるということで
暗黙の型変換があるので宣言してない変数Iに浮動小数点数を代入した場合
Iは整数型になり小数点以下は切り捨てられる
使うときも暗黙の型変換が起こるから切り捨てが起こったことに気づきにくい
ということだったような
2021/03/07(日) 23:58:15.04ID:TkByhUzl
>>566
色々試行錯誤した中で一番最悪の結論がrustに思えるがな。
2021/03/08(月) 00:13:09.24ID:YibNXnJO
結局いうほど安全性が求められてるのか?としか思わん。
本当に安全性を求めるならコンパイラに全てを押し付けることが有効かどうか真剣に考えた方が良いのだが、
どうもそういう方向ではないのだな。
結局何かに責任を押し付けたいだけでそれが一番わかりやすというところでコンパイラが
ターゲットにされているだけという茶番なんだわ。
591デフォルトの名無しさん
垢版 |
2021/03/08(月) 00:57:02.44ID:++yKnef9
昨今のトレンドは後工程で苦労するよりコンパイル時に型チェックで苦労するほうがマシでしょというのがひとつ

あと線形型なんかは採用したらパフォーマンス向上した的な話もあるね
https://arxiv.org/abs/1710.09756
592デフォルトの名無しさん
垢版 |
2021/03/08(月) 08:27:49.24ID:cEivlnWp
>>589
let mut, &mut, ::, unwrap, unnecessary trailing semicolon, &str, @val, ast!, dbg!, match
String, Str, CString, Cstr, OsString, Ostrで6種類の文字列型・5種類オブジェクトタイプ
String::from(), to_string(), to_owned(), into(),「.」でチェーンメソッドはするけど
ネームスペースパスは「::」コメントの書き方は6種類、複雑なmatchと暗黙借用のmoving

貶し言葉:イライラする、うるさい小姑、窓のヘリを触ってココ拭いてない言うてくる、全責任はプログラマ
褒め言葉:コンパイラが最高の師匠であり、全てを体得するまでに5年、騎士の剣のような型通りの綺麗な剣技
2021/03/08(月) 08:39:02.15ID:PAkrxJnU
うーん、無能だからでは?
594デフォルトの名無しさん
垢版 |
2021/03/08(月) 23:08:18.24ID:XP5LJntG
>>580
開成中学生が作ったBlawnとかそんな感じ、型宣言ゼロで静的型付け。関数などがジェネリックなので
コンパイル時にチェッカーが走る。惜しいのが、たぶん頭は良いのだけど言語作成者はメタボロクソに
言われても開発継続する胆力がないとどんなに将来性があっても使ってくれない…
595デフォルトの名無しさん
垢版 |
2021/03/08(月) 23:49:34.34ID:XP5LJntG
>>566
論文がないのはその通りだけど、そういうレベルじゃないよ。Vはコンパイラーは、コンパイル中に必要な
解放呼び出しを自動的に挿入する。Cで言うfree/deallocateが勝手に入る。参照カウントをつかってると
言ってるけど、変更可能な可変長文字列バッファ、やリスト・マップなんかが無ければスコープを外れると
解放される変数と同じでバッファのmallocはコンパイラがfreeするコードを挿入する。(これを入れない
コンパイルオプションがある)循環参照は終了時に消すだけ、それだけの事、Lobsterとか言ってるけどさ
"Memory Management in Lobster"ね。mattnとか初期の汚いVコードというかCのコードを見てGoの
人は入れようと思わないだろうけど、コントリビュータ自身が過大広告言うてるから人を減らしてる
596デフォルトの名無しさん
垢版 |
2021/03/08(月) 23:50:13.81ID:XP5LJntG
>>593
消えろよ、クズ
2021/03/09(火) 08:33:23.74ID:9uGzSsM0
>>595
自動で挿入するのはいいんだけど、難しいのはそれをいつどこで何を解放するかだろ。
スコープを外れたら解放するだけでいいならRAIIと変わらんが。
598デフォルトの名無しさん
垢版 |
2021/03/09(火) 10:48:51.29ID:TUAITkUp
raiiまで効率化出来るなら凄いことで
トランスパイラが仕込んだfree()をコンパイラさんが最適化してくれるなんてあり得ないだろうし
ショートループの中でヒープをガッチャガチャ確保解放するコードとか頻出だろ
599デフォルトの名無しさん
垢版 |
2021/03/09(火) 14:25:02.31ID:jjaB3qUV
>>597
BlawnのようなRAIIとは違い、Vの方はちょっと上の説明が間違ってるというか、分かりにくい言い回しを
してるが参照カウントしてるようだ。それをGCと呼ばないのはその通りでしょう
手続言語のコンピューター工学を持つ学位で証明されている理論なのかは知らんけど、そんなの無くても
RubyとかPHPとか動いてるわけで、必死で否定する必要もないでしょうよ。いまだ0.2?ぐらいなので
ワイも使わないけどさ
600デフォルトの名無しさん
垢版 |
2021/03/09(火) 14:32:59.11ID:jjaB3qUV
>>598
「ショートループの中でヒープをガッチャガチャ確保解放するコードとか頻出だろ 」
それをやってるのがRustのDropトレイトでしょう。トランスパイラが仕込んだfree()を最適化するなんて
どんな言語でもあり得ないと思いますよ。実行グラフを辿って使われなくなるスコープでfreeするだけだろう
gccのLTO(リンク時最適化)ならまだしもfreeの最適化なんてほとんどの言語はしないと思う
601デフォルトの名無しさん
垢版 |
2021/03/09(火) 14:37:29.46ID:jjaB3qUV
GCのある言語でSTW(Stop the World)するような言語だと、freeの最適化なんてしないで、断片化するから
コンパクション操作が必要になるわけで、それを言語仕様かと言えばそうでは無く、言語からは決められないし
起動時のオプションがあるくらい。もちろんRustはプログラミング次第だけども
2021/03/09(火) 15:55:19.39ID:4JaghKzr
変数定義があるんだから使い終わったらfreeだかデストラクトだか出来るようにすればいいのだ。
2021/03/09(火) 20:09:07.93ID:M6pVOKfv
Rustが未完成だった頃もこんな議論をしていたのか?
ウォーターフォールのように先に議論をして後で実装したのか?
2021/03/09(火) 20:27:41.71ID:gKCoJnTT
Rustの場合は研究レベルで線形型アフィン型がまず実現されてて、所有権もC++の時点で既にあったし、それらがデフォルトになる実用向け言語としてデザインされていったものだから解決の方針も出されてないのとは訳が違うんよ

GCだとZGCが最先端になるのかな
Goで培われたmulti-coloringなmark&sweepとbitmap、対抗馬のshenandoahと同様の複数リージョンによる並列マーキングと並列コンパクションの全部盛りだし
研究レベルの技術に詳しい人居たら教えて欲しい
2021/03/09(火) 21:30:54.08ID:9uGzSsM0
>>599
はーん、GCを使わないというからRustみたいなものを期待したけど
実のところは単なる参照カウント方式だったというわけか。
2021/03/09(火) 22:19:12.47ID:2CFdfqCA
>>599
単なる参照カウントとはいえ結局循環参照の解決にgc使う(PHP等)とかそれっぽい参照を検出するとか必要なのに少なくとも前者のオーバーヘッドは否定してるし、参照カウント特有のカウント増減のオーバーヘッドも否定してる
その上でinnovativeな解決策があるそうだからオーバーヘッドもそれらよりは少ないんだろうよ

参考元らしいLobsterに順ずるならライフタイム分析とコンパイル時所有権トレースによる参照カウント増減の最小化・局所化が期待されるらしい

一方で実際にはメモリリークがあり循環参照が実行終了時の開放に任されてる部分が少なからずあるからinnovativeってなんだよって話になるのは自然だろ
2021/03/09(火) 23:53:34.35ID:SwzIUFtj
>Rustの場合は研究レベルで線形型アフィン型がまず実現されてて、所有権もC++の時点で既にあったし
これと実装レベルじゃ話が全く違うがな。。これでまず研究があったとか思えるって相当おめでたいんじゃないかね
608デフォルトの名無しさん
垢版 |
2021/03/10(水) 10:36:37.47ID:JIwrPDXM
>>606
ライフタイム分析は確かに複雑な操作じゃ無ければ参照カウントのメント操作を省略できるでしょう。
それが「最小化・局所化が期待されるらしい」と上記の"Lobster"の言うように95%削減できるかは
プログラム次第だけどw
多くの言語が現在では型推論を備えてるわけだが、これが昔からある理論だとしても多くの人が使用が
できるようになったのはつい最近。型推論を現在で動作しないと否定する人は殆どいない(嫌う人はいる
かもしれない)途中では「ただし、これは執筆時点では実装されていません。」と言っているので、まあ
革新的ではまだないだろうね、単なる目標数値なだけで。

>>605
また多くの人が現実的な問題として否定してるのは参照カウントのオーバーヘッドなんかじゃ無くてGCによる
STWやコンパクションなんかでしょう?現実問題として参照カウントのオーバーヘッドなんて気にしてる言語は
殆どないよ。例えば、RustだってRc<T>やArcによる参照カウントをプログラマ・プログラム側でやってるだけ

>>607
それとRustもGraydon Hoareの個人プロジェクトでMozillaになっただけで研究が先にあったとは言い切れない
そりゃ有名人やコンピューター工学の権威とか参加してるだろうけども
609デフォルトの名無しさん
垢版 |
2021/03/10(水) 12:26:05.36ID:SA6nop04
最近の言語研究は、あわしろ氏の論文がベースになってるものが多い。
610デフォルトの名無しさん
垢版 |
2021/03/10(水) 13:00:36.02ID:5VzsYcNg
モダンな最新のC++っていくらするの?
2021/03/10(水) 14:00:30.87ID:hyPPhEFL
ソフトウェアのデバッグは比較的容易だから無料なんだな
文書の誤りや詭弁やデマを取り除くのだけ金がかかる
2021/03/10(水) 15:44:24.64ID:MgNVoYVm
推奨NGワード: あわしろ
613デフォルトの名無しさん
垢版 |
2021/03/10(水) 15:53:52.43ID:SA6nop04
あわしろ氏の論文抜きに次世代言語は語れないだろ。
2021/03/10(水) 20:32:58.62ID:wDDQFNF0
>>608
話の繋がりがよくわからんレスばかりだけど、とりあえずV言語は単なるリファレンスカウント方式ってことでおk?
615デフォルトの名無しさん
垢版 |
2021/03/11(木) 11:10:34.72ID:CIKGh+S+
バカ「JavaBeans方式のプロパティはリフレクションあってこそのものなのにC++で真似してもなー。 」
2021/03/11(木) 11:33:02.30ID:onpwfsyg
>>615
スレ間違えてるぞバカくん
2021/03/14(日) 12:34:28.91ID:HIwD2fvq
Julia Go RustでPythonを潰そう
2021/03/14(日) 13:49:01.04ID:flEVf/TW
むしろpythonの足りない所補完するんじゃないか?
619デフォルトの名無しさん
垢版 |
2021/03/14(日) 16:28:02.83ID:2WkkfJc2
Pythonを潰すならNimだろ、中身は別物だけど構文はめっちゃ似てる
2021/03/14(日) 17:07:51.14ID:oR08qjJB
つか、構文しか似てない。全然被らんだろう。
2021/03/14(日) 17:45:58.00ID:flEVf/TW
コンパイルして配置のひと手間入るだけで適用分野が全く変わってくる
2021/03/14(日) 19:29:18.99ID:pQGk05s+
動的言語の分野でも静的チェック入れたいって要望に応えるような追加が多い。
多分これからは徐々にチェックを厳しくするってリファクタリングをどれだけ段階的に入れやすくできるかってのが
言語に求められる要望になるんじゃないかね。
2021/03/15(月) 16:25:13.23ID:gJzvcWoz
今からC++かrust学ぶならどっちがいいと思う?
CとJavaはわかる前提で
2021/03/15(月) 16:48:36.32ID:tiOBROfx
両方やれば?
逆にどっちかだけ学習するより理解しやすいかもね。
2021/03/15(月) 17:49:05.74ID:8Ti0c4YE
CとjavaがわかっているならC++は入り易いと思う
2021/03/15(月) 20:36:28.58ID:esGaOKmu
>>623
目的によるだろ
2021/03/15(月) 21:58:43.20ID:ia87ngdU
とりあえず新しい事勉強することが目的ならRust
なんらかのプロダクトが目的ならどうせC++のAPIやライブラリ、ビルドツールから逃れられないのでC++
どうせ避けて通れないなら勉強するのはRustで問題に直面してからC++の両方コース
2021/03/15(月) 23:13:56.48ID:R7EGufd+
C++は割と初めてに近い頃に学習したけど
当時の感じでRustやってたら間違いなく挫折してたと思う
2021/03/15(月) 23:59:28.47ID:M0xOqYlK
C++ならCと同じに使えるよ。better C。
630デフォルトの名無しさん
垢版 |
2021/03/16(火) 00:18:10.95ID:wbddlCFD
まあおもしろみもクソもない極めて優等生的な普通の解答をさせてもらうと
まずは C そして C++ 最後に Rust と勉強するのが最も望ましい
2021/03/16(火) 01:15:21.91ID:t/pA05jQ
newを使っただけで芋蔓式に
例外処理とRAIIとスマートポインタとtemplateが必要になるC++を
better Cとか言われてスルーしてる優等生の闇が深い
2021/03/16(火) 01:21:12.51ID:GTaecVmm
誰も本気でプロダクトコード書くと思ってないだけだぞ。
2021/03/16(火) 01:45:08.00ID:t/pA05jQ
だとすると、Pythonのチェックを徐々に厳しくするってのも誰も本気でやらないだろう
2021/03/16(火) 05:45:19.04ID:0EC0D1BB
>>631
オブジェクト指向とか使ったらダメ。
クラスもテンプレートも使わない。
あくまでもC。
2021/03/16(火) 07:57:14.44ID:/8PJuxcZ
Javaは決してレガシーな言語じゃない。今も昔もJavaが世界の目指す方向を教えてくれる
https://engineer-lab.findy-code.io/java

Javaの素晴らしさはJVM(Java仮想マシン)の性能の良さやエコシステムの豊かさにあると思います。
エコシステムとはJavaを取り巻く環境やコミュニティといった意味で、これまでさまざまな企業や人々がJavaに対して貢献してきました。
OSSの世界におけるものごとの考え方やコミュニティ運営における方法論は、Javaが歩んできたカルチャーが色濃く影響していると私は考えています。

現在も、多くの企業や人々がJavaの進化を支えています。たとえば、JDK 15の開発には錚々(そうそう)たる企業が参加しています。エンジニアなら誰しも憧れるような有名企業がJavaのエコシステムに関わっているんです。

<JDK 15の開発に参加している企業> Oracle、Red Hat、SAP、ARM、Tencent、NTT Data、Amazon、IBM、 Intel、Alibaba、Loongson、Huawei、BellSoft、Ampere Computing、 Google、JetBrains、Azul、DataDog、Microsoft、他多数。

日本ではJavaがレガシーというイメージが強いですが、実は世界的に見れば全くレガシーではありません。
Javaの進化を見れば、世界のIT企業各社が何を目指しているかがわかります。このエコシステムの素晴らしさを、もっと多くの方々に知っていただけると嬉しいですね。
636デフォルトの名無しさん
垢版 |
2021/03/16(火) 08:06:55.78ID:5ZkckJOg
JavaのダメなところってまさにJVM、エコシステム、コミュニティじゃないの
インターンのこに就職先を相談されたら、Javaをやらされるところは絶対やめろと言ってるわ
2021/03/16(火) 08:29:00.56ID:/qP4Y71T
旧世代言語の話になるといきなり饒舌になるなこいつら
2021/03/16(火) 08:49:56.34ID:MKzWqFI1
JVMに依存する言語は他にscalaやgroovy, kotolinか

javaが死亡したらこれらも死亡してしまうのか?
2021/03/16(火) 09:06:48.35ID:GTaecVmm
>>633
普通にtypingモジュール周りは整備されてきてるだろ。
クソみたいな反発ひけらかしてるんじゃねーよ。
2021/03/16(火) 10:08:43.09ID:t/pA05jQ
>>639
反発はしていない
誰も本気で書かない、という意見に同調しただけ
2021/03/16(火) 12:14:14.36ID:tUVUKdZi
YouTube で有名な、雑食系エンジニア・KENTA の動画がある
「Scalaが日本で衰退し始めている理由を説明します」

衰退し始めると食えないから、まともな香具師がいなくなる。
コミュニティーには、初心者にマウントを取ってくるような香具師が住み着くようになる

一方、今は、Ruby, Elixir などのコミュニティーが強い。
とても廃れるようには見えない
2021/03/16(火) 12:21:23.58ID:tUVUKdZi
みずほの統合プロジェクトは終わったけど、
ピラミッド建設並みの40万人月

4千億円 / 40万人月 = 1人月当たり百万円

この内、本人がもらえる額は、2〜3割ぐらいしかない。
7〜8割がどこかで抜かれる

大手がJavaを勧める理由は、グループ企業数社間で抜けるから。
末端は土方奴隷

だから、KENTA などが、抜かれない自社開発系を勧めるわけ

逆に、SES はJavaを勧める。自分達が抜けるから。
これがポジショントーク
2021/03/16(火) 12:23:30.42ID:K4E4Nbs9
推奨NGワード: YouTube
推奨NGワード: 有名
推奨NGワード: 雑食
推奨NGワード: KENTA
推奨NGワード: 香具師
推奨NGワード: コミュニティー
推奨NGワード: マウント
推奨NGワード: Ruby
2021/03/16(火) 12:26:07.75ID:K4E4Nbs9
推奨NGワード: みずほ
推奨NGワード: ピラミッド
推奨NGワード: 人月
推奨NGワード: 大手
推奨NGワード: 土方
推奨NGワード: 奴隷
推奨NGワード: 自社開発
推奨NGワード: SES
推奨NGワード: ポジショントーク
2021/03/16(火) 20:40:29.28ID:V+qRx+gd
目隠しでもすれば?
2021/03/16(火) 23:30:09.00ID:J1HBzpcA
kenta崇拝してるエンジニアはだいたい無能
2021/03/17(水) 20:40:27.48ID:hH82Uf3P
>>642
java以外の言語だったらその構図がなくなるとでも思ってんのか?おめでてーな
2021/03/17(水) 20:43:41.24ID:VqvtKHBn
これがレガシーじゃないJava最新版の実力だ

Oracle、「Java 16」を発表 〜パターンマッチングinstanceofとrecord型が正式機能に
https://forest.watch.impress.co.jp/docs/news/1312633.html
2021/03/17(水) 21:37:12.31ID:6p7FfRZM
もういっそGADTsと型クラスまたはトレイトを導入したらいいんじゃね
2021/03/17(水) 22:30:28.05ID:Fepqvkt7
えええ
スマートキャストすんなよきしょい
Javaなんだから代入しようず…
2021/03/17(水) 22:36:07.88ID:Fepqvkt7
https://openjdk.java.net/jeps/394
if (b instanceof Point p) {
...

よかった代入してたけどなんかきしょい
代入先が右にくるからか
2021/03/17(水) 22:58:09.11ID:+I2IngIP
JavaのKotlinに最後まで抗う感すげえな
2021/03/18(木) 06:10:16.22ID:Z1aY9uWu
forも代入先が右ならよかった
2021/03/19(金) 02:24:03.10ID:KZRw2lg0
Juliaは1.7で実用的になったらしい
2021/03/20(土) 01:33:47.12ID:NBypSHDT
Pythonに代替する言語早く出てくれ
記述がシンプルで速いヤツ
2021/03/20(土) 09:27:09.06ID:SD207SQV
>>654
まだ1.5じゃね?
2021/03/20(土) 09:38:24.94ID:vUNrx7r3
よし見慣れた
早く使いたい
2021/03/20(土) 11:47:53.86ID:ARQDcx4T
>>655
go
659デフォルトの名無しさん
垢版 |
2021/03/20(土) 13:16:39.14ID:KZGebSzt
linux kernelにrustディレクトリが出来たみたいだね
次世代言語として磐石な立ち位置を確立したね
2021/03/20(土) 13:40:40.93ID:Yqrg6wwp
どの部分を置き換えるんだろうな?
2021/03/20(土) 13:46:03.02ID:WZkKHDRu
Pythonブーム終われと思ってる
2021/03/20(土) 14:07:37.20ID:IyzEzHor
Ruby on Rails 6 の本を出している人の、入門書が出た。
Erlang/OTP 上で動く、Ruby風の関数型言語

Elixir実践ガイド、黒田努、2021/2/5

Ubuntu 20.04, Docker CE 19.03, Elixir 1.11

>>655
皆Python から、MIT製のJulia へ移行してる
2021/03/20(土) 14:08:30.45ID:RK0j7xAM
Pythonブームが終わるのはいいけど
その次のやつはテンプレートメタプログラミングをやるのかやらないのか
早く判断しないと話が始まらない
2021/03/20(土) 14:31:20.03ID:OmO/62/g
>>660
いまのところ書き換えは狙ってないって宣言されてるよ
新しいカーネルモジュールをRustで書けるようにするのが目標みたい

https://lwn.net/Articles/829858/
2021/03/20(土) 14:33:14.82ID:Yqrg6wwp
>>664
そうなんだ
でもすごい事だな
2021/03/20(土) 19:00:58.65ID:1UkxzHtC
>>662
juliaなんて流行るわけねーだろあんなfortranくさい言語
2021/03/20(土) 19:07:26.91ID:pbI+9NdC
とりあえず言語の名前は固有名詞で唯一無二のネーミングを新たに創造してほしい
2021/03/20(土) 21:01:13.23ID:Yqrg6wwp
5文字ぐらいの単語をランダムに生成して辞書引きでヒットしなかったものを使うしかないけどそんなの流行るかな?
2021/03/20(土) 21:10:08.83ID:2mvexEfV
そんな極端なことしなくても、ちょっと綴りをもじるぐらいで良いじゃん。
BluRayみたいな。
2021/03/20(土) 21:17:55.54ID:yTMQr8HE
AV女優ばっか検索かかっちゃう言語名で良いのかね
2021/03/20(土) 21:53:24.28ID:Yqrg6wwp
xxx langで大抵ははじけるけどな
2021/03/20(土) 21:57:26.85ID:CnPV4MQo
外国人はきちんとlangつけてて国内の人はlangつけてないって傾向ある?
2021/03/20(土) 22:01:58.22ID:vUNrx7r3
JavaのやつC#でもうあったわ
2021/03/21(日) 11:30:16.19ID:LObm+gcQ
rustで検索するとネトゲしか出て来ない時期あったな
2021/03/21(日) 17:56:17.54ID:SWaIFGXw
とりあえず Go おまえの名前はだめだ
Go の何がだめといって名前がクソすぎる
2021/03/22(月) 00:46:24.50ID:TakJ5P2I
Goだと検索に引っかかりにくいという難点はあるな
2021/03/22(月) 10:30:05.11ID:34uAeWpb
外国人は一文字言語の頃からちゃんとlangと付けてたのかねえ
2021/03/22(月) 10:40:46.73ID:g8se3Ggw
clangがな
2021/03/22(月) 12:24:42.48ID:b6jSgIhJ
Cとかはインターネット自体がまだそんなに普及してなかったからな
680デフォルトの名無しさん
垢版 |
2021/03/22(月) 17:29:55.95ID:mGS5nVo3
>>655
Nim
2021/03/22(月) 21:57:37.36ID:9lhdYRnl
つかググラビリティを気にするようになったのは2000年以降だろう
2021/03/22(月) 21:59:15.41ID:SRfXrm/K
その頃はまだヤフってたわ
2021/03/22(月) 23:37:25.80ID:cezDTGq+
千里眼使ってたわ。
2021/03/23(火) 21:05:10.36ID:ekfmkzWo
Microsoft Power Fx のご紹介
https://community.dynamics.com/365/b/dynamicsblog-ja-jp/posts/microsoft-power-fx
2021/03/25(木) 09:09:11.03ID:/Q1xsaOg
>>655
Julia
686デフォルトの名無しさん
垢版 |
2021/03/25(木) 16:48:07.88ID:LuSagST9
プログラミング言語Crystal、初のメジャーリリースとなるバージョン1.0を公開
2021/03/25(木) 17:03:45.18ID:xF1J6Xyz
Rubyが好きな人のためのコンパイラか
2021/03/25(木) 18:30:54.53ID:18nzHvsr
最近は、Go, Rust よりも、Elixir が熱い

動的型付けの関数型で、型を書かないのが楽チン
2021/03/25(木) 20:04:29.48ID:KmpgWBAt
Erlang VMのお世話が大変だろ
なんでJava等と比べてGoがデプロイ楽と言われてるか
シングルバイナリで行けるからだろ
ScalaやClojureはJavaVM、ElixirはErlangVMから実行時まで逃れられない
2021/03/25(木) 20:17:34.37ID:QAr0K9ya
Goなんではやらんのか
例外ないとかきいてうえってなったけど
panicあったらいいじゃん
2021/03/25(木) 21:02:19.53ID:KZQE7Wft
普通に使われてるだろGO
692デフォルトの名無しさん
垢版 |
2021/03/25(木) 21:22:28.63ID:s30NAs5i
golangは悪くは無いんだが、この分野ではgoだよねというシーンが無いというか
2021/03/25(木) 21:32:12.66ID:ItxHMUbH
>>689
ScalaやClojureはnative compileできるようになったからJVMなくても動くよ
Scalaは普段使いしないけどClojureはCLIのツール作るのに便利
2021/03/25(木) 22:20:19.07ID:CbMP1UQH
Goはなにが駄目といってまず名前が駄目
あとエラー処理が面倒すぎる!
2021/03/25(木) 22:27:03.79ID:QAr0K9ya
そうなのか
2021/03/26(金) 12:21:14.41ID:mmjZdfI1
Elixir も、パターンマッチの戻り値で判定するから、
例外機構を使わないのが普通

YouTube で有名な、雑食系エンジニア・KENTA いわく、
Go だけは、普及のキャズムを超えた

Rust, Elixirは超えられなかった

Elixirは、VSCode, Remote Container(Docker)で、
文字列処理などのツールでは楽
2021/03/26(金) 13:15:37.07ID:oXROwrcp
goはjavaのダメな点を修正したってだけな気もするが、だがそれがいい。
2021/03/26(金) 13:17:22.27ID:oKOCwUd9
こっとりーん
2021/03/26(金) 16:43:15.75ID:5JaI5I85
>>693
native compileされたバイナリの依存関係はどうなってるの?
700デフォルトの名無しさん
垢版 |
2021/03/26(金) 21:27:15.39ID:VTO9jEEg
あとGoはマスコットがキモすぎる
2021/03/26(金) 21:32:54.53ID:S1KAvzhB
lispよりマシ
2021/03/26(金) 22:00:57.79ID:VCm8TcY+
どっちもかわいいのに…
2021/03/26(金) 23:26:17.82ID:f+NQDuNV
gopherはもうちょいデフォルメすればかわいい(たぶん)
LISPは諦めてもろて
2021/03/27(土) 00:16:06.66ID:h1BsDCwR
>>701
Lisp にマスコットなんかあったっけ?
2021/03/27(土) 00:40:16.75ID:PG67SvNd
https://i.imgur.com/KEJ1wAI.jpg

Goのひっぱたきたくなるやつよりはかわいいかな
2021/03/27(土) 01:07:42.58ID:71XDemdj
Javaの☆のやつのがきもい
2021/03/27(土) 01:09:38.24ID:+DporzDl
>>705
ごーふぁー君はイラっとくるキモさだが
こいつはリアルに純粋にキモいなw
2021/03/27(土) 02:04:50.15ID:ViXMOfbR
しかも名前がLispエイリアンとかふざけてる
2021/03/27(土) 02:39:16.96ID:ZUW1x11T
舌足らず(lisp)なのかな
710デフォルトの名無しさん
垢版 |
2021/03/30(火) 02:28:48.17ID:uKQPYHO8
>>614
よく分からないなら職場の先輩に聞いてください。あなたのくだらない煽りに答える所ではありません。
無視しても良かったのですが、あまりにも気持ち悪すぎるので書いておきます

RustのRc、Arcと言っているのに、それにまったく気づかない文章読解能力の無さどうかと思います。
ARC (automatic reference counting) というのアルゴリズムです。
言うまでもなくRcは(reference-counting)です。単純な参照カウントを改良・自動化したのがARCです。
改良すべきは細かい話になりますが、1つ目が値の受け渡しによるコピーをなくすためのムーブ操作です。
理論上は、ムーブセマンティクスと呼ばれる、C++11/14からある所有権のムーブで、メモリーコピーを
防ぎます。これは「所有権」という言葉からRustを想像すると思いますが、まさしくそれでRustはムーブを
明示的にシンタックスで行いますが、VやNimbleなどはそれが自動化されます。strong/weak/unownedの
キーワードが必要になりますが、確かSwiftもARCです。Vの場合はmutが必要です
2番目にスレッド間でのデータが共有されるため、ここも単純なRCと比べて改良されています。
他にもRCに比べて利点があります。多くの単純な例ではオーバーヘッドと見做されるようなカウント操作を
行わないようになります。これは明示的に所有権の移動を行うRustと同じです。Rustの利点はGCが不明な
箇所では行われない事です

簡単に表せば、最も単純な例では関数を抜けた後にメモリ解放を必要とする変数のデストラクタ呼び出しを
コンパイラが自動的に挿入します。(ここでカウント操作はありません)ただ循環参照を処理する場合には
参照カウンターとは別にサイクルカウンターが必要となります。
Rustはunsafeを使わずとも「循環参照は、メモリをリークすることもある」と認めていますが、独自データ
構造で循環参照を作った場合、メモリーリークしないよう保証するのは実装者の自分自身が必要です。

JavaなどのGCがあるとされる言語は多くはこれを解決するために、マークアンドスウィープを使用して結果的に
Stop the Worldが発生します。これを解決して抑えるためコンカレントGCを作りましたが、常にGCされるので
に結果的にパフォーマンス低下します。
2021/03/30(火) 09:11:59.50ID:BHNwTu7Q
>>710
RustのArcはAtomically Reference Countedの略な
2021/03/30(火) 09:44:21.64ID:ZeIxFSpI
>>710
RcとArcの違いが全然分かってなさそうだけど大丈夫か?
カウント操作にアトミック命令使ってるかどうかだけなんだが。
713デフォルトの名無しさん
垢版 |
2021/03/30(火) 15:01:48.57ID:3h4JBsbE
あまりにも気持ち悪すぎるwワロス
こいつらマウント取りたくて必死すぎだろwなんも反論になってないw
そんなにVが嫌いならダメな所あげたら良いのに
2021/03/30(火) 16:45:27.89ID:QeTs/eYE
ReScript良さそうだな
2021/03/30(火) 16:50:58.07ID:ZCSqiewq
見たくないものは見えないんだなあ
2021/03/30(火) 18:21:16.68ID:bKhExOEr
最新の言語ってデバッグのための値操作とかどうやるんですか

JavaやCだと変数値は変えられるのがデフォだから
一応元の処理は流したうえで値を書き換えてやるのが基本だった気がするけど
最近のってletでデフォconstじゃないですか
2021/03/30(火) 22:53:17.23ID:hcFmxLDn
デバッガからなら書き換えられるのも多いのでは?
2021/03/30(火) 23:09:39.66ID:hr1twhx6
メモリ操作するよりセーブしてからファイル操作してロードできればいいのにな
GCにたとえるとストップアンドコピーってとこか
2021/03/30(火) 23:25:34.80ID:PerNg8Uc
純粋関数型言語で値の書き換えできるやつってあるのかな
HaskellとかElmで変数(とは言わないかもだが)表示しながらステップ実行とか式の評価の履歴みれるのは知ってるけど
2021/03/30(火) 23:31:06.76ID:p2ycBMb7
できない理由はないんじゃない?メモリ上に置かれないような最適化とかされない限り。
721デフォルトの名無しさん
垢版 |
2021/03/30(火) 23:58:23.09ID:2Xqp7lc5
24日、最新版となる「Julia 1.6」をリリースしたと発表した。
2021/03/31(水) 00:29:37.70ID:asE4SEMA
ステップ実行やりたいがためにCのライブラリ呼び出しすんな派と
Cライブラリ呼び出しーや派
言語の流行はほぼこれで説明がつく
2021/04/01(木) 20:50:12.42ID:4OCi/swF
「AsyncAPI Initiative」がLinux Foundationに参画、イベントドリブンなAPIの記述標準化を目指す
https://www.publickey1.jp/blog/21/asyncapi_initiativelinux_foundationapi.html
2021/04/08(木) 04:40:42.69ID:kgR5ZIDd
>>710はスルー力検定?
2021/04/08(木) 08:12:35.42ID:oHbd1x+/
Rust言語でAndroidはより強固・安全に 〜GoogleがOS開発への導入を進める
C/C++コードの完全な置き換えは非現実的だが、新規コードへの活用は不具合の予防に効果あり
https://forest.watch.impress.co.jp/docs/news/1317183.html
2021/04/08(木) 15:38:13.33ID:YWFqFncu
Rustほんと人気だね
2021/04/08(木) 15:43:04.97ID:CsfSuBCz
Javaのパクっておkの勝訴の影響はどうなるの
2021/04/08(木) 19:17:59.07ID:ByNsu0yr
フェアユース
2021/04/08(木) 21:12:55.75ID:KJ+7YtJl
googleがイニシアチブとってくるとかなり変わってくるな

ただfirefoxの遅れ取り戻すために作ったものが今後chromやedgeにも使われるとなるとどうなんだろ?
2021/04/09(金) 01:33:52.25ID:q4HnPycb
GoogleのJavaはそもそもドロイドのアプリ層でしか使ってないとオモウ
なのでOpenJDK標準になってたりKotlin押しになってるアプリ開発環境は変るかも
731デフォルトの名無しさん
垢版 |
2021/04/09(金) 07:43:56.69ID:PY9i7lti
節子!それ盗作ちゃうで!インスパイアかフェアユースや!
2021/04/09(金) 11:54:55.40ID:1od6wqSM
フェアユースの定義はどう見ても自然科学の管轄外なので
どちらかといえばコミュ力に近い能力が役に立つ事案
2021/04/09(金) 20:44:39.89ID:ae3tE6Ku
やったもん勝ちでいいじゃんいいじゃん
2021/04/10(土) 09:37:11.94ID:WdqgOojm
中国人みたいなこと言いよる
2021/04/10(土) 09:56:08.18ID:xmdeuDkH
そういう判決だったからな
2021/04/16(金) 16:43:46.37ID:iRzpcHGc
Go言語はos.Open()の戻り値のエラーはスルーできないのに
File.Close()の戻り値のエラーは普通にスルーできるのが気持ちわるくてやめた
(だいぶ前の話だから今どうなってるかは知らない)
せめて
_ := f.Close()
にしないと警告出すくらいのチェックはほしい
2021/04/16(金) 17:20:31.43ID:U88khvJX
>>736
どういう事?
voidではない関数の戻り値もかならず代入文によって捨てるコーディングがしたいってこと?
2021/04/16(金) 18:28:46.84ID:iRzpcHGc
>>737
そういうことです
当時そういうオプションとか探したけど見つからなかった
2021/04/16(金) 20:10:02.72ID:U88khvJX
>>738
うーん、他の言語もタプルとかとして受け取るなら一部だけ受け取るなんてこと出来ないんだし、一般的な仕様だと思うけどな。
2021/04/16(金) 22:00:20.82ID:iRzpcHGc
>>739
その部分だけで考えれば普通なんだけど言語全体で考えるとバランスが悪い感じ

Openの方は

f, err := os.Open(..) // errを使わないとコンパイルエラー
f, _ := os.Open(..) // 敢えてエラーチェックはしない

の二択だけど、Closeの方は

err := f.Close() // errを使わないとコンパイルエラー
_ := f.Close() // 敢えてエラーチェックはしない
f.Close() // エラーチェックしないの?

の三択になって、例外を使わずに変数の使用を強制することでエラー処理を明示的にするっていう
Go言語のスタンスがぼやける気がする
(そのスタンス自体が私の思い違いかもしれないけど)

Closeだとエラー無視しても大したことないけど、Chdirあたりだと
エラーをスルーできて例外も飛ばないのは危険さを感じてしまう
C言語と同じだと言えばそれまでだけど、変数の不使用はコンパイルも通さないのに
戻り値の不使用は警告も出さないっていう仕様はアンバランスだと思った
2021/04/16(金) 22:43:53.10ID:U88khvJX
>>740
errを使わないとコンパイルエラー、は違うよ。
_ = err
と捨ててもコンパイルエラーは避けられる。

例外を使わず、は正しいけど、変数の使用は実質強制されてない。

そういう、errを捨てるような書き方は、Javaのthrows書きたくないからとExceptionで大雑把に例外を握りつぶしてるメソッドみたいなもんで、躾の問題だと思うよ。
2021/04/16(金) 23:39:26.78ID:h4psCBcA
>Javaのthrows書きたくないからと
極刑を望む
2021/04/16(金) 23:53:42.11ID:iRzpcHGc
「使う」の意味が曖昧だったかな
errを使うっていうのはエラーをチェックをするという意味じゃなく
コードの中でそのerrをどう扱うかを明示するって意味で書いた
(普通はエラー処理だけど)

>>741の例だと
_ = err
の中で「そのエラーはチェックしない」って意図を明示するためにerrを使ったことになる

_ := f.Close()

f.Close()
の違いは、下の書き方だと
・そこでエラーが返される可能性
・そのエラーを無視するという意図
の2つが伝わりにくくなること

もしかしたらコードを書いた本人もCloseがエラーを返す可能性を見落としてるかもしれなくて
そうなると想定しない状態でプログラムが動き続けて予期しない結果を招くかもしれない

もしコンパイラが戻り値を受け取らないパターンを弾いてくれればそういう見落としは防げるようになる
(そこで何も考えず戻り値を捨てる書き方をして予期しない結果になったならそれはもう躾の問題だけど)


Javaで例えるならExceptionで握りつぶすというよりcatch(Exception)して何もしない感じかな
自分は「飲み込む」と表現してる
2021/04/17(土) 02:30:54.76ID:6GAIvEwc
そんなに説明しなくても>>736だけで十分わかるよ
https://github.com/golang/go/issues/20803
https://github.com/golang/go/issues/20148 <― Rob Pike
2021/04/17(土) 02:59:32.14ID:Cl8a1wE7
同じこと言った記憶あるなあと思ったら一昨年だった

https://mevius.5ch.net/test/read.cgi/tech/1567602619/927
927 デフォルトの名無しさん sage 2019/09/29(日) 19:19:16.64 ID:siw3JIyP
deferのためなんだろうけど、返り値全捨てでの握り潰しがコンパイルエラーにならないのは不満
2021/04/17(土) 09:13:21.49ID:GZ3nvsuU
>>743-744
これは俺が不勉強だった。Issueも立ってたのか。
この議論は確かに有益だな。
issueで書かれてるように、deferで雑に閉じたいとかそういうケースが確かに漏れるか、ってぐらいだな。

うーん、なかなかバランス難しいもんだな。
とはいえRustみたいな気難しいコンパイラになられるのもなかなかだし。
2021/04/17(土) 09:39:43.53ID:WqZ6rzHC
>>742
それは形式的に判断できるものじゃなくて、大雑把かどうかはその内容によるわな。
握りつぶしていい例外は存在するしそれは握りつぶしていい。
2021/04/17(土) 11:00:28.48ID:tBKly9ku
throwsを書くのは関数や変数の型を書くことと同じ
それに対し「型を書かなくていい変数は存在する」と
言い返したのと同じだから痛快だね

全ての変数に型を書くのに今までどれだけ無駄な努力をしていたか
2021/04/17(土) 12:15:23.05ID:WqZ6rzHC
>>748
Javaの検査例外はたしかに例外を型安全に扱うための仕組だけど、throwsを書かないのは
いわばvoid型のようなもので、型推論や動的型付けで型を書かないのとは違う。
2021/04/17(土) 12:35:03.15ID:GZ3nvsuU
検査例外は「ただの大域jmp、しかも行き先が自分ではわからないやつ」っていう例外の悪い部分をうまく取り扱うための、そこそこいい仕組みだと思うんだけど、
いかんせん例外で対応することが多すぎた気がする。
このメソッドより外側には漏れ出しません、ってのは俺はいい宣言だと思うんだけどな。

今はかなり改善されてるんだろうけど、Javaにいい印象なくてなかなかJava系の言語やる気持ちになれないや…。
2021/04/17(土) 13:37:15.96ID:GMKTrofB
Javaの例外処理は独自の例外クラスを作って低層の例外を取り込んでいく設計を知らないと
throwsの中身が膨れ上がって大変なことになるね
throwsが面倒っていう人は独自の例外クラスを作るのが面倒なんだと思う

GoとかRustは返せるエラー型が原則1つに制限されるから必然的にそういう設計を迫られる
2021/04/17(土) 17:29:58.69ID:GZ3nvsuU
>>751
C#で言うInnerException的な?
まあ、業務ロジックでハンドリングするならアプリケーションで定義した例外に包むわな、確かに。
2021/04/17(土) 22:12:19.57ID:IisFsCzs
Javaの検査例外は直上でのハンドリングを強制したのが失敗
Goみたいに一種類だけならまだしも、全種類はさすがにノイズになりすぎた
コンパイル時にチェックしたいだけならthrowsは暗黙的にコンパイラが生成し、最終的にキャッチされないままの例外があったら警告出すくらいで十分だったんだよ
結局Javaはmulti catch導入して、型を緩める方向に舵を切っちゃった
2021/04/17(土) 22:53:24.71ID:/69X/cno
throwsを暗黙的に生成するのはそんなに簡単じゃない気がする
2021/04/17(土) 22:59:40.59ID:WqZ6rzHC
検査例外がというより、そこは例外に多彩な型を持たせること自体が失敗だったと言うべきだろうな。
例外というものは呼び出し階層の複数の階層を越えて上位層が下位層に依存してしまうんで
それをSOLID原則のに従うようきっちり依存性逆転させるのは骨が折れる。
2021/04/17(土) 23:31:17.79ID:dnL36O9R
例外の型って大抵デバッグ目的で持たせるエラー情報の種別に応じて作られるわけだけど、
それってプログラムでのエラーハンドリングの制御とは異なる関心事なんだよな
それをごっちゃにしてしまったのがJava系の例外の失敗だと思う
プログラムの制御にとっては、成功、リトライ可能な失敗、リトライ不可な失敗、くらいの分類があれば十分で、それ以上細かくしてもノイズになるだけ
2021/04/18(日) 00:47:22.61ID:z4d4288G
プロセスやスレッドを起動するならexitでいいのに
シングルタスクでイベントループを終了しないで続けるためにthrowとcatchがある

上位層が下位層に依存するのはシングルタスクの欠点だが
それは旧世代言語の欠点だというのがなぜか定説になってしまった
2021/04/24(土) 08:05:00.86ID:8O98k7om
> 例外というものは呼び出し階層の複数の階層を越えて上位層が下位層に依存してしまう

これどういうこと?
上位下位というのは継承関係?コンポジションの関係?
いずれにせよピンと来ないんだが
759デフォルトの名無しさん
垢版 |
2021/04/24(土) 08:18:28.13ID:8O98k7om
https://ideone.com/gvbImJ
class A {
void foo(int value) {
if (value != 42) throw new IllegalArgumentException();
}
}
class B {
void bar(int value) {
new A().foo(value);
}
}
class Ideone {
public static void main(String[] args) {
try {
new B().bar(0);
} catch (IllegalArgumentException e) {
e.printStackTrace();
}
}
}
たとえばこう↑したとき
どこに「上位層が下位層に依存してしまう」部分があるの?
2021/04/24(土) 09:21:13.32ID:PpOY6z/o
呼び出し海藻だろ
2021/04/24(土) 10:02:36.99ID:K4uxnQki
>>759
A が IllegalArgumentException を投げるかもしれないという事実に Ideone が依存している。
2021/04/24(土) 12:02:10.01ID:X9M/vDl3
>>761
そのことをもって「上位層が下位層に」と表現しているってことでおk?
2021/04/24(土) 12:15:38.69ID:h2P4AVL3
だいたいその認識だったな、俺も。
2021/04/24(土) 15:59:57.86ID:tHtLe+wG
IllegalArgumentExceptionならまああまり依存してる感はないかもしれない
特に問題になるのは、FooException のように、barがfooに依存しているという事実を晒してしまうような例外を投げるケースだな
2021/04/24(土) 20:23:23.95ID:UtBZJqS8
やっぱJavaってオワコンなのか書店のJavaコーナーどんどん縮小してるし
以前はJavaコーナー一番広かったのに最近は大概他の言語(Python,JavaScriptなど)に負けてるな
何はともあれ業務上必要で売れるならある程度の面積は占めるはずなんだが
766デフォルトの名無しさん
垢版 |
2021/04/24(土) 21:19:03.86ID:pIwkRpva
俺がインターンの子にジャバをやらされる企業には絶対いくなといってるからだろうな
2021/04/24(土) 21:44:59.76ID:tDy/GOTv
新卒奴隷送り込む商売がやりづらくなっただけなのと
六ヶ月リリースになって書籍が追いつけなくなっただけでしょ。

「やさしいjava完全に理解した!」が減っていいことだ。
2021/04/25(日) 04:27:20.08ID:HtPKTQ5q
リリースに出版が追いつかないだけの理由なら別に書籍のコーナースペースが縮小したりしないと思う
スペースが狭くなってるって事は需要の絶対数が減ってるからでJavaをやる新人ってのが減ったのは確実なんだろうな
2021/04/25(日) 05:12:25.49ID:fxJVYt9g
ただ単にkotlin使うようになっただけでしょ
まだまだjvm使ってるとこは多いと思う
今後はわからんけどね
2021/04/25(日) 06:29:37.85ID:NMiXqa1m
Javaが採用されてきた大きな理由の一つとして、実行環境としてUNIXをターゲットとする場合に、工員の開発PCがWindowsでも比較的支障が少ないってのがある
ただ最近では業務系でも開発にMac使うところは増えてきたし、
.NETもLinuxに対応したりNode.jsやPythonも主にUNIXで運用される主要なスクリプトの中では比較的Windowsの相性が悪くない方だったりして、ライバルも増えた
そもそもクラウドやコンテナの普及のせいで、直接Windows上で開発するということ自体がこれまでよりも困難になってきているし、Windows自体もWSLにより完全なUNIXを備えてしまったためこれまたJavaに拘る理由がなくなってしまった
2021/04/25(日) 06:56:54.09ID:wIbtFVmU
売り場面積が根拠ならjava云々でなく単に棚分類コードの関係で書店の扱いがいいジャンルに業界がシフトしてるだけの話よ。
鉄板はEXCEL本、python本、後は今ならディープラーニング関連かな。
オライリー・ジャパンですらwebもプログラミングも関係ない分野の本出してんの知らない?
javaならむしろ去年の六月にswingの新刊出てる。

>>769
kotlin使うようになったらからが理由ならscala使うようになった頃に取って代わってるだろうね。
2021/04/25(日) 13:13:44.43ID:oFpMkyEJ
Java は、GitHub に銀行のソースコードを上げた人とか、
20年やっても年収200万円とか、IT 土方の多重請負構造で、
客には1人月100万円を請求しているはずが、80万円抜かれる

プログラマーに還元されない。
というか、関数内だけを作っている、
システムを作っていない単純コーダーだから

工事現場の見習いみたいな感じ

そのIT業界の多重請負構造を、
YouTube で有名な、雑食系エンジニア・KENTA が、
ばらしてしまったので、日本中に広まった

IT土方Java vs 自社開発系Ruby
SES のモロー vs KENTA
2021/04/25(日) 13:18:37.83ID:KtTIhOup
推奨NGワード: 土方
推奨NGワード: 請負
推奨NGワード: 雑食
推奨NGワード: KENTA
推奨NGワード: 自社開発
推奨NGワード: Ruby
推奨NGワード: SES
推奨NGワード: モロー
2021/04/25(日) 15:27:32.41ID:HtPKTQ5q
ちなみに言語じゃないけどDenoってこれから伸びる可能性あるんかね?
2021/04/25(日) 15:38:35.22ID:8jr05iQT
もしかしてDartって若干伸びてきてる?
2021/04/26(月) 08:02:24.55ID:xaTdJ+wC
Youtubeよりも5chで荒らしとして有名になってる件
2021/04/26(月) 10:52:47.24ID:vu3N8V9m
denoというかwasmがくるよ
2021/04/27(火) 01:13:44.64ID:ybAp8EWh
ということはRustが来るのか
2021/04/28(水) 11:37:01.99ID:3EuQZ3Ew
実際にプロジェクトで使ったことない人には定評あるね
2021/04/28(水) 12:18:47.51ID:Gm/vyyE5
インフラとか組込とかミスの許されない/修正リリースできない現場は
形式証明機能のある言語を実際に使うとか聞いたで
F*だかidrisだか忘れたけど
ググったらRustでもCHCソルバでプログラム検証しまーすとか普通にでてくるし
クリティカルなとこではちゃんと使われてんじゃないかい
2021/04/28(水) 13:26:23.31ID:GFgIUmSe
大規模開発で使うっていう都市伝説が検証されるだけで一歩前進か
2021/04/28(水) 16:26:28.05ID:3EuQZ3Ew
そんなとこで使われてるわけねーだろ。。
その手の証明ツールを使ったことあればわかるがテストコード書く方がまだまともなアプローチだわ。
実際に使われてるのは不確定性をうまく論理化してプロトコル検証をするって使い道はある。
そう言う使われ方は分散アルゴリズム周りでは少しやってるとこもあるがほんの一部だわな。
2021/04/28(水) 16:31:19.72ID:yDqZolk/
組込みRustという本がちょうどこの前出たぞ
784デフォルトの名無しさん
垢版 |
2021/04/28(水) 21:17:46.00ID:85tuN82O
意図もわからずなんとなく動くからそのメソッドを使い、借用をつければなんとなく動くから 借用し、
変更する予定はないけどmutし、ここはエラーだからとpanic!し、補足するなと言われているのに
catch_unwind/recoverして、血の涙で泣きながら渡されたソースをシコシコ直すおまいら・・・
rustのどこが良いか全然わからない
2021/04/28(水) 23:38:51.58ID:2VQTxO/e
マルチするな
2021/04/29(木) 07:18:17.94ID:KLHt34b8
ちょっと改変すればどの言語にも適用できそう
というかそういう元ネタあんのかな?
2021/04/29(木) 10:33:36.01ID:tR6uAqfq
補足?足なんて飾りです!偉い人にはそれがわからんのです!

早くモデル検査が当たり前になぁれ!
2021/04/29(木) 12:41:21.56ID:JBnzphH4
>>781
大規模開発ってプロジェクト人数が多そうだし精鋭にはならんだろうから寧ろ不向きだろうって直観的に思う
2021/04/29(木) 12:43:37.33ID:JBnzphH4
>>783
この前それ立ち読みしたけど去年秀和から出た実践〜の8章理解しとけば十分な気がした
2021/04/29(木) 14:27:34.72ID:earX3YoR
>>786
>ちょっと改変すればどの言語にも適用できそう
ほぼこれが主張だぞ。
2021/04/29(木) 15:23:01.97ID:bEP8m5yM
落ちないからヨシ!
2021/04/29(木) 22:26:54.16ID:3tiS91aO
検査で「偽陰性」になったソースを渡されたら血の涙で泣く
ということは
血の涙が出たら陽性、という検査を追加すればいいんだろ
793デフォルトの名無しさん
垢版 |
2021/04/30(金) 16:54:11.94ID:U7XnfxJa
個人的には
どの次世代言語がいいかじゃなくて
次世代言語にはどんな言語機能を備えていてほしいかで語ってほしい
2021/04/30(金) 17:05:12.65ID:8uDUVNfy
いうほど必要な機能なんてない。
ここ50年の結論はバカは何使ってもバカということだろう。
2021/04/30(金) 17:34:44.55ID:8aEpEI3N
用途によって欲しい機能が違うんだからすべてを満たす言語が出来るはずがない。
796デフォルトの名無しさん
垢版 |
2021/04/30(金) 18:12:44.65ID:U7XnfxJa
macroとか型クラスとかあるやろ具体的には
2021/04/30(金) 18:16:43.42ID:TuBhqj3T
ようとに応じた欲しい機能すべて実装すりゃいいだけだろw
2021/04/30(金) 20:12:42.07ID:19g7m0Bn
「二刀流はズル」という価値観を捨てれば矛盾する機能でも両方実装できる
2021/05/01(土) 19:29:31.85ID:wiEZYnrW
結局必要なところはcで書いてバインディングできるような言語設計をほとんどの言語が行なっている。
それが答えだろ
2021/05/01(土) 21:16:05.18ID:0VFft9ft
いや、違うと思う
2021/05/02(日) 16:15:43.74ID:F4olHNfs
レガシーコードとの連携のためとかいいわけしながら
結局ユーザー2層構造が暗黙の仕様になってるような
2021/05/03(月) 23:13:29.51ID:AyvebyYK
ちなみにおまいら具体的にはどの言語に手を出した事あるの?
803デフォルトの名無しさん
垢版 |
2021/05/03(月) 23:22:14.10ID:N/p1rn3A
Java,C,VB.NET,C#,F#,Haskell,Elm,Rust,Idris2

F#とIdrisがすこ
2021/05/05(水) 04:20:34.48ID:roWASgUj
どっちも流行ってないね
お前の逆を行くと良さそう
2021/05/05(水) 11:02:40.08ID:1EwqoC8k
最近あんまGoって聞かなくなったけど使われてるとこでは使われてるの?
2021/05/05(水) 12:40:27.37ID:A+0MNUzo
5月生まれって約12人に1人しかいないので
逆を行くと良さそう
2021/05/05(水) 12:53:07.09ID:UNdhfIGe
>>805
kubernetes, dockerなんかはgoだよ。普通にメジャーどこのツールで使われてる。
2021/05/05(水) 15:42:00.03ID:wt31bFvh
>>805
GitHubもGoで書き直しを続けてる
2021/05/06(木) 20:12:11.27ID:zqd1xc9I
>>170
結局次世代言語の将来性を格付けしてもこの順位と同じような感じなんだろうか?
2021/05/06(木) 20:44:53.95ID:3RkG7Oy1
次世代のThe 4強って感じだな
2021/05/06(木) 20:45:30.10ID:3RkG7Oy1
順位は入れ替わるとしても4枠だとそれになるよねって感じ
2021/05/06(木) 22:41:04.82ID:pupGSg3O
俺的にはその中のKotlinだけは無いような気がする
2021/05/06(木) 22:54:04.28ID:pZ3qKppe
GoとTSはもはや現世代言語では
2021/05/06(木) 23:22:17.53ID:7m15cXg/
確かにGo,TS,Swiftあたりは現世代っぽい。Kotlin,Rustが次世代になるかどうかって感じかな。それ以外は今のところそんなに見込みはなさそうなイメージ。
2021/05/06(木) 23:37:16.07ID:pupGSg3O
Dartはたぶんワンチャンあるよ
2021/05/07(金) 00:00:45.03ID:7aFGtcIv
DartはFlutter以外使い道ないじゃん
2021/05/07(金) 01:09:50.19ID:hw+Y6lA+
Kotlinってなんかそんなに言語として斬新な要素あるの?
2021/05/07(金) 01:35:30.75ID:5At20QA4
>>816
Flutter以外だとAngularDartくらいかな
CLI/CUIアプリも書けるようになってサーバ側にもDart使ってねとアピールしてた覚えがあるけど、Goと競合するからヤル気は無いか
2021/05/07(金) 06:25:02.61ID:NSZr4Jfs
>>817
スポンサーみたいな企業がついてるんじゃないか
だからこそ中止した方がよさそうなものも中止できない
それはそれで斬新ではある
2021/05/07(金) 07:37:08.01ID:cRde4Qbm
Dartはシングルバイナリ作れるようになってCLIやサーバサイドでも少し面白くなってきた感じがあるな。
ただ、まだまだパフォーマンス面で煮詰まってないのか、少々不安がある。
とりあえずflutterのおかけで生き残るとは思うけど。

言語仕様としてはめっちゃいい言語になってきたと思うよ。
2021/05/07(金) 08:00:53.60ID:bbfty56w
flutterをkotlinで作れば良かったのにと何度思った事か
2021/05/07(金) 12:13:05.66ID:BGqObswG
関数型が来るよおじさんはどこ行ったの?
823デフォルトの名無しさん
垢版 |
2021/05/07(金) 12:30:03.85ID:pGxnrrWp
関数型おじさんはRustで俺ツエーしてるでしょ
トレイトとかhaskellの型クラスみたいなもんだし型システムで健全性チェックみたいのも良くある話だし
2021/05/07(金) 15:13:14.00ID:fhUdknzL
一昔前でいう関数型とかムーブコンストラクタとかみたいなのに相当する
最近熱い言語要素って何かありますか
2021/05/07(金) 15:18:50.47ID:dF0LJIle
そりゃあAlgebraicEffectsだろう
2021/05/07(金) 15:54:52.11ID:XbWp/RIC
>>817
goみたいな方向性でしょ。javaよりも少しシンタックスを楽にしようって感じで。
2021/05/07(金) 15:56:02.31ID:XbWp/RIC
rustは一人でテキトーにやる分にはいいけど、マンセーしてるバカと一緒には絶対やりたくないなと思う言語だわ。
2021/05/07(金) 16:41:28.94ID:/bDSijiL
>>826
最初はそうだったけど、他の言語をパクリ終わって以降は変な色気出しはじめて迷走してるよ
Scala化しつつある
2021/05/07(金) 17:12:25.81ID:cUNZpGqh
Kotlin/JSとかKotlin/Nativeとか期待してたのに残念
元々AltJSかつネイティブコードも吐けるDartの方が良さそう
2021/05/07(金) 18:50:25.85ID:Q+CdxRnT
Dart復権は集合的無意識レベルであるわ
2021/05/07(金) 19:57:54.03ID:4XrAAqdx
>>829
これ。Kotlinには結構幻滅した。
言語が自由すぎて俺用言語になりがちなのもつまらん。
俺もDart使ってる。
2021/05/07(金) 20:05:54.83ID:VYSfS6Cp
Kotlinは言語仕様がいろいろしょぼいよね
scalaのほうはまだ色々見所あるけど
(でもよーく見ていくとscalaもしょぼい)
833デフォルトの名無しさん
垢版 |
2021/05/08(土) 00:19:20.89ID:4nIz2VjA
気にすんな
834デフォルトの名無しさん
垢版 |
2021/05/08(土) 12:11:47.96ID:rOsHiSsL
Nimこそ至高
2021/05/08(土) 12:42:03.12ID:+hZHCXv2
JavaScriptをシェルスクリプトとして使う言語が登場しました
https://github.com/google/zx
836デフォルトの名無しさん
垢版 |
2021/05/08(土) 15:21:41.42ID:Jy6pPGdO
>>827
+1
2021/05/08(土) 21:52:45.82ID:3j1PPyAz
rustに親殺されたマンこんなところに居たのか
2021/05/08(土) 22:27:28.17ID:OofXJFgO
狂信者が今日もお参りに来とるな
839デフォルトの名無しさん
垢版 |
2021/05/08(土) 22:47:20.87ID:rOsHiSsL
Golangこそ日常
2021/05/08(土) 23:33:06.25ID:7jQvdrDZ
Haskell然りPureScript然りScala然り高階多相があるとついモナモナしてしまうからかめちゃめちゃ流行るって感じが無いように思ってしまう
前二者は純粋関数型ゆえ現状ほぼ必須なんだろうけど、副作用の切り分けとしてそこまで求められる事が多くないというか
2021/05/08(土) 23:56:49.07ID:NHJ/sacw
KotlinってJVMで動くJavaじゃない言語って以外なにかアドバンテージある?
842デフォルトの名無しさん
垢版 |
2021/05/09(日) 00:03:24.52ID:xjCmVSLJ
ある
843デフォルトの名無しさん
垢版 |
2021/05/09(日) 02:57:32.93ID:X/f4ub91
見上げて〜Golang〜♪
2021/05/09(日) 08:21:48.84ID:JOIqNJHx
>>840
高階多相がない場合は
モナドクラスの中で最も万能なインスタンスを一つだけ選ぶ事が当面の目的になる
流行る流行らないは取捨選択の手段であって目的ではない
2021/05/09(日) 08:54:38.49ID:Fe8ik3AV
VM言語は起動がやっぱり遅いからなぁ。
.NETもReadyToRunしても限界があるし。
とはいえスクリプト言語もやりたくはなく。
nodeがネイティブコンパイルなり、ReadyToRun的な事ができるようになってくれたら言うことがないんだが、
最近GoかDartばっかり書いてる。
2021/05/09(日) 09:02:23.88ID:LRzrm/HN
Dartは何がいいの?書いたことないからわからん
見た目からもエロスは感じんし
2021/05/09(日) 09:12:03.41ID:Fe8ik3AV
俺もflutterから入ったんだけど、なんせ無難。
基本的にシングルスレッドだけど、容易に他スレッドと連携できたり(ただGoほどコンテキストスイッチが軽くはない)
色んなAPIがasync awaitネイティブなので深く考える必要なく非同期で書ける。
その割にちゃんと型安全だし、VS CodeのExtensionもよくできてて書きやすいよ。
標準でコードに対して静的解析かけられるのもありがたい。
配布がAOTかけたネイティブバイナリにもなったし。
ライブラリも増えきたし、良い事多いかも。
2021/05/09(日) 09:34:29.08ID:8EA3HxZH
>>844
流行る流行らないが取捨選択の手段であって目的でないのは全くその通りなんだけど、そういう言語のユーザは人口の価値を過小評価し過ぎじゃない?と思う事があるよ
ここで言いたいのは、流行ってないって事はその機能の内いずれかがそれほど求められてないって結果じゃない?(そして今回の場合それは高階多相だし、モナド系列の抽象化やそれで提供される副作用や機能の分離じゃない?)という話

まぁその流れだとカリー化+部分適用とかも求められてない可能性があって辛みなんですが
849デフォルトの名無しさん
垢版 |
2021/05/09(日) 09:38:57.23ID:C27W5P5q
Rustは流行らない、なぜなら流行ってないからだ
2021/05/09(日) 10:32:20.15ID:LUIc58fP
シンタックスとかしょーもないことに力入れないで
ビルド速度とGC性能あげりゃいいってのがgoの結論だわな。
バカにしたがってくっだらない機能を入れる必要なんかないわ。
2021/05/09(日) 10:52:01.42ID:Tn6vGXh8
しくったら修正リリースすればいいっしょ?っていうスタイルの事業とリリースのコストが半端ない事業とを
ごっちゃにするから訳わかんねー結論になる

前者は馬鹿でも扱える軽量級言語、
後者は型パズルとかないとコンパイルもできない重量級言語が良い
2021/05/09(日) 12:54:17.04ID:LUIc58fP
後者の問題を言語だけで解決しようとしてんのがそもそも馬鹿だと思うが。
2021/05/09(日) 13:12:43.67ID:Fe8ik3AV
まあ、コンパイル時に解決ってのがあるだけでかなり違うのはわからんでもないけどな。
単体テストの嵐になったり、言語によっては結合試験したら発生する不具合なんてのもあるし。
それは単純なコンパイル言語ってだけでは駄目だけど。
constつけたら書き込まれる事は本当に無い、って前提があると助かる部分は多い。
2021/05/09(日) 13:34:55.78ID:LUIc58fP
その程度で解決できる問題なら「リリースのコストが半端ない事業」とは言えんけどね。
2021/05/09(日) 13:41:12.04ID:JOIqNJHx
ダウンロード販売の万能感に酔っていたらいつの間にか医療関係の物流が無能になっていた
2021/05/09(日) 14:19:39.02ID:Fe8ik3AV
>>854
それだけで完全解決するわけじゃないけど、足しにはなるよ。
コンパイラと静的解析変えるって話になった時も、コスト試算したけどなかなか変わったし、実際効いたけどね。
2021/05/10(月) 00:01:38.43ID:bQ6aRl4Q
>>850
でも結局ジェネリクスとか入れようとしてるやん
2021/05/10(月) 00:56:07.37ID:4UvCiOpM
>>857
かなり迷ってるやん。
それこそビルド速度犠牲にしてまで入れるか?コードジェネレイターで十分では?
メタプロバカが発生しないか?とかね
2021/05/10(月) 01:09:00.90ID:Cwaw8j9r
goに入れて欲しいと言われてる機能をみんないれたら
最初からgoじゃない言語勉強しとけとか
goのメリットと言われているものが死ぬと思う
2021/05/11(火) 20:09:45.37ID:K6LBSNwN
goは劣化java
20年遅れとる
2021/05/11(火) 21:04:36.32ID:LX9CAeOI
Goより20年も進んでるなら
次世代通り越して次々世代だな

ジジイだけに
2021/05/12(水) 00:45:58.33ID:P6rsPjzH
>>860
機能を詰め込めばいいと思ってるバカ。
2021/05/13(木) 01:14:29.82ID:m1/RA0jt
でも最近go聞かなくなった気がする
取り入れるところはみんな取り入れたからかもしれないけど
2021/05/13(木) 10:54:49.47ID:ENK4De8l
黙々と使われてる言語は話題にはならんよ。
865デフォルトの名無しさん
垢版 |
2021/05/13(木) 15:00:45.66ID:gQUYeg5t
仕事に使ってる人は忙しい
2021/05/14(金) 14:37:46.88ID:bUgsHmSs
GitHub における大規模なモノリポのパフォーマンスの向上
https://github.blog/jp/2021-03-19-improving-large-monorepo-performance-on-github/

> GitHub の有名な Ruby モノリスを解体し、GitHub のすべてのユーザーのためにリポジトリのパフォーマンスを向上させる新しいマイクロサービスを Go で作成しています。
2021/05/14(金) 22:52:04.67ID:LgJgjq7h
パフォーマンスのネックruby
868デフォルトの名無しさん
垢版 |
2021/05/26(水) 22:03:29.71ID:5a/xy4zx
マイクロソフトら、CO2削減に寄与するコーディングを目指す業界団体を設立
2021/05/26(水) 22:24:07.47ID:e3pSy2go
二酸化炭素を全てダイヤやカーボンファイバーにすればいいよ
2021/05/26(水) 22:51:53.02ID:XGTO2klA
時価総額は、Github が8千億円

今世紀最大の起業家、Vagrant/Terraform の作者・Ruby/Go の神・
Mitchell Hashimoto のHashiCorp が5千億円

時価総額が数千億円になったら、RubyからGo, Elixir へ変えればよい

Shopify は15兆円、民泊のAirbnb は、大手ホテル3社の合計以上の10兆円。
このクラスでも、Rails

食べチョクみたいな女性1人の起業では、Rails, Heroku, React, Bootstrap で十分。
時価総額が千億円を超えるまでは、Rails で良い
871870
垢版 |
2021/05/26(水) 22:56:29.42ID:XGTO2klA
Ruby on Rails で、若い女性1人で起業した、食べチョクでも、
売上50億円だから、時価総額50億円は行く

近いうちに上場するだろうし
2021/05/30(日) 23:18:30.05ID:cqsSdT6O
久々にFlutter触るからDartのセミコロン問題どうなってるか調べたらまだ議論しててワロタ
https://github.com/dart-lang/language/issues/69
2021/06/01(火) 00:32:03.52ID:1E74UMSa
Flutterはしんでいいな
874デフォルトの名無しさん
垢版 |
2021/06/07(月) 08:42:28.96ID:2Nyn0TLd
>>868
ネタじゃないのかよw
2021/06/08(火) 15:14:19.36ID:bmgoTOXu
>>831
> 言語が自由すぎて俺用言語になりがち
どういうこと?Kotlinにそんな機能あったっけ?
2021/06/08(火) 16:36:51.33ID:4egCPfD4
>>875
中置記法
2021/06/09(水) 12:47:10.31ID:+SCbmrn1
中置もいいけど 引数のtuple定数化強要とドット記法で丸括弧減らすとかさ
コードゴルフにゃ向かないけど読み解きにくい妙な圧縮記述を減らすのには効果あるんじゃね?
2021/06/09(水) 14:20:57.68ID:cEr6XlmY
Kotlin は何かとわざわざヒネった発想を無理強いしてくるのが気にいらない
min で 2 つの値の小さい方をとろうとしてるコードにいちいち coerceAtMost (値を制限する)関数つかえ
とサジェストしてくるが、たしかに値を制限するのも理屈は同じではあるが
わしはここでは2つ値がでてきてその小さいほうをとろうとしてるロジックを強調したいのに
値を制限するでは意味がボヤけるんだよっヽ(`Д´)ノ
2021/06/09(水) 14:23:04.09ID:cEr6XlmY
ちなみにツッコみとしては「なるほど coerceAt を無理強いされるのが気にいらない、とこういうことか」
みたいなレスを期待
2021/06/09(水) 14:33:59.27ID:paDfdrYm
>>878
coerceAtMost(n)と書かれるとn以下なら何でもいいように見えちゃって曖昧に感じるね
普通にAPIの設計やネーミングのセンスに問題があると思う
2021/06/09(水) 15:08:53.26ID:Q6onajD4
それは無視してminつかえばいいんじゃ
2021/06/09(水) 15:40:50.01ID:J3IrN4Ey
minOf(a, b)じゃなくて?
2021/06/17(木) 10:36:08.05ID:vWOkjG7a
Kotlin って派手な機能はないけど、実用的な機能が色々あって結構好きだわ
特にクラスのコンストラクター引数をそのままフィールドで受け取れるのとかすげえ便利
null 安全性も Swift みたいに if let ... とかでチェックさせられるんじゃなくて単なる比較で書けるからわかりやすいし
2021/06/17(木) 15:46:16.23ID:5eqF/fO2
発想に慣れるまでがちょっと時間がかかるが
発想に慣れるとやたらと短かくソースを書けるようになる
そこがちょっと快感
それがKotlin
2021/06/17(木) 16:38:25.67ID:V3sPVRmg
まだJavaの延長(というかカジュアル版)の感覚でしか書けないなぁ
2021/06/17(木) 16:52:48.02ID:AdmHW43m
JVMから脱却するしかない
2021/06/18(金) 15:29:47.42ID:Sm09xvIL
結構JVM依存でkotlinネイティブは最適化でどうにもならなそうなぐらいパフォーマンス厳しいってのが暗黙の了解なような
2021/06/19(土) 01:25:26.86ID:dKc8wEhO
ずっとGo信者だったけど、最近Rustはまりつつあって凄い言語だなって思ってる。
889デフォルトの名無しさん
垢版 |
2021/06/19(土) 01:53:56.18ID:5nSU/2XC
crystal触ってるけどrubyっぽさが凄いね。nimがpythonっぽい何かなのに比べて、crystalは better rubyだわ
2021/06/19(土) 11:22:01.73ID:aheD0w3E
方向性違うけどpost PythonはnimかJuliaか
891デフォルトの名無しさん
垢版 |
2021/06/19(土) 13:22:42.63ID:ni2CtFQM
nimプロダクトで使ってるところ見た事ないけど、なんちゃって運用ツールとかにしか使えない感じなの?
2021/06/19(土) 13:34:40.76ID:tEb9xsfu
python選ぶやつはnim選ばない
python選ばないやつはnim選ばない
ということだ
893デフォルトの名無しさん
垢版 |
2021/06/19(土) 15:34:32.94ID:zDrgWeBe
C/C++ 使えてるし困ってない
2021/06/19(土) 18:20:46.92ID:xzdBUefb
>>892
nim 結構いいのに Python 臭いとこがやだよね。
2021/06/21(月) 18:23:45.07ID:tL3UJCwM
Swiftも!あんじゃん
2021/06/22(火) 01:19:34.45ID:kGm2q7jg
そりゃビックリ!
2021/06/22(火) 07:17:18.33ID:ikhS5rXH
swiftのResultBuildersってなんか面白そうだな
2021/06/22(火) 09:26:37.53ID:2l2patZE
>>893
いつも思うんだが、こういう奴ってなんでこういうスレに来るの?
うざいんだが
2021/06/22(火) 20:38:29.50ID:zXyDoEK6
その言葉、そっくりそのままお返しします。
900デフォルトの名無しさん
垢版 |
2021/06/23(水) 02:30:54.55ID:LAPrnsaY
>>899
いやスレの趣旨に合わないやつが居座ってんのどっちだって話
2021/06/23(水) 13:28:38.76ID:6jEPjWCz
居座ってるってどうやって確かめたんだ?
たまたまスレが目に入っただけかも知れんだろ
902デフォルトの名無しさん
垢版 |
2021/06/27(日) 01:52:23.46ID:VONK1hXC
>>893
Rustをオススメします
903デフォルトの名無しさん
垢版 |
2021/06/27(日) 04:28:46.15ID:XpI5XMzQ
Kotlin もよろしく
2021/06/27(日) 05:55:26.60ID:9J08sCxI
C/C++のかわりにおすすめするってことはKotlinってJVMへの依存切ってシングルバイナリで動くの?
できたとしてもランタイム重そう
2021/06/27(日) 12:57:27.73ID:U1pSP8r9
なんで D は無かったことにされてるのですか?
2021/06/27(日) 23:00:58.14ID:GIc1PMDr
>>905
度々自らの過去を無かったことにしたことでプログラマに愛想を尽かされて無かったことにされた
2021/06/27(日) 23:40:14.19ID:W99JxdHL
もうlazy くらいしか特徴が無いデカいし将来性の無い環境だからねー
デカいスタティクライブラリとコンパイラメッセージは仕方ないとしても
ビルド環境はメジャーなんに幅広く寄生すればいいのに
908デフォルトの名無しさん
垢版 |
2021/06/29(火) 00:20:13.47ID:jRoYjmsV
>>904
一応 Kotlin native は既にある。でもまだ作ってる最中って感じかな? 遅いらしい。
909デフォルトの名無しさん
垢版 |
2021/06/29(火) 00:24:49.55ID:jRoYjmsV
まあしかし C はまだいいけど C++ は複雑で分かりにくいように思う。
学習に時間が掛からないか?

そしてよく使われていたであろう Windows ネイティブのプログラムはじわじわと廃れていく。
2021/07/01(木) 07:59:54.15ID:5Rb+kFfY
デジタルなんだからじわじわ劣化しないよ
っていう単純化された理論が崩壊したのは事実だが

実装レベルのC++は複雑だが破綻はしてない
911デフォルトの名無しさん
垢版 |
2021/07/01(木) 19:20:24.95ID:aN48/DYF
bool
polymorphism
match
と来て次の層はどんなんになるんかな
2021/07/01(木) 20:52:42.10ID:q9oggpN7
WebAssemblyアプリ開発で最も使われている言語はRust、注目の機能はスレッドなど。The State of WebAssembly 2021
https://www.publickey1.jp/blog/21/webassemblyrustthe_state_of_webassembly_2021.html
2021/07/04(日) 10:42:07.67ID:ZgbMq1d2
注目の機能スレッドってなんかそういう独自の機能があるのかと思ったわ
2021/07/10(土) 18:17:31.11ID:d/15nqXv
L言語とな?
https://github.com/microsoft/L
2021/07/10(土) 21:06:58.55ID:yQTcABkI
注目の機能は、と問うスレッドが5chでも建ったんじゃないの
2021/07/11(日) 15:36:58.13ID:lbKLD5N+
>>910
「,」、「&&」、「||」周りのオーバーロードとか完全に破綻しとるわ。
2021/07/11(日) 17:17:40.29ID:PakhW6ue
llangってぱっと見なんだかわからんな
またネーミング失敗じゃない?
2021/07/14(水) 00:32:39.09ID:qLlB7Ntl
そういえばZenってお前ら的にどうなの
https://www.zen-lang.org/ja-JP/
2021/07/14(水) 00:42:40.34ID:Kt6ogli4
>>918
つまらん言語だな
GCのないGo処理系を作れば済む話だったのではないか
2021/07/14(水) 08:15:42.46ID:KifrgVDH
>>918
ゴミ言語という印象しかない https://ziglang.org/news/statement-regarding-zen-programming-language/
2021/07/14(水) 10:52:37.13ID:nkmGSgfF
Zigのパクりでしょ
2021/07/14(水) 13:41:04.37ID:BkkfMVAi
zigってnimとかvlangとかに比べてどこらへんがいいん?
2021/07/14(水) 14:03:16.32ID:gix7WKJq
>>922
やりたいことはわかるが、わざわざ言語を作るほどのことではない
スルーしてよし
2021/07/14(水) 15:48:49.76ID:ohEAXE/x
このスレなんのスレだっけ?
2021/07/14(水) 16:02:12.04ID:E8SaDlG+
自分の気にいらない言語を貶めるスレ
2021/07/15(木) 03:40:50.12ID:P3PEaMds
ここまできてはじめて
スレ住人全員が同意する意見が書きこまれた >>925
2021/07/15(木) 06:11:01.98ID:rQf3BUPj
勝手に同意した事にするなよ…
主語がでかすぎる
2021/07/18(日) 12:01:23.40ID:WbmfjGIN
プログラミング言語とか、勘違いしやすく物忘れも激しいという
人間の非理想的な特性に対する対策なのだからそれ自体が宇宙の真理レヴェルの美しさを備えることは難しい
C++はその対人間の対策にすら失敗している気配がするが、
プログラミング言語の理想を言い出したらキリがないことも上のことから明らかなので、
必要な仕事をやれるのだからC++でも及第点とも言える
2021/07/18(日) 12:04:40.99ID:WbmfjGIN
「より良いソリューションに対する最も危険な敵というのは、十分に良い既存のコードベースなのだ
(the most dangerous enemy of a better solution is an existing codebase that is just good enough.)」
とゆー格言はプログラミング言語にも当てはまる
2021/07/18(日) 16:07:40.62ID:EvgeERSZ
なんかキモいね
2021/07/18(日) 18:39:25.82ID:WbmfjGIN
褒められたと思っておこう(キリ
2021/07/19(月) 01:55:47.55ID:F++Kpdh1
ていうか最も危険な敵っていってるけど
そんだけ十分によいソリューションになってるってことじゃねーか
「より良い」ってのがただの思いこみってのが真相だろう
手前ミソを売りこむのに邪魔、っていうのをいいかえただけだな
2021/07/19(月) 08:27:19.09ID:3wZSUZuJ
「betterの敵はenough」で十分なのに、既存の格言はやけに長いな
2021/07/22(木) 17:21:37.86ID:LuJDKG0M
Sather
935デフォルトの名無しさん
垢版 |
2021/08/09(月) 14:42:17.17ID:pHK69Jy/
Pythonより30%高速目指す「Pyston」--開発者が語る次の目標
2021/08/09(月) 18:34:55.62ID:wz2uTHTS
のちのピストン運動である。
937デフォルトの名無しさん
垢版 |
2021/08/20(金) 21:52:24.83ID:z5BeR7Lv
Rustのボローチェッカーとは動作が異なるようなのですが、
Nimにはすでに「借用チェッカー」に似たものがあるそうです
https://forum.nim-lang.org/t/5459

Nimでもボローチェッカーで参照の有効性を検証することによって
メモリ安全性を保証できるのでしょうか?
何方か詳しい方がいましたらご教示お願い致します
2021/08/21(土) 03:28:29.09ID:UJDYcxYL
>>937
まだ実装されてないけど、ボローチェッカーに似たようなものを作る予定はあるようだよ。
http://nim-lang.github.io/Nim/manual_experimental.html#view-types
939デフォルトの名無しさん
垢版 |
2021/08/21(土) 06:03:46.59ID:8cTmIcpJ
>>937
Nimはガベージコレクション(GC)のある言語
だからGCのないC/C++/Rustとは別分野なのでそれらの代替にはならない
940デフォルトの名無しさん
垢版 |
2021/08/21(土) 06:50:02.55ID:7GAoG1Iq
>>938
ご教示ありがとうございます。
さっそくリンク先をgoogle翻訳してみたのですが、
Nimバージョン:1.5.1でRustのボローチェッカー
に似た「View types」が実装されるんですね

Nim Version 1.0.0 正式リリースされてから
1年も経過しないうちにARCとORCが実装されたよう
なので、一年後(現在Version 1.4.8)には
「ボローチェッカー(View types)」も実装されそうですね
2021/08/21(土) 07:04:18.79ID:YwSANob8
GCが無い事実は保証できる
速度のベンチマークが嘘じゃないことは保証できない

だから自称超高速GCがもしあっても普及しない
GC無しで高速化した方が確実
942デフォルトの名無しさん
垢版 |
2021/08/21(土) 07:09:56.98ID:7GAoG1Iq
>>939
>Nimはガベージコレクション(GC)のある言語

Nimはガベージコレクション(GC)を任意で外せるから、
ガベージコレクション(GC)を外して「ボローチェッカー(View types)」
で参照の有効性を検証することによってメモリ安全性を保証できないのでしょうか?
943デフォルトの名無しさん
垢版 |
2021/08/21(土) 07:27:43.27ID:7GAoG1Iq
>>941
>GC無しで高速化した方が確実

NimはオプションでGC無しにできるので、
Nimバージョン:1.5.1でRustのボローチェッカー
に似た「View types」が実装されればGC無しで
高速化出来ますか?
944デフォルトの名無しさん
垢版 |
2021/08/21(土) 07:45:38.03ID:7GAoG1Iq
>>939
>だからGCのないC/C++/Rustとは別分野なのでそれらの代替にはならない

NimにGC有りは事実なのですが、
NimはオプションでGC無しにできるので、
Nimバージョン:1.5.1でRustのボローチェッカー
に似た「View types」が実装されれば
GC無しで、View types参照の有効性を検証する
ことによってメモリ安全性を保証しつつ高速化して
C/C++/Rusの代替にt出来ますか?
2021/08/21(土) 09:50:30.70ID:OLYxOVV4
Rust難しくて諦めたのかな?デフォルト実装されてなきゃランタイムやライブラリが纏まらなくて代替にはならんよ。
Rustに慣れる方が現実的だな
2021/08/21(土) 10:59:32.65ID:YwSANob8
Javaですら難しい所はあるんだよ
そこを任意で外してstatic変数ばかり使うと結構酷い目にあう
任意で外せると言われても現実的に外せないことがよくある
947デフォルトの名無しさん
垢版 |
2021/08/21(土) 13:21:41.07ID:7GAoG1Iq
>>945
>デフォルト実装されてなきゃランタイムやライブラリが纏まらなくて代替にはならんよ

NimはNimソースコード をトランスコンパイルして、一度 Cのソースコードを吐き出します
このトランスコンパイルする時にオプションでGC無しを選択して一つ一つ手動でメモリ管理
していくことになる
吐き出されたCソースコードをCコンパイラでバイナリへ変換するのでランタイムやライブラリが
纏まらなくなったり、Javaコンパイラみたいに外せないと言う問題も発生しないと思うのですが
間違っていますか?
Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ
2021/08/21(土) 13:46:01.75ID:/fFTWNOm
なんでプログラミング言語って十徳ナイフに向かいがちなんだろうな
949デフォルトの名無しさん
垢版 |
2021/08/21(土) 14:06:29.07ID:7dVECLmp
Cでいいやん
2021/08/21(土) 14:30:12.98ID:O7+p4qIy
>>948
それはあなたが考える十徳ナイフがプログラミング言語に似ているからです。
2021/08/21(土) 14:33:03.76ID:YwSANob8
0を1にする脳より、1を10にする脳になりがちな理由?
前者は破壊的で後者は建設的に見えるからかな
952デフォルトの名無しさん
垢版 |
2021/08/21(土) 15:24:53.18ID:KwPigd31
>>949
CやC++で書くとメモリ安全性が必ずしも保証出来ないために様々なセキュリティの穴を含むバグを生じさせてきた
そのためメモリ安全性を保証しつつC/C++の代替となる言語としてRustが誕生した
C/C++/RustはGC(ガベージコレクション)がないためOSや基本ライブラリに組み込み等の分野に至るまで幅広くカバーすることができるプログラミング言語
その中でもメモリ安全性を保証できるRustへと少しずつ移動が始まりつつあるのが現在の流れ
2021/08/21(土) 15:27:45.68ID:OLYxOVV4
>>947
ランタイムやライブラリを貴方が一つ一つ手動でメモリi管理するなら問題ないね
954デフォルトの名無しさん
垢版 |
2021/08/21(土) 17:30:00.12ID:7GAoG1Iq
>>949
>Cでいいやん

Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、Cのソースコードを吐き出せるので割り振られた仕事が早く終わっ
ても終わってないふりをして怠けることができる

「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
2021/08/21(土) 17:33:35.36ID:7MfDEBrd
>>954
コンパイルが通った時点でメモリ安全性が担保されるRustの方が良いですよ
956デフォルトの名無しさん
垢版 |
2021/08/21(土) 17:54:49.49ID:7GAoG1Iq
>>955
Rustのメモリ安全性はボローチェッカー担保されている

Nimバージョン:1.5.1でRustのボローチェッカーに似た
「View types」が実装されれば、GC無しでView types
参照の有効性を検証することによってメモリ安全性を保証
しつつ限りなく抑え込まれたタイプ量で高速化した
Cのソースコードを吐き出せます

なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?

Nimの実験的特徴
著者: アンドレアス・ルンプ
バージョン: 1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html
2021/08/21(土) 18:53:58.07ID:B8EsxF5E
だったらnimでいいじゃん
2021/08/21(土) 18:55:52.39ID:13NtIrKF
怠け者のくだりが意味わからん
959デフォルトの名無しさん
垢版 |
2021/08/21(土) 19:25:31.33ID:7GAoG1Iq
>>958
>怠け者のくだりが意味わからん

ご指摘ありがとうございます。
「C言語でリモートワークでされている方は」が抜けていましたので以下訂正いたします

Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、Cのソースコードを吐き出せるのでC言語でリモートワークでされ
ている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる
2021/08/21(土) 19:51:42.21ID:6DBrqemS
>>959
Pythonが高い可読性??
信者くらいしかそんなこと言わないぞ
他の言語と可読性は同じだろ
2021/08/21(土) 21:04:52.10ID:YwSANob8
Pythonのライブラリを再発明するかーとはならんだろ
Pythonの可読性を再発明するふりをすれば怠けることができる
962デフォルトの名無しさん
垢版 |
2021/08/21(土) 21:53:00.41ID:7GAoG1Iq
>>960
Pythonは構文にインデントを組み込むことによってざっと眺めた時に人間が読みやすい
一般的には上記の事をPythonは高い可読性があると表現されています
この事は「Pythonは可読性の高い言語」ググれば約 265,000 件出てきます

他の言語と可読性は同じだろって意見の人は少数派です
2021/08/21(土) 22:00:44.34ID:O7+p4qIy
「javascriptは可読性の高い言語」で検索すると約 334,000 件
2021/08/21(土) 22:03:03.92ID:13NtIrKF
関係無いスレに出張ってんじゃねーよNimキチガイ
965デフォルトの名無しさん
垢版 |
2021/08/21(土) 22:43:10.06ID:7GAoG1Iq
>>963
>「javascriptは可読性の高い言語」で検索すると約 334,000 件

単に検索件数が多いだけで、上位10件の表示内容を読んでも
「javascriptは可読性の高い言語」と言う内容のページは1つも見つかりません

対して「Pythonは可読性の高い言語」は上位10件の内5件見つかりました
966デフォルトの名無しさん
垢版 |
2021/08/21(土) 22:47:49.77ID:7GAoG1Iq
>>964
>Nimキチガイ

いつもみんなによく言われます
照れますね〜v(=^0^=)v
2021/08/21(土) 22:48:20.53ID:g5NUsF7b
>>962
インデントで可読性が高い??
じゃあほとんどのプログラミング言語はインデント出来ますから可読性が高いことになりますねw
Pythonが他の言語より可読性が高いなんて一切ありません
そもそもPythonはプログラミング言語としてあまりよくないので積極的に使いたい人はあまりいないでしょう
分野によってはライブラリの充実状況で仕方なく使う程度の言語です
Pythonで開発なんて絶対にしたくないと思う人が多数派でしょう
968デフォルトの名無しさん
垢版 |
2021/08/21(土) 23:03:01.15ID:7GAoG1Iq
>>967
元の文脈的に
Nimも構文にインデントを組み込んでるからpythonが出てきただけでそういう議論がしたいんじゃない
2021/08/21(土) 23:24:43.32ID:YwSANob8
他のコンパイラが自分自身をconfigureとかmakeしている間に
Pythonはライブラリを充実させる仕事が早く終わって怠けることができる
2021/08/21(土) 23:58:42.50ID:n4sq4kDw
>>969
つまりNimはダメってこと?
971デフォルトの名無しさん
垢版 |
2021/08/22(日) 02:31:01.76ID:0Cz6ueFz
>>970
>NつまりNimはダメってこと?

そんな寂しい事言わないでかまってよ〜(´;︵;`)

Nimは行末のセミコロンが必要ない
タイプ数がもりもり減ります。

Rust にはもちろん必要です。

Nimはmain が要らない
スクリプト言語感覚でいきなりコードを書けます。

Rust は main が必要です。
972デフォルトの名無しさん
垢版 |
2021/08/22(日) 02:40:35.23ID:0Cz6ueFz
>>970
そんな寂しい事言わないでかまってよ〜(´;︵;`)

Nim は標準出力への文字列出力が楽
Nim では echo で改行付きの出力ができます。shell と同じですね。通常は改行付きで出力することの方が多いでしょ。
Nim はしょっちゅうやることは簡単にできるようになっています。
そんな Nim の echo は可変引数で値を受け取り型が何なんだろうとお構いなしに出力できます。

let n = 10
let str = "HOGE"
echo "Number: ", n, " String: ", str
一方 Rust は

let n = 10;
let str = "HOGE";
println!("Number: {} String: {}", n, str);
なんかよく判らんマクロでいちいちびっくりさせなきゃいけないです。よく使うものが冗長だとゲンナリします。
変数を直接ぶち込むことも出来ませんしね。

let n = 10
echo n
普通出来るでしょこんなもん・・・。ところが Rust は出来ない。

let n = 10;
println!(n); <- エラー
println!("{}", n); <- 毎度これを書かされる
うざいっす。
973デフォルトの名無しさん
垢版 |
2021/08/22(日) 02:42:07.61ID:0Cz6ueFz
>>970
NimはC の関数を気軽に持ってくる
たった一行足すだけで C の関数を使うことが出来るようになります。

proc printf*(format: cstring) {.header: "<stdio.h>", importc: "printf", varargs.}
let n = 10
let str = "HOGE"
printf "Number: %d String: %s\n", n, str
どうですこれ?C の資産を気軽に使うことができるんです。SWIG 等の鬱陶しいラッパーを使うこと無くです。
Rust の場合はご多分にもれずラッパー行きで超絶面倒くさいです。比較用に書きたいんですが結構な文章量になるのでやめます。
974デフォルトの名無しさん
垢版 |
2021/08/22(日) 02:45:56.41ID:0Cz6ueFz
>>970
そんな寂しい事言わないでかまってよ〜(´;︵;`)

Nimはmut mut しなくて良い
Rust はまともな変数を使おうとすると mut mut しないといけません。デフォルトだと再代入できませんから。
普通再代入しまくりますよね?定数ライクに使いたい機会なんて殆どないですよね?なのに mut を毎度書かされます。

let n:int = 10
let mut m: int = 10
Nim ならこうですよ。

let n = 10 # immutable
var m = 10 # mutable
素敵。
975デフォルトの名無しさん
垢版 |
2021/08/22(日) 02:56:18.88ID:0Cz6ueFz
>>970

Nimは所有者・借用なんてもんでイライラしない
 Rust には C のポインタが可愛く見えるレベルで高くそびえ立つ鉄壁の初心者ガード、悪夢の"所有者・借用"の概念が存在します。
プログラムに慣れた人間ですら混乱に陥れ、書いている最中に精神力と人生の貴重な時間をガンガン削ってくれる究極の嫌がらせです。

Rust は変数のコピーしちゃうと元のやつが使えなくなるクソ仕様なのです。書き手にメリットなんて一切無い。C++の悪しきメモリ管理の呪いを持ち込んで来てその中でもさらに悪い部分をデフォルトにした感じです。

struct Point {
x: i32,
y: i32,
}

fn Print(p: Point) {
println!("x = {}, y = {}", p.x, p.y);
}

fn main() {
let mut a: Point = Point{ x: 10, y: 15 };
Print(a);
// エラー!
println!("x = {}, y = {}", a.x, a.y);
}
Print(a) で1回コピーされているのでその後使うと死にます。ウソでしょ?と思うでしょ?ホントです。
そしてプリミティブ型ならOKと言う Java に似たダブスタの呪いもオマケで付いてます。

おかげさまで関数はほぼ全て明示的に参照渡しをするハメになります。
「だったらデフォルトそうしとけよ! & をイチイチ書かせんなやワレ!」と思わないのってある種の才能だと思います
976デフォルトの名無しさん
垢版 |
2021/08/22(日) 02:59:43.53ID:0Cz6ueFz
>>970

struct Point {
x: i32,
y: i32,
}

fn Print(p: &Point) {
println!("x = {}, y = {}", p.x, p.y);
}

fn main() {
let mut a: Point = Point{ x: 10, y: 15 };
Print(&a);
println!("x = {}, y = {}", a.x, a.y);
}
これだとまぁエラーにはなりません。が、参照だからといってこんなことやったら死にます。

fn Print(p: &Point) {
println!("x = {}, y = {}", p.x, p.y);
p.x = 10; <- die
}
イミュータブルだからですって。はぁ・・・。
977デフォルトの名無しさん
垢版 |
2021/08/22(日) 03:03:28.37ID:0Cz6ueFz
>>970

だからこう書けですって。

fn Print(p: &mut Point) {
println!("x = {}, y = {}", p.x, p.y);
p.x = 100;
}

fn main() {
let mut a: Point = Point{ x: 10, y: 15 };
Print(&mut a);
println!("x = {}, y = {}", a.x, a.y);
}
はい来た。mut mut mut mut mut mut mut mut mut ああぁぁああぁ〜〜〜!!!

なんでよく使う方を面倒臭くしたがるんですか、この言語を作っている方々は。

その他又貸しの呪いやらなにやら超盛り沢山ですし。もうね私とはセンスが全く合わないです。

ぬぅぅうぅうぉぉおぉおぁぁあぁあああ!!!!!Rustよ!もうお前には頼まん!malloc と free を俺によこせうぉるぅぁあ!!こんな訳のわからんものに付き合わされるんだったら自分でメモリ管理した方がマシだわ!!!

とよくみんな発狂しませんよね。我慢強いですね。馬鹿じゃないの。

とっても良い子である Nim にはこんな呪いある"ワケ"がないです。
978デフォルトの名無しさん
垢版 |
2021/08/22(日) 03:07:42.15ID:0Cz6ueFz
>>970

type Point = object
x: int
y: int

proc print(this: Point) =
echo "x = ", this.x, ", y = ", this.y

var p = Point(x: 10, y: 15)
p.print()
echo "x = ", p.x, ", y = ", p.y
まぁ普通はこうですよね・・・。Rust がぶっ飛んで異常なだけです。ありえないです。

ちなみに Nim の場合 print(p) と p.print() は書き方が違うだけで意味は同じです。
979デフォルトの名無しさん
垢版 |
2021/08/22(日) 03:10:25.68ID:0Cz6ueFz
>>862

参照で渡す場合はこうなります。

type Point = object
x: int
y: int

proc print(this: ref Point) =
echo "x = ", this.x, ", y = ", this.y
this.x = 100

var p = Point.new
p.x = 10
p.y = 15
p.print()
echo "x = ", p.x, ", y = ", p.y
new で Point object を作成すると参照のオブジェクトが出来ます。これを渡すために print 側の引数には ref をつけてあげます。new 関数でメンバに値を割り当てることは出来ないので後から渡してやります。

つっても上のやつはあくまで Rust と似せて書いたらこうなるよって話でこんな書き方しません。
980デフォルトの名無しさん
垢版 |
2021/08/22(日) 03:12:56.27ID:0Cz6ueFz
>>970

普通オブジェクトなんて参照だろ、って事で Nim では以下のように書くのが慣例化しています。

type
Point = ref PointObj
PointObj = object
x: int
y: int

proc print(this: Point) =
echo "x = ", this.x, ", y = ", this.y
this.x = 100

var p = Point(x: 10, y: 15)
p.print()
echo "x = ", p.x, ", y = ", p.y
オブジェクトとそのリファレンスを同時に定義して、通常使わない方のオブジェクト側にサフィックスをつけておくと、まぁ素のオブジェクトも作りたきゃ作れるし、って話です。

自分は正直リファレンスだけで良いので更に手を抜いてこう書きますけどね。

type
Point = ref object
x: int
y: int
981デフォルトの名無しさん
垢版 |
2021/08/22(日) 03:18:37.68ID:0Cz6ueFz
>>970

パターンマッチ?case でしょ?
Nim も case でそれっぽく書けます。

複式パターン
fn main() {
let x = 1;
match x {
1 | 2 => println!("1 | 2"),
3 => println!("3"),
_ => println!("other"),
}
}


let x = 1
case x
of 1, 2: echo "1 | 2"
of 3: echo "3"
else: echo "other"
982デフォルトの名無しさん
垢版 |
2021/08/22(日) 03:20:54.62ID:0Cz6ueFz
>>970

範囲
fn main() {
let x = 1;
match x {
1...5 => println!("1...5"),
_ => println!("other"),
};
}


let x = 1
case x
of 1..5: echo "1..5"
else: echo "other"
983デフォルトの名無しさん
垢版 |
2021/08/22(日) 03:23:47.86ID:0Cz6ueFz
>>970

case の返りを受け取る
fn main() {
let x = 1;
let s = match x {
1 => "one",
2 => "two",
_ => "other",
};
println!("{}", s)
}


let x = 1
let s = case x
of 1: "one"
of 2: "two"
else: "other"
echo s
984デフォルトの名無しさん
垢版 |
2021/08/22(日) 03:25:32.61ID:0Cz6ueFz
>>970

分配束縛
Nim は標準ではできませんが

https://github.com/andreaferretti/patty

を突っ込むことで可能です。
985デフォルトの名無しさん
垢版 |
2021/08/22(日) 03:27:54.79ID:0Cz6ueFz
>>970

仕様バグがない
Rust の以下の挙動は全く理解ができません。

fn main() {
let x = 'x';
let c = 'c';
match c {
// x: c c: c
x => println!("x: {} c: {}", x, c),
}
// x: x
println!("x: {}", x)
}
普通 x にマッチすると思わないでしょこれ。
さらにその直後 x が 'c' に変わってるとか予想だにしませんよ。
まぁ普通はこんな書き方しないと思いますがこんな調子ではどこでどうハマるか予測不可能です恐ろしすぎます。

Nim はこんな書き方そもそも出来ません。
2021/08/22(日) 03:29:07.58ID:Tp7nysKx
必死にならないといけないほどゴミってことだろう
987デフォルトの名無しさん
垢版 |
2021/08/22(日) 03:31:48.58ID:0Cz6ueFz
>>970

コンパイラがケチくさくない
nim c -r hoge
これで hoge.nim をコンパイルします。
拡張子なんて指定する必要ありません。
-r で実行もします。

Rust の場合

rustc hoge <- ダメ
コンパイルと同時に実行しようと思ったら

rustc hoge.rs && ./hoge
うーん・・・
2021/08/22(日) 03:35:33.10ID:XDtR+zkG
>>985
君はブロックスコープも理解できないアホなのかww
つまりNimにはスコープがないのかね
2021/08/22(日) 03:35:43.46ID:JES5Vdct
某ブログのコピペじゃん
あのブログ主に恨みでもあるの?
990デフォルトの名無しさん
垢版 |
2021/08/22(日) 03:39:33.33ID:0Cz6ueFz
>>970

実行速度・メモリ使用量・ファイルサイズが小さい
Rust と比べて Nim の実効速度はどっこいかむしろ速いです。
Rust はこんだけイライラする書き方を強制されるにも関わらずたいして速くないとかもう哀れすぎます。

コンパイル後のファイルサイズは話にならないレベルで比べ物になりません。

fizzbuzz の例(FizzBuzz を無駄にベンチマークしてみた By Nim、golang、Rust、Crystal、その他 - 強まっていこう)で言うと

項目         Nim     Rust
実行速度      0.37s     0.44s
ファイルサイズ   82K     3.4M
メモリ      356K     900K
こんな感じです。
2021/08/22(日) 03:47:12.59ID:hHgYpZEm
>>990
バカ丸出し
Rustはバイナリサイズも小さく出来ます
だから組み込み分野でもRustが強いわけです
2021/08/22(日) 05:36:27.85ID:oQP1YKwm
Nimいいじゃん
2021/08/22(日) 06:37:58.59ID:4TxjgFbr
さすがに騙される人はいないでしょう
ここまで荒らしがひどいなら次スレはNimを外した方がいいかもね
2021/08/22(日) 06:41:37.05ID:JES5Vdct
第二プログラミング言語として Rust はオススメしません Nim をやるのです
っていう2017年のクソブログ記事のコピペ
2021/08/22(日) 07:47:29.46ID:U2zX42Ts
流れぶった切って悪いけど
TypeScriptとかいうクソ言語みんなよく使えるねあんなに気持ち悪い型付けなのに
こんなクソ言語使うならvanillaのが遥かにマシだからPureScript行った
2021/08/22(日) 07:52:45.12ID:U2zX42Ts
Reason or RescriptがOCaml構文まんまで使えたら使ってたのにRescriptの開発者本当ろくな事しない
これからWebViewアプリ全般がPWA当たり前になるだろうけど
もしPureScriptが廃れるならもうjs諦めてWebASM系に行くしかないな…
2021/08/22(日) 08:25:10.09ID:ZD+Tc3uA
普通にバニラ+WASMでPWAの時代ですよ
2021/08/22(日) 08:28:08.71ID:U2zX42Ts
>>997
ようやく一般に通用する程度にまで楽で実用になっただけで
普及はまだまだ全然だと思う
2021/08/22(日) 08:30:16.05ID:ksVD5eTg
みなさんWasmは何で書いていますか?
あたしはRust
1000デフォルトの名無しさん
垢版 |
2021/08/22(日) 08:35:54.12ID:0Cz6ueFz
>>991

>Rustはバイナリサイズも小さく出来ます
>だから組み込み分野でもRustが強いわけです

バカ丸出し
Nimは標準実装されたnimコンパイラが強力なマクロで
最適化されたCのソースコードを吐き出して、Cコンパイラ
で極小バイナリまで生成するから、コンパイルするだけで
後はプログラマがする仕事が無いので怠けててもいい

Rustは標準実装されたコンパイラでコンパイルするだけでは
超巨大なバイナリを生成するので、最適化せれたチューニング
を施して小さなバイナリを生成しなければならないから
プログラマの仕事が増えて怠けられない
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 489日 17時間 29分 52秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


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

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

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

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。