X



次世代言語議論スレ[Go Rust Scala Haskell]第5世代 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0907デフォルトの名無しさん
垢版 |
2017/08/22(火) 11:49:00.34ID:i6ZzO263
光のオーロラ身に纏い
君は闘う人になれ
傷つことを恐れたら
世界は悪の手に沈む

ネットバトラー爆誕である
0908デフォルトの名無しさん
垢版 |
2017/08/22(火) 11:54:49.36ID:wr0MW0qV
>>903
ニュアンスがやっぱり違うぞ
金もメモリも使わずかつ実装が簡単な代替えとなるとそうなるって話
HDDの速度考えれば都度転送のがまだマシだろ
本当はtmpfsが手っ取り早いけど
0909デフォルトの名無しさん
垢版 |
2017/08/22(火) 16:38:49.34ID:WO9jjhJ1
名古屋から山口組の6代目が出たんだし、SKEにも頑張ってほしい


◆AKBは近代ヤクザのシステムを導入しているとしか思えない◆
http://robo-mae.com/2017/06/20/

なんか本職のヤクザ?が書いてる裏事情ブログでおもろいから読んでるんだけど、
ぽいけどこの記事だけ的確過ぎて笑ってしまった。
この人は結構ヲタなんだろうけど、組内では内緒にしてるのかな?
0910
垢版 |
2017/08/22(火) 20:55:51.79ID:5SSOVQI8
パイプとかRPCでやるなら、
プロセスAがデータ作り終わったら、
プロセスAがデータを一定量、プロセスBに送って、
プロセスBはそれを受けてバッファに置いて、
プロセスAは送った分、確実にメモリを開放して、
全部送り終わったらEOF送って、
プロセスBはEOFで走り出せばいいんじゃないの?
その送受信フックしといたら、プロセスBだけもう一回走らせるのも簡単だし、別の計算機でプロセスB動かすのも簡単だし、エビデンスにもなるのでは?
0911
垢版 |
2017/08/22(火) 20:57:28.90ID:5SSOVQI8
全部送り終わったら、のところ、全部送り終わってなければ、また「一定量送って」にループね。
0913
垢版 |
2017/08/22(火) 22:19:18.76ID:5SSOVQI8
>>912
Fortranなら、allocatableで宣言して、allocateで適当な「一度の量」単位で確保して使って、送ったらdeallocateで開放すりゃいいんじゃないの?
pointerで宣言してるならちと考え方変えねばならんかもしれんが。
あと尻から送ったほうが良いかも。
GCある言語だったら開放待ち作らなきゃなんともならんな。
0915デフォルトの名無しさん
垢版 |
2017/08/24(木) 03:36:25.37ID:89P6VciC
久しぶりに覗いてみたらまだこの基〇外いたんだwww
俺が勉強している間も遊んでいる間も色々している間もずっと書き込んでいたんだねww
0917
垢版 |
2017/08/24(木) 12:57:45.68ID:aPple+DF
勉強したり遊んだり仕事したり2chに書き込んだりしてるだけだがなぁ。
一度に1つの事しか出来ないんだろうか。
0919
垢版 |
2017/08/24(木) 13:10:59.72ID:aPple+DF
賑やかしでいいんじゃないの?
黙ってたら進まんかHaskell信者が踊り狂うスレなんだし。キャットドア()の検証()するスレで良いの?

あと、そもそも盛り上がってたら静観してあんまり書かんぞ。
0920デフォルトの名無しさん
垢版 |
2017/08/24(木) 13:23:19.75ID:PzOnmf2Y
結局Haskell最強ってなるの。
正直あんまり仕事で使ってる感じしないけど。
なんか研究者が戯れに使う感じ。そもそも何に向いてる言語なのhaskellって
0921デフォルトの名無しさん
垢版 |
2017/08/24(木) 13:28:16.99ID:0Cezav5n
エンジニアガイジ再訪。Part4より

905 :デフォルトの名無しさん:2017/05/31(水) 06:14:00.96 ID:wEozaoTa
>>879
では、具体的にGHCが実行時型情報を必要とするケースを挙げてみろよ。
言っておくが、パラメトリック多相は全てコンパイル時に解決されるし、
型クラスによるアドホック多相も、あれは関数オーバーロードの形式化だからな。
関数オーバーロードはコンパイル時に解決されるぞ。
さあ、具体的に挙げてみろよ。

