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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2022/03/22(火) 03:23:41.60ID:ZDHdo9X7
スレタイ以外の言語もok

前スレ
次世代言語23 Go Nim Rust Swift Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1638086359/
2022/03/28(月) 22:32:51.22ID:O2ikFAVr
ガイガー君完敗か
2022/03/28(月) 23:11:23.81ID:51Y1Thh9
1+1=の結果とか誰も興味ない上、俺がindex版、iterator版、vector版3つ正解を書いてやった後も、誰も興味のないその話題をひたすら続けて無視された挙げ句、このスレにまで持ってきて見当違いな自画自賛と自作自演の嵐w
どれだけバカなんだよw
2022/03/28(月) 23:19:40.94ID:ie9Ayk2m
>>318
ガイガー君とやらは配列とスライスの違いすら知らなかった超初心者だから仕方ないんじゃないか
もちろんスライスに対して実装すればVecにも配列にも適用できるからそれがベストチョイス
2022/03/29(火) 01:19:51.25ID:lkDcLhrw
>>312
Rustってスクリプト言語みたいに簡単に書けるんやな
2022/03/29(火) 17:06:45.34ID:7Qo2cIhC
このスレなんでJuliaは扱わないの?
2022/03/29(火) 18:10:38.94ID:wvo3NcdM
Juliaって数値計算に特化してるイメージなんだけどそれ以外の用途でも良い感じに使えるの?
2022/03/29(火) 19:43:35.70ID:4eDRgxgo
数値計算というのはひたすら配列に対してループをぶん回すもんで、FortranやJuliaはそういう処理の記述に特化している
そういう意味だと、数値計算以外だと昔のCOBOLみたいに愚直に一行ずつレコードを処理していくような古典的なバッチ処理には向いてるんじゃないかな
2022/03/29(火) 22:44:22.64ID:zunmlMTL
>>321
本人乙w 配列とスライスの違いは分かってたけど、配列の定義を誤って覚えてただけだよw
Juliaは入れていいと思うw
2022/03/29(火) 22:53:46.10ID:Wg3aSHjk
>>326
あんたは [T] を配列だと思っていた
もちろん [T] はスライスが正解
これはあんたが配列とスライスの違いをわかっていなかったことを意味する
2022/03/30(水) 08:18:40.34ID:LPYfd5on
型無し糞言語勧めてくる屑どもを全員●したい
2022/03/30(水) 08:41:28.55ID:wafreB6+
今時型無し言語を使うやつはそんなにいないだろ
動的型付け言語は使うが
2022/03/30(水) 09:47:02.31ID:/0rPh2g4
代表的な型なし言語:Smalltalk、BCPL、B言語、アセンブリ言語
2022/03/30(水) 16:32:49.22ID:uX6cnVWL
動的型付け言語は型無し糞言語じゃないんだ
僕はまだ大丈夫なんだ

こういうやつよな
●したくなるのは
注連縄を首に巻いて通勤快速に連結してやりたくなるよな
2022/03/30(水) 21:28:09.18ID:MqQwCbKz
型無しと動的型付けを間違えていたことを糊塗しようと必死
2022/03/30(水) 21:47:02.85ID:sZZS0bBr
>>331
動的型付け言語には型はちゃんとあるぞ

型を忘れる静的言語、型を覚えてる動的言語
https://dankogai.livedoor.blog/archives/51856318.html
2022/03/30(水) 21:52:53.10ID:9xKIjqbP
もちろん強い静的型付け言語の方が圧倒的に優れている
ほとんどのバグはコンパイル時点で検出できる
言語によっては実行時のエラーや善きせぬ例外を無くすこともできる
そのため強い静的型付け言語が最もプログラミング生産性も高い
2022/03/30(水) 21:58:42.01ID:txMnCN3x
>>333
バカなことばかり書いてあるダメなページだな

> 動的言語の値は、実行時においても自分の型を覚えている。
> このことは何を意味するか?
> 実行時に値の型を調べ、それに対応したコードを実行するプログラムが書けるということだ。

