阅读更多

11顶
0踩

编程语言

原创新闻 Java菜鸟画像

2008-02-12 21:58 by 见习记者 SpringArt 评论(12) 有6600人浏览
steve yegge是一位编程高手,博客也非常热门,现就职于google,他写了一篇有趣的文章:Java菜鸟画像。描写了java新手的问题,看看你有吗?Steve Yegge的Java菜鸟画像提供了一个有意思的讨论,为什么元数据(meta-data)问题已经渐渐成为很多编程和数据建模方面的最大的问题。

Steve Yegge开始描述了一个初学程序员在努力做正确的事情,往往过分写文档,恨不得每行代码都写文档。下一阶段,当程序员有了两年或者三年经验后,这是一个“小舞台”,因为其中程序员有50%对50%的概率,可能产生一堆废物或一群天才。这产生了一个问题,因为他们可能进入同一个项目组,菜鸟和高手在同一屋檐下,都必须能够让他们互相理解,共同工作!

这个讨论很快转移到元数据,很多被滥用的元数据证明很多java程序员是有罪的。Steve认为,元数据属性比如annotations,被菜鸟打乱了实际代码,让应用变得及其复杂,无法一目了然看清明显的执行代码。

Steve说:我认为到目前为止,最大的原因即今天C + +和Java作为优势的软件工业语言,相对非动态语言的Perl /Python/Ruby,或学术语言Modula-3/SML/Haskell,是因为C + +和Java照顾到安全和不安全的程序员。同样的,你愿意写Java代码或多或少更胜于纯C语言,正如大量经验丰富的程序员所做的,因为Java是面向对象语言。你不需要面向对象的静态类型,面向对象的诞生起始就是动态语言类似smalltalk和Lisp的专长,面向对象的重要部分就是在运行时候加载对象。但是Java被菜鸟们过多的元数据透支,你不能去书店,或者论坛,甚至公司的洗手间,因为到处充斥着菜鸟们的意见,他们对一切建模,建模成瘾!

Steve提出了一些建议:

1。让代码自己说话,不要对一切建模

2。当有疑问是否建模的时候,那么就不要建模,写一个接口,看是否可以从一个模型导出

3。在任何必要的地方,为公用API建模。

就像很多和计算机相关的话题一样,Steve的观点可以总结为一句话:不要滥用你的特长。不要把所有的开发项目都看成是钉子,仅仅因为你使用最熟练的工具是锤子。





11
0
评论 共 12 条 请登录后发表评论
12 楼 tedeyang 2008-02-19 20:34
希望翻译的时候用心点,否则像我一样挑剔的人会给负分。
11 楼 SpringArt 2008-02-19 13:35
to tedeyang,

谢谢你写这么长的回复,翻译方面我只是一个刚开始的“菜鸟”,非常感谢你对我的指正,我会继续努努力。 
10 楼 tedeyang 2008-02-18 01:00
今天才看到后来的评论。
首先抱歉说得重了点,我这人有时候会满嘴跑马。:)

这篇新闻翻译的最大缺点是文辞不通,可能是SpringArt不太了解中英文的语法差异,长句翻译得很差。基本能“信”,但一点也不“达”,更不要说“雅”了。

我看了下steve的原文(后来发现自己看错了link,其实SpringArt翻译的是theserverside.com的新闻,我却以为SpringArt是直接读的blog然后做的摘要,-_-!),不知道SpringArt有没有去看,建议一读。

请允许我从批评者的角度罗列一下翻译的瑕疵:

1,“Java菜鸟画像”==>其实应该就翻译成“菜鸟肖像”。原文:Portrait of a Noob,而steve的原文讨论范围并不是局限于java。增加java字眼就违背了“信”的原则。关于n00b,steve也有风趣的说明:if u dont no wat a n00b iz, u r 1。根据steve的原文来看,SpringArt把n00b翻译成“菜鸟”是很贴切的!

2 “steve yegge是一位编程高手,博客也非常热门,现就职于google,[。]他写了一篇有趣的文章:Java菜鸟画像。[,]描写了java新手的问题,[。]看看你有吗?Steve Yegge的Java菜鸟画像提供了一个有意思的讨论,[:]为什么元数据(meta-data)问题已经渐渐成为很多编程和数据建模方面的最大的问题。 ”

这段文字的标点符号非常糟糕!写在[ ]内的标点是我的建议修改。
另外文字拖沓,这个毛病贯穿整个新闻。

3,“小舞台”==> 应该翻译成 “少年时期”或者“青春期”
steve认为程序员会经历child、teenage、vet这些stage,5-10年的程序员基本属于这个阶段。

