什么是技术?
技术是人类解决某些问题、实现预定目标的方法与手段的聚合体, 它拓展了人的生存能力, 使得人们的生活更加便利。 在软件领域, 技术通常是指由代码、开发实践、项目管理等形成的计算实体, 这种计算实体能够帮助人们更有效率地解决实际的问题。
技术必定是针对具体问题和目标的。 必须先挖掘出明确、具体而一定广泛性的需求, 提出有效、敏锐的问题, 然后才探索技术去解决它。
什么才算是新技术? 它是对现存世界的敏锐观察, 对人类所面临的本质性难题的深入思考和挑战, 突破传统解决模式, 以全新的方式解决以往难以解决的、或者无法想象的问题。 它不是修修补补, 不是微创新, 它是新生的力量, 是想象力的释放和大胆的尝试和变革。
在我看来, 以下可以算作是新技术:
1. 单核 向 多核 转变;
2. 单机 向 分布式 转变;
3. 互联网 与 web;
4. 串行 向 并发 转变;
5. 同步模式 向 异步模式 转变;
6. 有线 向 无线 转变;
7. 计算设备 向 便携式、智能化 转变;
8. 智能计算机的研究与创造, 基于神经网络(非传统计算模型)的计算设备;
9. 人机交互探索与应用;
10. 机器学习, 智能推荐, 多媒体信息识别, 自然语言理解 ;
11. 跨学科应用, 比如科技与艺术的结合催生更人性化的电脑产品;
12. 更快的算法, 高性能计算;
13. 大数据数据处理;
14. 物联网, 万物联入;
15. 云计算, 计算能力的按需弹性供给;
16. 2D 向 3D , 更多维空间的拓展;
17. 开放平台;
18. 计算技术在社会各领域的创新式应用和变革;
在这些新技术的理念引领下, 必然催生各种开发框架, 用于更容易地应用这些新技术, 创建新应用。
需求 - 目标 - 设计 - 资源 - 成本 - 进度 - 实现 - 反馈
需求: 所面临的本质性难题在哪里? 需要满足什么样的需要? 提出什么样的问题?
目标: 对需求和问题的仔细斟酌和定位, 制订哪些具体目标最有助于满足需求?
设计: 选择最合适的技术和架构来指导实际活动, 确保能够充分完成预期目标, 同时对未来保持一定的灵活性和应对力;
资源: 合理的设计必定需要考虑的因素, 人力、软硬件、 团队沟通、工具环境等, 这些是完成目标的必要件;
成本: 必须比较准确地估算成本; 没有成本估算的项目和设计是不靠谱的;
进度: 制订基本合理的进度, 作为对项目进程的监督和参考;
实现: 注重细节和过程, 实现预期目标, 同时保证较高的项目代码质量。
反馈: 反馈、总结、 汲取经验教训。