X



次世代言語18 Go Rust Elixir Kotlin TypeScript
レス数が1000を超えています。これ以上書き込みはできません。
0901デフォルトの名無しさん
垢版 |
2020/04/02(木) 23:17:47.62ID:iuGcEdKM
プログラム板でこのスレしか人いないのほんと草
0903デフォルトの名無しさん
垢版 |
2020/04/03(金) 00:01:45.98ID:0E621fjE
.NETも標準ライブラリ豊富だろ
つか、今時スレが言語スレだが言語だけで語る滑稽さ
次世代言語というより、標準ライブラリも含めた次世代環境がほしい
0904デフォルトの名無しさん
垢版 |
2020/04/03(金) 00:21:31.40ID:v6FKoEXq
最近の言語はどれも環境そろってるだろ。
適当なインストーラーとライブラリ管理はあるし。
ビルド通らねー糞が!とかもだいぶ減った。
0905デフォルトの名無しさん
垢版 |
2020/04/03(金) 00:44:59.65ID:WSo5wZTZ
rustはpythonがらみでエラー出てビルド通らなかった。
本気だして調べる気力もなく、関連ファイル削除して男友達と焼肉食いに行った。
わざわざ男友達と書いたのは、女友達なんかいないからだ。
0909デフォルトの名無しさん
垢版 |
2020/04/03(金) 10:41:31.87ID:TFqtSApO
Pythonはいいぞ
Makefileより読みやすく
Python自身のビルドはLLVMのビルドより10倍か100倍速い
0911デフォルトの名無しさん
垢版 |
2020/04/03(金) 14:42:39.21ID:Tc814Ws0
型が無いんじゃなくて型を差別してないのさ
どんな型が来ても受け入れるおおらかさがある
0912デフォルトの名無しさん
垢版 |
2020/04/03(金) 15:11:10.65ID:v6FKoEXq
動的な型なだけだな。
ネストした構造をループ処理するときなんかは確かに楽なことも多い。
0914デフォルトの名無しさん
垢版 |
2020/04/03(金) 15:51:03.27ID:MTkh8ajj
強い動的型付けだし型アノテーションだいぶ充実してきたしでだいぶマシだと思うけどなぁ

弱い動的型付けと同一視するのは誤りの元だし、漸進的型付けの存在を無視するのもまた評価を誤りかねないですよ
0915デフォルトの名無しさん
垢版 |
2020/04/03(金) 16:37:43.22ID:UYNPUerC
Pythonの型アノテーションは実際には全くと言っても差し支えないほど使われていないから無視して問題ない
そろそろ後付け静的型の代表的成功例であるTypeScriptと何が違ったのかを真剣に議論すべき時期にきてる
0919デフォルトの名無しさん
垢版 |
2020/04/03(金) 18:10:28.37ID:VVxcL9Mv
>>902
C#は多いけど標準かって言われるとな・・・
C/C++も「標準」に拘ると何もできないω
0921デフォルトの名無しさん
垢版 |
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")


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

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

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

デジタルな分野扱ってるからって判断までI/Oにするもんじゃない
0933デフォルトの名無しさん
垢版 |
2020/04/04(土) 09:42:25.07ID:BgK/PXFy
>>932
君は >>921 の関数に、整数、小数、文字列、オブジェクト、真偽値、日付型・・・
たくさんの引数を与えて
一生懸命テストを書くのだろうな

それは素晴らしいことだと思うよ
感動で涙がで、でますよ
0936デフォルトの名無しさん
垢版 |
2020/04/04(土) 09:50:52.18ID:BgK/PXFy
それともコメントに、
この引数は整数でございます。小数、文字列、オブジェクト、真偽値、日付型・・・は教育によろしくないので与えないでいただけますと幸い至極でございます。
とでも一生懸命書くのかな??

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

あれっw
0940デフォルトの名無しさん
垢版 |
2020/04/04(土) 11:05:52.17ID:L/BdUORC
逆に静的型付けの何がいいのか知りたい
JavaScriptやpyなんか連想配列や辞書
定義するのもコンソール出力もめっちゃ便利やぞ
コンパイルエラーの手間もないしめっちゃデバッグが楽
0942デフォルトの名無しさん
垢版 |
2020/04/04(土) 11:46:08.97ID:nZpdiFMX
// この関数を使えばなんでもできます
func god(args...){}

