一名C/C++程序员对C#和JAVA程序员的忠告
毋庸置疑,所有的程序员都不会不同意这样的观点:编写程序是一种逻辑非常严谨的工作。
我作为一名老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程序员。
当然,程序语言本身没有错误,如何使用关键还看程序员自己,年轻的一代程序员,垃圾回收器,还是忘记这个工具的存在吧,你会变得越来越严谨。
我作为一名老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程序员。
当然,程序语言本身没有错误,如何使用关键还看程序员自己,年轻的一代程序员,垃圾回收器,还是忘记这个工具的存在吧,你会变得越来越严谨。
...全文
相关推荐
C#;Java;C,SQL给毕业生的忠告
在IT行业中,C#、Java、C 和 SQL 是四种至关重要的编程语言,它们各自拥有独特的特性和用途。对于初入职场的毕业生来说,理解和掌握这些技术是奠定职业基础的关键步骤。
学习C++的忠告(必看)
此外,C++也是许多其他现代编程语言的基础,如C#和Java,学习C++有助于理解它们的设计理念。接下来,我们探讨如何学好C++。学习C++并非易事,需要耐心和实践。
C#和C++的区别 自己网上找的
- **共性与差异**:虽然C#、C++和Java有许多共同之处,它们的语法结构和编程概念大部分都是兼容的,但各自也有其独特之处。
编程语言详细介绍 C C++ JAVA C#
编程语言是计算机与人类交流的桥梁,它们是程序员用来创建软件和应用程序的工具。本文将详细介绍四种常见的编程语言:C、C++、Java和C#,以及如何选择合适的编程语言进行学习。
C#调用C/C++DLL收取中文字符处理
在C#中调用C/C++编写的DLL时,处理中文字符的接收可能会遇到乱码问题。C/C++中的字符串通常用char*表示ASCII字符串,而wchar_t*表示Unicode字符串,其中Unicode字符



