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

■ このスレッドは過去ログ倉庫に格納されています
2022/08/05(金) 08:26:38.87ID:TpiqaUBm
スレタイ以外の言語もok

前スレ
https://mevius.5ch.net/test/read.cgi/tech/1655771266/
2022/08/23(火) 12:57:16.80ID:AllLmU9s
>>797
限られた時間内で場当たり的な対応をどれだけこなすかを競うISUCONは現実と離れすぎていてあまり意味がない
もちろん欠陥だらけのシステムの数々の問題点を見抜いて各々に対応する能力は非常に重要
現実にはその能力は安全かつ高速なシステム設計開発に使うものであり短時間での場当たり的な対応に競うものではない
2022/08/23(火) 13:33:30.00ID:1ViQo793
時間は正しく計測できるという仮定の下で
「時間が短過ぎる」等の判断をすることもまた現実から乖離していることがよくある

数年前の過去問と同じ問題がテストに出れば、時間は数年間あってもそれを計測する時計はない
2022/08/23(火) 13:45:48.88ID:Ke3Ccl3f
知識を問うテストじゃないはずなのに、ある特定の知識を知ってる人だけがサクッと解けるようなテストだったら、それは問題が悪問なだけ
出題者が悪い
2022/08/23(火) 13:55:00.75ID:1ViQo793
良問を出すべきというのは道徳か?
富裕層は貧困層に寄付するべきと言ってるのと同じ?
2022/08/23(火) 14:07:44.30ID:tZOwf5lf
ISUCONでRustチームがいっぱい参加して優勝まで取ってたら真逆のこと言いそう
2022/08/23(火) 14:30:22.22ID:nhRs6AvL
性格や適性の問題じゃないかな
ボトルネックの調査と解消を正しく真面目にやれるタイプのエンジニアにとっては、
言語なんかシステムにおける無数のファクターの一つとして相対的に評価されるものでしかないのだろう
Rust信者だったら自分好みにリファクタリングを始めて時間切れになりそうだ
もちろん後者のタイプの人間のほうが適しているタスクもあるだろうけどね
2022/08/23(火) 14:39:05.74ID:IzGsbq3u
ISUCONのステマかなんかなの?
参加人数少なくて困ってんのかな

