次世代言語18 Go Rust Elixir Kotlin TypeScript

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

前スレ
次世代言語17 Go Rust Kotlin TypeScript Julia
https://mevius.5ch.net/test/read.cgi/tech/1567602619/
2020/04/03(金) 07:20:23.73ID:x2AIwLRG
>>907
rust自身のビルドが、Pythonに依存しているって話じゃない?
2020/04/03(金) 10:41:31.87ID:TFqtSApO
Pythonはいいぞ
Makefileより読みやすく
Python自身のビルドはLLVMのビルドより10倍か100倍速い
2020/04/03(金) 10:53:44.07ID:b0rZIsH6
型無しの時点でゴミという現実
2020/04/03(金) 14:42:39.21ID:Tc814Ws0
型が無いんじゃなくて型を差別してないのさ
どんな型が来ても受け入れるおおらかさがある
2020/04/03(金) 15:11:10.65ID:v6FKoEXq
動的な型なだけだな。
ネストした構造をループ処理するときなんかは確かに楽なことも多い。
2020/04/03(金) 15:32:53.86ID:b0rZIsH6
それを世間一般では型無し糞言語と言うんだよ
2020/04/03(金) 15:51:03.27ID:MTkh8ajj
強い動的型付けだし型アノテーションだいぶ充実してきたしでだいぶマシだと思うけどなぁ

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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

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

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

ワイ「え?」

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

ワイ「いや……」

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

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

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

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

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

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

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

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

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

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

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

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

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