框架会使程序员变笨吗?

标签: 框架 程序员 | 发表时间:2011-09-06 22:04 | 作者:(author unknown) Ken
出处:http://simple-is-better.com/

# 本文是从 Are frameworks making developers dumb? 这篇文章翻译而来。

上周,我做了几次面试,要招几名有5年工作经验的高级Java开发人员。但当面试结束后,我感觉到,各种框架(frameworks)使开发变得容易,但同时,也使程序员变笨。

每个人都会在他们的简历中罗列出几乎所有的新框架,他们能“熟练的使用Spring,Hibernate,Web Services等”。

下面是面试的过程。

我: 你在你最近的项目中使用了Spring。使用Spring有什么好处?

应试者: 我们使用XML配置出bean信息,Spring能够帮我们实例化这些bean,供我们使用。

我:如果Spring只是用来创建对象,那我们干嘛要用它?我们可以直接使用“new”来实例化各种依赖关系。为什么我们还要在XML里配置类的名字、要从Spring里取对象?

应试者:如果改天我们又需要对接口做另外一种实现,我们开发出实现后,更改一下XML配置,就能使用我们的新实现了。我们不需要去修改Java类和重新编译它们。

我:可是既然你写出了新的Java类,你必然要重新编译你的项目。

至于XML里的变化,99%的时间里你的XML都是打包在 war 或 ear 文件里的。

所以,你只需要运行一下ant脚本,把你所有的变更都包在war文件里就行了。你的“如果使用XML就不需要编译”的观点是站不住脚的。

应试者:唔,但依赖注入的设计模式建议采用这种做法。

我:好吧。我们就先聊到这。人力资源部会给你打电话的。 :)

面试另外一个家伙:

我:你能描述一下你最近开发的项目、以及使用到的技术吗?

应试者: 那是个XYZ系统,我们使用了Spring,Hibernate,REST WebServices。

我:那好。你能解释一下RESTful吗?

应试者:我们使用@RequestMapping(value=”/url”, method=”POST”)来开发RESTful应用。我们还使用了PUT,DELETE方法。

我:哦,那RESTful个什么概念?

应试者: 我不是说了吗,如果你使用 @RequestMapping(value=”/url”, method=”POST”),你就是在开发RESTful应用。

我:哦,你对Hibernate如何?

应试者:我这两年一直在使用Hibernate。我对Hibernate很熟悉。

我:跟JDBC比起来,Hibernate有什么优势?

应试者:使用Hibernate,我们不需要写任何跟数据库交互的东西,Hibernate会帮我们处理这些。

我:那Hibernate怎么能知道你的项目需要如何的存取?

应试者:如果我们使用了Hibernate,它会帮我们完成存储,更新,取数据等数据库操作。

我:哦,哦。你在业余时间会读一些技术相关的博客吗?

应试者:当然,我对Hibernate的深入掌握就是这样学会的。

我:非常好,很高兴见到你。我们的人力资源部会给你打电话的。 :)

面试过程就这样 …

我绝对相信各种框架会提高程序员的工作效率。但程序员也应该努力去了解这些框架是如何工作的。你并不需要理解各种框架的所有内部工作原理。如果你非常的擅长Servlets和JSP,那你就很容易理解诸如Struts,Spring MVC等Java Web框架。如果你不了解这些基础知识,很显然,所有你的回答只能是“框架/标记/XML帮我们做了这些”。

我强烈建议所有刚开始职业生涯的Java程序员都要认真学习Java核心,Servlets,JSP知识。只有这样你才能正确的理解各种框架的工作原理。

# 来源:外刊IT评论


在微博上关注: 新浪, 腾讯   投稿

最新招聘

更多>>

相关 [框架 程序员] 推荐:

框架会使程序员变笨吗?

- Ken - python.cn(jobs, news)
# 本文是从 Are frameworks making developers dumb? 这篇文章翻译而来. 上周,我做了几次面试,要招几名有5年工作经验的高级Java开发人员. 但当面试结束后,我感觉到,各种框架(frameworks)使开发变得容易,但同时,也使程序员变笨. 每个人都会在他们的简历中罗列出几乎所有的新框架,他们能“熟练的使用Spring,Hibernate,Web Services等”.

【外刊IT评论网】框架会使程序员变笨吗?

- 风子 - 外刊IT评论网
本文是从 Are frameworks making developers dumb. 上周,我做了几次面试,要招几名有5年工作经验的高级Java开发人员. 但当面试结束后,我感觉到,各种框架(frameworks)使开发变得容易,但同时,也使程序员变笨. 每个人都会在他们的简历中罗列出几乎所有的新框架,他们能“熟练的使用Spring,Hibernate,Web Services等”.

60多年前,一群小白程序员扒了一个俄罗斯的开源框架

- TheLover_Z - FeedzShare
来自: 天空极速 - FeedzShare  . 发布时间:2011年09月21日,  已有 4 人推荐. 60多年前,一群小白程序员扒了一个俄罗斯的开源框架,写了几行漏洞百出的代码,产品上线运营了,30年后新的CTO实在看不下去了,重构了部分代码,但框架依旧是旧的,又过了30年新代码和就框架严重不兼容,产品濒临崩溃,用户流失严重,.

老司机程序员用到的各种优秀资料、神器及框架整理

- - 神刀安全网
成为一名专业程序员的道路上,需要坚持练习、学习与积累,技术方面既要有一定的广度,更要有自己的深度. 笔者作为一位tool mad,将工作以来用到的各种优秀资料、神器及框架整理在此,毕竟好记性不如烂键盘,此项目可以作为自己的不时之需. 本人喜欢折腾,记录的东西也比较杂,各方面都会有一些,内容按重要等级排序,大家各取所需.

一个成功的程序员,自然要懂微服务,汇总微服务架构的15钟框架!

- - 掘金后端
这几年来,微服务这个概念越来越火了,火到什么程度呢. 2019年有一个统计说,两千家企业里,45%在使用微服务,16%在实验开发和测试微服务架构,24%在学习微服务准备转型,只有剩下的15%的企业没有使用微服务. 微服务在2013年才被提出,短短几年就有这么快速的发展. 微服务架构能够实现由小型自主服务组成一个整体应用,各个组成部分之间是松耦合的,复杂性低,各个部分可以独立部署,修复bug或者引入新特性更容易,能够独立扩展,不同技术栈之间可以使用不同框架、不同版本库甚至不同的操作系统平台.

普通程序员、文艺程序员、2B程序员

- 可可 - 宇宙的心弦
希望能引起广大苦逼的正在学或者已经学过c++人的共鸣和会心一笑吧. 如何辨别自己在现实还是虚拟世界.

如何面试程序员?

- bluesnail - 阮一峰的网络日志
你要面试一个程序员,应该问他什么问题. 有人在Hacker News的讨论区里,请求指点,怎么才能在面试中发现合格的人. 众人纷纷出主意,有很多高质量的回帖,我觉得挺有启发,就整理出了下面这篇文章. 首先,最重要的是,你自己一开始就应该想清楚:. 哪些途径和方法可以发现这样的人. 只有明确这些根本性的问题,才能正确高效地完成面试.

程序员的本质

- Allen - 译言-电脑/网络/数码科技
来源What do programmers really do?.   很多人(包括我岳母)认为计算机变得如此智能,所以在不久的未来将不再需要程序员. 另外一些人认为程序员是天才,他们在电脑前能不断地解决复杂的数学难题. 甚至不少程序员对他们是做什么的都没有清晰的概念.   在这篇文章中,我想给不知情的人解释一下程序员到底是做什么的:.