賞金を最低でも1000万以上にしたり
グローバル展開してあらゆる国の開発者を集めたほうがいいんじゃないの?
今は実質日本人学生用のコンテストになってるから
2022/08/23(火) 14:46:37.67ID:K++0I94y
俺もまずはリファクタリングから手を付ける
見やすさ追加改変のしやすさ品質に速さなどあらゆることでリファクタリングが基礎になる
あとシステムアーキテクチャに問題があるときは場当たり的な対応より根本設計からやり直した方が長期的に得と分かっている
2022/08/23(火) 14:58:48.56ID:hhf7jlH2
どこも小学生の自由研究のノリだよなw
2022/08/23(火) 15:34:20.38ID:1ViQo793
ディズニーを超えたいと思えばまあ小学生っぽくなるわな
2022/08/23(火) 17:09:38.21ID:cAD3vi3K
youtubeの中学受験の図形関係の問題みたいなもんでパターンを覚えるみたいな感じで
競技プログラムって何かつまらないんだよねぇ
2022/08/23(火) 18:30:00.47ID:jZlkNHy6
>>808
クイズやパズルと一緒
ワンパターンだから飽きるのは仕方がない
2022/08/23(火) 20:26:06.49ID:1ViQo793
ギャンブルならつまらないリスクから逃げるのは常識
だがリスクがない場合、つまらないという理由だけで逃げるのは逆に難度高い
811デフォルトの名無しさん
垢版 |
2022/08/24(水) 09:30:33.86ID:8fOu5lGq
据膳でも感染リスクあるし
812デフォルトの名無しさん
垢版 |
2022/08/24(水) 09:31:10.38ID:8fOu5lGq
>>808
めっちゃ判りますω
813デフォルトの名無しさん
垢版 |
2022/08/24(水) 10:08:32.23ID:+3OYCnBx
根源にある感情は「だからなに?」ってことなんだよ
できてもできなくても大差ないということ
2022/08/24(水) 11:01:24.29ID:fCJqwszS
ManuallyDrop<T>を知る事と
それを知ってたら何になるかを知る事を区別しないと混乱が起きる
2022/08/24(水) 13:47:39.28ID:ymarx/03
>>808
結局そのアルゴリズムを反復練習で書けるかみたいになっちゃうんだよな
2022/08/24(水) 15:20:22.21ID:ymarx/03
>>804
参加者はめちゃくちゃ多いよ
ぶっちゃけ業務としてやってる会社が多いけど
俺が参加してた初期の頃はみんな趣味だったんだよね
2022/08/24(水) 15:32:52.45ID:rnKc3YSn
>>816
年1回の1500人程度の参加でめちゃくちゃ多いというの??
比べる対象じゃないのかもしれんが競プロは毎週万単位での参加者がいるぞ
2022/08/24(水) 15:49:29.31ID:Up+C642J
だから?
どうした?
2022/08/24(水) 16:22:02.33ID:cy/h+3Se
>>818
辛辣w
2022/08/24(水) 17:08:00.62ID:/EMIJnR6
実務に役立たない競プロよりは
まだISUCONのほうがマシ
なぜならISUCONはサーバーなど含めたシステム全体のアルゴリズム相当も含むため
しかしそれを限られた時間内にその場しのぎの対応を多数こなす競技ISUCONも実務とかけ離れすぎていて単なるゲーム
ちなみに競プロの人口の方が多いのはISUCONの方がより現実に近くて桁違いの知識を必要とするため
2022/08/24(水) 18:35:33.50ID:ieoEEHaa
参加者めちゃくちゃ少ないけどなw
しかも半数以上は新人研修や社内勉強会での参加者で本気で決勝目指してるような奴等ではない
2022/08/24(水) 21:44:22.89ID:AMNp1Lvn
ISUCONなんてもともと「いい感じにスピードアップコンテスト」みたいな雑な名前で、
そういうのが好きな運用者のガチ余興から始まったもんだろ。
ベンチマーカーの特性読んで穴見つけて異常点数取ったやつを「スゲェw」みたいに言うお祭り。

なんか箔をつけたい学生さんに目を付けられてからなんかへんな感じになってるけど。
2022/08/25(木) 02:43:34.63ID:2mWcQmbM
>>822
最近はそういうの無くなってるよ
そもそもお題のサンプル実装の時点ですげーよくできたものが出来上がってくる
仕事としてやってる会社も増えたからそうなるんだろう
昔はめちゃくちゃやっつけで雑だったから
やりようがいくらでもあったのにさ
2022/08/25(木) 10:35:08.58ID:gyuOx2Xm
ISUCONを仕事としてやる会社って何なんだよ
2022/08/25(木) 11:17:57.47ID:dsHaE0cL
Rustより難しい疑問だが
その辺にある石ころのように誰にも気付かれない悪問
2022/08/25(木) 11:44:01.01ID:GTPpxCbw
運動会を業務時間にやる会社もある
2022/08/25(木) 11:49:35.28ID:uCcuWcZI
夏休みの自由研究
運動会
学芸会
発表会

楽しそっすね~w
2022/08/25(木) 12:32:16.39ID:IO7/ZCzd
研修とかトレーニングとしてってことだろ?

もしかして会社の箔を付けるためなのか?
うちはISUCON決勝進出したんですw的な
2022/08/25(木) 12:33:42.97ID:WEV4zSsV
業務時間扱いで技術大会の運営準備とか練習させてくれるの、わりとどんな業界でも普通だと思うが…。

従業員を工数としか扱わない会社に所属してるなら御愁傷様。
2022/08/25(木) 13:05:50.93ID:2mWcQmbM
>>828
そういう面は大きいよ
特に採用面ではかなり優位だろう
まともなエンジニアがあることがわかってるし
2022/08/25(木) 14:32:09.78ID:Ku9BBrHT
そろそろ学びやすく美しい言語が完成してもいい頃
2022/08/25(木) 15:34:35.21ID:tT+jR3hx
Pascalだな
2022/08/25(木) 15:39:13.49ID:GTPpxCbw
RustとLispであらゆる用途をカバーすべき
2022/08/25(木) 15:47:59.73ID:Ku9BBrHT
Lispはカッコばかりつけてるナルシストだからダメです
2022/08/25(木) 18:25:49.89ID:gEeT03jW
そもそもプログラミング言語って本当に必要なのか?
2022/08/25(木) 18:38:47.49ID:cZPZ0A+R
>>829
「仕事としてISUCONに参加する会社」と
「ISUCON参加を業務時間扱いしてくれる会社」は全然違うやろ

