[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 22:32 / Filesize : 186 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

推薦図書/必読書のためのスレッド 49



1 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 17:37:41 ]
プログラム技術板倉庫
s225.web.fc2.com/index.html

前スレ
推薦図書/必読書のためのスレッド 48
pc12.2ch.net/test/read.cgi/tech/1241593031/

81 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 20:57:09 ]
>>79
目次見る限り良さげに見えるけど。
おれも買っておこうかな。

82 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 22:16:43 ]
究極のC#は、ネットで見れるのより大幅に書き加えられてる?

83 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 22:44:14 ]
>>82
大幅には違わない
だからシコシコネットの画面を見る根気がある人はそちらを見て
済ますのもいいかもしれない

84 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 22:47:41 ]
どうせ初心者本だろと思ったが>>81の言うとおり目次を見たら欲しくなった。
gihyo.jp/book/2009/978-4-7741-3862-6

85 名前:84 mailto:sage [2009/06/18(木) 22:49:00 ]
ネットの記事であるのか。
古くて新しい問題ってタイトルがどこかで見たことあると思ったらそういうことか。

86 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 22:56:35 ]
www.atmarkit.co.jp/fdotnet/csharp20/index/index.html
www.atmarkit.co.jp/fdotnet/csharp30/index/index.html

この二つな
有名なので書く必要もないと思うけど

加筆修正されているのは主に書籍にするために前書きが加えられて
いる程度かな

まだあまり詳しく読んでないけどネットとだいたい同じ感じ

87 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 11:08:18 ]
EffectiveC#ってどうなの?

88 名前:デフォルトの名無しさん [2009/06/19(金) 11:19:27 ]
さぁ・・・

89 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 12:59:22 ]
>>87
紀伊国屋とか大きな本屋に行ってるんだが見た事ない



90 名前:デフォルトの名無しさん [2009/06/19(金) 18:59:46 ]
技術書の世界って、
独習とつければ良いと思ってるくらい、
Effectiveってつければ良いと思ってるよな。

91 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 19:02:42 ]
独習シリーズは寄せ集めだが
Effectiveシリーズは監修Scott Meyersが監修してるぞ

92 名前:PENELOPE [2009/06/19(金) 19:02:57 ]
gccのダウンロードはどこでできますか?


93 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 19:06:52 ]
www.gnu.org

94 名前:デフォルトの名無しさん [2009/06/19(金) 19:48:15 ]
図書館はろくな本がないなあ。
文科系のほんは充実してるんだが、最新の理系の本がなさすぎる。

95 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 19:51:15 ]
>>89ドバイの紀伊国屋まで見てこいよ

96 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 19:52:43 ]
Effectiveシリーズはとりあえず買いだろ
独習シリーズはパスだろ

オレはこう決めている

97 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 19:56:39 ]
>>94
リクエストすれば良いじゃない。
自分はない本はリクエストするようにしている。

といっても、技術系の本は擦り切れるほど読み返し、
気づいたことをじゃんじゃん書き込んでしまう自分は
図書館で利用する本といえば小説くらいだ。

98 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 20:34:26 ]
Effective PerlやJavaもScott Meyersが監修してるの?
Effective COMとかも読んだなぁ…

99 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 00:44:18 ]
やねがC++テンプレートテクニックにダメ出ししてるw
d.hatena.ne.jp/yaneurao/20090618



100 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 00:59:33 ]
結論:結城浩の本が良い

101 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 01:29:18 ]
結城浩の本でテンプレートの本があればなぁ

102 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 09:35:45 ]
最近独習Rubyってのが出たが、カバーの見た目が全然面白そうに見えねえw
ま、独習シリーズはみんな同じなんだが。

103 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 09:53:56 ]
本屋でパラパラ立ち読みしても、全く買う気が起きないんだよね
あのシリーズ全部
タイトルの"独習"ってのも、いまいち魅力がないし

104 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 12:25:15 ]
>>96
奇遇だな。
俺もそう決めてた。

105 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 15:29:16 ]
結城の数学関連の本で圏論の出して欲しいな

106 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 15:42:36 ]
結城浩の自演ですか

107 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 15:53:47 ]
キマイラの人は圏論の本を書いてないのか?

108 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 15:55:19 ]
圏論っているの?

109 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 16:32:03 ]
具体例が分からんと意味ないから後回しでいい



110 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 18:42:03 ]
マクレーン本を写経すると心が落ち着くぜ

111 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 21:19:12 ]
あの世界一運のない男か

112 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 21:25:37 ]
これ読んだ。初級ハウツーとは違ってやや高度な、だがやっぱりハウツー
な内容なんだが、役に立つ本だと思う。

