tags:

views:

1043

answers:

17
+17  Q: 

Why not Turbo C++?

I am an Engineering Student from University Of Mumbai::RAIT. I am learning C++ from "C++ Primer" by Stanley Lipman and using Visual C++ 2008 as IDE. But, my institute and most of the institutes in my University prefer to use Turbo C++(Version 3.0) by Borland International. What arguments can I put against the use of Turbo C++ in my institute?

P.S.: I am sorry for any mistakes that I made with use of English.

+19  A: 

It's old?

Seriously though, you could say the software harmed kittens, getting I.T deparments that have no clue about how things work, to change, is hard.

Good luck.

Finglas
I should add that I was required to use Notepad and the command line for my first Java classes. It wasn't that bad actually, but I'd still prefer a first class IDE (especially one you're familiary with) over that scenario.
Finglas
At least with notepad, you get to choose the compiler, you don't have that luxury with turbo C++ :)
Soufiane Hassou
They would impose an editor upon you?!
Alex
The idea being it made us focus on the language, and compiler problems more than simply jumping to an IDE like NetBeans. The following course made use of NetBeans but yep, we were told what to use. That's academia for you.
Finglas
@Dockers: IMO it's ok to separate "working with an IDE" from "learning the language, and starting with no IDE at all to decloak some magic. Entirely different from using a last centuries IDe.
peterchen
Yes, but saying "No IDE" is different to "Use Notepad"! What if I want to use **Vim**? Or Emacs? Or *anything* decent! Notepad is unsuitable for coding!
Alex
+1  A: 

Because they already own Turbo C++ (i.e. no cost), it's very simple, and it works? The problem with Visual Studio is that you end up spending a lot of time teaching students about the IDE, instead of focusing on the language.

Andrew
Why not just teach them GWBasic then? Aren't schools supposed to make students ready to enter the world of the workforce?
Lasse V. Karlsen
It's not just about IDE, it's about the language standard. Turbo C++ doesn't conform to the latest C++ standard (98).
missingfaktor
IS VS express not available for educational use? is there really a cost to this? Also GCC is mantained and available at zero cost
TokenMacGuy
Many use gcc if they teach development on Macs or Linux. For example, at my school all electrical engineers learned to code c/c++ in gcc on linux. However, Turbo C++ still is a nice simple tool for teach c++ basics. I'd be surprised to find anything beyond a 100/200 level course offering it though.
Andrew
If you don't want to teach them about the IDE just teach them how to use the VC++ compiler from the command line, I don't see where's the problem.
Matteo Italia
why lead them to addiction on a proprietary product? why not teach them using a compiler that is free as in beer (LLVM), or even one that's also free as in speech (GCC)? MS is not really interested in C++ anyway, their libraries team (STL implementation) consists of **one** (admittedly very smart) person... if a university tried to teach me to become addicted to a proprietary product i'd demand my money back.
just somebody
@just somebody: did you just say MS is not interested in C++???
Charlie Somerville
@Charlie - what makes you think they are?
Andrew
+6  A: 

I am surprised that Turbo C++ is still around. For its time it was pretty decent, but that was a long time ago. My primary concern about using it today would be its lack of support for any recent additions to the C++ language.

There are other free C++ compilers available. Visual Studio Express is free as well and so is the GNU compiler. They are both a lot more up to date with the development for the language.

Brian Rasmussen
+2  A: 

OMFG, Turbo C is really really old.

OTOH it has a very short compile->run and compile->run->debug cycle. The editor is nice and the IDE is so simple that you can understand all options within a day.

Maybe your instructors decided to use Turbo-C because of it's simplicity. You don't have to learn which buttons to press and which buttons not, and which submenus (which may spawn another 100 submenues).

As a beginner it is easy to get lost in the Visual Studio IDE. Turbo C is much easier.

If it comes to understand a programming-language it is about the programming-language, not about understanding now to configure an IDE, and the Turbo C compiler is as good as visual C++ for learning the language (caveat: Not for production code).

Resume: Turbo C is easier as you don't have to deal with the environment but lets you concentrate on your task: Learning C. Imho it's a clever move of your prof to let you write code in TC.

Nils Pipenbrinck
Sir, they ask us to use TurboC++ for coding in both C and C++. So, is it advisable to use TurboC++ even for learning C++, when it does not follow the latest C++ standard?
Nikit Batale
@Nikit: they should be teaching C99 and C++03 or C++0x, but it's nice that they don't waterboard you with any particular MS Visual KoolAid.
just somebody
If they start to teach you programming you have much more basic problems to deal with than the subtle details of the "latest standard" or "C++0x. You'll learn how basic memory management works, and how to write a for loop. Not how to do meta programming with templates.
Nils Pipenbrinck
@Nils: While in general I agree, I think it's a shame to start C++ programmers out on "the wrong foot". `string` and `vector<T>` are *so* much better than the raw C equivalents. (I'm speaking as someone who, as a 13-year-old boy, was overjoyed to get TC++ for Christmas... :))
j_random_hacker
+2  A: 

