次世代言語Part7[Go Rust Swift Kotlin TypeScript]
レス数が1000を超えています。これ以上書き込みはできません。
文字数制限きついので改題
スレタイ以外の言語もok
前スレ
次世代言語議論スレ[Rust Kotlin Haskell]第6世代
http://mevius.5ch.net/test/read.cgi/tech/1503924817/ 一回名無しに戻って、煽りを辞めて書いたらどうなるかやってみるか。 >>946
なるほど。Rustで書いてるってモジラの提灯持ちすることで金をもらってる訳か
本当にRustで書けるわきゃねーからな >>951
#define swap(a, b) \ do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0)
なんて良いマクロじゃない?kernelのswap。 >>946
そういう新しい言語にすぐ飛びつくようじゃ終わりなんじゃ。 >>955
それはハイジェニックでない、無茶苦茶書いてる良い例ですか?
あとコピペしたけどコンパイル通らん >>948
あと、
『代弁してないじゃんw
必要無いのが解ってるって事だ、って言ってるだけで、皆は解ってるから明示してない、って主張じゃない。
「犬はワンって鳴くよね」と「皆はワンって鳴いたからあれが犬だと理解してる」の違い。』
って何?面倒だから放置されてるそうだけどw >>950
おまえが間違ってると思うし、読みにくいと思う。
それでよくそこまで相手を煽れるなと感心までする。
正直ウザいし二度と書き込まないで欲しい >>957
だから、無茶苦茶書くのが良い例なんじゃなくて、無茶苦茶書ける余地があることに意義を見出してるんだが。
コンパイル通らんのは何て出てんの?
kernel.hから取ってきた事は覚えてるが、俺のアンチョコが間違ってるかもしれん。
#define pf(fmt, val) fprintf(stderr, #val " = " fmt ";\n", val);
これは割と無茶してるかな。出典不明。
>>958
そうだなぁ、これは俺が悪かったかもしれん。 >>959
思う分には個人の自由だからな。
よくぞそこまで煽らせるなぁ、とも思うが。 >>906と>>907がたった6分で矛盾してるし、まぁそういう人なんだろう。 コンパイル通らんとか言ってる奴はマジで言ってんのか?
そんな理解度でよくCの話題に絡もうと思ったな >>960
ハイジェニックでなく、滅茶苦茶書けるのが利点って言っておきながら、それをしたコードは悪いコードってどういうことやねん。
それハイジェニックな方がいいってことじゃん。何言ってんだ
あと、おまえは文が下手なことはいい加減認めろ
この関連何度目だよ >>964
悪いコードとも言ってないだろ。
コード自体は良い悪い自体言ってない。書く奴が好きに書ければそれで良い。
よく読め。 あとエラーコードはstray ‘¥’ in programって奴だな
cのマクロなるべく避けてるし、正直初めて見た
>>963
ちょっとideonにでも書いて動いてる状態紹介してくれんか? >>962
Cは見るけどインラインアセンブラは見ないってことなんだけど、お判りにならない? >>966
swapの後ろについてる¥マーク取ったら動くよ
見たらわかるだろ >>968
あ、動いたわ。これ改行の代わりか
久々に見たわ。ありがとう >>965
あのさあ。ハイジェニックなマクロはちゃんとメリットあってハイジェニックなの
ハイジェニックでないことが良いって言っておきながら、ハイジェニックな良い例を挙げられないってどういうこと?
色々書けることそのものなんて、ハイジェニックなことの利点と比べたらゴミみたいな利点なわけ
http://www.pro.or.jp/~fuji/mybooks/cdiag/cdiag.8.2.htmlみたいなコード量産可能になることがハイジェニックなことより重いって思ってるわけ? ていうか、kernelから引用するならもっと良いマクロあると思うんだが
container_ofとか
http://d.hatena.ne.jp/big-eyed-hamster/touch/20091226/1261754005
でもC言語大好きだった頃は凄いと思ったが、いま見たら全然しょーもないわ c11が実行できるところだと実行できると思う。pfの便利さもわかる。
ideoneはc11が動かんからcでは確認できないけど、c++14だと動いた。
https://ideone.com/0PBzBG
このままtest.cでも動くんじゃないかな。
スマホからでほかの環境めんどくさくて見てない。ごめん。 >>973
あー。いや。マクロ動かないのは完全に俺が悪かった。申し訳ない >>970
知ってるよ。利点は。lispまだ使ってるしな。
>>971
それより、maxとminと、min_not_zeroの方が好き。 そういやプリプロセッサが乗ってる言語って最新の言語では見ないよな。
Go言語は意図的に削ったのは分かるんだけど(コンパイル速度優先のため)
他のはどういう理由なんだろうな。swiftとかあったほうがいいと思うんだが 構文として統合されたマクロならむしろ盛況な気がする
DやTemplate Haskellやcamlp[45]が散々こねくりまわして、nimにもrustにも
Cプリプロセッサのような、言語からも独立して使えるようなマクロはないけどさ >>977
単純にダサいからだよ
言語設計者にとってみれば、自分の言語はテキストマクロに頼らないと使い物にならないゴミですと恥を晒してるようなもんだ まあC言語のポータビリティの高さはマクロがテキストマクロってことが大きい
構文マクロだと、複数のコンパイラによって拡張構文がちょっとずつ違うみたいな状況には対応できん
次世代言語が実用に耐えてるのは処理系が「まだ」ひとつしかないって面もあると思う >>945
すまんが今来た俺もお前が手抜き過ぎると思うわ
分かんないなら無闇に質問するんじゃなく勉強するか
じふには理解できないものと諦めろよ。
自分に理解できないのは相手が悪いみたいな態度は、
もっとこう、なんでも分かる人にしか許されないと思うぞ
それに相手ちゃんと質問に詳しく答えてくれてるじゃん。
以上。 どうせあが言ってる事はまた理解できない事だろうから、俺が理解できないのもこいつが悪いに違いない
まあ仕方無いかもしれないな cのマクロで言いたかったことは
別にcのマクロが良いものだって話ではなくて、
高級な機能のマクロでバカが作ったものより
低級な機能でも優秀な人が作った枯れた技術のが安定するってことなんだけどな。 >>977
include 処理とか, Boost みたいに高級な事すると恐ろしいコンパイル時間になることが分かったからでしょ。
あれのせいでファイル分割しないのがベストなプログラミングとかいう奴まで出始めたわけで。。
まあそういう実験所を提供してるってのはc++の良いところな気もするけどね。
実験に巻き込まれたくはないけど。 >>985
>include 処理とか, Boost みたいに高級な事すると恐ろしいコンパイル時間になることが分かったからでしょ。
これ。
インクルード処理にマクロを使ってるからな。
例えばpsコマンドのソースをコンパイルする時<sys/stat.h>を37回includeしようとするらしい。
こういうのがソースの依存関係が大きくなるに従って指数関数的に増えていく。
結果としてコンパイルに40分とかかかるように。
Goは上記のコンパイルの無駄な時間から生まれたらしい。
詳細は
https://talks.golang.org/2012/splash.article 40分とか掛かるのはPSの話じゃないし、
40分が30分くらいに短縮したってだけじゃん。 マトモな実用OSでC以外の言語で記述したの
何かある? 次スレのタイトル考えた
現行のままでもいいけど
文字数制限(48byte)には注意
次世代言語Part8[Elm Nim Julia Elixir Crystal]
次世代言語Part8[C#7.2 C++17 Java9 ES2017 PHP7.2] (他Python3.6) 次世代言語議論スレ[略]
で良いじゃん、毎度揉めるなら。
2ぐらいに各言語入れとけば? メジャー言語はいらないと思う
代わりにRustやSwift, Kotlin, Hack等の新興言語入れればいい hackはnull安全だからあり。
elmも仲間に入れて このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 43日 4時間 40分 58秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。