作者halajohn (Wei Hu)
站内Programming
标题Re: [请益] 撰写模拟器
时间Thu Feb 22 13:40:46 2007
※ 引述《typecommand (:))》之铭言:
: 请问如果要撰写一个模拟器,是用C好还是C++好,
: 小弟我有2年的Java程式设计经验,具备初步的物
: 件导向观念,但对C/C++观念还不是很熟,想请问
: 1.C执行效率比C++好,而且学习曲线也较短,照理
: 说我应该选C,但是我已习惯物件导向的程式观念
: ,不想再重回以前的程序导向程式设计,而且我
: 撰写的这个模拟器,日後还会继续扩充功能,怕
: 用C来撰写,日後功能会扩充不易。
: 2.如果我用C去撰写,那麽日後想改写成C++,所花费
: 的功夫会不会比直接用C++工程要来的浩大
:
我写过模拟器
(
http://www.csie.ntu.edu.tw/~r88052/ARMware/tw/frame.html)
我认为用 C 或 C++ 都可以啦, 看你哪个熟用哪个.
不过如果你 "只会" Java, 那 maybe 你还得先去学一下 C 或 C++.
至少你要学一下指标 (pointer) 这种东西,
其实很多人都不会用指标的, 写出来的 code 看起来 portable,
其实很多 warnings.
写模拟器跟物件没有关系, 基本上你要用 lisp 硬干也是干的出来.
(只是我绝对不会想这样硬干)
因为大部分的人都只念了 C++ 教科书或圣经的前几章,
所以在没注意的情况下写出来的 C++ 会比 C 慢没错.
但稍微注意 "很多下", 写出来的 C++ 是又美丽, 速度又快的.
procedure programming 也不会不好阿, object programming 本质上
也是 procedure programming, 如果用 object programming 没有规划好,
以後要扩充也是很麻烦的.
把 C 改成 C++ 工程浩不浩大, 这个问题跟你的 code base 的 size 大不大有关,
要是今天只有 10 行 C code 要改成 C++ code, 你说浩不浩大?
要是有 200000 行 code 在那边, 把 A 语言改成 B 语言都是很令人头痛的.
要不然就先去学一下 parsing, 自己写一个 LL 或 LR 或虾咪其他歪沟的
parser, 把 A 语言 parsing 一下, 再 output 成 B 语言也是可以.
这样比较自动化啦.
不过你要学的也就更多了.
学海无涯呀~
--
http://www.csie.ntu.edu.tw/~r88052/main/tw/frame.html
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.74.14.240