ttp://www.amazon.co.jp/dp/4873114020/
プロダクティブ・プログラマ -プログラマのための生産性向上術

113 名前:デフォルトの名無しさん [2009/06/21(日) 01:00:49 ]
今、C言語のプログラムで、構造体とデータ構造を使った名簿作成などの
本を読んでるんですが、いきなりそのプログラム自体のソースコードが載っているので、
アルゴリズムが難しいです。

実践的なサンプルを使いながら、順にアルゴリズムを学べるような楽しいC言語の本はありませんか?
WinAPIなどではなく、標準的なCのコンソールプログラムです。。時代遅れでしょうか・・意外に楽しいです。

114 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 01:22:05 ]
高橋麻奈のJavaの本はいい?

115 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 01:24:09 ]
読んでいる本は何なのかな
それがわからないとアドバイスしづらい

というか、アルゴリズムの問題でもないような気がするが…
あと、Win32API自体がすでに時代遅れ…

116 名前:113 [2009/06/21(日) 01:31:22 ]
>>115
よくわかるC言語―イメージと例題で理解する
↑これです。ステップステップで急に難しくなるんです。データ構造のところだけでも
面白く順々に覚えるものがあればと・・

文法の方はほとんどりかいしてますので・・アルゴリズムです。古いのでもいいの・・

117 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 01:34:15 ]
麻奈本では応用力が身に付かない

118 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 01:46:22 ]
>>116
実践的というより具体的な詳しい説明がほしいのか、
具体的問題を解決するためにどういうアルゴリズムを使うのかを
求めてるのか、わからないけど。

これあたりどう?
河西朝雄 C言語によるはじめてのアルゴリズム入門

119 名前:113 mailto:sage [2009/06/21(日) 02:09:43 ]
>>118
どんぴしゃ。
それだけ、持ってます m(_ _)m

具体的な詳しい説明というか、後者の具体的問題を解決するための本が欲しいです。。
もっというと、理屈はいいので実際に使われるような事例でソースだけポコンと載ってるようなのがいいです。
解読は得意なので・・ ただ、一気に難しくなると・・順々にだんだんステップアップしてくようなのが欲しいんですが・・

昨今はデータベースを操作する本ばかりで、私としてはデータベースをかんたんのものでいいから
作ってみたいんです。その様な本は見つけましたが、まだ敷居が高いので、順々に自分のレベルをあげてくれるようなのが・・

アルゴリズムの解法ばかり理屈で載っていても、私はCプログラマではないので
具体的にどういうところでどういった意味合いで使うかがわからないので、
いまいちピンと来ないのです。理屈よりも感覚的にピンと分かるようなのが欲しいとでもいいましょうか・・

回答していただいたお二方(同一の方かな?)ありがとうございました。
もう寝ますんで・・



120 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 02:32:52 ]
>>113
君は解読が得意なので実例でソースだけ(ryとか言ってるけど、
解読できてないじゃん?
つーか、データベースを作ってみたい→敷居が高いのでCを勉強してる
ってのもおかしな話だと思う。

最終目的がデータベースの作成なら、AccessとかでRDMSの概念をやんわりと身につけて、
その後はOracleとかやってみればいいじゃん?

つーか、自分がやりたいことを実現するために、どういったスキルが必要なのか
わかってないんじゃないの?

まあ、あくまでCを(まじめに)勉強するなら『C言語入門』をおすすめします。
そのあと、K&Rだな。


121 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 02:34:16 ]
>>119
unixのtool類のソースを読みながらというのが、
unix magazineの連載をまとめたものがあったと思う。

122 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 03:15:16 ]
>>121
それはたぶん自分が持っている
「プログラミング・テクニック UNIXコマンドのソースコードでみる実践プログラミング手法」
のことなら彼女には難しすぎると思う
おそらくPHPあたりやってる人で文法が似てるからC言語わかったつもりなだけ
ポインタや再起呼びが理解できてるとは到底思われない

123 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 03:19:23 ]
再帰呼び出し だ。携帯の辞書アホすぎる_no

124 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 03:26:26 ]
>>119
実際に使われる事例…
といわれても、入門書程度で躓いているのに本格的なソースが読めるんだろうか
入門書に載っているような文法は全部実際に使われると思った方が良い。アルゴリズムやデータ構造も
バブルソート以外はたぶん全部使われているだろう。
つーかアルゴリズムなのかそれ?
クイックソートとマージソートとか、ツリーとハッシュの使い方の違いがわからないとかそんな話なんだろうか

