UU文学 通过搜索各大小说站为您自动抓取各类小说的最快更新供您阅读!

第274章 267.c++:动不动就崩溃的脆皮大宝贝

把开发浏览器的任务打包甩给赵文来之后,赵德彬开始投身于Java语言设计工作当中,致力于编写Java的使用手册。

因为Java脱胎于c++,赵德彬直接拿了一本c++的工具书,照葫芦画瓢,以c++为蓝本,将记忆中的Java相关知识给回忆出来。

打个比方:

如果把编程语言视做人类的语言,那么因为c++和Java的相似性,可以一齐划分到中夏文的范畴。

编程语言的操作手册就相当于是字典。

在这种情况下,c++可以视做用文言文写的字典,Java就是用白话文写的字典。

即便是你对于中夏文字和语法烂熟于心,想要凭空把一本字典从头到尾回忆出来,也是一件不太可能的事情,因为这事它“离谱”啊!

但若是你手上有一本文言文词典,那么以这个为参照,不管是回忆,还是自己翻译,都能“靠谱”地得到一个白话文字典。

要写Java的操作手册,赵德彬先要写代码注释和代码规范。

这部分没什么难度,Java的代码与c++差异不太大,两种语言之间主要的区别不在代码上,而是在语法上。

Java语法是Java语言设计的基础,是赵德彬设计发明工作的核心,它是一套规则和指南,告诉计算机如何理解和执行你的Java代码。

举个例子:

Java语法要求你在每行代码末尾加上分号,这样才能让计算机知道每条代码在哪里结束。

如果开发者忘了加分号,那么就会把计算机给整懵圈了。

赵德彬是中夏国最早一批接触Java的工程师,科研所倒了之后,他去大专教书,就教过Java的课。

前头,赵德彬刚说完“Java里有两种代表结束的符号,一是‘}’大括号,二是‘;’分号”,板书还留在黑板上。

在这种时候,总会有学生走神、摸鱼,或者没注意听。

于是,到了实操阶段,问题就来了。

总会有学生举起手,好学地问道:“赵老师,怎么我的代码跑不起来\/运行结果跟别人的不一样呀?”

这个时候,赵德彬会放下保温杯,双手背在身后,挺着肚子,老神在在地踱到学生身边,裤腰带上的钥匙串随着他的走动哗啦作响。

赵德彬瞥了一眼学生的代码,宛若一名看遍人间疾苦的老中医,心如止水地说道:“每行代码末尾要加分号,你没加分号,判断语句没有起作用。”

所以说,编程语言的语法,是一个至关重要的东西。

要是这玩意写错了,不光别人看不懂代码,计算机也捣鼓不明白。

赵德彬作为Java语言的发明者,他必须要将Java语法设定清楚,确保没有漏洞。

并且,通过语法的设置,赵德彬可以使Java的代码编写更清晰、更有可读性、更容易被理解。

只有这样,后续赵文来开发Java语言的开发平台时,才能让软件在编译代码的过程中,直接把大多数常见的编程错误检测出来。

这样一来,由于Java编程软件可以自动纠错,代码的稳定性和健壮性也随之提升。

通俗来说,就是使用Java的门槛被大大降低了。

不仅用Java编程要比其他语言容易,修改和扩展代码也更方便了。

这个世道,时间就是金钱,软件开发的成本就是在人力资源上,而Java可以缩短写代码和调试时间,并且减少代码的维护成本。

如此一来,Java焉有不火遍全球的道理?

赵德彬正在做的是,在确保Java语法简单,且易于理解、记忆的前提下,定义一系列的内容,比如:定义变量类型、关键字、分隔符、运算符等。

一些c++语法里面常用的、但比较难的东西,赵德彬都给删掉了,就像是:指针、操作符重载、头文件、多重继承这些。

这上面提到的每一个名词,后面都掩藏着无数程序员的血泪。

以老大难的“指针”为例:

这是一个足以让c++菜鸟听了腿肚子就开始转筋的名词。

在处理指针时,开发者需要了解内存地址、指针类型、指针的引用和解引用等很多知识点。

明白了知识还不够,在实际操作中,c++的指针需要你手动进行内存管理,分配和释放内存。

如果不小心出现内存泄漏或者悬垂指针等问题,那就完犊子了。

马上,程序就会崩溃,或者出现一些你不想看到的错误。

你这个内存管理还必须得管理得恰到好处,因为指针可以进行一系列的算术运算,存在着潜在的指针越界和数组溢出等问题。

要是一个不小心,超出了指针所指向的内存空间,那又双完犊子了,程序又双要崩溃了,或者又双要产生莫名其妙的错误。

指针和指针还不一样,有很多种类型,例如void*、int*、char*等等。

每种指针都有自己独特的用途和限制,开发者必须要根据情况选择正确的指针,不能乱点鸳鸯谱,否则就会出现类型不匹配和编译错误之类的问题。

除此以外,c++中的指针语法还特别复杂,像是取地址符、解引用符、箭头符号等等,全都属于看了名字就不想去了解的东西。

——小剧场开始——

你美滋滋地坐在电脑面前,快乐地打开了你最爱的编辑器,非常嗨皮地要写一段程序。

但你贱不娄搜地选择了c++。

你开始编写一个函数。

在函数中,你使用了一个指针。

一个没注意,你粗心大意地把指针的地址给改错了,可你认为它是对的。

不知为何,你才思如泉涌,如有神助地写完了代码。

你编译程序,接着运行它。

然后,程序就像平常一样,又双叒叕崩溃了。

此时,你嗨皮的心情已经荡然无存。