前者は半ば強制の指示命令ありき
後者は任意の研鑽を会社が支援するもの
「仕事としてやってる会社」という表現は完全に前者を念頭にしてるよね

まぁぶっちゃけどうでもいいけど
2022/08/25(木) 19:19:03.77ID:S/wpzj9c
>>835
言語がなきゃどうやってプログラミングするんだよ
838デフォルトの名無しさん
垢版 |
2022/08/26(金) 03:56:04.98ID:V0DMr4WT
>>836
いや、後者を念頭にしても不自然ではないよ
839デフォルトの名無しさん
垢版 |
2022/08/26(金) 09:47:57.02ID:+QfZXmYy
>>835
全てをアセンブラで書くのは無理だぞ
840デフォルトの名無しさん
垢版 |
2022/08/26(金) 10:03:42.99ID:i2SIEm4o
>>822
>ISUCON=いい感じにスピードアップコンテスト
>ベンチマーカーの特性読んで穴見つけて異常点数取ったやつを「スゲェw」みたいに言うお祭り

へー勉強になったω
まじありがとう
841デフォルトの名無しさん
垢版 |
2022/08/26(金) 10:05:33.66ID:i2SIEm4o
>>839
アセンブラも機械語という言語で方言もある
842デフォルトの名無しさん
垢版 |
2022/08/26(金) 10:40:28.46ID:+QfZXmYy
>>841
アセンブラはセーフだと思ってたwww
まさかELFをバイナリエディタで手打ちしない限りは言語を使ってないことにならないのか.....
2022/08/26(金) 11:09:48.80ID:bqHPcqBD
>>842
それは機械語という言語だな
844デフォルトの名無しさん
垢版 |
2022/08/26(金) 11:11:30.63ID:+QfZXmYy
>>843
何もできなくて草
2022/08/26(金) 11:12:24.53ID:bqHPcqBD
>>841
アセンブリ言語と機械語は違うよ
アセンブリ言語は機械語に厳密に変換できるがループや条件分岐などをマクロ定義できる
ニーモニックは機械語と言っていい
2022/08/26(金) 11:14:37.08ID:bqHPcqBD
>>844
何を言ってるんだ
フローチャートを書いてそれを頭の中で直接バイナリに変換して打ち込むくらい昔は珍しくなかったぞ
2022/08/26(金) 12:29:43.43ID:GQPfjH41
一度でいいからパンチカードでFizzBuzzみたいな簡単なプログラムを作って動かしてみたいな
2022/08/26(金) 13:56:53.79ID:3b+WTPGR
>>837
言語じゃなくて"プログラミング言語"ね
コメントからコード生成する技術も出てきているし、将来的にはプログラミング専用言語が必要な場面がより少なくなるのではと思った
画像生成AIに食わせる文章に工夫が必要なように、コード生成AI向けに自然言語をうまく書くような工夫が必要で、それがプログラミング言語と呼ばれるのかもしれないけど
2022/08/26(金) 14:02:54.19ID:okIuNp+m
>>835
仮に不要だとしてもどうせ
清濁併せ呑むべきという話になって必要な物と不要な物が混ざり合う
2022/08/26(金) 14:03:10.59ID:qa0S1e+W
>>848
さすがにそれは無理
プログラミングしたことないやつにはわからんだろうけど
2022/08/26(金) 14:57:53.05ID:3b+WTPGR
>>850
無理というのは、特定用途でプログラミング言語を代替するものすら現れることはないということ?
なんでそう言い切れるのかが分からない
2022/08/26(金) 15:00:23.56ID:PzjtNrBy
>>851
プログラミング言語が必要かどうかの話をしてる時に特定場面でプログラミングを代替できるものが生まれるかどうかの話にすり替えてたのか
2022/08/26(金) 15:17:47.21ID:3b+WTPGR
>>852
最初の投稿が言葉足らずというか大げさな表現だったね。申し訳ない

