X



次世代言語議論スレ[Go Rust Scala Haskell]第5世代 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0952デフォルトの名無しさん
垢版 |
2017/08/27(日) 01:25:48.62ID:gWxugQMb
goだとGAE/goが使えるから。という理由でGO言語が選択されてたりするかな。

中国人がGOが好きだという話を中国人のエンジニアの人に教えてもらいました。その人の話では中国でのベンチャーはいきなり一千万人単位のユーザが生まれる場合があるから、サーバ単価が低くできるGOが好まれるとか
0953
垢版 |
2017/08/27(日) 01:26:55.82ID:0sFxQlMg
>>947
俺はもう少し若輩者だけど、それでも過剰品質はあったよ。
●非常時には止めても良いシステムで、止めないでホットパッチ当てれる仕組みまで作ってた
→案の定その部分が原因でデータ不整合が起こった
●ホットなミラーリングが出来るDB使ってみました
→そもそもテンポラリDBしか使わないジョブ用のバッチ。

と言うように、害があるってのは2つの意味がある。
それを作ったせいで余計な対応が発生して余計にかかったコストを害とする
それを作らなくても良かったのに、作った事による、単純な工数の無駄遣い。
0955デフォルトの名無しさん
垢版 |
2017/08/27(日) 03:28:48.46ID:Xm4zUSYU
>>953
PHPで非常時には止めても良いシステムを書かせる
→通常時も落ちる

PHPでDB使ってみました
→不整合データたくさん入りました

PHPを使ったことによる損失は次元が違うから・・・
0956デフォルトの名無しさん
垢版 |
2017/08/27(日) 06:45:30.70ID:uirFB7xG
PHPで求人だしてるのはそれが一番安く雇えるからだろ
品質なんて気にしないというか知らない
自分が気に入るまで文句言ってれば理想のモノが出来上がると思ってる
画面がーとか言われてもな
0957デフォルトの名無しさん
垢版 |
2017/08/27(日) 07:17:55.40ID:5p3PV0IY
>>953
データ不整合が起こったというのは、品質の不足だろ?
君が言っているのは過剰品質ではなく、過剰な作業項目による品質劣化だ。
0959デフォルトの名無しさん
垢版 |
2017/08/27(日) 08:03:58.19ID:A5vH1dU1
過剰に安く買って過剰に高く売ればいいのにね
物価を固定して品質を変えようとする奴しかいないね
0960デフォルトの名無しさん
垢版 |
2017/08/27(日) 09:30:18.93ID:J8/CoBlN
今時はSIerも>>959を夢見て自社資産(成果物の流用に限らず無形のノウハウも含む)を作ろうとしてるところも多く、
要件を超えることが必ずしも悪いわけではない
俺もコストの半分くらいが自社の投資でカバーされる案件やったことあるぞ
まあSIerのクソ技術じゃせいぜいテンプレート化までなんだけど
0961
垢版 |
2017/08/27(日) 11:15:59.94ID:0sFxQlMg
>>955
phpを安易に使ったことによる損失とは違うが、
テレメトリを受けるだけ(取りこぼしても良い)くらいなら十分よ。
>>957
機能を足したことによる、足した部分の品質不足、だな。
メインの機能は十二分にうごいてた。
蛇足そのもの。
>>960
それは研究開発費でやらないと、案件貰わない限りノウハウがたまらない≒ノウハウがないが故に失注する、を乗り越えられんし、研究開発の大切さが上に伝わらんのではないか?
ソフト屋はみんなそうなのかな。
特許請願しにくそう。
0962デフォルトの名無しさん
垢版 |
2017/08/27(日) 13:29:48.08ID:HU59sOY6
あるECサイトが情報漏えいを起こしてニュースになった。

そのECサイト PHPで調べるとだいたい ECサイト/index.php で大体ヒットする
0963デフォルトの名無しさん
垢版 |
2017/08/27(日) 13:45:21.58ID:0P4eY3kj
でもphpも最近は型アノテーション効くんだよね。
phpは型がないからダメだというのはないかも。
0965デフォルトの名無しさん
垢版 |
2017/08/27(日) 16:14:38.67ID:Xm4zUSYU
動的型付けだから書きやすい!生産性高い!
なんて喚いてたのに
今さらプリミティブ型の型アサーション導入で嬉ション漏らしてるなんて
ペチパーってひょっとして馬鹿なのか?
って思った
0966デフォルトの名無しさん
垢版 |
2017/08/27(日) 17:30:06.18ID:0P4eY3kj
>>965
なんでステレオタイプな一つの人格にしようとしてんの?
俺はphperでもないし、動的言語がいいなんて言った覚えもない。

