Java 2: the Complete Reference, Third Edition

Total Page:16

File Type:pdf, Size:1020Kb

Java 2: the Complete Reference, Third Edition • ™ 41 Java 2: The Complete Reference, Third Edition Patrick Naughton Herbert Schildt Osborne / McGraw-Hill Berkeley New York St. Louis San Francisco Auckland Bogota Hamburg London Madrid Mexico City Milan Montreal New Delhi Panama City Paris Säo Paulo Singapore Sydney Tokyo Toronto Contents Preface xxv Acknowledgments xxvii The Java Language 1 The Genesis of Java 3 Java's Lineage 4 The Birth of Modern Programming: C 4 The Need for C++ 6 The Stage Is Set for Java 7 The Creation of Java 7 Why Java Is Important to the Internet 9 Java Applets and Applications 10 Security 10 Portability 10 Java's Magic: The Bytecode 11 The Java Buzzwords 12 Simple 12 vii » viii Java™ 2: The Complete Reference Object-Oriented 13 Robust 13 Multithreaded 14 Architecrure-Neutral 14 Interpreted and High Performance 14 Distributed 14 Dynamic 15 The Continuing Revolution 15 Features Added by 1.1 15 Features Deprecated by 1.1 16 Features Added by 2 16 Features Deprecated by 2 17 Java Is Not an Enhanced HTML 17 2 An Overview of Java 19 Object-Oriented Programming 20 Two Paradigms 20 Abstraction 20 The Three OOP Principles 21 A First Simple Program 27 Entering the Program 27 Compiling the Program 28 A Closer Look at the First Sample Program 29 A Second Short Program 31 Two Control Statements 33 The if Statement 33 The for Loop 35 Using Blocks of Code 37 Lexical Issues 39 Whitespace 39 Identifiers 39 Literais 39 Comments 40 Separators 40 The Java Keywords 40 The Java Class Libraries 41 Uli 3 Data Types, Variables, and Arrays 43 Java Is a Strongly Typed Language 44 The Simple Types 44 Integers 45 byte 46 short 46 int 46 long 47 Floating-Point Types 47 float 48 double 48 Contents ix Characters 49 Booleans 50 A Closer Look at Literais 52 Integer Literais 52 Floating-Point Literais 52 Boolean Literais 53 Character Literais 53 String Literais 54 Variables 54 Declaring a Variable 54 Dynamic Initialization 55 The Scope and Lifetime of Variables 56 Type Conversion and Casting 59 Java's Automatic Conversions 59 Casting Incompatible Types 59 Automatic Type Promotion in Expressions 61 The Type Promotion Rules 62 Arrays 63 One-Dimensional Arrays 63 Multidimensional Arrays 66 Alternative Array Declaration Syntax 72 A Few Words About Strings 72 A Note to C/C++ Programmers About Pointers 73 4 Operators 75 Arithmetic Operators 76 The Basic Arithmetic Operators 76 The Modulus Operator 78 Arithmetic Assignment Operators 78 Increment and Decrement 80 The Bitwise Operators 82 The Bitwise Logical Operators 84 The Left Shirt 86 The Right Shift 88 The Unsigned Right Shift 89 Bitwise Operator Assignments 91 Relational Operators 92 Boolean Logical Operators 94 Short-Circuit Logical Operators 95 The Assignment Operator 96 The ? Operator 97 Operator Precedence 98 Using Parentheses 98 5 Control Statements 101 Java's Selection Statements 102 if 102 switch 106 * 2: The Complete Reference Iteration Statements 111 while 111 do-while 113 for 116 Some for Loop Variations 119 Nested Loops 121 Jump Statements 121 Using break 122 Using continue 126 return 128 6 Introducing Classes 131 Class Fundamentals 132 The General Form of a Class 132 A Simple Class 133 Declaring Objects 136 A Closer Look at new 138 Assigning Object Reference Variables 139 Introducing Methods 140 Adding a Method to the Box Class 140 Returning a Value 142 Adding a Method That Takes Parameters 144 Constructors 147 Parameterized Constructors 149 The this Keyword 151 Instance Variable Hiding 151 Garbage Collection 152 The finalize() Method 152 A Stack Class 153 7 A Closer Look at Methods and Classes 157 Overloading Methods 158 Overloading Constructors 161 Using Objects as Parameters 164 A Closer Look at Argument Passing 167 Returning Objects 170 Recursion 171 Introducing Access Control 174 Understanding stark 178 Introducing final 180 Arrays Revisited 181 Introducing Nested and Inner Classes 183 Exploring the String Class 187 Using Command-Line Arguments 190 8 Inheritance 191 Inheritance Basics 192 Member Access and Inheritance 194 A More Practical Example 195 A Superclass Variable Can Reference a Subclass Object 198 Contents Using super 199 Using super to Call Superclass Constructors 199 A Second Use for super 204 Creating a Multilevel Hierarchy 205 When Constructors Are Called 209 Method Overriding 210 Dynamic Method Dispatch 213 Why Overridden Methods? 215 Applying Method Overriding 216 Using Abstract Classes 218 Using final with Inheritance 221 Using final to Prevent Overriding 221 Using final to Prevent Inheritance 222 The Object Class 222 9 Packages and Interfaces 225 Packages 226 Defining a Package 227 Understanding CLASSPATH 228 A Short Package Example 229 Access Protection 230 An Access Example 231 Importing Packages 235 Interfaces 238 Defining an Interface 238 Implementing Interfaces 239 Applying Interfaces 243 Variables in Interfaces 247 Interfaces Can Be Extended 249 10 Exception Handling 251 Exception-Handling Fundamentals 252 Exception Types 253 Uncaught Exceptions 253 Using try and catch 255 Displaying a Description of an Exception 256 Multiple catch Clauses 257 Nested try Statements 259 throw 262 throws 263 finally 265 Java's Built-in Exceptions 267 Creating Your Own Exception Subclasses 269 Using Exceptions 271 11 Multithreaded Programming 273 The Java Thread Model 275 Thread Priorities 275 Synchronization 276 Messaging 276 The Thread Class and the Runnable Interface 277 2: The Complete Reference The Main Thread 277 Creating a Thread 280 Implementing Runnable 280 Extending Thread 282 Choosing an Approach 284 Creating Multiple Threads 284 Using isAlive() and join() 286 Thread Priorities 289 Synchronization 292 Using Synchronized Methods 293 The synchronized Statement 295 Interthread Communication 297 Deadlock 303 Suspending, Resuming, and Stopping Threads 305 Suspending, Resuming, and Stopping Threads Using Java 1.1 and Earlier 306 Suspending, Resuming, and Stopping Threads Using Java 2 308 Using Multithreading 312 12 I/O, Applets, and Other Topics 313 I/O Basics 314 Streams 314 Byte Streams and Character Streams 315 The Predefined Streams 318 Reading Console Input 318 Reading Characters 319 Reading Strings 320 Writing Console Output 322 The PrintWriter Class 323 Reading and Writing Files 324 Applet Fundamentals 328 The transient and volatile Modifiers 332 Using instanceof 332 strictfp 335 Native Methods 336 Problems with Native Methods 340 The Java Library 13 String Handling 343 The String Constructors 344 String Length 347 Special String Operations 347 String Literais 347 String Concatenation 348 String Concatenation with Other Data Types 348 String Conversion and toString() 349 Contents xtii Character Extraction 351 charAt() 351 getChars() 351 getBytes() 352 toCharArray() 352 String Comparison 352 equals() and equalsIgnoreCase() 353 regionMatches() 354 StartsWith() and endsWith() 354 equals() Versus == 355 compareTo() 355 Searching Strings 357 Modifying a String 359 substring() 359 concat() 360 replace() 361 trim() 361 Data Conversion Using valueOf() 362 Changing the Case of Characters Within a String 363 StringBuffer 364 StringBuffer Constructors 364 length() and capacity() 364 ensureCapacity() 365 setLength() 365 charAt() and setCharAt() 366 getChars() 366 append() 367 insert() 368 reverse() 368 delete() and deleteCharAt() 369 replace() 370 substring() 370 14 Exploring java.lang 371 Simple Type Wrappers 372 Number 373 Double and Float 373 Byte, Short, Integer, and Long 379 Character 389 Boolean 393 Void 394 Process 394 Runtime 395 Memory Management 397 Executing Other Programs 398 System 399 Using currentTimeMillis() to Time Program Execution 402 Using arraycopy() 403 Environment Properties 404 » Java™ 2: The Complete Reference Object 404 Using clone() and the Cloneable Interface 404 Class 408 ClassLoader 411 Math 412 Transcendental Functions 412 Exponential Functions 412 Rounding Functions 413 Miscellaneous Math Methods 414 Compiler 414 Thread, ThreadGroup, and Runnable 415 The Runnable Interface 415 Thread 415 ThreadGroup 418 ThreadLocal and InheritableThreadLocal 424 Package 424 RuntimePermission 426 Throwable 426 SecurityManager 426 The Comparable Interface 427 The java.lang.ref and java.lang.reflect Packages 427 java.lang.ref 427 java.lang.reflect 428 15 java.util Part 1: The CoUections Framework 429 CoUections Overview 431 The Collection Interfaces 432 The Collection Interface 433 The List Interface 435 The Set Interface 437 The SortedSet Interface 437 The Collection Classes 438 The ArrayList Class 439 The LinkedList Class 443 The HashSet Class 445 The TreeSet Class 446 Accessing a Collection via an Iterator 447 Using an Iterator 449 Storing User-Defined Classes in CoUections 450 Working with Maps 452 The Map Interfaces 452 The Map Classes 456 Comparators 460 Using a Comparator 461 The Collection Algorithms 465 Arrays 469 The Legacy Classes and Interfaces 473 The Enumeration Interface 473 Vector 474 Contents XV Stack 479 Dictionary 481 Hashtable 482 Properties 487 Using store() and load() 491 Collections Summary 493 16 java.util Part 2: More Utility Classes 495 StringTokenizer 496 BitSet 498 Date 501 Date Comparison 503 Calendar 503 GregorianCalendar 508 TimeZone 510 SimpleTimeZone 511 Locale 512 Random 513 Observable 516 The Observer Interface 517 An Observer Example 517 The java.util.zip Package 520 The java.util.jar Package 520 17 Input/Output: Exploring java.io 521 The Java I/O Classes and Interfaces 522 File 523 Directories 526 Using FilenameFilter 527 The listFiles() Alternative 528 Creating Directories 529 The Stream Classes 529 The Byte Streams 530 InputStream 530 OutputStream 531 FilelnputStream
Recommended publications
  • COMPUTER CHAPTER 4- INTRODUCING JAVA Introduction
    CLASS-11 SUBJECT – COMPUTER CHAPTER 4- INTRODUCING JAVA Introduction to Java programming JAVA was developed by Sun Microsystems Inc in 1991, later acquired by Oracle Corporation. It was developed by James Gosling and Patrick Naughton. It is a simple programming language. Writing, compiling and debugging a program is easy in java. It helps to create modular programs and reusable code. Bytecode javac compiler of JDK compiles the java source code into bytecode so that it can be executed by JVM. The bytecode is saved in a .class file by compiler. Java Virtual Machine (JVM) This is generally referred as JVM. Before, we discuss about JVM lets see the phases of program execution. Phases are as follows: we write the program, then we compile the program and at last we run the program. 1) Writing of the program is of course done by java programmer. 2) Compilation of program is done by javac compiler, javac is the primary java compiler included in java development kit (JDK). It takes java program as input and generates java bytecode as output. 3) In third phase, JVM executes the bytecode generated by compiler. This is called program run phase. So, now that we understood that the primary function of JVM is to execute the bytecode produced by compiler. Characteristics of Java Simple Java is very easy to learn, and its syntax is simple, clean and easy to understand. Multi-threaded Multithreading capabilities come built right into the Java language. This means it is possible to build highly interactive and responsive apps with a number of concurrent threads of activity.
    [Show full text]
  • IITM GROUP of INSTITUTIONS, MURTHAL SONIPAT What Is Java
    IITM GROUP OF INSTITUTIONS, MURTHAL SONIPAT DEPARTMENT: COMPUTER SCIENCE AND ENGG. SUBJECT: ADVANCE JAVA CSE-306B UNIT : 1 JAVA LANGUAGE BASICS JAVA: Java is a general-purpose, concurrent, object-oriented, class-based, and the runtime environment(JRE) which consists of JVM which is the cornerstone of the Java platform. This blog on What is Java will clear all your doubts about why to learn java, features and how it works. In this What is Java blog, I would be covering following topics: What is Java used for? History of Java What is Java? Features of Java Components in Java What is Java used for? Before I answer the question, what is Java used for, let me brief you about why you should choose Java. Java is highly popular and has dominated this field from early 2000‘s till the present 2018. Java has been used in different domains. Some of them are listed below: Banking: To deal with transaction management. Retail: Billing applications that you see in a store/restaurant are completely written in Java. Information Technology: Java is designed to solve implementation dependencies. Android: Applications are either written in Java or use Java API. Financial services: It is used in server-side applications. Stock market: To write algorithms as to which company they should invest in. Big Data: Hadoop MapReduce framework is written using Java. Scientific and Research Community: To deal with huge amount of data. Wait! Java can do more. 1 Let‘s see how some of the technologies make use of Java as an essential core of their functionalities.
    [Show full text]
  • Programming in Java Learning Objectives
    Programming in Java Learning objectives After undergoing the subject, students will be able to Understand the history of Java. Explain how Java programs are compiled, interpreted and executed in java environment. Explain how Java is used to develop different types of application Explain the concept of Packages and their uses Explain the concept of multithreading. Explain how we can build application with JDK. 1. History of Java Java Programming Language was written by James Gosling along with two other person ‘Mike Sheridan‘ and ‘Patrick Naughton‘, while they were working at Sun Microsystems. Initially it was named oak Programming Language. 1.1.Releases of Java Initial Java Versions 1.0 and 1.1 was released in the year 1996 for Linux, Solaris, Mac and Windows. Java version 1.2 (Commonly called as java 2) was released in the year 1998. Java Version 1.3 codename Kestrel was released in the year 2000. Java Version 1.4 codename Merlin was released in the year 2002. Java Version 1.5/Java SE 5 codename ‘Tiger’ was released in the year 2004. Java Version 1.6/Java SE 6 Codename ‘Mustang’ was released in the year 2006. Java Version 1.7/Java SE 7 Codename ‘Dolphin’ was released in the year 2011. Java Version 1.8 is the current stable release which was released this year (2015). 1.2. Five Goals which were taken into consideration while developing Java: Keep it simple, familiar and object oriented. Keep it Robust and Secure. Keep it architecture-neural and portable. Executable with High Performance. Interpreted, threaded and dynamic.
    [Show full text]
  • SUBJECT-COMPUTER CLASS-12 CHAPTER 9 – Compiling and Running Java Programs
    SUBJECT-COMPUTER CLASS-12 CHAPTER 9 – Compiling and Running Java Programs Introduction to Java programming JAVA was developed by Sun Microsystems Inc in 1991, later acquired by Oracle Corporation. It was developed by James Gosling and Patrick Naughton. It is a simple programming language. Writing, compiling and debugging a program is easy in java. It helps to create modular programs and reusable code. Bytecode javac compiler of JDK compiles the java source code into bytecode so that it can be executed by JVM. The bytecode is saved in a .class file by compiler. Java Virtual Machine (JVM) This is generally referred as JVM. Before, we discuss about JVM lets see the phases of program execution. Phases are as follows: we write the program, then we compile the program and at last we run the program. 1) Writing of the program is of course done by java programmer. 2) Compilation of program is done by javac compiler, javac is the primary java compiler included in java development kit (JDK). It takes java program as input and generates java bytecode as output. 3) In third phase, JVM executes the bytecode generated by compiler. This is called program run phase. So, now that we understood that the primary function of JVM is to execute the bytecode produced by compiler. Characteristics of Java Simple Java is very easy to learn, and its syntax is simple, clean and easy to understand. Multi-threaded Multithreading capabilities come built right into the Java language. This means it is possible to build highly interactive and responsive apps with a number of concurrent threads of activity.
    [Show full text]
  • Programming in Java Unit-I an Overview Of
    PROGRAMMING IN JAVA UNIT-I AN OVERVIEW OF JAVA: James Gosling, Patrick Naughton, Chris Worth, ED Frank and Mike Sheridan conceived Java at Sun Microsystems, Inc in 1991. It took 18 months to develop the first Working version. This language was initially called ‘OAK’ but was renamed “JAVA” in 1995. The primary motivation was the need for a platform-independent (i.e. architecture- neutral) language that could be used to create software to be embedded in various consumer electronic devices such as microwave oven and remote controls. As you can probably guess, many different types of CPU’s are used as controllers. The trouble with C and C++ (and most other languages) is that they are designed to be compiled for a specific target. Although it is possible to compile a C++ program for just about any type of CPU, to do so requires a full C++ compiler together for that CPU. The problems are that compilers are expensive and time consuming to create. An easier- more cost efficient solution was needed. In an attempt to find such a solution, Gosling and others began work on a portable, platform-independent language that could be used to produce code that would run on a variety of CPU’s under different environments. This effort ultimately led to the creation of Java. In 1993, the World Wide Web (WWW) appeared on the Internet and transformed the text-based Internet into a graphical rich environment. The project team came up with the idea of developing web applets (tiny programs) using the new language that could run on all types of computers connected to the Internet.
    [Show full text]
  • The Coffee Machine Potent Mercantile Metaphors of the Programming Language JAVA «
    Media Culture and Cultural Techniques Working Papers N°003 2020 » The Coffee Machine Potent Mercantile Metaphors of the Programming Language JAVA « Markus Krajewski Department Arts, Media, Philosophy N° 2020.003 »The Coffee Machine: Potent Mercantile Metaphors of the Programming Language JAVA« Markus Krajewski DOI: 10.5451/unibas-ep78171 Media Culture and Cultural Techniques working papers BMCCT veröffentlicht Arbeitspapiere im Forschungsbereich des Basler Seminars für Medienwissenschaft. Die Arbeitspapiere erscheinen in unregelmässigen Abständen in deutscher und englischer Sprache. BMCCT publishes working papers in the research area of the Basel Seminar for Media Studies. The working papers appear at irregular intervals in German and English. Cite this item: The »Basel Media Culture and Cultural Concept and design: Markus Krajewski, »The Coffee Machine Techniques Working Papers« (BMCCT Mario Wimmer Potent Mercantile Metaphors of the working papers) are published by Programming Language JAVA«, BMCCT Hosted by University of Basel library’s working papers, (August 2020) No.3 Seminar für Medienwissenschaft eterna server (DOI: 10.5451/unibas-ep78171). Universität Basel Holbeinstrasse 12 4051 Basel medienwissenschaft.philhist.unibas.ch [email protected] under the creative commons licence Department https://creativecommons.org/licenses/by/ Arts, Media, Philosophy 4.0/ ISSN 2673-5792 . The Coffee Machine Potent Mercantile Metaphors of the Programming Language JAVA . Markus Krajewski Department Arts, Media, Philosophy, University of Basel, [email protected] DOI:10.5451/unibas-ep78171 »Te best Java is a very excellent coffee« (Ralph Holt Cheney, 1925) 1. Prologue The Program of History In the beginning was Green, and Green was with Sun. »And the light shines on in the darkness, but the darkness has not mastered it« (NET Bible, John 1:5).
    [Show full text]
  • History of Java the History of Java Is Very Interesting. Java Was Originally Designed for Interactive Television, but It Was
    History of Java The history of Java is very interesting. Java was originally designed for interactive television, but it was too advanced technology for the digital cable television industry at the time. The history of java starts with Green Team. Java team members (also known as Green Team), initiated this project to develop a language for digital devices such as set-top boxes, televisions, etc. However, it was suited for internet programming. Later, Java technology was incorporated by Netscape. The principles for creating Java programming were "Simple, Robust, Portable, Platform-independent, Secured, High Performance, Multithreaded, Architecture Neutral, Object-Oriented, Interpreted and Dynamic". Currently, Java is used in internet programming, mobile devices, games, e-business solutions, etc. There are given the significant points that describe the history of Java. 1) James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991. The small team of sun engineers called Green Team. 2) Originally designed for small, embedded systems in electronic appliances like set-top boxes. 3) Firstly, it was called "Greentalk" by James Gosling, and file extension was .gt. 4) After that, it was called Oak and was developed as a part of the Green project. Why Java named "Oak"? 5) Why Oak? Oak is a symbol of strength and chosen as a national tree of many countries like U.S.A., France, Germany, Romania, etc. 6) In 1995, Oak was renamed as "Java" because it was already a trademark by Oak Technologies. Why Java Programming named "Java"? 7) Why had they chosen java name for java language? The team gathered to choose a new name.
    [Show full text]
  • Desenvolvimento OO Com Java O Que É Java
    Desenvolvimento OO com Java O que é Java Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Licença para uso e distribuição • Este obra está licenciada com uma licença Creative Commons Atribuição-CompartilhaIgual4.0 Internacional; • Você tem o direito de: – Compartilhar: copiar e redistribuir o material em qualquer suporte ou formato – Adaptar: remixar, transformar, e criar a partir do material para qualquer fim, mesmo que comercial. • De acordo com os termos seguintes: – Atribuição: você deve dar o crédito apropriado, prover um link para a licença e indicar se mudanças foram feitas. Você deve fazê-lo em qualquer circunstância razoável, mas de maneira alguma que sugira ao licenciante a apoiar você ou o seu uso; – CompartilhaIgual: se você remixar, transformar, ou criar a partir do material, tem de distribuir as suas contribuições sob a mesma licença que o original. Mais informações podem ser encontradas em: http://creativecommons.org/licenses/by-sa/4.0/ Março 2016 OO & Java - O que é Java 2 Conteúdo do curso • O que é Java; • Herança, reescrita e • Variáveis primitivas e polimorfismo; controle de fluxo; • Classes abstratas; • Orientação a objetos • Interfaces; básica; • Exceções e controle de • Um pouco de vetores; erros; • Modificadores de acesso • Utilitários da API Java. e atributos de classe; Estes slides foram baseados na apostila do curso FJ-11: Java e Orientação a Objetos da Caelum e na apostila Programação Orientada a Objetos em Java do prof. Flávio Miguel Varejão. Março 2016 OO & Java - O que é Java 3 O que é Java? • Uma tecnologia; • Uma linguagem de programação; • Uma plataforma de desenvolvimento; • Um software distribuído pela Oracle; • Um ambiente de execução de programas; • Uma ilha da Indonésia (e o mar ao norte da ilha).
    [Show full text]
  • Java (Software Platform) from Wikipedia, the Free Encyclopedia Not to Be Confused with Javascript
    Java (software platform) From Wikipedia, the free encyclopedia Not to be confused with JavaScript. This article may require copy editing for grammar, style, cohesion, tone , or spelling. You can assist by editing it. (February 2016) Java (software platform) Dukesource125.gif The Java technology logo Original author(s) James Gosling, Sun Microsystems Developer(s) Oracle Corporation Initial release 23 January 1996; 20 years ago[1][2] Stable release 8 Update 73 (1.8.0_73) (February 5, 2016; 34 days ago) [±][3] Preview release 9 Build b90 (November 2, 2015; 4 months ago) [±][4] Written in Java, C++[5] Operating system Windows, Solaris, Linux, OS X[6] Platform Cross-platform Available in 30+ languages List of languages [show] Type Software platform License Freeware, mostly open-source,[8] with a few proprietary[9] compo nents[10] Website www.java.com Java is a set of computer software and specifications developed by Sun Microsyst ems, later acquired by Oracle Corporation, that provides a system for developing application software and deploying it in a cross-platform computing environment . Java is used in a wide variety of computing platforms from embedded devices an d mobile phones to enterprise servers and supercomputers. While less common, Jav a applets run in secure, sandboxed environments to provide many features of nati ve applications and can be embedded in HTML pages. Writing in the Java programming language is the primary way to produce code that will be deployed as byte code in a Java Virtual Machine (JVM); byte code compil ers are also available for other languages, including Ada, JavaScript, Python, a nd Ruby.
    [Show full text]
  • Comparative Studies of Six Programming Languages
    Comparative Studies of Six Programming Languages Zakaria Alomari Oualid El Halimi Kaushik Sivaprasad Chitrang Pandit Concordia University Concordia University Concordia University Concordia University Montreal, Canada Montreal, Canada Montreal, Canada Montreal, Canada [email protected] [email protected] [email protected] [email protected] Abstract Comparison of programming languages is a common topic of discussion among software engineers. Multiple programming languages are designed, specified, and implemented every year in order to keep up with the changing programming paradigms, hardware evolution, etc. In this paper we present a comparative study between six programming languages: C++, PHP, C#, Java, Python, VB ; These languages are compared under the characteristics of reusability, reliability, portability, availability of compilers and tools, readability, efficiency, familiarity and expressiveness. 1. Introduction: Programming languages are fascinating and interesting field of study. Computer scientists tend to create new programming language. Thousand different languages have been created in the last few years. Some languages enjoy wide popularity and others introduce new features. Each language has its advantages and drawbacks. The present work provides a comparison of various properties, paradigms, and features used by a couple of popular programming languages: C++, PHP, C#, Java, Python, VB. With these variety of languages and their widespread use, software designer and programmers should to be aware
    [Show full text]
  • Introduction to Java File
    Object Oriented Programming – SCJ2153 Introduction to JAVA Programming Language Associate Prof. Dr. Norazah Yusof Origins of the Java Language • Java was created by Sun Microsystems team led by Patrick Naughton and James Gosling in 1991. • Originally named Oak (Gosling liked the look of an oak tree that was outside his window at Sun). • Later, renamed to Java - Java coffee • In 1995, Java is released as a core component of Sun Microsystems‘ Java platform. • Now Java is part of Oracle corporation. Java logo Duke the Java mascot 2 Origins of the Java Language (cont.) • The challenge: – Intended to design a small computer language that could be used for consumer devices/appliances such as the cable TV switchboxes. – It is a difficult task because these devices do not have a lot of power or memory, the language had to be small and generate very tight code. Also, because different manufacturers may choose different central processing units (CPUs), it was important that the language not be tied to any single architecture. 3 Origins of the Java Language (cont.) • The team developed a two-step translation process to simplify the task of compiler writing for each class of appliances – Program written in Java were translated into an intermediate language that is the same for all types of processors : Java byte-code – Then, the byte-code would be translated into the machine code for each processor 4 Origins of the Java Language (cont.) • In 1994, Patrick Naughton and Jonathan Payne at Sun Microsystems developed a Web browser that could run programs over the Internet • It then evolved into the HotJava browser.
    [Show full text]
  • Course Book M.Tech.(CSE) 2019-20
    Course Book M.Tech.(CSE) 2019-20 Computing Science and Engineering Computer Science and Engineering 2019-20 Curriculum Semester I Sl. Assessment Pattern Course Code Name of the Course No L T P C IA MTE ETE 1 CENG5001 Professional Communication Skills 0 0 2 1 50 - 50 Advanced Numerical and Statistical 2 MATH5001 3 1 0 4 20 50 100 Methods Advanced Design and Analysis of 3 MCSE1110 3 0 0 3 20 50 100 Algorithms 4 MCSE1120 Advanced Computer Networks 3 0 0 3 20 50 100 5 MCSE1130 Advanced Operating Systems 3 0 0 3 20 50 100 6 MCSE1150 Advanced Software Engineering 3 0 0 3 20 50 100 Advanced Design and Analysis of 7 MCSE1111 0 0 2 1 50 - 50 Algorithms Lab 8 MCSE1121 Advanced Computer Networks Lab 0 0 2 1 50 - 50 9 MCSE1151 Technical Seminar 0 0 2 1 50 - 50 Semester II Sl Assessment Pattern Course Code Name of the Course No L T P C IA MTE ETE 1 MCSE1240 Artificial Intelligence & Machine Learning 3 0 0 0 20 50 100 2 MCSE9100 Data Mining & Analytics using R 3 0 0 3 20 50 100 3 MCSE1260 Research Methodology 3 0 0 3 20 50 100 Foundations of Information Security 4 MCSE9260 3 0 0 3 20 50 100 (Elective-1) 5 MCSE1241 AI & ML using Python Lab 0 0 4 2 50 - 50 6 MCSE9101 Data Mining & Analytics using R Lab 0 0 4 2 50 - 50 7 MCSE1250 Python Programming 0 0 4 2 50 - 50 8 MCSE1251 Advanced Java Programming Lab 0 0 4 2 50 - 50 English Proficiency and Aptitude Building - 9 SLMC5012 0 0 2 1 50 - 50 2 10 MCSE1261 Certification Course/Term Paper 0 0 2 1 50 - 50 Semester III Sl Assessment Pattern Course Code Name of the Course No L T P C IA MTE ETE 1 MCSE2320 Software Project Management 3 0 0 3 20 50 100 2 Program Elective-2 3 0 0 3 20 50 100 3 Program Elective-3 3 0 0 3 20 50 100 Quantitative and Communication 4 SLMT5001 0 0 2 1 50 - 50 Proficiency 5 MCSE2321 Software Development Lab 0 0 4 2 50 - 50 6 MCSE2381 M.
    [Show full text]