どんなケースでもプログラミング言語が必要ということはなくて、新たな何かで置き換えられる領域はある
その新たな何かこそが次世代言語なんじゃないか、という話をしたかった
2022/08/26(金) 15:27:12.00ID:lGuTpQOP
ローコ−ドやらノーコードやらは定期的にブームになるけど
結局は定着しないんだよね
2022/08/26(金) 15:27:17.81ID:PzjtNrBy
そんなん昔は全部ユーザーが自分でプログラムしてやってたのが今では完成済みが売られてるんだから今さらだろ
2022/08/26(金) 15:55:55.10ID:CBlt+itq
コードより正確に情報残す方法なんてほぼないわ。
2022/08/26(金) 15:56:16.83ID:oTK8NYWm
4GLとかあったなあ
使ったことないけど
2022/08/26(金) 15:57:51.53ID:9rbmdHVu
ノーコード/ローコードはもっとUIだけにフォーカスしたツールが欲しいわ
マウスポチポチでWebUI作ったらAPIにデータ投げてくれるだけでいいのに、今時のSaaSはだいたい余計な中途半端なDB機能がついてきやがる
まあ一気通貫で提供しないとユーザー企業に直接売れずSIerに主導権握られることになるから、SaaSビジネスとしては面白くないんだろうな
2022/08/26(金) 17:49:09.03ID:okIuNp+m
PCのUIはスマホ大勝利により失脚してるし
UIにも言語と同様の権力闘争があるのは自明の理
860デフォルトの名無しさん
垢版 |
2022/08/26(金) 18:29:11.38ID:fCaJRqVr
>>847
https://www.masswerk.at/keypunch/
http://www.kloth.net/services/cardpunch.php
https://www.youtube.com/watch?v=vBSVIJsSux4
861デフォルトの名無しさん
垢版 |
2022/08/26(金) 18:59:38.20ID:fCaJRqVr
>>853
そんなもの既にある
2022/08/26(金) 21:28:02.57ID:3b+WTPGR
>>861
じゃあこれ以上の発展は見込めないわけ?
2022/08/26(金) 21:34:15.25ID:6BD/kEhJ
現代だとどの言語も言語仕様の更新をしているわけだし新しい言語じゃなくても言語の新しいバージョンを使うってのでもいい気もするけどね
2022/08/26(金) 22:21:54.13ID:ol+btYtb
言語の仕組みなんてLISP、Java、Haskellらへんでほぼ出揃ってて、目新しいものなんてほとんどない
使いやすくこうしてみましたー、とか、いいとこ取りしてみましたー、みたいなのばっり
2022/08/27(土) 00:11:23.77ID:N+6DqfIs
新しいものなんて何もないといいつつ、新たなものを求めて次世代言語スレへやってきてしまう人々
若い頃に出会ったものは相対的にキラキラして見えるだけで、そんな出会いは二度とないので諦めましょう
866デフォルトの名無しさん
垢版 |
2022/08/27(土) 00:58:29.99ID:Qpr8Hymf
今の時代はコアの理論や機能だけじゃ広まらない。
ライブラリやビルド・パッケージ等のエコシステムも揃ってさらにはGAMAあたりのサポートもないと中々広まらない時代になってる気がする。
2022/08/27(土) 04:05:38.65ID:LpZt/R8y
>>864
21世紀になってからも唯一Rustが画期的な言語として登場したくらいかな

差異は所有権の借用とライフタイムという概念の導入だけだがその効果が革命的で
GCなくても常に安全な即時の自動メモリ解放とC言語並の速度の両立を実現したことに加えて
データ競合(シングルスレッド時のmutual aliasingを含む)が全く無いことも実現