これはまともな静的型付け言語でも出来る
しかもコンパイル時に安全に型をチェックして実行時にエラーをなくすことさえ可能
動的型付け言語ではそのような安全性は無く実行時エラーの山
336デフォルトの名無しさん
垢版 |
2022/03/30(水) 22:01:00.78ID:kwE0Wrnf
正直動的型付けのメリットをあまり感じない
2022/03/30(水) 22:02:22.01ID:usrXoLFt
いまさら型の動的静的言い出してもウンザリだから
それは君たちが各自自分で勉強して自分で満足してくれ
どっちが優れてるだのどうだの素人の見解1ミリもいらんから
2022/03/30(水) 22:06:41.15ID:ibIM88PL
このスレ雰囲気からして学生が多い気がするが、一般的には

型あり:ソースコードに型を明記する=静的型
型無し:そうじゃない=動的型

だぞ。ただし「型無し」と全くの初心者に言うと「本当に型がない」と勘違いしてしまう為、
「動的型付け言語」と『教育上』言われる事があってもおかしくないが、それは学校での話。
プログラミング界での用語は上記の通り。
330内はアセンブラしか知らんが、アセンブラにも型(サイズ)はあって、
floatとdoubleは命令が違うし、byte/word/doublewordも命令が違う。
(だから本当の意味で型がない言語なんて実装しようがない)

ただまあ、この辺のごくごく初歩的なところをまずは抑えるべきだよ。
生産性なんてその後の話、一通り書けるようになってからでいい。
心配しなくても初心者の時に書いたコードなんて後から見たらゴミ同然でしかない物ばかりだよ。
2022/03/30(水) 22:09:14.11ID:MqQwCbKz
>型あり:ソースコードに型を明記する=静的型
>型無し:そうじゃない=動的型

どこの一般だよ
2022/03/30(水) 22:10:48.06ID:1lFVb3RX
いずれにしても動的型付け言語はバグがあっても実行時になるまで検出できないクソ言語
強き静的型付け言語がベストと結論が出ている
2022/03/30(水) 22:15:34.40ID:usrXoLFt
よかったですね
ハイ終了
2022/03/30(水) 22:33:44.92ID:YEeL7eMZ
ちょっとした短いスクリプトを書く程度ならば動的型付け言語でも大丈夫
そうでなくプログラミングをするならば静的型付けのメリットが非常に大きいね
2022/03/30(水) 22:47:29.54ID:Xsfwo5z4
個人的にどちらが好みかと言われると静的型付け言語なんだけど、自分全然Pythonとか使うので、そういう言語を唾棄してる人的に雑な書き捨てをするときは何の言語使うのか正直気になる
2022/03/30(水) 22:52:27.20ID:Cwc9b4uh
>>343
ものに依る
例えば簡単なものならシェルスクリプト
よくいる何でもかんでもPython屋さんたちはシェルスクリプトも静的型付け言語も使えないがために陥ってる
2022/03/30(水) 23:01:10.09ID:liAwZQUf
PHP
Ruby
Perl

