如何学习编程(测绘篇.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何学习编程(测绘篇)(转) 和很多人谈过如何编程,周围也有不少各有特色的高手,说来说去,最后想写下来,给那些工作中要用到编程的,或者是读研要编程的同学。我不是计算器科班的,虽是大地测量组但是不是地球物理的,所以如果有不同观点,欢迎指出来~ ----------------------------目的---------------------------- 学习编程,就跟学其他的东西一样,最重要的就是有目的性。这个目的性指的是明确的工作领域和工作性质,并非你个人的追求。搞科学计算的,Fortran不能不熟;搞符号的,别说你不会mathematica或maple;搞通用软件的,在这个大环境下,不会C++我只能佩服你牛犊般的勇气。说来说去,就一点——目的!我学计算器比较早,当时的目的是写OS,后来没能读CS专业,自然这个就只是梦想了。但是自那之后我就陷入一个误区,也就是没目的的学。大一的时候,我看《计算器程序的构造和解释》,看《深入理解计算器》,看《算法导论》,看编译原理,看操作系统,这些算是计算器的内功,看看也罢,不必苛责。但是细细想来,除了前三本书比较靠谱之外,后面看的许多都是多余的。为什么?我不是科班的,就目前的情况看来,转行是不可能的,也是不明智的。那么这些东西在时间导向的任务安排模式中,是绝对要去掉的。 其实刚才举的几个例子给人一种感觉——这个人太专注于语言(工具),不能明白后面的道理。呵呵,这个是《程序员》杂志上经常出现的“表象—底层论”的。这里我还是多说几句吧。工欲善其事,必先利其器,对于非CS方向来说,你编程的目的是什么?绝对不是理解后面复杂的构架原理或者之类的,重点是解决问题!我要算重力模型,为了能节省时间,就是应该拿着Fortran冲锋陷阵;要做符号运算,熟练运用mathematica能帮助你看清问题,做出合理推导;要生成直观的图,matlab和Plot都是有用的。这个不仅仅是“表象—底层论”,我的目的是解决问题,其他的扯淡的事情不重要,真的不重要! ----------------------------工程?No!-------------------------- 这个其实是前面的续,这里的目的精化了,把所谓的CS科班学习方式给排除开了,也就是说我们已经明确了我们不是要作为一个计算器高人存在。那么当我们看清我们的目标是我们自己的专业后,我们可以抛开“无用”的课程专注于你要学习的东西。 这个案例是我大二的学习方式。大二我也看书,多为.NET方面的,还有就是C++和构架,这两方面我投入了很多的精力,书也不少,还蛊惑周围很多人投入这个。但是仔细想想,我是程序员吗?显然不是。 你如果进行过合作,会发现一个项目,讨论到一定时候,有CS或者软件背景的组员一定会不自觉的说到构架问题和效率问题。他们会自然而然的规划是消息机制,还是事件机制还是命令机制,或者要不要采用插件。至于效率问题,他们会关注这里用vector性能高还是用List。其实我也有这个毛病,从这个方向考虑过多了。这些工程方面的东西都是程序员做的,你不是程序员,就算你现在处于程序员的位置,但是记住,你应该做的是你的专业。与其浪费时间纠结这些问题,不如研究一下GeoTiff,看看WKT,这些虽然也是工程的,但是你的受益会更多。或者,你看看数值分析方法,解决病态性问题,研究如何改进算法。 编程来编程去,编程都不是目的。你不能局限于拖拽控件,不能局限于相应事件消息,打印的问题交给开源库。除非是甲方给出必须解决的,你就应该用手头最熟练的工具,用最少的时间解决掉这些杂碎的工作,然后全身心投入工作中。就像测绘在工程建设中只是支持工作,永无出头之日;同理,计算器技术在你的主业中只是支持工作,你那么纠结其中,也不会有出头之日的! --------------------------------建议路线----------------------------- 最后还是给一条建议的学习路线。 常规来说,学习编程首先是学C或者C++。要明确说一下,这是两门截然不同的语言!学C的我是反对谭浩强先生的书的,我建议是《C程序设计语言》。但是根据周围人的反馈,这本书对于完全不懂编程的人来说开头有点云里雾里,所以我待会说完全没有建立编程思维的人。学习C++,我看初学者最后还是最喜欢《C++ Primer》。注意,这里没有Plus,有Plus的是莫名其妙的书。学完这里,你可以考虑去买一本《Effective C++》,然后大致学一下,知道C++是一门危险的语言,以后使用要小心,编译错误经常有,编译速度不顺心就够了。接着,根据你所在的部门不同,会有不同的要求。如果是搞GIS的,继续学习C#的可能性很大,这时候,你有福了,C#很简单,看看例子就会了,而且IDE很体贴,不用

文档评论(0)

bm5044 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档