面试官:同学,说一说面向对象有什么好处?

神仙开发者:我觉的面向对象编程没有什么好处。

面试官:为什么(摊手、问号脸)?

神仙开发者:因为在面向对象的时候,我对象总是跟我说话,问我在淘宝上挑的衣服哪个好看,没有安静的适合编程的环境,所以面向对象编程没有好处。

面试官:好的,今天就到这里吧,回去等通知吧。

最早之前的开发都是面向过程编程,直到高级语言出现,使得面向对象编程普及开来,到现在为止,不管前端、后端,统统都是面向对象编程。当然这都是正经的说法,随着互联网的发展,关于程序员的传说也越来越多,下面几个面向 XX 的编程,也是真真假假自在其中。

面向其他开发者编程

面向其他开发者编程,什么意思呢。有些同学天然的认为,刚刚正式进入一个公司从事开发岗位,一定要有个高手带,没人带就没法开始编程。

还有就是在遇到问题的时候,第一反应是求职于同事,或者微信、qq 等技术群,而不是想要自己想办法。往往在求助他人碰壁的时候,间歇性的进阶到面向搜索引擎编程,碰壁次数达到一定次数后,量变引起质变,会进入到面向搜索引擎编程的稳定态,也就是下面的面向搜索引擎编程。

关于这种现象,可以看这篇关于提问的文章。为什么你提的问题没人回答

面向搜索引擎编程

面向搜索引擎编程又分为高阶和低阶两种,高阶用户面向 Google 编程,低阶用户面向百度编程。

现在互联网这么发达,90% 的问题可能都能通过搜索得到答案。在互联网还没有这么发达的时候,能帮助开发者解决问题往往就是几本书,如果书上找不到解决办法,那就靠调式、读源码还有运气了。

面向百度编程

有些同学碍于 qiang 的阻止,或者一直以来的习惯就是用百度。所以遇到解决不了的问题就开始 baidu.com 了,有问题,上百度。大多数时候,百度都不是那么好用,除了有永远排在顶部的各种广告之外,就是 某SDN 在百度的权重那真是异常的大,好多文章自然不必说了,最起码充斥着很大一部分的垃圾文章。

面向 Google 编程

这一般都是由面向百度编程的同学进阶来的,当你有一天,或者说迟早有一天,你终于忍不了百度对于技术问题的无解了,那就自然而然的到了 Google 这里。不瞒各位,我就是面向 Google 编程的忠实实践者。一般碰到不是那么明显的问题,第一个想法就是 Google 一下,一般是输入关键字后,一口气打开第一页结果中的7、8 个,然后基本上扫一眼就知道哪个是能解决的,哪个是无关或者扯淡的。这个时候,如果碰到英文页面,最好有 Google 翻译配合使用,效果更好呦。

其实不管是百度还是 Google ,当然都能解决一些问题,但是还是不要一碰到问题,想都不想,马上打开搜索引擎开始搜。有时候遇到问题先尝试自己解决,自己没办法解决再考虑问搜索引擎也不迟。重要的是,你还得会用,不要以为谁都能通过问题现象顺利的找到解决方案,我发现有些同学还真的就不会用,不知道怎么搜索。

面向产品经理编程

这类的同学也很多,产品经理当然只是个代指,可以理解为提出需求和设计方案的人。拿到需求就开始哐哐一顿开发,着实痛快利落。但其实,我想有些开发同学遇到过对需求有疑问的情况,觉得这需求怎么这么怪异,这设计好像不是很合理,能发现问题已经很好了,针对问题找产品经理讨论那简直是更好了。可怕的是有些同学根本就不思考,需求设计来了就照做。还有一些同学是想到了,但是想想就憋在肚子里了,难道是因为打不过产品经理的原因吗。

面向薪资编程

这往往出现在刚要进入职场或者工作一两年的同学,薪资是最重要也是唯一重要的考量因素。只要工资给的够,开发什么不重要,用什么开发不重要,都能做。哪怕是去东南亚也都在考虑范围内。

那么,我们选择面向薪资编程是不是有错呢,当然,也没错,上班为了什么,为了理想吗、为了抱负吗、为了自我实现吗,说没有,好像就有点肤浅了。好,是的,是为了理想抱负和自我实现,更重要的也是为了钱。

但也不是说,只要工资高就可以了,在工资差距不太大的情况下,还是要看开发东西的价值、行业等。比如说开发高并发的互联网系统和企业内部系统来说,应该首选互联网项目。在比如说赌博平台、无良贷款平台等,这些,给多少钱都不能干。一旦面向它们编程,就是面向监狱大门编程。

无论面向什么编程,都要面向对自己有提升的方向编程。

不要吝惜你的「推荐」呦

欢迎关注,不定期更新本系列和其他文章
古时的风筝 ,进入公众号可以加入交流群