これだけで基幹システム作ったわ
1年掛かる工数を3日に短縮できる動的言語ってやっぱ神だわ
0945デフォルトの名無しさん
垢版 |
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に転職できるかもしれない
0948デフォルトの名無しさん
垢版 |
2020/04/04(土) 14:40:47.29ID:4+4qlucB
英語圏の文化で面白いのがプログラムしかない
これが無くなったら英語自体がオワコン
0949デフォルトの名無しさん
垢版 |
2020/04/04(土) 17:38:57.41ID:VsggCgGE
>>941
動的派の書くテストは正常系を一発通すだけのものが多くて、あれでテストちゃんと書いてますと言われても首を傾げてしまう
動的型のコードがデグレで動かなくなるのは日常茶飯事であるし、そもそも最初から全く動かないウンコであることも珍しくない
だから最低でも変更の度に自動テストで一度動しておけば品質は大幅に上がるのだが、とはいえ血便が下痢便になる程度
一方、静的型はプログラマの品質に対する意識の高さや静的型検査の恩恵のため、動かすだけのテストにはあまり意味がない
起こりうる様々なケースを試したり挙動の変更を厳密に監視したりと、静的型においては自動テストに求められる基準は遥かに高くなる
0950デフォルトの名無しさん
垢版 |
2020/04/04(土) 17:54:20.92ID:f2T6dYaQ
>>933のいうとおりだな。人間どうミスするかわからんから、
整数、少数..本来は全部やるべきだな

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

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

動的だと一週間で終わるものを三ヶ月ぐらい掛けて実装してそう
0953デフォルトの名無しさん
垢版 |
2020/04/04(土) 18:06:51.89ID:ebeS0Dvl
>>951
型無し糞言語脳って、型チェックがあればそもそも発生しないバグのチェックに何日費やしてるんだろうな

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

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

ワイ「え?」

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

ワイ「いや……」

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

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

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

次の日にそのおじさん退職したわ
前の職場でも型型騒いで辞めたらしい
お前らも気をつけろよ
0957デフォルトの名無しさん
垢版 |
2020/04/04(土) 20:03:33.83ID:dzVJGpcL
>>954
最近多いんだよねー
Pythonとかちょっとかじった程度で
「俺プログラマーやってます」って顔する子

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

Juliaなんかはパフォーマンス向上目的での型の導入だけど、型安定とかわざわざドキュメントに記すなら言語側でそもそも制約を強めてエラーにしてしまうとかでよかったんじゃないかと思ってしまう
0962デフォルトの名無しさん
垢版 |
2020/04/04(土) 21:22:41.67ID:nlgyx7EU
classイコール型みたいな言語だと考慮しないといけない事項が多すぎるし記述量は馬鹿みたいに多い
なので、そういう言語しか知らない人が「静的型付けは煩わしい」と思うのは仕方ないことかもしれん、と思う

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

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

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

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

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

だから、ゼロからフレームワークを作る創造的な人達は動的型を好み、
アイデアをパクって実装したり、フレームワーク使うだけのドカタは静的型を好むわけだよ
0997デフォルトの名無しさん
垢版 |
2020/04/05(日) 12:51:43.69ID:9ug9dps/
メタプログラミングの結果を駆使する立場ならともかく
メタプログラミング自体を行う奴らは試行錯誤とかあんましないレヴェルなんじゃね
書いたら動いてバグがほとんど無い(
もちろんテストはする
0998デフォルトの名無しさん
垢版 |
2020/04/05(日) 12:55:49.48ID:bKlpD2Cq
釣りなら釣りと分かるように書かないと、タダの馬鹿だと思われるのでは。
0999デフォルトの名無しさん
垢版 |
2020/04/05(日) 12:58:04.13ID:bKlpD2Cq
>>993 は普通に考えれば釣りなんだけど、本気で顔真っ赤にしながら主張する人もいるから、
どこかに釣りの痕跡残しておかないと、後で釣りでしたと言っても信じてもらえなくなる。
1000デフォルトの名無しさん
垢版 |
2020/04/05(日) 13:01:44.09ID:bKlpD2Cq
縦読み入れておくのが良いのでは。
レス数が1000を超えています。これ以上書き込みはできません。

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