为我学习软件编程做一个规划

自学软件已经有一段时间了,却没有了明确的目的,是学习 汇编语言,c/c++,java,c#,还是android开发还是ios开发没有一个明确的目标,

通过书籍查询了学习各种语言的书籍开发环境的搭建和一些开发用途,在这里对这些知识体系做一个介绍和确定现阶段自己应该专注于学习哪一门和精通哪一门。

汇编语言的书籍有很多对不同阶段的人做个介绍:《计算机导论》,《汇编语言第二版》,王爽写的,》《微机原理及应用》,《Intel汇编语言程序设计》+《计算机组成原理》 + 《Windows汇编语言程序设计》《51单片机汇编》ww.fenby.com http://see.xidian.edu.cn/cpp/,小甲鱼工作室。学习汇编语言的用途:主要就是学习思路和逻辑思考能力,

还有操作系统`引导程序都是用汇编`,还有各类驱动`也全是汇编`,另外`对文件进行反汇编.破解之类的也是汇编`,总之 汇编语言`可以直接对硬件操作`不依赖一任何操作系统,

而高级语言`一定要在操作系统的支持下才可以.虽然C语言在很多方面都取代了汇编.但一些关键性的东西却只能用汇编.用C就不行,开发工具和环境的搭建:MasmPluse.exe(在aogo小站),OLLYDBG,MASM32,:http://www.masm32.com/下载http://www.masm32.com/download/masm32v11r.zip,RadAsm。

学习c语言的书籍和用途,开发环境的搭建:《c语言程序设计》和《C程序设计(第四版)》学习辅导,用途:c语言是基础,既可以面向软件,也可以面向硬件,学会c,学精c,c++c#都不在话下,如果你想搞硬件的话,学好c 是必要的,像自动化,信息专业的同学应该学好c,c基本上是偏底层的,对效率要求高的,需要跟操作系统大量地直接打交道的。
比如网络通信,多媒体,数据采集传输,信息安全,嵌入式,图形图像处理,模式识别等等。开发工具:windows下用tc2.0,vc,dev c/c++,Code::Blocks,;linux下的编程工具用gcc,vi,vim,eclipse.Linux开发工具被切割成一个个独立的小工具。各自处理不同的问题。例如,编辑器(emacs, vim)用来进行编辑程序的,调试器(gdb)用来调试程序,编译器(GCC)用来编译和链接程序的,性能分析工具(gcov, gprof)用来优化程序的,文档生成器(doxygen)用来生成文档的。同时,还有一些系统工具和系统知识,我们是很有必要了解的:程序自动化机制 makefile,系统粘合剂shell,系统查找工具grep, locate, find。其它的工具(例如ctags, OCI公司的MPC等等),一旦熟练掌握,它们将成为你手中的利器。

c++学习:我将分为基础篇、Windows篇、和Linux/Unix篇 三个部分来介绍这些经典书籍:

C++入门:
  《C++ Primer》
  我的C++入门读物是《C++大学教程》,这本书800多页,由于学习时间长,一个学期学这么一本书,时间上的富裕,让我有充分的时间来吸收。书中80%的代码我都敲到PC上运行过;后来再看《C++ primer》的时候,也就一个星期的功夫翻完了。都是入门读物,介绍的也都全面。刚接触C++的朋友,至少应该将这方面的书好好过一遍。

 语言技巧,性能优化:
  《Effective C++》
  《C++必知必会》
  《More Effective C++》

 语言技巧,性能优化:
  《Effective C++》
  《C++必知必会》
  《More Effective C++》

《C专家编程》
  《C和指针》
  C++源于C,对于指针、对于各种地址的偏移计算,对于大端小端的深刻剖析,还得靠一些硬通货来解析;这两本书虽说不厚,但读起来确实费劲,信息量很足,很多都是在平时C++使用中没有意识到的知识点,却又都是重要的点。让人有知其所以然的快感;
  涉及到底层的东西,都是用来验证编程功底是否扎实。要想彻底掌握C++底层的东西,还是得看看专家编程,很好的两本书,指针等讲的很透彻。

STL:
  《C++标准程序库》
  《泛型编程与STL》
  《STL源码剖析》
  《C++标准程序库》是属于百科全书类型,讲解基础,但语言平淡(是以参考手册的角度来写的),没有勇气将其全部翻完,捡感兴趣的和自己很缺乏的部分看了看(里面关于智能指针方面的论述,还不错);

STL:
  《C++标准程序库》
  《泛型编程与STL》
  《STL源码剖析》
  《C++标准程序库》是属于百科全书类型,讲解基础,但语言平淡(是以参考手册的角度来写的),没有勇气将其全部翻完,捡感兴趣的和自己很缺乏的部分看了看(里面关于智能指针方面的论述,还不错);

《STL源码剖析》每一个推荐深入STL的文章应该都少不了这本书。下面几个问题可以考查一下是否需要看看: 1.STL中DQueue的实现机制(数据结构式如何组织的,其迭代器的插入和删除过程中的实现) 2.是否熟悉红黑树,能否叙述其插入和删除过程,如何调整。 3.萃取器的几种实现。

 Boost
  《超越c标准库——boost程序库导论》
  当标准库无法再满足你的时候,就轮到Boost出场了。编程,讲究两个效率,一是开发效率,二是运行效率。与其它编译型语言相比(java、C#等),C++属于后者,运行效率不错,但开发效率着实低。除了C++更底层的原因外,另一方面的原因就是标准库提供的功能不足。没有太多的工具,想实现什么都得自己来一遍,重复的造轮子的工作在程序员中不断上演;
  Boost库是对C++标准库的扩展,让我们在开发的过程中有更多的工具可以选择。正则表达式、智能指针等工具都是非常有用的工具,而函数对象,Lambda则让我们在编写C++的代码中更为优雅;
  这里提供的一本书是Boost的入门经典。它的目的就是让你对boost产生兴趣。等有了兴趣之后,就直接上boost的官网吧,需要什么尽管拿。
  设计模式:
  《设计模式》
  《设计模式精解》
  《道法自然》
  《设计模式》是该领域的圣经,未全看完。虽说经典,但一页一页的翻完,还真要点耐性。不像老外写书的风格,这本书看的很累(这也是一本参考手册)。我认为在对大部分模式都有一定的了解后再来看这本书,会找到很多兴趣点。

《道法自然》是国人写的很不错的一本书,用他们自己写的一个框架系统作为实例,贯穿全文,讲解各种模式的用法。看过后,体会到模式在大项目,特别是这种框架系统中的应用真是太到位了。同时,熟悉MFC的朋友会在本书中收获更多的东西,MFC也是一个框架系统,通过本书的讲解,可以体会到MFC的内部设计以及为何如此设计(书中就专门讲到MFC中的设计思想),同时,在讲单件模式的时候,还带出了MFC中theApp的作用(为什么要在MFC中安排一个theApp全局变量?这是我看到的唯一一本书解释了这个问题的);

 算法篇
  《编程珠玑》
  讲解数据结构和算法技巧的压轴好书。

c#学习:1.《C#入门经典》(找.NET版本大于或等于2.0的) wrox出版社

2.《C#高级编程》 wrox出版社

3a.《面向对象的系统分析》、《面向对象的系统设计》绍维忠

3b.《算法导论(第二版)》MIT,

4.《C#设计模式》(或《企业应用架构模式》、《设计模式》ERICH GAMMA, RICHARD HELM, RALPH JOHNSON, JOHN VLISSIDES,俗称四人帮),

开发工具:Visual Studio

java学习:第一部分: Java语言篇 1 《Java编程规范》,2 《Java核心技术:卷Ⅰ基础知识》,3 《Java编程思想》,4 《Effective Java》,5 《Java与模式》,6 《SCJP学习指南》 星级:8《Junit Recipes中文版:程序员实用测试技巧》,第二部分:中级进阶篇 1《Spring in action》 ,2《精通Spring 2.x:企业应用开发详解》,3《iBatis实践》,4 《精通Hibernate:Java对象持久化技术详解》,5 《Struts 2.1权威指南》,8 《Tomcat权威指南》,9 《Head First Servlets & Jsp》,10 《Head First HTML与CSS.XHTML》,11 《HTML+CSS网页设计与布局从入门到精通》 ,12 《JavaScript宝典》 ,13 《JavaScript权威指南》,14 《征服Ajax Web2.0开发技术详解》,

16 《XML入门经典》,17 《敏捷软件开发(原则模式与实践)》,18 《重构:改善既有代码的设计》,19 《代码整洁之道》,第三部分:高级篇 1  《Java消息服务》,

2 《Java并非实践》,4 《Hadoop权威指南》,附: 《Linux 鸟哥的私房菜》;开发工具:eclipse,myeclipse,netbeans,Jbuild;

android学习:Android开发入门与实战(第2版)(畅销书升级) ,Introduction To Android,Android编程入门教程andbook,深入浅出Android–Google手持设备应用程序设计,

Google Android应用框架原理与程式设计36技,Android A Programmer’s Guide,Android Essentials,Google Android SDK开发范例大全(第2版),Android平台开发之旅

开发论坛:

访问地址:

http://www.anddev.org

访问地址:http://www.helloandroid.com

访问地址:http://www.and-home.net访问地址:http://androidos.cc访问地址:http://www.androideye.com

开发工具:Eclipse+ADT+SDK,appInventor。

ios开发学习:《IOS开发从入门到精通》,《iOS软件开发揭密:iPhone&iPad企业应用和游戏开发》、《iOS软件开发兵法:应用程序与游戏开发之道》、《iOS6编程揭秘:iPhone与iPad应用开发入门》。

《Objective-C基础教程》、《Objective-C编程之道:iOS设计模式解析》、《iPhone4与iPad开发基础教程》、《iPhone开发秘籍》、《iPhone游戏开发入门经典:也适用于iPad 》、《新手学HTML5移动开发:面向iOS和Android平台》

开发工具:1.Gitx (rowanj-dev) ,Git是一个命令行代码管理系统,可能你已经在使用它了,它可以很好地帮你管理代码版本,功能非常强大,支持feature branches、tags、submodules以及logs等。并且其提供的GUI可以让你以一种更时髦的方式来展示commit tree

2:.Reveal ,3:SimPholders,4:Charles,5:PAW ,6:HexColorPicker,7:ColorSense for Xcode ,8:FuzzyAutocompletePlugin--Xcode 5代码自动补全插件,

9:CocoaDeveloper Quicklook Plugin,10:Testflight,11:Tokens,12:  PaintCode


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值