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邪灵之少年至尊长城守夜人,签到八十年,人族当兴人在斗罗,已成教皇,加入聊天群中古骑砍录武法无天修仙沈家玄幻:我能查看人生轨迹网王之打脸日常幸福难渡孩子劫超级大忽悠婚久情深,高冷大状追爱前妻弑天剑狱:一剑开天门本宫是皇上蔷薇雨之夜千年忘川河星梦修仙传我能无限强化天命离婚99天,我的完美先生龙飞逍遥他走的时候留下了钥匙
UU文学最新小说:动手就加熟练度,我凶威滔天万倍返还:我为第一天帝穿越异世,我的骷髅铺满全世界从苍穹开始开局与圣女双修,觉醒九阳圣体星幻之缘自编文学醒世恒言贬为杂役后,我无敌了你们哭什么命运剑帝快拦住他,别让那把剑出鞘!从菜市场杀到源星,谁敢占我便宜极寒之下不养刁民尘缘丨猪八戒与高翠兰的故事玄幻,小小反派的崛起娘子太努力,我摆烂怎么了?有兽焉:抱歉,梦醒无兽重生:坠崖后捡个老头走向巅峰黑龙特别行动组2你们修仙,我撸口子逆脉无道穿越洪荒,我以三大本尊证道永恒系统迟到!重生后让我攻略她们词条一出,妖魔跪下臣服!遮天之太古仙泪晚年修仙合欢宗灵霄传世牛牛的传奇老祖不一般,无敌从炼化万物开始开局:大帝修为,建立战神殿奇观说反派:从拿下美女师姐开始无敌穿越双界:丹炉助我成两界传奇混沌炼气修炼一天涨百天修为,我要无敌了开局盗王系统,却成了道祖洪荒之开局神魔精血铸混元圣体游戏修成真仙后,现实灵气复苏了逍遥宗把魔神捡回来了?一入都市便成最强修仙者九丹化混沌都市隐龙,仙途无悔我的侍女是绝色天骄九叔:从末法民国开始攀登仙路万界主宰悟性太高我全能悲报!我用法宝干翻世界从婴儿开始强化词条谁都别想超度我!乾坤小世界囚徒行愚弟奥丁