C++参考的翻译或校对

做新年规划的时候,我说过要翻译C++常用类的参考。C++的参考,其实别人已经翻译完了,只是部分内容需要校对。由于网站结构中大量使用了模板,同一个函数只需要翻译一个地方,所以四天就弄完了。而且我没有翻译函数层级的页面,所以比较快。

C++的参考其实最需要翻译。因为C++为了填C继承过来的坑,标准库增加了很多用于替代的设施。而国内的教程更新缓慢,这份参考如果不翻译,我估计到了2020年也不会完全普及。

以下是校对完成的类,希望大家继续参与:

更多内容

为什么C语言不简单

很多人都喜欢把C语言推荐给初学者,原因就是C语言语法简单。但是C语言若是用于开发之中,却是最复杂的语言。

底层的 == 好的?

C语言提供了对底层的操作,比如指针。但是C语言跟C++最大的不同就是,C语言避不开指针,而C++和用STL和智能指针库完全避开它。也即是说,其它语言的指针只是个类型,C语言的指针就是指针。我一向认为,初学者过早接触指针是个大忌。初学者需要的是做出各种好玩的应用,以此来产生即时反馈,而不是深入研究计算机系统,因为后者只会消磨掉他们的信心。初学者就应该专注于代码逻辑,并且屏蔽掉和底层打交道的一切事物。这么做个比喻吧,如果你刚学化学的时候,就给你讲元素周期律和VSEPR模型,你会感兴趣吗?

更多内容

给计算机大一新生的建议给计算机大一新生的建议

1. 核心课 (数据结构算法、组原、os、编译、网络(tcp/ip、http部分))一定要弄懂。最好写相关的项目,比如写个parser或者内核什么的都是极好的。

2. 不要追新的技术,而是追业界普遍使用的技术。比如你追了c#,却发现业界不少由c#转java的;你追了xamarin,也说发现人家还是用java+as开发应用。其实业界还是喜欢久经考验的稳定技术。语言学精一个,了解多个。每种类型的框架(比如前端css,前端js,后端orm,后端mvc,模板引擎)先学一个,其他的需要了边学边用。

3. 早点去leetcode刷题,国内公司特别爱装逼考算法,不少都是原题,切记。

4. 注重面向对象,注重架构方面的东西,特别是设计模式,不仅仅是为了可维护性。你以后代码可能是给别人提供支持的,你写的接口很难用的话,天天会被人问候祖宗。

5. 技术问题学会抛弃百度,使用goole,使用github,使用stackoverflow。学会使用bash和git,特别是后者,备份恢复的时候你就明白了。

6. 英语达到能阅读原版文档的水平。

7. 多写代码,有些东西做的多了才能从理性认识向感性飞跃。但不是让你写一万行hello world,也不是让你写一大堆app。你每学一个新的知识,都写个相关的demo出来。你想想你自己写了个http server,虽然实际业务中用不到,面试的时候这么说,然后解释一下自己怎么做的,是不是很爽。

8. 看书之前先去豆瓣看书评,不要看国产的一些烂书。多看最佳实践,比如effective系列。你一个学生没啥项目经验,又不看别人的最佳实践,写出来的代码能用?

C++的开发效率真的那么低吗

前几天看到一篇文章,对比Node.js和C++的,挺有意思。

大家都知道Node.js开发效率高,下面是它创建server并监听的代码:

1
2
3
4
5
6
7
8
var http = require('http');

http.createServer(function(req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(8888);

console.log('Server running at http://127.0.0.1:8888/');

更多内容

一些扯淡

  1. 编程思想是依赖于范式的,特性才是依赖于语言的。牛逼的人眼里没有语言只有范式,比如函数式、过程式、面向对象等等。

  2. 只学一门编程语言远远不够,没有任何一种语言能完全胜任你碰到的所有任务。但是除了首次学习之外,不需要专门学习编程语言,拿份参考指南边用边学就行了。

  3. 其他行业学习编程,然后用它来解决自己行业的问题。计算机科学也学编程,但是解决的是编程过程中的问题。

  4. 不是每个人学完编程都要走计算机科学这条路,完全可以先解决你自己的经济问题。也可以拿编程解决自己领域内的问题。

  5. 移动开发和web开发这种搬运api的东西,边学边用或者突击完全来得及,不需要单独花时间去学。

  6. 小厂的开发基本和独立开发者的东西差不多。大厂的规模要大一些,不过都是功能的堆砌,没啥技术复杂度。

  7. 学历不等于能力,但是学历是个简单粗暴的门槛。没办法,天朝人太多了。

  8. 很多公司喜欢装逼考算法或者一些基础知识,是因为工程问题没法考,尤其是一些特别依赖于开源框架的地方。大家喜欢用不同的解法,考什么对每个人来说都是冷门。

从“大众创业”到“应试教育”

最近也码了不少字,只是不是在博客上发布罢了。有人质疑我为什么很久没更新博客,我只好把它们转到这里。

最近国家在鼓吹“大众创业”,其实目的很明显,一是产业结构升级的过程中需要大量新兴产业,而创业又是发展新兴产业的最快方法;二是国家需要解决就业问题,创业公司能够提供大量的就业岗位。但是无论是创业者,还是投资人,都对它持否定态度,道理也很简单。国家需要新兴产业,实际上是从一大堆创业公司里选出最后活下来的,至于那些失败的,对不起,就当是历史的炮灰了。对于国家来说总体是有利的,但对于每个人来说,要足够幸运才能成为那1%。

对于“大众创业”,大家的认识是很清醒的,但对于“应试教育”,我看了一下,大家褒贬不一。其实这两者的本质是一样的。

更多内容