C言語なら俺に聞け 141 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2017/07/17(月) 21:06:47.63ID:J4JGo3XO
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/

C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf

C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html

C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/

JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/


http://mevius.2ch.net/test/read.cgi/tech/1494508803/
http://www.geocities.jp/c_cpp_cs/about_c/
2017/07/18(火) 23:50:25.98ID:tZS7qvye
>>55
> 機械学習とか数値処理とかの学術系
あまり詳しくはないが、MLとかは当てにならん。
あれらはループがえぐいだけで中身は大した事はない。
大半が下位コード、1k行か精々3k行程度のはずで、俺なら使い捨てにする。
しかも自分の環境で動けばいいだけのイージーモードだ。
がっつり保守されてる奴を見ないと実用上の向き不向きは分からん。
ウォーターフォールで作ればアホでも綺麗に作れるのは当たり前であって、
問題はそこからの耐性だから。
本来のOOPもそこからのスタートだったろ。
最近のOOPは若干暴走気味で、設計の設計の設計みたいな感じになっている奴も多いが。

で、教えてもらって文句を言うのも悪いんだが、、、
> pandoc
マークアップコンバータは再帰で実装できるからHaskell向きかもしれん。
ただこれもかなり簡単で、しかもどの言語でも実装できる代物でしかない。
要するに再帰とストリング系が強ければいけるから、
LL言語ならどれを使っても問題ないし、苦労もしないだろう。
Haskellを使ったからこそ生きる、というものではないと思う。

Cが使われている現場は、Cでしか書けないから、だ。
それはお世辞にも生産性が高いとはいい難いことの裏返しではあるが、
linuxKernelについてはLinus自身がC++では無理だったと言っているし、
Gitについても同様だ。
> gitのような、効率を第一の目的としたのには、C++の「利点」とやらは大失敗なんだよ。
> 実際のところ、LinuxではC++を試したことがある。1992年のことだった。
> 結果はクソだった。マジで、カーネルコードをC++で書くのは、ド低脳の考えだ。
> https://cpplover.blogspot.jp/2013/05/linus-torvalsc.html
実際Git全盛だし、Linuxについても
「安全なOOPでカーネルを書き直そう!」という話が10年程前には在った筈だが、
今全く聞かないので、完全にポシャったのだろう。
結果的にLinusの意見の正しさを証明している。
2017/07/18(火) 23:51:25.94ID:tZS7qvye
Haskellの売りは遅延評価だろ?
ならば、遅延評価がビルトインで提供されているからこそこれだけ簡単に実装できる、
そうでない言語ではかなり辛いことになる、というところで戦わなければ意味が無い。
マークアップコンバータは違うし、そこに挙げられている他12種も同様だ。
Linusの言葉を借りるなら、
> (c) 授業でそういう課題を与えられた者
でしかない。他言語を既に十二分に使えるときに、それらアプリでHaskellを選択する理由がない。

遅延評価の利点は、俺が思うに、適当に書いても速いことだ。
具体的には、超大富豪プログラムを動的に貧民プログラムに変身させられる事だ。
だからチャキチャキ書けないと意味が無いのだが、Haskellはお世辞にもそういう感じではないだろ。
だからHaskell使いがあの程度のアプリしか作れない時点で将来性はないよ。
彼らもそれなりに優秀なはずで、仮に俺が学んだとしても、彼ら以上のものを作るのは容易ではない。
それで作れるものがあの程度?そそられねーな、って感じ。
あのラインナップなら今でも他言語で作れるし、多分そんなに苦労もしない。

とはいえこれはサンプルとしては素晴らしい。ありがとう。
保守されているし、俺が確認したい中位コードは大量に含まれているはずだ。
俺自身が他言語で実装できるだろうというのもいい。オレオレ実装と比較できる。
つまり、言語比較という意味ではかなりいい素材だ。
ただそれ以前に俺はHaskellをほぼ読めないので、読むのはずいぶん先になりそうだ。
これについては申し訳ないね。
2017/07/18(火) 23:52:11.26ID:tZS7qvye
> Ansibleやyum
お手軽スクリプトの域を出ないと思う。最悪、シェルスクリプトでも出来る範囲だろ。
C++の現場、たとえばブラウザでは、本当にエグイほど仕様変更が入って、
結果的にソースコードはぼろぼろになっていって、それでも保守している。
だからやっぱりLL言語はLL言語なんだと思うよ。
これだからスクリプターは、、、というのも当たってる。戦場の厳しさの次元が違う。

一通り動かすところまではどの言語を使っても出来る。
その過程で、例えばHaskellの遅延評価のような言語独自のフィーチャーがあり、
それを生かせれば素晴らしい。
しかしPythonにはそもそもそれがない。特に可もなく不可もなく、的な言語だ。
そして問題はそこから先で、
当初想定してなかった仕様変更が入ってきたときどこまで耐えられるかなのだが、
これに関してはPythonは不可も無いのだからそれなりではある。(悪くはない)
(なおJavaScriptはデタラメなパッチで一時しのぎする方法には事欠かないため、
俺はこの点も気に入っている)

エコシステムが云々、というのはおいておいて、
言語自体の能力で言えば、Pythonを積極的に選ぶ理由が一つもない。
とはいえ他言語は色々尖っていることも多いので、消極的にPythonってのもありだとは思うし、
実際そこにポジションしているとも思うが。Javaに近いというか。
両言語ともそれで繁栄しているのだから間違いでもないわけだが。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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