1.Make some research into what is the best way c++ can be taught.

2.Prepare a white paper explaining the way and arguments with proven evidence.

3.Influence a few professors and present them with the papers.

4.Host a few sessions explaining your ideas with a few PPT files.

5.Win people over.

6.Invite a few expert FOSS and commercial vendors into your campus and have a discussion

7.Find out who makes the recommendations for the syllabus in the unversity and get them to change it.

8.Organize a strike to change the shit.Break all the computers in your lab.

8.If all above fail screw them and learn for you own good from the real masters.

TC++ is old real old.

abmv
I believe, most of the suggestion that you gave cant much be tried out!We dont have much time to write papers, or make a PPT.I wonder if any FOSS expert will come down to have a talk with the university people..Strike? That will throw us out of the college, and we end up losing our career..!And what exactly we are doing is the _second-eight_ point! :P :P
Srivatsan Iyer
[edit]_second-eighth_
Srivatsan Iyer
+4  A: 

I also learned c++ in turbo c++ and faced following problems when i went into real world:

1) turbo c++ is certainly not used anywhere at work so, you feel lost at first trying to use c++ in eclipse/visual studio, etc. setting up the dev environment, itself causes a lot of trouble.

2) turbo c++ has dos as it's runtime environment, and you end up learning near/far pointers and dos memory model for tc++ programs which is of no use outside of institute.

3) dos runtime environment will cause segmnetatin/memory access violation errors far less than in win32/linux environment and you may mess up your pointer concepts without these errors in learning phase.

4) also it has no support for template based libraries, etc. learning these concepts at work from scratch can be a bit of trouble at work place.

sachin
+1  A: 

Dev C++ is the convenient for all purposes I think. TurboC++ is a real problem i indian universities.

guru
+1  A: 

I never understood why a great number of institutions in the subcontinent still insist on using Turbo C++ for teaching. It's not like they paid for it, all of them are running warez copies anyway.

The solution could be to point them to Dev-C++. Although it's not under active development anymore, the latest version still comes with a relatively up-to-date compiler (MingW/GCC 3.4.2) for learning purpose.

IMO, it's the most suitable replacement for the following reasons:

  • Simplicity of Turbo C++ (very short compile->run and compile->run->debug cycle). You don't have to create project for 1 file simple programs.
  • Small package (8.9 MB with compiler)
  • It's free
Imran
May be most of the professors here in India learned their C/C++ from in Turbo IDE and don't want to take the extra effort to learn a better IDE until the academic curriculum demands it. I too learned C in Turbo C++ IDE while at college (6 years back). Now I use Dev C++ while in Windows and gcc in Linux .
Christy John
+2  A: 

Consider presenting them with examples of important C++ applications that cannot be compiled with Turbo C++. I assume that such applications are very easy to find, e.g. anything that uses Boost. Perhaps present also which C++ features simply do not work in it. Build your argument on real-world software using these features and thus that it is important to learn them as well.

Since price is very likely an issue there, suggest GCC and possibly Code::Blocks if an IDE is desired. Both are very high quality free software and they also work on Linux. In my own teaching I prefer not to teach IDE on the basic course, as there are little benefits using one, but setting up a new project for every tiny exercise takes time. Teaching how to use the IDE is also always away from something else.

Tronic
+1, but regarding price, Visual C++ Express Edition is totally free and very high quality (standard compliant, nice IDE, makes fast code).
j_random_hacker
+2  A: 

I learned to program using Borland Pascal and Borland C in the DOS world. I have to say, to this day, I think Borland's IDE is one of the best ever made. The edit-compile-run cycle is extremely fast, the online documentation (of the language) is superb and easy to use, and associated tools (Turbo Debugger) are great too. If I had to learn programming all over again, I'd choose Borland again. It's a pity the company seems to have lost its way.

