Browsed by
标签: C++

.NET代码转换器

.NET代码转换器

想把.NET的代码(C#和VB.NET)互转吗?或是转成Python或Ruby吗?在 http://www.developerfusion.com/ 站点上有这样的在线工具。点击下面的链接你可以使用这些工具。当然,这些工具也有很多BUG

老实说,我并不太清楚这些工具有什么用,看似很useless。难道是为了用来学习新的语言?就像Google的Translator的一样?就像一个并不懂中文的老外可以用Google Translator在其Facebook中整点中文耍耍酷一样,难道说,一个C#的程序员可以用这样的工具和一个Python的程序员也耍耍酷?各位看客觉得这个东西有意义吗?

不过,有一点我可以确定,如果有工具把Unix/Linux下的C源码和Windows下的C源码相互自动转换,估计这会是相当划时代的,因为,这应该会让那些什么Wine或Cygwin之类的东西都统统会成为历史了。不过,这样的东西在实现上又将会有多么大的难度(OS系统API的相互转换),这个事会有可行性吗?

好烂啊有点差凑合看看还不错很精彩 (12 人打了分,平均分: 3.58 )
Loading...
StackOverflow的404错误页

StackOverflow的404错误页

不知道大家有没有注意到StakeOverflow的404错误页面?其显示了下面的这个图片:

这个是一个很有意思的图片,不知道你看懂了吗?看上去像Python,又像 Ruby,还像 Perl,当然也有 C的影子,还有Brainfuck。是的,这是一个杂交程序,杂交了Python,Ruby,Perl,C,还有Brainfuck(注意其中的#号),所有的语句都是输出“404”字符串。

关于这种杂交程序,本站以前也发布过《C语言和sh脚本的杂交代码》,大家可以前往一看。这样的有趣的玩法叫“Polyglot”,也就是说,把N种语言写在一个文件中,然后,该文件在任何编译器下都可以运行,上述的那段代码在Python,Ruby,Perl,Brainfuck下都可以正常运行,也可以被C和的编译器编译通过,并被运行。

下面是这个图片的字符码,以供各位试试。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (16 人打了分,平均分: 4.13 )
Loading...
(麻省理工免费课程)C语言内存管理和C++面向对象编程

(麻省理工免费课程)C语言内存管理和C++面向对象编程

此课程有全部讲义习题

课程描述实在得令人发指。翻译如下:

您是否由于自己的Python程序比同僚们的C程序慢而垂头丧气?你是否想不用JAVA实现面向对象?加入我们,学习C和C++吧!我们带您从简单的C程序入手,深入C语言的内存管理,简介C++里的面向对象,深入C++面向对象的高级功能以及STL。我们还教您一些以后面试用得着的技巧和知识。

原文:

Ever hang your head in shame after your Python program wasn’t as fast as your friend’s C program? Ever wish you could use objects without having to use Java? Join us for this fun introduction to C and C++! We will take you through a tour that will start with writing simple C programs, go deep into the caves of C memory manipulation, resurface with an introduction to using C++ classes, dive deeper into advanced C++ class use and the C++ Standard Template Libraries. We’ll wrap up by teaching you some tricks of the trade that you may need for tech interviews.

麻省理工开放课程里有很多计算机科学的宝贝。不仅有一流的教程,还有习题和答案。适合英语不错的程序员平时充电。

课程地址(英文)

好烂啊有点差凑合看看还不错很精彩 (20 人打了分,平均分: 4.00 )
Loading...
老手是这样教新手编程的

老手是这样教新手编程的

comp.lang.c全球最大的C语言新闻组,其Google的链接是:http://groups.google.com/group/comp.lang.c/ 可惜被GFW了。在comp.lang.c新闻组,有一个日本网友发了个贴子,说他正在学习一个在线的C语言课程,要完成一个作业,用程序输出如下的结果,而他的老师在美国,因为时差问题,他无法和他联系,所以只有上这里来寻求帮助。

    *
   ***
  *****
 *******
*********
*********
 *******
  *****
   ***
    *

很明显,在comp.lang.c上发这种贴子是一定会被拍的很惨的,这样的事,以前在SUN的论坛上也发生过,详情请看这里。还有一个去软件官网上要一个盗版序列号的。果不然后,我看到了这样的一个回贴。提供这样的一段代码:

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (31 人打了分,平均分: 4.39 )
Loading...
两个C++的资源

两个C++的资源

第一个是一个C++第三方类库的A-Z:(http://www.trumphurst.com/cpplibs/cpplibs.php)其中包含了:

  • 开源的C++的第三方类库列表
  • 商业的C++的第三方类库列表
  • 一些经典的C++的随书源码
  • 一些C++相关的工具

不过,这个网站好像最新更新是在2008年。

第二个是Boost C++的一个教程:(http://en.highscore.de/cpp/boost/

这个教程可能是写得比较不错的了,不过是英文的。

好烂啊有点差凑合看看还不错很精彩 (12 人打了分,平均分: 3.42 )
Loading...
C++ 程序员自信心曲线图

C++ 程序员自信心曲线图

学习C++很长时间了,也看过很多程序员学习C++的历程。总体来说,C++是一个“双刃剑”式的语言,只有那些熟悉他的人才能把C++这门语言用好。Linus曾说过:“C++是一门很恐怖的语言,而比它更恐怖的是很多不合格的程序员在使用着它”。是的,C++并不是一门速成的语言,其是一门需要长时间磨练和学习的语言,那些说自己熟悉C++语言的程序只能算是轻浮的。详见“21天教你学会C++ ”

下面是一个C++程序员在学习过程序中的一个自信心曲线图:

 

程序员在一开始学习C++的时候,用C++的语法写C觉得很牛,也会觉得自己很快掌握了C++语言,对一切都充满了信心。他们告诉你他们懂C++,其它他们错误,但我们不能说他们在撒谎,因为人总是不知道自己不知道什么。此后,当他们在C++的学习历程中,发现了很多很多稀奇古怪的东西,还有很多相当底层和复杂的东西,他们的将会变得很受挫,很沮丧,还始变得怀疑起,自信心开始下降,甚至有时候他们靠人品来编程。只到有一天,开始开窃,觉得C++的世界不能乱来,需要一定的规则,一定的方法,于是通过大量的错误不停地总结和反省,最终自信心又会被建立起来,经历多年的历练后,才能恢复自信。

对于大多数的自称自己熟悉C++的程序员来说,基本上来说他们都是用C++的语法来写C。

好烂啊有点差凑合看看还不错很精彩 (28 人打了分,平均分: 4.46 )
Loading...
“21天教你学会C++”

“21天教你学会C++”

下面是一个《Teach Yourself  C++ in 21 Days》的流程图,请各位程序员同仁认真领会。如果有必要,你可以查看这个图书以作参照:http://www.china-pub.com/27043

看完上面这个图片,我在想,我学习C++有12年了,好像C++也没有学得特别懂,看到STL和泛型,还是很头大。不过,我应该去考虑研究量子物理和生物化学,这样,我才能重返98年杀掉还在大学的我,然后达到21天搞定C++的目标。另外,得要特别提醒刚刚开始学习C++的朋友,第21天的时候,小心被人杀害。呵呵。

当然,上面只是一个恶搞此类图片,学习一门技术,需要你很长的时间,正如图片中的第三图和第四图所示,你需要用十年的时间去不断在尝试,并在错误中总结经验教训,以及在项目开发中通过与别人相互沟通互相学习来历练自己。你才能算得上是真正学会。

这里有篇文章叫《Teach Yourself Programming in Ten Years》,网上有人翻译了一下,不过原文已被更新了,我把网上的译文转载并更新如下:

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (131 人打了分,平均分: 4.78 )
Loading...
最为奇怪的程序语言的特性

最为奇怪的程序语言的特性

这些最为奇怪的程序语言的特性,来自stackoverflow.com,原贴在这里。我摘选了一些例子,的确是比较怪异,让我们一个一个来看看。 

1、C语言中的数组 

在C/C++中,a[10] 可以写成 10[a] 

“Hello World”[i] 也可以写成 i[“Hello World”] 

这样的特性是不是很怪异?如果你想知道为什么的话,你可以看看本站的这篇文章——《C语言的谜题》中的第12题。 

2、在Javascript中 

 ‘5’ + 3 的结果是:’53’
 ‘5’ – 3 的结果是:2 

3、C/C++中的Trigraphs 

int main() {
   cout << "LOL??!";
}

上面的这段程序会输出: “LOL|”,这是因为 ??! 被转成了 | ,关于Trigraphs,下面有个表格: 

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (26 人打了分,平均分: 4.27 )
Loading...
程序员眼中的编程语言

程序员眼中的编程语言

下图是一个搞笑的图片——程序员眼中的编程语言。

  • 图片的横轴是编程语言。
  • 纵轴是各语言的程序员、粉丝、信徒。
  • 中间的各个小图片则是,粉丝眼中的编程语言的形象。

比如说,

  • 第一行第一列,是Java程序员看Java语言的样子,一幢现代化的大厦。
  • 第一行第二列,是Java程序员看C语言,一个年老过时的骨灰级老头。
  • 当然,C程序员看Java语言也比较搞,见第二行第一列。呵呵。

其它的大家自己看吧。还有另外一个关于操作系统的《粉丝眼中的操作系统

程序员眼中的编程语言

 

好烂啊有点差凑合看看还不错很精彩 (26 人打了分,平均分: 4.31 )
Loading...
C语言的演变史

C语言的演变史

1972 – C语言的先驱——B语言,被贝尔实验室开发。B语言是一个很快速的,容易维护的,而且对于从系统到应用开发是很好用的。设计这门语言的整个团队被马上解雇了,因为他们干了一件和电话通讯不相干的事情。最后这个项目转给了 Dennis Ritchie。他把这个语言变得不容易理解,很难维护,而且,只能用于系统方面的编程。而且,他还设计了一个指针系统,保让每一个程序都超过500行,并可以使用操作系统的指针。

1982 – 大家发现有97% 的C程序调用产生了“缓冲区溢出”问题。于是,C 程序员们开始意识到,就算是不必要也必需要初始化变量。然而,强制性的变量初始化这个明智的决定,很难影响了当时已经写成了的97%的C程序,所以结果什么也没有发生。 

1984 – 操作系统出现了“错误指针”的问题数量开始戏剧性地增涨。 

1985 – 一系列的让C语言有面向对象能力的解决方法出现了,一个叫“C With Classes”正准备商业化。然而,大家觉得名字“C With Classes”太清楚和容易被理解了,所以,最终的商业版本叫做—— C++。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (19 人打了分,平均分: 3.63 )
Loading...