导航:首页 > 软件知识 > 如何看懂程序员思考

如何看懂程序员思考

发布时间:2024-12-19 16:33:42

㈠ 怎样看待程序员这份工作

你印象中的程序员是什么样子?
谈起程序员大家最直观的印象是穿着格子衫,就会对着电脑,常常几个小时,经常熬夜工作敲代码!而且程序员在大多数人的心里都是非常好的职业,工资非常高,敲代码的样子也非常酷。其实,很多人都不清楚程序员具体是做什么的,就连程序员的家人也不一定能理解,网上经常有人调侃评价程序员一点乐趣都没有,急的人头发都掉了。你会给父母讲讲你目前的工作吗?他们是否了解你的工作?
新兴行业里很多工作大家都不是特别的理解,有些人觉得程序员跟一些宅男的标签挂钩,父母理解程序员到底是一个也有说你是修电脑的,可能家人们会最担心他们的对象问题,也许家人看不懂程序员的工作究竟是在做什么,为什么还有那么多人来从事这个行业呢?你眼中的好工作,家人眼中的好工作,我眼中的好工作,各有不同。一行行代码是虚拟世界的基础语言,尽管家人读不懂,那些字符就是他们的快乐所在了。
“每天除了修改bug,就是在修改bug的路上”“写不完的代码和吃不完的泡面”老一辈儿的人根本就不懂这是怎样一个职业,在他们眼中,这就是一个高薪,这就是一个文化程度很高的工作,只不过是他们不太懂程序员每天都要干啥。经常打电话询问永远离不开那一句“有没有下班”,毕竟在家人的心中,孩子的健康永远是第一位的。 只希望他们能按时下班吧,按时吃饭,不要太熬夜,薪水多少不重要,自己的身体才是最重要的。
对于程序员我的了解也不是特别多,因为编程语言看起来太复杂了。以前感觉他们真的是好神秘,是一个赚钱特别多的岗位,特别是大厂的程序员们特别的不好进。每一项外表光鲜亮丽工作,离不开他们背后付出的努力,程序员也不例外,而且比我们想象的还辛苦。其实,每一份工作都值得被尊重,他们保持着一份对工作的热爱,我觉得作为家人应该支持他们工作才对。对此你怎么看待程序员这份职业呢?在我看来,东方的程序员如何看待西方同行是一个有趣并且重要的问题。

通常认为东方国家(印度/中国/菲律宾)是为西方国家提供外包服务(美国和欧洲)的。

即使IT的领军企业也是如此。他们从学院里招聘毕业生并把他们训练成机器人。最悲哀的莫过于,他们的薪资相对其他行业而言相对较高,因此没有人愿意从这些公司离开。在印度,几乎没有IT公司会招聘真正有才能的人。

㈡ 程序员是怎样解决问题的

程序员的五部曲:

第一、理解问题

解决问题的首要前提是客观准确地理解问题,这样我们才能抓住问题的本质,对症下药。

客观

为什么强调客观呢?在生活中,这样的情境很常见。

我们可以很客观地去评价他人,甚至是给他人给出合理的意见,但是同样的一件事情,放到我们自己身上,我们可能就会觉得束手无策。

通常情况下,我们对于自己的评价是带走自我保护心理的。

自己遇到问题,我们会下意识地弱化问题,或者情樱型绪化地来理解问题,造成问题的失真。

魔镜的故事就是一个最典型的卖颂改例子。

准确

当我们对自身的问题评价做不到客观的时候,我们往往也不会准确理解问题。

还有,准确的定义是找到问题的关键所在。这个怎么做呢?

我们仿照时中判间管理的方式。

首先对自己所要解决问题的过程做一个较为详细的记录。

坚持记录几天之后,我们需要将所有的记录结果进行汇总,分析,找出漏洞最大的地方。

那么这个洞也就是所谓的关键,我们也就可以找到解决问题的突破口。

举个例子,笔者前段时间开始用手机软件记录自己的时间花销,记录几天之后,就会发现,自己时间浪费最为严重的是娱乐。

