Why you shouldn't be using Turbo C++

Most schools and colleges in India that teach Computer Science or Information Technology tend to use C and C++ as the first programming languages. The sad part is that many of these C++ courses still use the Turbo C++ Compiler.

Here's the compiler that I'm talking about:
Turbo C++ 3.0 | Image Courtesy: Wikipedia

C++ has evolved a lot since Turbo C++ was released. Turbo C++ 3.0 was first released in 1991. If you like using software that's more than 20 years old, you'd probably want to switch to Windows 95 too.

I've tried to create a list of reasons why you shouldn't be using Turbo C++:

  1. Turbo C++ was released way before C++ was standardized in 1998, and it doesn't comply to any proper standard.
  2. Proper support for std::string or std::vector din't exist. If you're college uses Turbo C++, it's going to expect you to use C-style strings and arrays.
  3. It is a 16-bit compiler, which means it won't run natively on 64 bit systems.
  4. The compiler doesn't support C++ casts (static_cast, const_cast, dynamic_cast, reinterpret_cast). Only C-style casts are supported.
  5. Lack of third party library support.
  6. You're not going to be using this at your workplace. Unless you're going to be working with a 10+ year old codebase.
  7. You'll mostly end up learning C (except for iostream and fstream).

At the end of the day, it's all about learning to program though. You can always use what's being taught to learn more. If you're really upset about Turbo C++ being used in your college, this might make you feel better.

However, I really think you should do yourself a favour and learn C++11 or C++14 rather than some ancient non-standard C++ and you'll be glad you did so.