Rodrigo Strauss :: Blog
Onde está o STL.NET?
Uma das maiores promessas do Visual C++ 2005 era a STL.NET, uma adapatação da STL para ser usada com tipos managed. Isso faria com que nós, programadores C++, continuassemos usando a STL mesmo programando em .NET - mesmo porque, comparado com a STL, os containers e algoritmos do .NET Framework parecem brincadeira de criança. O próprio Stan Lippman escreveu um artigo em 2004 falando da STL.NET. Ela possibilitaria que você escrevesse - em .NET, 100% managed e safe - um código assim:
ref class ProgrammingLanguage { bool _hasMultipleInheritance; bool _isStandard; bool _hasBoost; //apelei... :-) String^ _name; public: ProgrammingLanguage(String^ name, bool hasMultipleInheritance, bool isStandard, bool hasBoost): _name(name), _hasMultipleInheritance(hasMultipleInheritance), _isStandard(isStandard), _hasBoost(hasBoost) {} property String^ Name { String^ get() { return _name; } } ref class IsBestLanguage { public: bool operator()(const ProgrammingLanguage^ language) { return language->_hasMultipleInheritance && language->_isStandard && language->_hasBoost; } }; }; int main(array<System::String ^> ^args) { vector<ProgrammingLanguage^>^ Languages = gcnew vector<ProgrammingLanguage^>(); vector<ProgrammingLanguage^>::iterator iBestLanguage; ProgrammingLanguage ^CSharp, ^CPlusPlus, ^VB, ^Java; CSharp = gcnew ProgrammingLanguage("C#", false, true, false); CPlusPlus = gcnew ProgrammingLanguage("C++", true, true, true); VB = gcnew ProgrammingLanguage("Visual Basic / Visual Fred", false, false, false); Java = gcnew ProgrammingLanguage("Java", false, false, false); Languages.push_back(CSharp); Languages.push_back(CPlusPlus); Languages.push_back(VB); Languages.push_back(Java); iBestLanguage = find(Languages->begin(), Languages->end(), gcnew ProgrammingLanguage::IsBestLanguage()); if(iBestLanguage != Languages->end()) Console::WriteLine("A melhor linguagem de programação é: " + *iBestLanguage); return 0; }
Pois é, mas por algum problema a STL.NET não saiu junto com o Visual Studio 2005. Eu procurei em todos os headers do VC8 e não achei nada. Quando eu cansei de fuçar, resolvi perguntar no fórum de Visual C++ da Microsoft gringa. E a resposa não foi bem o que eu esperava... A STL.NET vai ser disponibilizada como download, futuramente. Só espero que eles tenham atrasado a STL.NET por causa das várias novidades que eles lançaram na parte unmanaged - que é o que interessa do final das contas.
(Quanto à brincadeira sobre a melhor linguagem de programação, não fique bravo, eu não sou o único que fala besteira)
Em 28/11/2005 00:57, por Rodrigo Strauss





Puxa vida! Agora que eu estou estudando C++ feito louco, estão dizendo que vai morrer...