双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

一名C/C++程序员对C#和JAVA程序员的忠告

szwxj szwxj 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
毋庸置疑,所有的程序员都不会不同意这样的观点:编写程序是一种逻辑非常严谨的工作。

我作为一名老C/C++程序员,早就已经养成了分配和释放内存一定要成对出现的习惯,比如:

void demo_func (void)

{

new xxxxClass;

xxxVar = malloc(size);

.....

free(xxxVar);

 delete xxxxClass ;

}

近期在阅读一名C#程序员编写的C代码时,简直可用惨不忍睹来形容,一段程序中需要使用一个变量,每次使用,都用Create创建对象的方法,但是根本没有释放,美其名曰说:习惯了,C#有垃圾回收器帮你做事。

如果垃圾回收器被这样来使用的话,那么真是无语了。

我想,C#和JAVA的垃圾回收器设计的理念应该不是为了让程序员这样来使用吧,而是为了使得内存的使用更有效率,为了弥补程序员在编写程序时没有显式释放内存的缺陷而设计的吧,但并不代表你就不需要显式地释放内存。

很多JAVA程序员编写的程序运行一段时间后就会越来越慢,是否就是这个原因呢,不得而知。

在此,我作为一名C/C++程序员,给所有的C#和JAVA程序员一个忠告,那就是尽可能不要依赖垃圾回收器来为你工作,而要相信自己,养成良好的逻辑思维习惯和编程习惯,这样,你的代码才能做到稳定、可靠、高效地运行,你自己的逻辑思维能力和逻辑判断能力也才能不断地提高。否则,你不可能成长为一名合格的,逻辑严密的,真正的程序员。

从另一个角度来看,C#和JAVA的垃圾回收器真的不是一个好东西,它的存在,破坏了程序的严谨性,有可能毁掉了没有学习过C语言的年轻一代的C#和JAVA程序员。

当然,程序语言本身没有错误,如何使用关键还看程序员自己,年轻的一代程序员,垃圾回收器,还是忘记这个工具的存在吧,你会变得越来越严谨。


...全文

相关推荐

评论 88
收藏 已收藏
分享
返回顶部
szwxj
C# 111,129 成员 642,540 内容