西西河

主题:【原创】编程心得 -- 荆棘探兴

共:💬198 🌺258
全看树展主题 · 分页首页 上页
/ 14
下页 末页
家园 理论性强的还是要看书

技术变化快,而理论变化缓慢。编程语言细节及一些库函数使用印成书比较浪费。

家园 关于*p++这种东西接近花拳绣腿的观点
关键词(Tags): #本人完全赞同
家园 不是我喜欢这样子的写法,

而是......你大概没有读原代码的痛苦历程,在没有设计书情况下,读历代前辈来自不同国家的程序员们留下源代码的时候......古怪的用法层出不穷

家园 所以我说它是花拳绣腿

这东西所带来的价值抵不上它所引起的复杂度。

家园 英文好,读原版

候捷翻译的也可以

家园 ...............
家园 怎么就没人提SICP呢
家园 这题唯一值得看的的是string buffer问题

就是当处理

for (...) {

s = s + s0;

}

连续内存搬迁的效率问题

题目没写清楚,完全可以写出一段实际运行很差的但是符合出题要求的代码。最好出题时注明一下不用考虑。否则一个有能力的程序员会很难受。

家园 合格的程序员应该知道需要考虑什么

而不是等着别人提要求。你愿意和一个不长脑子,推一下走一步的人共事吗?

我在另一篇文章里提出了参考答案,有兴趣的话可以对照一下看看我们各有什么不足:

http://www.ccthere.com/article/1693075

家园 推荐下 Haskell 吧

Haskell 语言,纯函数式编程。

家园 难道是清华那本白皮的?

我98年买到一本影印的C 语言,好像是清华出的,20多块钱。第一本读完的英文书。

家园 看大家讨论这么热闹,我也说说

最早接触是小学在图书馆看的 Basic , 然后就是 C, Pascal, C++, VB 都作为课外兴趣在看。

后来沉迷过一段时间的Java , 直到看到Python和Lisp 之后。现在是专职的Python程序员。在linux服务端下,一个好处是可以接触各种脚本,也有机会涉猎些非主流的东西。这里隆重推荐两个我眼中最美的语言:

1. 纯FP 的 Haskell

2. 纯OO 的 Smalltalk , Smalltalk 因为 Seaside 框架而老树开新花了(如同 RoR 推热了Ruby一样)

家园 居高临下,就很容易

这个主要还是学习方法问题。

平时都可以看到有些人,学起东西来就是比别人快,为啥人家能那么快呢?

很简单,人家知道自己在干什么,有什么需求,人家学一个东西不是先找教科书,而是先看看自己需要什么,然后到工具箱里面找找看那些适合自己需求,找到了之后,再根据自己需求琢磨工具的使用方式,有哪些独特之处。这个过程充满了探索的乐趣,把学习这个痛苦的过程演变成了有趣的探险,事情就容易多、有效多了。

从需求的高度来看工具,工具的方方面面一览无遗。

而从工具的角度来看需求,则是管中窥豹,看一眼是一眼。

所以,学一门语言,先看其语言来源于何种需求,对这种需求如何满足,而不是先看其hello world的写法。

是的
家园 拜老爷子的不倦精神

可是,搞数值计算,为何用java?这也太低效了吧。

家园 你的这个大致看了看

明显错误是没看到,做题目没问题,但是不实用。

1.你把string分成char, uchar16, uchar32之后,做是好做了,用就不好用了。实际应该在string内部统一,考虑效率,用utf8是个好办法

2.你的string没有留buffer,也没有内存对齐,如果实际有很多append(ch),内存拷贝效率很低。书上说就算一次append一行的话,搬350k文件实际要实际搬50G。

实际的串类我倒真写过,头文件10k,源90k,整100k,花了整1个星期。

全看树展主题 · 分页首页 上页
/ 14
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河