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/
前
C言語なら俺に聞け 144
https://mevius.5ch.net/test/read.cgi/tech/1514025223/
次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
C言語なら俺に聞け 145
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 9381-qput)
2018/02/19(月) 22:13:58.98ID:9/te2eSJ0746デフォルトの名無しさん (ワッチョイ a139-kUw7)
2018/04/01(日) 22:01:04.55ID:Xs8rW8os0 破門
747デフォルトの名無しさん (アウアウカー Sadd-ByiX)
2018/04/01(日) 22:02:31.16ID:kjSWJmola C++よりは65536倍マシ
748デフォルトの名無しさん (ワッチョイ 4104-2GNe)
2018/04/02(月) 02:42:44.32ID:335Cb1sP0 C++の方が全然マシ。
C++で要求されるのは記憶力だが、Cはマジで実力が試される。
C++で要求されるのは記憶力だが、Cはマジで実力が試される。
749デフォルトの名無しさん (アウアウエー Sa23-HAdz)
2018/04/02(月) 04:26:42.33ID:3ewhMOuha750デフォルトの名無しさん (ワッチョイ 21b5-Uc3+)
2018/04/02(月) 09:23:05.49ID:tz45bHyl0 そんな君達に、C#
751デフォルトの名無しさん (アウアウカー Sadd-rlcN)
2018/04/02(月) 11:32:18.94ID:IY8Jb2oda C#は何かとっても嫌な予感がするのでパス
752デフォルトの名無しさん (ワッチョイ dbe7-2GNe)
2018/04/02(月) 11:37:34.04ID:GUMdRf0S0 組込みならverilog
753デフォルトの名無しさん (ワッチョイ 89a2-HAdz)
2018/04/02(月) 14:47:00.17ID:r6uHUG7/0 C#はないわ
754デフォルトの名無しさん (アウアウカー Sadd-ByiX)
2018/04/02(月) 15:09:03.97ID:+y0jgVYha C, C# はアリ
C++みたいな汚い言語はナシ
C++みたいな汚い言語はナシ
755デフォルトの名無しさん (アウアウカー Sadd-QRaF)
2018/04/02(月) 15:11:32.65ID:hvd81u+Da Cライクな言語なら何でもこいだわ
(知らないのは新たに勉強せざるを得ないが)
1人で書くのは大抵C++
(知らないのは新たに勉強せざるを得ないが)
1人で書くのは大抵C++
756デフォルトの名無しさん (ワッチョイ 13d4-Z+f4)
2018/04/02(月) 16:32:47.98ID:gGbBmtO80 C、C#、Goが好き
757デフォルトの名無しさん (ワッチョイ 19bd-kUw7)
2018/04/02(月) 17:06:51.28ID:E1iWIfmB0 C++17かなり良くなってきたね
C++98での苦行が嘘のよう
C++98での苦行が嘘のよう
758デフォルトの名無しさん (ササクッテロル Sp0d-Uc3+)
2018/04/02(月) 17:07:57.92ID:NgLCsptVp c++はテンプレート辺りから怪しくなって来た。
759デフォルトの名無しさん (ワッチョイ 5961-uaFS)
2018/04/02(月) 17:35:10.19ID:Hj+Kq4pv0 オールアセンブラで組んでた人が楽になるための言語。
760デフォルトの名無しさん (ワッチョイ 19bd-kUw7)
2018/04/02(月) 17:46:48.43ID:E1iWIfmB0 STLを初めて見た頃は違和感ありありだったけど
それはテンプレートを使うからでも、見た目が悪いからでもなく、中途半端だったから
C++11から以後、そのへんの補完工事が始まったのがありがたい
それはテンプレートを使うからでも、見た目が悪いからでもなく、中途半端だったから
C++11から以後、そのへんの補完工事が始まったのがありがたい
761デフォルトの名無しさん (ササクッテロル Sp0d-Uc3+)
2018/04/02(月) 17:52:55.07ID:NgLCsptVp 結局テンプレートって、型をオブジェクト型に統一してしまえばいいだけで、あんまり意味無いよな。
762デフォルトの名無しさん (ワッチョイ 19bd-kUw7)
2018/04/02(月) 18:00:26.75ID:E1iWIfmB0 Smalltalk風の継承モデルねえ
正直、俺も昔は盲信したことがあって今は恥じている
テンプレートならコンパイラがやってくれることを
自前でdynamic_castなんかやだよ
nested_exceptionとかは仕方ないけどね
正直、俺も昔は盲信したことがあって今は恥じている
テンプレートならコンパイラがやってくれることを
自前でdynamic_castなんかやだよ
nested_exceptionとかは仕方ないけどね
763デフォルトの名無しさん (アウアウカー Sadd-rlcN)
2018/04/02(月) 19:47:22.47ID:yiGPtloFa >>761
Javaなんかは内部でそうやって実現してるな。
Javaなんかは内部でそうやって実現してるな。
764デフォルトの名無しさん (ブーイモ MMf5-vInS)
2018/04/02(月) 20:33:40.82ID:EffuLSkeM よそでやれ
765デフォルトの名無しさん
2018/04/02(月) 22:15:26.67 >>761
そこはVariant型やろ
そこはVariant型やろ
766デフォルトの名無しさん (ワッチョイ b91b-yiKA)
2018/04/02(月) 22:26:42.69ID:pVqQLih90 printfの出力をマルチスレッドで行うことはできないのでしょうか
素人的には
スレッド1 printf("abcde");
スレッド2 printf("12345");
↓
出力 a1b23c4de5
となることを考えたのですが、WinAPIのCreateThreadやC++のThreadでも、CPU使用率はシングルスレッドのときと変わらず、出力もこのようにはなりませんでした
Windows VS2017
素人的には
スレッド1 printf("abcde");
スレッド2 printf("12345");
↓
出力 a1b23c4de5
となることを考えたのですが、WinAPIのCreateThreadやC++のThreadでも、CPU使用率はシングルスレッドのときと変わらず、出力もこのようにはなりませんでした
Windows VS2017
767片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdb3-MT4c)
2018/04/02(月) 22:29:05.76ID:APYGmZJZd >>766
排他制御されていないCRTを探す方が難しい。
排他制御されていないCRTを探す方が難しい。
768デフォルトの名無しさん (ワッチョイ c161-2OKV)
2018/04/02(月) 23:11:46.09ID:ifLgvYYR0 はじめまして。
大学でプログラミング関係の授業を受けるのですが、それの復習、応用などをrpgツクールmvですることは可能でしょうか?
ちょこっと調べた感じプログラミング要素もあるらしいのですが、c言語はあんまり使わないとかなんとかという記事も見られました。
どうせなら楽しく勉強したいので、ゲームを作りながら学習できないもんですかね...。
大学でプログラミング関係の授業を受けるのですが、それの復習、応用などをrpgツクールmvですることは可能でしょうか?
ちょこっと調べた感じプログラミング要素もあるらしいのですが、c言語はあんまり使わないとかなんとかという記事も見られました。
どうせなら楽しく勉強したいので、ゲームを作りながら学習できないもんですかね...。
769デフォルトの名無しさん (スップ Sdb3-7eys)
2018/04/02(月) 23:22:32.32ID:k8TtPNR/d >>768
プログラミングを授業で受けるなら、ゲーム制作はツクールMVよりUnityのがいいと思うけど授業内容は進むに連れてむしろツクールMVやUnityのようなのの中身についてになるから復習がてらにはしにくい
モチベ維持にはとても良いと思います
プログラミングを授業で受けるなら、ゲーム制作はツクールMVよりUnityのがいいと思うけど授業内容は進むに連れてむしろツクールMVやUnityのようなのの中身についてになるから復習がてらにはしにくい
モチベ維持にはとても良いと思います
770デフォルトの名無しさん (ワッチョイ b91b-yiKA)
2018/04/02(月) 23:33:36.58ID:pVqQLih90 >>767
ありがとうございます
ありがとうございます
771デフォルトの名無しさん (ワッチョイ 4104-2GNe)
2018/04/02(月) 23:41:50.21ID:335Cb1sP0 バリアント型は何ビットなん?って話になるのがC++。
772デフォルトの名無しさん (ワッチョイ 4150-W7mk)
2018/04/03(火) 04:15:40.51ID:j/8PevsK0773デフォルトの名無しさん (アウアウウー Sa45-Z+f4)
2018/04/03(火) 08:36:15.92ID:cWIVDHVHa O_DSYNCって使ったことある?
774デフォルトの名無しさん (アウアウカー Sadd-rlcN)
2018/04/03(火) 09:03:18.53ID:Lqpq4yV4a ない
775デフォルトの名無しさん (スプッッ Sdf3-/uQW)
2018/04/03(火) 17:34:38.59ID:IRh8xu7sd ないな
776デフォルトの名無しさん (ワッチョイ d98a-vInS)
2018/04/03(火) 20:54:03.05ID:TORpZXhc0 ないっす
JFS用?
JFS用?
777デフォルトの名無しさん (ワッチョイ 219f-kUw7)
2018/04/04(水) 00:52:55.41ID:Ssb/YhXn0778デフォルトの名無しさん (アウアウエー Sa23-HAdz)
2018/04/04(水) 02:32:43.57ID:h2UR4/YMa でっていう
779デフォルトの名無しさん (ササクッテロル Sp0d-Uc3+)
2018/04/04(水) 11:23:02.06ID:yTnGZmgQp 同期ってのは、処理が終わるまで帰って来ないって話だ。
下手すっと何秒も帰って来ないから、そこら中が固まる。
下手すっと何秒も帰って来ないから、そこら中が固まる。
780デフォルトの名無しさん (ワッチョイ 19bd-kUw7)
2018/04/04(水) 15:35:44.60ID:kI4IT8Vg0 同期というより直列だね
781デフォルトの名無しさん (ワッチョイ d374-kUw7)
2018/04/04(水) 21:14:25.41ID:rBWooG9b0 動悸I/O
782デフォルトの名無しさん (ワッチョイ 81b3-L1IY)
2018/04/04(水) 21:17:17.94ID:iV3ol7kd0 同期/非同期 ブロッキング/ノンブロッキング
783デフォルトの名無しさん
2018/04/04(水) 22:06:43.40 同期の絆
784デフォルトの名無しさん (ワンミングク MMd3-vInS)
2018/04/04(水) 22:10:42.29ID:tDZB1fULM 貴様と俺とは同期のファイル
785デフォルトの名無しさん (ワッチョイ 25b3-e08n)
2018/04/05(木) 08:17:37.54ID:zuAyx/JN0 数値計算手法の一つである陰解法って陽解法とどう違うんだろう?まったく理解が進まん
陰解法での次ステップの状態を計算するには陽解法と違って次ステップでの値が含まれてる関係で行列の方程式?を解かなければならないらしいけど、その方程式で導く値がどう答えに結びついていくのかがわからない
(最終的にはC言語のプログラムに落とし込みたい。陽解法のプログラムはもう作ってあるんで多少なりとも流用できると楽なんだけどそう簡単にはいかんよね?)
陰解法での次ステップの状態を計算するには陽解法と違って次ステップでの値が含まれてる関係で行列の方程式?を解かなければならないらしいけど、その方程式で導く値がどう答えに結びついていくのかがわからない
(最終的にはC言語のプログラムに落とし込みたい。陽解法のプログラムはもう作ってあるんで多少なりとも流用できると楽なんだけどそう簡単にはいかんよね?)
786デフォルトの名無しさん (ワッチョイ 4a12-U1J9)
2018/04/05(木) 12:42:25.18ID:O2KVno4c0 平たく言うと
100秒後の状態を得るのに途中の一つずつを100個全部求めなきゃいけないのが陽解法
10秒ごとの計算を10回、でいいのが陰解法
陰解法はかんたんに未来を得られる分、行列計算が面倒になる
100秒後の状態を得るのに途中の一つずつを100個全部求めなきゃいけないのが陽解法
10秒ごとの計算を10回、でいいのが陰解法
陰解法はかんたんに未来を得られる分、行列計算が面倒になる
787デフォルトの名無しさん (ワッチョイ 6d61-7DGm)
2018/04/05(木) 23:51:02.65ID:Un4TbCjZ0 これなんですけど、printfのとこの"%2c"で、
" %2c"
" %2c "
など空白を入れることで配列が変わってくるのですが、前に空白と後ろに空白のときの規則性がわかりません。教えて欲しいです。
https://i.imgur.com/QI86not.jpg
" %2c"
" %2c "
など空白を入れることで配列が変わってくるのですが、前に空白と後ろに空白のときの規則性がわかりません。教えて欲しいです。
https://i.imgur.com/QI86not.jpg
788デフォルトの名無しさん (ブーイモ MM39-sWvK)
2018/04/06(金) 00:10:45.42ID:alNyslUNM もっと具体的に
789デフォルトの名無しさん (ワッチョイ 2d93-SKFW)
2018/04/06(金) 05:54:14.00ID:dKA/BnpB0 >>787
質問にある“配列”てのは、画面に出力される結果のことかな?
表示される文字やその順番は同じだけど、文字の間の空白の数が違う、と。
プログラミング界隈では“配列”って言葉は特定の意味を持った専門用語だし、
問題のプログラムはその意味での配列を使ってないから軽く混乱を招くかと。
質問にある“配列”てのは、画面に出力される結果のことかな?
表示される文字やその順番は同じだけど、文字の間の空白の数が違う、と。
プログラミング界隈では“配列”って言葉は特定の意味を持った専門用語だし、
問題のプログラムはその意味での配列を使ってないから軽く混乱を招くかと。
790デフォルトの名無しさん (ワッチョイ c1f7-p6L1)
2018/04/07(土) 07:48:11.30ID:mjL64jtF0 配置とかか?自分の試した結果で理解しろよ
791デフォルトの名無しさん (ワッチョイ 2d04-43s8)
2018/04/07(土) 13:51:14.96ID:Bd1xKzd/0 表示系の2バイト文字の扱い云々な気がする。
792デフォルトの名無しさん (ワッチョイ 5d9f-vJpg)
2018/04/07(土) 15:06:53.28ID:bMqQKRLP0 >>787
%2c の部分は右詰めで幅2文字の指定になるが c なので常に1文字の指定になり
引数の int 型数値は unsigned char に変換されて出力される。つまり %2c の部分
だけでスペース1文字と引数で与えた1文字が出力される。(もちろん端末によっては
引数の値によって1文字の扱いにならないかも知れないが、その辺は説明が長く
なるので省略)。
後はその前後にスペースを付け加えて出すかだけの問題。そのプログラムには
改行がないので全て繋がって出力される。(1回も改行を出力しないままプログラムが
終わるので実行環境によっては出力の後に続けてシェルのプロンプトが出るかも
知れない)。
%2c の部分は右詰めで幅2文字の指定になるが c なので常に1文字の指定になり
引数の int 型数値は unsigned char に変換されて出力される。つまり %2c の部分
だけでスペース1文字と引数で与えた1文字が出力される。(もちろん端末によっては
引数の値によって1文字の扱いにならないかも知れないが、その辺は説明が長く
なるので省略)。
後はその前後にスペースを付け加えて出すかだけの問題。そのプログラムには
改行がないので全て繋がって出力される。(1回も改行を出力しないままプログラムが
終わるので実行環境によっては出力の後に続けてシェルのプロンプトが出るかも
知れない)。
793デフォルトの名無しさん (ワッチョイ 2d23-6Vn5)
2018/04/07(土) 15:19:36.81ID:vVe4gpjb0 判りにくい日本語だな
判るものもかえって判らなくなるくらいひどい
判るものもかえって判らなくなるくらいひどい
794デフォルトの名無しさん (ワッチョイ 5d9f-vJpg)
2018/04/07(土) 16:08:23.10ID:bMqQKRLP0 じゃあ分かり易く書き換えてくれ。
795デフォルトの名無しさん (スップ Sdca-3orc)
2018/04/07(土) 19:07:44.77ID:jn0jIz6fd まず、%2cは必ず「ブランク*」(*は任意の1文字)になる。
その上で整形用のブランクはprintfを分けて、
ブランク以外の文字とかで試してみろ。
その上で整形用のブランクはprintfを分けて、
ブランク以外の文字とかで試してみろ。
796デフォルトの名無しさん (アウアウウー Sa11-Yvdw)
2018/04/07(土) 21:25:17.61ID:I35+hkP6a >>745
アセンブラからきたわいCの楽さに歓喜
アセンブラからきたわいCの楽さに歓喜
797デフォルトの名無しさん
2018/04/07(土) 21:49:40.43 Visual BasicとかPerlとかから入った自分としては、
Cのほうが簡単に書ける場面もあれば
VBSやVBAがいい場面もあればPerlがいい場面もあって
要はどの言語でも楽しく書ければそれでええやん
Cのほうが簡単に書ける場面もあれば
VBSやVBAがいい場面もあればPerlがいい場面もあって
要はどの言語でも楽しく書ければそれでええやん
798デフォルトの名無しさん (ワッチョイ 3ee7-43s8)
2018/04/08(日) 06:56:45.64ID:oETTfDn00 ワイはbash + sed + cの三点セットや
799デフォルトの名無しさん (ワッチョイ d99f-lfby)
2018/04/09(月) 19:49:06.28ID:bmGQy2qQ0 >>787
こんなの試してみたら分かったりしない?(\nは改行)
printf("%c\n",'a');
printf("%1c\n",'a');
printf("%2c\n",'a');
printf("%3c\n",'a');
printf("%4c\n",'a');
printf("%5c\n",'a');
こんなの試してみたら分かったりしない?(\nは改行)
printf("%c\n",'a');
printf("%1c\n",'a');
printf("%2c\n",'a');
printf("%3c\n",'a');
printf("%4c\n",'a');
printf("%5c\n",'a');
800デフォルトの名無しさん (JP 0H65-sWvK)
2018/04/09(月) 20:21:36.79ID:qxDYyi6TH 一切出てこない質問者の相手はいらんだろ
801デフォルトの名無しさん (ブーイモ MMe7-64l2)
2018/04/15(日) 15:16:14.29ID:iG9vZW44M 上の写真を見る限りjが増えたタイミングでprintfで改行コード入れてるっぽいけどそれならiのforが終わったタイミングで改行コード入れれば動くんじゃないですか?
なぜiが8までしか回さないのかわからないですが…
なぜiが8までしか回さないのかわからないですが…
802デフォルトの名無しさん (ワッチョイ 93ab-ycE0)
2018/04/15(日) 15:38:09.01ID:MyboI2lC0 しょーもない質問ですいません
vs2017で勉強してるど素人なんですが
コードをミスして修正しようとすると文字が上書きされて
文字を挿入できないん時があるんですが、
なぜでしょうか?
vs2017で勉強してるど素人なんですが
コードをミスして修正しようとすると文字が上書きされて
文字を挿入できないん時があるんですが、
なぜでしょうか?
803デフォルトの名無しさん
2018/04/15(日) 15:41:00.10804デフォルトの名無しさん (ワッチョイ ffb3-fgqO)
2018/04/15(日) 15:42:04.62ID:CIuag2/D0805デフォルトの名無しさん (アウアウカー Sa47-xkpZ)
2018/04/15(日) 15:50:05.64ID:ASLFteC6a 上書きモードに誤爆したろ
806デフォルトの名無しさん (ワッチョイ cf80-YIzk)
2018/04/15(日) 15:54:21.86ID:0gUBaoqj0807デフォルトの名無しさん
2018/04/15(日) 16:17:29.71 >>806
この程度読み取れないようじゃエスパーに向いてないよ
> どこに改行コードがあるのか
予想回答「int c=‘ ‘;」って改行コードですよね?
iが増えるたびに改行コードをprintしたいんですよね?
> iが8までとは何の事か
予想回答:すみません、jの間違いです!
この程度読み取れないようじゃエスパーに向いてないよ
> どこに改行コードがあるのか
予想回答「int c=‘ ‘;」って改行コードですよね?
iが増えるたびに改行コードをprintしたいんですよね?
> iが8までとは何の事か
予想回答:すみません、jの間違いです!
808デフォルトの名無しさん (フリッテル MMff-D6/M)
2018/04/15(日) 16:20:53.00ID:LLURRdNlM 改行は'¥n'
' 'はスペース
' 'はスペース
809デフォルトの名無しさん (スップ Sd1f-96DA)
2018/04/15(日) 16:30:24.50ID:bKUHpU4ed810デフォルトの名無しさん (ワッチョイ 43bb-LJHW)
2018/04/15(日) 19:02:55.57ID:+NxoeMlk0 C言語でのステートマシンの設計や、上手なコーディングについて
体系的に学べるお勧めの書籍やサイト教えて下さい。
体系的に学べるお勧めの書籍やサイト教えて下さい。
811デフォルトの名無しさん (ワッチョイ 43bb-LJHW)
2018/04/15(日) 19:08:40.56ID:+NxoeMlk0 連投で申し訳ないけど
この辺の技術ってC++勉強した方が身に付くのかな?
この辺の技術ってC++勉強した方が身に付くのかな?
812デフォルトの名無しさん (ワッチョイ a304-x9ai)
2018/04/15(日) 19:10:47.07ID:7zIgNBcs0 Cはライブラリが貧弱でほとんど自作しないといけない。
C++はその辺多少マシ。Boostとかあるし。
C++はその辺多少マシ。Boostとかあるし。
813デフォルトの名無しさん (ワッチョイ a304-x9ai)
2018/04/15(日) 19:14:55.01ID:7zIgNBcs0 至極の名言教えてやるぜ。受け売りだけどな。
コードを効率的にしたり、最強の最適化だったりするそれが一番効くのは書かないことだ。
書くと何らかの負荷になる、コードもグチャグチャになる。
必要なことだけ書いて後は流れに任せるのが上達の道。
コードを効率的にしたり、最強の最適化だったりするそれが一番効くのは書かないことだ。
書くと何らかの負荷になる、コードもグチャグチャになる。
必要なことだけ書いて後は流れに任せるのが上達の道。
814デフォルトの名無しさん (スププ Sd1f-2qx6)
2018/04/15(日) 19:47:03.66ID:aZbHy3F9d C++って言うほどライブラリ充実してるか?
815デフォルトの名無しさん (ワッチョイ 43bb-LJHW)
2018/04/15(日) 19:59:11.25ID:+NxoeMlk0 うーん・・・人によって考え方が違うから正解なんてないし
2chのこのレスだけでは具体的な提示とか難しいよね
本当に必要な処理だけ書いてたら関数長くなって
見通し悪くなったりメンテし辛くなったりしない?
2chのこのレスだけでは具体的な提示とか難しいよね
本当に必要な処理だけ書いてたら関数長くなって
見通し悪くなったりメンテし辛くなったりしない?
816デフォルトの名無しさん (ワッチョイ a39f-/JlG)
2018/04/15(日) 20:03:21.51ID:IgQGrpHk0 >>810
ない。
>>811
関係ない。
君は本質的な「プログラミングの腕前」を上達させる為に、体系的に学べる物を探しているんだろ?
ならそれは言語には全く関係ないことは分かるだろ。
そして、そんな物は今はない。なぜならプログラミングは今もまだ発展途上だから。
そもそも歴史が浅い。プログラミングには100年ほどの歴史しかないし、
プログラミング作法が学問として成立してからは50年ほどしか経ってない。
だから現在でも試行錯誤中なんだよ。
それは今更C#/C++/Javaがラムダを採用したことからも分かるだろ。
ラムダ自体はLispの昔からあった。
そしてこれらの言語はそれを知っていて不採用としたわけだが、
今更の方向転換=間違いを認めた、ということなんだよ。
まだそれくらいあやふやなものだって事。
勿論各自が「オレオレ流スーパーハッカー道」を上梓することは出来るのだけど、
実際そういう奴はいないようだ。
とはいえ、結果的に全ての言語が似たり寄ったりになってきているから、
これは成熟してきていることを意味する。
となると、今後は体系化されていくだろうし、そういうサイトや本が現れてきてもおかしくない。
今は>>813みたいな、一言集みたいなのしかないね。
https://xn--97-273ae6a4irb6e2hsoiozc2g4b8082p.com/
ない。
>>811
関係ない。
君は本質的な「プログラミングの腕前」を上達させる為に、体系的に学べる物を探しているんだろ?
ならそれは言語には全く関係ないことは分かるだろ。
そして、そんな物は今はない。なぜならプログラミングは今もまだ発展途上だから。
そもそも歴史が浅い。プログラミングには100年ほどの歴史しかないし、
プログラミング作法が学問として成立してからは50年ほどしか経ってない。
だから現在でも試行錯誤中なんだよ。
それは今更C#/C++/Javaがラムダを採用したことからも分かるだろ。
ラムダ自体はLispの昔からあった。
そしてこれらの言語はそれを知っていて不採用としたわけだが、
今更の方向転換=間違いを認めた、ということなんだよ。
まだそれくらいあやふやなものだって事。
勿論各自が「オレオレ流スーパーハッカー道」を上梓することは出来るのだけど、
実際そういう奴はいないようだ。
とはいえ、結果的に全ての言語が似たり寄ったりになってきているから、
これは成熟してきていることを意味する。
となると、今後は体系化されていくだろうし、そういうサイトや本が現れてきてもおかしくない。
今は>>813みたいな、一言集みたいなのしかないね。
https://xn--97-273ae6a4irb6e2hsoiozc2g4b8082p.com/
817デフォルトの名無しさん (ワッチョイ ffb3-fgqO)
2018/04/15(日) 20:18:14.92ID:CIuag2/D0 >>816
C++/C#/Java のラムダ式ってラムダ式じゃないと表現できない「何か」を表現する、というよりは、シンタックスシュガーとしてのラムダ式であることが不満です
C++/C#/Java のラムダ式ってラムダ式じゃないと表現できない「何か」を表現する、というよりは、シンタックスシュガーとしてのラムダ式であることが不満です
819デフォルトの名無しさん (ワッチョイ a39f-/JlG)
2018/04/15(日) 20:26:36.28ID:IgQGrpHk0 >>819
Y コンビネーターとか、どうですか?
Y コンビネーターとか、どうですか?
821デフォルトの名無しさん (スプッッ Sd1f-E7pr)
2018/04/15(日) 20:33:38.79ID:8Bp5iafSd822デフォルトの名無しさん (ワッチョイ a39f-/JlG)
2018/04/15(日) 20:35:56.05ID:IgQGrpHk0823デフォルトの名無しさん (ワッチョイ a304-x9ai)
2018/04/15(日) 21:29:24.63ID:7zIgNBcs0824デフォルトの名無しさん (ワッチョイ a350-96DA)
2018/04/15(日) 23:30:02.09ID:sXJBpbWg0 この板でチューリング完全て言葉をみるとは思わなかった
825デフォルトの名無しさん (アウアウカー Sa47-QFn6)
2018/04/15(日) 23:59:29.91ID:L6Qt+I9Ha だいたい、どう抽象化するのがええのかって話でチューリング完全は関係ないからねえ。
前提としてはそうでないとあかんかも知れんけど。
前提としてはそうでないとあかんかも知れんけど。
826デフォルトの名無しさん (ワッチョイ a39f-/JlG)
2018/04/16(月) 00:40:26.76ID:qQ0bjYjD0 抽象化については「オブジェクト指向」で今のところ決着してるだろ。
これを否定する見解や言語は無いと思うが。
これを否定する見解や言語は無いと思うが。
827デフォルトの名無しさん (ワッチョイ a311-d/7d)
2018/04/16(月) 04:32:33.72ID:94linQhp0 コンビネータでも実装するか?
828デフォルトの名無しさん (ワッチョイ a39f-/JlG)
2018/04/16(月) 23:38:04.25ID:qQ0bjYjD0 >>820
>>827
お前ら知ってるのならそのメリットを(出来れば具体的に)書いてみてくれないか?
一応Wiki読んだが、
> 明示的に再帰を書かずに再帰を実現する為に用いる事ができる。
> なお、一般にそういった言語では普通に再帰が使えるので、
> プログラミングにおいてはパズル的なテクニック以上の意味は無い。
> https://ja.wikipedia.org/wiki/%E4%B8%8D%E5%8B%95%E7%82%B9%E3%82%B3%E3%83%B3%E3%83%93%E3%83%8D%E3%83%BC%E3%82%BF
なら、いらねえし、採用されることはないと思うが。
>>827
お前ら知ってるのならそのメリットを(出来れば具体的に)書いてみてくれないか?
一応Wiki読んだが、
> 明示的に再帰を書かずに再帰を実現する為に用いる事ができる。
> なお、一般にそういった言語では普通に再帰が使えるので、
> プログラミングにおいてはパズル的なテクニック以上の意味は無い。
> https://ja.wikipedia.org/wiki/%E4%B8%8D%E5%8B%95%E7%82%B9%E3%82%B3%E3%83%B3%E3%83%93%E3%83%8D%E3%83%BC%E3%82%BF
なら、いらねえし、採用されることはないと思うが。
>>828
その wikipedia の解説はちょっと本質からはずれている気がする
「明示的な識別子を含まないで再帰関数が記述できる」くらいか
ラムダ表現を採用している、というのなら不動点コンビネータくらいは記述できないといけないのではないか?
いいかえれば不動点コンビネータを表現できないラムダ表現は「何か大事な部分が欠けている」
ラムダ表現は理論的なモデル(計算可能性を論じるなど)として考案されたもので、実用とか効率とかからは遠く離れている
ラムダ表現を売りにする言語(lisp とか)ならともかく、C#/C++/Java のような実用・効率を求める言語で単に「ラムダ表現ができる」「簡潔だ」くらいの理由で採用されるのは、無目的に言語仕様を拡張しているという理由で個人的には不満
さらにはラムダ表現を老害フィルタがわりに使う者もいたりするが、そういうのには賛同しがたい
その wikipedia の解説はちょっと本質からはずれている気がする
「明示的な識別子を含まないで再帰関数が記述できる」くらいか
ラムダ表現を採用している、というのなら不動点コンビネータくらいは記述できないといけないのではないか?
いいかえれば不動点コンビネータを表現できないラムダ表現は「何か大事な部分が欠けている」
ラムダ表現は理論的なモデル(計算可能性を論じるなど)として考案されたもので、実用とか効率とかからは遠く離れている
ラムダ表現を売りにする言語(lisp とか)ならともかく、C#/C++/Java のような実用・効率を求める言語で単に「ラムダ表現ができる」「簡潔だ」くらいの理由で採用されるのは、無目的に言語仕様を拡張しているという理由で個人的には不満
さらにはラムダ表現を老害フィルタがわりに使う者もいたりするが、そういうのには賛同しがたい
830デフォルトの名無しさん (アウアウカー Sa47-QFn6)
2018/04/17(火) 01:21:31.43ID:RhwG6Rqia javascriptだとアリって気がするよな。
なぜかは知らんが。まあlisp感あるからか。
なぜかは知らんが。まあlisp感あるからか。
831デフォルトの名無しさん (ワッチョイ ff12-/JlG)
2018/04/17(火) 08:33:39.92ID:dXM64r3I0 javascriptにはなぜかオブジェクト指向が無いからな
コンビネータはC++には早晩実装されそうな気がする
コンビネータはC++には早晩実装されそうな気がする
832デフォルトの名無しさん (ワッチョイ 738a-A4FG)
2018/04/17(火) 09:37:19.33ID:tZLDyJo/0 C++やJavaはクラスベースのオブジェクト指向言語
JavaScriptはプロトタイプベースのオブジェクト指向言語
JavaScriptはプロトタイプベースのオブジェクト指向言語
833デフォルトの名無しさん (ワッチョイ a39f-/JlG)
2018/04/17(火) 23:42:23.84ID:Yk52Q7IR0 >>829
今の仕様で不動点コンビネータが記述できるのかどうかは俺には分からないが、
焦点はその先で、「記述できたら何がうれしいのだ?」なのだと思うよ。
実用言語で重視されるのは当然「実用性」であって、「学術性」ではない。
逆に、実用性皆無なら、当該部分が削除された状態で採用されるべきだ。
例えばC#は意図的にインラインアセンブラを禁止している。
ヘルスバーグのインタビューがググッても出てこないのだが、心は、
「C#のコードならメンテできます」の為の必要知識量を抑えること、だった。
これは長期的に要員確保の難易度を下げ、結果的にメンテ性を上げる。
これも実用言語では重要だよ。
アメリカでPythonを使うのも、Python自体が良い言語だと思っている奴は皆無で、
「Pythonならみんな読めるし書けるから」だからね。
そのコードが10年以上使われることが分かっているのなら、
10年後に要員確保できない可能性がある言語を選択するのは間違いだし。
Cは、(時代的に無理ではあったが)何でもありの状態で、
文法は極めて簡単だが問題は中で何をやっているかで、読んでみなければ分からない。
「Cのコードならメンテできます」とか、簡単に言うのは無理だろ。
C#はイミフなコード構成(大体はCでも警告が出るもの)も禁止されており、
一応、エンジニアが「C#ならメンテできます」と言えることを目指している。
(上手く行っているとは言い難い部分もあるが)
酷い話だが、Javaは10年間全く進歩しないことによってこれを達成してしまっているし。
だから、話を戻すと、
実用言語においては実用性のある機能は取り入れるべきだが、
実用性がない機能は捨てられるべきなんだよ。
(大は小を兼ねる、多めに採用しとけ、ではない。同様に無駄に構文糖が多いのも問題)
今回ラムダが矮小化されて取り込まれているということなら、
取り込まれた部分は必要だと、切り捨てられた部分は不要だと判断されただけ。
勿論今後覆る可能性もあるけどね。
今の仕様で不動点コンビネータが記述できるのかどうかは俺には分からないが、
焦点はその先で、「記述できたら何がうれしいのだ?」なのだと思うよ。
実用言語で重視されるのは当然「実用性」であって、「学術性」ではない。
逆に、実用性皆無なら、当該部分が削除された状態で採用されるべきだ。
例えばC#は意図的にインラインアセンブラを禁止している。
ヘルスバーグのインタビューがググッても出てこないのだが、心は、
「C#のコードならメンテできます」の為の必要知識量を抑えること、だった。
これは長期的に要員確保の難易度を下げ、結果的にメンテ性を上げる。
これも実用言語では重要だよ。
アメリカでPythonを使うのも、Python自体が良い言語だと思っている奴は皆無で、
「Pythonならみんな読めるし書けるから」だからね。
そのコードが10年以上使われることが分かっているのなら、
10年後に要員確保できない可能性がある言語を選択するのは間違いだし。
Cは、(時代的に無理ではあったが)何でもありの状態で、
文法は極めて簡単だが問題は中で何をやっているかで、読んでみなければ分からない。
「Cのコードならメンテできます」とか、簡単に言うのは無理だろ。
C#はイミフなコード構成(大体はCでも警告が出るもの)も禁止されており、
一応、エンジニアが「C#ならメンテできます」と言えることを目指している。
(上手く行っているとは言い難い部分もあるが)
酷い話だが、Javaは10年間全く進歩しないことによってこれを達成してしまっているし。
だから、話を戻すと、
実用言語においては実用性のある機能は取り入れるべきだが、
実用性がない機能は捨てられるべきなんだよ。
(大は小を兼ねる、多めに採用しとけ、ではない。同様に無駄に構文糖が多いのも問題)
今回ラムダが矮小化されて取り込まれているということなら、
取り込まれた部分は必要だと、切り捨てられた部分は不要だと判断されただけ。
勿論今後覆る可能性もあるけどね。
834デフォルトの名無しさん (ワッチョイ 738a-Z7Iu)
2018/04/17(火) 23:55:44.13ID:zXGef27d0 そういうのは自宅の壁に
>>833
>取り込まれた部分は必要だと、切り捨てられた部分は不要だと判断されただけ。
受動的な態度であればそうなるが、あえて私の感覚を述べるとすれば、
ラムダ式を C++/C#/Java(特にC++)に取り込む価値があったのか?
という点、C++ のラムダ式は operator()() で実現できるし、operator()() のシンタックスシュガーと考えてよい
シンタックスシュガーを全否定するわけではない
「ラムダ式」という偉大な名前に反して、実際にできることは一般的な「ラムダ式」のカバーする領域よりも狭くなっているのを「不満」と感じているだけなのかもしれない
>取り込まれた部分は必要だと、切り捨てられた部分は不要だと判断されただけ。
受動的な態度であればそうなるが、あえて私の感覚を述べるとすれば、
ラムダ式を C++/C#/Java(特にC++)に取り込む価値があったのか?
という点、C++ のラムダ式は operator()() で実現できるし、operator()() のシンタックスシュガーと考えてよい
シンタックスシュガーを全否定するわけではない
「ラムダ式」という偉大な名前に反して、実際にできることは一般的な「ラムダ式」のカバーする領域よりも狭くなっているのを「不満」と感じているだけなのかもしれない
836デフォルトの名無しさん (ワッチョイ a39f-/JlG)
2018/04/18(水) 01:03:16.68ID:fAoQEHU80 >>835
> C++ のラムダ式は operator()() で実現できるし、operator()() のシンタックスシュガーと考えてよい
一応それが禿がラムダをC++に採用するのに反対している理由だったと聞いたが、
結果的には折れたんだろ。
昨今は「出来ること」よりも「ソースコードの見やすさ」が重視されているし、妥当だと思うが。
比較すると、
1. そもそも operator()()(ファンクタ)では関数に見えない。これが最大のガン。
2. C/C++は階層記述能力が無く、関数内関数が出来ない。このため、
局所的に関数ポインタを使いたいだけの場合でも上位階層に関数を記述するしかなく、
結果的にその関数は他からも見える(使える)状態になってしまう。
匿名関数であれば、そこでしか使っていない事を文法的に保証できる。
3. ファンクタだとインスタンス変数は必ずコピーすることになる。
ラムダだとおそらく直接掴める場合もあり、この場合はケチれる。
(ただしこれは実装による)
だから関数内関数(クロージャ付き、最低限その階層の変数は見えるもの=GCC拡張の仕様でいい)があれば、
1,2,3とも達成できるし、要らなかったかな、とも思う。
というか、C/C++とも、関数内関数(階層)は無しで押し切るつもりかよー、とは思う。
ラムダよりこっちの方が必要な気がするのだが。
> C++ のラムダ式は operator()() で実現できるし、operator()() のシンタックスシュガーと考えてよい
一応それが禿がラムダをC++に採用するのに反対している理由だったと聞いたが、
結果的には折れたんだろ。
昨今は「出来ること」よりも「ソースコードの見やすさ」が重視されているし、妥当だと思うが。
比較すると、
1. そもそも operator()()(ファンクタ)では関数に見えない。これが最大のガン。
2. C/C++は階層記述能力が無く、関数内関数が出来ない。このため、
局所的に関数ポインタを使いたいだけの場合でも上位階層に関数を記述するしかなく、
結果的にその関数は他からも見える(使える)状態になってしまう。
匿名関数であれば、そこでしか使っていない事を文法的に保証できる。
3. ファンクタだとインスタンス変数は必ずコピーすることになる。
ラムダだとおそらく直接掴める場合もあり、この場合はケチれる。
(ただしこれは実装による)
だから関数内関数(クロージャ付き、最低限その階層の変数は見えるもの=GCC拡張の仕様でいい)があれば、
1,2,3とも達成できるし、要らなかったかな、とも思う。
というか、C/C++とも、関数内関数(階層)は無しで押し切るつもりかよー、とは思う。
ラムダよりこっちの方が必要な気がするのだが。
837デフォルトの名無しさん (スップ Sd1f-CG16)
2018/04/18(水) 02:30:28.15ID:vVNlUpo0d Cとシェルスクリプトだけで生きていきたいんですが食べていけますか?
またそういった分野らOSSコミッター以外でありますでしょうか?
またそういった分野らOSSコミッター以外でありますでしょうか?
838デフォルトの名無しさん (ワッチョイ 738a-Z7Iu)
2018/04/18(水) 02:40:14.81ID:whM0Cl8U0 あるとするなら組込系かな
回路図とアセンブラは出来るの?
回路図とアセンブラは出来るの?
839デフォルトの名無しさん (スップ Sd1f-CG16)
2018/04/18(水) 03:38:30.78ID:5PSc4Ve9d >>838
ありがとうございます
ありがとうございます
840デフォルトの名無しさん
2018/04/18(水) 06:50:02.81 今どき組み込み系もPythonできなきゃやっていけない時代よ
841デフォルトの名無しさん (ワッチョイ a350-96DA)
2018/04/18(水) 06:58:40.17ID:JUjvxXNW0 組み込みは圧倒的にC言語が多い
842デフォルトの名無しさん
2018/04/18(水) 07:26:37.24 >>841
ツール類は一昔前ならPerl/Ruby/TTL(TeraTerm)/VBA、今はPythonが必須だよ
ツール類は一昔前ならPerl/Ruby/TTL(TeraTerm)/VBA、今はPythonが必須だよ
843デフォルトの名無しさん (ワッチョイ a350-96DA)
2018/04/18(水) 07:55:12.06ID:JUjvxXNW0 ツール類ってなんだよ
組み込みの話をしてるの
機器内部のファームウェア
組み込みの話をしてるの
機器内部のファームウェア
844デフォルトの名無しさん
2018/04/18(水) 08:03:28.70 >>843
組み込み系開発者がCソースだけいじってればいいと思ってんのか
組み込み系開発者がCソースだけいじってればいいと思ってんのか
845デフォルトの名無しさん (ワッチョイ a350-96DA)
2018/04/18(水) 08:06:09.63ID:JUjvxXNW0 大部分の組み込みだとYES
他の言語など使わない
他の言語など使わない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 【野球】野球の未来に危機感「マイナースポーツになる」 宮本慎也氏が開催…学童大会 [尺アジ★]
- 中国「捜索レーダー起動は各国の通常の手法」 火器管制用か回答せず [蚤の市★]
- 【訃報】声優・西村知道さん死去 「SLAM DUNK」安西先生役 9月に体調不良のため一時休業 [少考さん★]
- 三角形はカッコいい
- 【画像】大人気Vtuber宝鐘マリンさん、115円…
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- 今緊急でコマを回しています
- 俺はヤンキーだから
- 【速報】高市早苗、起床 [779938112]