高速と安全という従来相容れない二者を静的にコンパイル時点で保証したインパクトは大きく
世界のIT大手たちが揃って共同でRust Foundation設立するまでに到った
2022/08/27(土) 08:35:20.66ID:Wed6O2vP
>>864 程度で新しい仕組みと言えちゃうなら実行中に一時停止しないことに命かけてるponyの方が余程新しい仕組みになっちゃう
標準入力をそのまま返すだけで新しいクラスを作成させられるからな
2022/08/27(土) 09:26:47.49ID:/L4u6rBy
>>865
>新たなものを求めて次世代言語スレへやってきてしまう人々

新たなものを求めてるんじゃなく
自分がマウント取れるネタを探しにやってきてるだけ
隔離スレと呼ばれる所以
2022/08/27(土) 11:11:47.40ID:PlsxVQrZ
心理学や行動経済学は新たなものを作らない
マウントに限定しなくても心理学全体がそういうものだ
2022/08/27(土) 11:51:54.64ID:APSkyxtl
>>867
rust-analyzerがバカスカメモリ食うのなんとかして
2022/08/27(土) 12:19:45.38ID:rW3XYjqW
所有権もC++のムーブが元なんだけどな
あれをデフォルトにしたらRustになったと言うだけ
2022/08/27(土) 13:34:38.00ID:PlsxVQrZ
ITの新しいところは二つある
低級言語からボトムアップで作るところ
無意識にバグを作ってしまうところ
2022/08/27(土) 14:02:19.73ID:APSkyxtl
所有権とlifetimeは元ネタがあったとはいえ、そこからshared xor mutableへと発展させたのは大きな発明だと思うよ
2022/08/27(土) 14:25:45.41ID:L6zf9p1Z
>>874
shared xor mutableも元ネタあるよ
トランザクションを使った同時実行制御の常識
それを所有権やライフタイムの考えと融合させて実用可能なものを作ったところが新しい
2022/08/27(土) 19:24:10.69ID:4NYTelSG
研究用プロトタイプとか言語の一部で適用可能にしたレベルで終わりそうなものを基盤にした処理系をいちから作り上げてメインストリームに持ってきたのはホントすごいと思うわ。
2022/08/27(土) 19:57:46.81ID:cdahKvQA
組み込みとか低水準で使えるようなシステムプログラミング向けの言語って、候補と呼べるものすら新しい言語はなかなか登場してなかったと思うんだけどなんでだろな

C/C++の存在感がでかすぎて言語開発者の興味が失われてたんかね、GCを贅沢に使った言語はめちゃくちゃたくさん登場してるのに
今となってはRustが成功しつつあるけど、Rustが登場しなかったらずーっとC/C++の天下だったんかな、いやだな
2022/08/27(土) 20:29:15.90ID:XaCH/Kga
>>872
C++はライフタイムを言語(コンパイラ)が把握管理できないため
ダングリングの発生を検知してコンパイルエラーとできず
セキュリティ含む深刻なバグを未だに量産し続けていることに問題がある
2022/08/27(土) 22:12:41.90ID:PlsxVQrZ
>>877
C++の時点で難易度がもう非常識なレベルになってるから
それ以上先に進むのは常識的にはできなかった

だが偶然その時にC++と関係ない人々の日常会話も非常識で過激になって行った
その結果、難解過ぎることの何が悪いのかと開き直るのを誰も止められなくなった
2022/08/27(土) 23:03:56.45ID:rW3XYjqW
>>878
いやだからC++にムーブができたんでしょ
std::moveとムーブコンストラクタとムーブ代入演算子を勉強しな?
2022/08/27(土) 23:22:25.52ID:0oprUFWN
>>880
それは所有権
Rustは借用とそのライフタイムを言語の制御下に置いたことで初めて安全なメモリ自動解放を実現した
C++がいかにダメな言語なのかをもう少し勉強したほうがいい
2022/08/27(土) 23:38:25.67ID:WqKrPeWc
安全なメモリ管理ってw
単に関数でnewしたものを保存してスコープが切れたら解放するだけでしょw
それC++でFile file;のように宣言したのと概ね同じなんじゃね?w
2022/08/27(土) 23:43:33.94ID:sUJYl6Ez
Rustはオワコンだからあんま使いたくないな
2022/08/27(土) 23:45:55.57ID:UglcSwzZ
>>882
まずC++がメモリ管理バグを生産し続けている仕組みを学習すべきだな
それまでこのスレに出入り禁止
2022/08/28(日) 00:56:35.98ID:7IFudYOE
C++にはtemplate反対派もいるから
バッファ<T>の代わりにtemplateを使わないやつを再発明することで
オーバーランも再発し続ける
2022/08/28(日) 05:26:11.72ID:qfec6UU9
>>881
Rustの解説にもある通りRAIIがベースで、自動変数の応用例だけどな。

