怎么才能练习编程的思想?
先说下编程有哪些基本的编程思想:
1、流程控制的思想
从语法来讲,选择结构和循环结构可以很复杂,正确的做法是多做练习。
例如:求1--100之间能够被7整除的数有多少个?
该题目考察如下几个知识点:
(1)循环结构
需要遍历1--100所有的数
(2)判断语句if和算数求余运算:if(i%7 ==0)
(3)计数器count:能被7整除就得计数
2、面向对象设计的思想
面向对象设计思想包括继承、封装、多态,尤其是多态思想经常在软件的设计、架构中被广泛的应用,由该思想衍生出很多技术框架,如:JAVA的Spring框架。
面向对象编程思想建议学习JAVA程序设计,然后学习常见的设计模式,如:代理模式、适配器模式等等,最后学习面向对象的设计工具UML。
3、函数式的编程思想
面向对象是自顶向下的设计思想,而函数式编程思想则是自底向上的编程思想。
可以通过学习Scala程序设计来掌握此类编程思想。
最后我最想说的是和大数据、人工智能相关软件开发过程中涉及到的编程思想:
1、数据结构和算法
数据结构和算法是我们编程进阶务必掌握的技能,例如:分布式按列存储数据库HBase的数据索引的设计就是使用二叉查找树、平衡树之类的算法技术设计的;分布式内存计算大数据框架Spark的数据对象就是基于图计算设计的。
首先把《数据结构和算法》这门课学精了,不可直接越过这门课,然后把HBase和Spark技术框架先使用熟练了,有机会你可以使用数据结构和算法的思想来完善此类开源框架的源代码,为Apache贡献源代码,但首先你得把该大数据框架使用熟练,不然你知道不足之处在哪里?
2、分布式计算的编程思想
首先建议先把分布式存储和分布式计算的大数据框架Hadoop用熟,体会其分布式设计思想,有精力可使用JAVA语言对其进行完善,给Apache贡献源代码。
3、和数学建模相关的思想
首先把数学的基本功打好,上大学不得随意缺课、抓补考!
然后把数据挖掘经典算法用熟;接着把人工智能《机器学习》已经落地的算法用熟。
最后对于世界范围内的学者提出来的新的人工智能《机器学习》方面的理论以及算法实现,甚至他们的原始论文,要在其基础上勇于大胆的、批判的继承和创新。