作者VVll (信)
看板GameDesign
标题Re: [分享]数学 写程式最重要的基础
时间Sat Jan 5 22:26:46 2013
※ 引述《Killercat (杀人猫™)》之铭言:
: 这点我其实没办法苟同
: 我自己也是写了十来年code,在绝大多数的场合来说
: 怎麽用最佳的工具,怎麽去找最好的工具,才是最重要的。
: 我不太需要去理解低阶的组合语言才能去写我的code
: 也不太需要去理解低阶的数学原理才能去使用STL
: (这里的低阶,跟组合语言的低阶一样,是指底层)
: 我也不太需要去管空间发散就能用其他人做好的AABB来做碰撞跟路径预测
: 不是说这些完全没用,而是这仅仅是加分,而不是不懂这个就只是打字工
: 我不太相信大多数的专案都需要去完全搞清楚compiler怎麽排PAE .data是什麽
: 才能把这个专案真的写好。
: 我自己是颇懂Dalvik,可是这对我写绝大多数的商业android app真是一点用都没有 @@a
: 数学这种东西也是看到了在查就可以,你真的发现你在专案需要用发散集合
: 那要不是你想太多,或者你专案真的太特别,不然就是其实你该去找Library
: 该focus的是专案需要什麽技能,而不是把数学当作pragramming的必要条件
: 找工具的能力以及经验在绝大多数场合中,远比数学重要太多
这篇之所以发在游戏版 没别的原因
因为游戏比起 其他应用程式 会用到更大量的数学
比如3D图学这块
2维 3维矩阵 旋转矩阵 三角函数 都常会用到
即使是2D游戏 战斗系统 如果需要判断 正面/背面/侧面 这也是需要数学基础
而现在3D游戏中 常用到的自动巡路 这也包含数学 跟演算法
所以基础数学真的蛮重要的
举STL 比较不那麽适合
STL 顾名思义 就只是标准函式库
程式语言 只是工具 STL只是工具中的工具
数学的重要性 就跟演算法是类似的
没有好的演算法 依就可以写出庞大的系统 处理复杂的资料
但时间花费就会有差
当然大部分的人 只要会找现成的来用就够了
但另一个层级的 则是在找比现有方法 更好更快的
比如朋友觉得Physx 不够好 就自己写
想要用比Boost更快的方法 自己写
最後得到一个受限於IDE最佳化的问题 所以效率没办法超越Boost
而数学博士 在写程式上 比CS出身的差 这也没什麽好意外的
爱因斯坦也说过 "专家还不是训练有素的狗"
博士在他研究领域上 也许没人比的上他
但工作若不是作他专业领域的事情 比硕士 学士差也没啥好意外的
举例来说Photoshop上 某一个功能 可能就是某个硕博士论文衍生出来的
把对的人 放在对的位置上 才会有最好的结果
只是这社会往往相反 可惜了点
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.240.195.178
1F:→ PlanktonEvil:其实我也不是CS出身,写量子力学与光电模拟,差更多 01/05 22:53
2F:→ VVll:CS学的资料结构 演算法 线代 离散 都是在深入应用会用到 01/05 23:01
3F:→ ianlin45:博士本来就不是拿来当软体工程师用的啊 01/06 01:02
4F:→ ianlin45:能想演算法的人很稀有 会写程式的人到处都是 01/06 01:03