ぶっちゃけそれ以前で躓いているような気がするが、Cさえ理解していれば簡単に読めそうな簡単なもので
Code Reading
OS自作入門
Lion's Commentary on Unix
なんかかなぁ。LionはCを理解していればCのところだけは読めるだろう。古いけど。
あと、無料で公開されているRubyHackingGuideなんかもいけるかもしれん。

文法が理解できない、という話なら近くの古本屋やアマゾンのマーケットプレイスでも回って
安いCの入門書を全部買ってこい。

125 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 03:54:38 ]
再帰とスタック処理くらいは簡単だろーに

プログラムに慣れてないなら興味あるところでしこしこ練習して言語になれる。
DBは概念を理解できないと作れないから、どういう仕組みがあるのかを、まず
勉強しなくちゃならならいとおもうが

後は、概念をプログラムに落とし込む方法論・直感を養い
プログラムが、その言語どういう構造で動いているのかを理解しなければ、いい
ものは作れない

126 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 10:06:18 ]
そういう面では、空白で区切った一枚の表の操作、
grep,sed,awkあたりでできるものからやってもいいと思う。

127 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 11:24:15 ]
>>110-111
イビカイエ!

128 名前:デフォルトの名無しさん [2009/06/21(日) 12:38:56 ]
独習デザインパターンC++って良書?
なんか同僚に進められたけど独習と聞くと拒否反応が…

129 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 13:11:44 ]
>>128
俺持ってる
考え方としては一冊あっていいと思うが
例題プログラムが本の後ろの方に行くほど雑になって
動かせなくなっていくのは困る



130 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 13:15:07 ]
>>128
良書

意味不明な拒否反応で読まなければ良書の意味もないけどな

131 名前:デフォルトの名無しさん [2009/06/21(日) 13:37:13 ]
>>129
なるほど、今正誤表あるか調べてみるとちゃんとあったから
それ見ながらやってみるよ

132 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 01:02:47 ]
C++のわかりやすい入門書を探しています。
しかし、C言語を理解していることが前提の本しか見つからず困っています。
全くの初心者が読める書籍はありますか?

133 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 01:03:39 ]
ロベールとか

134 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 01:10:31 ]
ロベールはHPと本でちがいはありますか?

135 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 01:12:30 ]
全然違う
web上のは簡単にしか書いてないが
本は懇切丁寧に書いてある

丁寧に書きすぎじゃないかと思うほど丁寧に書いてある

136 名前:デフォルトの名無しさん [2009/06/22(月) 01:14:50 ]
www.amazon.co.jp/%E3%82%84%E3%81%95%E3%81%97%E3%81%84C-%E7%AC%AC3%E7%89%88-%E3%82%84%E3%81%95%E3%81%97%E3%81%84%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E9%AB%98%E6%A9%8B-%E9%BA%BB%E5%A5%88/dp/4797343672/ref=sr_1_1?ie=UTF8&s=books&qid=1245600711&sr=1-1

137 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 01:15:58 ]
そうなんですか!
購入することにします。ありがとうございました。

138 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:10:57 ]
ロベールはリファレンスとして使うには章のタイトルが良くないな
目次見てもどこに何が書いてあるか良くわからん

139 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:14:16 ]
ロベールを買ってしばらくはその厚さに辟易した
厚さに比べて内容の進行が遅いので、読んでも読んでも
なかなか話が先に進まずイライラした

本当に初心者向けの本だな
中級者以上の人が読むとペースの遅さにイラつく



140 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 14:26:04 ]
小林健一郎氏の「これならわかるC++」が、Cの知識前提にしてないし、
オブジェクト指向で簡単なゲームとか実際創りながらやっていくから、
退屈しなくて良いよ。
「新・これならわかるC++」というのもあるけど、これより前述の本のほう
が入門者には分かりやすいし、オクとかで安く売ってたりするので良い。
小さくてかさばらないし。
懇切丁寧でも冗長で知識が細切れがちな内容の本は、それはそれで
キツイので、俺はあんまお勧めしない。

141 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 16:30:51 ]
ロベールが書棚に並んでたらそいつはアフォだと言っていい

142 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 16:55:44 ]
とアフォが言っております

143 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 18:16:05 ]
入門書は2冊くらいは買ってもいいんじゃないだろうか。
一冊だけだと、その本の言い回しで理解できなかったとき、
手の施しようがなくなる。一冊を副読本にして使うと理解度もアップ。

144 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 18:28:37 ]
> 懇切丁寧でも冗長で知識が細切れがちな内容の本

途中で説明が駆け足になることも割とあるし、
未整理で無駄口が多い入門書は樹海の入り口です。