4,“Steve Yegge开始描述了一个初学程序员在努力做正确的事情,往往过分写文档,恨不得每行代码都写文档。”原文是“Steve begins by describing how beginning programmers striving to do the right thing tend to over-document every aspect of the program, almost to the line level.”
后半句翻译得非常精彩!不过“Steve Yegge开始描述了一个初学程序员在努力做正确的事情”就有点问题了。我的翻译:“Steve开篇写到:新手程序员为了做对事往往倾向于过度文档化,以至于程序的各个方面乃至每一行都想写注释”

5,“下一阶段,当程序员有了两年或者三年经验后,这是一个“小舞台”,因为其中程序员有50%对50%的概率,可能产生一堆废物或一群天才。这产生了一个问题,因为他们可能进入同一个项目组,菜鸟和高手在同一屋檐下,都必须能够让他们互相理解,共同工作! ”
==>
而当这些程序员有了两三年经验后,他们就进入了下一个阶段:“青春期”。此时,他可能产出一堆垃圾(代码),也可能做出天才性的工作,这个概率是对半开。对一个团队而言就可能会出现问题了,因为需要组织菜鸟与高手一起工作并让他们互相理解(代码)

下面两小节还有不少问题,也有翻译得出彩的地方。太晚了,撑不住,睡觉去...





9 楼 lyxh_2003 2008-02-14 16:18
是啊,学习中
8 楼 ningbe 2008-02-14 09:31
引用
不要滥用你的特长。不要把所有的开发项目都看成是钉子,仅仅因为你使用最熟练的工具是锤子

这句话说的真好!
7 楼 linwenbin 2008-02-13 19:31
是的,是篇好文章
6 楼 johnnyhg 2008-02-13 18:10
引用
这篇新闻证明:超级烂的翻译可以使人不小心吃到苍蝇

有本事你翻译一篇试试
5 楼 sp42 2008-02-13 13:08
凭良心说,翻译这样也不错啦
4 楼 SpringArt 2008-02-13 12:41
多谢tedeyang批评,小生已经尽力了,水平有限,能否请具体指出哪些翻译内容不好,让在下学习,谢谢。
3 楼 tedeyang 2008-02-13 12:28
这篇新闻证明:超级烂的翻译可以使人不小心吃到苍蝇
2 楼 glamey 2008-02-13 10:16
说的真的很透彻。
1 楼 deluna 2008-02-13 09:21
引用
不要把所有的开发项目都看成是钉子,仅仅因为你使用最熟练的工具是锤子。

