c语言有没有boolenc语言和C++的大佬帮我看下,帮忙写一下,有偿

正在自学 Linux c/c++ ,列了一个计划,麻烦您指点下,看看是否有需要补充的修改的。
20:42:40 +08:00用 Android 发布 · 6794 次点击
我是奔着linux c/c++ 程序员的方向努力的,下面是我自己通过google 及亦师亦友的三哥帮助写得一个计划。(我想知道如果我通过掌握这些书是否能通过面试,看一些公司的招聘条件:本人没有学历硬伤啊。)。
如题是否有需要补充的,恳请从事IT的朋友指点计划是否可行,如果可以希望能耽误您一杯咖啡的时间写下您宝贵的意见。我将感激不尽,或许因为您的指点未来将多一个从事自己喜欢职业的人。
我也想在看的途中自己试着做个小项目什么的,希望自己以后进入这个行业可以最快的上手适应。但是这方面太空白了,如果可以希望您能多说一些。List:已看过的书:鸟哥的私房菜 c primer plusc++ primer plus
windows核心编程(看了一般多吧,不打算从事win下开发就搁浅了)视频类教程看过:郝斌老师的c,sql,数据结构。c语言也能干大事等,有些乱有点不知道先从哪下手了…接下来打算看的书:打算按着这个顺序看,不清楚这个顺序是否正确
Linux编程一站式学习
(正在看)linux系统编程C++标准程序库深度探索C++对象模型EffectiveC++STL源码剖析数据结构(C语言版) 严蔚敏大话数据结构数学之美TCP/IP协议详解-卷一算法导论(这个我的数学功底太差,不知道能否看的明白搁到最后)Unix环境高级编程Unix网络编程深入python高性能MYSQL(第三版)因为没有学历所以想多提高些自己,以后面试通过的概率大一些。
45 回复 &| &直到
14:50:41 +08:00
& & 20:47:43 +08:00
将里面的c++换成go 就好了
& & 20:48:19 +08:00
数据结构和算法是不是可以放前一点?
& & 20:49:09 +08:00
这种计划对于90%的人来说,都是不靠谱的。
& & 20:56:00 +08:00 via Android
@ 谢谢您的意见,请问您认为哪里比较不靠谱呢?如果是怕坚持不下来的话这块的话,这方面我对自己有信心,我现在每天坚持着自己一天要看多少页,当日的事情当日完,如果是其它方面还请您指正。
& & 20:57:20 +08:00
linux那几本不需要,有unix那几本就够了。shell没提及,数据结构一本够了,mysql暂时没必要吧。
加一本《代码大全》吧,如果你看这书经常有种惺惺相惜的感觉,那至少是中段以上水平了。
& & 20:57:54 +08:00
《windows核心编程》如果想看,看下上册就行了,其实我想说不是很有必要去看。
视频就免了,浪费时间,尤其“c语言也能干大事”,这都是些神马玩意。。。
至于其他的书,没有一个绝对的顺序,都是经典的书,都值得看,但是:
学习路线这玩意不是一个靠谱的东西,尤其在你还没有接触这个技术或这本书时。你只管学就行了,后面的路线自然会清晰,你会知道自己接下来应该去选择哪本书来学习。
话说你上面列过的书,在大学时我大部分都看过了
有些属于基础书,可以看个2遍,有些是经验书,不必强制去看,把目录翻下,隔段时间翻下自己感兴趣的章节就行。
& & 20:58:26 +08:00 via Android
@ 谢谢您的回复,不过我比较喜欢这个,暂时只想学习这方面的东西。
& & 21:00:19 +08:00 via Android
@ 嗯嗯,谢谢您的宝贵意见。
& & 21:04:23 +08:00
前几天提过一个类似的问题:/t/122273,可参考。
& & 21:11:12 +08:00
一页一页看完你可以去BAT当CTO了
& & 21:14:56 +08:00 via Android
@ 谢谢,认真的读了一遍很有帮助。
& & 21:19:22 +08:00
书单有点多。
你需要先明确一下,学 Linux 是为了学习在 Linux 平台上开发应用?还是 Linux 内核和驱动开发?是服务器还是嵌入式?明确了这部分后,书单会精简很多。
不过看你既然很痴迷 C++,应该多半是 Linux 服务器的应用开发?
C++的书,你书单里的 C++ Prime 和 Effective C++ 看完就差不多了,重点是吃透,然后大量的操练。
总得来说,希望精简掉至少一半的书,增加大量的实际项目操练。
& & 21:25:22 +08:00
其中的书和类似的书都有看过,曾经还在读书时也这么列出自己想看的书但是不了了之了,现在证明,用到什么看什么才是王道,补基础的话可以看看《深入理解计算机系统》。多用Python。 学linuxC/C++的话,要明白你自己学了想做什么。C/C++的书一开始不要看太多,应该边用边学。
& & 21:27:38 +08:00
列出的书的顺序完全没有什么逻辑和意义。非要从这堆书里挑的话,&UNIX网络编程&,&TCP-IP&, &数据结构&, 其它的先不用看。
& & 21:41:39 +08:00
单纯看书就一个作用:浪费时间。不动手一个月后忘光。。。反正我是这样。
& & 21:59:41 +08:00
...脱离实践怎么看都没啥长进的。。。
& & 22:01:07 +08:00
把Unix环境高级编程和Unix网络编程看完看懂就够猛的了
& & 22:07:19 +08:00 via iPhone
准备应聘什么开发职位?举几个例子:数据库?网络?图形界面?内核驱动?嵌入式?编写图形界面,C艹是用得着的。
读这么多书,你自己准备了足够的时间吗?全日制高等学校计算机专业工学士学制为肆年,以你的情况,大概两年就能学完。既然自学,去考个文凭吧。不亏。
计算机专业设有一些通识性质的课程,主要介绍计算机的发展史、计算机和科学与工业的关系、计算机的构造及其设计理念、数据通信与计算机网络、信息安全、最近10年的研究方向和进展等,我觉得你更需要补补这个。
另:多学数学,多学英语。
& & 22:15:06 +08:00
书太多了,cpp书多易学难用, 建议还是有点针对性的拿一个方面来搞点项目,不然只有cpp的话,学习周期长不说万一到最后还没核心竞争东西的话就不值得了
& & 22:18:17 +08:00
正巧也在朝这个方向努力(后端工程师),不过我不太打算深入学习C++,并且我也掌握一些其他可以赚钱的技能,譬如Python和Go(一半大公司才有,或者游戏后端开发)
基础(没基础,下面的书就不要看了):
操作系统 Minix作者写的,刚退休,泛泛的讲了操作系统,务必熟悉
深入理解计算机系统,不错
数据结构,找一本靠谱的即可,大话也可以
算法,看 Sedgewick的算法即可,算法导论也不是很难,跟数学关系不大,主要还是逻辑思维能力
Linux:
APUE,不看这本书都出门都不好意思和别人打招呼,缺点是面面俱到,针对Unix,没有特别倾向于Linux
Linux Kernel Development by Robert Love 介绍内核,比深入理解Linux内核简单通俗点
Linux System Programming by Robert Love 比较喜欢看Love的书
深入理解Linux内核 内容稍多
UNP,内容稍旧,也就看看Socket,了解一下过时的poll/select,最新的epoll/kqueue直接看源码吧
LDD,看看驱动也无妨
TCP/IP V1 必须要看,TCP/IP三四次握手,流控,滑动窗口,RTT,状态图,必须信手拈来
C:
TCPC 经典啊,不能不看
C专家编程,讲了讲C语言的事情,务必掌握C各种数据类型占用内存,const使用,C程序在内存的结构BSS等等
C指针与陷阱
C标准库
Python:
官方Doc
从项目中获取经验比看书印象深刻
C++:
我一直当带class的C用,C++目的就是一个多范式的语言,怎么用,怎么选择是自己的事情
STL/EffectiveCPP不错
C++对象模型也不错
source code:
推荐memcached 少,libevent
redis
Nginx 必看
python的有tornado\gevent(libev)\twisted(不看也可以)
其他技能:
VIM/emacs 选一个,推荐vim
GDB必备
makefile要会
git要会
要完整的做下来,大概需要1-2年左右,并且做Linux C开发稍微枯燥一点,别人写个Android小游戏正在向像别人炫耀的时候,别放弃别懊恼~~~北大青鸟培训Android的老多了,为啥很少有培训Linux开发的~~~
葵花宝典给了LZ,如果楼主能完整的做下来,大概能满足腾讯/阿里的后端/系统工程师的要求~~~
& & 22:22:45 +08:00
打的稍快有基础错误,
TCPL the c programming language K&R 写的
python也可以开发后端:
一般是python + gevent / python(pypy) + twisted
go最适合开发后端了,不少MMOG游戏后端已经用Go,七牛也是Go
nodejs个人看不好,它能做到的别人都能做到,它做不好的,别人依然做的很好
& & 22:29:55 +08:00
@ 我也刚刚开始接触学习C 也是在看K&R的那个
我是打算把C 理解一下 , 然后用学习
go 去写我自己的需要的东西 ,因为貌似用C 做后端有点什么那个说不出来.
还有层主是否 可以说一下啊 有哪些方便的知识学习有助于学编程呢 ?
很多人都零零碎碎的说 什么 数据结构 微机原理这些
. 能否谈一谈呢?
& & 22:30:37 +08:00 via Android
@ 嗯嗯,谢谢您的指点,正如您说的我想做服务器方面的开发,还有您提到的大量的练习,我也想做实际的项目,我仅仅是把书上的习题和例子敲了出来,关于项目实在是太空白了无从下手。
& & 22:31:02 +08:00
书随便翻翻就可以了,直接上代码来的直接些,比如弄个编译器前端,OS内核,TCP/IP协议栈的源码。 你看这样基本都全面覆盖了。
& & 22:36:03 +08:00
把日常用的操作系统换成 Linux
& & 22:40:33 +08:00
@ “有哪些方便的知识学习有助于学编程呢 ? ”
操作系统 —》 C -》数据结构(里面多少有点算法) —》 Let's Go
当Go熟练的时候,开发过几个项目之后,你就会不知不觉的需要了解底层,这些以后再说也不晚
& & 22:56:56 +08:00 via Android
@ 谢谢您解惑,关于项目实践多练习,你能否说的详细些,我也想边看书边做项目,可是这个项目却无从下手。
& & 23:12:38 +08:00
可以尝试用 C++ 在 Linux 上写一个简单的 HTTP Server,这样能用到你学习到的 C++ 语言、网络编程、多进程/线程、并发处理、STL、数据结构等等,麻雀虽小,五脏俱全。
总代码量不会很大,但是能学到和巩固的知识太多了。
& & 23:14:03 +08:00
首先从APUE上,把每个重要的例题都敲一遍,重点是文件IO进程线程这些
然后看UNP吧,看TCP/IP、socket、select/poll这些就差不多,SCTP这些都没人用,不用看了,然后从网上搜搜epoll,学习一下。在看这些的时候 一定要动手看看源代码,推荐FreeBSD+Linux一块看,比如netinet/in.h这个头文件中sockaddr_in结构体,Linux 下的就和FreeBSD下就不一样,顺遍谷歌一下,印象肯定很深。
这时候,可以写一些Demo项目:比如单进程TCP服务器(从最简单的echo开始),多进程、多线程、select、一直到epoll。
然后对Linux 网络编程有初步了解
之后可以看看memcached的源代码,从网上找份别人整理的文档,调重要的部分看一下。
然后自己实现一个简单的。期间可以学学libevent或者libev这两个库(推荐libev)。
然后可以找份文档,看看Niginx源代码,这个可是好东西。Tengine(阿里fork的nginx)的文档不少
然后自己实现一个,简单的就可以
期间你可能需要温习TCP/IP的知识,了解HTTP的知识。
到这里,基本能满足校招或者初级后端工程师或系统工程师的能力需求了
当然必不可少的要刷题~~~leetcode 剑指offer 编程之美 微软100题 等等~~~
& & 23:23:15 +08:00
建议还是不要看太多的书,找一本中级左右的,从头做一遍程序就差不太多了。如果中间遇到什么问题,可以尽量多Google一下嘛。
类似编程这类需要动手的,光看书效果并不好
& & 01:23:27 +08:00
Linux C/C++ 学习曲线太长,如果只是想找个不错的工作的话,不建议跳此坑。
& & 07:14:47 +08:00 via Android
csapp打个基础。
& & 08:56:03 +08:00
@ 赞
要是当年找工作能意识到第一份工作的重要性,抑或是能按照这个方法走下来,现在的职业发展可能就会是另外一番景象。
建议即将找工作的/有意向从事偏底层开发的硕士生按照这个过程走一遍。
& & 09:40:50 +08:00
@ leetcode 什么时候火的
& & 10:49:21 +08:00
给LZ再推荐一本:《深入理解计算机系统》
C++不是必要的,Python 可以看一下。
不需要两年,我2010年大三开始走你现在打算走的路,只花了半年,就拿到了腾讯暑期实习offer.
& & 10:59:57 +08:00
@ 可是我没有学历哎...估计没戏
& & 12:19:36 +08:00
书不在多, 在精。 同类型的书看一本就够了, 太过深究细节的书也不要花太多时间。
帮你做些减法
----
C++标准程序库
深度探索C++对象模型
EffectiveC++
STL源码剖析
----
这几本只看第一本就可以,而且最好放在算法导论后面
-----
Linux编程一站式学习
(正在看)
linux系统编程
Unix环境高级编程
Unix网络编程
--------
前两本估计内容相似,都是linux编程入门书籍,内容泛而不精, 选一本快速过一遍即可。 后两本太过经典,只涉及标准UNIX系统接口和核心C库接口,需要精读。
-------------
数据结构(C语言版) 严蔚敏
大话数据结构
算法导论(这个我的数学功底太差,不知道能否看的明白搁到最后)
----------------
只看最后一本即可
--------------
数学之美
TCP/IP协议详解-卷一
深入python
高性能MYSQL(第三版)
-----------------
数学之美没看过,不评价
TCP/IP协议详解 我感觉有点老,可以考虑换成国内的教材《计算机网络》
python的话真不知道有什么书值得推荐,但我觉得你更应该先学Shell
高性能MySQL并不是一本mysql入门书
& & 12:26:30 +08:00
我建议的书单:
算法导论
深入理解计算机系统
linux系统编程
Shell脚本学习指南(非常重要)
UNIX环境高级编程
计算机网络
UNIX网络编程
边读书边实践是非常重要的,装一个linux的虚拟机, 多折腾折腾
& & 13:06:00 +08:00
@ 谢谢您给我一个清晰的思路,忘记说了,我已经装了centos 看的时候也都在机器上敲了,也认真的看了每个人的热心解答,关于建议我不要只看书,我应该怎么实践呢,只是书上的例子我自己也感觉有点少,不知道如何选择适合自己的项目。
& & 13:36:42 +08:00
实践就是说看书的同时把代码敲一下,编译运行一下看看效果,加深印象和理解。看完以后, 也可以选择写一个简单的ftp服务器, http服务器之类的东西练手。能找到一份相关的工作是最好的,就不愁不知道干嘛了
& & 18:28:36 +08:00
@ 个位数的9没有了,还有小数部分的9
& & 19:48:57 +08:00
@ 关于操作系统有什么书推介一下呢, 貌似是理解了系统的原理这些的, 对编程或多或少有点帮助. 新手不是很懂 .
& & 21:39:19 +08:00
我跟你有一样的想法,但是任何时候都可以华丽转身,就看舍不舍得放弃!
& & 13:44:19 +08:00
3 年了,楼主我问你,你现在学的怎么样了?
& & 14:50:41 +08:00
@ 3 年了,还有人关注谢谢,生活仍在继续,理想还未达到;有些事不是想就可以达到,我败给了生活。
& · & 2867 人在线 & 最高记录 3541 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.1 · 21ms · UTC 07:55 · PVG 15:55 · LAX 00:55 · JFK 03:55? Do have faith in what you're doing.当前位置:
&【求助】自己写的C语言,突然想看看C++是什么,求助一下。还有C语言和C++有什么区别啊
【求助】自己写的C语言,突然想看看C++是什么,求助一下。还有C语言和C++有什么区别啊
作者 小小一颗鑫
#include &stdio.h&
#include &stdlib.h&
#include &string.h&
#include &conio.h&
#define N 3
struct&&student
char name[10];
char no[10];
char bnote[100];
void print(bool menu)//打印基本信息
if (!menu)
&&printf(&学生基本信息录入 ,press 1\n&);& &&&
&&printf(&学生基本信息显示 ,press 2\n&);&&
&&printf(&学生基本信息保存 ,press 3\n&);&&
&&printf(&学生基本信息删除 ,press 4\n&);
&&printf(&学生基本信息修改 ,press 5\n&);
&&printf(&学生基本信息查询 ,press 6\n&);&&
&&printf(&退出学生信息系统 ,press 7\n&);
bool Check(char pas[6])//密码验证
char a[7]={& &};
int i = 0;
if ((fp=fopen(&c:\\1.txt&,&r&))==NULL)
&&printf(&打开文件失败!\n&);
&&exit(0);
& & ch=fgetc(fp);
while (ch!=EOF&&i&6)
& && &&&ch=fgetc(fp);
a[6] = '\0';
if (!strcmp(pas,a))
&&printf(&密码错误\n&);
fclose(fp);
void GetInfo(struct student *arr,int n)//学生基本信息录入
for (int i = 0;i&n;i++)
&&printf(&输入学生的基本信息:name& &no& & sex&&age& &bnote\n&);
&&scanf(&%s %s %c %d %s&,arr.name,arr.no,&arr.sex,&arr.age,arr.bnote);
void Display(struct student* arr,int n)//学生基本信息显示
printf(&学生信息: Name& &&&NO& & Sex& &age&&Note\n&);
for (int i = 0;i&n;i++)
&&printf(&%15s%15s%15c%15d%15s\n&,arr.name,arr.no,arr.sex,arr.age,arr.bnote);
void Save(struct student* arr,int n)//学生基本信息保存,保存在c:\\student.txt
& & fp= fopen(&c:\\student.txt&,&w+&);
if (fp == NULL)
&&printf(&文件不存在!\n&);
&&exit(0);
& & fwrite(arr,sizeof(struct student)*n,n,fp);
fclose(fp);
void Modfiy(struct student* arr,int n)//学生基本信息修改
char number[10];
bool flag=
char pass[6];
printf(&请输入密码:\n&);
scanf(&%s&,pass);
if (Check(pass))
&&printf(&修改学生信息:\n&);
&&printf(&请输入学号:\n&);
&&scanf(&%s&,number);
&&for (int i =0;i&n;i++)
& &if (!strcmp(number,arr.no))
& & printf(&infor:& &name& &no& &sex&&age note\n&);
& & printf(&%12s%12s%12c%12d%12s\n&,arr.name,arr.no,
& &&&arr.sex,arr.age,arr.bnote);
& & printf(&please input information:\n&);
& & scanf(&%s%s%c%d%s&,arr.name,arr.no,&arr.sex,&arr.age,arr.bnote);
& & Save(arr,n);
& & flag =
&&if (flag == false)
& &printf(&该学生不存在!:\n&);
void Delete(struct student* arr,int n)//学生基本信息删除
char number[10];
bool flag=
printf(&Delete information:\n&);
printf(&please input the no:\n&);
scanf(&%s&,number);
for (int i =0;i&n;i++)
&&if (!strcmp(number,arr.no))
& &strcpy(arr.name,& &);
& &strcpy(arr.no,& &);
& &strcpy(arr.bnote,& &);
& &arr.sex = ' ';
& &arr.age = 0;
& &Save(arr,n);
if (flag == true)
&&printf(&该学生不存在!:\n&);
void Search(struct student* arr,int n)//学生基本信息查询
int temp,i;
bool flag=
& &printf(&---------------通过学号查询,press 1-------------\n&);&&
& &printf(&---------------通过姓名查询,press 2-----------\n&);&&
& &printf(&---------------通过性别查询,press 3------------\n&);&&
& &printf(&---------------通过年龄查询,press 4------------\n&);&&
& &printf(&---------------退出,press 5& && &------------\n&);&&
& &scanf(&%d&,&temp);
& &switch (temp)
& &case 1://按照学号查询
& &&&char num[10];
& &&&printf(&请输入学号:\n&);
& &&&scanf(&%s&,num);
& &&&for ( i =0;i&n;i++)
& && &if (!strcmp(num,arr.no))
& && & printf(&%12s%12s%12c%12d%12s\n&,arr.name,arr.no,
& && & arr.sex,arr.age,arr.bnote);
& && & flag =
& &&&if (!flag)
& && && && &printf(&该学生不存在.\n&);
& &case 2://按照名字查询
& &&&char num[10];
& &&&printf(&please input name:\n&);
& &&&scanf(&%s&,num);
& &&&for ( i =0;i&n;i++)
& && &if (!strcmp(num,arr.name))
& && & printf(&%12s%12s%12c%12d%12s&,arr.name,arr.no,
& && &&&arr.sex,arr.age,arr.bnote);
& && & flag =
& &&&if (!flag)
& && &printf(&该学生不存在.\n&);
& &case 3://按照性别查询
& &&&printf(&请输入性别:\n&);
& &&&//scanf(&%c&,&ch);
& &&&ch = getch();
& &&&for ( i =0;i&n;i++)
& && &if (ch == arr.sex)
& && & printf(&%12s%12s%12c%12d%12s\n&,arr.name,arr.no,
& && &&&arr.sex,arr.age,arr.bnote);
& && & flag =
& &&&if (!flag)
& && &printf(&t该学生不存在.\n&);
& &case 4://按照年龄查询
& &&&char num_
& &&&printf(&请输入年龄:\n&);
& &&&scanf(&%d&,&num_age);
& &&&for ( i =0;i&n;i++)
& && &if (num_age == arr.age)
& && & printf(&%12s%12s%12c%12d%12s\n&,arr.name,arr.no,
& && &&&arr.sex,arr.age,arr.bnote);
& && & flag =
& &&&if (!flag)
& && &printf(&该学生不存在.\n&);
& &default:
void main()
struct student arr[N];
char ps[6];
bool flag =
printf(&请输入密码:\n&);
& & scanf(&%s&,ps);
& & flag = Check(ps);
&&print(false);
&&scanf(&%d&,&select);
while (0&select && select &7 )
&&switch (select)
& &GetInfo(arr,N);
& &print(true);
& &Display(arr,N);
& &print(true);
& &Save(arr,N);
& &print(true);
& &Delete(arr,N);
& &print(true);
& &Modfiy(arr,N);
& &print(true);
& &Search(arr,N);
& &print(true);
&&default:
printf(&请选择:\n&);
& & scanf(&%d&,&select);
我目前也在看c++,感觉和c相比完全是一门全新的语言,真是太复杂了
引用回帖:Originally posted by hakekill at
我目前也在看c++,感觉和c相比完全是一门全新的语言,真是太复杂了 Up~~
C++和C是不同的两种语言,只是变量类型和语法比较相似。
另外,C++中可以嵌入C和汇编代码,所以C++的编译器可以编译C代码。
除此以外,C++和C没有任何联系
在1998年的元旦,Bjarne& &Stroustrup(C++之父)接受了IEEE《计算机》杂志记者的专访。编辑很自然的认为他会对于过去七年来使用他创建的语言进行面对对象设计做一个历史性的回顾。而在这个专访中,记者获得了更有价值的新闻,但是最后编辑决定为了整个IT产业,这个稿子不能发表!。
但是就像其它被砍掉的新闻,往往还是弄得路人皆知的。这一篇适当时专访的完全拷贝,没有被编辑、删改或者做过什么润色处理,也没有发布过,可能看起来不像常见的杂志文章,但这是实情。你会发现真正引人入胜的地方...
记者:& &您在几年前你改变了软件设计世界的面貌,现在再回首往事您有什么感想?
Stroustrup:& &事实上我在你到来之前的这些天里一直在考虑这件事,你还记得几乎所有的人都在写C程序那会儿吗?麻烦的是这些人写得太好了,而且那些个大学也都在努力的传授C编程技术。的确他们是十分的成功——我要特别的指出“成功”这个词——因为这种显著的C程序员的培养效率,这就是产生问题的原因。
记者:& &这难道是个问题吗?
Stroustrup:& &当然,你记得大家都在用Cobol语言写程序的时候吗?
记者:& &哦,当然,当时我也一样。
Stroustrup:& &在一开始的时候,这些人简直象半个上帝似的拿着高工资,享受着贵族一样的待遇。
记者:& &唉,那些日子多么的让人怀念,是吧?
Stroustrup:& &当然了。但是接着发生了什么?IBM觉得这样不舒服,就投资了数百万来培养程序员,直到程序员多得一毛钱就可以雇一打。
记者:& &这就是为什么当时我撤出来了,工资在一年里就降到人们在说做个记者都比程序员强的地步。
Stroustrup:& &对啦!那时侯相同的事情发生在了C程序员身上了。
记者:& &这个我明白了,可是您要说的是……
Stroustrup: 有一天,我坐在办公室里就在想如何能把这件事挽回一些。我想知道如果有一种特别复杂而且难以学会的语言,是否就没有人可以又把程序员们搞到市场的泥潭里去呢?我用了从X10里了解到的东西,,噢,就是X-Windows,真是一个该死的图形系统,只能运行在那些个SUN 3/60的机器里,哈!它具有所有我想要的特征:可笑而复杂的语法,含混的功能描述,还有伪装的OO结构,就算是在现在,还是没有人愿意用那些东西,如果你不想发疯的话,Motif才是唯一解决方案。
记者:& &你是在开玩笑吗?
Stroustrup:& &没有,事实上还有另外的一个问题,UNIX是用C写的,就是说任何一个C程序员都可以很容易的成为系统程序的开发者。还记得一个大型的主机系统应用的开发者通常能挣多少钱吗?
记者: 你肯定是知道我当时就是干这个的。
Stroustrup:& &好吧,因此这个新的语言一定要通过隐藏所有的系统调用来和UNIX分离开来,这样可以使那些个就只是知道DOS的人也可以活得很体面。
记者:& &我不大相信您说的这个……
Stroustrup:& &而且到现在时间也够长的了,我相信有很多的人已经指出了C++是对时间的浪费,我要说的是,这个过程比我想象的要长的多了。
记者:& &那么您又是如何做到的呢?
Stroustrup:& &那只是一个玩笑,我真的没有想到人们会对那本书那么认真。任何人只要长了半个大脑也应该明白面对对象编程是荒谬而不合逻辑的,而且效率低下。
记者:& &什么?
Stroustrup:& &再说代码重用,你什么时候听说过有公司重用他的代码?
记者:& &事实上从来没有,但是……
Stroustrup:& &那么我提醒你一下,在早期有很多的例子。哦,有一家叫Menter& &Graphics的俄勒冈州公司,我认为他们应该是感冒了,竟然在90年或者是91年把所有的代码用C++重写了一遍,对不起,我实在是想不起确切的时间了,我看大家应该从这个事件中吸取教训。
记者:& &没有人真正的吸取了教训吗?
Stroustrup:没有,而且还有很多公司犯同样的错误,还向他们的股东解释说那3亿美圆的损失是正常的,他们就是做了这样的事情。
记者:& &真的?可是这也只能证明OO方法是能够工作的,不是吗?
Stroustrup:& &也许吧,执行文件是那么大,在一台有128M内存的HP工作站上只是装载到内存中就要用5分钟时间,然后将象毛毛虫爬树一样的运行。事实上我在第一个礼拜就发现了这个缺点,奇怪的是好象没人在乎这个,Sun和HP好象只在乎买出那些功能强大的各种玩意儿,而不在乎在上面跑什么程序。在AT&.T的时候我编了一个“Hello World”程序,简直是难以置信,执行文件有2.1M。
C++是从C起源。。C是C++的基类。。。C++与C相比支持OO思想。。但是支持的机制和Java相比。。稍显逊色。。但C++是一门强大到无与伦比的语言。。如果学C++,大部分都会着重在它的OO方面。。但从底层的解释运行机制看,它和C区别不是想象中的那么大。。
c++就是c的升级啊,c语言的基本语法和基本变量c++都兼容啊。c++增加和好多东西,不如类,主要升级是可以实现面向对象编程,c++比c强大多了就是。不过c是计算机启蒙语言,也很强大
引用回帖:Originally posted by 川儿 at
c++就是c的升级啊,c语言的基本语法和基本变量c++都兼容啊。c++增加和好多东西,不如类,主要升级是可以实现面向对象编程,c++比c强大多了就是。不过c是计算机启蒙语言,也很强大 我坚持认为C++和C是不同的语言,而不是C的升级版
24小时热帖
下载小木虫APP
与700万科研达人随时交流

我要回帖

更多关于 c语言中有没有bool 的文章

 

随机推荐