我一点也不觉得阅读类似Scott Hanselman的《Ultimate Developer Tool list》鼓舞人心。相反,它令人疲劳。软件世界前进的改革步伐是无情的。我们的周围充斥着各种所谓闪亮和新的东西,其概念本身开始瓦解,一遍一遍又一遍地重复这些陈词滥调,直到它们成为无意义的名词。“闪亮”和“新颖”最终成为平凡,甚至是司空见惯。于是,新颖不再唯一,闪亮也不再有趣。最终,你会厌倦于无休止地追逐闪亮的新事物。
并不只有我这样认为。Jeremy Zawodny也注意到正在减少光泽的闪亮新事物:
在一年前,我退订了Steve的博客,因为他习惯于写那些令人窒息的时尚玩意儿,喜欢写最新最闪亮的东西——常常一天几次。我看到过太多的人,只是为了跟上这种拍马莫及的炒作速度,而忘记去考虑这些闪亮的最新事物是否真的能对实现宏伟蓝图有所帮助。
Dave Slusher表示同意:
[Robert Scoble]说过,大家发给他的电子邮件太多了,而这些都是无效的公共关系。他建议我们将消息写在他的Facebook墙上。那个时候我已经关注了Scoble的Facebook,所以我肯定这样的话他说过多次。能Twitter,不要email。能Jaiku,不要Twitter。留言,发信息,打电话,发邮件,再到不要发邮件,不要打电话。够了!我没有试过与他取得联系,我只是觉得这只一贯的喜鹊,从这个平台讲到那个平台,讲的都是垃圾,让我觉得厌烦不已。一年多前我之所以放弃TechCrunch,也是因为相同的感觉。我已经厌倦于那些所谓的另辟蹊径——略为不同于当前的做事方式,以及不认可这种微小的改变值得我们颠覆性地抛弃一切来拥有。我正式宣布放弃追逐更新、更闪亮的事物。
这不仅仅是因为科技新闻是无穷无尽的。也是软件宗教战争潮涨潮落的必然,但是这场战争不断地让我们失望,就像偏离正路的岩石跑到了一条快速流淌的溪流。我敢打赌,David Megginson概括的这个过程听上去非常熟悉:
- 1.精英(大师级)开发人员发现有太多平庸的人正在使用其当前的编程语言,于是开始寻找一些能够更好地将他们区别于那些庸庸碌碌同事的编程语言。
- 2.精英开发人员不愿走寻常路,于是想要寻找新的、鲜为人知、使用者甚少的语言。
- 3.精英的开发人员推动了新语言的发展,他们贡献了代码,编写了多种库等,然后传播新语言。亚精英(高级)开发人员跟随精英开发人员的脚步,也来学习新语言,开辟了书籍、培训等的市场,同时也加速了语言的开发和测试。
- 4.亚精英开发人员,往往拥有巨大的影响力(因为精英开发人员往往是孤胆英雄,趋向于独立地工作于研究项目,而不是窝在生产开发团队里),他们会推动新语言在工作场所的发展。
- 5.注重定期学习的庞大的开发人员群体然后认为,他们必须购买书籍、参加课程以便于学习一门新的语言。
- 6.于是回到开头,精英开发人员发现有太多平庸的人正在使用其当前的编程语言,于是开始寻找其他能够更好地将他们区别于那些庸庸碌碌同事的编程语言。
现在,请你坐好,因为接下来我要告诉你一些坏消息。你对Ruby on Rails感兴趣?那是去年的风向标,我们现在已经朝别的方向行进了。
如果你认为,从统计的角度来说,绝大多数的码农还没有体验过任何形式的动态语言——更不用说Ruby——那就太荒谬可笑了。一些动态语言功能已经渗透到了Java和.NET的堡垒,并逐渐取得了不同程度的成功。这些所谓的思想领袖会在任何人有机会到达之前,离开这座虚拟的废弃城镇。
我之所以成为一名码农,是因为我爱电脑,要热爱电脑,你必须热衷于改变。我正是如此。但我认为喜鹊开发人员有时改变自己的手艺反而是一种损害。Andy Hunt和Dave Thomas的看法是,Pragmatic Programmers(实用型码农)是Ruby中最后一波改变的重要组成部分,这在一份2004年的IEEE column中说得非常详细(pdf)。
用户不关心你使用的是J2EE,COBOL,还是其他。他们只希望你能提供他们想要的功能。所以,你需要帮助他们发现他们真正需要的是什么,然后一起想象系统是什么样的。
与其得意忘形或盲目地去。追逐技术的前沿,还不如专注于[用COBOL]为自己或客户建立一个有效的系统。不但易于使用,还易于理解和快速部署。框架使用多种技术的混合:用于建模的技术,用于代码生成的技术,还有一些可重用的组件,等等。我们工作最根本的是务实原则,目的是为了有效完成工作,而不能仅仅是因为新颖或时髦就被迷得神魂颠倒。
当我们试图使用全能型应用程序框架来终结其他所有应用程序框架的时候,我们(作为一个行业)就会一败涂地。
不要觉得不够,如果不能用最闪亮,最新的东西装饰你的窝。只要有效,并且能满足你和你的用户,那么谁会在乎你使用的是什么技术?
新事物是美的,它有着一种犹抱琵琶半遮面的神秘感。不要在不知不觉中让追求新的、闪亮的东西成为你的目标。不要成为喜鹊开发人员。有选择性地追求闪亮和新颖的东西,有助于你成为一个更好的开发人员。