这句话说得很好

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • java+大数据.pdf

    java+⼤数据 java+⼤数据计划 曾来⾃学长的建议 javaEE项⽬: 1) ⽀付宝内部OA系统 (⼤概15天) 2)阿⾥菜鸟物流项⽬ (20天) 3)淘宝商城 项⽬ (千⽜客户端部分)(实现典型的⼏个模块) (20天) ⼤数据+⼈⼯...

  • Java八股文

    Java后端八股文(CSDN不再同步) 语雀地址 Hello, interviewer. My name is . I graduated from Zhengzhou University of Light Industry, majoring in software engineering and I will graduate next year. I have...

  • 分享Java机会

    负责菜鸟APP服务端或寄件运力或菜鸟新零售末端的支付、营销平台、用户画像等平台的核心开发工作; 2. 深入理解业务,实现业务系统的产品化和平台化,通过技术赋能和驱动业务; 3. 发现和解决存在的性能瓶颈等技术...

  • java计算机毕业设计人才库构建研究源码+系统+mysql数据库+lw文档

    java计算机毕业设计人才库构建研究源码+系统+mysql数据库+lw文档。springboot基于springboot+vue的线上学习系统。springboot基于SpringBoot的实验填报管理系统。JSP基于JAVA的邮件过滤系统的设计与实现sqlserver。...

  • 用户画像简析

    而要做精细化运营,首先要建立本企业的用户画像。 数据源分析 项目所用到的数据源,就是业务系统中收集的数据,保存在MySQL的表中。 主要有以下这些表: 用户信息表(t_member) 用户地址表(t_member_addr

  • JAVA金三银四面试专题讲解

    01开篇词 ## 一、什么是高效的面试? ...## 一、JAVA如何开启线程?怎么保证线程安全? 线程和进程的区别:进程是操作系统进行资源分配的最小单元。线程是操作系统进行任务分配的最小单元,线...

  • java+大数据(1).pdf

    java+⼤数据 ⼤数据 java+⼤数据计划 javaEE项⽬: 1) ⽀付宝内部OA系统 (⼤概15天) 2)阿⾥菜鸟物流项⽬ (20天) 3)淘宝商城 项⽬ (千⽜客户端部分)(实现典型的⼏个模块) (20天) ⼤数据+⼈⼯智能项⽬ 1...

  • 服创大赛-僵尸企业画像及分类(自己的一些心得与感悟)

    还有画像二字,也是很懵逼的,画像,画什么像,画一个僵尸吗。选完题目之后,后面就组队,不得不说我们的团队还是配合的相当的不错,师姐,师兄,师妹,个个都很给力,通过我们的团队合作,可以说是相当的完美了。...

  • Java、Go、Rust大比拼,高并发时代谁能称雄?

    为了深入讨论高并发这个话题,本文还是将目光集中在Java、C、Go和Rust几种主流后端语言,可以说这些语言在面对高并发的场景时都有自己独特的生态位,下面就像大家分享一下笔者的心得。 在正式讨论之前,笔者这里先要...

  • 阿里蚂蚁金服五面,java中间件、数据库与spring框架

    阿里P8级架构师第九篇:千亿流量高并发高可用分布式系统之数据治理篇 阿里P8级架构师第十篇:千亿流量高并发高可用分布式系统之人工智能加成篇 数据融合模块 构建画像模块 召回策略模块 排序模型模块ctr预估 微服务...

  • java+大数据

    java+大数据计划 javaEE项目: 1) 支付宝内部OA系统 (大概15天) 2)阿里菜鸟物流项目 (20天) 3)淘宝商城 项目 (千牛客户端部分)(实现典型的几个模块) (20天) 大数据+人工智能项目 1) ...

  • 2K+超详细文字配上详图带你解析Java虚拟机各大运行时数据区域!!

    说在前面:JVM~JVM,一个强敌,众多Java工程师的噩梦,众多大神们的必修秘籍之一,今天我就要向大神们看齐,希望能捞到一点经验。此文仅代表作者个人观点,在文中不时引入其它参考书籍的资料并引入少部分个人观点,...

  • 用Python分析了5万条相亲网站数据,看相亲男女画像

    一、前言 数据来源:https://www.zhenai.com/zhenghun/ 本文利用 Python 分析了按城市寻找所有地区的征婚信息,看看相亲男女的画像。 二、数据查看和预处理 导入用到的库 import pandas as pd import re 读取...

  • Hadoop从入门到入土(一)------------java知识复习+大数据开发简介

    序列化:将java程序中的对象 写入持久化到 硬盘当中,转变为二进制的数据,这个过程称为序列化,也叫钝化。 反序列化:而将硬盘中二进制的数据 读取到java程序中转化为对象,这个过程称为反序列化,也叫活化。 应用...

  • [社招][杭州]阿里菜鸟 P6 可帮内推,期待你的加入~

    【阿里-Java开发-P6】团队氛围非常nice,come on!!!

  • AOP埋点从入门到放弃

    明白了吧,你的一切行为都在掌控之中,用来生成人物画像什么的。。。一堆乱七八糟的!那么我们程序员要做什么呢?像什么统计时长了,点击了什么按钮了,常去什么页面了等...好吧!剩下的就看你们运营需要什么了,就...

  • mongodb简单运用

    应用场景:日志、 分布式的文件系统(对象存储)、推荐画像、时空数据、消息/订单等。 NoSQL 代表:Cassandra、HBase… 图形(Graph-Oriented)存储 特点:图形数据库允许我们将数据以图的方式储存。 优点:图形相关...

  • 技术分享连接汇总[201712]

    Spring Cloud限流详解(附源码) 免费的编程中文书籍索引 Modern Java Recipes - Ken Kousen WHAT IS DEADLOCK AND HOW TO PREVENT IT? 基于Redis的限流系统的设计

  • 冒着得罪“技术大V”的风险,曝光他的搞钱套路!

    如果你是一个在中型公司工作5年的程序员,那么对于在校计算机专业的大学生、刚入职场的菜鸟程序员,你就有“势能差”,所以这些人就应该是你的读者,而大厂程序员,就不是你的目标受众,他们反而会觉得你的内容很...

  • 【java毕业设计】智慧社区教育服务门户.zip

    有java环境就可以运行起来 ,zip里包含源码+论文+PPT, 系统设计与功能: 文档详细描述了系统的后台管理功能,包括系统管理模块、新闻资讯管理模块、公告管理模块、社区影院管理模块、会员上传下载管理模块以及留言管理模块。 系统管理模块:允许管理员重新设置密码,记录登录日志,确保系统安全。 新闻资讯管理模块:实现新闻资讯的添加、删除、修改,确保主页新闻部分始终显示最新的文章。 公告管理模块:类似于新闻资讯管理,但专注于主页公告的后台管理。 社区影院管理模块:管理所有视频的添加、删除、修改,包括影片名、导演、主演、片长等信息。 会员上传下载管理模块:审核与删除会员上传的文件。 留言管理模块:回复与删除所有留言,确保系统内的留言得到及时处理。 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7及以上 数据库工具:Navicat11及以上 开发软件:eclipse/idea Maven包:Maven3.3及以上

Global site tag (gtag.js) - Google Analytics