一直追求技术好吗?

我在大一的时候开始接触了编程,一直到现在,都是个技术的狂热追求者。从最开始的数据结构到现在的设计模式,经常是一连好几天一直在看资料、写代码,疯狂得连做梦也在想着怎么写代码。我同时也是个新技术的追随着,javascript, flex, wpf, wcf, silverlight, ajax, extjs, ruby, groovy, python等等,一大堆,什么都想学。但是,慢慢地发现,无论再怎么的疯狂,这些新技术是永远也学不完的,月月有更新,年年有新品,即使能跟得上技术的潮流,但又能坚持多少年呢?

  平时在做开发的过程中,总是有同事抱怨,这个项目没技术含量,那个项目又技术太落后了。我就问他们,这些项目怎么没技术含量了,怎么落后了?他们的答案叫我啼笑皆非:这个项目的后台没用到Hibernate和Spring,那个项目的页面没用到Ajax或者Flex等等。难道用到这些框架和新技术就是有技术含量了?平时在网上也经常看到ExtJS+NHibernate+Spring.Net=最强组合,我不知道这个最强组合是怎么得来的,也不明白为什么用了这些各种各样的别人写的框架就是有技术含量,我想说的是,恰恰相反,用这些东西的人,根本就是在告诉别人我没料,我不懂编程。如果你技术高,那么你还需要用这些高手写的框架吗?既然你技术高,你干嘛不自己开发一个框架呢,干嘛要屁颠屁颠的跟着这些框架走呢?我们看看Google,看看网易,看看淘宝等等这些大网站,他们是否使用了Hibernate,是否使用了Spring?没有吧。难道你能说这些大的公司没有高手?高手的代码都是自己一行行写出来了,他们要求的是成熟和稳定的产品,而不是那些经常出新版本的框架。

  一个软件,最终的目标是什么?不是炫耀使用了什么什么新框架,而是满足了客户的需求,只有满足客户需要的产品才是好的。软件的质量是很重要的,只有自己一行行地写代码,我们才能知道这些代码都是干什么用的,有没有多余的代码,有什么隐含着不稳定,不安全的因素,有没有实现了需求的功能。软件的质量是很重要的,使用这些框架拼凑起来的软件,代码不够透明化,又如何对产品的质量有保证呢。如果就这样简单地把这几框架丢给了客户,他又怎会放心我们的质量呢?框架像个黑匣子,我们很难清楚地知道它在内部究竟做了些什么工作,有没有做了些额外的事情,会不会泄漏客户的资料,有没有安全隐患,这些都是很难预测的。万一有天出了问题发现是框架的原因,难道你想对客户说,等新版本出来就能解决了?一个软件,连开发者都不清楚的,那么客户又如何信任它的质量,你是要客户信任框架的质量呢还是你的能力?客户花钱买的是软件,而不是框架。这些框架不过是些玩具而已,我们要学习的,是框架的设计思想,而不是怎么使用这些框架。

  框架,让一个程序员变迟顿了,变懒了,变得不会思考了。基础才是最重要的。建议有些基础的读者多看看设计模式,多看看重构,一个好的程序员是一个能写出漂亮的代码的程序员。我们应该要经常的想,我们为什么要这样写代码而不是那样写代码。只要不断地思考,不断地领悟,那么,我们离高手也不远了。

转载于:https://www.cnblogs.com/Ewin/archive/2008/09/16/1291975.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/436078.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【转】04.Dicom 学习笔记-DICOM C-Move 消息服务

引言 前篇介绍了 DICOM C-Get 消息服务,本文结合开源 DICOM 库 fo-dicom 详细介绍一下 C-Move 服务。 C-Move 消息服务 C-Move 服务可以用来获取影像和转存影像,用于一个 DIMSE-service-user 在同等的 DIMSE-service-user 上查询复合 SOP 实例的属性满足…

linux rar命令没找到,Linux没有rar解压命令

使用微软系统的同学都知道rar解压缩软件,它是一个商业的收费软件,那在免费开源的linux系统怎么解压后缀为rar的文件呢,我相信很多同学都是先把rar的文件下载到电脑本地,然后再用7-zip或者winrar 等等解压缩软件解压再压缩为zip的文…

PID是什么?在做系统的故障排除时如何使用它?

PID Process Identifier, 是一个全局唯一的用来标识进程的整数。在多任务系统中,可用来诊断系统中发生错误的进程。转载于:https://www.cnblogs.com/zhangliang2121/archive/2008/09/17/1292510.html

【转】05.Dicom 学习笔记-DICOM C-Echo 消息服务

引言 经过前面几篇的介绍,DIMSE-C 消息服务这块已经讲解了差不多了,还剩最后一个 C-Echo 消息服务,这个服务相对前面的4个服务来说更简单一些,本文结合开源 DICOM 库 fo-dicom 详细介绍一下 C-Echo 服务。 C-Echo 消息服务 首先来…

查看linux不显示ip,linux系统查看IP地址,不显示IP地址或者只显示127.0.0.1

LUA学习笔记三·时间等操作系统库1.构造时间 2.时间制定格式输出 3.计时器(闭包)os.difftime (t2, t1) 返回以秒计算的时刻 t1 到 t2 的差值. (这里的时刻是由 os.time 返回的值). 在 POS ...String定义与方法//5种构造方法 public void Con(){ Strin…

哪些设计模式最值得学习

最近又在首页看到几篇设计模式相关的学习随笔。回想起来,这几年在园子里发布的有关设计模式的随笔都有一个共同的特点。那就是Factory和Singleton居多,如果是系列的,也往往是从这两个模式开始的。由于能够坚持把《设计模式》中所有模式都写完…