この辺は人として見下してるな
死んでもいいゴミだと思ってる
2022/03/30(水) 23:09:42.25ID:UJJsLtPb
PHPないと個人サイト作成不便だよ。
pythonで書いてた時期もあったがやはりPHPのが楽だしCPU負荷も少ない。
2022/03/30(水) 23:13:37.76ID:BGd1I7D3
個人サイトなら静的サイトジェネレータで十分な場合も多い
2022/03/30(水) 23:23:35.91ID:7iBx/H5p
>>346
おもちゃ程度ならPHPで十分だね
しかしアクセスされるたびに動的サーバーサイドレンダリングをしているわけで無駄すぎ
例えばアクセス数のある企業がそれをしたら負荷のせいで複数のサーバーが必要になりやすい
>>347の言うように出来る限り静的サイトジェネレーションがベスト
2022/03/30(水) 23:26:27.50ID:liAwZQUf
PHPerは性根が腐ってる
人間のくず
2022/03/30(水) 23:30:47.36ID:RO3HBLZh
サーバーサイドレンダリング…?
2022/03/30(水) 23:35:38.07ID:UJJsLtPb
静的サイト生成系は結局すぐやめたなぁ。
JSで無理くりなことやりはじめたりして個人サイトレベルだと逆に作りが歪む傾向がある。
2022/03/30(水) 23:46:31.10ID:liAwZQUf
歪んでるのはPHPerの脳みそだろ
ビルから飛び降りて矯正しろ
2022/03/30(水) 23:49:24.01ID:UJJsLtPb
自分は普段はc++とc#ばかりだけど...
だけどphpの方が楽、blazorとか逆にしんどかったし。
2022/03/30(水) 23:58:31.85ID:BjMRLjMo
>>353
選び方が極端すぎ
BlazorはJavaScriptの代わりにC#で書いてブラウザ上をWebAssemblyで動かす究極のアホ
C#はランタイムがデカい上にGCランタイムも必要なわけでそれらを全てブラウザ上のWebAssemblyで動かす
巨大で重くて遅い
2022/03/31(木) 00:17:05.37ID:nlcs9ENP
負荷が高いからCGIは使わない、PHPは使わない、
共用格安24時間稼働サーバーでnodeやjavaは基本動いてないからそれらは使わない、
VPSで個人サイト運営とか手間なだけだからやらない。

そうなると何でサーバー側で判定必要な処理書いてるのさ。
3大クラウド使って普通の個人サイトにGoでサーバー処理でも書いてんの?
2022/03/31(木) 00:28:30.60ID:LBSBAbTE
>>354
WebAssembly使うならGCの無いRust一択だな
C++でもよいがRustに対してC++使うメリットがないため
この新たな分野ではC++よりもRustの方がシェア高い
2022/04/01(金) 21:23:07.86ID:KJ3cEQ7q
>>344
なるほど、返答ありがとう
ということはシェルスクリプトレベルなら許容するけど、シェルスクリプトで扱えないデータ構造が出てくるような場合は、もう静的型付き言語じゃないとありえないって感じなんだね
2022/04/01(金) 22:34:27.42ID:06FQxcF3
おシェル芸とか勘弁してくれや
書いた本人すら読めない
2022/04/02(土) 08:35:29.97ID:4T2g1HGg
どの言語も読めないのはそいつの能力が低いだけ
その一方でプログラミング開発デバッグ効率は言語により大きく異なる
強い静的型付けでコンパイル時に可能な限りエラーを出し尽くしてくれるほど効率がいい
2022/04/02(土) 10:10:09.80ID:qwJ1jUe9
コマンドラインツールでもweb使うとかになるとpythonで書くかな
他は可能な限りシェル
2022/04/02(土) 10:43:36.91ID:ofyuLHc/
pythonが十分に普及してくれたんで最近はsh/batのかわりにpy一本で済ませることが多くなってきた。
2022/04/02(土) 11:11:35.19ID:GmlBdpVN
ちんちんシュッ!シュッ!シュッ!
2022/04/02(土) 12:13:37.37ID:qwJ1jUe9
めちゃくちゃ楽したいときはipynbもありかなーと最近思っている
手作業混ぜなきゃいけないけど表を加工するタスクとか、pandasのto_clipboardで時短できる
364デフォルトの名無しさん
垢版 |
2022/04/02(土) 14:47:38.25ID:pHmc1XXg
>>361
わかる。
sed, awk, curlにbashの配列使ってとかやってたのを一時期perl5に移そうかと思ったけど、これだけpythonが一般化したらもう全部pythonでいいやって思った。
2022/04/02(土) 14:53:32.80ID:huJOhBgh
pythonのクソみたいなエラーメッセージは二年ほど前に解消された
2022/04/02(土) 15:17:59.11ID:aIdGEsvv
pythonのインデントによるフォワードルールに慣れてくるとC風の{};が体が拒否反応起こす。begin/end系も論外
2022/04/02(土) 15:42:43.12ID:Yphv2UuC
インデント系言語はコードフォーマット自分で整えるのが前提なのがなぁ
適当に {} を書いて保存するとフォーマッタが良い感じに整形してくれるのに慣れるともう離れられなくなる
2022/04/02(土) 15:43:08.95ID:Yphv2UuC
フォーマットというかインデントか
2022/04/02(土) 15:55:36.79ID:6GewdDTG
生産とデバッグ効率は言語というより開発環境とライブラリがものをいうからなぁ。
少々言語自体にアドバンテージがあっても環境しょぼきゃデバッグも時間かかるだけだし
ライブラリも数万数十万人といった十分な使用実績ないなら主要な機能さえバグがある可能性が高くなるし。
2022/04/02(土) 16:27:09.73ID:AD4X0KNq
コンパイル時点で問題点をエラーにしてくれない言語こそ開発効率が非常に低い
なぜなら実行時にエラーを引き起こすからだ
その結果として実行時デバッグという無駄な時間のかかる行為が必要となる
2022/04/02(土) 17:19:49.44ID:Eaxn3zCS
PoopHatePoorの悪口はやめろ
2022/04/02(土) 18:15:03.99ID:t3Z/t1xC
静的型付けでも実行時エラーを避けられないダメな言語は多い
2022/04/02(土) 18:23:24.14ID:+a+ANJVh
>>367
コードジェネレーターとかで非常に面倒。

