はてなキーワード: C/C++とは
言語なんてツールの一つに過ぎないし、ツールなんて適材適所という前提で書いてみる。
PerlはC言語やJavaとともに、自分にとっては原点とも言うべき言語で、今は全く使ってないけど、昔はとてもお世話になった。
今更書くまでもなく文字列処理やハッシュが強力で、あんな便利なものはないという感じ。
少なくともPerlのないLinux/UNIX環境なんて死ぬほど使いにくいだろう。というか実質不可欠だろう。
書きやすいけど読みにくいのが玉に瑕で、間違っても最初に覚える言語ではないけど(書き散らかすクセがつくので)。
でもPerlは、C/C++バリバリな古参のプログラマでは嫌っている人が結構多い。なんでかなあ。
最近ではPHPやPythonなど、Perl以外のLL勢からも微妙な感じで見られている。
確かにCでも文字列処理は可能だけど、Perlに比べたら機能的にとても貧弱だし面倒。だからちょっとした作業なら間違い無くPerlのが楽。
PHPはWeb方面ではPerlより手軽だし、Pythonはシンプルかつ見た目もスッキリで初心者には一押しなんだけど、それでもPerlの書きやすさにはまだまだ及ばないと感じる。
Joel氏の採用面接ゲリラガイドにもあるように、デキる開発者と一緒に仕事をしたいというのは、開発者なら誰でも思うことだ。
そこで、自分が面接する側だったら、初歩の初歩レベル、即ちプロとしてあり得ないレベルの人を足切りするような、くだらない質問を2つ考えてみた。
Java、VB.NET、C/C++、PHP、Perlといったオープン系では広く普及している言語で、ごく普通のPCやサーバで動作するコードを想定し、実装方法を考えてもらうというもの。
ここでポイントとなるのは「プログラムに正解はないが、明らかな間違いはある」という考え方。
つまり2つの質問に対して、明らかに間違った回答をしてきた人が失格ということ。
では上の問いで想定している明らかな間違いは・・・
どっちも教科書でよく見るやり方だけど、仕事でそれやるのは頭悪すぎて話にならないということで。
ちなみにそれぞれの質問で何を見ているか、デキる開発者には一目瞭然だと思うけど、説明すると
結局、コードを書くときに一番大事なのはそういう能力であって、間違っても努力や気合じゃないってこと。
読んだけどそれが何か?
gotoもインラインアセンブラもある、実行速度最適型および、メモリ最適型のC言語に対して何か?
それこそ、美しい言語が書きたいならC/C++ではなく JavaでもRubyでも、LISPでもPASCALでも好きな言語を使えばいいよ。
道具は選べるんだから。そして、C/C++でも美しく書くこともそれは出きるだろうが、そもそも生まれとして、そう言うふうに生まれていない
用途が違う言語に対して、美しくない。というコメントは間違ってるよ。
あとvtableは歴史的表現で古くからあるから、読みやすいよ。
つかvtable知らずに、ポリモルフィズムは語れないわけだし。
Eclipseがemacsやvimより優れている点を挙げてみよう。
・CVSリポジトリの構成を直接覗ける →redmineとかを使ったほうがいいんじゃないのか
・設定できる警告メッセージの種類が豊富。→警告そんなにいるのか
・復元機能が非常に充実している。 →バージョン管理ソフトがあれば普通だし
CVSのように以前の状態に復元すること、以前の状態の →diffじゃダメか、というかなんでいまどきCVSなの
ソースコードとの比較も容易。CVS(Eclipse標準装備)/Subversionプラグインにもこの機能は存在する。
・プラグインの数が豊富、膨大。 → 数があってもつかえるのは少ない
・プラグイン開発環境もEclipse自体に用意されている。 →開発環境を使って作る程のものでもなく、バッチファイルとかスクリプトでよくね
・ライセンス形態がCPLであり商用利用もしやすい。 →eclipse組み込んで出荷するの?
・上位版にWSADが存在する。 →WSDADってなに、WebSpereの残骸?
・Smalltalkで有名なVisualworksの影響を受けているため、
JUnitプラグイン(Eclipse標準装備)によるテストファースト、リファクタリングの他、eXtreme Programming環境が充実している。→Jenkinsのほうがよくね
・SubclipseプラグインによりSubversionにも対応できる。これはCVSよりも強力!→コマンドラインから実行するsvnコマンドを覚えておくとはターゲットでも動いて便利だよ
・Call Hierarchyプラグイン(Eclipse3.0から標準装備)によりメソッドの呼び出し階層を調べることができる。この機能は強力だ!→スタック見るだけのことじゃないの
・プラグインによってはURLを指定するだけでプラグインの自動ダウンロード、自動インストール、
自動アップデートができるためプラグインのインストールが非常に容易。→勝手に変わったら怖くない
・Eclipse上から直接Tomcat, JBossなどを再起動できるSysdeoプラグイン、JBoss-IDEプラグイン
という強力なプラグインが充実している。→えー、今頃Tomcat
・EclipseUML Omondoプラグインによりクラス図などを書いたり、
UMLによるModel Driven Architecture, リバースエンジニアリング
・RSSリーダープラグイン、MP3プラグイン、All The Newsプラグイン、
など様々なプラグインが充実している。→それ開発ツールじゃなくて携帯でやったほうがよくね
・PHP開発が可能なTruStudioプラグイン、Perl開発が可能なPerl E.P.I.C. プラグイン、
C/C++開発が可能なCDTプラグイン、AspectJ開発が可能なAJDTプラグインなど
他言語プラグインが充実している。→Java以外は所詮おまけだけどね
・そのほかにD言語プラグイン、C#プラグイン、Pythonプラグイン、JavaScriptEditorプラグイン、
CSSプラグイン, HTMLプラグイン, XMLプラグイン、(Jakarta)Velocity UIプラグイン、
Apache Antプラグイン(Eclipse標準装備)、非常に強力なApache Mavenを使うことができるプラグイン、
ゲームができるプラグイン、メーラとしてつかえるプラグイン、Wikiプラグイン、Hibernateプラグイン、
FindBugsプラグイン、CheckStyleプラグイン、Jalopyプラグイン、Sobalipseプラグイン、ソロプログラマープラグイン、
など様々なプラグインが充実している。→それぞれ単機能のソフトのほうが充実してるんじゃないの
どうしてもeclipseというなら止めないけど
http://anond.hatelabo.jp/20120407162253 に便乗して。
それなりに大きなとある会社のプログラマだけど、うちの会社のビルドシステムがおかしい気がする
あまりにも原始的なので違和感を感じるんだけど、自分にビルドシステムに対する知識が圧倒的に不足しているので、今やってる作業に本当に意味があるのかよく分からない。詳しい人に教えてもらいたい。
手動でコピーするからよく事故が発生するし、同じファイルが複数箇所にあるので全然履歴が追えない。
あと、中間ファイルや実行ファイル(.o とか .so とか) も含めてごちゃまぜにチェックインされているので、もっと訳がわからなくなってる。
「ビルドは成功しないのが当たり前」とかいう人ばかりで、正直発狂しそうになる
フォルダツリーがわかりづらいと思うので図を書くと
/ Main/ -- 共通ファイルディレクトリ foo/ bar.c driver/ common.c ProductA/ foo/ bar.c -- ProductA 用の変更が入ってる baz.c -- ProductA 専用ファイル driver/ common.c ProductA_Orig/ -- ProductA/ 内の ProductA用ファイルが丸々入ってる foo/ bar.c baz.c ProductB/ foo/ bar.c -- Main と全く同じ driver/ common.c ProductC/ foo/ bar.c driver/hoge.c ProductC_Orig/ driver/hoge.c
こんな感じになっていて、共通部分は Main/ の中とそれぞれの ProductA, ProductB, ... ディレクトリの中にすべてコピーされている。
チェックインするときはすべてのファイル、例えば bar.c を更新したら Main, ProductA, ProductB, ProductC の bar.c を手動で更新する必要がある。
ビルドするときは Main/ のファイルを ProductA/ にコピーして、 ProductA_Orig/ の中の機種依存ファイルをさらに ProductA/ にコピーする。これは、同名のファイルが Main にもあって、 ProductA のファイルが上書きされるかららしい。
ビルドできないので、最後の最後まで結合テストが出来ずに、みんなローカルPCで開発してる。誰かのPCが吹っ飛ぶとその人が開発していた差分が消失する。
「ツリーを共通部分と依存部分きちんと分けて、ビルド自動化しましょうよ」って上長に提案したら「この会社はこれでやってる。むしろバイナリが入っているのでビルドできなくてもテストできる」という感じであまり真面目に取り合ってもらえなかった。
Eclipseがemacsやvimより優れている点を挙げてみよう。
ソースコードとの比較も容易。CVS(Eclipse標準装備)/Subversionプラグインにもこの機能は存在する。
・上位版にWSADが存在する。
・Smalltalkで有名なVisualworksの影響を受けているため、
JUnitプラグイン(Eclipse標準装備)によるテストファースト、リファクタリングの他、eXtreme Programming環境が充実している。
・SubclipseプラグインによりSubversionにも対応できる。これはCVSよりも強力!
・Call Hierarchyプラグイン(Eclipse3.0から標準装備)によりメソッドの呼び出し階層を調べることができる。この機能は強力だ!
・プラグインによってはURLを指定するだけでプラグインの自動ダウンロード、自動インストール、
自動アップデートができるためプラグインのインストールが非常に容易。
・Eclipse上から直接Tomcat, JBossなどを再起動できるSysdeoプラグイン、JBoss-IDEプラグイン
という強力なプラグインが充実している。
・EclipseUML Omondoプラグインによりクラス図などを書いたり、
UMLによるModel Driven Architecture, リバースエンジニアリング
などを即座に実現できる。
・RSSリーダープラグイン、MP3プラグイン、All The Newsプラグイン、
など様々なプラグインが充実している。
・PHP開発が可能なTruStudioプラグイン、Perl開発が可能なPerl E.P.I.C. プラグイン、
C/C++開発が可能なCDTプラグイン、AspectJ開発が可能なAJDTプラグインなど
・そのほかにD言語プラグイン、C#プラグイン、Pythonプラグイン、JavaScriptEditorプラグイン、
CSSプラグイン, HTMLプラグイン, XMLプラグイン、(Jakarta)Velocity UIプラグイン、
Apache Antプラグイン(Eclipse標準装備)、非常に強力なApache Mavenを使うことができるプラグイン、
ゲームができるプラグイン、メーラとしてつかえるプラグイン、Wikiプラグイン、Hibernateプラグイン、
FindBugsプラグイン、CheckStyleプラグイン、Jalopyプラグイン、Sobalipseプラグイン、ソロプログラマープラグイン、
など様々なプラグインが充実している。
プログラミングは静的言語(C/C++,Java,C#など)と動的言語(rubyとかpythonとかperlとかいわゆるスクリプト言語)と関数型(lispとかF#とかhaskellとか)を一つずつくらい眺めた方がいいと思う。
どれか一個くらい自分に合ってるのが見つかるかも。
やりたいことにどの実装系が一番適しているかを考えるべきで、実装系を目的に合わせるべきじゃない。
そういう考えでいると、PHPで何でもやる奴とか出てきて迷惑なんだ。
そもそものロジック構築などは、ターゲットには依存しても、言語にはほとんど依存しない。
馴染むための登竜門って意味で言えば、VisualStudioなどのGUIでデバッグが出来る環境をもった言語が良いし、VB,C#などのサンプルが豊富で結果を確認しやすい言語が良いと思う。
ちなみに・・・関数コールはC/C++もJavascriptも それなりに重い。
みたいな感じで、関数コールを嫌う文化だからなぁ突き詰めると。
そういう事をしようと思わない。別な書き方をするとかじゃなかろうか?
いちおう、C++ならクラス内にクラスは書けるから似たような事はできる。
C/C++は文化的に速度とメモリを重要視する言語だから、あんまりね、そう言うのは主流じゃないと思う。
class A{
private:
int A:
public:
A=a;
}
}
みたいなことも・・・あまり、おすすめできないし・・・。論理的には美しいんだけど・・・いろいろ弊害もあると考えるのがC/C++
ましていわんや、関数内。
※一番痛いのは、設定関数が1箇所なので、動作変更がすぐできる>>大規模システムではコードカバレッジがあるので、
根元の関数の挙動を大きく変えられたら、上位のクラスの莫大なテストやり直しだから、1箇所変更で全箇所変わるのはデメリットw。上位で修正が基本。
というか、やっちゃだめwww。
たとえば、intをdoubleにとかなら、それもう別物だから、上位も変更でしょ。普通・・・。とか。
あと#define関数はデバッガーでおえないので、なるべくC++のコンパイラ通してinlineで書いてぇぇぇぇとか。色々。むしろ#defineで複雑なことしないでー
1 名前:仕様書無しさん[] 投稿日:2006/06/22(木) 16:15:13
【前スレ】
http://pc8.2ch.net/test/read.cgi/prog/1143691132/
2 名前:仕様書無しさん[sage] 投稿日:2006/06/22(木) 16:16:42
Q:1 ◆n4irhdIw0M は何者?
現在の年収は日本円に換算すると1000万ちょい。税金高いから手取り600-700万。
旧帝の工学部卒。情報専攻。院も卒業して日本で就職。しばらく経ってからアメリカ移住。
Q:Koalaって何者?
シドニーにある大学の電子工学部卒。C/C++、主にWindows用アプリを開発。
学生時代に作っていたシェアウェアをアピールしてそのまま就職。
Q:670って何者?
A:応募して書類が目に留まれば面接。
上手くやれば合格で、条件交渉して入社。
3 名前:仕様書無しさん[sage] 投稿日:2006/06/22(木) 16:17:25
Q:英語力はどの程度必要?
A:TOEIC800ぐらいなら頑張ればすぐ手が届くそうです。
A:時給で働く人以外には無いそうです。
A:主流なものなんてないです。
アメリガでどうだ日本ではどうだという括り方が不毛な気がする。
A:「キュービクル」と呼ばれる高さ180cmぐらいの仕切りで
3m*3mぐらいのスペース与えられる。机3つ、本棚3つぐらい。
PCやWSは人によるが、1台~3台。モニタ2台持ってる人も多い。
高度な経験とスキルを持ったIT技術者は不足しているそうです。
給与の目安は、経験5年以上のプログラマで年収6万~8万ドル。
経済はシドニーオリンピック後もずっと上昇しているそうです。
4 名前:仕様書無しさん[sage] 投稿日:2006/06/22(木) 16:18:08
Q:日本人に対する印象は?
A:1 ◆n4irhdIw0Mさん
「静かで何も言わない」ということで舐められてることが多い。
Koalaさん
結構好印象みたいでつ。
「日本人はpolite」って言う人が多い。
Q:ビザについて教えて
Koala
例えば学費が安くなる、治療が格安で受けられる、失業保険がもらえる、
国民年金がもらえるなど。
1 ◆n4irhdIw0M
あくまでアメリカの利益の為。よって、その会社でしか働けない。
ビザには期限があるので、会社が申請すると4,5年後に永住権がもらえる。
そうすれば、選挙権などの一部を除いてアメリカ人と同等の権利が与えられる。
エンジニアが良く使うビザの種類はH1-B。ただ、毎年発行の上限があるので、
H1-Bを取れる時期に採用決定しないとビザが取れないためにお流れになる恐れがある。
5 名前:仕様書無しさん[sage] 投稿日:2006/06/22(木) 16:18:53
A:1 ◆n4irhdIw0M
クビになる可能性が高い
医療費高い
Koala
日本であることは間違いない。体に染み付いた文化はそうそう抜けない。
温泉とか焼肉とか秋葉原とか恋しくなります。ハンバーガーやピザはもうウンザリ。
あとサービスの良さとか、電車の正確さとか、とにかく日本は何でもクオリティ高い。
もしアメリカだったら、大学から英語をやっていた方が絶対に有利。
更にそこの国の人の考え方や生活の理解度が全然違ってくる。
それで何とか就職できればビジネスビザのスポンサーになってもらえる可能性が高い。
6 名前:仕様書無しさん[sage] 投稿日:2006/06/22(木) 16:19:33
A:何か具体的な成果を見せられるならば何とかなるかも。それが無いなら大卒は必要。
Q:Kiwiって何者?
A:ニュージーランド(NZ)在住のプログラマ。前スレの163で登場。
物価はオーストラリアよりも高目(為替レート的に輸入品はNZの方が高い)。
90%は3~5年以内に帰国してる。
大自然はたまに見るから美しいのであって、そこに住むのはただただ不便です。
A:前スレのネタスレ。思いのほか良い雰囲気で進行中。誤爆注意。
http://pc8.2ch.net/test/read.cgi/prog/1148761974/
FAQおわり。
足りなかったら適当に付け足してね。
そうではなくて、独自規格から始まったものが後日改変されて、正しく定義され規格化された場合、その日以後の新プロジェクトはその規格に従ってくれという事。(例外もあるだろうが)
当初true/falseという物はなかったが のちのちC++などのために定義された その定義の中には if(false){がelse節になるという自明の理が含まれている。
であるならば、falseという名前を含んだものがifでthen節になるルールを、後発規格ができたあとに作るな。という事。
そういうものが必要であるならば、ON/OFFであるとかActive/Inactiveであるとか、命名規則が矛盾しないルールを作って、規格化されたルールとまぎらわしい、ルールを作るのは、誤用の観点から、なぜ、そんな事をするのか?害悪じゃないのか?という事。
なぜならば、後発規格で定義された標準仕様に反するから、新規参入メンバーが混乱し、同一視した結果、意図しない潜在バグが発生するおそれもあり、教育コストの面からのデメリットしか無く、経済的メリットが挙げられない。コンパチビリティーで先発規格に合わせるのは除外して。(MS定義のFALSEなど、旧システムのfalseは仕方がない)
同様に int,short,long の定義は short<long でありint は適宜最適な長さ という意味なので my_longなどを独自定義せずに 4バイトが欲しいならDWORD(先発規格)かint32_tを定義するか使え</p>
いつまで、my_longを定義しているんだ!いい加減 規格に対応しろ という事。
10頃ライブラリを呼び出します。lib1_true lib2_true lib3_true lib4_true ・・・・ lib1がtrueだったときにlib2にtrueを渡して・・・その結果をlib3に・・・載せ替えて・・・ってどんだけ、コンパチの確認を目視でしなきゃならんのだと・・・。
各個人、各会社で独自仕様でしかも、C/C++の規格と紛らわしいとか、やめてくれ。可能なかぎりC/C++の規格で使えるものは使ってくれよ。と
色々教えてください偉い人。
自分で考えろってのはご尤もですが、色々な方の意見が聞いてみたいのです。
・Struts(ver2じゃないほう)上でのJava(max2000行程度)
・perl(max7000行程度)
・c/c++(ちょっと)
・Haskell(ほんの少し)
・VisualBasic(.NETじゃないほう)(ほとんど忘れた)
・HTML/CSS(セマンティック厨)(HTML5は勉強中)(バイトでWEBデザイン経験有)
・javascript(簡単なものなら)
・MovableType(CMSとして利用。ちょっとした企業サイトレベルくらいのものの構築。簡単なプラグインの作成とかも)
・Apache(セットアップと最低限の設定くらい)
・Tomcat(同上)
・Linux(CentOSとUbuntu。セットアップとちょっとした設定程度)
・AdobeのDTP系製品(CS2)(雑誌編集経験有、ただし学生レベル)
・Oracle(10g)(Bronzeレベルの知識とちょっと触ったことがある程度の経験)
・postgreSQL(ちょっと触ったことがある程度)
・会計関連の知識(日商簿記2級)(大学で管理会計をかじった)
・数学系の知識(論理とか集合やらの基礎。大学で計算機科学をかじった)
・印刷物/WEBサイトのデザイン(独学だけどそれなりに。一般人よりはそれっぽいデザインが作れるかと)
募集要項
・運営ツールの開発
求める経験
【必須経験】
・C/C++、perl、Ruby、Python、PHPなどを用いたプログラム開発経験
【歓迎経験】
C/C++, Perl, Ruby, Python, PHP全部使ったことあるよ!
PythonとPHPは仕事では使ったことないから微妙だけど。あとC++の言語仕様は完璧には把握できてないけど。
でもC/C++は商用のコンパイラを作るプロジェクトに参加してたこともあるしバッチリだよ。
Rubyは1.6の頃にインタプリタのソース全部読んだりしたけど最近の進化にはついていけてないかも。
【歓迎スキル】
・MySQL、PostgreSQL等のRDBMSに関する知識
このへんも全部あるよバッチリ。
そんなものは求められてないだろうけど、
RDBMSも3Dも仮に一から自分で全部作れと言われても簡単なものなら作れるレベルだよ。
しかし…
C言語を最初に覚えると、楽は楽だよ。変なクセがつかないから。
全てのC++はCに展開できるし、展開の原理を知っていると、C++でオブジェクト的に組みながら、アセンブラの展開とかを見ながら書いているらチューニングが楽。
メモリの事とかCPUリソースのことを考えずに書かれたプログラムって、チューニングに限界があるから、あとあと苦労する。
そういう意味では、Cから入ると、とっつきにくいが、あとあとまで、ちゃんと生きてくるよ。
今のところの言語のオススメはJavascriptだね。理由は簡単で
1 ブラウザがあれば誰でも試せる
2 ブラウザとの連携で絵や音を使ったサンプルを作れるのでつくっていて楽しい
という点。
さすがに、今時PerlでもRubyでもいいけど、絵や文字ばかりのサンプル作ってもCと同じで楽しくないから初心者向きじゃない
とりあえず、そのへんで楽しんでもらえたら、
プログラムの職人的なチューニングのところが気に入ったのならC/C++に転向すればいいし 机の上で理論や設計を楽しみたいならRubyやJavaをやればいいし
Web系のところが気に入ったのならPHPでもPerlでもいいかもしれない。
大切な事は、プログラムを楽しむこと。プログラムにもいろいろな側面があるので、自分がどういう側面を気に入るのか?というのを早めに掴むこと。
あとは、長く続けられるものを選ぶこと。
まぁ、言語は所詮道具だ。道具の良し悪しを言っても、釣りにバットを持っていくわけにもいかないから、釣りがしたければ釣竿を、野球がしたければバットを選ぶしかないわけで
目的にあった言語を選ぶための最初の言語は、気軽に選べばいいよ。
はじまり
http://docs.google.com/viewer?a=v&q=cache%3A1pQdFwpyFP4J%3Awww2c.comm.eng.osaka-u.ac.jp%2F~eise%2Fnetwork.pdf
教えてくん
http://pc12.2ch.net/test/read.cgi/tech/1240226599/
112 :デフォルトの名無しさん:2009/04 /23(木) 19:27:16 [1] 授業単元: 通信ネットワーク演習 [2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9073.txt [3] 環境 [3.1] OS: (Windows/Linux/等々) Windows [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gcc [3.3] 言語: (C/C++/どちらでも可 のいずれか) C [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 2009年5月10日 [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 資料が多すぎてややこしいかもですがよろしくお願いします。
親切な人
196 :デフォルトの名無しさん:2009/04 /26(日) 02:25:51 >>112 http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9088.zip ・とりあえず動いてρ<1.0の時なら ̄Nが大体一致した。 ・途中で飽きてコメントがいい加減になってる。 ・シミュレータの正当性については理論値との誤差率を出すとかして自分で調べてくれ。 (理論値の公式はググってみてもよくわからなかった。)
教えてくんふたたび
199 :デフォルトの名無しさん:2009/04 /26(日) 10:55:39 >>196 ありがとうございます! すいません、 サーバの平均の処理時間を1で正規化して、これを基準とした相対的な時間を用いる仕様にして欲しいのですが、無理でしょうか?
呼ばう声に耳を傾ける親切な人
203 :デフォルトの名無しさん:2009/04 /26(日) 13:26:37 >>199 よく言っている意味がわからないんだけど、 arrivalRate /= serviceRate; serviceRate = 1.0; じゃだめなの?
教えてくんみたび
204 :デフォルトの名無しさん:2009/04 /26(日) 15:36:40 >>203 シミュレーション時間の単位のことです。 実際の物理的な時間単位(sec等)でもよいが、>>199であるような仕様にしたほうがよいと書いてあるので・・
--
☆まとめ☆
課題が分からないからといってネットで助けを求めてしまうと、こうして1年後に意味も無く晒されてしまったりする
みんなも気をつけよう
規制されてた。規制中でも書ける板で代行スレ使おうと思ったらBBQ焼かれてた。BBQ解除してもらおうと思ったら規制されてて書けない。なにこれ。
もういい。ここでレスする。どうせきづかれねーだろうが。
http://pc12.2ch.net/test/read.cgi/tech/1264745386/
俺が>>936なわけだが、単に俺はQtでのPythonとC++の相互利用を知りたかっただけなのだが、明後日の方向にレスが伸びてて残念だ。
コンパイル速度以外の観点からも、そうできたらうれしいと思ってるんだけど、コンパイルしなくていいってだけで十分じゃないの。
>>952
Pythonでも他の言語でも、速度面でシビアなところだけをC/C++で書くというのは一般的に行われている。
それを無視して最初から全部C++で、とか言ってる方がよほど偏愛だと思うけどねぇ。
| インタープリタ言語にはインタープリタ言語の得意分野がある。
何でもとりあえず手軽に書いてみて、後で必要ならC/C++に移植ってのも、インタープリタ言語の得意分野だよ。
実行の遅さも、C++より重いことは確かだが、そうはいっても特に重い処理の入ってない部品だと人が使ってて分かるほどの違いなんてないよ。
そこまで速度にシビアな局面ならQt使うってのが間違ってるんじゃない?例えばQtのウリの1つのシグナルとスロット機能は公式ドキュメントには、
普通に呼び出すよりも遅い。とはいえ普通の用途では気にならないから有益って書いてあるよ。これはインタプリタ言語使いがよくする言い訳と同じものだね。
http://doc.trolltech.com/4.6/signalsandslots.html
| だいたいあんたC++や本格的なRADツールの体験はどれだけあるの?
| いままで書いた最も大きなプログラムってどんなもの?
これはあまりにも愚問。それを必要としてない人にそれを要求してどうする。
普通にクロージャという場合、レキシカルスコープを持つことを期待されると思うけど、DLLやらsoからエクスポートされる関数は普通のCのスコープだからクロージャとは言わないと思うよ。(そもそもDLLもsoも標準C/C++じゃないから、もしこれらがクロージャ的な動きをするとしてもこれを以て「Cのクロージャ」と呼ぶのはおかしいというのは置いといても。)
ダイナミックスコープなemacs Lispのlambdaとか、ダイナミックスコープもどき(っていうのか?なんて表現したらいいか分からん)なPHPのcreate_functionは動的に作りはしてもクロージャとは言わないんじゃないかな。
http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD%E3%83%BC%E3%82%B8%E3%83%A3