开发者

Is there a language with the speed of C/C++ but without buffer overflows and has a garbage collector?

开发者 https://www.devze.com 2023-03-24 03:52 出处:网络
I am looking for a programming language that is fast like C and C++ and has a garbage collector and is not prone to buffer overflo开发者_JS百科ws. I am looking for something between Java/C# and C/C++.

I am looking for a programming language that is fast like C and C++ and has a garbage collector and is not prone to buffer overflo开发者_JS百科ws. I am looking for something between Java/C# and C/C++. Is there such a language?


Checking for buffer overflows and collecting garbage has a cost: if you need these features, then you will not get the speed of C/C++. Tradeoff.

Java and C# are very, very close to C++ speed in most types of applications, so unless you need something very specific, I suggest you go with one of those 2 languages.

If you just want a garbage collector for C++, you can get one here.


You could take a look at D. It's a compiled language with most of the features from C++ in addition to garbage collection and some others.


Language "speed" is highly application dependent. The JVM is darn fast for certain kinds of code--hot spot can actually be faster than native code. On the other hand, functional style and a good optimized can let you get good performance with less code--often Haskell apps are as fast in practice as ones in C.

For a real cross of Java/C# and C++ the best place to look is the D language. It has garbage collection, and optional access to malloc and free and even inline assembly for C level performance. It has enough safety to be less prone to buffer overflows, but you can still have them. http://www.digitalmars.com/d/2.0/index.html

You can always garbage collect C/C++, but it will cost you. Java, Haskell, ML, even Python can use garbage collectors that know what values might be pointers, so are faster than using a collector for C, C++, or D.

0

精彩评论

暂无评论...
验证码 换一张
取 消