YAMLみたいに両対応してくれればな。
2022/04/02(土) 19:18:12.91ID:huJOhBgh
pythonのインデントは20年前は馬鹿にしてたけどコードの行数が少なくて済むので一覧性が上がる効果がある
自分は主にC#使ってるけど行数が増えるのでもう何とかして{}減らないかと常に思ってる
375デフォルトの名無しさん
垢版 |
2022/04/02(土) 19:26:43.20ID:pHmc1XXg
>>366
その部分は俺は今も波括弧ブロックの方がみやすいわ。
2022/04/02(土) 19:52:57.36ID:Eaxn3zCS
目Parseする時に {} は視認性が上がるからあった方がよい
実験結果が示している
2022/04/02(土) 19:59:17.80ID:huJOhBgh
()は目パース処理されてるらしいけどブラケットはそういう話は聞いたことはないけどな
実際は一行に一個{や}がある状態だから視認性には関係がないかと…
2022/04/02(土) 20:13:00.21ID:Yphv2UuC
>>374
C#は { を独立した行にするから余計に縦幅が長くなるのかもね
2022/04/02(土) 20:56:57.66ID:ezdDFz2p
>>370
Pythonなどの動的型付け言語はそのへん悲惨だもんな
2022/04/02(土) 21:08:24.40ID:Yphv2UuC
>>379
type annotationつけたpythonなら良い?
2022/04/02(土) 21:51:17.40ID:oz2OEgJO
>>380
強い静的型付け言語を使ったことないのかね
単なる型アノテーションなんておもちゃ
2022/04/02(土) 21:55:55.31ID:/mZUsJdk
人間が管理できる規模のうちは型アノテーションでも十分

