热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

是时候改变一下了

当摩尔定律不在那么有效的时候,我们是依然静观其变,还是努力的寻找解决办法?多数人当然会说后者,可实际上绝大部分还是安分守己的选择前者,不光是传统的编程思想易学,更重要的还是考虑成本

  当摩尔定律不在那么有效的时候, 我们是依然静观其变,还是努力的寻找解决办法? 多数人当然会说后者, 可实际上绝大部分还是安分守己的选择前者, 不光是传统的编程思想易学, 更重要的还是考虑成本的问题, 多数公司不太希望在创新上浪费太多的钱, 更多的愿意选择使用经过别人发布测试好的程序. 在工程上来讲这确实可取, 毕竟可靠稳定是第一因素, 其次才是性能. 不过时代确实改变了..... 处理器的发展速度朝着截然不同的方向前进, 鸵鸟算法不再适用的时代, 为什么还有这么多人争先恐后的争当鸵鸟.... 确实让我很不解.... .....

 

  话说, 今天头疼... 可能是忽冷忽热的地铁让我很不适应... 这两天研究并改进一套算法, 虽然有些地方还没能自己实现下, 但好在的是思路更加开阔了.... 有时候看到一个人每天写了好几百行甚至上千行程序.... 暂且不说质量如何... 我是真的不敢恭维这样的速度.... 估计他要花上数周的时间来重构几次.... 最终下来的程序或许只有100行不到.... 多核时代带给我们的不仅仅是挑战,也是机遇... 将旧有的程序改成高性能的并行程序并非一件易事, 这需要一个人的知识储备量达到一定数量级才能做到... 不过编写一个稳定程序的难度要远高于编写一个高性能的程序.... 这中间又涉及到很多取舍问题....


  一个优秀的程序员可以做到在恰当的场合使用恰当的语言, 而非对一门语言有过于严重的依赖.有些公司使用C/C++这类编译型语言来写逻辑, 当然并不是说这样不可以, 对于追求极致性能的产品还是可以的, 但如果产品追求的更高的稳定性,更强的容错性, 再用这类语言只会让你每天忙于各种BUG的修复.... 通常这类BUG都是可以导致程序挂掉的.... 因为并没有办法阻止程序员犯错... (人都会犯错... 包括大牛们). 这时候脚本语言这种简单易学,容错性高的语言就可以很好的派上用场了.更适合做服务器和客户端的逻辑层开发. 对于一些长久不变且对性能有严格要求的地方,比如服务器引擎,客户端引擎这类的框架通常还是C/C++配合适当的汇编来完成更加合适.


  同样一段程序,可能每个程序员的实现都或多或少会有不同,但真正能写出优美代码的人毕竟还是少数, 这样的程序融合了大师级的设计思想,无论从程序结构上,稳定性, 效率等方面都是优异的, 或许你现在还对此并不在意, 当你维护一个让你每天都崩溃无数次的程序时, 或许你会翻然醒悟优美代码的好处 :) 编写那样的代码绝对不是在浪费时间....


  希望有一天,我能带给大家的不仅仅是启示,而是深思....


推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 解读MySQL查询执行计划的详细指南
    本文旨在帮助开发者和数据库管理员深入了解如何解读MySQL查询执行计划。通过详细的解析,您将掌握优化查询性能的关键技巧,了解各种访问类型和额外信息的含义。 ... [详细]
  • 自学编程与计算机专业背景者的差异分析
    本文探讨了自学编程者和计算机专业毕业生在技能、知识结构及职业发展上的不同之处,结合实际案例分析两者的优势与劣势。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 利用存储过程构建年度日历表的详细指南
    本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ... [详细]
  • SQLite 动态创建多个表的需求在网络上有不少讨论,但很少有详细的解决方案。本文将介绍如何在 Qt 环境中使用 QString 类轻松实现 SQLite 表的动态创建,并提供详细的步骤和示例代码。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 深入理解Java泛型:JDK 5的新特性
    本文详细介绍了Java泛型的概念及其在JDK 5中的应用,通过具体代码示例解释了泛型的引入、作用和优势。同时,探讨了泛型类、泛型方法和泛型接口的实现,并深入讲解了通配符的使用。 ... [详细]
  • 作为一名程序员,从大学步入职场后,常常感受到一种难以言喻的空虚感。这种感觉或许源于对生活的不满、职业发展的瓶颈,或是日常琐事带来的压力。本文将深入探讨这种复杂的情感,并尝试寻找解决之道。 ... [详细]
author-avatar
don't
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有