6 ms·
If my high school CS teacher had told me that Mac OS had been written in Pascal, I would have been slightly more enthused about learning it. I had a similar, n
by drewr 17y ago
If my high school CS teacher had told me that Mac OS had been written in Pascal, I would have been slightly more enthused about learning it. I had a similar, nebulous unease with it as dadhacker and really enjoyed C when I got to college.
- cesare 17y agoI dropped out of college (CS) instead, also because of an episode related to this. An assignment for an exam was to make a simple library management program in pascal (cataloging books, leading, receiving them back etc.), mainly to test our understanding of pointers. Even if we also had Macs at the university, we've been asked to make a command line app. But, since I was studying the Mac OS gui programming by myself, I made a graphical application instead. The assistant professor that was evaluatings our assignment didn't believe that I had made it myself. She probably couldn't understand it herself (but, obviously, all the relevant functions were separated from the gui code). So she asked me to rewrite everything from scratch as a command line application in a couple of hours in front of her. I managed to do it but I was really really pissed off. Shortly thereafter I started working and dropped out.
- theli0nheart 17y agoWhat's incredible is that a lot of the time, GUI-based applications are only a smidgen more complicated than their command-line counterparts. Sad that your professor didn't seem to know this.
- DrJokepu 17y agoas he mentionned, this happened 17 years ago. While I never programmed the original Mac OS, I know that Win16 GUI programming wasn't the simplest thing ever at all - it was considerably more complicated that parsing a command line; you had to deal with message queues, pass pointers around with no nice OO interfaces.
- barrkel 17y agoYou ignored the requirements and demonstrated expertise in the wrong area, IMO. In a similar situation, I wrote the required command-line app, but it handled queries, basically parsing to an expression tree predicate. Of course, it doesn't matter now.
- cesare 17y ago> You ignored the requirements and demonstrated expertise in the wrong area, IMO. The assignment was about implementing the functionalities of a simple library management app. And it was explicitly to test using pointers, linked lists ecc. The requirements were fully implemented. And all the queries were handled by functions which were completely separated from the gui code. Basically, instead of a textual menu (1 - borrow, 2 - return etc.) you had a Mac Os menu and the results were presented inside fields in a window instead of a textual output. If I had to convert the program to a textual interface by editing my source (instead of doing everything from scratch) it would have took me 5 minutes (or less). IIRC the code was already there and simply commented out. Keep also in mind that our lab was full of Macs (50-60 machines) with just a PC (which, btw, has been used by a guy who had made the app with his own advanced textual interface - something like ncurses - and who had a similar fate as mine). So I thought it was a plus to use the native gui of the OS we were using all the time. > Of course, it doesn't matter now. Of course. It happened 17 years ago :-)
- nitrogen 17y agoIn my experience, CS professors like automating the grading process as much as possible. It's conceivable that your assistant professor was upset she couldn't just run your app through the grading script.
- cconstantine 17y agoWe had something similar at Purdue. In fact, we were frequently given an example 'correct' program whose output we needed to match exactly. It took me much longer to get register assignment in my compilers' class to match the professor's results than it took me to get it 'correct'. This gets to interfaces though. I don't know about the gp, but if the assignment specifies a particular interface then that becomes a part of the spec. It doesn't matter that you made a more advanced interface, if it doesn't match the required interface it's wrong.