The IDE is completely not irrelevant--there are a # of compiler differences between, for instance, the Code Warrior + Visual Studio compilers. Plus, when grading, you just want to be able to open up the code, hit compile (or type make), and run the exe against a standard set of input. Could you imagine everyone trying to schedule time w/ a TA to show code on the platform of their choice? It's not going to happen, speaking as both a student and a grader:)
Usually, people don't get marked down for too many comments, rather they might lose a fraction of a point for too few or for doing dumb things (e.g. using globals when it's not appropriate).
I'm not sure why you were never graded on code...perhaps your school focused more on theory than NU? We have a pretty good balance of math/theory + working code, and I'm happy...even if it has to run on Windows more often than not.
Truthfully, Objective-C takes ~2 hours to learn. In fact, check out the first chapter of my (needing-to-be-updated) tutorial, Using Objective-C++ on Mac OS X here for a comparison of ObjC to C++.
I used to be a C++ programmer, and then I spent some time playing w/ Cocoa, learning how the system works, and now, if Cocoa goes away, I think I'll quit programming. Its simple elegance and power is astounding, and freeze-dried objects in the NIBs are just cool. Just play w/ some of the tutorials (e.g. currency converter) before you discount it.
However, Cocoa-Java is kind of worthless. It's a kludge, and some of Cocoa's coolness comes from the weak-typing (id is slick--sort of a void* you can send messages to). Take a look @ cocoadevcentral, too.
Carbon, though, is klunky by comparison. Programming for that is just like programming for Windows/Linux...it's an API, and you can do nifty stuff, but it's not slick. Cocoa is slick. 'nuff said:)
Well, you shouldn't teach to a product, but when it comes time to do the assignment, and there are only 1 or 2 TAs, busy with their own classes/research, it's far easier to grade upwards of 100 assignments if you don't have to try and find 7 types of computers/compilers to grade.
At Northwestern, we alternate between needing Visual Studio and Linux, and I personally do all my dev on OS X and then take an hour to make sure it runs on whatever platform I need. It's worked fine the past 3 years:)
Just to clarify a bit, NU does not have 4 OC3s of general connectivity--much of that is "special purpose." Also, by shut-down, I meant severly impaired.
Lastly, I should add these comments are my own (not Northwesterns'), are not official, and could be wrong.
It's not like it should be an issue--the resnet's here for academic purposes. Even though we (Northwestern) have plenty of bandwith (4 OC3s w/ every student having either shared or switched 10 or switched 100), p2p traffic was really noticable until we started packet shaping, and just imagine what it's like @ Irvine where they only have 60 Mb/s. Also, we turn it down in the evening when it's pretty much only students on the network.
Interestingly enough, this was also a weak-point when someone (unknowingly) was part of a DoS attack: it overloaded the box and shut down everyone's network connection!
It's worth noting that Don Norman, the former VP of Apple's Advanced Technology Group and the author of The Design of Everyday Things (among others) is currently a professor at Northwestern University. He's teaching a class this quarter, the future design of everyday things (sorry--login required for the class page), and it's fascinating!
Are you sure it was for running NAT? Even though we officially say only 1 device per port, we generally don't have a problem w/ devices running NAT (or extending the network, such as a hub) unless they're screwing something else up. Chances are, you had something setup wrong (e.g. you were acting as a DHCP server for the entire subnet and not just your devices, such as the airport config used to be) or the device started misbehaving on the network, and our response was to shut you off and then find out who you are.
Shortly, we're rolling out a system to let us associate a netid w/ a computer, so we'll be able to call you directly when your port is shut off, but we currently don't have the capability.
Josh Senior Residential Network Consultant Northwestern University
There's a free ~40 page tutorial + sample code available at http://www.areax.net that covers both an introduction to Objective-C for C++ programmers as well as Objective-C++, the new (well, recently revived) language that lets you use C++ libraries in Cocoa.
Check it out! link
You don't even need G4s! Just gcc and Cygwin, Linux, or some other UNIX. Objective-c is the greatest language ever written, and it makes OOP easy to understand!
Josh
(who also knows C++, C, Java, Scheme, Pascal, Delphi, Basic, VB, and a little Python)
Schools like Digipen focus mainly on platform programming, eg how to code for the N64. That's fine and dandy, but happens when it takes 4 years to do the curriculum and then the hardware's outdated? http://www.cs.nwu.edu/academics/courses/c95-gd/ind ex.html is worth looking at--it's Northwestern University's current game design course where the focus is on true design. It's a great class!
and weighs as much, too! 6.9 lbs w/o a media drive!! and 1.5" thick. I'll keep my TiBook (or even a new 17" AlBook), thank you very much. :)
The IDE is completely not irrelevant--there are a # of compiler differences between, for instance, the Code Warrior + Visual Studio compilers. Plus, when grading, you just want to be able to open up the code, hit compile (or type make), and run the exe against a standard set of input. Could you imagine everyone trying to schedule time w/ a TA to show code on the platform of their choice? It's not going to happen, speaking as both a student and a grader :)
Usually, people don't get marked down for too many comments, rather they might lose a fraction of a point for too few or for doing dumb things (e.g. using globals when it's not appropriate).
I'm not sure why you were never graded on code...perhaps your school focused more on theory than NU? We have a pretty good balance of math/theory + working code, and I'm happy...even if it has to run on Windows more often than not.
josh
Truthfully, Objective-C takes ~2 hours to learn. In fact, check out the first chapter of my (needing-to-be-updated) tutorial, Using Objective-C++ on Mac OS X here for a comparison of ObjC to C++.
:)
I used to be a C++ programmer, and then I spent some time playing w/ Cocoa, learning how the system works, and now, if Cocoa goes away, I think I'll quit programming. Its simple elegance and power is astounding, and freeze-dried objects in the NIBs are just cool. Just play w/ some of the tutorials (e.g. currency converter) before you discount it.
However, Cocoa-Java is kind of worthless. It's a kludge, and some of Cocoa's coolness comes from the weak-typing (id is slick--sort of a void* you can send messages to). Take a look @ cocoadevcentral, too.
Carbon, though, is klunky by comparison. Programming for that is just like programming for Windows/Linux...it's an API, and you can do nifty stuff, but it's not slick. Cocoa is slick. 'nuff said
Josh
Well, you shouldn't teach to a product, but when it comes time to do the assignment, and there are only 1 or 2 TAs, busy with their own classes/research, it's far easier to grade upwards of 100 assignments if you don't have to try and find 7 types of computers/compilers to grade.
:)
At Northwestern, we alternate between needing Visual Studio and Linux, and I personally do all my dev on OS X and then take an hour to make sure it runs on whatever platform I need. It's worked fine the past 3 years
Josh
Just to clarify a bit, NU does not have 4 OC3s of general connectivity--much of that is "special purpose." Also, by shut-down, I meant severly impaired.
Lastly, I should add these comments are my own (not Northwesterns'), are not official, and could be wrong.
It's not like it should be an issue--the resnet's here for academic purposes. Even though we (Northwestern) have plenty of bandwith (4 OC3s w/ every student having either shared or switched 10 or switched 100), p2p traffic was really noticable until we started packet shaping, and just imagine what it's like @ Irvine where they only have 60 Mb/s. Also, we turn it down in the evening when it's pretty much only students on the network.
Interestingly enough, this was also a weak-point when someone (unknowingly) was part of a DoS attack: it overloaded the box and shut down everyone's network connection!
Josh
It's worth noting that Don Norman, the former VP of Apple's Advanced Technology Group and the author of The Design of Everyday Things (among others) is currently a professor at Northwestern University. He's teaching a class this quarter, the future design of everyday things (sorry--login required for the class page), and it's fascinating!
Josh
Are you sure it was for running NAT? Even though we officially say only 1 device per port, we generally don't have a problem w/ devices running NAT (or extending the network, such as a hub) unless they're screwing something else up. Chances are, you had something setup wrong (e.g. you were acting as a DHCP server for the entire subnet and not just your devices, such as the airport config used to be) or the device started misbehaving on the network, and our response was to shut you off and then find out who you are.
Shortly, we're rolling out a system to let us associate a netid w/ a computer, so we'll be able to call you directly when your port is shut off, but we currently don't have the capability.
Josh
Senior Residential Network Consultant
Northwestern University
Woo hoo
There's a free ~40 page tutorial + sample code available at http://www.areax.net that covers both an introduction to Objective-C for C++ programmers as well as Objective-C++, the new (well, recently revived) language that lets you use C++ libraries in Cocoa. Check it out! link
You don't even need G4s! Just gcc and Cygwin, Linux, or some other UNIX. Objective-c is the greatest language ever written, and it makes OOP easy to understand! Josh (who also knows C++, C, Java, Scheme, Pascal, Delphi, Basic, VB, and a little Python)
Schools like Digipen focus mainly on platform programming, eg how to code for the N64. That's fine and dandy, but happens when it takes 4 years to do the curriculum and then the hardware's outdated? http://www.cs.nwu.edu/academics/courses/c95-gd/ind ex.html is worth looking at--it's Northwestern University's current game design course where the focus is on true design. It's a great class!