【转】000.DICOM:DICOM标准学习路线图(初稿)!!!!!!!!!!!!

转自:https://zssure.blog.csdn.net/article/details/49231303 题记: DICOM医学图像处理专栏撰写已有两个年头,积累了近百篇文章。 起初 只是用于记录自己科研、工作中遇到的疑难问题,专注于图像处理(主要是医学图像…

linux mysql关闭启动不了了,linux启动或关闭mysql失败的解决办法

linux启动或关闭mysql时提示:Warning: World-writable config file /etc/my.cnf is ignored.什么鬼? 意思是: 警告:全世界都能写的一个配置文件已经被我给忽略了。什么要忽略?因为mysql觉得他太low了,不安全…

对比 SQL Server 2005 和 Oracle

在 Microsoft Windows Server 上运行的 SQL Server 2005,为企业级关系数据库和分析解决方案提供了一个平台,在安全、可用性、与 Visual Studio 的整合度,从小企业到大企业的可扩展性以及低费用方面胜过了Oracle 10g。探索下列信息以发现在 这…

C++设计模式之四 模板模式

《TemplateMethod1.h》 #include <iostream> #include <string> using namespace std;class A{public:A(){};virtual ~A(){};void Method();protected:virtual void b() 0;virtual void c() 0;};class B: public A{public:B(){};virtual ~B(){};protected:voi…

【转】pacs定位线_C#开发PACS医学影像处理系统(十五):Dicom影像交叉定位线算法

转自&#xff1a;https://www.cnblogs.com/Uncle-Joker/p/13686618.html 1.定位线概念&#xff1a;某个方位的影像在另一个方向的影像上的投影相交线&#xff0c;例如横断面(从头到脚的方向)在矢状面(从左手到右手)上的影像投影面交线。 举个例子&#xff1a;右边的是MR(核磁共…

C++设计模式之 简单工厂模式讲解(历史上最简单明白的例子)

工作之余&#xff0c;在看资料过程中发现一个极易理解的简单工厂模式的例子&#xff0c;自己亲自试练一番,感觉对这个设计模式不熟悉的朋友&#xff0c; 一看马上就知道是什么回事了。 简单工厂模式根据提供给它的数据&#xff0c;返回几个可能类中的一个类的实例。通常它返的…

关于html和javascript在浏览器中的加载顺序问题的讨论(zz)

前一阵子横扫了javascript&#xff0c;当时自我感觉良好。现在一想&#xff0c;又觉得没什么。今天的任务是把asp.net ajax中客户端页面生命周期那一章研究完。然而&#xff0c;因为这一章的内容使我产生了一些迷惑。这些疑惑在书中都没有只字提及。 一、html页面的详细加载过程…

linux中sybase删除数据库,Linux_Sybase ASE数据库的常见问题解答,1 数据库占用磁盘空间的形式 - phpStudy...

Sybase ASE数据库的常见问题解答1 数据库占用磁盘空间的形式是什么&#xff1f;Master数据库的作用是什么&#xff1f;如果master失败后果如何&#xff1f;设备文件. 存储系统表, 系统将无法使用, 除非重建master库2 段的实质是什么&#xff1f;已被SYBASE中对象使用的段可否被…

【转】.NET Core 可移植类库PCL Portable Class Library详解

转自&#xff1a;https://www.kaifaxueyuan.com/server/dotnet-core/dotnet-core-portable-class-library.html 在这一章中&#xff0c;我们将讨论什么是PCL (可移植类库)&#xff0c;以及为什么我们需要PCL。为了理解这个概念&#xff0c;让我们打开上一章创建的类库项目文件夹…

sql表的所有者

今天建立了一个表&#xff0c;名为tmp_pactrebate,默认的所有者为dbo,如果想改成所有者是自己的名字&#xff0c;例如&#xff1a;wcj 在查询分析器中执行这句话即可 EXEC sp_changeobjectowner dbo.tmp_pactrebate, wcj 改后的表名为:wcj.tmp_pactrebate select * from wcj.tm…

loadrunner linux 端口,Linux下loadrunner generator的安装

Loadrunner linux generator version&#xff1a;9.5Step1&#xff1a;建立一个普通用户loadrunner&#xff0c;目录&#xff1a;/home/loadrunner&#xff0c;将安装文件考到/home/loadrunner下面&#xff0c;但是需要使用root用户安装&#xff0c;./installer.sh –consoleSt…

设计模式C++实现(4)——原型模式、模板方法模式

软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性&#xff1a;封装、继承、多态&#xff0c;真正领悟设计模式的精髓是可能一个漫长的过程&#xff0c;需要大量实践经验的积累。最近看设计模式的书&#xff0…

【转】医疗业务学习笔记--DICOM协议的基础内容!!!!!!!!!!

转自&#xff1a;医疗业务学习笔记--DICOM协议的基础内容 - 知乎 本文首发于“雨夜随笔”公众号&#xff0c;欢迎关注。 DICOM协议是医疗领域对如何处理、存储、打印和传输医疗图片的一系列标准。DICOM是 Digital Imaging and Communications in Medicine 的缩写&#xff0c;…

linux去掉u盘写保护,最全面win10系统下u盘写保护怎么去掉

U盘写保护就是只能读取U盘中的内容&#xff0c;但是却不能修改或者将其它文件保存在U盘&#xff0c;有时候U盘写保护妨碍我们使用&#xff0c;有些朋友想要将其接除&#xff0c;对此&#xff0c;我给大家整理了win10移除写保护的方法&#xff0c;希望能帮助到你U盘是通过USB接口…