tar 解压缩命令详解
2015-12-02 14:08
190 查看
Date: Thurs, May 10 2007 7:55 am
From: Richard Heathfield
weidongtom@gmail.com said:
> Hi,
>
> I have just finished reading some tutorials on C, I am wondering how I
> could improve my skill. Is there any advice? Is reading others' codes
> the best way?
Crank up the warning level of your compiler as high as it will go, and
write lots and lots of programs. Remember that much of what your
tutorials taught you is likely to be wrong. Most C tutorials are
written by people who don't know C. Come to think of it, so is most C
code. So, whilst "reading others' code" can be helpful, get into the
habit of thinking "why is this code bad? What don't I like about it?
What diagnostic messages does it cause my compiler to emit? Do I
understand those messages? What don't I understand about the code
itself? *WHY* is the author doing such-and-such?"
> I have been reading quite a few
> books on the programming language C, but when I tried to start a
> project of my own, I find myself to be incompetent.
Honesty will get you everywhere! :-) Seriously, true competence (in
*any* field worth pursuing) takes about ten years of diligent study and
*practice*. Ten years to be a competent doctor, lawyer, programmer,
whatever.
Devise a project of your very own - e.g. a simple text processor - and define N things you'd like it to do (where N is initially at least 4). Implement those features, one at a time, learning all about diagnostic messages as you go! When you've implemented all N features, think up another N/4 features (rounded down), and notice how awkward it is to fit them in. Re-factor the code to make adding the new features much more pleasant, and now you're starting to learn about programming. Once all 5N/4 features are implemented, let N = 5N/4 and go round again, until you start to hit practical limits. This is feature creep with a vengeance! But it will introduce you gently to large programs.
> What should I do?
Write C programs.
From: Richard Heathfield
weidongtom@gmail.com said:
> Hi,
>
> I have just finished reading some tutorials on C, I am wondering how I
> could improve my skill. Is there any advice? Is reading others' codes
> the best way?
Crank up the warning level of your compiler as high as it will go, and
write lots and lots of programs. Remember that much of what your
tutorials taught you is likely to be wrong. Most C tutorials are
written by people who don't know C. Come to think of it, so is most C
code. So, whilst "reading others' code" can be helpful, get into the
habit of thinking "why is this code bad? What don't I like about it?
What diagnostic messages does it cause my compiler to emit? Do I
understand those messages? What don't I understand about the code
itself? *WHY* is the author doing such-and-such?"
> I have been reading quite a few
> books on the programming language C, but when I tried to start a
> project of my own, I find myself to be incompetent.
Honesty will get you everywhere! :-) Seriously, true competence (in
*any* field worth pursuing) takes about ten years of diligent study and
*practice*. Ten years to be a competent doctor, lawyer, programmer,
whatever.
Devise a project of your very own - e.g. a simple text processor - and define N things you'd like it to do (where N is initially at least 4). Implement those features, one at a time, learning all about diagnostic messages as you go! When you've implemented all N features, think up another N/4 features (rounded down), and notice how awkward it is to fit them in. Re-factor the code to make adding the new features much more pleasant, and now you're starting to learn about programming. Once all 5N/4 features are implemented, let N = 5N/4 and go round again, until you start to hit practical limits. This is feature creep with a vengeance! But it will introduce you gently to large programs.
> What should I do?
Write C programs.
相关文章推荐
- UITextView使用总结
- Fork/Join实例
- 编程基础知识之变量赋值
- js的input框限制输入内容
- Github使用gitignore忽略增加指定文件
- PCA目标函数的推导
- QT Qdesktopwidget
- font-awesome
- 测试用例的初始化和结束函数
- [浅析]淘宝详情页的BigRender优化的最佳方式
- leetcode Reverse Linked List II -- 重点
- 解决后台修改数据后在IE8中刷新网页还是之前的页面的问题
- JMETER使用系列教程一之初识JMETER,JMETER介绍+安装
- APP源码集中打包大放送!十一个千万级别APP源码随意处置!
- linux_删除空文件(大小等于0的文件)的方法
- Hyper-V的管理与使用之二:新建虚拟机
- 通过程序在桌面添加快捷方式
- 四层负载均衡与七层负载均衡
- 在Ubuntu 15.10搭建MEAN开发环境
- cash