`
歆渊
  • 浏览: 307804 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论
文章列表
英文原文 http://diveintomark.org/archives/2004/08/16/specs 大多数开发者是本蛋(morons),剩下的全是昆蛋(assholes)。我(Mark Pilgrim)不时的发现自己本人流于两个集团之一,所以不惭认定以下事实。 昆蛋 昆蛋精心阅读各种规范,寻找纰漏,疏忽,甚至仅仅是错别字。他们会写出严格符合规范,但是根本没用的代码。如果有人碰巧指出他写了没用的软件,他就可以自鸣得意了,然后在博客上作无辜状哭诉,指出规范中清楚证明他的极端破败软件如何如何技术性正确的条文。 有些昆蛋会写测试用例。碰到这样的人,在规范编写过程中是有好处的,因为有时 ...
对于一种事情(工作),熟而生巧,精益求精,逐步提升的层次: (1)得到机会去做 (2)有多多少少失误,得到容忍和提升建议 (3)偶尔获得指导情况下可以完成;收集或者记录下别人的技巧 (4)可以完全独立完成;总结出自己的一些技巧 (5)可以解决别人遇到的困难,指导别人完成,但觉得不如亲自做轻松 (6)乐于将自己的技巧传授于他人 (7)觉得所有的技巧都不够完善,不如具体问题具体分析-无招胜有招 (8)建立自己的系统化方法体系 (9)追求终极根本的简单原理-终其一生
我原来也很赞成”代码既文档“的想法,认为有很大的可行性,只是没有发展出相应的流程和工具机制,才没有成功。 最近的一些思索让我发现这方面还没有那么简单,主要是在抽象级别方面。代码描述的是系统的内部实现构造,而文档描述的是系统的外在表现。 即使是加在代码上的结构化的注释,主要表达的也是系统是如何实现的,它可以说明一段代码,一个方法,一个类,甚至一个组件是做什么的,但这些依然不是系统最终用户所能直接理解和受益的资料。 对于软件工程来说,文档的作用是告诉不了解实现技术的人(如最终用户),系统是做什么的;或者告诉了解实现技术,但没有时间和必要性去深入细节的人(如实施人员),系统的实现思路。 系统的 ...
关于为什么软件一定是越做越复杂,成本越来越高,越做越枯燥,冥想了很久,基本有个结论,就是计算机看待世界,解决问题的思维(运行)方式和人脑的思维方式存在本质区别。唯有把两者统一联合起来,才能真正解决。但是目前的趋势又总是让计算机贴近人的思维方式和工作习惯,因为毕竟专业搞计算机的如果不为最终用户开发软件就吃不了饭,而最终用户更不是靠计算机吃饭的,所以这个产业链的营养供给还是来自于人在其他行业的营收,让计算机用户去按照计算机方便的方式去工作就是妄想。而像目前这样,让计算机去按照最终用户的方便去工作,总是有实现不了的地方,和华丽包装之下的重重陷阱。 偶尔了解到逻辑语(Lojban)这个东西,大概看下来 ...
最近我也是在涉及并发Java方面的东西, 说说我的心得. 确实到了并发盛行的时期了, 我觉得最重要的原因还是多核处理器及其硬件体系的日趋成熟, 并且成本摊薄到大众价格了. j.u.c 包主要是为了性能来的, 其设计其实不如Java传统 ...
我感觉受 主流/传统的 Object Orientation 对 领域模型设计 的影响, 以及 SQL 对 关系模型设计 的影响, 目前领域模型基本都设计为 "网络模型" 也就是更倾向于 传统的数据结构. 举个例子, 比如要描述一颗螺丝 s1 和一颗螺母 c1, 以及把它们拧在一起的关系. 如果按照网络模型(传统数据结构)的思路, 那么就必须同时有一个把螺丝拧进螺母(s1.cap = c1)和一个把螺母拧上螺丝的动作(c1.screw = s1), 显然这跟现实世界的逻辑思维是有差别的. 反过来如果按照关系模型的思路, 只要一个建立拧接关系的动作 (new Scre ...
HBI - Hosting Based Interfacing What is (not) HBI? 引用HBI is about interoperability among distributed applications (software components), built with same or different technologies. As the name implies, HBI is an architecture that software components communicate with each others by hosting the exe ...
一点相关进展: Sun Releases JCK to OpenJDK and its Derivatives: http://www.infoq.com/news/2007/08/openjdk-jck Apache你就去打造你的 Harmony 牌子不就完了么, 非看上人家的 Java 牌子, 还要求不受限制的使用, 有点觊觎的感觉.
http://www.brightcove.com/title.jsp?title=704328501 科幻里的东西已经开始进入现实了 :O
偶然看到Wiki百科的 Lua 词条, 注意到它的这个特性: 引用Lua allows ...; and full lexical scoping allows fine-grained information hiding to enforce the principle of least privilege. 不过比较遗憾的是, 通过这里链接过去的 http://en.wikipedia.org/wiki/Principle_of_least ...
BSD License, 需要 JDK 6.0 或者 JRE 6.0 + OpenJDK Javac 运行. 附件为代码包 (请到 http://sjsh.dev.java.net 下载最新代码包, 此处附件以后不再更新) 参照代码包中 demo/src 目录下的示例, 就可以很简单的写成包装自己应用对象的 SSH Server 了 启动演示 SSH Shell Server 引用 D:\workspace\SecureJSH>ant demo Buildfile: build.xml build: compile-demo: run-java-demo:      [java ...
http://www.webofweb.net 新 Logo, 新页面. 大家去看看.
The Object-Relation-Kin Model Toward Relational Analysis and Design in General Object Oriented Languages Abstract: The relational model is in use by many database systems. Object oriented technology is also widely used in database application development. But “object-relational impedance mismatch” w ...
Object-Relational Mapping The Fake Speak of Relational Model In Your Favorite OO Languages Abstract: What is today's Object-Relational Mapping REALLY doing? The answer will be given by this paper is: Mapping the Network Model and SQL interface. In this paper, we shall see why and how this is the tru ...
作为Java开发者, 学习了5以后带来的泛型语法之后, 不知道你有没有注意到一个特殊的地方: Class<?> java.lang.Object.getClass(); 虽然它的签名返回值为 Class<?> , 但是它的规范文档却给出了这样的说明: 引用 Returns ... The actual result type is Class<? extends |X|> where |X| is the erasure of the static type of the expression on which getClass is called ...
Global site tag (gtag.js) - Google Analytics