I am an engineering student. I basically use Turbo C for C programming. I'm facing negative remarks from most other programmers for using Turbo C. Can any one briefly explain to me the disadvantages and advantages of Turbo C?

The Turbo products were generally very fast. As I recall, among other reasons because they stopped on first error instead of generating an avalanche of irrelevant and misleading messages. The developer cycle was thus perhaps 10 years ahead of its times, while today’s tools, with silly-diagnostics avalanches and being slow as molasses, are perhaps 40 to 50 years behind their times – In My Humble Opinion.

As a very old product (as of 2012), Turbo C can run on very old or limited hardware, but for the same reason it cannot adhere to standards established after the last version, in particular the C99 standard. Nor can it support hardware introduced after the last version, such as SSE instructions (I think that was middle of the 1990's, perhaps 1996), and such as 64-bit instuctions. Nor can it support operating system APIs introduced after that, such as modern Windows.

So, it's very old, very primitive, very limited, but at the same time, able to run on limited equipment, and probably still lightning fast…

I can imagine that other programmers you have met look down on it out of ignorance.

It was a fine tool, and it probably still is – but for educational purposes and for producing software for today’s computers and OSes, you need something more modern.

Though I don't exactly disagree with @Alf on most points, I think the strengths and weaknesses can be summarized more succinctly: Turbo C is old enough that it was intended for MS-DOS (or compatibles, like DR-DOS) as both the development environment and the target.

If that's your target, it's about as good of a tool as it was at the time, and reasonably competitive with anything else that does the same -- most current tools simply aren't an option because they will not target that environment.

The real question, then, is whether you really want to target MS-DOS, and if so why, but that's really a separate (and mostly unrelated) question. Unless you really do need to target MS-DOS, I'd say the detractors are right: regardless of the tool itself, something that targets a more modern environment is probably preferable.