知道了时间浪费的黑洞,那么接下来就该思考时间黑洞产生的原因了。

时间浪费的主要原因是两个

第一,目标流失

当我在网上查资料,或者用手机写作的时候,总会进入其他的浏览页面,等到自己发觉的时候,时间已经过去大半。

这个我称之为目标流失。也就是我们在网页浏览的时候已经忘记了自己最初的目的,比如说你本来想找一本书籍的txt版本,但是后来你发现自己浏览了一下午的娱乐新闻。

第二,多任务处理

这个问题我是经常遇到。比如说,我在进行日更的时候,有新同学发微信,说查一下宿舍的分配情况。

我当时的反应是火急火燎地去其刷微信,信息查询完毕之后,和分配在同一宿舍的同学聊了一下午。

最要命的是,等到你刷完屏的时候,你有很大可能会忘掉你在更这件事。

或者说你还记得,但你的精力已经消耗的差不多了,你会告诉自己,等会再更,然后你有很大的概率会断更。

找到时间黑洞形成的原因,那么就可以寻求解决措施了。

第二、计划

为自己的病症设置一个完整的疗程,根据问题出现的原因,制定每一步要采取的手段。

第三、拆解

这一步是和计划联系在一起的,只不过它的要求更加细化。

它需要我们将计划的每一步都拆解成可以执行的步骤,感兴趣的读者可以参考笔者的另外一篇文章《如何让遥不可及的梦想变得触手可及?》

第四、卡壳

可以说,我们每个人都有改变的想法,也确实有很多人尝试去做了,为什么还有那么多的放弃者。

因为在执行计划的时候,出现的变数让我们卡壳了。卡壳再正常不活了,那为什么会放弃?

答案是自我负罪感。

当我们卡壳的时候,我们大多数人会产生一种负罪感,就是觉得自己定计划的时候,详尽完备,而且自己已经坚持了这么长时间,会陷入一种自我怀疑,也就是负罪感。

解决的办法是立即采取行动,而不是描述问题本身,这也是我们解决所有问题的一个心态。

我们不要紧盯着问题本身,你理解问题的过程就是在采取行动,相反,你逢人就说,我遇到什么问题,我有多痛苦,没有任何意义。

第五、练习

其实这个步骤是对前面几步的一个综合。

这五部曲是一个闭环,是需要反复进行的,因为问题会不断出现。

回头看过去的生活,我们的历程何尝不是这样?不断遇到新问题,不断解决问题,然后获得新的体验。

想看更多文章

欢迎关注大鱼号【小妖影视】

㈢ 程序员的逻辑思维可以从哪些方面进行培养呢