コードの規模がデカくなってくるとコンパイル時チェックがないとやってられん
2022/04/02(土) 22:01:13.39ID:ofyuLHc/
>>381
型付けの強弱とアノテーションかどうかって関係ないでしょ
2022/04/02(土) 22:15:52.11ID:Q6e3gTSV
TypeScriptですらオモチャと言われているのにアノテーション程度ではな
2022/04/02(土) 23:13:17.46ID:Eaxn3zCS
例え型アノテがあったとしてもウンポコペチプーだけは絶対に許してはならない
導入しようとしてくるエタヒニンのガイジどもは全員アウシュビのガス室送りにすべき
2022/04/02(土) 23:47:53.77ID:Yphv2UuC
>>381
強い静的型付け、かつ、型エラーがある場合は実行すらできない言語が良いということかな?
それとも動的型部分を一切排除して型付けをグローバルに強制したいということ?
2022/04/02(土) 23:55:58.32ID:AkfUdAt8
goはエラーハンドリングめんどい
まだkotlinの方がいいよ
2022/04/03(日) 03:17:07.00ID:Y2X5X0mD
>>382
コンパイル時チェックがないとやってられん、に同意
Rustのように型だけでなく書き換え競合などもコンパイルエラーとしてくれるのが理想的
2022/04/03(日) 05:25:31.65ID:qYWEirZv
ソ連の核は綺麗な核
ポル・ポトはアジア的優しさ
北朝鮮は地上の楽園
珊瑚自作自演事件
南京・慰安婦捏造
教科書書き換え「誤報」事件
朝日・武富士裏献金事件
拉致問題切り捨て
サイレント魔女リティ
風の息遣い
五味ボマー
変態新聞
村木局長犯人扱い
その他人民裁判ならぬマスコミ裁判は数知れず
そしてマスコミお得意の「報道しない自由」

これでも貴方は新聞を信用しますか
これでも貴方は新聞を購読しますか

よく考えて下さい
2022/04/03(日) 09:41:03.41ID:DNCDVh6y
以前の彼は紳士的でした
ところが並列処理での変数の取り扱いにバグが紛れていて不正確な変更が行われこんなことにばかり言うようになってしまいました

手遅れになる前にRustを使いましょう
2022/04/03(日) 09:45:44.13ID:N+64wXdQ
でもPHPの方が需要あるよね
2022/04/03(日) 09:54:03.47ID:ajg4rWD0
>>391
RustとPHPの需要を比較しても意味ないですよね
例えるなら小麦粉をもっと食べましょう。と言ってるのに対してスパゲティのほうが人気店あるよね?っていってるようなものですよ。
2022/04/03(日) 10:25:30.38ID:DNCDVh6y
PHPでまともに仕事してるならいいだろ
Rust使えば何でも許されてニート生活しててもいいわけじゃない
2022/04/03(日) 10:52:41.24ID:N+64wXdQ
なんかお勉強界隈でルースト?ってゆうの流行ってるみたいですけど、それで仕事できるんですか?
それでワープレより顧客にバリュー提供できるってゆうんですか?
2022/04/03(日) 10:58:50.79ID:DNCDVh6y
rust サビ 発音はラスト

マジンガーZでルストハリケーンって相手がサビる兵器があったけどアレ
2022/04/03(日) 11:03:35.19ID:DNCDVh6y
>>394
今の時点ではそのレベルのバリュー提供は無理だね
学校のサイトの管理を理系の先生がやってるけどワードプレス使ってる

rustは多分10年後もその牙城は崩せない
と言うか未来永劫に先生がrust使ってサイト管理をするようにはならない
397デフォルトの名無しさん
垢版 |
2022/04/03(日) 11:14:22.42ID:1jVKF75a
>>377
俺は逆の話しか聞いたことない。
波括弧は目パースされてるが丸括弧はされてない。
例えばlispは丸括弧だらけだけど、あれの括弧の整合性はエディタ支援がでかい。
2022/04/03(日) 15:53:41.27ID:kjO3l4sO
>>384
TypeScriptはJSの全ての値に型をつけるために無茶な仕様追加してるからな
ゼロベースで設計すればマシな言語になるのにな
2022/04/03(日) 16:06:48.55ID:YCOwGNk6
Typescriptには
完全なオーバーロードと
完全な形比較機能がほしいな
2022/04/03(日) 16:13:43.21ID:enboo0xE
>>398
そういう発想のaltJSはみんな死んじゃったんじゃないかな…
2022/04/03(日) 16:15:00.29ID:/giYNahv
goは詳しくないが。
関数で複数の値を返却できるが、エンジニアのスキル差がある時に、コードの整合性を保つのがめんどい。
Jsonのパースがめんどい。

とりあえず言語仕様として提供する機能が少なすぎて、Java、Rubyとかに慣れたエンジニアからしたら使いづらい。

