C++ 的语言杂谈(一)--C++不是新手友好的

C++的语言品味是独特的,喜欢的人特别喜欢,讨厌的人特别讨厌。虽然Bjane
Stroustrup不断地宣称C++的发展方向是新手友好的,但实际上对新手来说,最重要的还是有强大方便的标准库可以使用(像Java/C#/Python之类),让程序员们可以迅速地完成手头的工作。Bjane
Stroustrup本人也看到这个问题,并经常强调强加标准库的重要性,不过好像标准委员会并没有太理会这个事,大部的提案都是围绕语言核心的。

偶尔地想了一下这个事,为什么会这样呢?

原因就是标准会从来就没有认真考虑过新手的问题。因为,他们觉得(他们自己就是),C++是用来给业界最顶级的程度员写那些重要软件的(操作系统,编译器,虚假机,XX引擎神马的),对于在这些领域混吃的人,语言复杂度那根本就不是个事儿,最重要的是要强大,强大,强大,那让他们最大限度地发挥自己的能力,他们需要的就是极为灵活和强大的语言机制,否则对他们就是一种束缚。就像对于一般的神仙妖怪来说,金箍棒是重得抬都抬不起的棍子,可是对大圣来说,只有这玩意才过瘾。

至于库,是问题,但不是大问题。因为都是库可以自己造,分分钟搞一个出来。而且由于都是些孙猴子,个个对库的要求都很高,想要实现一个让这些家伙都满意的库本身就不是件容易的事。

所以C++不会是新手友好的(也许在某些点的发展上看起来新手友好了),将来也不会。新手友好,是Coffee-Type们的事。

C++ 的语言杂谈(一)--C++不是新手友好的,布布扣,bubuko.com

时间: 2024-10-30 11:33:51

C++ 的语言杂谈(一)--C++不是新手友好的的相关文章

【Go语言】【17】GO语言杂谈

本章节原想进一步写并写的相关知识,但今天不在状态临时改为杂谈,原因有二 我也想静静 (参见秋裤大叔) 对前面没有涉及到的问题给一个交待 一.安装Git 当下是一个开源的时代,经常遛论坛的朋友肯定会遇到不少开源的组件.框架等,比如 前端JS有Angular 服务端框架有Spring 数据库有Cockroach DB 云计算的PaaS有Cloud Foundary 就连GO都是开源语言,谢大针对GO搞了一个Beego框架等等,不胜枚举...... 既然有这么多的开源,那总得有一个地方放这些开源代码吧

C语言杂谈(一)scanf()、scanf_s()与错误 C4996

错误 C4996 初学C语言时,第一个接触到的I/O函数便是scanf()了.但在高版本的 Visual Studio (包括但不限于2015.2013.2012)编译代码时,却会出现意想不到的错误.有如下一段简单的代码: #include "stdio.h" int main(void) { int i; printf("Input i\n"); scanf("%d", &i); printf("i is %d",

C语言杂谈(二)自增运算符++与间接访问运算符*的结合关系和应用模式

自增运算符++有前缀和后缀两种,在搭配间接访问运算符*时,因为顺序.括号和结合关系的影响,很容易让人产生误解,产生错误的结果,这篇文章来详细分析一下这几种运算符的不同搭配情况. ++.--和*的优先级顺序 在C语言运算符的优先级顺序中,后缀的++和--运算符运算优先级16,结合关系是从左到右:简介访问运算符*.前缀++和--运算符运算优先级15,结合关系是从右到左.根据这个关系,可以分析出不同情况下的应用.为了更直观的体现,有以下的例子. 举例说明 有数组a[5],值分别为10,11,12,13

C语言杂谈(三)存储类别

本文讨论C语言中的存储类别,包括数据在内存的存储.变量的存储类别.函数的存储类别.生存周期.下图为计算机的存储空间,有寄存器和内存. 一.存储区域 1.寄存器:存放立即参加运算的数据. 2.系统区:存放系统软件. 3.用户程序代码区:存放用户程序的程序代码. 4.库程序代码区:存放库函数的代码. 5.数据区,分为堆区.栈区和静态存储区. (1)堆区:存放动态变量,即由malloc申请的动态变量. (2)栈区:存放自动存储类型的变量,包括函数和复合语句中的局部变量等. (3)静态存储区:存放具有显

脚本语言,面向对象语言,面向并发语言-杂谈

我 15:40 我看python写的是初学者的语言 这个有几层含义呢 是这个语言不够强大么? 永神 15:41 嗯 我 15:41 还是说这个语言简单易学? 永神 15:41 比较简单 应该是脚本类的语言 肯定不如JAVA C++强大 一般程序员,拿来作为一个辅助的技能 而不是专门作为一个职业 我 15:42 那java这些算什么语言啊 高级程序开发语言? 永神 15:42 JAVA啊,面向对象语言,是一个体系 高级程序语言指的是对计算机来说高级 我 15:43 那linux的shell呢?和p

c语言:矩阵相乘-矩阵相加 新手练习1

#include<stdio.h> #include<stdlib.h> #include<time.h> #include<string.h> void main() {     int a[4][4];     int b[4][4];     int c[4][4];     int i,j,k,s,t,m,n;     srand(time(0));     for(i=0;i<=3;i++)         for(j=0;j<=3;j

多年后再回头看C语言对未来职业的重大意义

以前录制的<C语言,好爽>的视频中都是在写windows上的C语言,昨天突然在linux上写了个C和C++程序,没想到居然收到许多迷惑的朋友在问"这有什么意义","直接在windows上用IDE爽多了"之类的话,当时我只能说:等你以后就知道了.这以后可能是5年后,可能是10年后,才会懂得,才会得到印证.但是时间过去了,机遇过去了,懂了又有什么意义?闲白了少年头,空悲切. 现在我根据自己的感觉总结一下原因,听得懂就最好了. C语言的重大意义不在于它本身能开

C语言开发工具

常用的C语言开发工具有很多,每个开发工具所支持的库函数和对标准的实现都有差异.不过,对于我这样得初学者,可以忽略这些细节,选择一款使用广泛.上手容易的开发工具才是王道.在网上找了一下,Windows平台下推荐Visual C++ 6.0,Linux平台下推荐使用GCC,由于本人用得是unix系同当让用GCC啦. 1) Windows平台下推荐Visual C++ 6.0 Visual C++ 6.0简称VC或者VC6.0,是微软1989年推出的一款C/C++编译器,界面友好,调试功能强大.VC6

C语言开发工具(编译器|IDE)推荐

常用的C语言开发工具有很多,每个开发工具所支持的库函数和对标准的实现都有差异.不过,对于初学者,可以忽略这些细节,选择一款使用广泛.上手容易的开发工具才是王道. Windows平台下推荐Visual C++ 6.0 Visual C++ 6.0简称VC或者VC6.0,是微软1989年推出的一款C/C++编译器,界面友好,调试功能强大.VC6.0是一款革命性的产品,非常经典,win7.win8时代,仍然有很多企业和个人在使用,很多高校也将VC6.0作为C语言的教学基础,作为上机实验的工具.本教程中