程序员逻辑思维的培养对软件工程非常重要,思维快的能快速编写逻辑代码。可以从一下几个方面进行慢慢培养。
第一:明确学习目的
逻辑思维学习编程对多数IT业人员来说都是非常有用的。学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的工作添加重要得砝码,有利于在求职道路上谋得一个好的职位;从国家的角度,可以为中国的软件产业做出应有的贡献,一名优秀的程序员永远是被争夺的对象。学习编程还能锻炼思维,使我们的逻辑思维更加严密;能够不断享受到创新的乐趣,将一直有机会走在高科技的前沿,因为程序设计本身是一种创造性的工作。知识经济时代给我们带来了无限的机会,要想真正掌握计算机技术,并在IT行业里干出一番事业来,有所作为,具有一定的编程能力是一个基本条件和要求。
第二打好基础,学好基础知识对我们开发也很重要学编程要具备一定的基础,总结之有以下几方面:
首先是数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。
其次是逻辑思维能力的培养 学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。最后是选择一种合适的入门语言 面对各种各样的语言,应按什么样的顺序学呢?程序设计工具不外乎如下几类: 1)本地开发 应用软件开发的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;数据库开发工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台开发 开发工具如 Java 等。 3)网络开发 对客户端开发工具如:Java Script 等;对服务器开发工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。 以上不同的环境下几种开发工具中 VB 法简单并容易理解,界面设计是可设化的,易学、易用。选 VB 作为入门的方向对出学者是较为适合的。
第三:注意理解一些重要概念
一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针对这些语法、结构的应用例子,做到举一反三,触类旁通。
第四:掌握编程思想,编程思想使用较多的就是oop编程思想
学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。例如学习 VC 就要学习 Windows 的内在机理、什么是线程......;学习 COM 就要知道VTALBE 、类厂、接口、idl......,关键是学一种思想,有了思想,那么我们就可以触类旁通。
第六:多实践、多交流,一切思维来自项目开发的积累
掌握编程思想必须在编程实际工作中去实践和体会。编程起步阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多想几种解决的方案。这就要多交流,各人的思维方式不同、角度各异,各有高招,通过交流可不断吸收别人的长处,丰富编程实践,帮助自己提高水平。亲自动手进行程序设计是创造性思维应用的体现,也是培养逻辑思维的好方法。
第七:养成良好的编程习惯
编程入门不难,但入门后不断学习是十分重要的,相对来说较为漫长。在此期间要注意养成一些良好的编程习惯。编程风格的好坏很大程度影响程序质量。良好的编程风格可以使
程序结构清晰合理,且使程序代码便于维护。如代码的缩进编排、变量命令规则的一致性、代码的注释等。
第八:上网学编程
在网上可以学到很多不同的编程思想、方法、经验和技巧,有大量的工具和作品及相关的辅导材料供下载
8.加强计算机理论知识的再学习
思维培养学编程是符合“理论→实践→再理论→再实践”的一个认识过程。一开始要具有一定的计算机理论基础知识,包括编程所需的数学基础知识,具备了入门的条件,就可以
开始编程的实践,从实践中可以发现问题需要加强计算机理论知识的再学习。程序人人皆可编,但当你发现编到一定程度很难再提高的时候,就要回头来学习一些计算机科学和数
学基础理论。学过之后,很多以前遇到的问题都会迎刃而解,使人有豁然开朗之感。因此在学习编程的过程中要不断地针对应用中的困惑和问题深入学习数据结构、算法、计算机
原理、编译原理、操作系统原理、软件工程等计算机科学的理论基础和数理逻辑、代数系统、图论、离散数学等数学理论基础知识。这样经过不断的学习,再努力地实践,编程水平一定会不断提高到一个新高度。
这就是总结出来的思维培养模式,希望能帮到你,谢谢!

㈣ 为什么程序员的思维很难理解

1、程序员的思维比普通人要严谨。
对编程有一定了解的人都能理解这一点,一是一二是二,电脑不认模棱两可的回答,因为“模棱两可意味着更多的可能答案”,所以你跟程序员交谈的时候,如果你问他“为什么要这样问”或“你为什么听不懂”,你就会知道你自己的描述有多么的不严谨了。
最简单的例子,你妈妈让你去市场买水果,如果看到有苹果就买一个苹果,看到梨就买两个。你看到市场有苹果和梨,你会买什么回家?
首先给出一个大前提,在程序上不存在“潜台词”或者“潜规则”这种东西,唯一起作用的只有“字面意思”。
一般人肯定是买一个苹果和两个梨。当然程序员也不是脑子有坑,以一个正常人的思维考虑也会买一个苹果和两个梨,但是看到这问题的第一个瞬间的直觉反应,却是“如果看到梨就买两个苹果”。这个问题不存在潜台词,所以所有人都会直接从字面理解老妈的意图。
按照程序的逻辑分析,这句话共分为两个部分,代表两个程序任务。“如果看到有苹果就买两个苹果”为任务一,条件是“看到有苹果”,目标对象“买苹果”,数量“一个”;“如果看到有梨就买两个”为任务二,条件是“看到有梨”,数量“两个”,没有给出新的目标对象。
因此按照程序逻辑来讲,第二句话将继承上一个目标对象,也就是“买苹果”,所以这句话被看起来像职业病一样的思维直接翻译成了“如果看到有苹果就买一个苹果,如果看到有梨就买两个苹果。”

————————————————————