For learning C, there should be no disadvantage to using the Borland product. You'll have to relearn some system calls when you move over to a POSIX system, but there's a benefit in learning multiple systems and the differences aren't that great anyway.

For C++, you will run into some more severe problems with Borland C++, but not immediately. I doubt that Borland C++ has decent support for the Standard Template Library (STL). If you're just learning the basics of classes, objects, inheritance, etc, this will not be a problem. After you master these skills, install g++ and go from there...

nibot
Excellent answer.
j_random_hacker
+20  A: 

Turbo C is a real real old, and an ancient compiler! Actually there arent any arguments as such that you can put to convince your professors to use modern IDEs like MS Visual C++, or Code::Blocks or any other good IDE for that matter.

Besides, there are lots of problems with Turbo C++(Im kinda sure TC3 is being used). I have no idea absolutely how you are going to convince them! :P

  • Its 16 bit (Since I am also from Mumbai University, I am pretty much sure, you people must be using TC3; 32 bit version of the compiler is also avaible..)
  • The maximum amount of memory that a program can use is 2^16 = 64 KB, which is very less as compared to modern day programs!
  • The programs are more like console based -- ie, I doubt if you can make real great programs using it..
  • Debugging is not as efficient as they are in other IDEs
  • It does not conform with the standards that are laid down
  • You can never learn the concepts like exceptions, templates (which are now at the heart of C++ ) and like with TurboC++
  • The compiler does not support modern casts, only C-Style casts.
  • No STL
  • And I doubt if it goes well with 3rd party libraries! eg database or graphics libraries..
  • The compiler has bugs and does not issue proper diagnostic messages for erroneous programs..

  • You end up learning C with classes instead of C++ (kind of) :D :P

Srivatsan Iyer
I was about to write this. +1 for reading my mind. This is the right answer.
this. __curious_geek
Well, I'd +1 you for standards non-compliance and lack of templates, exceptions or STL, but OTOH you can certainly make programs larger than 64Kb with Turbo C++ (64Kb is the "tiny" memory model). You may even be able to go above 640Kb with additional DPMI software, I can't recall now.
j_random_hacker
+2  A: 

if the reason they are using turbo c++ because its free then you can tell them gcc and vi editor are also free of cost and offer much better compiler/editor and also its used in industry so it will increase placement opportunities of students

Xinus
+3  A: 

Check out this link: Click Here.

If they are not still convinced, go on a strike, as someone above suggested!

+2  A: 

The best possible way to revolt would be to ask a 4th year student to put this question with the professionals that take up the recruitment during placements.. Im sure if u r going to tell them that the professors of the institute from which they are hiring are so unwilling to change to modern c++ compilers... that will really spark the discussion with the concerned professors and maybe it would become an interview process with the professors instead..haha :) And perhaps the question putter would be half way through the interview!! ;)

All the very Best.

ashishsony
+2  A: 

First you should find out for what reasons the institutes do still use this over-antiquated thing, and who has enough influence to change this. Are it really the professors? Or is it the IT department? Or some other guys? From a users perspective, there are tons of reasons to change to a newer compiler, but those reasons might not help you if the IT department is the one to be convinced. Those people might listen to other things like

  • 16 bit compilers won't run on 64 bit machines
  • no security patches available
  • users of the compiler need administrative rights on their machines to get things working (Do they? We had some problems with Borland C++ 4.5, so I suspect Turbo C++ 3.0 has these problems, too)
  • ... (and so on) ...
Doc Brown
+4  A: 

Why do you think using an old IDE for teaching C++ is bad?

In the case of teaching a C++ 101 class, I only see advantages:

  • Very fast compile-run cycles: This means you can run lots of examples in a very short time. With "professional" IDEs like Visual C++, you have to sit there for minutes for each compile cycle.

  • IDE GUI is so small that you can actually find the menu entries you need.

  • The goal of a C++ introduction is to teach the language, and not the APIs of libraries, operating systems, Windowing systems. So Borland C++ is way less distracting than Visual C++ in this respect. You can fully focus on C++, and for the little IO you need to do, printf/scanf is fully sufficient.

So in your case (C++ 101) I believe that switching to a more modern IDE would only slow students down and make the learning process more difficult.

Carsten Kuckuk
A: 

First of all, I think it's a good thing they start with teaching Turbo C++, I learned a lot during my MS DOS - years (started with Turbo Pascal and Turbo C++ myself).

However, I gave you a +1 because I think you raised a very valid question and I like people who are actively engaging in making things better for everyone.

StormianRootSolver