Sage Vs C++(with NTL) for implementing cryptosystems Is Sage a better alternative to C++(with NTL), for programming that involves math objects like polynomial rings in cryptosystems? I hear that Sage is an open source alternative to Magma. I have used Magma before for such programming and it was easier than using C++ because it had built in keywords for defining such structures and to work with them.

I also found that I can make use of the NTL lib in Sage. Is there any advantage to using C++ in terms of efficiency?
Sage can actually use NTL under the hood, so if you are more comfortable with sage (or that style of coding) and can implement things using the ntl wrapper, then there is likely no advantage to using NTL directly in C++.