2、程序员看问题比一般人透彻。
这是职业特性导致的,因为电脑编程的严谨性,因此程序员面对一个问题、一个需要实现的目标或者一个bug时,他会思考更底层的问题,并且会习惯性采用归纳法来尽量避免以后可能遇到同样的问题。
比如用输入法输入中文的词句,有的时候打出了一串拼音,然后按下数字2选取发现不是自己想要的词,然后发觉数字1对应的才是自己想要的,删掉,重新输入拼音,这次按下数字1的瞬间却发现两个词的位置调换了,于是又删掉重新键入,这次认真地看了看,终于选对了想要的词的序号。
这个时候你会说,啊,我下次应该更小心一点,不要马虎大意想当然,看清楚了再点。
程序员不这么想,他会想,导致这个问题的看来是输入法的“词语顺序自动调整”功能,他会自动监测使用者输入的各种词语的频率,来自动调整词语的顺序,底层代码实现的逻辑很简单,每个不同的词对应一个从输入法安装到现在的输入次数的计数器,直接按计数器排列顺序就好了;也有的输入法会监测你输入后是否会将其删掉,那么这时候会被智能识别为打错字,计数器不会加一。
然后再一思考,这种功能一般都是可以开关的,如果我想要靠记忆记住顺序使用而不用输入法自动调整的话,比如对汉字输入的速度有一定要求需要考记忆记住汉字序号,我只需要进入输入法设置将其关掉即可;如果我想要它帮助我调整词句位置,但是又不需要频繁地调整,那么在我有工作需要的时候我会提前关掉,平时开启即可;而如果我想单纯依赖这一功能,那就不用管它,下次看清楚再选就好了。

㈤ 程序员的逻辑思维可以从哪些方面学习呢

细心感知,多思考,学习逻辑框架

编程思维说白了就是高效解决问题,问题从哪儿来?来自我们细心观察和感知。解决方法哪儿找?来自我们的思考。大多数人在感到有问题时,只是简单的表达一下感受,然后就没有了...

意识到问题后,我们要多感知自己的感受,对于不便的地方当作问题记下来,这样就能发现更多的问题。接下来就要思考:如果是我来解决这个问题的话,都有哪些解决方法?不用管是否实际可行,多思考就好。

多去技术网站学习,学习一门编程语言(任意一门)

技术网站推荐:国外:Github、StackOverFlow 国内:infoq、CSDN、博客园、51cto、思否、云加社区、掘金,学习一门编程语言即可与能力无限的计算机对话,站在另一广阔的空间去看待问题。即使不从事编程工作,但编程基础语言中的 "if ... else ... then" 、选择、循环、继承、面向对象等 底层逻辑思想,也能更强锻炼你的逻辑思维能力,为未来蓄力!

㈥ 我是干了八个月的程序员,干了十几年的同事给我说我脑子不灵活,思维严谨,我是不是该转换一下做事思路

既然他这么说,而且他有十多年的工作经验,那肯定只看出了你工作上的一些弊端,那你可以虚心的请教他,你也应该转换一下工作思路,因为程序员这工作比较枯燥,但是也不能太死板。能尽量写短一些的代码就完成工作比绕个大圈写一堆代码完成工作要好得多呀,效率也高。

阅读全文

与如何看懂程序员思考相关的资料

热点内容
ug应用程序在哪个文件夹里 浏览:479
造价咨询公司入库信息指的什么 浏览:918
带货数据有多少水分 浏览:404
如何代理借贷官司 浏览:971
如何保存微信的数据 浏览:916
北京哪里有花卉批发市场 浏览:112
红李子市场价多少 浏览:327
如何建立信息流广告监测 浏览:144
小程序过审注意什么 浏览:235
贴春联需要什么程序 浏览:762
学打蓝球的技术要多少钱 浏览:795
菜市场适合带什么话题 浏览:106
怎么增强信息 浏览:656
久恩产品是什么 浏览:817
ts项目怎么设置代理 浏览:103
什么是代理发展 浏览:460
cmd怎么捞取不同名称的数据 浏览:238
冲剂产品怎么包装 浏览:505
网络设备处理数据的延时称为什么 浏览:438
程序员做页面呈现前途如何 浏览:128