145 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 18:34:59 ]
これならわかるC++って猫だっけ?
あれはC++の入門書っていうより、オブジェクト指向入門以前って感じの本じゃかったっけ?

146 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 18:39:15 ]
急ぎでなければ、素直にCからやっとけと思う

147 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 18:44:29 ]
自分はAccelerated C++ → K&R第2版という流れで勉強したよ。
Accelerated C++はCの知識は要らないよって書き方だったけど
(配列よりも先にvectorを教える本)
ポインタと配列の関係を理解するのにやっぱりCの本を読む必要があった。

148 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 18:57:11 ]
C++は複雑だからなー

149 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 19:13:54 ]
Accelerated C++ → K&R第2版という流れで何を勉強したんだ?



150 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 19:17:18 ]
>>149
女の扱い方

151 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 19:24:38 ]
>>149
釣り

152 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 19:28:37 ]
>>138
索引を見るといいよ

153 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 19:34:07 ]
そもそもC++なんか勉強する必要あるの?

154 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 19:34:27 ]
>>139
分かってる所は飛ばし読みすればいいよ
10時間で読んだ人もいるくらいだ

155 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 19:43:46 ]
C++はプログラムの入門者受けするからな…
実際に入門した人の大半が去っていくわけだが

156 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 19:49:38 ]
C++が習得できれば、他の言語を覚えるのも楽だ

157 名前:デフォルトの名無しさん [2009/06/22(月) 19:55:23 ]
1冊目でc言語の本を読んでいる。
c++をやる前にWSHというのに挑戦しようと思っている。

158 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 20:08:27 ]
でも、Cで学んだことってC++ではあんまり役に立たないんだよね。

159 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 20:13:43 ]
C自体が既に古くさい言語だからな



160 名前:デフォルトの名無しさん [2009/06/22(月) 20:35:50 ]
C++のCよりもスゴイ、一歩進んだ言語って感じの名前がよくない
C#も+が4つで#らしいけどそんなの言われないと分からないしね

161 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 20:38:58 ]
C++++

162 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 20:45:23 ]
「++Cの方が良かった」としょうもないことをStroustrupが言ってなかったっけ

163 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:09:48 ]
言いにくくてしゃーないな

164 名前:デフォルトの名無しさん [2009/06/22(月) 21:10:49 ]
どのコンパイラもそこら辺の最適化ぐらいするからいいんです

165 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:13:06 ]
ぷらしー
ぷしー

166 名前:デフォルトの名無しさん [2009/06/22(月) 21:25:58 ]
C++から普段使わない機能や、
良く分かってないやつが使うと危険な機能を抜くと
Javaになります。

・・・って言うと、なぜかC++厨からもJava厨からも怒られる

167 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:31:15 ]
C++って記述が無駄に複雑になるよね。
テンプレートとか使うと。

168 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:34:39 ]
C++
 ++

169 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:36:12 ]
>>167
Javaほどではない
…と言うと怒られるだろうか?

でもJavaって書く事多いんだもん!打ち込みたくねぇ!



170 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:42:52 ]
>>164
C++だとしないだろ

171 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:45:22 ]
>>167
テンプレートは、最初に考えられた時には想定もされていない使い方をされているから
仕方がないんじゃね?

172 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:57:07 ]
もう、public static void main って書く時点で
文字数多いなーって思う。

173 名前:デフォルトの名無しさん [2009/06/22(月) 22:08:14 ]
>>170
そうなの?

174 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 22:30:48 ]
javaか
なんであんなに糞長いメソッド名が出来上がるだろうか

175 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 22:47:36 ]
>>173
C++だと、++CとC++は処理が同じとは限らないから、普通はC++を++Cに変換しない。
プリミティブな型か、やって組み込みのcomplexとかだけだよ。

176 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 22:49:28 ]
Javaではクラス・メソッドや変数の名前にフルスペルを推奨しているから
(例外はあると思うので揚げ足とりはやめてね)


177 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 23:15:22 ]
>>171
標準ライブラリのイテレータを使うだけでうんざりするのはどうか
まあ typedef するけどね

178 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 23:57:12 ]
>>176
eclipseで補完がきくから、長くても平気ってのもあるだろうな。

179 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 01:06:20 ]
補完がきかなくて困るのはC++のテンプレート…
他の言語はどうなんだろ



180 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 01:40:37 ]
viで自作の辞書を参照する

181 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 01:55:48 ]
最終的に、C++でゲームを作りたいのですが、
まずCの勉強をして、その後C++を、
そのあとWinAQIを勉強して、最後にDirectXを学ぶ。
という流れなのでしょうか?

もしそうならおすすめの書籍を教えてください。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<186KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef