View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Fall01 Final Exam Review: Language Choices

Back to Final Exam Review - Fall2001

A. I would use Java, because of its ability to run on any platform (as required by the specification), and also it's ease of developing custom frames and windows.
Squeak also has good support for custom Frame' and Windows and it's much more portable than Java since the VM is written in Squeak Jared Parsons

B. I would use VB for this because it only has to run on windows boxes, and it has to be built very very fast. VB gives you EASY access to the complete win32 api, and very rapid windows development. Perhaps even some activex component plugins written somewhere else for fancy graphics??

I would choose C++ or java for this, but would prefer C++ because of its speed. This is a very big project that needs to be very structured and stable, and I think both langauges can offer that.

D. I would choose C or C++ for this because it needs to be very very fast, but the maintainability is not really an issue here.

E. I would definatly use Java here so that the basic GUI and framework for the game would not have to be completely rewritten for the mac and pc. However, java doesn't really have the speed requirements for massive rendering, so I would probably have calls to native code libraries that WOULD have to be rewritten, but would give huge speed increases. I would write these in C or C++ simply for speed.

Jason Fulghum

A) Java or Squeak. Because it's your own proprietary software speed is not necessarily an issue but portability is. Squeak and Java are both portable and very network ready. Both Java and Squeak are also very GUI ready. Java might have a small edge here because it has strong encryption builtin(Not sure about Squeak).
B)VB. Sicne it's windows specific, intensive GUI, and a short developement time frame VB is the answer. VB can use ActiveX to gain hardware acceleration(or at least I assume it can based on my limited knowledge of ActiveX and VB)
C)Java or Squeak. Both languages have excellent Database support, are object oriented and highly maintainable. VB was scrapped here because of it's lack of maintainability.
D)C or C++. The choice between these two would be decided by the object oriented nature(or lack there of) when decoding MPEG. Both of these languages are extremely fast and maintainability is not an issue. Both compile to binary so they can easily be burned into ROM.
E) C++. C++ is great and heavy 3D graphics. It is also very portable if written correctly.
F) Squeak. It has excellent support for defining code on the fly and being interperted at runtime. Java also has support for this but it's not as easy to do as Squeak.
Jared Parsons

Jason, I completely disagree with your "C," and Jared, I'm only partially convinced by your "C". What would you expect in a language that you're going to bank a multibillion dollar industry on? Jason, what's the critical thing that Squeak has for "F"? "E" of this problem was written by Olin Shivers when he taught CS2340, and his answers say, "C and C++ are the most UNACCEPTABLE answers for this question." Any idea why? Hint: Neither portability nor speed are the most critical issues here. Mark Guzdial

I don't understand why speed or portability isn't an issue aren't issues for (E) because they are rendering 3D graphics, and working on PCs and Macs. Actually, it's not too hard to transfer code between PCs and Macs, you don't need a virtual machine or anything. But what other language could render 3D graphics as fast as this program needs?
Matt Quigley
Rendering does need speed. But look closely at the problem. You're going to move CODE between machines of different types AND DIFFERENT LEVELS OF TRUST. Whatcha want that code running on? Mark Guzdial

C) C++ only, not only because of its speed (I don't think you'd want a VM in this case, native code is probably the best bet), but it is expected to stay around for another 30 years AND be able to be maintained by a horde of programmers.
E/F) You would probably want an interpreted language in this case, becuase code is uploaded to a central server then distributed back out. C/C++ would be bad because there is no separation between the users's code and the hardware/OS. VMs can offer a level of security separation between the hardware/OS and the code to be run. You wouldn't want a hacker to write malicious code and then distribute it to thousands of PCs where the code could be run natively would you? (or am I missing the boat completely? :)
Alfred Park

A) Squeak.. simply because they said processing code would be changed and this is most easily done with Blocks only provided in Squeak. In all other aspects Java or Squeak would work.
D) Why not just directly use Assembly? If there won't be any maintainability and speed is a critical issue.. Assembly! I'm not sure what set-top box means, but If that means it's written for a specific machine.. then.. Assembly!
Jesse Shieh

Question: What would be the reason to choose Squeak over Java or vice versa?
-Brandon Yarbrough
C. Java. This needs to be secure. Security is one of the strong points of Java and one of the weak points of Squeak. It should also be portable, and a VM is great for that. It also needs to be in a well known and documented language so that it can be understood and coded as efficiently as possible by hundreds of programmers, Java is both. Will Java be around in 30 years? If TIRKS is written in it, then yes.
C. (In response to Stephen) I think that the security issue is resolved Smalltalk, but is more prevelant in Squeak. If it didn't require that hundreds of programmers work on this code, then I would say Smalltalk. Eiffel is the choice here, because it is the most structure of the O-O choices. Highly structured means a more structured development. A more structured development is required large groups of programmers.
Unknown Assailant

Link to this Page