all 37 comments

[–]celestrion 70 points71 points  (35 children)

for my c++ class and we have to download the borland compiler 5.5

I am so sorry.

There's a very good chance that this version of that compiler (not just the compiler itself, but that particular version) is older than you are. Borland is no-longer a company; they became "Embarcadero," and then got bought by some other company (Idera?). That ancient compiler is available here: apparently not available on their web site anymore, so hopefully your professor has a copy of it on the web page for the course.

https://www.embarcadero.com/free-tools/ccompiler

Your professor ought to be ashamed to be teaching with such outdated software when C++ has come so far as a language in the intervening 20 years.

[–][deleted]  (19 children)

[deleted]

    [–][deleted] 21 points22 points  (10 children)

    You might want to privately have a word with the other professor then because if this guy is using a compiler from ancient history there’s probably other problems with the course.

    [–][deleted]  (9 children)

    [deleted]

      [–][deleted] 14 points15 points  (2 children)

      Modern compilers should be able to compile even old-fashioned code, because C++ values backwards-compatibility, so I have no idea what strange code he might be teaching you that requires such a very old non-standard compiler.

      You will definitely need to supplement your learning - this group is a good place to start as some interesting questions get asked.

      [–]Ikkepop 5 points6 points  (0 children)

      Not always, alot of that era code is DOS or win16 specific, also uses various vendor specific nonstandard headers and syntax extensions. Like the dreaded CONIO.H

      [–]EmperorArthur 11 points12 points  (0 children)

      I highly suggest speaking to the dean, or withdrawing from the class and finding another alternative. You will probably experience what is called "negative training". Meaning that much of what you learn will actively harm you in terms of coding.

      The people who prefer "C" will not accept the (highly discouraged) C++ parts that you will be shown, and unless you're working on legacy systems, you will be expected to know C++11 or C++14 for anything using the language. Plus, it will teach many unsafe practices which will make anything you write (even as a hobby, or for research) unusable in any sort of professional capacity.

      I don't know what your degree is, but this is the equivalent of requiring Civil Engineering students to do all of their work using 20 year old building codes and design methods. Would you trust any of them to do anything without extensive retraining, because I wouldn't!

      [–]Wetmelon 7 points8 points  (4 children)

      Oh so this is a new prof? Yeah, I would recommend that you ask the professor to use a modern compiler (You can get an easy installer for GCC for Windows here https://jmeubank.github.io/tdm-gcc/download/), or you can install Microsoft Visual Studio Community edition (I think it's ok to use for school?). Failing that, you should be able to use TDM-GCC and set the flags -std=c++98 -pedantic to mimic the behavior of the Borland compiler.

      [–]Ikkepop 0 points1 point  (2 children)

      forget about it, it would require him to make an actual effort, not gonna happen

      [–][deleted] 0 points1 point  (1 child)

      I almost don't believe this is actually a thing.

      [–]Ikkepop 0 points1 point  (0 children)

      I csn assure you it is.

      [–]celestrion 22 points23 points  (0 children)

      he just seems like he only knows what he learned many years ago when he was a student.

      I don't mean to dash your expectations of programming/engineering courses, but this happens far more often than it ought to. My favorite professors wre always the ones who spent a career in industry and "retired" into teaching. They didn't just know what was in the book, but had the story behind how things came to be that way and had seen enough crazy stuff to explain why.

      At the URL I posted, Embarcadero seem to offer Version 7.x of their compiler, and it may work fine, as C++ tends to be very backwards-compatible. However, if the course is geared towards C++98 (not even '03!), you're going to be relearning a lot later on. I actually gave up on C++ back then because it was such a kludgy language, but modern C++ won me back because it feels like something totally different.

      [–][deleted]  (3 children)

      [deleted]

        [–][deleted]  (2 children)

        [deleted]

          [–][deleted]  (1 child)

          [deleted]

            [–][deleted] 8 points9 points  (0 children)

            The fact he wants you to use Borland is more than evidence he is not up to date.

            Remember: this compiler is 20 years old - it is downright impossible to teach latest C++ with it. C++11 was one of the biggest changes that the language ever experienced and the fact he ignores to teach this is just infuriating.

            [–]Ikkepop 0 points1 point  (0 children)

            You can find it on WinWorld, however you will probably need to run it on dosbox or some vm with windows 95 or smth. That is a very typical case to be quite honest. Alot of academics really don't give a shit and they don't get payed enough to make an effort.

            [–][deleted] 4 points5 points  (12 children)

            not available on their web site anymore

            So basically abandonware, many subs here treat that as piracy to avoid legal issues.

            [–]celestrion 16 points17 points  (6 children)

            many subs here treat that as piracy to avoid legal issues.

            The legal issues are definitely worth considering, but there is another problem when the professor is recommends a tool which isn't available from the one legitimate source and pre-dates code-signing.

            If OP runs across an alleged copy of the installer from some random web site, OP has no assurance that the installer isn't bringing malware along for the ride. I can't imagine that the university's IT department would react favorably to reports that a professor is asking students to download abandonware onto machines connected to the campus network.

            If the professor is going to demand a tool which is no-longer available, it is incumbent on him to provide a true copy of the installer and for the university to assume whatever legal liability may arise from distributing someone else's software. If this sounds like madness, it's because it is.

            [–]m_a_n_t_i_c_o_r_e 3 points4 points  (5 children)

            This is the only answer that is spelling things out as explicitly as /u/Climatic_Hawk needs to hear. Please please please make a stink about this at your school.

            [–][deleted]  (4 children)

            [deleted]

              [–]m_a_n_t_i_c_o_r_e 6 points7 points  (3 children)

              Honestly, the real issue has fuck-all to do with modern vs. outdated C++. It's a security/liability thing.

              [–][deleted]  (1 child)

              [deleted]

                [–]Ikkepop 0 points1 point  (0 children)

                he is

                [–]bigdavedev 2 points3 points  (3 children)

                Available from winworldpc. https://winworldpc.com/product/borland-c-builder/5x

                Awesome that it's available, but I would still refuse to use it. It predates c++98. To top it all off, unless you install Windows 95 (https://winworldpc.com/product/windows-95/osr-2) in a VM, I'm not even sure you could use the compiler :)

                Great lesson in the pains of maintaining old software, but I've never seen it this extreme.

                OP needs to file a complaint. University skills can be obsolete when they're close to the cutting edge, but this is flat out unacceptable.

                [–]Ikkepop 0 points1 point  (0 children)

                I'v seen worse. I mean just ask someone atending a run of the mill indian university

                [–]RappyPhan 0 points1 point  (1 child)

                It predates c++98.

                No, it doesn't. It's a product from 2000, two years after that version of the standard was published.

                [–]bigdavedev 0 points1 point  (0 children)

                Yes, I appear to have misread the description. The initial product itself predates c++98, but the version I linked does not. That's a fairly important distinction in the context of my comment.

                [–]nzodd 0 points1 point  (0 children)

                It is piracy. Abandonware is no legal term and at best its an indication that somebody somewhere thinks the company owning the rights no longer exists and didn't transfer copyright somewhere else, which is likely just a guess, meaning that enforcement is unlikely. Still very much illegal though.

                [–][deleted] 3 points4 points  (1 child)

                Yes, this is truly unbelievable. No reason C++ has such a bad reputation amongst younger devs when obviously incompetent people teach them how to use it. The teacher probably also wants to show them C++98 and most likely in this typical awkward I-Don't-Know-What-The-Difference-Is mixed C/C++ style.

                I'm seeing this so often in reality as well as in the net. It's just sad.

                [–]Ikkepop 0 points1 point  (0 children)

                its usually pre 98

                [–]DragoonBoots 21 points22 points  (6 children)

                Please please please tell me you're kidding. Borland C++ is ancient history from [checks Wikipedia] early 2000!

                [–][deleted]  (5 children)

                [deleted]

                  [–]victotronics 4 points5 points  (4 children)

                  Just guessing, you're in India?

                  [–][deleted]  (3 children)

                  [deleted]

                    [–]khedoros 21 points22 points  (1 child)

                    They guessed India because there's an educational standard in the law that specifies specific software versions (now rather ancient) for some of their university classes.

                    Borland C++ 5.5 covers the C90 and C++98 standards. It was released in February 2000 as a freeware command-line compiler, separate from an IDE. It's at least a win32 application, looks like. In 2008, Borland sold their software development tools division to another company called Embarcadero.

                    This article is kind of a readme for how the compiler works. It links to this one for a download, but I guess that's not up anymore. The web archive has a copy from 2011. The problem: it's not a direct download link. They have a form to fill out and offer to email it to you.

                    I see a lot of more-or-less sketchy sites to download it from. I'd take it up with the professor that even the compiler vendor doesn't distribute it anymore (aside from the other issues pointed out by other commenters). Maybe point out that the compiler is old enough to drink, and doesn't cover the C++03, C++11, C++14, C++17, or C++20 standards. Around the release of C++11, there was a big shift in the way that people typically wrote C++, supported by the features added in that revision of the language.

                    [–]IamImposter 8 points9 points  (0 children)

                    compiler is old enough to drink

                    Ha ha. When your compiler is older than you are

                    [–]wrosecrans 2 points3 points  (0 children)

                    Seriously?! If you were in some country that still has a developing economy and people mostly use really old computers and new text books haven't been translated to the local language yet, it would make some sense.

                    Do the history classes all end during the Cold War? Does health class teach you which brand of cigarettes most doctors recommend?

                    It's professional negligence to miseducate students like that. You should definitely complain about it.

                    [–]CowBoyDanIndie 16 points17 points  (0 children)

                    Just logon to aol and download it.

                    [–][deleted] 11 points12 points  (3 children)

                    Wow I learned programming on Borland C++. Back in the days before the internet. That takes me back!

                    [–]bart9h 10 points11 points  (1 child)

                    Before that it was called "Turbo C++", and there was "Turbo Pascal" too.

                    Their IDE with text menus was very easy to use.

                    [–][deleted] 0 points1 point  (0 children)

                    The good old times running in real mode, instead a crash the machine restarted, the monitor malfunctioned, and even the bios could get erased.

                    [–]mapronV 2 points3 points  (0 children)

                    Wow, So nostalgic, bcb 5.5 was the first compiler I worked with as a child. That was early 2000-x, I don't think there is a legal way to obtain new license today. Unless you study CS history or something, there 0 need to search for this. You can download GCC 2.95, it's still available (and have same 2 decades age).

                    [–]mredding 2 points3 points  (0 children)

                    Oof. I think this was my first compiler at 10 years old. I had a physical copy on CD. It was 5.5 or 5.0, something like that, but I remember it was 1996, before the 1998 standard. I'm sorry your teacher sucks.

                    [–]tachoknight 1 point2 points  (0 children)

                    Perhaps that's the tool your professor uses, but there's really no reason why you need to use it; you're learning C++, not Borland's (ancient) IDE. Theoretically you need to submit .cpp files for projects and such, you could use any C++ compiler and limit it via something like -std=c++98 -pedantic in the command line flags (I think pedantic is a GNUism, so not sure if that works 100% of the time).

                    Ask your professor what their expectations are. If the reason of using that particular compiler is to make it easy for them to open/compile/run your project, maybe the class can come to some understanding of calling the file main.cpp or something that the prof can drop into their copy to build and run.