次世代言語Part7[Go R ..
747:デフォルトの名無しさん
17/11/22 13:15:10.00 0VsrTrOA.net
>>721
日本全体で見れば店員や肉体労働の求人が多いのと同じことでは。
748:デフォルトの名無しさん
17/11/22 13:51:58.93 h8Su9zOg.net
>>723
なるほど、頭を使わんでいい仕事は求人が多いってことか。
なんかすげー納得した。
それを言われて気づいたんだが、「PHPが世界で一番使われてる言語だから一番良い言語」って理屈は
「ハンバーガーとコーラが世界で一番売れている食べ物だから一番うまい食べ物」って理屈と同じってことだな。
749:デフォルトの名無しさん
17/11/22 17:56:25.22 GZ19t0eq.net
>>714
> PL/Iのことか
> 理路整然としてて意外と良い言語だそ
言語仕様が大きな言語は最初から慎重に言語設計がされているから理路整然としているし
その後で言語仕様の拡張をしてもグダグダになりにくい(理路整然さを保った拡張が可能なことが多い)
これはPL/Iだけでなくそれ以降に開発された(各々の開発時点で最も複雑とされた)言語であるAlgol 68やAdaでも同様
> 業務系がC系やVBに流れることなくこのままの方向で進化してれば、業務系の開発は今よりずっとマシなものになってたと思う
Cのように本来は小さく単純なものとして産まれた言語は拡張に耐えるような基本設計になっていないので
拡張するとグダグダになり勝ち
ちょうど最初から巨大なビルとして設計されたビルは通路(人の動線)やエレベーターや水回りや電気系統などが整然と配置され
その後の多少の拡張や変更にもそれらの整然さが余り乱されないですむが、最初に小さな建物として作られた旅館が
色々と増築を受けると通路(特に避難通路)が迷路の如くなり電気配線や水回りの配管もほとんど誰も知らない謎めいた代物に
なるのと似ている
750:デフォルトの名無しさん
17/11/22 18:00:15.91 NgxFNsMl.net
Java や C# は巨大ビルですか?それとも旅館ですか?
751:デフォルトの名無しさん
17/11/22 18:40:29.63 /zFKpQSs.net
PL/M はどうなん?
752:デフォルトの名無しさん
17/11/22 19:52:21.96 my8MUI48.net
PCは部品を増設できるからダメ
SIMロックしたスマホが最強に儲かる
ってことだろ
753:デフォルトの名無しさん
17/11/22 22:10:06.01 DU4siyMG.net
>>721
メンテナンス放り出す奴が多いんだろ。
754:デフォルトの名無しさん
17/11/23 00:57:55.01 rvi39iUw.net
>>723
>>724
ここ最近で一番的確なレスだね
755:デフォルトの名無しさん
17/11/23 09:13:02.77 XBDj7YCq.net
>>724
という勘違いな。
頭使わないのは、仕事じゃなくて単なる作業だからいずれは機械に取って変わられる。
どんな仕事
756:ナも、マトモな奴はちゃんと頭使ってる、って事が社会に出たら分かるよ。
757:デフォルトの名無しさん
17/11/23 09:16:33.31 SpN6ohaw.net
実際にはExelのマクロ使えば数秒で終わるような作業を
毎日数時間かけてタラタラ打ち込んで給料を貰ってる事務職は大量にいるよね
758:デフォルトの名無しさん
17/11/23 09:22:09.16 XBDj7YCq.net
>>732
そのとおりだ。
それで稼いだカネをITに注ぎ込んてくれるんで、プログラマーの仕事が有る、っていうのも事実だけどな。
759:デフォルトの名無しさん
17/11/23 10:22:33.43 e8aKLB85.net
>>731
なにぃ⤴!?
社会に出てるのに分からなかったよぉ。俺ってバカなんだなぁ⤴
社会に出てる君にはそのことが分かるんだろうなぁ⤴wwwww
すごいなぁ⤴wwww
少しまじめにレスすると「社会に出たら、まともな奴ってかなり少ないことが分かった」というのが俺の経験則だな。
大した根拠もなく、他人に勝手な偏見を持った発言をするのは控えたほうがいいと思うよ。
「こいつ、まともな人間じゃないな」と思われる危険性があるよ。
760:デフォルトの名無しさん
17/11/23 11:10:08.14 e22cyQaC.net
多数決だから
まともなじゃない事象があっても確率が51%になるまで無視するから見えない
761:あ
17/11/23 11:44:04.90 HFglKCpm.net
多数決は単なるきれいな暴力だからな。
きれいにお前らを封殺したいんよ、って意思表示も込められるくらいに腹に据えかねてるときしか使わん。
762:あ
17/11/23 11:45:01.64 HFglKCpm.net
票が足らん?普段出ないような社員を「幅広い意見を募るため」と集めたるわ、ぐらいの時。
763:デフォルトの名無しさん
17/11/23 11:54:58.61 KI69K7qK.net
>>733
だから、事務社員様の仕事を奪わないように、
業務モデルを効率化することなく
紙の上でやっていたことをPC上でやって
最終的に紙に印刷できなければならないのさ。
全ては事務社員様の雇用のために。
764:あ
17/11/23 13:26:26.64 VyGloF6k.net
紙に印字できないといかんのはどっちかと言うと事務方よりITでないエンジニアの人の方がこだわるイメージだけどな。
医者は昔相手にしたことあるけど、常に野戦病院と化しても運用できる体制にこだわってたし、実際何度か近い大惨事を経験した。
機械屋も同じで、明るければ読める形での設計資料、過去整備記録、縮退運転切り替え要領書みたいなのにこだわってたな。
入力が楽になるのは素晴らしいけど、入力したものが必要な時って平常時とは限らない、みたいな思想だった。
いずれも、事務方のほうが力弱いから、負けた方の事務方は「今この場には必要ないかもしれませんが、こうすべきと言われてるのでオール電子化は反対です」と端的に言いよるけどね。
765:デフォルトの名無しさん
17/11/23 13:40:51.84 DqyU4UwD.net
>>738
日本の受託ITにそれを批判する資格は無いんだよなあ
業務モデルを変えられないからIT屋に開発の仕事があるんだよ
システムに合わせて業務変えられる民族なら、そもそも大抵の案件は出来合いのパッケージ使えば終わりということになっちゃう
766:デフォルトの名無しさん
17/11/23 13:50:02.49 rvi39iUw.net
>>738
ウンコードにウンコード激盛大将軍してウンコードを積む作業を生み出す
現代の錬金術師ペチパー様のことかね?
767:デフォルトの名無しさん
17/11/23 19:36:28.54 ZEemQUxM.net
Googleが採用決めたSwiftが覇権で決まりか
768:デフォルトの名無しさん
17/11/23 19:42:20.30 rvi39iUw.net
バカ「うーん、これは適材適所だからPHP!wこれもPHP!wあれもPHP!w」
769:デフォルトの名無しさん
17/11/23 19:55:54.
770:79 ID:fGVRHt7J.net
771:デフォルトの名無しさん
17/11/23 20:55:11.34 H0+gJnL1.net
AppleがSwiftやめるらしいが・・
772:デフォルトの名無しさん
17/11/23 21:07:15.98 99G+dhLG.net
>>734
>大した根拠もなく、他人に勝手な偏見を持った発言
724みたいなのも居るしね。
おま環で判断してないで、より良いものを探したら?
773:デフォルトの名無しさん
17/11/23 21:11:45.46 y4EH93iG.net
GoogleがSwiftってことはC++の代替ってことだよな。
あれ、Go言語はどうなるんだ。
774:デフォルトの名無しさん
17/11/23 21:13:15.54 ZEemQUxM.net
>>745
やめるわけがない
iOS 11やmacOS High Sierraで内部での採用も順調に増えてる
775:デフォルトの名無しさん
17/11/23 21:31:24.03 e8aKLB85.net
>>746
ん?ごめん。ちょっと意味が分からない。もう少し詳しく説明してくれ。
776:デフォルトの名無しさん
17/11/23 22:09:26.36 NGg/SBGT.net
未だにObjective-Cのほうが安全という事実
777:デフォルトの名無しさん
17/11/24 09:28:48.51 i/MfPYN1.net
うちは社内の保守的なエンジニアのおかげでSwift移行しなかった。
現状を見れば良い判断だったと思う。
RustもいずれSwiftと同じことになると思う。
778:デフォルトの名無しさん
17/11/24 10:17:28.01 dmeeOCgJ.net
Swiftはプラットフォーム囲ってるからまだ無茶が効く
囲ってる訳でもないRustが同じことなんてしたら一瞬で客が離れるだけだわ。火狐の現状がRustの未来だ
779:デフォルトの名無しさん
17/11/24 10:22:52.20 oidK8tqZ.net
RustはABIを安定させないことで最適化と改良の余地を残しているから
1アプリで完結するようなのはいいけど、基礎的なものを置きかえるには適さないんだよね
サイズの問題もあるし
ま、こんなこといったらC++含めて全部不適格だけどな
C言語とJavaぐらいしか残らん
780:デフォルトの名無しさん
17/11/24 11:05:30.58 qT2L8rY5.net
Fortran 使おうぜ
781:デフォルトの名無しさん
17/11/24 11:19:01.17 KPD3W4uL.net
implicit、none(笑)
782:デフォルトの名無しさん
17/11/24 13:55:24.14 jGNvQKc+.net
まあ確かに、イミュータブルによる安全高速化、動的ってんなら既にHaskell、Erlang、Crystalとか有るので、Rustが何を目指してるかは俺には不明だが、Rustファンでその辺知ってる人居る?
783:デフォルトの名無しさん
17/11/24 16:59:13.92 U+xL4cDR.net
Rust は haskell と同じ道をたどるんじゃねーの?
ファン層も似たようなもんでしょ。
なんか理解しずらい高級な機能があるから覚えるとどや顔できるって感じで。
784:デフォルトの名無しさん
17/11/24 17:13:50.15 ue40dD9y.net
>>756
GCのアルゴリズムが副作用だらけなのにイミュータブルとか嘘つくのをやめよう
RustはGC無しがデフォルト
副作用はある程度容認する
これなら嘘つかなくてすむ
785:デフォルトの名無しさん
17/11/24 17:26:27.92 jGNvQKc+.net
>>758
既存言語を貶してもRustの価値が上がるわけ無いじゃん。
GC無しってのはアプローチの一つなんだから、既存言語の改良では済まない「何か」を何故可決できるのかを訴求しなきゃ、「僕の考えた最強言語」で終わっちゃうってだけだよ?
786:デフォルトの名無しさん
17/11/24 17:41:02.84 ue40dD9y.net
>>759
価値は上げなくてもいい
実際に上げなくても、上がった上がったって嘘つくだけでも別にいいよ
嘘に寛容な世界とはそういう世界だ
だが、もし本当に価値を上げたいなら嘘つかない方法を考えた方がいいんじゃないか
787:デフォルトの名無しさん
17/11/24 18:49:38.61 oidK8tqZ.net
GCってのは副作用を前提としたCPU上で副作用無しの世界を作る舞台装置なんだから
意味的な文
788:蛯付けてもしょうがないだろ 「GCはリアルタイム性落ちるし並列化にも適さないから糞」とか性能の話なら言っていい
789:デフォルトの名無しさん
17/11/24 18:59:37.89 jGNvQKc+.net
>>760
何だ思い付き厨か、つまらん。
何でGCがポイントなのかも知らんのだろ。
790:デフォルトの名無しさん
17/11/24 20:47:57.51 PBABpGxA.net
Rustつこてるもんは嘘つきってことでおk?
791:デフォルトの名無しさん
17/11/24 20:51:48.12 jGNvQKc+.net
>>763
お前さんの脳内世界でお好きにどうぞ。
計算モデルが違うもんを比較する事に意味があると言うなら、別に止めはしない。
792:デフォルトの名無しさん
17/11/24 20:53:34.51 dpb7W7tM.net
Cに回帰しようよ
793:デフォルトの名無しさん
17/11/24 21:35:13.18 8Hl3EYId.net
>>756, >> 759
Rustが目指しているのは基本的にはC++の後継。
C++との一番の違いは、Cとの互換性を捨てることで、より厳格(安全)に書けるようにすること。
厳格であることを実現するために、型システムとメモリ管理などについて比較的新しい概念を導入している。
型システム、イミュタービリティやその他の構文に関してはHaskellの影響を強く受けている。
メモリ管理については、従来のC++ではプログラマがメモリ安全を保障するしかなかったが、
C++14以降のスマートポインタやそれに伴うメモリオーナーシップの概念の影響を受けて、
所有権、借用(参照)、ライフタイム(3つ合わせて所有権システムなどと呼ばれる)という形で構文にそれらを組み込むことで、
コンパイラがメモリ安全を保障することができるようにした。
ただし、あくまでC++の後継なので比較的簡単にFFI(Cを呼ぶ)ことができるようにという点も意識して作られている。
だから、unsafeを使えば生ポインタを直に使えるように設計されている。
Haskellとの違いはGCを使っていないこととミュータブルも扱えるようにしていること等で、
結局、それらはC++並みの実行速度を実現するため。
他にも細かい違いは多々あるが、大まかにはこんなところかな。
794:デフォルトの名無しさん
17/11/24 23:50:42.23 IDv/pXr5.net
>>765
コンテナ系(hashmap等)を標準でサポートしてくれ
795:デフォルトの名無しさん
17/11/25 11:23:50.59 IlEVZyoE.net
hashmapを仲間にしたら自動的にジェネリクスとGCが仲間になるパターン
だから仲間にしない
796:デフォルトの名無しさん
17/11/25 11:32:23.12 0CVryiWG.net
<generic.h>という伝説の凶悪なやつがあるぞ
797:デフォルトの名無しさん
17/11/25 12:28:18.18 8YG3Nyuz.net
コンテナを提供するのに GC も Generics も要らんだろ
798:デフォルトの名無しさん
17/11/25 12:42:05.98 fhJ9yNRw.net
>>726
本質的には複雑に積み上げられた旅館でしょ
多少はリフォームして整理されてるけど
799:デフォルトの名無しさん
17/11/25 12:52:41.30 IlEVZyoE.net
>>770
ただのコンテナではなく標準のコンテナだろ
GCとGenericsを使わずに標準やってる感を出せるか?
800:デフォルトの名無しさん
17/11/25 13:04:31.47 0CVryiWG.net
qsortがあるんだからいけるいける
全部void*で
801:デフォルトの名無しさん
17/11/25 13:31:58.11 IlEVZyoE.net
qsortの闇は深い
void*もあるが、要素の比較が本当にO(1)なのかどうかの責任を呼び出し側に転嫁する
802:デフォルトの名無しさん
17/11/25 13:50:07.83 mxSpQEHX.net
なんだその責任って
803:デフォルトの名無しさん
17/11/25 14:01:56.85 OgtFvRib.net
結局、型とgeneric(もしくはマクロ)をいい感じに統合するのって
かなり難しいんだろう。
アドホックなやり方になりやすい。
804:デフォルトの名無しさん
17/11/25 14:38:33.35 jw2r+SZ3.net
そこでC++ですよ
805:デフォルトの名無しさん
17/11/25 14:52:25.29 8YG3Nyuz.net
比較のオーダーはcのqsortに限らずなんでもそうだろ
なんだかんだ言って C++ はよく出来てるよね。
constexp なんて他の言語も見習って欲しい
806:デフォルトの名無しさん
17/11/25 20:04:53.59 FJeVGVwT.net
Fortranのparameterもその類いだっけ?
807:デフォルトの名無しさん
17/11/25 20:53:43.09 OgtFvRib.net
>>778
あんなもんチューリング完全厨のおもちゃにしかなっとらんわ。
コード生成系のがまだマシじゃねーかと思う。
808:デフォルトの名無しさん
17/11/26 02:10:49.51 346jd0X/.net
スレタイにjava君も入れてあげて〜
使用人口の多い言語ですお
809:デフォルトの名無しさん
17/11/26 03:30:42.95 2SXqucAT.net
>>778
C++のconstexprなんて後発もいいとこだろ
本格的な先鞭としてD言語のCTFEがあって、その前にも幾らかある
810:デフォルトの名無しさん
17/11/26 09:00:59.28 d0SJzNDY.net
新興言語って少なくない割合でただの企業が持ち上げて広告収入に使ってるだけの詐欺なんだよな
M$のTypescript然り、顔本のD然り、mozillaのRust然り、TypesafeのScala然り
やっぱ実績の積み上がってる言語でないと信用ならん
811:デフォルトの名無しさん
17/11/26 10:19:24.37 9HhrSf+y.net
>>783
両端十分な実績があるのですがそれは
812:デフォルトの名無しさん
17/11/26 11:09:29.55 2p4Fc6MR.net
>>784
まぁ、実績のあるなしなんて個人の主観によって変わるからな。
>>783にとってはJava, C++, JavaScriptくらいの言語じゃないと実績があるとは言えないんだろう。
振興言語がそれらと同じ実績を持つためには一体どれだけの年月がかかることやら。
813:デフォルトの名無しさん
17/11/26 11:48:04.80 CTy0yG7t.net
TypeScriptはともかくScalaは負債ばかりを残して消えた逆実績じゃね
唯一褒められる点としては関数型を流行させたこととKotlinを生み出したことかな
814:デフォルトの名無しさん
17/11/26 12:05:21.53 5kKfR77D.net
C++がモダン言語の基本なので小学校で教えるべき。
815:デフォルトの名無しさん
17/11/26 12:16:59.36 WC95tXr9.net
すまん、C++を全て理解してしている奴おる?
816:デフォルトの名無しさん
17/11/26 12:27:10.16 5kKfR77D.net
基本であるC++の理解なくして言語を語ることはできない。
817:デフォルトの名無しさん
17/11/26 12:38:08.71 jDig0YaY.net
>>783
林檎教団のSwiftも仲間に入れてあげて
818:デフォルトの名無しさん
17/11/26 12:44:57.21 d0SJzNDY.net
>>790
Swiftは別に林檎以外で使ってるやついないしええんちゃう?
信者と信者相手にコード書く仕事してる人は大変だろうけど
819:デフォルトの名無しさん
17/11/26 12:50:49.50 d0SJzNDY.net
Scalaは分かりやすい詐欺の典型だな
あれのせいでログ基盤まわりのOSSは焼け野原になってる
CoffeeScriptもちょっと古いが同類事例
GoやらTypescriptやらRustもそのうちそうなる
Dはバズるまえに自滅したのが幸い
820:デフォルトの名無しさん
17/11/26 12:59:29.11 2dqUl+IZ.net
変な言語を使うとSCALAの様に開発が止まる危険性があるから
企業はリスクを回避するために独自の言語をつかって思い道理の仕様にできるように
するのだろうな。
821:デフォルトの名無しさん
17/11/26 13:04:59.50 pQh5Iwo2.net
>>792
TypeScriptは大丈夫でしょ
Goは危なそう。Dartの前例があるし
RustはGCが邪魔でパフォーマンスが必要な一部の分野でしか使われないだろうからそんなに流行らないだろうし多分問題ない
822:デフォルトの名無しさん
17/11/26 13:32:35.13 2p4Fc6MR.net
>>794
Rust は Web assembly で化けることに儚い期待を抱いている。
でも、正直 Web assembly はそのうち GC に対応するって言ってるし、
GC に対応したらGo, C#とかが Web assembly に対応するって言ってるから
そっちに取られるんだろうなぁとも思ってる。
そ
823:烽サも Web assembly が普及すること自体いつになることやら。
824:デフォルトの名無しさん
17/11/26 13:36:26.39 prdTxomD.net
しかし CoffeeScript って何がだめだったん?
es2015, typescript がそれなりにうまくいってるのを見るとよくわからんところなんだが。
825:デフォルトの名無しさん
17/11/26 14:20:08.38 pQh5Iwo2.net
>>796
・構文が独特なのでJSerが手を出しにくい
・動的型付けなのでJSの根本的な問題解決にはなっていない
826:デフォルトの名無しさん
17/11/26 14:30:45.34 qaxo00/7.net
>>793
Scalaって開発停止したの?
827:デフォルトの名無しさん
17/11/26 14:53:16.27 d0SJzNDY.net
>>796
提灯記事にかける金と、企業間根回しの差
M$は金をかけまくって提灯記事を書かせまくり、Googleに根回ししてAngularをTypescriptで書き直させた
要するに大企業が本気で詐欺をやっただけ
828:デフォルトの名無しさん
17/11/26 14:55:47.77 pQh5Iwo2.net
>>799
こいついつものモジラアンチ君やん
829:デフォルトの名無しさん
17/11/26 15:49:18.98 G/Azh+n8.net
sで始まる言語のうんこ率は異常だな
830:デフォルトの名無しさん
17/11/26 15:52:03.66 yaxsKkRl.net
言語そのものはともかくとして、狂信的な信者が付いてる印象。
831:デフォルトの名無しさん
17/11/26 15:52:09.22 WC95tXr9.net
S言語
832:デフォルトの名無しさん
17/11/26 16:50:11.59 pQh5Iwo2.net
Pから始まる言語の間違えだろ
833:デフォルトの名無しさん
17/11/26 17:15:50.59 F+UxV2LO.net
>>800
別人だが確かに言い回し似てたな……アレと同類はさすがに勘弁
Sで始まる言語っていうと、
Swift、Scala、Smalltalk、SMLがこのスレでよく見るやつだが
確かに信者がうるさい言語だな
834:デフォルトの名無しさん
17/11/26 17:37:24.93 WC95tXr9.net
Swift信者とかおったっけ?
835:デフォルトの名無しさん
17/11/26 17:42:43.44 XFPVp9gV.net
>>804
おっさんなんでpascalとprologしか思い浮かばない
836:デフォルトの名無しさん
17/11/26 17:48:25.70 pQh5Iwo2.net
>>807
Python/Perl/PHP
837:デフォルトの名無しさん
17/11/26 17:51:22.14 WC95tXr9.net
なんでやPythonはええ言語やろ
838:デフォルトの名無しさん
17/11/26 18:40:28.50 Keof52t0.net
Smalltalkは儲のロートルっぷりが笑えるがそれはさておき
アンチの低脳っぷり(「うんこ」連発)と粘着が常軌を逸してて笑えない
いずれにせよ迷惑だからこっちくんな
839:デフォルトの名無しさん
17/11/26 20:27:35.67 692DDN1+.net
Pythonはたまたま流行ったお陰で便利なライブラリが沢山あるというだけで、言語仕様だけ見ると別に良い言語ではないよね
840:あ
17/11/26 20:44:39.06 9F+mQkF+.net
>>811
シンプルで良くない?
他の言語だと空ブロック書くところにpassって書かないといかんところなんか滅茶苦茶良い割り切りだと思うけど。
変な構文で逃げるんじゃなくて、基本構文の上でNOP書かせるとか潔いと思うけどな。
メソッド第一引数を隠さない、とか。
841:デフォルトの名無しさん
17/11/26 20:50:16.59 pQh5Iwo2.net
>>812
動的の時点で
842:デフォルトの名無しさん
17/11/26 20:50:40.88 R1JePoM2.net
Smalltalkは信者のキモさだけは圧勝してるけど、言語自体の出来はTcl/Tkにも劣る
843:
17/11/26 20:55:55.94 rNgJnhxq.net
Python は private なメンバにもアクセスし放題だからね、言語としてどうかしていると思うときもある
その場しのぎのお助け機能満載なところはあるね
844:あ
17/11/26 20:59:00.64 9F+mQkF+.net
>>813
型がなければ解決できない問題、ってのはあんまり無いからな。
型があるから解決できる、という触れ込みをあまり本気にしてもどうかと思う。
単に管理できない人が居るというだけ。
単なるlint目的なら、静的解析でもすりゃ良いと思うよ。
型がある言語には大体、型を無視できる構文があるようなもんで、ダックタイプにはダックタイプの利点がある。
845:あ
17/11/26 21:06:26.91 9F+mQkF+.net
>>815
作法とルールの違いだろうな。
やっては行けないっぽい事をマナーとして守れるか、
やっては行けないっぽい事を一律排斥するか。
後者で仕組み上排斥した上で、それでもどうしても必要だと構文を作ると、そこから「コンパイルは通るけど動かすと動かない」みたいに破綻する。結局動的より酷い。
void*に一度キャストするとか、リフレクションするとか、スタック書き換えるとか。極端だけど。
だから俺は紳士協定止まりで良いと思うけど。
「出来ないことはチェックされるんだから、チェックされないならやって良いんでしょ」みたいな奴が増えるのは、本来のメリットを壊してるようなもんだと思うけどね。
846:デフォルトの名無しさん
17/11/26 21:15:49.49 tn24fxAD.net
根回しといえば
GCCにGoが速攻入ったのってどう考えても利権だと思うんだけど
GNUはGoogleに乗っ取られてるんだろうな
847:あ
17/11/26 21:25:46.01 9F+mQkF+.net
>>818
もともとgccgoがあったからなぁ。
利権も何も、普通にgccのコミッタだった人がGoogleの人で、その人が「メインラインに取り込むわ」って言い出したのが7年前だぞ。
gcj外してgo入れようぜって言い出したのはたしかRed Hatの人。
848:デフォルトの名無しさん
17/11/26 21:38:43.34 hdv2mB5M.net
>>814
その程度の嫌いでアンチ続ける執念がキモイわ
849:デフォルトの名無しさん
17/11/26 21:39:41.93 ejHa0S8T.net
Go人気なのか
オブジェクト指向勢から嫌われてたのに
なんかのフレームワークとか流行りのOAuth2とかが実装し易いとかあるん?
850:デフォルトの名無しさん
17/11/26 21:44:08.66 jBgPnQyL.net
気持ちよくおしゃべりしているあは依存型も知らん様子
851:
17/11/26 21:51:01.31 rNgJnhxq.net
まだ gcj の方が役に立つと思うのだが…openJDK に移行してしまったようだね
852:デフォルトの名無しさん
17/11/26 22:09:01.03 692DDN1+.net
Idrisの話でもする?
853:デフォルトの名無しさん
17/11/26 22:26:19.56 9HhrSf+y.net
TSやFlowtypeは明らかに救済だろ
地獄のごった煮なフロントエンドに一筋の光をもたらした
実案件でTS使ってるが、素のJSなら確実に破綻していた
854:デフォルトの名無しさん
17/11/26 22:30:22.25 2SXqucAT.net
>>824
おう、Idrisの話をしよう
855:あ
17/11/26 23:23:32.48 9F+mQkF+.net
>>822
依存型が、いわゆる依存積みたいなものの事を言ってるなら、それこそ的外れ。
>>823
gcj、あんま良いところ無かったからな。
AOTぐらいだけど、パフォーマンスは落ちがちだったし。
856:デフォルトの名無しさん
17/11/26 23:24:09.06 WC95tXr9.net
>>811
確かに
857:あ
17/11/26 23:33:46.45 9F+mQkF+.net
積だけじゃなくて、和もそうだな。
どーせTypeScriptのUnionTypesあたりの、直和型と見せかけて、undefinedなんかも入りうる気持ち悪いものをありがたがってるんだろうけど。
それこそ意識高いHaskeller様で、何かとても良い空論でも教えてくれるのかもしれんけどな。
858:デフォルトの名無しさん
17/11/26 23:36:35.81 jBgPnQyL.net
>>822 単に「型が無ければ解決できない問題は無いからなあ」という馬鹿発言を嘲笑してるだけだぞ
酒が抜けるまでレスすんな。酒飲んでないでそんなレスしかできないならトリップ付けてろ。NGに入れといてやるから
859:デフォルトの名無しさん
17/11/26 23:40:05.59 i1z8rFU6.net
>>821
標準ライブラリが充実してる。
httpサーバが簡単に作れる。各種プロトコルも標準ライブラリに入ってる。
例えばsshもopensshに頼らずに自前で実装してる。
結果として外部依存が少ないバイナリが作れる。
URLリンク(mattn.kaoriya.net)
ってところが魅力。
あとオブジェクト指向的には継承の簡易さに対してデメリットがでかいことがわかってきたからgoの方向性はそんなに変でもないと思う。
後はコンパイルが早い。と言うかコンパイルの速さのために
言語仕様を妥協してるところがある。(継承がないのもコンパイルの速さを優先してる)
860:デフォルトの名無しさん
17/11/27 00:14:50.55 kgsU8O53.net
継承がない場合、GUIライブラリはどういう形に落ち着くんだろう?
861:デフォルトの名無しさん
17/11/27 00:19:16.06 VTdrxhpK.net
>>832
インターフェイスじゃね
862:デフォルトの名無しさん
17/11/27 01:24:38.90 RuMmCyGV.net
E言語作ろうぜ
863:デフォルトの名無しさん
17/11/27 01:43:28.34 HZrBFFjJ.net
>>830
横からすまんが、
依存型を使ったことがないゆとりの俺に依存型がないと解決できない問題の例を教えてはくれないか……
864:デフォルトの名無しさん
17/11/27 04:02:10.71 UW/5w9w8.net
>>835
配列の静的な境界チェック
865:デフォルトの名無しさん
17/11/27 07:45:57.79 2gW8tPht.net
Rustの静的型チェックは確かに発見困難なバグを見つけてくれる感ある
他のしょーもない言語の型チェックは
ふつうにテスト書けば見つかるようなエラーしか見つからんので
正直、動的型付けとくらべて優位性が無いわ
866:デフォルトの名無しさん
17/11/27 08:00:20.85 lA4+sBYi.net
(一般的な)静的型が本領発揮するのは運用開始後に手を入れるときだろ
依存関係が完璧に把握できるからな
867:デフォルトの名無しさん
17/11/27 08:06:57.76 BLxyIU7+.net
GGG言語は熱い
868:デフォルトの名無しさん
17/11/27 08:17:35.26 Q9OySQec.net
MLまでいかなくてもPascalでも使ったことあれば>>837のような幼い感想は出てこないと思うので
なんだか微笑ましい
869:デフォルトの名無しさん
17/11/27 08:59:52.64 4bHQN/8n.net
静的型とちゃんとしたIDEならカーソル箇所のメンバを使ってる元とメンバが依存してる先が自動的に一瞬で全部表示される
grep(笑)
作りっぱなしで逃げられる開発なら型なんかいらないと思うよ
870:デフォルトの名無しさん
17/11/27 09:00:19.33 oelMhkLH.net
Rustでコード書けない低脳勢の嫉妬が心地よいわ
871:デフォルトの名無しさん
17/11/27 09:53:28.95 AnhEBxtH.net
>>835 「遅くて実用に耐えないが明快で仕様を満たしていることが分かる関数」と
「速いけど複雑で仕様を満たしているか分からない関数」が数学的に等価であることを示せる
あるいは求められている仕様を型として表現することで、その型を返す関数は仕様通りであることを示せる
証明駆動開発は依存型じゃないとできない
872:デフォルトの名無しさん
17/11/27 10:24:46.55 yqPvbQsf.net
>>842
RustをHaskellで置き換えたら数スレ前によく見たやつになる
873:デフォルトの名無しさん
17/11/27 10:27:49.38 yqPvbQsf.net
やっぱRustもHaskellも、強烈な選民思想を産み出すという点で、
この世に存在したらいけない言語だなほんと
874:デフォルトの名無しさん
17/11/27 10:33:41.71 Q9OySQec.net
他を使ったこともないやつがいきなり先進的なのを使うと
全てがそのひとつの手柄みたいに思えてしまうんだよな
C#のときもD言語のときもよく見た
875:デフォルトの名無しさん
17/11/27 10:46:19.87 kgsU8O53.net
そういえばhaskellの主張してた奴消えたな
876:デフォルトの名無しさん
17/11/27 11:17:42.08 qLynQL2e.net
話は聞かせてもらったぞ
静的型と動的型のうち選民思想が強い方が滅亡する
877:あ
17/11/27 11:30:52.56 gxJYhWYL.net
>>830
酒飲んでないぞ。
>>836
レンジチェックとか静的解析で割となんとでもなるでしょ。安物の解析ツール使ってるならアレだけど。
878:あ
17/11/27 11:31:28.76 gxJYhWYL.net
>>837
あれぐらい縛るなら俺は両手を上げて賛成する。
879:デフォルトの名無しさん
17/11/27 11:58:44.95 Q9OySQec.net
配列の境界チェックぐらいなら気の利いた処理系ならなんとでもなるが、
そういう類のをユーザー定義できると想像するといい
880:デフォルトの名無しさん
17/11/27 13:08:54.03 nLFkP6Tp.net
静的型づけと動的型づけのほかにも強い型づけと弱い型づけがあるぞ。
両方を合わせると4パターンあることを考えたほうがいいぞ。
881:デフォルトの名無しさん
17/11/27 14:31:06.76 VTdrxhpK.net
>>852
弱い動的型付けは存在しないから3パターンだぞ
882:デフォルトの名無しさん
17/11/27 14:33:43.01 Q9OySQec.net
動的型付けでも、異なる型を混ぜた時に自動で変換されるのとエラーになるのがある
そういうやつのことじゃないの?
いや>>852に訊かないとわからないけど
883:デフォルトの名無しさん
17/11/27 14:52:39.00 VTdrxhpK.net
>>854
弱い型付けってのはキャストはエラーはかずに出来るけどメモリぶっ壊して全く違う所でエラー起きたりするCとかC++みたいな奴の事だぞ
884:デフォルトの名無しさん
17/11/27 15:04:23.55 Q9OySQec.net
>>855
その定義だとreinterpret_castができるやつは全部弱型になるだろ
んで、その定義でもObjCのid型やOO風拡張付きアセンブラやForthなんかは動的弱型じゃね
まあ>>825にry
885:デフォルトの名無しさん
17/11/27 15:06:30.80 VTdrxhpK.net
>>856
ObjCは分からんが
unsafeブロックとかで限定的に弱い型付け許してる言語もあるけどそういうのは基本的に弱い型付けとは言わないね
886:デフォルトの名無しさん
17/11/27 15:12:29.84 Q9OySQec.net
一般的にはnominalで暗黙の型変換を許さないやつがstring typeだと思うぜ
887:デフォルトの名無しさん
17/11/27 15:13:04.01 Q9OySQec.net
/string/strong/ (苦笑
888:デフォルトの名無しさん
17/11/27 15:19:26.38 RuMmCyGV.net
情弱言語
情強言語
889:あ
17/11/27 17:59:38.96 gxJYhWYL.net
選民思想ってどういう意味なんだろう?
890:デフォルトの名無しさん
17/11/27 20:05:56.25 ioN0hnnU.net
>>861
神に選ばれたとか生まれながらの血筋とか、
とにかく一部の選ばれた人間のみを良しとする思想。
白人至上主義みたいになのが代表的なものだろうな。
そのぐらいググれば出ると思うけど。
891:あ
17/11/27 20:15:59.53 YD13FB3m.net
>>862
選民思想自体の意味はわかるよ。
言語に対して選民思想がある、ってのがわからん。
知れば選民なの?って感じ。
一見さんお断り、紹介制ね、セミナー・講習・試験受けてねー(笑)
でもあるまいし、なんか知ろうとする努力を放棄して便利な言葉でごまかしてるように見えるって事。
892:デフォルトの名無しさん
17/11/27 20:20:31.71 AFwfxdAR.net
くっさ
893:デフォルトの名無しさん
17/11/27 20:27:37.84 Q9OySQec.net
>>845のことなら強烈な自己肯定感と言い換えてもいいんじゃね
たかが2chの言葉遣いに厳密に意味を当てはめてもしょうがない
894:あ
17/11/27 20:40:26.85 YD13FB3m.net
なるほど。自己肯定感を他者への否定で裏打ちしてるような人たち、か。
いるな。Ruby使いが全体的にそんな印象。
895:デフォルトの名無しさん
17/11/27 21:24:06.34 HF1f2kGW.net
おまえらみんなそんな感じじゃんw
896:デフォルトの名無しさん
17/11/27 21:30:42.30 zgUQvI9i.net
自分が使ってる言語以外は覚えるの面倒だから滅べっていう奴だな。
わかりやすいし、正直だとは思うが恥ずかしい言い分だということも理解しておいた方がいい。
897:デフォルトの名無しさん
17/11/27 21:32:45.76 zgUQvI9i.net
>>818
go はそもそもシンタックスがパースしやすいようになってるから
実装が楽だって話だろ。
898:デフォルトの名無しさん
17/11/27 22:33:25.18 pxmyvyPz.net
そもそもgccのgoってメンテされてないのでは?1.2くらいで止まってなかったっけ?
899:デフォルトの名無しさん
17/11/27 22:35:11.55 pxmyvyPz.net
>>868
言語を2つくらい学ぶとそれ以降はソンナ手間でもなくなってくけどな?
最近は学習しやすいべ。
それよりエコシステムの使い勝手が大事。
nodejsは最近やっとまともになってきた
900:デフォルトの名無しさん
17/11/27 22:42:59.78 zgUQvI9i.net
>>871
まあ個人的な見解になるんだが
そういう奴のいうところの「覚える」ってのは機能だったりシンタックスについて
すみずみまで覚えるってことだったりするわけよ。
なんか周りにも自分にもハードル上げちゃって原理主義に走ってしまうって感じ。
言語を覚えるっつっても人によってとらえ方はだいぶ差はあるかもね。
901:デフォルトの名無しさん
17/11/27 23:03:54.83 BLxyIU7+.net
頭にウンポコピーのプェチピがつまった動的池沼型なしウンコマンがまた喚いてるようだね
うるさいゴミ虫だな!つぶれちゃえ、プチッw
902:
17/11/27 23:17:01.33 b0u4s5jJ.net
>>872
>機能だったりシンタックスについてすみずみまで覚えるってこと
最近になって、当方主力のC/C++についても、これを諦めることにしました、楽になりました…
903:デフォルトの名無しさん
17/11/27 23:36:34.04 kgsU8O53.net
C++を「覚えて」いるやつなんて数えられる程度だろう
904:デフォルトの名無しさん
17/11/28 00:19:59.65 j/VePoOF.net
>>872
それこそ忘れたらググればいいし、
IDE連携でfixも出来る。
機能の存在を知ってることが重要だよね。
あと大概の概念は言語間で共有してる。
905:デフォルトの名無しさん
17/11/28 01:13:03.69 oL6iYiK7.net
共有してるが細かい違いがストレスになったりしない?特に「ぼくのかんがえたさいきょうのOO」は辛い
906:デフォルトの名無しさん
17/11/28 01:57:11.51 5aM4mai7.net
>>877
おいPHPの悪口はやめろ
907:デフォルトの名無しさん
17/11/28 09:52:26.16 LMrici0y.net
例のオライリーのrust本やっと出たようだな
908:デフォルトの名無しさん
17/11/28 10:47:18.80 oqWjNxDa.net
型システムの概念はC++とHaskellですら共有してる
一方、オブジェクト指向の概念は共有してないのでストレスになる
909:デフォルトの名無しさん
17/11/28 21:52:49.31 +Ls9Kpqr.net
昔はこの手のスレだと、補完が効くのは静的型だけだから動的型はダメだ!的な
無知丸出しのカキコミしてたJavaドカタを良く見たけど、
最近は流石に学習したのか、そういうの減ったね
910:デフォルトの名無しさん
17/11/28 22:32:58.71 XwHAt9fz.net
とはいえpythonの補完はpycharmでさえたまにしょっぱい結果になるがな
911:デフォルトの名無しさん
17/11/28 23:57:11.98 S3oF2yyz.net
つうか補完って個人的にはうざいからいらない。
補完ってそんな有難いかねぇ。
912:デフォルトの名無しさん
17/11/29 00:01:06.36 Ro7m+vSG.net
>>883
ガイジかな?
913:デフォルトの名無しさん
17/11/29 00:28:23.95 LyP2QHxX.net
どのみちJavaScriptはクソなのは事実
914:デフォルトの名無しさん
17/11/29 01:08:31.46 ZTL4r6Le.net
jsが糞だなんて世界の共通認識やろ
915:デフォルトの名無しさん
17/11/29 01:32:48.31 /BpqyHHR.net
何でやjsは最高やろ
javascriptはうんこだけど
916:デフォルトの名無しさん
17/11/29 01:34:30.49 wq9Dycsx.net
jsはブラウザ標準だから広まってるけど実際かなりの変態言語だよね
大分マシになってきてるけど
917:あ
17/11/29 08:18:33.62 fb/gmNyy.net
phpは、protectedとか何だかんだ大先生が要るって言うものはつけたけど、正直必要性がわからんね、みたいな事を作者が言ってるぐらいだからな。
JSはあの変態具合がじつに良い。
918:デフォルトの名無しさん
17/11/29 10:31:45.07 /xS4M0rU.net
>>881
ダメだろ。動的言語の言語仕様として正確な補完は不可能。
PHPとかPHPDocで追跡できるようにもできるけど、結局ドキュメント部分だから
信用できるとは限らないし
919:デフォルトの名無しさん
17/11/29 10:35:30.46 /xS4M0rU.net
>>889
ポリシーがない作者の言語は大体そう。
投票制で機能の実装を決めるって結局糞になる一方だと思うんだけど。
swiftも最近はそうだっけ?
920:デフォルトの名無しさん
17/11/29 11:19:53.91 ags1OwXJ.net
ハンバーガーとコーラとWindowsが多数派になったおかげで、少数派の自己肯定感が強い
921:あ
17/11/29 12:52:13.36 fb/gmNyy.net
>>891
作者は、ポリシーがないのがポリシーみたいな人だしな。
たまに引数の順序とか違うけど、仕方ねえじゃん。積み重ねってあるんだから。それに便利さって尺度あるじゃん?とか、
自然言語だって言語学者が整理して作ったら英語なんかと全然違う整然としたもの出来るけど、それってホントに実用になるかはわからんよね。
って開き直ってるからな。
goto実装したときのやり取りとか滅茶苦茶面白かった。
譲れない部分以外は適当に決めろよ、俺使わねえし、みたいな方向性もアリだとは思う。
922:あ
17/11/29 12:55:46.19 fb/gmNyy.net
>>890
補完が無いからダメ、を否定してるんでは?
「補完なんか無くても書ける」レベルのやつが書けばいいんだよ、っていう主張かと。
そんで、俺はそれでいいと思う。
補完が無くても大体間違いようがない、っていう使い方はあるもんだし。システムハンガリアンじゃない、本当の意味の方のハンガリアンとか。
923:デフォルトの名無しさん
17/11/29 13:46:28.77 N4X6syzD.net
>>894
その読解力でよく人に訂正できるな
間違ってるのはお前だよ
924:あ
17/11/29 16:23:39.89 fb/gmNyy.net
>>895
是非説明して欲しい
925:デフォルトの名無しさん
17/11/29 17:20:07.57 0SzzSOSo.net
>>896
是非も糞もお前以外正しく解釈してるんだからかき混ぜんな
926:デフォルトの名無しさん
17/11/29 17:33:20.21 jE6TKqng.net
最近の言語なんて全部ポリシーないじゃん。
他の言語で流行ってる機能だからうちも入れよう
みたいな話ばっか。
927:あ
17/11/29 18:31:36.52 fb/gmNyy.net
>>897
見えないすべての他人の代弁者ご苦労様。
928:デフォルトの名無しさん
17/11/29 18:51:31.66 /xS4M0rU.net
>>898
Go言語はポリシーあるけどね。と言うかGoogle社内で使うための言語として
進化してきたって感じ?
結局C++コードベースで作ってきたシステムがコンパイルするたびに40分とかかかるようになってきたから、Go言語でそこを改善した。
具体的には継承を使わないようにしたり
パッケージ間の依存関係を極力抑えるために敢えてDRY原則無視したり。
後プリプロセッサを削除してパッケージシステムをしっかりしたもの(未使用なパッケージをimportしたらコンパイルエラー)
にしたり。
929:デフォルトの名無しさん
17/11/29 22:33:45.37 0SzzSOSo.net
Goとか見るに、googleって意外と線形代数使わないのかなあ?
930:デフォルトの名無しさん
17/11/29 22:55:35.66 xEIA2DIf.net
tensorflowを作ってるんだぞ?使ってるに決まってるだろw
931:デフォルトの名無しさん
17/11/29 23:01:31.92 v9jZdRV7.net
そういうのはpython使ってんじゃないの?
932:デフォルトの名無しさん
17/11/29 23:38:03.94 0SzzSOSo.net
goは線形代数使わない用途向けか?
TensorFlow for goで全部やってるってわけでもなかろうし>>903の言う通りだろうか?
933:あ
17/11/30 00:01:53.15 5c50KJX1.net
Gr
934:umpyも単純に書くと遅いしな。 速度を出したいならcとインラインアセンブラで書くだろうし、大規模に走らせるならHPC系に載せやすいfortranとかベンダのCだろうし、 気楽に書きたいならpythonで良いし、 その為に何か言語を、って手段と目的が入れ替わってる気がする。 既存の道具で目的が果たせるならそれで良い分野だろ、それ。
935:デフォルトの名無しさん
17/11/30 00:15:23.93 ZeZezy1g.net
Cとインラインアセンブラで書いた数学コードなんて今時見たことねえよ
936:デフォルトの名無しさん
17/11/30 00:21:22.97 ZeZezy1g.net
Cで数学コード書く奴いるけどあいつら凄いわ
俺なんかFortanの形状引き継ぎ配列使わない縛りでも発狂しそうになるのに、さらにサポート少ないCでよくやるわ
937:デフォルトの名無しさん
17/11/30 00:25:37.10 ZeZezy1g.net
いや、Cとインラインアセンブラって、もしかしてあれか。よく知らんけど、CPUベンダーが実装してるような何かか
938:デフォルトの名無しさん
17/11/30 00:25:51.08 6I05rtBK.net
>>907
ゲーム目的とかならCでやるんじゃないの。
と言っても今は優秀なゲームエンジンが無料の時代だから意味ないかもだけど。
939:デフォルトの名無しさん
17/11/30 00:27:36.54 4oSM3dIJ.net
Numerical Recipes in C にはお世話になりました
940:デフォルトの名無しさん
17/11/30 00:30:03.93 ZeZezy1g.net
>>909
しれっとC++にしてEigenかublasかなんか混ぜたりしない?そうでもない?
あれCで書いてる奴本当に凄いと思うわ
941:デフォルトの名無しさん
17/11/30 00:48:55.61 RJLQhcO3.net
いいニンクの日は過ごせましたか
942:デフォルトの名無しさん
17/11/30 02:40:07.39 3Jq96VTV.net
アドベントカレンダー見てたら地味にelmユーザ増えてる?
reduxきっかけで流れてきたユーザー居るのかね
943:デフォルトの名無しさん
17/11/30 02:43:19.27 3Jq96VTV.net
>>911
すげーかもしれんがそういう低レベルのコードを書くプログラマーっていま日本にどれだけいるんだろうな。もはや大手ゲームベンダーも他社のゲームエンジンに頼る時代だし
944:デフォルトの名無しさん
17/11/30 04:01:07.03 aR0OMF8n.net
みんなC言語が分ってるのが当たり前だと思ってたけど、
最近はC言語は知らないのが前提らしい
低レベルプログラミングという本が殆どC言語の解説書なのは驚いた。
945:デフォルトの名無しさん
17/11/30 06:58:09.24 DHC1c6S+.net
elmのアドベントカレンダー
2つめ全然埋まらなくてブチ凹む
946:デフォルトの名無しさん
17/11/30 08:03:32.96 uu2PxLG/.net
Cについて知っててもらわんと色々説明しづらい部分があると思うんだが
大丈夫なんかね。
947:あ
17/11/30 08:34:13.82 pYUAd/ci.net
>>909
流体のシミュレーション書いたことある。
多分同業は同じように内製してるか、か今は外注するかしてるけど、ガチの方のシミュレーションでは結構使う。
948:デフォルトの名無しさん
17/11/30 09:05:16.03 6I05rtBK.net
>>916
ここで宣伝してよ。elmのメリット何?
使ってて気持ちいい?開発環境って使いやすい?
949:デフォルトの名無しさん
17/11/30 09:09:00.14 TiHNvA1L.net
>>914
あんなもんCで書いてて嫌にならないのは怠惰さの足りない奴でしょ
そういうのをやらされる/やる人が減るのは健全なことだと思う
950:あ
17/11/30 11:03:50.95 pYUAd/ci.net
新しい言語を作ってそしてメンテしていくほうが面倒だと知ってるからな。
トランスパイラに近い闇マクロがCにはあるので、その辺で逃げるが勝ちの部分もある。
951:デフォルトの名無しさん
17/11/30 11:23:43.51 6I05rtBK.net
>>921
C11ってジェネリクスがあるの?
正直プリプロセッサで頑張れば何でもありな気もする。
ライナスがあんだけCだけ大好きっ子なのは何か
952:るんだろうね。
953:あ
17/11/30 12:55:43.51 pYUAd/ci.net
>>922
思ってるようなジェネリクスとは多分違うけど型ジェネリクスで型から、呼び出される関数と引数を列挙してswitchみたいな事は出来る。それをマクロに書いたら型ごとに呼び出される関数が切り替わるように書ける。
けど使わん。ポインタなんかであっさり意図してない呼び出しになったりする事がままある。
ただの文字置換として展開出来るように書くほうが無難だと未だに思ってる。
954:デフォルトの名無しさん
17/11/30 13:26:07.53 aR0OMF8n.net
違うジェネリックスが出来る前は
関数の名前の後ろに_intとかつけなければ同じことはマクロでも出来なかったんだよ
955:デフォルトの名無しさん
17/11/30 13:37:31.49 SJCWnhNZ.net
標準機能だけでtgmath.hを実現できなかったから補うように追加したものではあるけど
そもそもサンプル以外でtgmath.hを実際に使っているところを見たことない
956:デフォルトの名無しさん
17/11/30 13:57:00.88 6I05rtBK.net
>>925
>tgmath.h
そんなのあるんか、正直Cは10年以上書いてないから知らんかった。
URLリンク(www.c-lang.org)
型総称マクロかー。linuxとかでもそう言うの駆使して進化した書き方してんのかな。
Cって二段構えなんだよね。マクロでプリプロセスするから結構、動的な処理もかける。obj-cも初期の頃はマクロで出来てるって聞いた。
それが現在でもiOSで健在だし、結構良く出来てる。
例えば、obj-cのコンテキストとcのコンテキストが明確に分離できてる。
正直c++よりobj-cのほうが好き
cの資産を利用できるし。なによりc++より言語仕様が理解しやすい。
957:デフォルトの名無しさん
17/11/30 14:34:01.14 uu2PxLG/.net
まじめに20年以上c++追ってればこれほどコンパイラ毎に動作の異なる言語もないことはわかるよ。
残念ながらlinuxコードにあるプリプロセスマクロのがよっぽど安定してる。
958:デフォルトの名無しさん
17/11/30 15:30:31.34 xynddTwh.net
Cもattribute((cleanup))が標準ならなぁ
959:デフォルトの名無しさん
17/11/30 15:38:19.11 TiHNvA1L.net
LispならともかくCのマクロはちょっと……
960:デフォルトの名無しさん
17/11/30 15:44:49.65 SJCWnhNZ.net
今更Cプリプロセッサが派手に変わることなんて無いもんな、そりゃド安定よ
しかしそろそろローカル変数名はマクロで置換されない程度の改良は欲しい
961:あ
17/11/30 16:06:05.26 pYUAd/ci.net
>>924
ヘッダごと切り替えて、typedef自体も定義してたんじゃねえの?そういう時は。
962:あ
17/11/30 16:09:24.35 pYUAd/ci.net
>>929
ハイジェニックでない事が予想もつかない活用()を生み出せる原点では?
bashかなにかのソースでびっくりしたことがある。十年以上前かな。
963:デフォルトの名無しさん
17/11/30 17:58:05.82 TiHNvA1L.net
>>932
なんだ?Cの悪口か?
そもそも文章下手くそなくせに「活用()」とか独特な用語使ったり、突然bashの話始まったりして何が言いたいのかわからん
964:デフォルトの名無しさん
17/11/30 18:04:13.66 6I05rtBK.net
TypeScriptでジェネリクス使っててちょっと複雑なことをしようとすると
とたんにしんどくなるのを体験して、型がない世界が羨ましいと思ったことはある。
(本末転倒感)
メタプログラミング部分を動的言語に任せてハイブリットにするというのが
ありかもしれない。
メタプログラミングツールの例
URLリンク(moapp.hateblo.jp)
965:あ
17/11/30 18:14:08.53 pYUAd/ci.net
>>933
悪口じゃなくて、良くも悪くも無茶苦茶書けるのが良い所だって言ってるんだが。
今回はちゃんと会話できてる相手が居る以上、最低限、読もう
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
2016日前に更新/264 KB
担当:undef