908 :あ:2017/05/31(水) 09:15:21.09 ID:dc+IbjjD
>>905
具体的に上げろと言われてもなぁ。
<T>を持ったenumがOptionかcar(T)とcdr(<T,T>)である時くらいかな。
0922デフォルトの名無しさん
垢版 |
2017/08/24(木) 13:32:07.62ID:z+OCxOWy
>>920
仕事で使ってるよ
ファイルのバリデートチェックとか
あとはネットワーク構成の論理矛盾がないか調べる内製ツールもHaskell
0925デフォルトの名無しさん
垢版 |
2017/08/24(木) 21:27:56.58ID:LiUup8WI
>>924
まぁ向き不向きの問題ってことかね。
haskellはバリデーションチェック系が得意っていうのはやっぱりパターンマッチングで宣言的にかけるからってことなのかね。
パターンマッチングはrustとかelixirとかでもできるわけだから
haskellじゃなきゃダメってことはなさそう。
0928デフォルトの名無しさん
垢版 |
2017/08/25(金) 00:50:39.84ID:KCgpTMlD
ある。使ったことは無いがhttps://github.com/BurntSushi/quickcheck
ただRustの型システムはHaskellより貧弱だし、最初からメモリについて意識しないとプログラムが動かない
Haskellで作ったプロトタイプをRustで書き直して速度を稼ぐのはアリ
0931デフォルトの名無しさん
垢版 |
2017/08/25(金) 13:37:23.88ID:nLnLKgfd
>>930
ちょっと言ってる意味わからない。(言いたいことはわかるかな)
暗黙の型変換好きってなら、そのあとの でも型システムを信じすぎる 云々につながるけど
0932デフォルトの名無しさん
垢版 |
2017/08/25(金) 20:25:21.97ID:7uFXgRip
暗黙嫌い=与党ってことだな
たとえ内容が全く同じでも、野党が批判するのと、与党の俺が批判するのは全然違うと
最近の日本語は面倒臭い
0934デフォルトの名無しさん
垢版 |
2017/08/25(金) 20:56:12.07ID:Yqz1DVXO
例えば perl みたいに "123" を勝手に数値変換したり文字列として取り扱ったりってな
言語は好きじゃないって話が一方であり、
じゃあ haskell みたいに型チェックを強めにやってりゃバグありませんって態度も
どうかと思うって話だよ。

なぜ与党とか政治の話になるのか謎。。
0935デフォルトの名無しさん
垢版 |
2017/08/25(金) 21:20:19.63ID:7uFXgRip
与党は比喩だな
一方、Haskellの「バグありません」って態度とか台詞とかは擬人化だろ
0936デフォルトの名無しさん
垢版 |
2017/08/26(土) 08:42:33.45ID:OYkNf4vr
PerlとHaskellは両極端だが激しい対立は起きてなかったよね
対立がなかったところに中立の勢力が現れて両極端 vs. 中立の対立が発生したよね
中立の意味ないんじゃないか?
0937928
垢版 |
2017/08/26(土) 08:49:18.26ID:Mm+y9adx
HKTが無いことを念頭に入れてのレスだったんよ。RustじゃHaskellで便利なFunctorは作れない
型システムを信じすぎるって状況が自分も想像できない。他言語の話だろうか
0938デフォルトの名無しさん
垢版 |
2017/08/26(土) 13:53:01.93ID:+XRpmYj4
ペェ〜ルだかプェチピィだか、あんな真性糞ゴミを中立の位置まで持ち上げて議論に引き出すのが
そもそも間違っている
あんなんジャップランドの土方SIerの低学歴奴隷どもしか使っとらんぞ
0939デフォルトの名無しさん
垢版 |
2017/08/26(土) 15:13:15.69ID:attIITNf
>>938
海外でも使われてるし、土方SIerはむしろPHPなんか使ってなさそうだし色々間違ってるんだが
0940デフォルトの名無しさん
垢版 |
2017/08/26(土) 15:34:56.04ID:+XRpmYj4
>>939
土方SIerにこき使われてる低学歴奴隷ども、な
おまえさんは海外でウンコが食われてたらおまえさんもウンコ食うのか
ガイジか?
0941デフォルトの名無しさん
垢版 |
2017/08/26(土) 15:37:34.37ID:yVg+x2rU
自社事業やってるベンチャーをいくつか転職活動で回ったけど、
俺達の事業に最適な最高のシステムを独自に開発した!もう人間要らねえ!俺すげぇぇ!
みたいな知性を感じないオレオレ系はPHP多かったな
もちろん即辞退
0942
垢版 |
2017/08/26(土) 15:42:18.00ID:X5M1TIXy
>>938
SIerの仕事は、技術ではなくて管理だからな。
不良率や稼働率を客と話し合って、SLAを結んで、それを満たすシステム作らせるべくプロジェクト立ち上げて管理して納品させて、自分らが納品するのが目的なんだし、
定義した稼働率満たしてりゃ中身がなんであれそれで良いよ。
それ以上の品質はただの過剰品質。化粧板止めるネジにチタン使うぐらいのバカ。
理想論者の技術バカは、ちょっと自分に何が求められてるのか把握してほしいわ。
0943デフォルトの名無しさん
垢版 |
2017/08/26(土) 16:10:01.03ID:+f59r+kw
>>941
事業としてはそれが正解な気がしないでもない。
人間いらないならなんで募集していたのかとか気になるが。
0947デフォルトの名無しさん
垢版 |
2017/08/26(土) 19:59:48.46ID:VInW/Le9
>>942
わるいが、俺は25年ぐらいしか業界経験がないから、
「過剰品質なソフトウェア」ってものを見たことがない。
品質が高すぎるが故に害があったソフトウェアの実例を教えてくれるか?
0949デフォルトの名無しさん
垢版 |
2017/08/26(土) 20:34:24.42ID:+XRpmYj4
>>948
ウンポコピーの糞プェチピィ土方を寄せ集めたジャップランド土人さんの悪口はやめたまえ
0950デフォルトの名無しさん
垢版 |
2017/08/26(土) 20:59:45.94ID:UaCnfxPk
いい加減にマ板でやれ
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秒
レス数が1000を超えています。これ以上書き込みはできません。

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