次世代言語議論スレ[Go Rust Scala Haskell]第5世代 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
いざ、語ろうぞ。
スレタイ超過のため、一部省略。
その他もウェルカム。
前スレ
次世代言語議論スレ[Go Rust Kotlin Scala]第4世代
http://mevius.2ch.net/test/read.cgi/tech/1492631007/ 構造化プログラミング -> オブジェクト指向 って進化は基本的に
制約をきつくしていく傾向だよね
だから次世代はもっときつくなる。
多分参照型の消滅が次世代の考え方になるのかなと思う。
次世代っていうか関数型の話だけど。
参照型って結局ポインタ型つまり機械語にかなりよった概念だと思う。
これのせいで値の比較とかが難しくなる
インスタンスの内容が同じなのに == で評価したら不一致。みたいな。
参照型って結局メモリ節約のシンプルな解決方法にすぎない。
Immutable.jsとかみてると内部構造をメモリ節約できる仕組みにして隠蔽するとこで表向きは値型にしてる。こういうことができるんだから全部値型で構わない。 >>745
perlは役に立つぞ
役に立つという条件さえクリアすればなんでもいいという単純な時代もあったんだろう
今は役に立つだけでは不自然と判明したから更に複雑な条件が追加されていくだろう 俺はもうscript系の言語はbashとpythonでいいわ。 >>745
そこである程度整理したら perl6 になったんだけども・・・ シェルスクリプト系はカーネルにフリーライドしているくせに
そのことを全く気に病む様子がない
Java系は自己完結とかOSを作りたいとか自分自身をコンパイルしたいとか煩悩が多い 未だにペェ〜ルとかいう真性糞ゴミをひり出してる糞製造器は死ね
死ね >>750
いろんなものに手を広げずにシンプルな仕様だけを用意していた方が
結局互換性が高いってことだね。 Mono(.NET)と、.NET Coreの用途の違いは、すでに100%.NET環境が移植できていれば.NET Coreの出番はないはずだが。
そうではない環境では、その環境を構築なしに移植できるってことか。
C#のコードをLLVMのアセンブラに翻訳したらあとは既存LLVMに丸投げできるから、移植コストは低く共通化できる。 \______ _______________________/
○
O モワモワ
o
∧_∧! ハッ! / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
___( ゜∀゜)_ < という夢を見たんだ
| 〃( つ つ | \________
|\ ⌒⌒⌒⌒⌒⌒\
| \^ ⌒ ⌒ \
\ |⌒⌒⌒⌒⌒⌒|
\ |.________| >>754
.NET CoreはCLR自体をアプリに同梱するように作られていて、AOTコンパイルではない
LLVM対応もJITをLLVMで実装しようというものに過ぎず、あくまでコンパイルはJIT
Coreは基本的にWebサーバー用だから少々起動に時間がかかろうが全く問題にならない こんなのでてきた
Microsoft、C++技術で.NET Core 2の高速化実現 [2017/07/22]
Microsoftは7月20日(米国時間)、.NET Core 2.0で採用されている高速化技術「PGO (Profile-Guided Optimization )」について伝えた。
この技術はC++コンパイラでより最適化されたコードを生成するために使われているネイティブコンパイラ技術。
.NET Core 2.0にも同様の技術が適用されており、すべてのユーザは特定の処理をすることなくこの高速化技術の恩恵を受けていると説明している。
http://n.mynv.jp/news/2017/07/22/096/images/001l.jpg
http://n.mynv.jp/news/2017/07/22/096/images/002l.jpg
http://news.mynavi.jp/news/2017/07/22/096/
Microsoft、LLVMベースの.NET/CoreCLRコンパイラLLILCを発表
2015年5月6日
.NET FoundationがLLILCという新しいプロジェクトのリリースを発表した。
このプロジェクトはもともとMicrosoftによるもので、.NET Coreのための新しいLLVMベースのネイティブコードコンパイラを提供することを目的としている。
これによって「CoreCLRが移植されていてLLVMがターゲットとしているプラットフォーム上で」.NETプログラムを動かせるようになる。
LLILCのロードマップによると、Install-Time JITコンパイラが次のターゲットだ。「これは生成されたコードを、
1つのアプリケーションの複数の呼び出しの間で、または1つのアセンブリセットを共有する複数のプロセスの間で共有できるようにする」。LLILCプロジェクトでは、Ahead-Of-Timeコンパイラの実装も検討している。
https://www.infoq.com/jp/news/2015/05/microsoft-llilc-llvm-compiler >>742
世間で言われてる分類で言えば全部第3世代言語だからな
他でドヤ顔で言ったら恥ずかしいぞ >>742
世間で言われてる分類で言えば全部第3世代言語だからな
他でドヤ顔で言ったら恥ずかしいぞ
第4世代はユーザが使う言語
JavaはC++--って言われるくらいで先進性よりも普及を重視してたんだろ
今はもう滅茶苦茶だが
でC++++でC#と 次世代はサービスインテグレーションのための超高レベル言語だろうな
ドメインスペシャリストと開発者の間の垣根を無くすことと、強力なサービス連携がポイントだと思う >>759
そういう意味不明などやりかたされてもwwww
このスレでは誰もそんなくくりの話はしてない
第四世代言語(4GL)がなぜ次世代なんだかわからん
4GL
https://ja.wikipedia.org/wiki/4GL
SQL、R言語、RPG-IIの話なんて誰もしてない でもまぁ方向性としてはありかと。
結局プログラミング言語ってツールなわけだから
何かに特化したほうが仕事はやりやすくなる。
DB設計したらwebAPIの定義と処理が自動実装されるようなDSLとか欲しい。
golangのgoaとかAPI設計からGoのコードを自動設定するから近いっちゃ近いけど
DB周りとの連携はまだイマイチかなと。 >>761
一般的な意味でないから個人で勝手に決める以外ないだろって意味なんだが
難しかったか 自動でコード出力する系は嫌い
改造するの面倒だし
マクロみたいなのが好き Excelからコードを自動生成するPHPのプロジェクトがあったなそういえば コード生成系は出力先が機械だから手加減しない感じがあるからね。。 でもgoaは割ときれいなコード書いてくれるから、結構勉強になるし、生成ファイルとは別ファイルにして動作をカスタマイズする前提だから、
マクロとそんなに変わらないと思う。
マクロよりマジック感が減るから処理を追いやすいし コード出力ってそのあと追記とかするの?
戻れなくないか
いっそバイナリ吐いてくれた方がよくないか 糞バカペチプァにそんな知能あるわけないだろ
やつら、次に食べる飯と寝ることくらいしか頭に入らない小頭症のガイジだからね >>768
根本的に一から勉強し直したほうがいいぞ
>>769
追記どころかバージョン管理からも外すよね普通 >>769
それじゃ混ぜて最適化できないし
APIの公開非公開の制御もできないじゃん
そらGPLとか仕事じゃないなら関係ないかもしれないけどさあ >>771
いや流石にソースか出力どっちかはバージョン管理に入れるだろ
CIしてたらコンパイル通らなくなる まあいろいろな環境でも動かしたいとかいう理由で出力したソースを
コミットすることもあるけど、あんまりいいことないよ。。おすすめしない。 >>769
もちろん生成コードとは別ファイルにカスタマイズコードを書くよ。
だからgitの管理対象外にするのが普通。
ただ、俺はあえて管理対象にしてるけどね。設計変更したときに自動生成コードがどんな変更をしたかわかりやすい。
マクロ系だとこういう部分が隠蔽されてると考えることができる。
デコレータとかもそうだよね。
goはジェネリクスとかマクロがない代わりにコード生成を推奨してる言語と言えるね。
最初は後退した言語だと思ったけど
コード生成と衝突しない書き方ができるから、マクロとかで裏でどういうコードが生成されているかを把握できる言語と考えれば悪くないなと感じてる。 phpバカにしまくる奴が疑問。
言語としてはまあボロボロだけどnginxとphp-fpmより安定したサーバ書けるの?って聞くと黙ったり、
過去、ひどいコード書いたとか、ひどいコードの保守したとしか考えられん。 nginxとphp-fpmより安定したサーバ書けるの?という質問が意味不明で黙るしかないよw 実用に耐えてないじゃん?みたいな話。
Goのサーバも見たことあるし、ErlangもElixirもあるけど、ずーっと誰かが推してるウェブベースのアプリって見たことねえなあ、ってのが
>>770を見て>>776を書いた所以。
脈絡ないのは認める。すまん。 >>781
その辺はAPIやワーカーの実装に使用されるケースがほとんどだろ
PHPとは競合しない >>782
そうでもないよ。普通にいわゆるSSIみたいな形で動的なコンテンツ差し込むサーバも見たことあるし、
逆にPHPでも1ファイル1機能のAPIサーバと静的htmlの組み合わせも見たことある。
後者とは競合すると思うんだが。 nginxが実用に耐えない…?
普通につかってるが… 前スレ
918 :あ :2017/05/31(水) 11:10:55.99 ID:dc+IbjjD
>>916
子供作るときに一通りそういう気質があるか調べてもらったが、幸いながらアスペではなかったぞ。
残念ながら多動はあった。 >>784
逆。nginxやphp-fpmは信用に足りるが、
個別にウェブサーバ立てるような言語は結局nginxやらtraefikやらのバックエンドに立てんじゃん?みたいな話。
>>786
だから何なんだ…(笑)
それをもってしてもちゃんと働いとるぞ。役職付きで。 まるでphpなら、それらがいらないかのような口ぶり >>790
リバースプロキシは要るだろうが、その裏に立てるのもphp-fpmなりなんなりの、それなりに枯れたもので、スクラッチせんで良いでしょ。 他の言語が優れてるのも認めるし、phpがポンコツなのも認めるが、
それ以上に自分で書いたサーバはあてにならん。 そりゃ君がPHPなんか使ってるからだろう
スクラッチといったって既存のライブラリを使うわけだし、
そのライブラリがnginxに比べて枯れてないことが大きな問題になるほどHTTPサーバーなんて高度なもんじゃないぞ? あと、今時は静的コンテンツの配信やパスベースのルーティング、SSLなど
Webサーバーの多くの機能をクラウドプラットフォームに任せてしまうから、アプリから独立したWebサーバーの必要性は低下している
もちろんガイジの主張においてnginxがクラウドプラットフォームに置き換わっただけであることは認めるけどね まあPHPを安易にバカにする奴はエアプログラマだとは思うわ
使われてるだけあって書いてくれって言われることあるし、
書いてみりゃわかるが小規模なら生産性高いからな実際
Wordpressカスタムで済ませられる案件も多いし >>793
俺自身はphpを使うことがある、くらいよ。
既存のライブラリなんて余計に使えないだろ。いろんな意味で。
>>794
それはわかる。GAE/goをタダで使ってる身としては効率的だし、インフラのコストや安定性は桁違い。 >>796
GAE/goってそんなに使うの。
DBが独自になるのが気になるんだが phpは人口が多くて趣味やデザイナから来た奴が多いのかレベルが低い
他の言語知らないって奴もよくいる
なのでphpの仕事はあまりしたくない >>798
なるほど。そういう考えもあるのか。
Goだったら少なくともプログラマーになりたい人が使ってる感じかな。 仕事でGoつかえって言われたら苦痛だな
もっと自由にさせてくれって思う >>797
めっちゃ安い。めっちゃ早い。
永続化考えたら少しめんどくさいから、リクエストに対して即結果が出せるようなものを数珠つなぎにして出せるようなものにしてるよ。
>>798
それはよくあるな。
あと、外注が海外に投げるとホントにひどいのが出てきたりする。 >>798の文脈でいうならGoの仕事は悪くないと思うけどな
少なくとも秀丸で書いてFFFTPでデプロイするような奴はその職場にはいないだろう >>802
すごいな2003年辺りで時間が止まってそう。 typescriptをメインに据えてる会社とかないかな。
正直typescriptであればサーバサイドjsもありな気がする。 >>801
> 永続化考えたら少しめんどくさいから、
> リクエストに対して即結果が出せるようなものを数珠つなぎにして出せるようなものにしてるよ。
もう少し具体的に話せない?。web+dbみたいな用途では使ってないってこと? まあ go は書いててつまらんからって理由で却下されたことがある職場の話は
聞いたことあるな。
面白くても糞品質だったら無意味だとは思うがな。 >>806
goってつまんないかな。
俺は最初にハマったときはシンプルな構文に抑えようという心意気に感動したけどな。
例えばclassとstruct。コレってどっちかでいいよなってずっと思ってて
goはstructに絞ってくれて、コレだっ!って思った。
後構文規約問題とか。コレって最新の言語rustとかswiftとか全然気にしてないけど
goはちゃんと解決してるんだよなぁ。
あとgoroutineとか。スレッドモデルの操作ってPHPでやろうとすると凄くめんどくさくて最初にgoに触ったきっかけになった >>805
ウェブアプリとしてはあんまり使ってない。DBは必要があれば基本的には外のAPIとかDB呼んでるけど。couchか、とある階層型DBが多い。
それより、もうちょい単機能で、メモ化で済む様な処理で、さらにスケールする必要があるものが多いよ。
jsonに署名して返すとか、緯度経度から国判断して返すとか、バッチ処理でreduceの部分を一万件ずつくらい請けて結果を別のエンドポイントに投げるとか、json渡すとhtml帰ってくるとか、ほんとバックエンド。
DBのデータのマスタや、テンプレートみたいな類も、毎回要るものはそもそもソースに文字列として埋めて、DB使わんでも良いようにしてる。 Goは、あのシンプルな言語仕様だからそもそもが泥臭いけど、何かから書き出してもそれほど無茶なソースにはならないしな。
>>809
なるほど。 >>810
ほーん。いわゆるマイクロフレームワークとして使ってるってことなんね。
中小でしか働いたことがない人間には無縁臭がするなぁ
やはりgoでDB操作は避けるよね、、、。
イマイチgoでRDBMS使い勝手が良くない、、
GormっていうORMが結局いいのかなって思ったけどパラメータがinterface{}型(いわゆるany型、何でもあり型)ばかりで、これ静的型だよね?ってなるし。
RDMS操作の決定版がいまいちgoにはないよね。
>>809
goは好きだけど不満もあるのは分かる。特にジェネリクスがないから
関数パラメータにinterface{}型ばかりになると萎えてくる。
でも片っ端から言語仕様追加してダサい言語になってほしくもない。
難しいね。 >>798
言語仕様が糞なのに加えて、
そういう連中が積み上げてきた過去の遺産があるからね
大手のPHPプロジェクトの悲惨さはもう筆舌に尽くしがたいよ
ああいうの見るとね、冗談でもPHPは便利とか言えなくなるよw 若輩俺氏、PHPを触ったことがない
PHPの仕事ってそんなにあるもんか?全く観測できん いわゆるWeb系でそう思うんなら、あんちゃんが割とええとこにいるからやな
中小奴隷売買でPHP保守のスパイラルに迷い込んだら
ほんとキャリア詰むで >>815
こないだハロワで検索したら無限に出てきたぞ UIべったりな糞カスコードを保守してくれる奴隷を探してるんだろうね。。
直してくれる人をありがたく扱ってくれるならいいんだがそういうところって
本当に人間をごみカス扱いしてくるからな。 直してくれる人がありがたいだって?
余計なことして壊れたらどうするんだ?誰がテストするんだ?
大人しく今のコードを最小限のコピペで直してくれる人を求めてるんだよ、ああいうのは 新しいサービス思いついた
自分で作れないから人を雇おう
ぺーはーぴーって開発者が工数単価安いみたいだぞ
ねえ君、ホントは自分で作りたいんだけど忙しいから依頼するよ
新しいサービス思いついた
安いホスティングサービス借りよう
PHPが使えるらしいから本買って来て作ろう
真っ白い画面しか出ない
ねえ君、ホントは自分で作りたいんだけど忙しいから依頼するよ
新しいサービス思いついた
ワイWordPressマスター
PHPでプラグインが作れるらしい
ねえ君、ホントは自分で作りたいんだけど忙しいから依頼するよ >>820
その最小限がもうどうにもならんくらいになってるからみんな困ってんでしょうが。
てかそういう場所でまともなテストが行われてることなんてまずないけどな。
逆にテストがまともならそんな状況にはならんよ。 >>812
グリーンスレッドならスレッドって何だったっけって思うくらい簡単に書ける。
>>813
マイクロフレームワークだね。
意外に、静的なファイルを撒くのにも便利だったりするけど、何より「全部入り」作ると面倒くささが勝ってくる部分がある。
gorm辛いよ。それなら、boltかleveldbにgobで突っ込んだ方が気楽。boltは書き込み遅いけど。 >>822
ペチプァのテストとは
自動テストのことではなく
Excel項目書の丸付けと
ExcelエビデンスYYMMDD.zipのことですよ >>824
でかい所になるとそれを要求する奴が居るしね。
ただ俺も自動テストのテストは要求するし、
テスト用のクライアント一式(物理〜イントラ接続インフラ一式セットアップ〜デバッグビルド一式が配信される環境含め)を用意してくれと言われたら用意するけど、
ネゴなしにそれ以外のテスト環境でエビデンス取っても不適合でサクッと返すからなんとも言えん。
俺自身コード書いても社内では第三者に同じ事されるし割と平等かと。
これは請ける側のパワー次第だと思うよ。
1次請けが面倒くさがる会社の2次請けさんの嘆きは話は聞く事あるけど、それで1次請けに俺が何か言うと割と問題になるしな。
できることと言えば話のわかる1次の奴と2次の奴を飲みに誘う位しかできん。 >>826
テスト環境用意してくれるんだ。良い会社じゃん。
そっちのほうがいいね。エクセルでエビデンスとかしんどすぎるし
役に立つのそれって感じだし >>827
用意するし、ヤバイから台数増やして!ってあとから言われたら、貸出機出払ってても、少なくともうち来たらテストできるようにゲストカード用意するよ。
エクセルというか文書ファイルは必要悪と言うか、製造業は「いざとなったら手でできる」にこだわる側面もあるから、チェックシートで欲しいってのもある。
その辺汲んで、自動テストのテスト仕様と、自動テストで行うテストと結果を出してくれたら無理矢理でも俺通してきた。
東日本の震災でも、九州の震災とか豪雨でも、非常事態対応しながら開発したり、そもそも対応での不整合影響範囲推定とかせなならんかったし、あれは要る。 >>830
Pyplot と Gadfly と Winston どれがいい? Winston なんかあったのかよ
俺はGadfly使ってたけど特に理由はないなあ
Pyplotも悪くはないけどなんとなく使ってなかった テストとか仮想環境でしかしてないわ
本番も仮想環境ばかりだけど
モノにもよるか 震災が起きると動かなくなる自動テストって何だよ(驚愕) 彼はADHDだから問題の切り分けが苦手なんだろう
大目に見てあげなさい >>834
すでにディーゼル発電機回ってるような状況で、本番機の分しか電源取れないような時に、テスト環境まで起こしてられん。
>>835
切り分け得意だよ。あとバグ出し。
むしろ多動だからなのでは? >>830
どう見ても汎用言語じゃないんだが。。。
RとかMathematicaの分野の次世代言われてもな。。。 今fortranで量子化学のプログラムのボトルネック部分書いたんだけど、バグ取りしんどいわあ。
Juliaで書けって話だけど、Juliaコードは他言語からの呼び出し微妙なんだよな >>838
そういう用途ならFFIじゃなくてファイルだけ連携する伝統的なバッチでいいだろ
その方がリトライや並列化も簡単だし >>839
渡さないといけない波動関数情報が4GBとかになってディスク書き込みにえらい時間がかかるので、ハードディスク書き込みは最低限にしたいんだけど、なんか良い方法あるもんですか? >>840
RAMディスク作るとかRAIDやクラウド使うとか >>840
tee的なコマンド作るといいんでないの? >>841
あんまり詳しくないんだけど、/dev/shmにファイル作って書き込むみたいなもんです?
>>842
??? Cは呼びやすいっちゃ呼びやすいんだが
関数のプロトタイプもろもろがヘッダファイルで定義してあるから
ヘッダファイルの移植が面倒だなぁ
何かライブラリのインターフェースに関して
統一的なフォーマットが欲しいと思わなくもないけど
どっちにしたって関数の呼び出しに必要な構造体とかも
ヘッダファイルで定義してあるし、どうにもならないんだろうな
標準入出力でやりとりするのもタルいし
WindowsならCOMとかあるけど・・・ ■ このスレッドは過去ログ倉庫に格納されています