yidabu 2007-4-21 11:17
1 关于D程序设计语言
1 关于D程序设计语言知识若不分享 实在没有意义 http://www.d-programming-language-china.org 20070416点击下面网址查看原文:http://bbs.d-programming-language-china.org/thread-465-1.html by: uFramer uframer@sina100.com D语言论坛 http://www.d-programming-language-china.org from: http://www.digitalmars.com/d/intro.html version: 基于D 1.013 (Apr 12, 2007)D语言官方文档的翻译 D语言论坛 http://www.d-programming-language-china.org 考虑了D语言翻译文档的几种表现方式: QUOTE: 普通网页 wiki cvs 论坛 最后觉得最好的方式还是论坛的表现形式。门槛最低,有论坛经验的人就可以发表评论,而版主可以根据评论改进文档的翻译。 部分文档由d-programming-language-china.org翻译,其他文档由d-programming-language-china.org根据网上找到的资料整理,能找到原译者的都已注明,如果有遗漏的,请到D语言论坛 http://www.d-programming-language-china.org 说明,d-programming-language-china.org会补上的. 原来的D语言官方文档基本上译于2004年到2005年间,d-programming-language-china.org开始整理这份文档是2007年4月16日.几年过去了, D语言已经有较大的改进,有原来特性被废弃的,有新增补的特性。如果对照旧的文档来学习最新的语言,会有什么样的感受,阅读到每一段都会不由自主怀疑:这一点是否得到最新的DMD的支持?如果每段都要和最新文档对照起来看,还要译文干什么呢 d-programming-language-china.org完全依照DMD最新版的文档整理的,现在用的是DMD 1.013,火星公司发布于2007年4月12日。 如果有旧译文,把旧译文和最新英文文档逐句对照: 1 最新英文文档没有的旧译文内容直接删除 2 旧译文没有而新文档中有的,在译文中补上 3 旧的例子代码替成新的 4 增补少量缺失译文 5 改正少量typo 也就是说,完全可以从d-programming-language-china.org整理的这份文档入手学习D 1.013。( 本文出处: http://bbs.d-programming-language-china.org/thread-465-1.html ) d-programming-language-china.org没有全文翻译所有英文文档,这是因为英文本身比程序设计更重要。有部分中文翻译可以让我们更快了解D语言,有部分英文文档是我们学习英文的一个机会。 文档的格式,d-programming-language-china.org保存在电脑里是 yidabuTxt文本格式,一种最简洁的文本格式,你可以参考: http://bbs.d-programming-language-china.org/thread-83-1.html 1 给代码加上了code tag,给引用加上了 blockquote tag 2 原英文文档的h1 tag,在yidabuTxt里就是首行顶格 3 原英文文档的h2,在yidabuTxt里就是非首行顶格行 4 原英文文档的h3,在yidabuTxt就是一个tab加阿拉伯数字加半角空格开始行 由于原英文文档的h2和h3有时不太好区分,有可能有出入的。一个解决办法是h1和h2都居中,这样三者绝不会混淆了。 对于文档中涉及到链接的,d-programming-language-china.org尽量直接给出链接地址(比如文末的参考链接),否则以文本方式转贴文章时,原来的链接都可能“失踪”。这是适应网络时代的做法。 考虑到可能的用英文查找和索引,h1,h2,h3三级标题,尽量保留原英文。( 本文出处: http://bbs.d-programming-language-china.org/thread-465-1.html ) 在每篇文档的开头加上译者(整理者),原文网址,适用版本。其中好处,我不说大家也知道。 d-programming-language-china.org给每篇文档加上了数字索引,这样无论在本地电脑里还是网上,都比较好定位。 1-40 为D语言官方手册 41-60 为D语言一般性介绍 d-programming-language-china.org是边学习D边整理这份文档,这是一个极好的学习习惯,学习任何东西都边学习边整理,学习到一定阶段,很自然地给后来者留下了一份比较完整的学习资料。而等学会了再回过头去整理学习资源,无疑是要花双倍的精力,加上十分的耐心。 在d-programming-language-china.org未设计出知识管理体系前,边学习边整理学习资料不太方便。现在,d-programming-language-china.org学习到哪里就整理资料到哪里。得到什么就付出什么,这是yidabu的人生哲学。yidabu认为,任何人都值得专门花几个月时间去设计适合自己的知识管理体系。 多数人是多得少出。这也有道理,阅读非常快,边阅读边整理要花2倍以上的时间,但带来的好处是有助于理清思路,强迫自己积极思考。( 本文出处: http://bbs.d-programming-language-china.org/thread-465-1.html )关于D程序设计语言 在我看来绝大多数“新的”编程语言都可以被分成两类:那些来自学院、拥有激进编程范型的语言,以及那些来自大公司、关注 RAD 和 web 的语言。也许是实现一门经过实践检验的新语言的编译器的时候了。-- Michael "太好了,正是我所要的,又一个 D 语言。" -- Segfault D是系统编程语言,致力于象C和C++那样生成高执行效率的代码,又要具备现代语言Ruby和Python那样的代码生产率。同时又保证质量,文档化,可管理,轻便和灵活。 现在有两个D语言的实现,Digital Mars DMD 的windows32版本和x86 Linux版本, 还有GCC D 编译器用于多平台,包括Windows 和 Mac OS X. 在 dsource.org上有大量D 源代码和项目。 http://digitalmars.com/d/dlinks.html 有大量关于 D wikis,库,工具,文章。 下面是D语言的一个hello world的例子( 本文出处: http://bbs.d-programming-language-china.org/thread-465-1.html ) [Copy to clipboard] [ - ]CODE: #!/usr/bin/dmd -run /* sh style script syntax is supported */ /* Hello World in D To compile: dmd hello.d or to optimize: dmd -O -inline -release hello.d */ import std.stdio; void main(char[][] args) { writefln("Hello World, Reloaded"); // auto type inference and built-in foreach foreach (argc, argv; args) { // Object Oriented Programming CmdLin cl = new CmdLin(argc, argv); // Improved typesafe printf writefln(cl.argnum, cl.suffix, " arg: %s", cl.argv); // Automatic or explicit memory management delete cl; } // Nested structs and classes struct specs { // all members automatically initialized int count, allocated; } // Nested functions can refer to outer // variables like args specs argspecs() { specs* s = new specs; // no need for '->' s.count = args.length; // get length of array with .length s.allocated = typeof(args).sizeof; // built-in native type properties foreach (argv; args) s.allocated += argv.length * typeof(argv[0]).sizeof; return *s; } // built-in string and common string operations writefln("argc = %d, " ~ "allocated = %d", argspecs().count, argspecs().allocated); } class CmdLin { private int _argc; private char[] _argv; public: this(int argc, char[] argv) // constructor { _argc = argc; _argv = argv; } int argnum() { return _argc + 1; } char[] argv() { return _argv; } char[] suffix() { char[] suffix = "th"; switch (_argc) { case 0: suffix = "st"; break; case 1: suffix = "nd"; break; case 2: suffix = "rd"; break; default: break; } return suffix; } } 注意:所有下载并使用 D 或者阅读 D 技术规格的 D 用户都被认为阅读过并明确地同意所有 Digital Mars 投递的邮件或回执中的有关智能财产产权的声明(包括版权或专利通告)。-Walter( lastupdate:20070426 最新文章请访问http://www.d-programming-language-china.org )关于一大步成功社区:yidabu提倡在交流中学习,在分享中提高收集感兴趣的知识,写下心得,通过网络与别人一起分享理解一点就实践一步,收获什么就分享什么,成功就是这样一点点一步步累积起来的网络只是一个工具,只有自己身心提高才是实实在在的。d-programming-language-china.org为大家提供一个学习交流各种知识的平台