Refresh

This website coolshell.cn/category/proglanguage/page/20 is currently offline. Cloudflare's Always Online™ shows a snapshot of this web page from the Internet Archive's Wayback Machine. To check for the live version, click Refresh.

Browsed by
分类: 编程语言

“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

好烂啊有点差凑合看看还不错很精彩 (122 人打了分,平均分: 4.78 )
Loading...
JAVA的字符串拼接与性能

JAVA的字符串拼接与性能

概述:本文主要研究的是JAVA的字符串拼接的性能,原文中的测试代码在功能上并不等价,导致concat的测试意义不大。不过原作者在评论栏给了新的concat结果,如果有兴趣的同学建议自己修改代码测试。

原文出处:http://www.venishjoe.net/2009/11/java-string-concatenation-and.html

在JAVA中拼接两个字符串的最简便的方式就是使用操作符”+”了。如果你用”+”来连接固定长度的字符串,可能性能上会稍受影响,但是如果你是在循环中来”+”多个串的话,性能将指数倍的下降。假设有一个字符串,我们将对这个字符串做大量循环拼接操作,使用”+”的话将得到最低的性能。但是究竟这个性能有多差?如果我们同时也把StringBuffer,StringBuilder或String.concat()放入性能测试中,结果又会如何呢?本文将会就这些问题给出一个答案!

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (7 人打了分,平均分: 3.29 )
Loading...
BT工作原理演示

BT工作原理演示

下面这个网站使用Javascript编写了一个BT工作原理演示动画程序。当然,你可能需要使用Chrome浏览器打开,因为他真的很耗CPU。在我的双核(2GHz)T60电脑上用Chrome打开CPU一下就被耗了50%左右。
下面是我截的一个图,每个圆代表一个结点,其会通过其它结点下载需要的文件段。结点中间的那个Bar有点类似于eDonkey中的下载进度条。至于为什么要用像彩虹一样的颜色,主要是为了让你看到不同的段是从不同的结点下载的。
你可以按热键S来加入一个下载完了的结点,用P来加入一下空结点,按R来删除一个结点(有点慢,要等10秒左右吧)。
BT工作原理演示动画

关于其它Javascript的一些小玩意,你可以看看这篇文章

好烂啊有点差凑合看看还不错很精彩 (7 人打了分,平均分: 2.71 )
Loading...
erlang打包独立环境

erlang打包独立环境

最近公司代码需要在非erlang的系统上执行,需要能在独立的环境里运行erlang。研究甚久,于是写下这篇博文。国内用erlang的朋友不多,希望这篇blog能对有需要的朋友起到参考作用。

Application-Vsn/ebin
/include
/priv
/src
/Application-Vsn.rel

以上是代码的目录表.

{release, {“nextim”, “2.0”},
{erts, “5.7.5”},
[{kernel, “2.12.3”},
{stdlib, “1.15.3”},
{sasl, “2.1.5.3”}]
}.

以上是Application-Vsn.rel的内容,[]中是代码本身需要的lib。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (11 人打了分,平均分: 2.73 )
Loading...
Python处理encoding的小技巧

Python处理encoding的小技巧

用Python写过处理文本经常会遇到需要decoding或者encoding, 尤其是处理中文的时候。

encoding的问题处理起来是个脏活儿,报错不太容易看懂,网上相关资料不太好查。有同感?请继续读下去。

常规做法是读取文件的时候立刻decode, 所有的处理工作都用unicode,写会文件的时候encode. 但是等到读取的时候在处理的代码读/写起来都很别扭,感觉像穿上鞋以后袜子滑下来了…Python 3.1.1以上的版本解决了该问题。在Python 3.1.1中,打开文件可以加入encoding的参数:

file = open(filename, encoding='xxx')

啊,这样看起来终于舒坦了。 不同写如下的code了

file = open(filename)
for line in file:
    decoded_line = line.decode('xxx')
    do something else
提倡使用utf8
好烂啊有点差凑合看看还不错很精彩 (15 人打了分,平均分: 2.87 )
Loading...
分享:我是如何使用Google Reader的

分享:我是如何使用Google Reader的

相信不少读者都是通过Google Reader (貌似没有中文名) 看到本文的,而多数Google Reader的爱好者都是贪婪的。如果你像我一样,估计未读数量从来都是1000+。遇到强迫症就麻烦了。下面一个方法能让阅读变得有“轻重缓急”。

  1. 承认不是所有种子一样重要,有些更新你想立刻知道(例如某新闻类的博客:古奥),有些只是希望不要错过(例如某经典博客:Joe l on Software),还有一些可能只是娱乐用的(例如:煎蛋
  2. Reader是可以为种子建文件夹的,所有“重要而必读”的种子都可以放在一个文件夹里,文件夹的名称最好是用“_” 开头,这样排序的时候可以在最前面(见图解)
  3. 每当打开Google Reader的时候,先看重要的种子即可,其他的有时间再读。

笔者的Reader界面(献丑了)

好烂啊有点差凑合看看还不错很精彩 (12 人打了分,平均分: 2.92 )
Loading...
Python程序员的进化

Python程序员的进化

以前本站发布过一篇《程序员的进化》,以一种幽默的代码展现方式调侃了程序。下面这篇是关于Python程序员的。以阶乘为例,很有意思。

新手程序员

def factorial(x):
    if x == 0:
        return 1
    else:
        return x * factorial(x - 1)
print factorial(6)

第一年的刚学完Pascal的新手

def factorial(x):
    result = 1
    i = 2
    while i <= x:
        result = result * i
        i = i + 1
    return result
print factorial(6)

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (40 人打了分,平均分: 4.28 )
Loading...
一个Windows 3.1的Web网站

一个Windows 3.1的Web网站

啥也不说了,请大家围观下面这个网站吧。

http://www.michaelv.org/

打开这个网站,你会看到N年前DOS时代的Windows 3.1的界面,居然还可以扫雷,呵呵。真应了那句话——“只要是可以被Javascript实现的应用或程序,最终都会被Javascript所实现”。另,关于其它Web上更为疯狂的程序,可以查看本站的这篇文章。还有这个在线的IDE。下面是win3.1的截图:

 

好烂啊有点差凑合看看还不错很精彩 (11 人打了分,平均分: 3.36 )
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...