ただ和田さんのプレゼン、防衛的プログラミングの一環として
型アノテーションを使うことを提案されていて良いと思ったから話しただけ。

http://sssslide.com/speakerdeck.com/twada/php-conference-2016
0967デフォルトの名無しさん
垢版 |
2017/08/27(日) 18:22:30.86ID:Xm4zUSYU
>>966
PHP使うのやめたら?ってレベルのギャグだなもはや
なんかもう必死すぎて、そこまでしてPHPにしがみつくなんて
やっぱペチパーって無能なんだなって
0969デフォルトの名無しさん
垢版 |
2017/08/27(日) 18:50:11.83ID:q7bmEdLB
PHPはなぜライト層が好むのか
0970デフォルトの名無しさん
垢版 |
2017/08/27(日) 19:22:26.33ID:Xm4zUSYU
>>969
「PHPなら初心者でも書ける」という大嘘がまかり通ってるから
そんな連中が書いたゴミの山を保守する奴隷が足りてないから
やっぱり「PHPなら初心者でも書ける」と噂を流して
奴隷がやってくるのを待っている
0972デフォルトの名無しさん
垢版 |
2017/08/27(日) 19:48:59.90ID:ZA6o2PCQ
ライト層が好むんじゃなくて結果的にライト層が残るんだろ
まともにコード書ける奴はゴミみたいな単価のWeb制作なんかすぐ辞めて自社事業系に行くよ
0973デフォルトの名無しさん
垢版 |
2017/08/27(日) 20:47:45.53ID:0P4eY3kj
>>968
プレゼンの内容ロクに見ずに批判してるのがまるわかり。
動的言語の良さと静的言語の良さをあわせてる
動的言語はメタプログラミングし易いからフレームワークの挙動を組みやすい。
でもインターフェースがゆるゆるだと使う時にひどいから
インターフェース部分を型アノテーションで固めようってことでしょ。

javaは全部かっちりしすぎて辛い部分もある。だからkotlinとか注目されてる。
ボイラープレートだらけとかシンドいのは事実

goも若干きつくて正直goaに出会うまではgoでwebやろうってあんまり思わなかった
0974デフォルトの名無しさん
垢版 |
2017/08/27(日) 21:14:56.73ID:0uJKb2TV
動的だとメタプログラミングしやすい…?
メタプログラミングって何かわかってる??
0975デフォルトの名無しさん
垢版 |
2017/08/27(日) 21:42:23.55ID:J8/CoBlN
確かに、Rubyのようにコード上の静的なセマンティクスと実行時のデータ構造とが明確に分離されていない言語において
動的にメソッド生やしたりするのをメタプログラミングと呼ぶのは違和感あるよな
0976デフォルトの名無しさん
垢版 |
2017/08/27(日) 21:43:30.82ID:0P4eY3kj
>>974
ダックタイピングとマジックメソッドの組み合わせによって
例えばORMとかだとDBのスキーマ情報からメソッド生やしたりできる。
そういうのはjavaとかgoだとcode genereateするしかないでしょ。
0977デフォルトの名無しさん
垢版 |
2017/08/27(日) 21:51:14.06ID:0P4eY3kj
>>976
あれ?俺の考えてるメタプログラミングって違うの?
例えばジェネリクスもメタプログラミングだと思ってるんだけど

https://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%BF%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0

