我为什么喜欢编程?

个周末,我在家核对More Joel on Software的最后定稿。

此书已经在申请书号了,一拿到书号,就可以印刷和销售了。所以,不出意外的话,年底之前就能上架。

在复核的过程中,我又读到了书中让我最有共鸣的一段话:Joel谈为什么公正对程序员很重要。

我不知道别人的情况,我自己喜欢编程,很大的原因就是觉得程序的世界更公平公正,谁对谁错,只要运行一下代码就知道了。这同现实世界截然不同,在现实的世界中,只要你有权有钱,善于搞人际关系和钻制度的空子,你就能把错的说成对的,把黑的说成白的。老老实实、埋头苦干的人,眼睁睁看着乾坤颠倒、小人得志,而只能束手无策、一筹莫展。

我们生活的这个国家,是一个禁止自由思考、党决定一切的国家。在这里,如果你想不撒谎、不干坏事、并且被公正地对待,那么可能你只能去编程了。

==================

不搞政治

作者:Joel Spolsky

译者:阮一峰

老实说,只要有两个以上的人待在一起,就会有政治。这很自然。我说"不搞政治"的真正的意思是"不搞恶性的政治"。程序员早就练出了对公正有非常良好的判断力。代码要么能运行,要么不能。坐在那里争论代码是否有问题,这是毫无意义的,因为你可以运行代码,答案自然就有了。代码的世界是非常公正的,也是非常严格有序的。许许多多的人选择编程,首要的原因就是,他们宁愿将自己的时间花在一个公平有序的地方,一个严格的能者上庸者下的地方,一个只要你是对的就能赢得任何争论的地方。

如果你要吸引程序员,你就必须去创造出这样一个环境。当一个程序员抱怨"人际关系复杂"时,他们的意思明白无误,就是指任何个人因素超过技术因素的环境。程序员在完成手头任务时,不被允许使用最合适的编程语言,而是被命令只能使用另一种特定的语言,原因仅仅是老板喜欢这种语言;没有什么比这更让人气愤了。晋升的原因不是成果,而是人际关系;没有什么比这更让人抓狂的了。程序员被迫去做技术上落后的东西,仅仅因为上级或者得到上级支持的人坚持这样;没有什么比这更让人发火了。

没有什么比因为技术原因赢得一场由于政治原因本来要输掉的争论更让人心满意足了。当我在微软公司刚开始工作的时候,有一个正在开发中的大型项目走入了歧途,项目的代号是MacroMan,目标是创造一种图形化的宏语言。真正的程序员遇到这种语言会很有挫折感,因为图形的特性让你真地没有办法完成循环和条件判断功能。此外,对于那些非程序员的用户,这种语言也不会有很大作用,因为我觉得那些用户不会习惯算法思维,没有办法很快地理解MacroMan。当我说出对MacroMan的负面评价时,我的老板告诉我:"如果火车要出轨,没有东西能够阻挡。算了吧。"但是,我还是不放弃,一再地不断地争论。那时我刚走出学校,在微软公司中差不多跟谁都没有利害关系,所以,渐渐地,人们开始倾听我的核心观点,MacroMan后来终止开发了。我是谁并不重要,重要的是我是对的。非政治性的组织就应该这样,这种组织才会让程序员感到高兴。

总的来说,关注你的组织的社交动态变化,对创造一个健康的、令人愉悦的工作环境是很关键的,这样可以留住程序员和吸引程序员。

(完)



     故事结束了,也顺便谈谈自己对编程的理解。接触电脑的时间并不早,家里穷,高中也只有每两周一次的上机课才有机会接触电脑,周边也是大人们的警告,不要去网吧,搞得里边就是游戏横行,污浊难堪似得!可是仅仅在上机课的那么短的时间,我竟然喜欢上了这个大大的家伙,为第一次摁下开机键,见证了表象的奇迹,可是那时不懂那一切是为了什么的,乃至现在,我也只能说半懂而已。对我来讲,编程的意义莫过于此了,新的知识,新的环境,我享受这种见证新事物的感受,想明白背后的原理。就因为这,我喜欢电脑了,或许,所谓的喜欢已经超越了各个部件的性能梗概,而是如何更好地利用编程语言解决问题!所谓的对与错,都是公平对待的,对的就是对的,错的,不论在哪里运行,都是错的!相比于现实世界,或许,这里才是程序员的天堂,不过,可以肯定的是,对我来讲,坐在电脑旁敲击键盘已经是一种乐趣了。那种感觉,怕是别人体味不到的!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个问题的答案取决于你想做什么类型的工作。对于某些类型的工作,有些编程语言比其他编程语言更适合。例如,如果你想做网站开发,学习 HTML、CSS 和 JavaScript 可能是更好的选择。如果你想做数据分析,学习 Python 或 R 可能会更有用。如果你不确定想做什么,那么学习一种流行的通用编程语言,如 Python 或 Java,可能是个不错的选择。 ### 回答2: 在找工作和学习编程语言时,选择哪一种编程语言是好的取决于个人兴趣、职业方向和行业趋势。 首先来看个人兴趣。程序员需要热爱编程,因此选择自己感兴趣的语言是很重要的。常见的编程语言有Python、Java、C++、JavaScript等,每种语言都有其特点和应用场景。如果你喜欢数据分析和人工智能,Python是一个不错的选择。如果你想从事软件开发,Java常常是需要的编程语言。因此,根据个人兴趣来选择编程语言是很重要的。 其次是职业方向。不同的行业和职业对编程语言有不同的需求。例如,前端开发需要掌握HTML、CSS和JavaScript等语言。如果你想从事移动应用开发,学习Java或者Kotlin会更有帮助。如果你对游戏开发感兴趣,C++可能是一个不错的选择。 最后是行业趋势。技术的发展迅速,某种编程语言在某个时期可能非常热门,但可能在之后的几年内逐渐被取代。因此,了解行业的趋势和动态是选择编程语言的重要因素。例如,人工智能和大数据分析正在兴起,所以学习Python在就业市场上更有竞争力。 总结来说,找工作和学习编程语言时要考虑个人兴趣、职业方向和行业趋势。了解自己的兴趣和目标,同时也要关注行业的发展和市场需求,选择适合自己的编程语言才是最好的选择。 ### 回答3: 找工作学习哪种编程语言好,需要根据个人的职业规划和行业需求来进行选择。以下是一些常见的编程语言供参考: 1. Java:Java是一种广泛应用于企业级开发的编程语言,适合开发大型系统和跨平台应用。Java开发人员在互联网、金融、移动应用等行业有很好的就业前景。 2. Python:Python是一种易学易用的编程语言,广泛应用于数据分析、网站开发、人工智能等领域。Python的就业需求不断增加,尤其在数据科学、人工智能等领域有很好的发展机会。 3. JavaScript:JavaScript主要用于网页开发,是前端开发人员必备的技能之一。随着移动应用和web技术的发展,掌握JavaScript的人才一直都有很好的就业机会。 4. C++:C++是一种广泛应用于系统编程和游戏开发的语言,对内存控制和性能优化有着较高的要求。C++程序员在游戏开发、嵌入式系统、金融等领域有很好的工作机会。 5. Ruby:Ruby是一种简洁易读的编程语言,以Rails框架为代表的Web开发应用广泛。Ruby开发人员在初创公司和Web开发公司有较好的就业机会。 总之,选择学习哪种编程语言要考虑到个人兴趣、行业需求和市场状况。掌握多种编程语言,提高自己的技能广度和深度,对找工作和职业发展都会有积极的影响。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值