学习C语言的魅力:解锁程序员的潜力随着科技的不断发展,计算机编程已经成为了一个备受关注的领域。在众多编程语言中,C语言一直以来都备受程序员的喜爱。它的简单、高效以及广泛应用的特点,使得学习C语言成为了许多人进入编程领域的第一步。本文将讨论学习C语言的魅力,以及如何通过学习C语言来解锁程序员的潜力。首先,学习C语言的魅力在于其简洁性。相比其他编程语言而言,C语

上周我们做了一次关于《2023PHP创业》的公益直播,很多同学咨询具体有哪些接单平台,下面php中文网整理了22个还算靠谱的平台,以供参考!

本篇文章给大家介绍如何用前端代码实现一个烟花绽放的绚烂效果,其实主要就是用前端三剑客来实现,也就是HTML+CSS+JS,下面一起来看一下,作者会解说相应的代码,希望对需要的朋友有所帮助。

程序员的工作职责:1、负责软件项目的详细设计、编码和内部测试的组织实施;2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系;3、参与需求调研、项目可行性分析、技术可行性分析和需求分析;4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术;5、负责向项目经理及时反馈软件开发中的情况;6、参与软件开发和维护过程中重大技术问题的解决;7、负责相关技术文档的拟订等等。

520将至,年度虐汪大戏他又双叒叕来啦!想看看最理性的代码和最浪漫的告白究竟能碰撞出怎样的火花?下面带你逐一领略最全最完整的告白代码,看看程序员们的浪漫是否能够掳获各位心目中女神的芳心呢?

VSCode历史版本的下载安装 VSCode安装 下载 安装 参考资料 VSCode安装 Windows版本:Windows10 VSCode版本:VScode1.65.0(64位User版本) 本文

终端仿真器允许您模仿标准计算机终端的功能。有了它,您可以执行数据传输并远程访问另一台计算机。当与Windows11等高级操作系统结合使用时,这些工具的创造性可能性是无穷无尽的。但是,有很多第三方终端仿真器可用。因此,很难选择合适的。但是,正如我们对必备的Windows11应用所做的那样,我们选择了您可以使用的最佳终端并提高您的工作效率。我们如何选择最好的Windows11终端模拟器?在选择此列表中的工具之前,我们的专家团队首先测试了它们与Windows11的兼容性。我们还检查了他们

编写简历的关键点:1、基本信息:包括你的名字、联系方式、居住地等;2、教育背景:详细列出接受过的所有高等教育信息,包括学校名称、专业、入学和毕业日期;3、工作经验:详细列出曾经从事过的所有与Java编程相关的工作;4、技能:这部分应突出你的Java编程技能,包括你的Java知识水平等等;5、项目经验:列出你曾经参与过的所有项目;6、个人项目;7、与Java编程相关的证书。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Chinese version
Chinese version, very easy to use

Dreamweaver Mac version
Visual web development tools

WebStorm Mac version
Useful JavaScript development tools

Notepad++7.3.1
Easy-to-use and free code editor

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.