を見る限りじゃ合ってると思うんだけど。
簡単に言えばロジックを記述するロジックを組むのがメタプログラミングだよね。
0978デフォルトの名無しさん
垢版 |
2017/08/27(日) 22:12:18.75ID:otpxcVUC
>>977
ジェネリクスによるメタプログラミングは型という本来静的に決まっているものに依存しないという点でメタ
ロジックを記述するメタプログラミングとは意味が違う
動的言語ではメソッドが静的に定義されている必要は元々全くないし、
定義するメソッドもごく普通のメソッドであり決してロジックを生成しているわけではない
LISPみたいに実行するコードそのものを作ってしまうのがロジックを記述する方のメタプログラミングだ
0979デフォルトの名無しさん
垢版 |
2017/08/27(日) 22:25:38.24ID:J8/CoBlN
補足
動的言語でcallをフックする系のメタプログラミングがメタである所以は、
メソッドは本来クラスに対して静的にアサインされるものである、という前提において、
メソッドを動的にアサイン(動的にロジックを記述しているわけではない)しているという点だ
その前提を認めるかどうかは議論の余地がある
例えば、さすがにJavaScriptでメソッドは静的にアサインされるものだと主張するのは無理があるだろうね
0980デフォルトの名無しさん
垢版 |
2017/08/27(日) 22:26:36.34ID:QZuIwK0r
>>977
>>978

メタプログラミング関係ないけど
「ロジック」と「プログラム」という用語をどう使い分けてるの?

プログラムの中にロジックを記述した部分と
ロジック以外を記述した部分があるというニュアンスに受け取れるけど
ロジック以外の部分って具体的に何を指してるのか教えて欲しい
0981デフォルトの名無しさん
垢版 |
2017/08/27(日) 23:44:09.86ID:0P4eY3kj
>>979
難しいっすわ。
つまりjsでメタプログラミングと言ったら
jsのコードを文字列で記述してそれをevalしたものだけってこと?

学術的な定義だと言われると凄く困るんだけど、
メタ って自己言及ってことでしょ
ロジックを持ってロジックを作るという考え方全般をメタプログラミングと呼んだら
実際的に弊害があったりする?

静的言語だと例えばマクロを駆使してコード生成をかける
部分をメタプログラミングと呼ぶ。

rust のprintln!とかだよね
テンプレート文字列の内容を実際に渡すパラメータの数と型の一致の確認をコンパイル時に行う。

goだとプリプロセッサがないからcode genereteがメタプログラミングなわけだ。

でも動的言語だとコンパイルはないから全て実行時に処理する。
だから明確にメタプログラミングと言える箇所はないってことか。
そこはわかったよ。

でも、実際には静的言語にはマクロがないとできないことを動的言語はできる。
だからメタプログラミングが動的言語は得意っていいたかったんだよね。
0983デフォルトの名無しさん
垢版 |
2017/08/28(月) 00:04:08.73ID:bSe63dl4
誰がなんと言おうと、PHPみたいな糞言語使わないし、使う必要もない
生涯を保守に捧げたい哀れな土方どもにやらせておけばいい
0984デフォルトの名無しさん
垢版 |
2017/08/28(月) 00:15:01.04ID:hSp+oBxP
やはり動的型が好きな人はありとあらゆることがゆるゆるで
それはこういった会話にも表れてしまって、全てが場当たり的なんだな
会話がこうなんだから、他のこともそうなんだろう
指摘されてから直したらよい、的な

どうしてそうなってしまうのか、非常に興味深いところであるが
おそらく現実が正しく認識できていないか、もしくは根本的なところを履き違えているだとか
そんなおかしな状態で日常を過ごしていると
思考回路がいい加減になってしまって常習化してしまうのだろう

