到底什么是程序员思维,如何提升这种思维?

月下蓝雨


这个问题有点大,说清楚不容易,应该有人能拿去写一本书,我挑一些我了解的说一下。

就不多做解释了,解释了也是废话

1.自顶向下,逐步分解。

2.分层次

3.模块化

4.面向对象编程,和面向对象开发约定 及模式

5.测试驱动开发

6.算法,O,o,数据结构和算法……等等

7.数学

8.逻辑

9.ui和交互

10.大道至简

11.规范与自律

12.有限的问题集

13.思考和晚动手

14.看源码和分享

15.关注底层 无论你在那层

好了,杂七杂八说这么晚多,希望对大伙有帮助。


一叶书藏


逻辑思维吧,我就说说我自己吧。比如我思考如何搭建服务器的时候,我会思考,首先服务器是什么,一台运行的电脑,里面安装好我要用的软件。我觉得程序员思维最重要的是懂原理,有很多人以为自己踏入了程序员的大门,但是连最基本的计算机组成都不懂,什么是内存什么磁盘什么是驱动。我大学老师教授我们一句很重要的话,结果不重要,重要的思想,懂原理最重要。程序员思维都是有逻辑可寻的,一知半解最可怕,因为很可能出了问题会归结为玄学。从本质上思考才是好的方式方法。


云说书人


通常来说,不同岗位和级别的程序员需要具备不同的思维方式,因为需要解决的问题通常有较大的区别。

通常程序员分为两大类,一类是研发级程序员,另一类是应用级程序员。研发级程序员通常考虑的是系统级问题,比如平台的开发及实现,而应用级程序员通常解决的是行业问题,比如具体的业务逻辑如何实现。以大数据开发为例,研发级程序员的目标是完成大数据平台研发,而应用级程序员的任务是在大数据平台下进行具体的大数据应用开发。

在具体的实施方面,研发级程序员需要重点考虑三方面问题,其一是资源管理问题;其二是结构设计问题;其三是性能优化问题,这三个问题对应于三方面基础知识,分别是操作系统体系结构、编译原理和算法设计,所以研发级程序员对于基础知识的要求通常比较高,研发级程序员要解决的问题说到底就是数学问题。看一个例子(引自artificial intelligence a modern approach):

对于应用级程序员来说,工作任务的重点在于如何利用已有的平台进行功能的具体实现,核心在于如何完成具体业务逻辑的实现。在实现的过程中通常需要调用平台提供的API完成具体功能的实现,随着云计算平台的应用,使用PaaS进行应用级开发是一个重要的发展趋势。

不论对于研发级程序员来说,还是应用级程序员来说,所谓的程序员思维就是解决问题的思路和方法,思路通常指的是逻辑(算法),而方法通常指的是编程语言的应用。所以,要想培养程序员思维需要从逻辑和编程语言两个方面入手。

对于程序员来说,培养编程思维能力一方面要多做实验并多做总结,另一方面也可以通过阅读已有的代码来提升,比如阅读一下Linux系统的核心源代码就是不错的选择。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网方面的问题,或者考研方面的问题,都可以咨询我,谢谢!


IT人刘俊明


程序员思维我觉得应该是一丝不苟、按部就班的一种思维方式。

这种思维方式的好处是:能够很清晰的看到目标。过程也很紧凑,不会出现大的失误。

但是,这种思维的弊端是:模式化太严重,缺乏活力,不会变通。一旦方向错误,将陷入死循环。

本人觉得没必要刻意去提升这种思维。

程序员思维对于应对机械化的工作,大规模产业协作,非常有效。但是,对于现今互联网时代,很多新晋崛起的小公司,和一些有多元思维的超级个体,这种思维方式就不是很好!

如果你真的想提升程序员思维,我觉得就只能在工作和学习中,给自己设定一个目标,按部就班,扎实推进,过程中有少许偏差要及时纠正,直到达到这个目标。当然这个过程会比较长,而且会比较痛苦。


我是一只犀鸟


我们不生产代码,只做代码的搬运工


修改用户名总是失败


面向对象编程和设计


java技术架构


由输入能预想出结果,这就是程序员思维


一杯茶一本书悠然自得


请问你有对象吗


云泉树月


看到一个东西,能快速的抽象出架构。然后再慢慢的补充细节


IT大胖


懂得复制粘贴


分享到:


相關文章: