次世代言語議論スレ[Go Rust Scala Haskell]第5世代 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
いざ、語ろうぞ。
スレタイ超過のため、一部省略。
その他もウェルカム。
前スレ
次世代言語議論スレ[Go Rust Kotlin Scala]第4世代
http://mevius.2ch.net/test/read.cgi/tech/1492631007/ 2位3位がCとJavaって時点で言語の先進性がランキングに影響してるわけでも無いしね。
(多少は影響するにしても)
あくまで実用言語の世界。 >>499
今アセンブラと言うか、その延長で機械語のどのビットがアセンブラのどの命令によって変化するみたいなの読んだんだが、思ったより機械語理解出来そう。
素直に書いた方がアセンブラだと短いけど、機械語だと長くなるとか、CPUの特性に合わせるにはアセンブラの字面だけ理解してもダメなんだな。
その過程でどうもCはわりと素直にアセンブラにし易い構文だったみたいね。
そう言えばCのコードからアセンブラコード想像し易いけど、C++や他の言語じゃ想像出来ないとか話も聞く。
んでここからが本題なんだが、機械語かアセンブラの構文に意味や所用バイト数、所用クロック数の情報付加したリストから効率良い機械語の組合せ見つけて吐き出すってのはどの言語でも不可能じゃ無い気がしてる。
ただそれには相当深い知識が必要ってだけで。
基本は機械語になる様なバイト列をファイルに書き込めば良いんだから、機械語とプログラムとして動作させるファイルフォーマット形式覚えて、その通りにバイナリファイル書き出せば良い。 高級言語ってのはもともとFORTRAN教えてたダートマスの研究者が
初心者が必ず引っかかる「型」の概念をできるだけ無くそうとして作った
BASICのように"ビット的なことは知らなくていい"流れが一つあって
Cはそれとは別にむしろ"ビット操作ができる高級言語をくれ"というニーズで
作られてシステム寄りで普及した言語だから
「Cに替わる〜」もなんも、その界隈ではハードに密着した書き方が求められてて
そこへ遠い上の方から「ハード密着してると危ない!」とか言われても
なんだその「消防士は危ないから遠隔ロボットに置き換えるべき!」的な夢想論は?という感じでですね… >>502
だから「C?あんなのは高級アセンブラだ!」となる
大部分の人がC/C++初心者のころつまずいたはずの
「ポインタわけわかんねー」ってのは仕様w
ところでC++というのは何のことでしたっけ?ww 型を理解できない底辺ジャップランド土方どもは
屁臭いペチプァ〜でウンコードモリモリ大将軍してればいいよ Objective-Cとかクラス取り回しランタイムのオーバーヘッドで嫌われたのは
わからんでもないけれど、あれそれこそクラスがLAN上の別のマシンで動いてるぐらいの
分散処理を志向してるから、もっと思想が見直されてもいいような気がするが
なぜか、ネット時代になってもディスクリートなプログラムを一つのマシンで動かすぜ!用が
いつまでも手を替え品を替えというのは、教授これはいったい?
C++じゃなくてObjective-Cが流行ればいまのオブジェクト指向絡みの勘違いは
8割方解消されていたろうになぁ 優秀な米留学組は型推論使ってできるだけ隠蔽して
生産性・保守(人材確保)性あげることを考えるはずだけど
一方2chでだべるだけのもいるよねw short とかいらんかったんや。
long long long は準備しとけよ。 抽象化してなんでも隠蔽すればいいと思ってるのはカスだってばよ。 必要なモノまで隠蔽した結果メクラガイジになったペチプァ〜〜〜〜さん達の悪口はやめたまえ >>510
分散オブジェクト指向はJavaも.NETもWindows(COM)もとっくに通った道だろ
デプロイの単位とモジュールの単位とが一致しない技術を人間はうまく扱えないんだよ ネットに送信するメッセージは文字列と決まっている
だがOOPは抽象的過ぎたのでメッセージとは何かを決めることができなかった php書くとき、型は気にするのでは?
eqeqeq使えないじゃん >>518
静型言語よりもっと型気にせにゃいかんのに
チーム開発で使うと、知らない初心者、気にしないバカ、ケアレスミスが組み合わさって
ほぼ確実にモンスターと化す >>519
あー、その地雷は理解できるわ。
型がないからうんぬんペチプァーと言ってるようなやつは前者の2つどっちかって印象。
あの道具に徹する姿勢好きなんだけどね。
気をつけて使うとそこそこまともだし。
敢えてfalsyなものを扱う勇気も要るけど。
気をつけたくないやつには向いてない言語。
言語仕様が破綻してるってのもまぁ、php3の時点であれだったのに、その後また使える文字減ったし、諦めるしかない。 >>521
評価した結果falseとみなされる値。 使い捨てのモックとしてならまだしも
そこそこの規模の開発で使って苦しんでる連中は
ただのバカとしか思えんわ >>523
既存コード捨てられない病の人居るからねぇ。
あとはフレームワークしか使えない病の人とか。 May the Forth be with you! mlが黄泉から還って左目を洗ったときにsmlが産まれ、右目を洗ったときにOCamlが産まれ、
鼻を洗ったときに産まれたのがF#であるらしい elmの話題が無いみたいだけど触ってる人いないの?
elmの影響を受けたというreduxをtyprscriptから使ってるけど、
reducerを書くのにimmutable.jsを導入してみたらtypescriptと相性があまり良くなくて悲しい。
どうせならelm触ったほうが幸せになれんのかしら。 低レベル記述は出来なくてもいいから、短く書けて速いバイナリを吐く言語ってなんだろ? あまりにもマイナーな言語だと誰も行列計算を実装してくれてなくて面倒臭い >>535
俺にはちょっと冗長かなあ……
内包表記もmapもないのは俺には辛い 本当内包表記もmapもないのは謎だわ
おまけに三項演算子もif式もmatch文もないし
うんこ オブジェクト指向言語で作るときよくOMT(オブジェクトモデリングテクニックとかなんとか)をよく使って設計してたんだけど、
関数型言語で作るときは何使えばいいの? 今思いついたんだが
数学は公理を使えばいいというより、公理以外の何も使わない方がいいな
特に言語に依存するテクニックを使ってはいけない
言語を変えた途端に使えなくなるので 三項演算子は構文がまるで違うからね
式中にもif書けるようにするからそれ使えの方向
(逆にif廃止全部三項演算子使えな言語があったらおもしろいけどw) >>541
関数型の重要な設計指針として、トップダウンで考えるというのがある
1. 問題全体の結果を求める関数のスタブを作る
2. スタブを一つ選ぶ
3. 2で選んだ関数を実装するために必要なものを考え、それぞれを求める関数のスタブを作る
4. 2へ戻る
これを、すべての関数が十分(容易に実装できるレベル)に細分化されるまで繰り返す
こうやっていくと非常に明快で平易なコードになる
逆に入力から出力を導くという考え方で作ろうとすると、俺スゲェに陥って意味不明なコードになりやすい >>544
構造化手法ですか
業務系はオブジェクト指向のが良さそうだ 「おまえはこういうコマンドを与えるとこれをやるクラス」って
トップダウンで構造決めてくオブジェクト指向の基本手法の
単語入れ替えたコピペかと思ったw
そしてそれならコマンドに対するふるまい変えられるオブジェクト指向の方がいいや トップダウンの細分化をどこで止めるかを考えないと意味がない
CPUの種類までトップが決めるのか?
CPUを変えたり仮想関数のふるまいを変えたいならトップダウンを止める必要がある >>537
この需要ならrustがベストかいなー
何をするにも面倒な言語というイメージがあって避けて来たけどやってみるか
ありがと もし関数型で大規模な業務アプリを作るなら、大まかなところは伝統的なIPOベースのDFDで描いて
各プロセスを>>544のようなスタイルで実装していくことになるんじゃないかな
データ指向の設計ってCOBOL時代に既に完成してて、あとは莫大なコピペコードの問題を関数型の高度な宣言的記述によって回避できるなら
設計手法としてはわざわざ意識高そうな複雑な手法を持ち出すまでもなく十分に完成と言えると思う 俺が若い頃(90年頃)はC言語の事を
関数型言語と呼んでたのに。 関数型が注目されてるのってマルチコア時代の並列処理を効率良く動かすための
手法として注目されてるわけで
更に次の世代というと、量子コンピュータってことになるけど
今の実用化している量子コンピュータは機械学習に最適化されてるんで
つまり機械学習専用言語ってことになるのかな >>553
飽きてきたから次のおもちゃってことだろ 機械学習のハードが実現してなくても、ソフトで実現すれば数世代先取りできるだろ
現にソフトで機械学習やってるし
ソフトでやるのに飽きた頃にハードが出てくる 機械学習専用ハード(ASIC)もうあるよグーグルTPUとか ハードの実験っていうかオープンソースじゃない実験は再現性が怪しい >>559
どういう理由でアツイの?
またその「学問分野」って具体的にはどの分野? >>559
Googleは君の興味関心を学習して君の見たい世界を見せているということを念頭に置いておいたほうがいいよ >>560
東大辺りの奴らで、機械学習をわざわざOCamlで書いてる輩が増えているらしい 。ライブラリも整備されてきたってよ
>>561
知ってる。ちなみにOCamlの情報はGoogleじゃなくてリアルの交友経由の情報 まああくまで微妙にアツイだからな
ScalaとかHaskellもあったかな?
他はもうC++FortranPythonMatlabMathematicaしか知らんなあ
ケムインフォマティックスなんかはHaskell Scalaはやってる人いるけど Ocamlは聞かないし、やっぱりHaskell Scalaのが上かな? haskell とか scala とかってもはや学習した時間を無駄だと思いたくない人たちが
無理やり盛り上げてるようにしか思えないんだが。 OCamlはマルチコア対応になったらまた始めたい
Jocamlとか折角面白いのにシングルコアなんで魅力半減 HaskellもScalaも関数型言語の考え方だけ学んだら用済みで、
取り入れるだけ取り入れたJava8や、Kotlinが正義
このスレでは叩かれたが、今となっては俺の言った通りになったじゃないか 正直kotlinが優勢だよね。感覚的には
golangは早めに安定したから今はやってるけど、
また状況は変わりそう。
rustはメモリオーナーシップモデルをswiftにパクられたらいらない子になりそう。 >>565
たし蟹
Scalaはそこそこ良い言語だったけど
尖りすぎてKotlinにあっさり置いて枯れてしまった kotlinはscalaの知識使えるし別に
webならplayあるscalaの方が有利だし使い分けじゃね >>571
Playは絶賛失速中だろう
コミュニティは機能してないし勉強会もイベントもなく、QiitaやTwitterにももう何もない
Scalaで使ってた人はRailsやDjangoを使い始め、Javaやってる人はSpringに戻っていった やっぱりGroovyやってた人たちが一番先見性あったな
次はどの言語だろう… >>572
今さらRailsとかどんだけセンスないのおまえ(暗黒藁半紙)
型無し能無しセンスなしの糞ゴミ言語は全員死ね
マツボックリだかなんだか知らんヒゲ爺は
さっさとこのゴミ言語を潰せボケ >>562
レスと御教示ありがとう
機械学習のコードをOCamlでですか むやみやたらと大量のソースコードを量産して、ディスクの肥やしにする最近の風潮になじめない。
元凶はJavaあたりか。
価値のあるコードってのは、定義が難しそうだけど、
たとえば実行可能コードとそのソースコードのボリューム比較を考えてみると、
ソースが理不尽にふくらんでいる気がする。
hello,worldに数十行ってのは本末転倒。
なんでもかんでもオブジェクト指向しなくても、昔も別に困ったわけじゃないんだから、OOが必然ではないはず。
どんどん全体を見渡せる、いわゆる、神の目を持つものが少なくなっている。
まあ、仕事を増やすって意味で業界に貢献してるんだろうけど、ばかばかしいほどにまで非効率になっている
気がするね。 記憶力が落ちただけだと思うよ
自分で気付いてないだけ どこの世界の話だ
ここ最近の風潮では、短いコードが正義だと関数型を採用しひたすら抽象化に邁進する流れじゃないのか 少なくとも日本ではなさそうだな
ジャップランド土人は屁臭いペチプゥで
型無し能無しセンス無しの糞コードウンコモリモリ大将軍してる
基地害低脳ゴミカスしかおらんからな Petit peu な Codeaux un commois liais mois liais? Ceylon は消えるだろうな。キラーアプリが出てくれば別だけど。
(Ruby がRailsで一発当てたみたいに、すごいソフトが出てくればの話だけど) 最近のKotolin 推しって何なの?
一時期Scala を押していた人たちがKotolin に移っているのかな? Androidもしらないサーバーサイドお爺ちゃん
組み込み曾お爺ちゃんの後を継ぐのは君だ きっかけはAndroidの件だけど、Kotlinを話題にしてるのはサーバーサイドの連中が中心だろう
Android開発なんて金にならない三流分野で、プログラミングのメインストリームを変えるような影響力なんて無いよ 今はなんとなくSwiftやTypeScriptのような言語が流行っている雰囲気があるから。
Java/Android界隈の人も var 変数 : 型 って書きたいんだろう。 >>590
プログラミングのメインストリーム変えるような連中は、Android開発だろうとサーバサイドだろうとなんでもできるフルスタックが多いんじゃない? var 変数 で型推論してくれるのが前提の書き方のはずで
関数型言語だと「型注釈は(コンパイラが失敗するまで)書くな」だけど
: 型 つけないとコンパイラに怒られまくるなら最初から書いとくのも仕方ないね >>592
フルスタックな人ならクライアントに置くコードは最小限にするはずだから、
Androidアプリを何で書くかなんて深く議論するに値しない些細な問題だよ >>593
>関数型言語だと「型注釈は(コンパイラが失敗するまで)書くな」だけど
誰がそんなデマを言いふらしてるんだ? 天才プログラマが一人で全部作りましたって時代ではないからな。。 >>595
逆に積極的に書くのがベストプラクティスなんてのがどこにあるんだよ? まぁ書かないのが良いとはされてるが、プロダクションコードはコード規約とかで、全てに型注釈入れろとしてるとこが多いね ■ このスレッドは過去ログ倉庫に格納されています