モデルが正しくないところへ幾らインプットを流し込んでも
正しく学習できないばかりか、どんどん変になっていく
そのうち何が何やらどうでもよくなってしまうのだろう
0985デフォルトの名無しさん
垢版 |
2017/08/28(月) 01:53:37.57ID:2qTxVo4t
>>984
動的型ではなくソフトウェアが好きなんだろう
ゆるゆるという言葉を正しく認識すればわかる
0988デフォルトの名無しさん
垢版 |
2017/08/28(月) 09:41:42.58ID:hmoIfjPi
あほくさ。
そこまで堅いのが好きならすべてワイヤロジックで組むべきだな。
0989デフォルトの名無しさん
垢版 |
2017/08/28(月) 09:48:23.03ID:IHzBG4Iq
メタプログラミングってどれがって定義とかじゃなくて相対的なものじゃないの
敢えて言えば平均的な使い方よりメタかどうかなので、言語によって変わってくるのでは
0990デフォルトの名無しさん
垢版 |
2017/08/28(月) 10:23:02.60ID:knrf7PIh
静的なメタプログラミングにはチューリング完全ではない特殊な言語を使う
コンパイル時に無限ループさせないために
言語が二つあるから完全に二極化している
0991デフォルトの名無しさん
垢版 |
2017/08/28(月) 15:51:07.02ID:PMfiarSN
メタプログラミングという概念について述べてるところに
メタプログラミングの実現方式について返すから話が噛み合わないわけだw
言語処理能力って重要だね
0992デフォルトの名無しさん
垢版 |
2017/08/28(月) 15:54:35.06ID:hmoIfjPi
まあこれ以上、メタプロとはってなこと話しても無駄だろうということで
話題の発端である「動的言語はメタプログラミングし易いからフレームワークの挙動を組みやすい。」
てなところに戻って、
動的言語でフレームワークの挙動を組みやすいかどうかを語った方が良いのでは?
0993
垢版 |
2017/08/28(月) 16:01:40.95ID:J4nOOC8D
>>966
素晴らしいスライドだな。
言語はおいといても、同じ思想で開発すべきかと。
言語仕様がそもそも、スライドの通りにしかつくれない言語のほうが良いとは思うけど。
0994デフォルトの名無しさん
垢版 |
2017/08/28(月) 16:11:48.75ID:hSp+oBxP
どちらにしても次世代言語の覇者なるものがもし出てくるとしても
動的型言語界隈から出てくるわけないので、どうでもよい
動的なメタプログラミングなど悪夢でしかなく、好まれるはずがない
静的な分、Cのマクロの方がましだ
静的型で出来なくて、動的型で出来ることの殆どは、悪手でしかない
結局人間にもわかりにくいし
実行速度を落としてまでサポートするほどの価値はない
0996デフォルトの名無しさん
垢版 |
2017/08/28(月) 19:04:21.49ID:nnMMDr4F
>>984
そうじゃなくて、動的型についてのあんたの理解がゆるゆるなだけだ。
つまり、ゆるゆるなのは、あんたの頭。
0997デフォルトの名無しさん
垢版 |
2017/08/28(月) 19:06:30.14ID:nnMMDr4F
>>994
つまりあんたはOSをインストールしたら最後、プログラミングなんて一切しない人なんだね。
動的であることを拒否するということは、OS上でユーザは実行可能ファイルを一切生成することも上書きすることも許されないということだ。

IEでインターネットでもしてろw
0998デフォルトの名無しさん
垢版 |
2017/08/28(月) 19:41:37.27ID:hSp+oBxP
と、このように関係のない的外れなことを言い出す
ゆるゆるなのは誰がどう見てもお前じゃねーか
0999デフォルトの名無しさん
垢版 |
2017/08/28(月) 19:48:51.91ID:hSp+oBxP
要するには何の区別も分別もついてないということだな
じゃなきゃそんな的外れなたとえ話w
そういった混沌とした状態の頭で生活をしていから
普段から、何もかも、何が何やらで
終いには全てのことが、どうでもよくなるんだろうな
悪循環だな
1000デフォルトの名無しさん
垢版 |
2017/08/28(月) 20:26:26.83ID:3Zs55+dM
よく考えてみたらメタプログラミングってgoとかでコードを書くようになったから意識するようになった。php自体は意識しないで使ってたから。

静的言語、動的言語って分け方もよくなかったね。
静的言語だってマクロ機能があればメタプログラミングはある程度できる。
goだとreflectとか使わないとphpと同じことはできないしできたとしてもかなり苦しい。
結局言語機能が不足してるのが問題なんだよね。

TypeScriptはその点でかなり自由度が高かった
型の直和型と直積型を & と | を駆使して組み合わせられるから
かなり動的言語よりにコードを書ける。

let a :string|number|undefined;

とやるとstringの可能性とnumberの可能性とundeifnedの可能性がある型が作れる。
もちろん

if (typeof a === ‘string’) {
} else if (typeof a === ‘undefined’ ) {
} else {
// ここに来るのは絶対number型だとIDEも認識する。
}
とういう風にTypeGuardも完璧に動作する。

goはエコシステムがいいのにこういうのが充実してないからかなり苦しむことになる。
だからメタプログラミングは弱いって思ったんだけど
静的言語だから弱いって言うべきではなかったな。
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 76日 11時間 32分 19秒
10021002
垢版 |
Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/

▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。