C++は元々cをコンパイルできるという大原則があって、その原則からスマートポインタ強制とかは行っていない。Rustはそのあたりのしがらみを捨てているんだからああなるだろ。
RustもC++の複雑さに加えてHaskellの難しさも取り込んでいるから、絶壁の学習曲線問題は悪化している。置き換えが進むのはc/c++の一部の領域のみで、Javaの領域とか食えないと思うわ。
2022/08/28(日) 06:06:08.65ID:yYM00GDu
>>886
その件でRAIIや自動変数と言い出してる時点で把握不足
それは以下の非常に大雑把に分けた3段階のうちの最初の(1)の部分でしかない

(1) RAIIとデストラクタ
(2) 所有権とその移動
(3) 借用とライフタイム

>>882も(1)止まり
>>880は(2)止まり
(1)と(2)だけではダングリングポインタの発生を防げない
2022/08/28(日) 07:28:26.48ID:/BN7SwZG
>>886
Rustの難しさがC++の難しさを引き継いでいるのかは疑問に少し疑問だし、Haskellの難しさに至っては全く受け継いでないと思うぞ
型に対する要求は小さいし、関数が純粋であることも求めてないし、遅延評価をベースにしてもいない
2022/08/28(日) 10:48:45.36ID:7IFudYOE
サブスクやリボ払いじゃないんだから
よく似た難しさに10回出くわしたら1回あたりのコストは1/10になるんだよ

まあそうなると「コスト」とは何かを定義するのが極めて困難になるんだけど
2022/08/28(日) 12:11:47.01ID:kDu69pxs
RustやC++やHaskellの難しいポイントってそれぞれ具体的にどういうところを指してるの?
単に難しさと言われても人によってイメージするもの違うのでは
2022/08/28(日) 12:52:57.69ID:XrBOFvee
Haskellの難しさは対象ドメインの一般的理解よりも一段二段高い抽象度を意識したプログラミングが必要なところ
2022/08/28(日) 13:12:40.64ID:7IFudYOE
Lisp世代とErlang世代の間に暗黒時代がある
モナドと型推論のプロトタイプもその時代にある
検索しても多分辿り着けないのは検索エンジンが原因でしょ
2022/08/28(日) 13:38:45.23ID:eQVF2PFY
トレイトとライフタイムが難しい
2022/08/28(日) 14:28:30.61ID:5fPmE595
>>893
トレイトはシンプルで分かりやすいけど
クラスが非常に難しい

例えば複数の型に共通する機能性質とメソッド群を用意したいことはプログラミングでよく発生する場合
トレイトだと複数の型々に関係なく独立してそのまま用意して各型に実装するだけだけでいいけど

クラスだと継承でやるにはその型自身に継承しなきゃいけなくて多重継承になったり継承ピラミッドが複雑化
あるいは継承は破綻するからメソッドを増やす別の方法を拡張して使い何のためにクラスを使っているのか本末転倒になる
結局クラスと型が分離できていないことにも問題が多い

Rustでは型とトレイトという二つの直交した概念だけで全てが済むからシンプルで分かりやすい
クラスも継承もないのはRustだけでなくGoでもそうだけど今までクラスと継承で遠回りしてきたプログラミング言語の到達点かなと思う
2022/08/28(日) 15:06:53.82ID:17VtAmCD
>>894
インターフェースも知らんのか?
2022/08/28(日) 15:17:26.17ID:WHMHQcXx
トレイトも型なのに何言ってんだこいつw
2022/08/28(日) 15:26:53.46ID:7IFudYOE
>>895
Linusを怒らせたのはそういう所だな
C++を知っていても使わない自由があると言いながら
実際に使わない者が現れれば「知らんのか?」とミスリードしてくる
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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