• Join over 1.2 million students every month
  • Accelerate your learning by 29%
  • Unlimited access from just £6.99 per month

I have been heavily involved with programming throughout my high school career. I've studied two years of Java and have taken two college courses at Milwaukee School of Engineering, which covered C++.

Extracts from this document...

Introduction

IB Extended Essay Java Vs C++ Matthew Stanelle Abstract: I have been heavily involved with programming throughout my high school career. I've studied two years of Java and have taken two college courses at Milwaukee School of Engineering, which covered C++. I have a good background in both languages. Though familiar with the languages, I have analyzed the differences between the two in-depth and clearly stated the advantages Java has over C++. I will explore many various topics and issues regarding both languages, including object-orientation, primitive types, development processes, architecture, and their effectiveness. As you will see, Java has many superior qualities and offers great advances for the computer programming industries in the near future. This new design offers many opportunities. Contents Page: Introduction Page 3 Body Page 3 Object-orientation Page 3 Primitives Page 4 Robust Page 4 Development Process Page 5 Security Page 5 Architecturally Neutral Page 5 Multithreading Page 6 Garbage Collection Page 6 Pointers and Data Structures Page 6 Conclusion Page 7 Bibliography Page 8 Word Count = 3,163 Intro: Java is one of the greatest advancements in the history of computer programming and is derived from C++. Programs written in C++ need to be compiled according to each particular computer chip. Thus, when new chips come out, most software must be recompiled. ...read more.

Middle

All numeric types in Java are signed, whereas they can be signed or unsigned in C++. Boolean data types are primitive requiring them to be true or false, instead of having no explicit Boolean data type in C++. Thus, conditions are either true or false and not represented with integers. Also, Java makes use of 16-bit Unicode characters and C++ uses 8-bit ASCII characters. ROBUST Java is generally more robust than C++ for several reasons. Firstly, references, or handles, are automatically initialized to null. Secondly, those same references are checked before they're accessed and before exceptions are thrown (if any problems occur). Thirdly, accessing arrays out of bounds is impossible. And finally, automatic garbage collection prevents memory leaks. Java emphasizes early error checking to prevent possible problems, dynamic runtime checking, and avoiding erroneous situations; Java creates a robust runtime environment for all of its programs. . Although C++ derived strong compile-time checking from C, it is still's susceptible to its loopholes. Implicit Declaration is one of the main characteristics of C, which causes C++ to be so error prone6. The advantage of this is the elimination of having to worry about corrupting or freeing memory. There are no loopholes in Java that would compare to what you would find with C++, since it eliminates implicit types and function declarations. ...read more.

Conclusion

Although the actual performance is reliant on the operating system, multithreading usually increases the performance. GARBAGE COLLECTION Garbage collection is a technique that, in Java, disposes of objects, which are no longer needed. In the form of a thread, this function watches all references and periodically checks each one to determine if it's still needed. At that point, the garbage collection frees all of the memory allocated for that object. Garbage collection makes programming easier and can eliminate entire classes of errors. This feature was left out of the development of C++ because this would have caused a conflict with C as far as compatibility is concerned. Automatic garbage collection wasn't suitable for many low-level tasks that its intended for in C++. However, there aren't any compatabilty issues with Java. Thus, this feature was incorporated into the language and now, programmers don't have to concern themselves with free blocks of memory, making the language safe and simplistic POINTERS AND DATA STRUCTURES Java lacks pointers and specific data structures, but that's not a bad thing. Unlike C++, several data structures classes can be found in the standard version of Java; contained in the standard class library. Java does not support pointers, or at least Java will not allow the developer to change any address contained in the pointer, nor will it support the use of pointer arithmetic. Unlike Java, C++ supports pointers with dereferencing (* or ->) and with address operators (&) that can lead to potential memory leaks10. ...read more.

The above preview is unformatted text

This student written piece of work is one of many that can be found in our AS and A Level Computer Science section.

Found what you're looking for?

  • Start learning 29% faster today
  • 150,000+ documents available
  • Just £6.99 a month

Not the one? Search for your essay title...
  • Join over 1.2 million students every month
  • Accelerate your learning by 29%
  • Unlimited access from just £6.99 per month

See related essaysSee related essays

Related AS and A Level Computer Science essays

  1. Marked by a teacher

    The systems development life cycle (SDLC) is a conceptual model used in project management ...

    3 star(s)

    Some would argue, however, that it is a case of revolutionaries evolving into statesmen, and once boldly innovative thinking becoming the new orthodoxy. In its embrace of the object-oriented paradigm, and the use of software engineering tools to enhance programmer productivity, it was certainly ahead of its time.

  2. Visual basic

    p1p = p1p + 1 Timer2.Enabled = True End If If X1.Visible = True And X4.Visible = True And X7.Visible = True Then MsgBox "Player X wins", vbOKOnly, "The End" Timer2.Enabled = False lösch p1p = p1p + 1 Timer2.Enabled = True End If If X1.Visible = True And X5.Visible

  1. Computer Architecture

    C3 C2 C1 (1)(1)(1)(1)(0) O S4 S3 S2 S1 Diagram 2 (The labels from Diagram 1 still apply for this Diagram and the others) Example 2 Binary 1001+ 1101 ______ 10110 The following equation should look like this (1) (0) (0) (1) A1 A2 A3 A4 + (1)

  2. Influential Factors in Choosing a Programming Language

    A lot of resources are spent before the first line of code is even written to make sure that the language and IDE we choose will be the most suitable and acceptably reliable, because choosing an "unreliable solution means more money spent in maintenance costs."

  1. I have been given the task to design a database for a company called ...

    Thus showing that the query is definitely working correctly. Finding ID I used the business 'Hats are you', you can see from appendix one what the correct data should be. Below is a screen print of the findings via the query.

  2. Different ways of data capture

    Communications maybe via: * Microwaves * Satellite links * Telephone line * Or combo of above Use of Global network has increased considerably over past few years due to: * Changeover of telephone networks from analogue to high speed digital technology * Reduction in cost of connecting to and using

  1. With diagrams compare and contrast the relative advantages and disadvantages of digital transmission over ...

    In electronics, a signal is an electric current or electromagnetic field that is used to convey data from one place to another. The simplest form of signal is a direct current (DC) that is switched on and off; this is the principle by which the early telegraph worked.

  2. Security Issues of E-Commerce

    There was absolutely no other reason in which the internet was intended for. However, as time has increased we have found new uses and new methods for the internet which has meant some external protection is needed. If, the external methods are implemented with aplomb then there is no safer was of carrying out a transaction.

  • Over 160,000 pieces
    of student written work
  • Annotated by
    experienced teachers
  • Ideas and feedback to
    improve your own work