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

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

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

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

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

最早之前的开发都是面向过程编程,直到高级语言出现,使得面向对象编程普及开来,到现在为止,不管前端、后端,统统都是面向对象编程。当然这都是正经的说法,随着互联网的发展,关于程序员的传说也越来越多,下面几个面向 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. com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect

    com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: con ...

  2. Java虚拟机详解(八)------虚拟机监控和分析工具(2)——可视化

    上篇博客我们介绍了虚拟机监控和分析命令行工具,由于其不够直观,不是很容易排查问题,那么本篇博客我们就来介绍几个可视化工具. 1.JConsole JConsole(Java Monitoring an ...

  3. Win10环境下安装压缩包版本MySQL-8.0.13

    准备工作 系统环境:Windows 10 1803版本: 压缩包:MySQL-8.0.13 Windows zip包下载: 安装过程 1. 加载安装包到你的安装目录 将下载的MySQL压缩包解压并移到 ...

  4. HTML 画布(摘自菜鸟教程)

    颜色.样式和阴影 属性 描述 fillStyle 设置或返回用于填充绘画的颜色.渐变或模式. strokeStyle 设置或返回用于笔触的颜色.渐变或模式. shadowColor 设置或返回用于阴影 ...

  5. P3355 骑士共存问题 二分建图 + 当前弧优化dinic

    P3355 骑士共存问题 题意: 也是一个棋盘,规则是“马”不能相互打到. 思路: 奇偶点分开,二分图建图,这道题要注意每个点可以跑八个方向,两边都可以跑,所以边 = 20 * n * n. 然后di ...

  6. 背包形动态规划 fjutoj2375 金明的预算方案

    金明的预算方案 TimeLimit:1000MS  MemoryLimit:128MB 64-bit integer IO format:%lld   Problem Description 金明今天 ...

  7. 文档打印 js print调用打印dom内容

    1.首先按目前研究 print可以打印dom 2.被设置overflow:hidden 的模块,打印时会被截掉. 3.被设置成 display:none 的dom 打印不会有样式 边框等. 4.如果需 ...

  8. nvm 管理多个活动的node.js版本

    前序:最近在使用taro框架开发小程序,因为安装taro时遇到一些问题,后来重新安装了node版本——v10.16.3,却影响了我本地开发的项目,故此使用nvm来管理node的版本,更加灵活的切换以支 ...

  9. SpringBoot+SpringMVC+MyBatis快速整合搭建

    作为开发人员,大家都知道,SpringBoot是基于Spring4.0设计的,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程.另外Spr ...

  10. 让Jenkins执行GitHub上的pipeline脚本

    本文是<Jenkins流水线(pipeline)实战>系列的第二篇,上一篇搭建好了Jenkins环境并执行了一个简单的pipeline任务,当时我们直接在Jenkins网页上编写pipel ...