你在心中暗骂:特喵的,我明明已经把指针弄对了啊!

无奈之下,你只能回到编辑器,逐行逐句地检查每一行代码。

就这样,一晚上过去了,你的黑眼圈耷拉到了腮帮子上,但可怜的你却一直找不到任何错误。

你恼羞成怒地删掉了所有代码,准备重新写一遍这个程序。

光棍地删掉了一切,你准备重新开始。

你点开指针,在输入数值的时候,你猛然发现:

卧了个大槽!

原来只是个地址没写对!

我竟然因为这个de了一晚上bug!

还特喵的没de出来!

——小剧场结束——

c++就是一个脆皮大宝贝,功能确实强大,但它动不动就崩溃。

就好像是你隔着电脑屏幕呼吸声音突然大了点,里头的c++就要崩溃。

所以说,只有高手才能玩得转c++。

赵德彬前世头顶上寸草不生,就跟c++有很大的关系。

如果他平常只是要用Java、python这种语言编程,他绝不至于秃到那种程度。

没办法,实在是需要动脑的地方太多了,时刻需要不停思考、计算,调用脑海之中相关知识,不秃真是没天理。

而Java,相比于c++,则是“秀发友好”得多了!

UU文学推荐阅读:巨龙,冻结时空的冰霜帝王仙路:无尽棋盘激活隐藏提示,疯狂开发精灵女王大师兄!装失忆不想娶是吧!七彩神功海洋大领主鸿蒙天帝武道妖孽!废命魂也能修炼吗?只要供奉,我的武动会自己修炼别叫我反派,请叫我财阀全能奇才一剑无敌平四海镇八荒宝箱系统无敌了异世仙临我可是,大阴阳师!!一剑帝尊移动藏经阁水天需洪荒:我们五个都是一个人穿越玄幻:主角反派都被我调教系统太坏,竟奖励双修功法考验我召唤之我是绝世仙药吞天祖神让你随便练,你领悟一念神魔?御兽最优解:全靠这篇神鉴修仙的恐惧,来自于火力不足玄幻,开局觉醒绝世神体帝尊轮回斩宿命行走的正能量洪荒:金乌凌天,开局搭救女娲巡山小妖的日常末世修仙:他们跪着求我再爱一次冥瞳使者废物赘婿被休,诸天圣女疯狂了斗罗:骑士之王纵横古今亿万年吞噬就变强,此界我无敌神级开局之开着战舰捡破烂异界游戏供应商一剑浊世我有一本属性天书截神快跑啊,那无耻老六又来了啊魔道大反派:开局掳走正道圣女契约妖兽后修真界即无敌紫薇乾坤大帝无限流:预兆空间与十棺西游:开局卖手机,三界被玩坏了蓝星复苏造化玉碟,我快穿拿天赋锦绣山河之妃出农门
UU文学搜藏榜:学神红包群魅君心,弃妃不为后天命镇妖人斗罗之雷电法王开局家族弃子,入赘路上成大宗师超神御兽师蒸汽朋克核时代云中奇缘被拐骗到异世界做冒险者游戏诸天之旅穿越:带着兽族闯异界斗罗:我的时空穿越模拟器绝天仙王一切从复制开始迷雾之仙墨迹唐说乾坤争渡最强废材冰帝嫡大小姐之丹药师情深入骨之腹黑大佬傲娇妻不想修仙的我,开局被大帝追杀末世:从加点开始无限进化铸就无上仙秦:朕的儿女都有外挂九叔:躺平天师,摆烂就变强灭我秦家满门,我掀了你的天下我有一个吓诡系统纵横六界龙骑士的快乐存档就是资本玄天界尊爆红后和死对头成了顶流CP邪灵之少年至尊长城守夜人,签到八十年,人族当兴人在斗罗,已成教皇,加入聊天群中古骑砍录武法无天修仙沈家我有法螺能召唤玄幻:我能查看人生轨迹网王之打脸日常幸福难渡孩子劫超级大忽悠婚久情深,高冷大状追爱前妻弑天剑狱:一剑开天门异世界:我是如来老祖仙尊在现代的奇妙生活本宫是皇上蔷薇雨之夜千年忘川河系统赋我轮回长生,活着就能无敌星梦修仙传
UU文学最新小说:幻想怪能性转:这个修仙界的男人不对劲王者对弈逆鳌传IV狼烟再起马头墙下好柿成双纯阳圣体仙路迷途不思归我的徒弟全无敌炎灵魔神王王开局挖弟弟至尊骨,我直接捏爆法术大陆之幻象源起气运猎杀不跪即是神创仙代斗皇传说1双神风云帝尊重生:从盘点诸天万界开始绝美人鱼穿斗罗,男主们排队求宠青丘妖主签到完美世界:我的宝术自己修炼玄幻:从炼制合欢丹开始长生!燧神逆修录神幻星宇之十二星圣万古龙帝两色弈系统给我整成了个树败犬圣女,把头发盘起来!苦修之徒综影视:从安陵容开启爽文人生齐天剑仙在上莽荒纪之纪炎圣元纪事一双华传奇武道长生,从大离第一纨绔开始武晴天的另类漂流雷道独尊混渊冥帝我能无限模拟死亡征服九大女帝后,我成就无上仙帝!穿书反派:开局挖掉女主至尊骨噬天棺剑道圣君昆仑道门我拿蚊子当灵宠,全宗都贫血了!灵离情殇吞神塔混沌鼎:女帝逼我做道侣开局觉醒荒古圣体后,我走上武道巅峰重生九界,不修炼却无敌了银霜领主恨别亦难