メリットとデメリットは表裏一体の側面もあるが、こういう意見を持つエンジニアの方が多分多いんじゃね?

少なくともwebサービス開発においては、goは一時の流行りで終わると思うわ。複数人でのコードの管理がめんどいもん。

結局、言語仕様が複雑すぎず軽すぎずが好まれる傾向にあると思う。なので、スレタイに含まれる言語の中ではKotlinに一票
2022/04/03(日) 16:20:18.51ID:kjO3l4sO
>>400
それで成功したから生JSと混ぜられるのは必要なんだろうな
俺はかっちりした言語を使いたいけど
2022/04/03(日) 16:22:15.40ID:RzJGOQaY
TypeScriptが実現しようとしているのはVSCode上でのJSの完璧な型検査であって、別に最強の独自言語を作りたいわけでもコンパイル時チェックをしたいわけでもない
MSが提案しているJSへの型アノテーションの導入が実現したらTypeScriptは.ts.dのみを残して役目を終える
404デフォルトの名無しさん
垢版 |
2022/04/03(日) 17:52:10.08ID:rc6NcMYZ
ナデラのMSは良いMS
2022/04/03(日) 18:03:50.41ID:PXdtBjdx
だ、Dart…
2022/04/03(日) 19:57:40.10ID:DNCDVh6y
>>401
どういう認識なんだ?
普通はgoは低機能だから誰が書いてもほぼ同じコードになるのがメリットだと言われてるんだけどw
2022/04/03(日) 20:01:53.30ID:k51Q+Vww
>>401
言語機能が少なくて文句言われてるが?
ジェネリクスがようやく入ったレベルだぞ
2022/04/03(日) 20:38:24.09ID:N+64wXdQ
>>406
それ言語機能が少なすぎてコピペしまくり=誰が書いても同じになる
というのがオチなんだよね
控えめに言ってゲェージ
2022/04/03(日) 20:40:34.46ID:k51Q+Vww
>>408
コピペと言語機能は無関係だろ
2022/04/03(日) 20:53:04.52ID:En8qx50/
goのエラー処理は俺が2019年に業務でちょっと触った時は
if err !=nil {}
みたいなのをひたすら書くしかなくて愕然とした経験があるんだが、これって今は改善されてるの?
比較的新しい言語にしてはずいぶん泥臭いことやるんだなって思った
2022/04/03(日) 21:02:47.89ID:N+64wXdQ
Go「ぜんぶ ひらがな に すれば かんじ や かたかな が なくて よみやすいね!」

言うほど読みやすいか?
2022/04/03(日) 21:03:41.40ID:/giYNahv
>>410
されてない認識
これめちゃくちゃめんどいし、戻り値の管理が無駄に煩雑になるだけだと思うんだが

パターンマッチングもめんどい
2022/04/03(日) 21:05:03.73ID:N+64wXdQ
>>409
ジェネリクスがないからコピペ or interface{}でAny化して型安全を捨てる言語やぞ
エアプは黙っとれ
2022/04/03(日) 21:32:49.77ID:DNCDVh6y
>>408
違うよ
文法が厳格でしっかり書いてないと枝葉みたいなしょうもない理由でコンパイル通らない
それでレベルが担保される
2022/04/03(日) 21:35:23.71ID:DNCDVh6y
コーディングになんでエアプが出てくるんだろうか?
語彙が貧困すぎる
脳が死んでないか?
2022/04/03(日) 21:49:33.85ID:gPxpOVle
高度に抽象化され凝縮度の高い用語を使ってるだけだよ
エアプガイジは黙っとれ
2022/04/03(日) 21:56:36.46ID:DNCDVh6y
ガイジ ← 脳が委縮した差別主義者が使う言葉
エアプ ← いつまでもゲームでしか物事を例えられない人が使う言葉
2022/04/03(日) 21:59:40.61ID:gPxpOVle
脳が委縮した差別主義者いつまでもゲームでしか物事を例えられない人は黙っとれ

Goみたいな文だな
■ このスレッドは過去ログ倉庫に格納されています