码农与程序员

原文

IT界知名段子手,网络红人留几手曾经说:对于那些月薪两万以下,自称程序员的码农们,其实我们从来没有把他们归为我们程序员的队伍。他们虽然总是以程序员自居,只是他们的一厢情愿罢了。

此话一出,不知有多少小猴子默默地捏着工资条躲在厕所里轻轻啜泣。然而,钱的多少并不该成为分辨码农和程序员的分界线,那么码农和程序员之间的区别到底是什么呢?

根据百度百科释义,码农是一个依靠写代码为生的群体,表现在:低收入,工作时间长,这种职位只能强化职业者在单方面的技术领域技能。如果按照从业者们将自己自嘲为码农的表现,那么码农的程序员分级中理应只属于初级程序员,是属于依靠复制粘贴将各类代码链接的IT从业者。

这个群体的数量有多少呢?大学计算机相关专业的同学们、大中专软件专业学习者、毕业不久的程序员、广大编程初级爱好者。这一群体庞大的数量,让码农很难在IT世界中拥有不可替代的价值。

按照小编曾经的java老师的说法,牛逼的程序员能够依靠经验和其逻辑,设计出高效地算法,更好的解决问题。对于真正的程序员(非初级程序员,也即码农)而言,他们不仅是枚资深的码农,还熟悉与客户沟通的技巧,在帮助用户解决问题的时候了解用户的需求,进而迭代产品;他们可以深谙获取用户需求的技巧,也懂得市场分析、技术执行分析、价值分析估算项目的风险;他们能独立完成项目使用文档的能力,甚至都可以独立完成一个项目。他们与纯粹的码农有一个非常显著的差异:码农靠体力为生,真正的程序员不仅体力行,其也靠脑力,靠思维逻辑上的突破、靠团队管理赢得个人魅力。

自动写代码颠覆的是码农 而不是程序员

从区别中,我们不难发现:真正的程序员与码农相比最大的区别就在于:真正的程序员不是完完全全的技术工人,其除却技术高超之外,其思维逻辑上的价值,让其不可替代性比码农强多了。

自动写代码工具,这对于大量的程序员们来说可能是福音,但对于单纯的码农而言,带来的却是毁灭。微软在其发展中,对IT编程领域做出的最大贡献就在于制作了很多便捷的编程开发软件或构建了非常省事省力的开发环境,其中不乏有大名鼎鼎的Visual Studio和SQL server。

以小编在学习C#之时常用的Visual Studio为例,无论你是选择c/c++还是其他的一些编程语言,在Visual Studio的语言库中已经存在某一编程语言的情况下,我们通过输入代码的前几位英文字母,就能快速地检索出我们想要的代码。因此,其实在目前的编程环境中,大量人性化的编程工具都已经初步实现了主流编程语言语法的检索,无论是美国政府的PLINY,还是微软正在利用去年发布的插件Bing开发助理,他们想要做的事情,各大研究机构或许已经研究多时的。

虽然这样的工具要实现准确预测编码人员将输入的代码,检查语法错误与漏洞存在一定的难度,但这样的工具的确有实现的可能,也会给人们更高效率地编程带来很大的帮助。由此一来,备受冲击的便是码农的。

一旦这样的工具真正成型,这些工具会让原本需要多位码农分功能块而执行的代码,由一个码农也可以完成,在这个过程中,原本可能一家企业能够养活5名码农,最后只会有2名码农幸存。由于目前码农们所做的事情与真正的程序员相比,并无太大的技术含量,其被写代码工具颠覆的可能性非常之大。

但在程序员的发展历程中,大家几乎都是从码农走过来的。自动写代码工具会淘汰大量在码农期间无法加强自己学习能力,加强自己不可替代价值的初级程序员,也就是我们所说的码农。因为自动写工具出行的情况会让初级程序员们感受到市场的残酷性,在激烈的竞争中会淘汰很多困难并不适合并不乐意往程序员更高层次发展的人,也会激励初级程序员不断学习,从而提升程序员整体的质量水平。

因此,在自动写代码工具颠覆、淘汰掉一批初级程序员之后,其也会为提升程序员整体的质量做出巨大贡献,对程序员未来的发展有推动作用。学习能力强是高级的程序员或者优秀的人才都具备的因素,而对于用户需求、市场的分析能力;对项目代码的逻辑思维掌握;能够舍弃个人英雄主义,以团队以项目为主;敢于创新敢于思考敢于学习也都是高级程序员们不可替代的一些地方。

科技的发展,往往是能有工具替代人类的体力活,而关于思维思想的工作,暂时或许并未在这些神奇工具颠覆的范畴内。在自动写代码工具面前,无论是码农还是真正的程序员,其实更多地应该是勉励自己不断学习,不断进步,而不应该在末日还没有来临就对自己的未来堪忧。人类是世界上最高级的动物,大脑所具备的思维能力就是其能够成为最高级的关键,在编程领域,或许只要人类肯学习,愿意提升自己的思维能力,形成自己不可替代的价值还是有机会的。自动写代码颠覆的是码农而不是真正的程序员!(这里指学习能力不够强、思维能力不够强的初级程序员)


下载方式:https://pan.quark.cn/s/a4b39357ea24 布线问题(分支限界算法)是计算机科学和电子工程领域中一个广为人知的议题,它主要探讨如何在印刷电路板上定位两个节点间最短的连接路径。 在这一议题中,电路板被构建为一个包含 n×m 个方格的矩阵,每个方格能够被界定为可通行或不可通行,其核心任务是定位从初始点到最终点的最短路径。 分支限界算法是处理布线问题的一种常用策略。 该算法回溯法有相似之处,但存在差异,分支限界法仅需获取满足约束条件的一个最优路径,并按照广度优先或最小成本优先的原则来探索解空间树。 树 T 被构建为子集树或排列树,在探索过程中,每个节点仅被赋予一次成为扩展节点的机会,且会一次性生成其全部子节点。 针对布线问题的解决,队列式分支限界法可以被采用。 从起始位置 a 出发,将其设定为首个扩展节点,并将该扩展节点相邻且可通行的方格加入至活跃节点队列中,将这些方格标记为 1,即从起始方格 a 到这些方格的距离为 1。 随后,从活跃节点队列中提取队首节点作为下一个扩展节点,并将当前扩展节点相邻且未标记的方格标记为 2,随后将这些方格存入活跃节点队列。 这一过程将持续进行,直至算法探测到目标方格 b 或活跃节点队列为空。 在实现上述算法时,必须定义一个类 Position 来表征电路板上方格的位置,其成员 row 和 col 分别指示方格所在的行和列。 在方格位置上,布线能够沿右、下、左、上四个方向展开。 这四个方向的移动分别被记为 0、1、2、3。 下述表格中,offset[i].row 和 offset[i].col(i=0,1,2,3)分别提供了沿这四个方向前进 1 步相对于当前方格的相对位移。 在 Java 编程语言中,可以使用二维数组...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值