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

是时候改变一下了

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

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

 

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


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


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


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


推荐阅读
  • 远程过程调用(RPC)是一种允许客户端通过网络请求服务器执行特定功能的技术。它简化了分布式系统的交互,使开发者可以像调用本地函数一样调用远程服务,并获得返回结果。本文将深入探讨RPC的工作原理、发展历程及其在现代技术中的应用。 ... [详细]
  • 本文回顾了2017年的转型和2018年的收获,分享了几家知名互联网公司提供的工作机会及面试体验。 ... [详细]
  • 本文详细介绍了如何检查和配置电脑上的PHP环境,包括位数、运行支持以及文件格式的打开方式。适合初学者了解PHP的基础知识和操作方法。 ... [详细]
  • Linux环境下进程间通信:深入解析信号机制
    本文详细探讨了Linux系统中信号的生命周期,从信号生成到处理函数执行完毕的全过程,并介绍了信号编程中的注意事项和常见应用实例。通过分析信号在进程中的注册、注销及处理过程,帮助读者理解如何高效利用信号进行进程间通信。 ... [详细]
  • 深入理解Java多线程并发处理:基础与实践
    本文探讨了Java中的多线程并发处理机制,从基本概念到实际应用,帮助读者全面理解并掌握多线程编程技巧。通过实例解析和理论阐述,确保初学者也能轻松入门。 ... [详细]
  • 2017-2018年度《网络编程与安全》第五次实验报告
    本报告详细记录了2017-2018学年《网络编程与安全》课程第五次实验的具体内容、实验过程、遇到的问题及解决方案。 ... [详细]
  • 云屏系统基于嵌入式微系统msOS,旨在解决当前嵌入式彩屏GUI编程中硬件要求高、软件开发复杂、界面效果不佳等问题。该系统通过结合MCU和Android技术,利用Html5+JavaScript实现高效、易用的图形用户界面开发,使嵌入式开发人员能够专注于业务逻辑。 ... [详细]
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
  • 深入解析AUTOSAR方法论:汽车电子系统开发的理论基础(第三部分)
    本文详细探讨了AUTOSAR方法论在汽车电子软件系统开发中的应用,涵盖了从系统配置到生成可执行代码的各个关键步骤。通过介绍各阶段的任务和工具支持,帮助读者全面理解AUTOSAR的设计流程。 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
  • 本文详细介绍如何使用 Apache Spark 执行基本任务,包括启动 Spark Shell、运行示例程序以及编写简单的 WordCount 程序。同时提供了参数配置的注意事项和优化建议。 ... [详细]
  • 程序员版情书:王思聪的编程式告白
    当程序员用代码表达爱意,会产生怎样的化学反应?一起来看看这封充满技术感的情书,网友笑称这才是真爱! ... [详细]
  • docker镜像重启_docker怎么启动镜像dock ... [详细]
  • Java中的基本数据类型与包装类解析
    本文探讨了Java编程语言中的8种基本数据类型及其对应的包装类。通过分析这些数据类型的特性和使用场景,以及自动拆装箱机制的实现原理,帮助开发者更好地理解和应用这些概念。 ... [详细]
  • 本文详细阐述了云主机流量的概念,探讨其对网站性能和安全的关键影响,并提供了优化配置的实用建议。 ... [详细]
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社区 版权所有