C.S. class WTF


  • ♿ (Parody)

    @mikeTheLiar said:

    @anonymous234 said:
    R.M.S.

    God. I actually started reading that link until I started to feel lice in my beard.

    heh...

    @RMS' Words to Avoid said:

    But if you want to show you stand for freedom, don't use a neutral term.

    Right or wrong, here's one problem we don't have around here!



  • @boomzilla said:

    Right or wrong

    I am offended to your reference to a reference to a reference to sexual assault.


  • ♿ (Parody)

    @Ben L. said:

    @boomzilla said:
    Right or wrong

    I am offended to your reference to a reference to a reference to sexual assault.

    I am sorry that I could not offend you directly.



  • I had CS classe where the 'grader' was a set of unit-tests the teacher wrote, and all assignments were graded automatically; having a 'grader' be an actual breathing human is TRWTF.

     


  • Trolleybus Mechanic

    @esoterik said:

    I had CS classe where the 'grader' was a set of unit-tests the teacher wrote, and all assignments were graded automatically;
     

    So prof's code is all....
    [UnitTest()]
    GradeQuestion1()
    {
       Assert(Student.Question1(4) == 8);
    }

    And your code is....
    function int Question1(int input)
    {
      return 8;
    }



  • @esoterik said:

    I had CS classe where the 'grader' was a set of unit-tests the teacher wrote, and all assignments were graded automatically; having a 'grader' be an actual breathing human is TRWTF.

     


    I don't really think that "passing unit tests" is a valid way to grade student's code. In theory, you should be grading them on a bunch of other things other than if it works. In the real world, I totally agree with you, but students should also be evaluated on implementation, standard, code style, etc.



  • @esoterik said:

    I had CS classe where the 'grader' was a set of unit-tests the teacher wrote, and all assignments were graded automatically; having a 'grader' be an actual breathing human is TRWTF.

     

    Right up until it fails over the output because you used spaces instead of a tab character or vice versa, and the error-report only prints out HTML. We had one of those systems back when I was doing a course on JAVA, finding out exactly what pedantic little difference the test failed on took twice as much time as writing the actual code.

    Not saying these systems are all horrible; in another course the teacher gave us the input and expected output for the methods we needed to write, which included small margins for error. As long as you used more or less the same formulas, it would accept it. Since we're talking probability theory here with loads of formulas, the order of which could subtly affect your answer, this saved everyone a great deal of time. Plus, it was only a self-verification tool anyway: actual grading was done by someone who'd sit down and discuss your code with you.



  • @FragFrog said:

    JAVA
    Twitch.



  • @Mason Wheeler said:

    Why does anyone even care about makefiles/project files for homework-grade projects?  In my CS classes, we turned in code.  Makefiles aren't even necessary until you hit a certain degree of complexity that's well beyond anything you're going to do in college.

    What kind of dinky things were you writing in your courses?  I mean for some of the low level classes I can sorta see this, but once you start your 300 level courses then they would be hella useful (doing an OS, AI, or compiler class can't be done without doing a big project).



  • @PedanticCurmudgeon said:

    @Clueless_Luser said:

    Part of the point of teaching a class that uses ANSI C++ should be stressing portability

    ROFL
     

     

    ...I stress "should be"; I'm all-too-painfully aware that the Real World has portability and interoperability problems. (Hint: I used to do J2ME on mobile phones as a day job, and have observed the same compiled bytecode producing radically different results on different devices from the same manufacturer...)

     


  • Considered Harmful

    @Lorne Kates said:

    @esoterik said:

    I had CS classe where the 'grader' was a set of unit-tests the teacher wrote, and all assignments were graded automatically;
     

    So prof's code is all....
    [UnitTest()]
    GradeQuestion1()
    {
       Assert(Student.Question1(4) == 8);
    }

    And your code is....
    function int Question1(int input)
    {
      return 8;
    }


    I posit that the unit test is broken, not the student's implementation.



  • @mikeTheLiar said:

    @FragFrog said:
    JAVA
    Twitch.

    Eh, this was in '03 or so, way back when everyone (at least in academia) still thought JAVA was the way to the future. Heck, as an entry-level course in OOP, it's a decent enough choice. Of course you could go with C++, but then you'd first spend half the course explaining all the intricacies of the language rather than OOP concepts*; or you could go for something like python, but it'd be nice to develop skills you might actually use outside an academic environment.

    * years later, I actually took a (mandatory) course like that. It was changed from an OOP course to a data-structures course the next year for obvious reasons.



  • @joe.edwards said:

    @Lorne Kates said:

    @esoterik said:

    I had CS classe where the 'grader' was a set of unit-tests the teacher wrote, and all assignments were graded automatically;
     

    So prof's code is all....
    [UnitTest()]
    GradeQuestion1()
    {
       Assert(Student.Question1(4) == 8);
    }

    And your code is....
    function int Question1(int input)
    {
      return 8;
    }


    I posit that the unit test is broken, not the student's implementation.

    That's why you always [code]assert(sizeof(Question1) > 512) //512 bytes means they probably wrote the whole thing[/code]



  • @FragFrog said:

    @mikeTheLiar said:
    @FragFrog said:
    JAVA
    Twitch.

    Eh, this was in '03 or so, way back when everyone (at least in academia) still thought JAVA was the way to the future. Heck, as an entry-level course in OOP, it's a decent enough choice. Of course you could go with C++, but then you'd first spend half the course explaining all the intricacies of the language rather than OOP concepts*; or you could go for something like python, but it'd be nice to develop skills you might actually use outside an academic environment.

    * years later, I actually took a (mandatory) course like that. It was changed from an OOP course to a data-structures course the next year for obvious reasons.

    He's upset that you're writing Java as if it were an acronym - check his post's tags.


  • ♿ (Parody)

    At least they aren't asking you to work with (yuck) girls.



  • If the machine type doesn't have a decent IDE with accessibility features, then it's not worth writing software for.

    I'm not advocating for or against any IDE (especially since most good ones, including VS, can be made to talk to an external toolchain); I'm advocating against requiring a specific one, especially one that is not cross-platform.  This, in my mind, should count as a colossal accessibility problem, too.

     


  • BINNED

    @Clueless_Luser said:

    @PedanticCurmudgeon said:

    @Clueless_Luser said:

    Part of the point of teaching a class that uses ANSI C++ should be stressing portability

    ROFL
     

     

    ...I stress "should be"; I'm all-too-painfully aware that the Real World has portability and interoperability problems. (Hint: I used to do J2ME on mobile phones as a day job, and have observed the same compiled bytecode producing radically different results on different devices from the same manufacturer...)

     

    LMFAO

    You have no idea. Unlike Java, c++ doesn't even claim to be write-once-run-anywhere. Unless you're writing a CLI, you have to use Win32/.NET1 in the Windows world2 and your choice of libraries in the *nix world. At this point your code is already not portable. But even within the *nix world, c++ programs are only portable in the sense that they will compile on almost any *nix machine if you have a bunch of #ifdefs and use autoconfig to figure out which ones apply.

    1Mono does work on *nix, but it doesn't have WinForms or whatever people who develop Windows desktop apps are using these days.

    2Unless you use something like GTK, which nobody installs on Windows, or WxWidgets, which almost nobody installs on Windows.



  • @Mason Wheeler said:

    The real WTFs here: (and I'm surprised no one has mentioned either of them yet)

    Why does anyone even care about makefiles/project files for homework-grade projects?  In my CS classes, we turned in code.  Makefiles aren't even necessary until you hit a certain degree of complexity that's well beyond anything you're going to do in college.

    The C++ classes I was unfortunate enough to have to take were kind of the opposite of yours: everything was required to compile and run properly in GCC on Linux.  But I did all my coding in Visual Studio for one very simple reason: it had a real debugger.  That alone made me one of the most productive students in the entire class, and I'm finding it difficult to understand why you would want to use the GCC toolchain when something superior is not only available but explicitly preferred for your class!

     Did you go to UT?

     



  • @Clueless_Luser said:

    I'm advocating against requiring a specific one, especially one that is not cross-platform.  This, in my mind, should count as a colossal accessibility problem, too.

    How do you figure?



  • @blakeyrat said:

    @Clueless_Luser said:
    I'm advocating against requiring a specific one, especially one that is not cross-platform.  This, in my mind, should count as a colossal accessibility problem, too.

    How do you figure?

    Blakey.

    Let's say you were in a computer programming course where you learned a language named Cool. Let's say your first assignment was to write a program in this language you have never heard of using a reference compiler that outputs executables for MIPS. Let's say you don't actually have a MIPS machine, and you don't own any OSes that can run on MIPS.

    Now replace "OS" with "IDE" and "MIPS" with "Windows".



  • I asked for Clueless_Luser's line of thinking. Not Ben L.'s idiotic scenario which is so far in the realms of hypothetical my head is spinning.



  • @Mason Wheeler said:

    The real WTFs here: (and I'm surprised no one has mentioned either of them yet)

    Why does anyone even care about makefiles/project files for homework-grade projects?  In my CS classes, we turned in code.  Makefiles aren't even necessary until you hit a certain degree of complexity that's well beyond anything you're going to do in college.

    You never ever did a project which required more than 1 command to build? That would seem weird...
    A valid reason would be automated testing. Programming courses in my college sometimes requires specific names and/or argument so a bunch of instances can be run through the problem so grading is easier, which is very useful as soon as you leave the CS 101 area were people actually validly can do different things which all can be correct.

    The C++ classes I was unfortunate enough to have to take were kind of the opposite of yours: everything was required to compile and run properly in GCC on Linux.  But I did all my coding in Visual Studio for one very simple reason: it had a real debugger.  That alone made me one of the most productive students in the entire class, and I'm finding it difficult to understand why you would want to use the GCC toolchain when something superior is not only available but explicitly preferred for your class!

    I'm not very familiar with the C++ world, but isn't the GCC toolkit the compiler (+linker etc.) and GDB the debugger from that chain? Visual studio has a very similar toolset and the Visual studio IDE integrates them into a nice environment. You're just pointing out the advantages of an IDE, which I assume must also exist in the open-source C++ world. (Eclipse CDT comes to mind, but I haven't actually used it)


  • ♿ (Parody)

    @blakeyrat said:

    I asked for Clueless_Luser's line of thinking. Not Ben L.'s idiotic scenario which is so far in the realms of hypothetical my head is spinning.

    LOL. How the fuck would you know? It actually sounds a lot like some of the stuff Ben L. bored us with before. Anyway, it's not our fault you're too stupid to understand obvious points.



  • @boomzilla said:

    @blakeyrat said:
    I asked for Clueless_Luser's line of thinking. Not Ben L.'s idiotic scenario which is so far in the realms of hypothetical my head is spinning.

    LOL. How the fuck would you know? It actually sounds a lot like some of the stuff Ben L. bored us with before. Anyway, it's not our fault you're too stupid to understand obvious points.

    Yep, completely hypothetical.



  • @blakeyrat said:

    I asked for Clueless_Luser's line of thinking. Not Ben L.'s idiotic scenario which is so far in the realms of hypothetical my head is spinning.

    Let's say you're taking CS 101, Intro to C++. The professor requires you to use Visual Studio 2012 Express. You are not allowed to use Bloodshed or gcc. You do not have access to a Windows machine at home, or anywhere other than the computer lab at the school. Effectively, this means that you must do all of your programming in the computer lab.



  • @mikeTheLiar said:

    @blakeyrat said:
    I asked for Clueless_Luser's line of thinking. Not Ben L.'s idiotic scenario which is so far in the realms of hypothetical my head is spinning.

    Let's say you're taking CS 101, Intro to C++. The professor requires you to use Visual Studio 2012 Express. You are not allowed to use Bloodshed or gcc. You do not have access to a Windows machine at home, or anywhere other than the computer lab at the school. Effectively, this means that you must do all of your programming in the computer lab.

    Wait, they won't let me program in C++ by killing people?



  • @Ben L. said:

    @mikeTheLiar said:
    @blakeyrat said:
    I asked for Clueless_Luser's line of thinking. Not Ben L.'s idiotic scenario which is so far in the realms of hypothetical my head is spinning.

    Let's say you're taking CS 101, Intro to C++. The professor requires you to use Visual Studio 2012 Express. You are not allowed to use Bloodshed or gcc. You do not have access to a Windows machine at home, or anywhere other than the computer lab at the school. Effectively, this means that you must do all of your programming in the computer lab.

    Wait, they won't let me program in C++ by killing people?


    Bloodshed.



  • @dtech said:

    @Mason Wheeler said:

    The real WTFs here: (and I'm surprised no one has mentioned either of them yet)

    Why does anyone even care about makefiles/project files for homework-grade projects?  In my CS classes, we turned in code.  Makefiles aren't even necessary until you hit a certain degree of complexity that's well beyond anything you're going to do in college.

    You never ever did a project which required more than 1 command to build? That would seem weird...

    What's so weird about that? "g++ <main_file.cpp>" should take care of all your college-level compiling needs.

    A valid reason would be automated testing. Programming courses in my college sometimes requires specific names and/or argument so a bunch of instances can be run through the problem so grading is easier, which is very useful as soon as you leave the CS 101 area were people actually validly can do different things which all can be correct.

    Even in the 100-level classes, we were taught that there are multiple valid solutions to almost any problem.  In fact, one of the first assignments I ever had was to do X, and then come up with another, completely different way to do X, submit both, and explain which one I liked better and why.  I don't see why any of this interferes with automatic testing.  Establishing a predefined interface, perhaps, but that's got nothing to do with makefiles.

    The C++ classes I was unfortunate enough to have to take were kind of the opposite of yours: everything was required to compile and run properly in GCC on Linux.  But I did all my coding in Visual Studio for one very simple reason: it had a real debugger.  That alone made me one of the most productive students in the entire class, and I'm finding it difficult to understand why you would want to use the GCC toolchain when something superior is not only available but explicitly preferred for your class!

    I'm not very familiar with the C++ world, but isn't the GCC toolkit the compiler (+linker etc.) and GDB the debugger from that chain?

     

    Yes, asking that question shows that you're not very familiar with the toolchain. ;-)

    GDB is basically a little kid who says "I want to be a debugger when I grow up."  It's missing several important debugging features, most notably a real IDE to host it.  Can you imagine trying to do interactive debugging on a command line?

    @mikeTheLiar said:

    Let's say you're taking CS 101, Intro to C++. The professor requires you to use Visual Studio 2012 Express. You are not allowed to use Bloodshed or gcc. You do not have access to a Windows machine at home, or anywhere other than the computer lab at the school. Effectively, this means that you must do all of your programming in the computer lab.

    Only if something is very very wrong at your school.  We were supposed to use our student logins from the labs to submit projects.  As I mentioned earlier, I did everything from Visual Studio, back at my dorm.  I would then Telnet in to the lab, copy/paste  the completed work into VI (*shudder* why'd you make me dredge up that memory?) and make sure it all compiled and ran, and submit.

    Likewise, there's no good reason why a student on a Linux box shouldn't be able to RDP into the school's Windows-based lab to work.

     



  • @Ben L. said:

    @boomzilla said:
    @blakeyrat said:
    I asked for Clueless_Luser's line of thinking. Not Ben L.'s idiotic scenario which is so far in the realms of hypothetical my head is spinning.
    LOL. How the fuck would you know? It actually sounds a lot like some of the stuff Ben L. bored us with before. Anyway, it's not our fault you're too stupid to understand obvious points.
    Yep, completely hypothetical.

    Cool! But:

    @Cool Manual said:

    <FONT size=3 face=CMR10><FONT size=3 face=CMR10>The </FONT></FONT><FONT size=3 face=CMTT10><FONT size=3 face=CMTT10>coolc </FONT></FONT><FONT size=3 face=CMR10><FONT size=3 face=CMR10>compiler generates MIPS assembly code. Because we don’t have a MIPS-based machine to</FONT></FONT></FONT></FONT><FONT size=3 face=CMR10><FONT size=3 face=CMR10>

    run them on, Cool programs are run on a MIPS simulator called </FONT></FONT><FONT size=3 face=CMTT10><FONT size=3 face=CMTT10>spim</FONT></FONT><FONT size=3 face=CMR10><FONT size=3 face=CMR10>.

    </FONT></FONT>

    So not even the teacher has a real MIPS machine to run the binaries on!

    And Cool 2013 is a subset of Scala, which runs on the JVM anyway. The MIPS target must be inherited from previous versions of that language.



  • @mikeTheLiar said:

    @blakeyrat said:
    I asked for Clueless_Luser's line of thinking. Not Ben L.'s idiotic scenario which is so far in the realms of hypothetical my head is spinning.
    Let's say you're taking CS 101, Intro to C++. The professor requires you to use Visual Studio 2012 Express. You are not allowed to use Bloodshed or gcc. You do not have access to a Windows machine at home, or anywhere other than the computer lab at the school. Effectively, this means that you must do all of your programming in the computer lab.


    No, it means you do your programming at home/in your head, most of your testing at home, and simply do the final crosscheck at the school labs. It's really not that much of a burden for you to come in to wrap up an assignment at the computer labs. Presumably you'll be showing up at some point to attend class, right?


  • Discourse touched me in a no-no place

    @dtech said:

    You never ever did a project which required more than 1 command to build? That would seem weird...
    Not weird. Incomplete in the build department. A project should take only one action to build (even if that action causes many other actions to be carried out in the process) but there are sometimes good reasons for taking slightly more, such as modifying the defaults for some reason.

    I wouldn't necessarily dump all of that on a student though. Well, not until they're a postgraduate and have the time to learn about a pro system.


  • ♿ (Parody)

    @Mason Wheeler said:

    GDB is basically a little kid who says "I want to be a debugger when I grow up."  It's missing several important debugging features, most notably a real IDE to host it.  Can you imagine trying to do interactive debugging on a command line?

    WTF?! We're not all mental cripples.



  • @boomzilla said:

    @Mason Wheeler said:
    GDB is basically a little kid who says "I want to be a debugger when I grow up."  It's missing several important debugging features, most notably a real IDE to host it.  Can you imagine trying to do interactive debugging on a command line?

    WTF?! We're not all mental cripples.

     

    What does mental capacity have to do with it?  As I explained above, it's all about productivity. I'm capable of debugging with no debugger at all, using "printf debugging" and similar techniques. I certainly have the mental capacity to do so.  But I also have the mental capacity to realize that there are far better ways of solving the relevant problems, such as having an interactive debugger with sub-windows available that constantly update themselves to give me a current view of the stack trace, the local variables, and the current evaluation of various relevant expressions. Having this information constantly at hand doesn't make you stupider; it frees you from having to waste time repetitively querying for them and frees up mental capacity to work on actually solving the problem.



  • @mikeTheLiar said:

    Effectively, this means that you must do all of your programming in the computer lab.

    Poor baby?

    I bet the University cancelled their free diaper service too.


  • ♿ (Parody)

    @Mason Wheeler said:

    @boomzilla said:

    @Mason Wheeler said:
    GDB is basically a little kid who says "I want to be a debugger when I grow up."  It's missing several important debugging features, most notably a real IDE to host it.  Can you imagine trying to do interactive debugging on a command line?

    WTF?! We're not all mental cripples.

     

    What does mental capacity have to do with it?  As I explained above, it's all about productivity. I'm capable of debugging with no debugger at all, using "printf debugging" and similar techniques. I certainly have the mental capacity to do so.  But I also have the mental capacity to realize that there are far better ways of solving the relevant problems, such as having an interactive debugger with sub-windows available that constantly update themselves to give me a current view of the stack trace, the local variables, and the current evaluation of various relevant expressions. Having this information constantly at hand doesn't make you stupider; it frees you from having to waste time repetitively querying for them and frees up mental capacity to work on actually solving the problem.

    I've debugged inside an IDE and with gdb. Neither takes up enough of my time to be a major source or sink of productivity. I know that, for instance, blakeyrat spends most of his time in a debugger. That sounds like hell, and doesn't come at all close to my experience. I'm glad you and he are more productive, but that doesn't mean that I need the same crutches to be so.



  • @Mason Wheeler said:

     GDB is basically a little kid who says "I want to be a debugger when I grow up."  It's missing several important debugging features, most notably a real IDE to host it.  Can you imagine trying to do interactive debugging on a command line?

     

    Just launch the graphical front-end!

    See? Much better now.



  • @anonymous234 said:

    @Mason Wheeler said:

     GDB is basically a little kid who says "I want to be a debugger when I grow up."  It's missing several important debugging features, most notably a real IDE to host it.  Can you imagine trying to do interactive debugging on a command line?

     

    Just launch the graphical front-end!

    <snip>

    See? Much better now.

     

    What I see:

    Code view.

    Basic debugging navigation (run, pause, step).

    Breakpoints.

    A button labeled "Watch".

    So far, so good.  But notably missing:

    Stack trace window

    Local variables window

    Threads window

    Immediate expression evaluator (This is not the same thing as a watch!)

     

    Like I said, GDB is a little kid that wants to be a debugger when he grows up.

     


  • Discourse touched me in a no-no place

    @Mason Wheeler said:

    I'm capable of debugging with no debugger at all, using "printf debugging" and similar techniques. I certainly have the mental capacity to do so.  But I also have the mental capacity to realize that there are far better ways of solving the relevant problems, such as having an interactive debugger with sub-windows available that constantly update themselves to give me a current view of the stack trace, the local variables, and the current evaluation of various relevant expressions.
    That gets considerably more difficult to do when you're dealing with an application that actually consists of a cluster of services all interacting with each other and mostly running in different security contexts (some of which are dynamically generated). Attaching debuggers to that sort of monstrosity tends to be a bit hard, but logging (or its buck-toothed ugly little brother, the printf) still works.


  • Discourse touched me in a no-no place

    @Mason Wheeler said:

    So far, so good.  But notably missing:

    Stack trace window

    Local variables window

    Threads window

    Immediate expression evaluator (This is not the same thing as a watch!)

    It's been a while since I've used it, but DDD certainly used to do those things. The bottom window will let you evaluate expressions immediately (so long as you ask for them to be printed) and the other windows are just not displayed right now. The really nice thing about DDD is that it has (or certainly used to have) a way of drawing (you know, with pictures) the graph of objects you've got.

    Hah yes. Poking around for a few seconds on its website finds this image:

    Note the graph near the top.



  • What about conditional breakpoints? I'd say it looks ... barely acceptable.



  • @blakeyrat said:

    What about conditional breakpoints? I'd say it looks ... barely acceptable.
     

    Not to mention advanced breakpoint options.  (Does it have any?)  The debugger I work the most with is Delphi's, and it's got some amazing tools available for advanced breakpoint work.  You can tell a breakpoint not to break to the debugger, and instead:

    • Evaluate an expression and log the result to the event log
    • Log the call stack
    • Turn on or off other breakpoints labeled with an arbitrary "group name"
    • Log an arbitrary message to the event log

    In conjunction with conditional, counting, and memory-address breakpoints, a skilled user can make this debugger dance.  It's very useful for heavily multithreaded code of the sort that simply stepping through tends to be a lot less useful for, and it's a far better alternative than instrumenting your code with printf/OutputDebugString statements, because then you don't have to go back and remove them again before checking in.



  •  

    I asked for Clueless_Luser's line of thinking.

    Ben L. put this about as well as I could have.

    To add another layer of WTFishness, we have an assignment that needs to draw something, but we're explicitly banned from using any cross-platform libraries to do so.



  • @Clueless_Luser said:

    I've just had a professor tell me that he needs to have all work handed in in a Visual Studio 2012 project because his grader doesn't know what to do with makefiles; it should be noted that the class is an introductory data structure class, rather than something that is Windows-centric or actually needs Visual Studio to be taught.

    Maybe I have this all wrong, but I count at least three WTFs here:

    1. Why is this person allowed to help grade computer-science homework without knowing how to use the standard command line tools (hint: this person is an upperclassman, and I know for a fact that this topic is gone over extensively in a required introductory Unix class)?
    2. Not every student has Windows at home (I, for example, switch between Ubuntu and OpenIndiana).
    3. Requiring not only Visual Studio, but a specific version of it (we were explicitly requested not to use VS 2013, because the grader apparently doesn't have it). 

    I am starting to remember why I hated university so much the first time round.

    At my school, we ping-ponged back and forth between standard toolsets almost every semester. It was a politically charged issue, negotiated b/w various instructors and University IT.

    I remember being required to use Borland Turbo C++ (MS-DOS) for a couple of semesters... many a programming career died on that altar. You could work in whatever compiler you wanted, of course, but it was Turbo C++ at the lab, running on MS-DOS. There was no protection against subtly overwriting the compiler, OS, or runtime libraries in memory, nor was there any warning if your program accidentally did this. And it did. To their credit, the university ended that experiment pretty quickly, in favor of GCC running on something called a TI Eagle. Toward the end, instructors even began to explain the issue and suggest ways around it. It was too late for many.

    This was in the mid-late 1990s. I have little doubt that the level of brutality you're enduring now is much lower.



  • My school was all Borland C++ Builder. That was like a year before they discontinued the product. Me coming from CodeWarrior, it was like stepping back in time.



  • @blakeyrat said:

    My school was all Borland C++ Builder. That was like a year before they discontinued the product. Me coming from CodeWarrior, it was like stepping back in time.

    Borland was top dog from about 1985-1995. They just destroyed their competition over and over again: Turbo Pascal, Turbo C++ for Windows, Borland C++ 5.0, etc. were groundbreaking products that really showed what was possible on the hardware of the time. I actually saved up to buy some of those products as a kid... they were just such ridiculous displays of development prowess that I had to have them.



  • @boomzilla said:

    @mikeTheLiar said:
    @anonymous234 said:
    R.M.S.

    God. I actually started reading that link until I started to feel lice in my beard.

    heh...

    @RMS' Words to Avoid said:

    But if you want to show you stand for freedom, don't use a neutral term.

    Right or wrong, here's one problem we don't have around here!

    How about this one?

    “LAMP” stands for “Linux, Apache, MySQL and PHP”—a common combination of software to use on a web server, except that “Linux” in this context really refers to the GNU/Linux system. So instead of “LAMP” it should be “GLAMP”: “GNU, Linux, Apache, MySQL and PHP.”
    Apparently RMS has never heard of lamps, or he has invented something called a glamp which is more useful.


  • @blakeyrat said:

    @Clueless_Luser said:
    The command-line tools of which I speak are cross-platform and have been ported to Windows (and work quite nicely - MinGW is awesome); in addition, they're widely used for non-desktop-PC target devices, so not exposing the students to them early on is, in my opinion, doing them a disservice.

    The CLI tools are completely inaccessible. That's like saying Stephen Hawking shouldn't be allowed to teach because he can't hold a piece of chalk. Fuck that logic.

    The class is teaching *programming*. The only criteria is that the student can successfully write the program. It doesn't matter what tools the student uses to do that, and in the interest of making the class available to the widest assortment of students that *should* 100% be using a good IDE, one that supports every accessibility feature of the OS, to teach the class and you should be fucking cheering them on.

    Then you should go back to your LUG or whatever and say, "hey guys, what's Linux's approach towards accessibility?" and when they say, "fuck the disabled!" (which they will, but probably using a lot more words than that) you should feel extremely ashamed.

    @Clueless_Luser said:

    As I stated before, I believe that if one is going to grade CS homework, one really should understand how to use the standard command line tools as they really do represent a least-common denominator between disparate machine types.

    If the machine type doesn't have a decent IDE with accessibility features, then it's not worth writing software for.

    Writing decent IDEs with accessibility features for systems that don't (yet) have them can be worth quite a lot.

     Other than that, requiring students to turn in their CS work in a specific, definitely non-obscure format isn't exactly the hate crime the OP seems to think it is.



  • @bridget99 said:

    Borland was top dog from about 1985-1995. They just destroyed their competition over and over again: Turbo Pascal, Turbo C++ for Windows, Borland C++ 5.0, etc. were groundbreaking products that really showed what was possible on the hardware of the time. I actually saved up to buy some of those products as a kid... they were just such ridiculous displays of development prowess that I had to have them.

    Where Borland really excelled (in my opinion) was the documentation. I still have about 30 kg of Turbo C and Borland Pascal manuals left. (Then again, I don't know if competing products were any worse in that regard.)



  •  I know the feeling.

     Recently I almost got points deducted for handing in an exercise in pdf format.

     We HAD to hand them in as .docx

     Who the ???? is not able to open pdf files???

     I think they automated part of the grading since most exercises consistsed of taking a screenshot of your console window?! Don't ask me how or why they used docx files for this, I dont know either!



  • @mt@ilovefactory.com said:

    It might be because i went to an univercity with focus on theory, but why would the grader need to run the software at all? I meen it's a a data structure course, so in order to do any usefull grading he would need to read the source code. What possible information could you get from running the software?

    Exactly. I think part of the confusion is that people confuse 'Computer Science' with 'Software Engineering' or 'Information Technology', when they are clearly separate domains.

    Blah blah blah, that Djikstra quote about Computer Science, Astronomy and Telescopes.


Log in to reply