我面向 Google 编程,他面向薪资编程的更多相关文章

  1. 老李推荐:第14章1节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-面向控件编程VS面向坐标编程

    老李推荐:第14章1节<MonkeyRunner源码剖析> HierarchyViewer实现原理-面向控件编程VS面向坐标编程   poptest是国内唯一一家培养测试开发工程师的培训机 ...

  2. go 学习笔记之go是不是面向对象语言是否支持面对对象编程?

    面向对象编程风格深受广大开发者喜欢,尤其是以 C++, Java 为典型代表的编程语言大行其道,十分流行! 有意思的是这两中语言几乎毫无意外都来源于 C 语言,却不同于 C 的面向过程编程,这种面向对 ...

  3. 函数式编程:面向可复用的map和pipeline机制的编程语言

    函数式编程:面向可复用的map和pipeline机制的编程语言

  4. [Google Guava] 4-函数式编程

    原文链接 译文链接 译者:沈义扬,校对:丁一 注意事项 截至JDK7,Java中也只能通过笨拙冗长的匿名类来达到近似函数式编程的效果.预计JDK8中会有所改变,但Guava现在就想给JDK5以上用户提 ...

  5. Python黑帽编程2.9 面向对象编程

    Python黑帽编程2.9 面向对象编程 我个人认为,计算机语言的发展,有两个方向,一个是从低到高的发展过程,在这个过程中,语言的思考和解决问题的方式是面向硬件的.硬件本质上处理的是信号,在此基础上, ...

  6. 新一代编程:scala泛函编程技术-唠叨

    准备了半年后,终于决定在这里开始我的scala编程技术学习体验撰写之旅.初步打算在这里把我学习.体验.掌握scala编程的过程与有兴趣的朋友分享.我想,虽然我这不是正式论文或者教课书之类的,但写个开场 ...

  7. 并发编程概述--C#并发编程经典实例

    优秀软件的一个关键特征就是具有并发性.过去的几十年,我们可以进行并发编程,但是难度很大.以前,并发性软件的编写.调试和维护都很难,这导致很多开发人员为图省事放弃了并发编程.新版.NET 中的程序库和语 ...

  8. Python黑帽编程2.1 Python编程哲学

    Python黑帽编程2.1  Python编程哲学 本节的内容有些趣味性,涉及到很多人为什么会选择Python,为什么会喜欢这门语言.我带大家膜拜下Python作者的Python之禅,然后再来了解下P ...

  9. [转]Windows网络编程学习-面向连接的编程方式

    直接附上原文链接:windows 网络编程学习-面向连接的编程方式

随机推荐

  1. Leetcode Weekly Contest 152

    退役老人现在连leetcode都不会做了 = = 今天早上做了leetcode第三题题目看错了,加上比赛中间还在调投稿的实验,一心二用直接gg 总结下教训就是 本渣现在做题连题目都看不清就开始做.开始 ...

  2. javascript之操作数组方法

    掌握如何操作数组,会让你的开发变得更加高效 1.栈和队列方法(以下四个方法都改变原数组) arr.push() //接受任意类型的参数,逐个添加到数组的末尾,并返回数组的长度 改变原数组 arr.po ...

  3. evevt

    EventEvent 是一个事件对象,当一个事件发生后,和当前事件发生相关的详细信息会被临时存储到一个指定的地方,也就是event对象,以方便我们在需要的时候调用. 在这一点上,非常类似于飞机当中的黑 ...

  4. Struts2:request & response

    整理自网上:  1.   获取Request和Response的方法  1.1. ServletActionContext的静态方法      HttpServletRequest request = ...

  5. Badboy - 导出脚本,用于JMeter并发测试

    参考: http://leafwf.blog.51cto.com/872759/1141011 http://www.51testing.com/html/00/130600-1367743.html ...

  6. HDU 6357 Hills And Valleys

    Hills And Valleys 题意:给你一个序列, 可以翻转一次区间 [l, r] 求最大 非递减的 序列长度. 题解:枚举翻转区间,然后匹配. 如果不翻转区间, 那么就相当于用b[] = {0 ...

  7. POJ 2528 Mayor's posters (线段树+区间覆盖+离散化)

    题意: 一共有n张海报, 按次序贴在墙上, 后贴的海报可以覆盖先贴的海报, 问一共有多少种海报出现过. 题解: 因为长度最大可以达到1e7, 但是最多只有2e4的区间个数,并且最后只是统计能看见的不同 ...

  8. 快速幂 HDU 1061 Rightmost Digit *

    Rightmost Digit Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  9. odoo12从零开始:三、2)odoo模型层

    前言 上一篇文章(创建你的第一个应用模块(module))已经大致描述了odoo的模型层(model)和视图层(view),这一篇文章,我们将系统地介绍有关于model的知识,其中包括: 1.模型的类 ...

  10. Python 基础 3 - 元组

    元组与列表区别 Python 元组与列表类似,不同之处在于列表可以修改,元组不可以修改 元组用小括号 () 定义,列表用方括号 [] 定义 元组不可修改,列表可修改 元组创建 只需要在小括号 () 内 ...