Introduction to JVM languages :: Java, Scala, Clojure, Kotlin, and Groovy /
Explore the Java Virtual Machine with modern programming languages About This Book This guide provides in-depth coverage of the Java Virtual Machine and its features Filled with practical examples, this book will help you understand the core concepts of Java, Scala, Clojure, Kotlin, and Groovy Work...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Elektronisch E-Book |
Sprache: | English |
Veröffentlicht: |
Birmingham, UK :
Packt Publishing,
2017.
|
Schlagworte: | |
Online-Zugang: | Volltext |
Zusammenfassung: | Explore the Java Virtual Machine with modern programming languages About This Book This guide provides in-depth coverage of the Java Virtual Machine and its features Filled with practical examples, this book will help you understand the core concepts of Java, Scala, Clojure, Kotlin, and Groovy Work with various programming paradigms and gain knowledge about imperative, object-oriented and functional programming Who This Book Is For This book is meant for programmers who are interested in the Java Virtual Machine (JVM) and want to learn more about the most popular programming languages that can be used for JVM development. Basic practical knowledge of a modern programming language that supports object-oriented programming (JavaScript, Python, C#, VB.NET, and C++) is assumed. What You Will Learn Gain practical information about the Java Virtual Machine Understand the popular JVM languages and the Java Class Library Get to know about various programming paradigms such as imperative, object-oriented, and functional Work with common JVM tools such as Eclipse IDE, Gradle, and Maven Explore frameworks such as SparkJava, Vert.x, Akka and JavaFX Boost your knowledge about dialects of other well-known programming languages that run on the JVM, including JavaScript, Python, and Ruby In Detail Anyone who knows software development knows about the Java Virtual Machine. The Java Virtual Machine is responsible for interpreting Java byte code and translating it into actions. In the beginning, Java was the only programming language used for the JVM. But increasing complexity of the language and the remarkable performance of the JVM created an opening for a new generation of programming languages. If you want to build a strong foundation with the Java Virtual Machine and get started with popular modern programming languages, then this book is for you. The book will begin with a general introduction of the JVM and its features, which are common to the JVM languages, helping you get abreast with its concepts. It will then dive into explaining languages such as Java, Scala, Clojure, Kotlin, and Groovy and will show how to work with each language, their features, use cases, and pros and cons. By writing example projects in those languages and focusing on each language's strong points, it will help you find the programming language that is most appropriate for your particular needs. By the end of the book, you will have written multiple programs that run on the Java... |
Beschreibung: | 1 online resource (1 volume) : illustrations |
ISBN: | 1787126587 9781787126589 |
Internformat
MARC
LEADER | 00000cam a2200000 i 4500 | ||
---|---|---|---|
001 | ZDB-4-EBA-ocn994027843 | ||
003 | OCoLC | ||
005 | 20241004212047.0 | ||
006 | m o d | ||
007 | cr unu|||||||| | ||
008 | 170718s2017 enka o 000 0 eng d | ||
040 | |a UMI |b eng |e rda |e pn |c UMI |d OCLCF |d STF |d IDEBK |d TOH |d COO |d UOK |d CEF |d KSU |d NLE |d UKMGB |d WYU |d UAB |d UKAHL |d N$T |d QGK |d OCLCO |d OCLCQ |d OCLCO |d OCLCL |d OCLCQ |d DXU | ||
015 | |a GBB7F1333 |2 bnb | ||
016 | 7 | |a 018436307 |2 Uk | |
020 | |a 1787126587 | ||
020 | |a 9781787126589 |q (electronic bk.) | ||
020 | |z 9781787127944 | ||
035 | |a (OCoLC)994027843 | ||
037 | |a CL0500000876 |b Safari Books Online | ||
050 | 4 | |a QA76.73.C565 | |
082 | 7 | |a 005.133 |2 23 | |
049 | |a MAIN | ||
100 | 1 | |a Leun, Vincent van der, |e author. | |
245 | 1 | 0 | |a Introduction to JVM languages : |b Java, Scala, Clojure, Kotlin, and Groovy / |c Vincent van der Leuni. |
264 | 1 | |a Birmingham, UK : |b Packt Publishing, |c 2017. | |
300 | |a 1 online resource (1 volume) : |b illustrations | ||
336 | |a text |b txt |2 rdacontent | ||
337 | |a computer |b c |2 rdamedia | ||
338 | |a online resource |b cr |2 rdacarrier | ||
588 | |a Description based on online resource; title from title page (Safari, viewed July 17, 2017). | ||
520 | |a Explore the Java Virtual Machine with modern programming languages About This Book This guide provides in-depth coverage of the Java Virtual Machine and its features Filled with practical examples, this book will help you understand the core concepts of Java, Scala, Clojure, Kotlin, and Groovy Work with various programming paradigms and gain knowledge about imperative, object-oriented and functional programming Who This Book Is For This book is meant for programmers who are interested in the Java Virtual Machine (JVM) and want to learn more about the most popular programming languages that can be used for JVM development. Basic practical knowledge of a modern programming language that supports object-oriented programming (JavaScript, Python, C#, VB.NET, and C++) is assumed. What You Will Learn Gain practical information about the Java Virtual Machine Understand the popular JVM languages and the Java Class Library Get to know about various programming paradigms such as imperative, object-oriented, and functional Work with common JVM tools such as Eclipse IDE, Gradle, and Maven Explore frameworks such as SparkJava, Vert.x, Akka and JavaFX Boost your knowledge about dialects of other well-known programming languages that run on the JVM, including JavaScript, Python, and Ruby In Detail Anyone who knows software development knows about the Java Virtual Machine. The Java Virtual Machine is responsible for interpreting Java byte code and translating it into actions. In the beginning, Java was the only programming language used for the JVM. But increasing complexity of the language and the remarkable performance of the JVM created an opening for a new generation of programming languages. If you want to build a strong foundation with the Java Virtual Machine and get started with popular modern programming languages, then this book is for you. The book will begin with a general introduction of the JVM and its features, which are common to the JVM languages, helping you get abreast with its concepts. It will then dive into explaining languages such as Java, Scala, Clojure, Kotlin, and Groovy and will show how to work with each language, their features, use cases, and pros and cons. By writing example projects in those languages and focusing on each language's strong points, it will help you find the programming language that is most appropriate for your particular needs. By the end of the book, you will have written multiple programs that run on the Java... | ||
505 | 0 | |a Intro -- Cover -- Copyright -- Credits -- About the Author -- About the Reviewer -- www.PacktPub.com -- Customer Feedback -- Table of Contents -- Preface -- Chapter 1: Java Virtual Machine -- JVM implementations -- Why develop on JVM? -- JVM adapts to market changes -- Java Class Library -- Ecosystem -- Scenario 1 -- Using a JVM application server -- Scenario 2 -- Using a general high-level web application framework -- Scenario 3 -- Using a microservice framework -- Popular use cases -- Web applications -- Big data -- IoT -- JVM concepts -- Virtual machine -- The JIT compiler -- Primitive datatypes -- Classes -- Reference types -- References and null references -- Garbage collector -- Example -- Backward compatibility -- Build tools -- Java editions -- Java SE -- Java EE -- Example -- Java Persistence API as implemented by two application servers -- Java ME -- Other languages on JVM -- Why choose a language other than Java? -- Java is a very verbose language -- Java is not ideal for everything or everyone -- Missing classes in Java Class Library -- Mixing JVM languages in a project -- Increasing build process complexity -- Language runtime libraries -- Writing unit tests in a different language -- Summary -- Chapter 2: Developing on the Java Virtual Machine -- JDK -- Installing JDK -- Downloading JDK -- Installing JDK on Windows -- Installing JDK on macOS -- Installing JDK on Linux -- Downloading API documentation -- Exploring JDK -- The directory structure -- JDK commands -- GUI monitoring tools -- Java VisualVM -- Oracle Mission Control -- JConsole -- JRE -- Class organization with packages -- What are packages? -- Choosing a package name -- Package name examples -- Fully qualified class name -- Java Class Library -- Java Class Library organization -- Package overview -- Fundamental classes of the java.lang package. | |
505 | 8 | |a The Object class (java.lang.Object) -- Important object methods -- The String class (java.lang.String) -- Primitive wrapper classes (Integer, Long, Short, Char, Float, Double in java.lang) -- Autoboxing examples -- Exceptions and errors (java.lang.Exception and java.lang.Error) -- The Collections API -- java.util.ArrayList and java.util.HashMap -- ArrayList (java.util.ArrayList) -- Commonly used methods of the ArrayList class -- ArrayList usage example -- HashMap (java.util.HashMap) -- Commonly used methods of the HashMap class -- HashMap usage example -- Preparing your classes for the Collections API -- About hashCode() -- About equals () -- The hashing mechanism -- Running JVM applications on the command line -- At least one class must have a static main() method -- Required directory structure for class files -- Setting ClassPath for a JVM instance -- Placing class files inside a JAR archive -- Runnable JAR file -- Running a program with the java command -- Run a project consisting of separate class files -- Running a project that is placed inside a runnable JAR file -- Other useful parameters of the java command -- D to pass properties and values -- ea to enable assertions -- A hands-on example project to run on JVM -- A ClassPath example -- Eclipse IDE -- Downloading Eclipse IDE -- Installing Eclipse IDE -- Summary -- Chapter 3: Java -- OOP in Java -- Defining classes -- Class access modifiers -- Final class modifier -- locking a class -- Defining packages -- Importing classes -- Adding class members -- variables and methods -- Instance variables -- Methods -- Modifiers -- Protecting class members with access modifiers -- Access modifier example -- Static modifier -- instance variables and class variables -- Final modifier -- locking a class member -- Overloading methods -- Constructors and finalizers -- Constructors -- Finalizers. | |
505 | 8 | |a Extending a class -- Overriding methods -- Calling constructors of a parent class -- Abstract classes -- Interfaces -- Upcasting and downcasting -- Writing Java code -- Operators -- Conditional checks -- The if...else statement -- The switch...case statement -- POJO -- Arrays -- Generics and Collections -- Loops -- The for loop -- The normal for loop -- The enhanced for loop -- The while loop -- The do...while loop -- Exceptions -- Runtime exceptions -- Threads -- Lambdas -- Style guide -- Quiz -- Summary -- Chapter 4: Java Programming -- Configuring Eclipse IDE -- Creating a web service in Java -- Creating a new Gradle project in Eclipse IDE -- Exploring the generated project -- Modifying the Gradle build file -- Building the project -- Coding the backend class -- Backend class business rules -- Creating a dummy implementation of the method -- Creating the test case class and writing its first unit test -- Implementing an input validation check -- Writing the second unit test -- Implementing the business logic -- Creating an executable application task -- Creating a web service -- Running the web service -- Creating Javadoc documentation -- Summary -- Chapter 5: Scala -- Installing Scala -- Scala's Read-Eval-Print-Loop shell -- Functional versus imperative programming -- Scala language syntax and rules -- Statically typed language -- Mutable and immutable variables -- Common Scala types -- Any class -- AnyRef class -- reference classes -- AnyVal class -- value classes -- Strings -- OOP in Scala -- Defining packages and subpackages -- Importing members -- Defining classes -- Instance variables and methods -- Instance variables -- Instance methods -- Access modifiers for class instance members -- Constructors -- Extending a class -- Overriding methods -- Overloading methods -- Abstract classes -- Traits -- Singleton objects -- Operator overloading. | |
505 | 8 | |a Case classes -- Scala's standard library -- Generics -- Collections -- Immutable list -- Mutable list -- Immutable map -- Mutable map -- XML processing -- Functional programming in Scala -- Iterating through collections using functions -- The map, filter, and reduce design pattern -- Map -- transform data -- Filter -- filter items from a collection or array -- Reduce -- for performing calculations -- Currying -- Quiz -- Summary -- Chapter 6: Scala Programming -- Scala IDE for the Eclipse plugin -- Installing Scala IDE for Eclipse -- Switching to the Scala IDE perspective -- SBT -- Installing SBT -- Creating an SBT-based Eclipse IDE project -- Creating a new SBT project -- Loading the SBTEclipse plugin -- Generating a new Eclipse IDE project with SBTEclipse -- Importing the generated project in Eclipse IDE -- The Scala compiler (scalac) -- Creating a singleton object with the main() method -- Creating a singleton object that extends the App trait -- Creating an Akka project -- Adding an Akka dependency to the SBT build file -- Updating the Scala IDE project -- Akka concepts -- Actors -- Actor references (ActorRef) -- Messages -- Dispatchers -- Creating our first Akka actor -- QuotesHandlerActor -- Creating messages -- Writing a ScalaTest-based unit test -- Implementing a message handler -- Creating QuotePrinterActor -- The main application -- Summary -- Chapter 7: Clojure -- Installing Clojure -- Creating a start script -- Creating a start script on Windows -- Creating a start script on macOS and Linux -- Clojure's interactive shell (REPL) -- Clojure language -- Syntax -- Expressions -- Defining variables -- Defining functions -- Data structures -- Numeric types -- Strings and characters -- Collections -- Lists -- Vectors -- Sets -- Hash-maps -- Iteration over arrays and loops -- Conditions -- Working with Java classes. | |
505 | 8 | |a Creating simple Java classes with deftype and defrecord -- Managing states with agents -- Agent example -- Style guide -- Quiz -- Summary -- Chapter 8: Clojure Programming -- The Counterclockwise plugin for Eclipse IDE -- Installing the Counterclockwise plugin -- Switching to the Java perspective -- Leiningen's build tool -- Installing Leiningen -- Creating executable programs in Clojure -- Compiling to class files without Leiningen -- Compiling projects with Leiningen -- Creating a new Counterclockwise project -- Clojure REPL in Eclipse IDE -- Updating the project's Clojure version -- Adding a dependency -- Exploring monads by applying test-driven development -- The Luminus web framework -- Creating a Luminus project -- Importing the project in Counterclockwise -- Exploring the Luminus project -- Adding a page to the web application -- Summary -- Chapter 9: Kotlin -- Installing Kotlin -- Launch scripts -- Kotlin's REPL interactive shell -- Kotlin language fundamentals -- Defining local variables -- Defining a function -- Kotlin's types -- Kotlin basic types -- Strings -- Null safety handling -- Option 1 -- Adding a conditional check -- Option 2 -- Using the safe call operator ?. -- Option 3 -- Using the Elvis operator ?: -- Option 4 -- Using the !! operator -- Conversions -- Collections and generics -- Loops -- OOP in Kotlin -- Defining packages -- Importing members -- Defining classes and constructors -- Adding members to classes -- Adding functions -- The main entry function -- Adding properties -- Inheritance -- Interfaces -- Visibility modifiers -- Singleton and companion objects -- Data classes -- Lambdas and inline functions -- Procedural programming in Kotlin -- Style guide -- Quiz -- Summary -- Chapter 10: Kotlin Programming -- Kotlin for the Eclipse IDE plugin -- Installing the Kotlin plugin for the Eclipse IDE. | |
630 | 0 | 0 | |a Java virtual machine. |0 http://id.loc.gov/authorities/names/n97050367 |
630 | 0 | 7 | |a Java virtual machine |2 fast |
650 | 0 | |a Java (Computer program language) |0 http://id.loc.gov/authorities/subjects/sh95008574 | |
650 | 0 | |a Scala (Computer program language) |0 http://id.loc.gov/authorities/subjects/sh2010013203 | |
650 | 0 | |a Clojure (Computer program language) |0 http://id.loc.gov/authorities/subjects/sh2011003332 | |
650 | 0 | |a Groovy (Computer program language) |0 http://id.loc.gov/authorities/subjects/sh2007001244 | |
650 | 6 | |a Java (Langage de programmation) | |
650 | 6 | |a Scala (Langage de programmation) | |
650 | 6 | |a Clojure (Langage de programmation) | |
650 | 6 | |a Groovy (Langage de programmation) | |
650 | 7 | |a COMPUTERS |x Programming Languages |x Java. |2 bisacsh | |
650 | 7 | |a COMPUTERS |x Programming |x General. |2 bisacsh | |
650 | 7 | |a Clojure (Computer program language) |2 fast | |
650 | 7 | |a Groovy (Computer program language) |2 fast | |
650 | 7 | |a Java (Computer program language) |2 fast | |
650 | 7 | |a Scala (Computer program language) |2 fast | |
758 | |i has work: |a Introduction to JVM languages (Text) |1 https://id.oclc.org/worldcat/entity/E39PCXDFprhFyCB4b7RwgTbtyq |4 https://id.oclc.org/worldcat/ontology/hasWork | ||
856 | 4 | 0 | |l FWS01 |p ZDB-4-EBA |q FWS_PDA_EBA |u https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1543833 |3 Volltext |
938 | |a Askews and Holts Library Services |b ASKH |n AH32239342 | ||
938 | |a ProQuest MyiLibrary Digital eBook Collection |b IDEB |n cis37299878 | ||
938 | |a EBSCOhost |b EBSC |n 1543833 | ||
994 | |a 92 |b GEBAY | ||
912 | |a ZDB-4-EBA | ||
049 | |a DE-863 |
Datensatz im Suchindex
DE-BY-FWS_katkey | ZDB-4-EBA-ocn994027843 |
---|---|
_version_ | 1816882395282931712 |
adam_text | |
any_adam_object | |
author | Leun, Vincent van der |
author_facet | Leun, Vincent van der |
author_role | aut |
author_sort | Leun, Vincent van der |
author_variant | v v d l vvd vvdl |
building | Verbundindex |
bvnumber | localFWS |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.73.C565 |
callnumber-search | QA76.73.C565 |
callnumber-sort | QA 276.73 C565 |
callnumber-subject | QA - Mathematics |
collection | ZDB-4-EBA |
contents | Intro -- Cover -- Copyright -- Credits -- About the Author -- About the Reviewer -- www.PacktPub.com -- Customer Feedback -- Table of Contents -- Preface -- Chapter 1: Java Virtual Machine -- JVM implementations -- Why develop on JVM? -- JVM adapts to market changes -- Java Class Library -- Ecosystem -- Scenario 1 -- Using a JVM application server -- Scenario 2 -- Using a general high-level web application framework -- Scenario 3 -- Using a microservice framework -- Popular use cases -- Web applications -- Big data -- IoT -- JVM concepts -- Virtual machine -- The JIT compiler -- Primitive datatypes -- Classes -- Reference types -- References and null references -- Garbage collector -- Example -- Backward compatibility -- Build tools -- Java editions -- Java SE -- Java EE -- Example -- Java Persistence API as implemented by two application servers -- Java ME -- Other languages on JVM -- Why choose a language other than Java? -- Java is a very verbose language -- Java is not ideal for everything or everyone -- Missing classes in Java Class Library -- Mixing JVM languages in a project -- Increasing build process complexity -- Language runtime libraries -- Writing unit tests in a different language -- Summary -- Chapter 2: Developing on the Java Virtual Machine -- JDK -- Installing JDK -- Downloading JDK -- Installing JDK on Windows -- Installing JDK on macOS -- Installing JDK on Linux -- Downloading API documentation -- Exploring JDK -- The directory structure -- JDK commands -- GUI monitoring tools -- Java VisualVM -- Oracle Mission Control -- JConsole -- JRE -- Class organization with packages -- What are packages? -- Choosing a package name -- Package name examples -- Fully qualified class name -- Java Class Library -- Java Class Library organization -- Package overview -- Fundamental classes of the java.lang package. The Object class (java.lang.Object) -- Important object methods -- The String class (java.lang.String) -- Primitive wrapper classes (Integer, Long, Short, Char, Float, Double in java.lang) -- Autoboxing examples -- Exceptions and errors (java.lang.Exception and java.lang.Error) -- The Collections API -- java.util.ArrayList and java.util.HashMap -- ArrayList (java.util.ArrayList) -- Commonly used methods of the ArrayList class -- ArrayList usage example -- HashMap (java.util.HashMap) -- Commonly used methods of the HashMap class -- HashMap usage example -- Preparing your classes for the Collections API -- About hashCode() -- About equals () -- The hashing mechanism -- Running JVM applications on the command line -- At least one class must have a static main() method -- Required directory structure for class files -- Setting ClassPath for a JVM instance -- Placing class files inside a JAR archive -- Runnable JAR file -- Running a program with the java command -- Run a project consisting of separate class files -- Running a project that is placed inside a runnable JAR file -- Other useful parameters of the java command -- D to pass properties and values -- ea to enable assertions -- A hands-on example project to run on JVM -- A ClassPath example -- Eclipse IDE -- Downloading Eclipse IDE -- Installing Eclipse IDE -- Summary -- Chapter 3: Java -- OOP in Java -- Defining classes -- Class access modifiers -- Final class modifier -- locking a class -- Defining packages -- Importing classes -- Adding class members -- variables and methods -- Instance variables -- Methods -- Modifiers -- Protecting class members with access modifiers -- Access modifier example -- Static modifier -- instance variables and class variables -- Final modifier -- locking a class member -- Overloading methods -- Constructors and finalizers -- Constructors -- Finalizers. Extending a class -- Overriding methods -- Calling constructors of a parent class -- Abstract classes -- Interfaces -- Upcasting and downcasting -- Writing Java code -- Operators -- Conditional checks -- The if...else statement -- The switch...case statement -- POJO -- Arrays -- Generics and Collections -- Loops -- The for loop -- The normal for loop -- The enhanced for loop -- The while loop -- The do...while loop -- Exceptions -- Runtime exceptions -- Threads -- Lambdas -- Style guide -- Quiz -- Summary -- Chapter 4: Java Programming -- Configuring Eclipse IDE -- Creating a web service in Java -- Creating a new Gradle project in Eclipse IDE -- Exploring the generated project -- Modifying the Gradle build file -- Building the project -- Coding the backend class -- Backend class business rules -- Creating a dummy implementation of the method -- Creating the test case class and writing its first unit test -- Implementing an input validation check -- Writing the second unit test -- Implementing the business logic -- Creating an executable application task -- Creating a web service -- Running the web service -- Creating Javadoc documentation -- Summary -- Chapter 5: Scala -- Installing Scala -- Scala's Read-Eval-Print-Loop shell -- Functional versus imperative programming -- Scala language syntax and rules -- Statically typed language -- Mutable and immutable variables -- Common Scala types -- Any class -- AnyRef class -- reference classes -- AnyVal class -- value classes -- Strings -- OOP in Scala -- Defining packages and subpackages -- Importing members -- Defining classes -- Instance variables and methods -- Instance variables -- Instance methods -- Access modifiers for class instance members -- Constructors -- Extending a class -- Overriding methods -- Overloading methods -- Abstract classes -- Traits -- Singleton objects -- Operator overloading. Case classes -- Scala's standard library -- Generics -- Collections -- Immutable list -- Mutable list -- Immutable map -- Mutable map -- XML processing -- Functional programming in Scala -- Iterating through collections using functions -- The map, filter, and reduce design pattern -- Map -- transform data -- Filter -- filter items from a collection or array -- Reduce -- for performing calculations -- Currying -- Quiz -- Summary -- Chapter 6: Scala Programming -- Scala IDE for the Eclipse plugin -- Installing Scala IDE for Eclipse -- Switching to the Scala IDE perspective -- SBT -- Installing SBT -- Creating an SBT-based Eclipse IDE project -- Creating a new SBT project -- Loading the SBTEclipse plugin -- Generating a new Eclipse IDE project with SBTEclipse -- Importing the generated project in Eclipse IDE -- The Scala compiler (scalac) -- Creating a singleton object with the main() method -- Creating a singleton object that extends the App trait -- Creating an Akka project -- Adding an Akka dependency to the SBT build file -- Updating the Scala IDE project -- Akka concepts -- Actors -- Actor references (ActorRef) -- Messages -- Dispatchers -- Creating our first Akka actor -- QuotesHandlerActor -- Creating messages -- Writing a ScalaTest-based unit test -- Implementing a message handler -- Creating QuotePrinterActor -- The main application -- Summary -- Chapter 7: Clojure -- Installing Clojure -- Creating a start script -- Creating a start script on Windows -- Creating a start script on macOS and Linux -- Clojure's interactive shell (REPL) -- Clojure language -- Syntax -- Expressions -- Defining variables -- Defining functions -- Data structures -- Numeric types -- Strings and characters -- Collections -- Lists -- Vectors -- Sets -- Hash-maps -- Iteration over arrays and loops -- Conditions -- Working with Java classes. Creating simple Java classes with deftype and defrecord -- Managing states with agents -- Agent example -- Style guide -- Quiz -- Summary -- Chapter 8: Clojure Programming -- The Counterclockwise plugin for Eclipse IDE -- Installing the Counterclockwise plugin -- Switching to the Java perspective -- Leiningen's build tool -- Installing Leiningen -- Creating executable programs in Clojure -- Compiling to class files without Leiningen -- Compiling projects with Leiningen -- Creating a new Counterclockwise project -- Clojure REPL in Eclipse IDE -- Updating the project's Clojure version -- Adding a dependency -- Exploring monads by applying test-driven development -- The Luminus web framework -- Creating a Luminus project -- Importing the project in Counterclockwise -- Exploring the Luminus project -- Adding a page to the web application -- Summary -- Chapter 9: Kotlin -- Installing Kotlin -- Launch scripts -- Kotlin's REPL interactive shell -- Kotlin language fundamentals -- Defining local variables -- Defining a function -- Kotlin's types -- Kotlin basic types -- Strings -- Null safety handling -- Option 1 -- Adding a conditional check -- Option 2 -- Using the safe call operator ?. -- Option 3 -- Using the Elvis operator ?: -- Option 4 -- Using the !! operator -- Conversions -- Collections and generics -- Loops -- OOP in Kotlin -- Defining packages -- Importing members -- Defining classes and constructors -- Adding members to classes -- Adding functions -- The main entry function -- Adding properties -- Inheritance -- Interfaces -- Visibility modifiers -- Singleton and companion objects -- Data classes -- Lambdas and inline functions -- Procedural programming in Kotlin -- Style guide -- Quiz -- Summary -- Chapter 10: Kotlin Programming -- Kotlin for the Eclipse IDE plugin -- Installing the Kotlin plugin for the Eclipse IDE. |
ctrlnum | (OCoLC)994027843 |
dewey-full | 005.133 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.133 |
dewey-search | 005.133 |
dewey-sort | 15.133 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>14682cam a2200661 i 4500</leader><controlfield tag="001">ZDB-4-EBA-ocn994027843</controlfield><controlfield tag="003">OCoLC</controlfield><controlfield tag="005">20241004212047.0</controlfield><controlfield tag="006">m o d </controlfield><controlfield tag="007">cr unu||||||||</controlfield><controlfield tag="008">170718s2017 enka o 000 0 eng d</controlfield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">UMI</subfield><subfield code="b">eng</subfield><subfield code="e">rda</subfield><subfield code="e">pn</subfield><subfield code="c">UMI</subfield><subfield code="d">OCLCF</subfield><subfield code="d">STF</subfield><subfield code="d">IDEBK</subfield><subfield code="d">TOH</subfield><subfield code="d">COO</subfield><subfield code="d">UOK</subfield><subfield code="d">CEF</subfield><subfield code="d">KSU</subfield><subfield code="d">NLE</subfield><subfield code="d">UKMGB</subfield><subfield code="d">WYU</subfield><subfield code="d">UAB</subfield><subfield code="d">UKAHL</subfield><subfield code="d">N$T</subfield><subfield code="d">QGK</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCLCL</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">DXU</subfield></datafield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">GBB7F1333</subfield><subfield code="2">bnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">018436307</subfield><subfield code="2">Uk</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1787126587</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781787126589</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="z">9781787127944</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)994027843</subfield></datafield><datafield tag="037" ind1=" " ind2=" "><subfield code="a">CL0500000876</subfield><subfield code="b">Safari Books Online</subfield></datafield><datafield tag="050" ind1=" " ind2="4"><subfield code="a">QA76.73.C565</subfield></datafield><datafield tag="082" ind1="7" ind2=" "><subfield code="a">005.133</subfield><subfield code="2">23</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">MAIN</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Leun, Vincent van der,</subfield><subfield code="e">author.</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Introduction to JVM languages :</subfield><subfield code="b">Java, Scala, Clojure, Kotlin, and Groovy /</subfield><subfield code="c">Vincent van der Leuni.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Birmingham, UK :</subfield><subfield code="b">Packt Publishing,</subfield><subfield code="c">2017.</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 online resource (1 volume) :</subfield><subfield code="b">illustrations</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">computer</subfield><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">online resource</subfield><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="588" ind1=" " ind2=" "><subfield code="a">Description based on online resource; title from title page (Safari, viewed July 17, 2017).</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">Explore the Java Virtual Machine with modern programming languages About This Book This guide provides in-depth coverage of the Java Virtual Machine and its features Filled with practical examples, this book will help you understand the core concepts of Java, Scala, Clojure, Kotlin, and Groovy Work with various programming paradigms and gain knowledge about imperative, object-oriented and functional programming Who This Book Is For This book is meant for programmers who are interested in the Java Virtual Machine (JVM) and want to learn more about the most popular programming languages that can be used for JVM development. Basic practical knowledge of a modern programming language that supports object-oriented programming (JavaScript, Python, C#, VB.NET, and C++) is assumed. What You Will Learn Gain practical information about the Java Virtual Machine Understand the popular JVM languages and the Java Class Library Get to know about various programming paradigms such as imperative, object-oriented, and functional Work with common JVM tools such as Eclipse IDE, Gradle, and Maven Explore frameworks such as SparkJava, Vert.x, Akka and JavaFX Boost your knowledge about dialects of other well-known programming languages that run on the JVM, including JavaScript, Python, and Ruby In Detail Anyone who knows software development knows about the Java Virtual Machine. The Java Virtual Machine is responsible for interpreting Java byte code and translating it into actions. In the beginning, Java was the only programming language used for the JVM. But increasing complexity of the language and the remarkable performance of the JVM created an opening for a new generation of programming languages. If you want to build a strong foundation with the Java Virtual Machine and get started with popular modern programming languages, then this book is for you. The book will begin with a general introduction of the JVM and its features, which are common to the JVM languages, helping you get abreast with its concepts. It will then dive into explaining languages such as Java, Scala, Clojure, Kotlin, and Groovy and will show how to work with each language, their features, use cases, and pros and cons. By writing example projects in those languages and focusing on each language's strong points, it will help you find the programming language that is most appropriate for your particular needs. By the end of the book, you will have written multiple programs that run on the Java...</subfield></datafield><datafield tag="505" ind1="0" ind2=" "><subfield code="a">Intro -- Cover -- Copyright -- Credits -- About the Author -- About the Reviewer -- www.PacktPub.com -- Customer Feedback -- Table of Contents -- Preface -- Chapter 1: Java Virtual Machine -- JVM implementations -- Why develop on JVM? -- JVM adapts to market changes -- Java Class Library -- Ecosystem -- Scenario 1 -- Using a JVM application server -- Scenario 2 -- Using a general high-level web application framework -- Scenario 3 -- Using a microservice framework -- Popular use cases -- Web applications -- Big data -- IoT -- JVM concepts -- Virtual machine -- The JIT compiler -- Primitive datatypes -- Classes -- Reference types -- References and null references -- Garbage collector -- Example -- Backward compatibility -- Build tools -- Java editions -- Java SE -- Java EE -- Example -- Java Persistence API as implemented by two application servers -- Java ME -- Other languages on JVM -- Why choose a language other than Java? -- Java is a very verbose language -- Java is not ideal for everything or everyone -- Missing classes in Java Class Library -- Mixing JVM languages in a project -- Increasing build process complexity -- Language runtime libraries -- Writing unit tests in a different language -- Summary -- Chapter 2: Developing on the Java Virtual Machine -- JDK -- Installing JDK -- Downloading JDK -- Installing JDK on Windows -- Installing JDK on macOS -- Installing JDK on Linux -- Downloading API documentation -- Exploring JDK -- The directory structure -- JDK commands -- GUI monitoring tools -- Java VisualVM -- Oracle Mission Control -- JConsole -- JRE -- Class organization with packages -- What are packages? -- Choosing a package name -- Package name examples -- Fully qualified class name -- Java Class Library -- Java Class Library organization -- Package overview -- Fundamental classes of the java.lang package.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">The Object class (java.lang.Object) -- Important object methods -- The String class (java.lang.String) -- Primitive wrapper classes (Integer, Long, Short, Char, Float, Double in java.lang) -- Autoboxing examples -- Exceptions and errors (java.lang.Exception and java.lang.Error) -- The Collections API -- java.util.ArrayList and java.util.HashMap -- ArrayList (java.util.ArrayList) -- Commonly used methods of the ArrayList class -- ArrayList usage example -- HashMap (java.util.HashMap) -- Commonly used methods of the HashMap class -- HashMap usage example -- Preparing your classes for the Collections API -- About hashCode() -- About equals () -- The hashing mechanism -- Running JVM applications on the command line -- At least one class must have a static main() method -- Required directory structure for class files -- Setting ClassPath for a JVM instance -- Placing class files inside a JAR archive -- Runnable JAR file -- Running a program with the java command -- Run a project consisting of separate class files -- Running a project that is placed inside a runnable JAR file -- Other useful parameters of the java command -- D to pass properties and values -- ea to enable assertions -- A hands-on example project to run on JVM -- A ClassPath example -- Eclipse IDE -- Downloading Eclipse IDE -- Installing Eclipse IDE -- Summary -- Chapter 3: Java -- OOP in Java -- Defining classes -- Class access modifiers -- Final class modifier -- locking a class -- Defining packages -- Importing classes -- Adding class members -- variables and methods -- Instance variables -- Methods -- Modifiers -- Protecting class members with access modifiers -- Access modifier example -- Static modifier -- instance variables and class variables -- Final modifier -- locking a class member -- Overloading methods -- Constructors and finalizers -- Constructors -- Finalizers.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Extending a class -- Overriding methods -- Calling constructors of a parent class -- Abstract classes -- Interfaces -- Upcasting and downcasting -- Writing Java code -- Operators -- Conditional checks -- The if...else statement -- The switch...case statement -- POJO -- Arrays -- Generics and Collections -- Loops -- The for loop -- The normal for loop -- The enhanced for loop -- The while loop -- The do...while loop -- Exceptions -- Runtime exceptions -- Threads -- Lambdas -- Style guide -- Quiz -- Summary -- Chapter 4: Java Programming -- Configuring Eclipse IDE -- Creating a web service in Java -- Creating a new Gradle project in Eclipse IDE -- Exploring the generated project -- Modifying the Gradle build file -- Building the project -- Coding the backend class -- Backend class business rules -- Creating a dummy implementation of the method -- Creating the test case class and writing its first unit test -- Implementing an input validation check -- Writing the second unit test -- Implementing the business logic -- Creating an executable application task -- Creating a web service -- Running the web service -- Creating Javadoc documentation -- Summary -- Chapter 5: Scala -- Installing Scala -- Scala's Read-Eval-Print-Loop shell -- Functional versus imperative programming -- Scala language syntax and rules -- Statically typed language -- Mutable and immutable variables -- Common Scala types -- Any class -- AnyRef class -- reference classes -- AnyVal class -- value classes -- Strings -- OOP in Scala -- Defining packages and subpackages -- Importing members -- Defining classes -- Instance variables and methods -- Instance variables -- Instance methods -- Access modifiers for class instance members -- Constructors -- Extending a class -- Overriding methods -- Overloading methods -- Abstract classes -- Traits -- Singleton objects -- Operator overloading.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Case classes -- Scala's standard library -- Generics -- Collections -- Immutable list -- Mutable list -- Immutable map -- Mutable map -- XML processing -- Functional programming in Scala -- Iterating through collections using functions -- The map, filter, and reduce design pattern -- Map -- transform data -- Filter -- filter items from a collection or array -- Reduce -- for performing calculations -- Currying -- Quiz -- Summary -- Chapter 6: Scala Programming -- Scala IDE for the Eclipse plugin -- Installing Scala IDE for Eclipse -- Switching to the Scala IDE perspective -- SBT -- Installing SBT -- Creating an SBT-based Eclipse IDE project -- Creating a new SBT project -- Loading the SBTEclipse plugin -- Generating a new Eclipse IDE project with SBTEclipse -- Importing the generated project in Eclipse IDE -- The Scala compiler (scalac) -- Creating a singleton object with the main() method -- Creating a singleton object that extends the App trait -- Creating an Akka project -- Adding an Akka dependency to the SBT build file -- Updating the Scala IDE project -- Akka concepts -- Actors -- Actor references (ActorRef) -- Messages -- Dispatchers -- Creating our first Akka actor -- QuotesHandlerActor -- Creating messages -- Writing a ScalaTest-based unit test -- Implementing a message handler -- Creating QuotePrinterActor -- The main application -- Summary -- Chapter 7: Clojure -- Installing Clojure -- Creating a start script -- Creating a start script on Windows -- Creating a start script on macOS and Linux -- Clojure's interactive shell (REPL) -- Clojure language -- Syntax -- Expressions -- Defining variables -- Defining functions -- Data structures -- Numeric types -- Strings and characters -- Collections -- Lists -- Vectors -- Sets -- Hash-maps -- Iteration over arrays and loops -- Conditions -- Working with Java classes.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Creating simple Java classes with deftype and defrecord -- Managing states with agents -- Agent example -- Style guide -- Quiz -- Summary -- Chapter 8: Clojure Programming -- The Counterclockwise plugin for Eclipse IDE -- Installing the Counterclockwise plugin -- Switching to the Java perspective -- Leiningen's build tool -- Installing Leiningen -- Creating executable programs in Clojure -- Compiling to class files without Leiningen -- Compiling projects with Leiningen -- Creating a new Counterclockwise project -- Clojure REPL in Eclipse IDE -- Updating the project's Clojure version -- Adding a dependency -- Exploring monads by applying test-driven development -- The Luminus web framework -- Creating a Luminus project -- Importing the project in Counterclockwise -- Exploring the Luminus project -- Adding a page to the web application -- Summary -- Chapter 9: Kotlin -- Installing Kotlin -- Launch scripts -- Kotlin's REPL interactive shell -- Kotlin language fundamentals -- Defining local variables -- Defining a function -- Kotlin's types -- Kotlin basic types -- Strings -- Null safety handling -- Option 1 -- Adding a conditional check -- Option 2 -- Using the safe call operator ?. -- Option 3 -- Using the Elvis operator ?: -- Option 4 -- Using the !! operator -- Conversions -- Collections and generics -- Loops -- OOP in Kotlin -- Defining packages -- Importing members -- Defining classes and constructors -- Adding members to classes -- Adding functions -- The main entry function -- Adding properties -- Inheritance -- Interfaces -- Visibility modifiers -- Singleton and companion objects -- Data classes -- Lambdas and inline functions -- Procedural programming in Kotlin -- Style guide -- Quiz -- Summary -- Chapter 10: Kotlin Programming -- Kotlin for the Eclipse IDE plugin -- Installing the Kotlin plugin for the Eclipse IDE.</subfield></datafield><datafield tag="630" ind1="0" ind2="0"><subfield code="a">Java virtual machine.</subfield><subfield code="0">http://id.loc.gov/authorities/names/n97050367</subfield></datafield><datafield tag="630" ind1="0" ind2="7"><subfield code="a">Java virtual machine</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Java (Computer program language)</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh95008574</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Scala (Computer program language)</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh2010013203</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Clojure (Computer program language)</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh2011003332</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Groovy (Computer program language)</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh2007001244</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Java (Langage de programmation)</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Scala (Langage de programmation)</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Clojure (Langage de programmation)</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Groovy (Langage de programmation)</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">COMPUTERS</subfield><subfield code="x">Programming Languages</subfield><subfield code="x">Java.</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">COMPUTERS</subfield><subfield code="x">Programming</subfield><subfield code="x">General.</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Clojure (Computer program language)</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Groovy (Computer program language)</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Java (Computer program language)</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Scala (Computer program language)</subfield><subfield code="2">fast</subfield></datafield><datafield tag="758" ind1=" " ind2=" "><subfield code="i">has work:</subfield><subfield code="a">Introduction to JVM languages (Text)</subfield><subfield code="1">https://id.oclc.org/worldcat/entity/E39PCXDFprhFyCB4b7RwgTbtyq</subfield><subfield code="4">https://id.oclc.org/worldcat/ontology/hasWork</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="l">FWS01</subfield><subfield code="p">ZDB-4-EBA</subfield><subfield code="q">FWS_PDA_EBA</subfield><subfield code="u">https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1543833</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">Askews and Holts Library Services</subfield><subfield code="b">ASKH</subfield><subfield code="n">AH32239342</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">ProQuest MyiLibrary Digital eBook Collection</subfield><subfield code="b">IDEB</subfield><subfield code="n">cis37299878</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">EBSCOhost</subfield><subfield code="b">EBSC</subfield><subfield code="n">1543833</subfield></datafield><datafield tag="994" ind1=" " ind2=" "><subfield code="a">92</subfield><subfield code="b">GEBAY</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-4-EBA</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-863</subfield></datafield></record></collection> |
id | ZDB-4-EBA-ocn994027843 |
illustrated | Illustrated |
indexdate | 2024-11-27T13:27:56Z |
institution | BVB |
isbn | 1787126587 9781787126589 |
language | English |
oclc_num | 994027843 |
open_access_boolean | |
owner | MAIN DE-863 DE-BY-FWS |
owner_facet | MAIN DE-863 DE-BY-FWS |
physical | 1 online resource (1 volume) : illustrations |
psigel | ZDB-4-EBA |
publishDate | 2017 |
publishDateSearch | 2017 |
publishDateSort | 2017 |
publisher | Packt Publishing, |
record_format | marc |
spelling | Leun, Vincent van der, author. Introduction to JVM languages : Java, Scala, Clojure, Kotlin, and Groovy / Vincent van der Leuni. Birmingham, UK : Packt Publishing, 2017. 1 online resource (1 volume) : illustrations text txt rdacontent computer c rdamedia online resource cr rdacarrier Description based on online resource; title from title page (Safari, viewed July 17, 2017). Explore the Java Virtual Machine with modern programming languages About This Book This guide provides in-depth coverage of the Java Virtual Machine and its features Filled with practical examples, this book will help you understand the core concepts of Java, Scala, Clojure, Kotlin, and Groovy Work with various programming paradigms and gain knowledge about imperative, object-oriented and functional programming Who This Book Is For This book is meant for programmers who are interested in the Java Virtual Machine (JVM) and want to learn more about the most popular programming languages that can be used for JVM development. Basic practical knowledge of a modern programming language that supports object-oriented programming (JavaScript, Python, C#, VB.NET, and C++) is assumed. What You Will Learn Gain practical information about the Java Virtual Machine Understand the popular JVM languages and the Java Class Library Get to know about various programming paradigms such as imperative, object-oriented, and functional Work with common JVM tools such as Eclipse IDE, Gradle, and Maven Explore frameworks such as SparkJava, Vert.x, Akka and JavaFX Boost your knowledge about dialects of other well-known programming languages that run on the JVM, including JavaScript, Python, and Ruby In Detail Anyone who knows software development knows about the Java Virtual Machine. The Java Virtual Machine is responsible for interpreting Java byte code and translating it into actions. In the beginning, Java was the only programming language used for the JVM. But increasing complexity of the language and the remarkable performance of the JVM created an opening for a new generation of programming languages. If you want to build a strong foundation with the Java Virtual Machine and get started with popular modern programming languages, then this book is for you. The book will begin with a general introduction of the JVM and its features, which are common to the JVM languages, helping you get abreast with its concepts. It will then dive into explaining languages such as Java, Scala, Clojure, Kotlin, and Groovy and will show how to work with each language, their features, use cases, and pros and cons. By writing example projects in those languages and focusing on each language's strong points, it will help you find the programming language that is most appropriate for your particular needs. By the end of the book, you will have written multiple programs that run on the Java... Intro -- Cover -- Copyright -- Credits -- About the Author -- About the Reviewer -- www.PacktPub.com -- Customer Feedback -- Table of Contents -- Preface -- Chapter 1: Java Virtual Machine -- JVM implementations -- Why develop on JVM? -- JVM adapts to market changes -- Java Class Library -- Ecosystem -- Scenario 1 -- Using a JVM application server -- Scenario 2 -- Using a general high-level web application framework -- Scenario 3 -- Using a microservice framework -- Popular use cases -- Web applications -- Big data -- IoT -- JVM concepts -- Virtual machine -- The JIT compiler -- Primitive datatypes -- Classes -- Reference types -- References and null references -- Garbage collector -- Example -- Backward compatibility -- Build tools -- Java editions -- Java SE -- Java EE -- Example -- Java Persistence API as implemented by two application servers -- Java ME -- Other languages on JVM -- Why choose a language other than Java? -- Java is a very verbose language -- Java is not ideal for everything or everyone -- Missing classes in Java Class Library -- Mixing JVM languages in a project -- Increasing build process complexity -- Language runtime libraries -- Writing unit tests in a different language -- Summary -- Chapter 2: Developing on the Java Virtual Machine -- JDK -- Installing JDK -- Downloading JDK -- Installing JDK on Windows -- Installing JDK on macOS -- Installing JDK on Linux -- Downloading API documentation -- Exploring JDK -- The directory structure -- JDK commands -- GUI monitoring tools -- Java VisualVM -- Oracle Mission Control -- JConsole -- JRE -- Class organization with packages -- What are packages? -- Choosing a package name -- Package name examples -- Fully qualified class name -- Java Class Library -- Java Class Library organization -- Package overview -- Fundamental classes of the java.lang package. The Object class (java.lang.Object) -- Important object methods -- The String class (java.lang.String) -- Primitive wrapper classes (Integer, Long, Short, Char, Float, Double in java.lang) -- Autoboxing examples -- Exceptions and errors (java.lang.Exception and java.lang.Error) -- The Collections API -- java.util.ArrayList and java.util.HashMap -- ArrayList (java.util.ArrayList) -- Commonly used methods of the ArrayList class -- ArrayList usage example -- HashMap (java.util.HashMap) -- Commonly used methods of the HashMap class -- HashMap usage example -- Preparing your classes for the Collections API -- About hashCode() -- About equals () -- The hashing mechanism -- Running JVM applications on the command line -- At least one class must have a static main() method -- Required directory structure for class files -- Setting ClassPath for a JVM instance -- Placing class files inside a JAR archive -- Runnable JAR file -- Running a program with the java command -- Run a project consisting of separate class files -- Running a project that is placed inside a runnable JAR file -- Other useful parameters of the java command -- D to pass properties and values -- ea to enable assertions -- A hands-on example project to run on JVM -- A ClassPath example -- Eclipse IDE -- Downloading Eclipse IDE -- Installing Eclipse IDE -- Summary -- Chapter 3: Java -- OOP in Java -- Defining classes -- Class access modifiers -- Final class modifier -- locking a class -- Defining packages -- Importing classes -- Adding class members -- variables and methods -- Instance variables -- Methods -- Modifiers -- Protecting class members with access modifiers -- Access modifier example -- Static modifier -- instance variables and class variables -- Final modifier -- locking a class member -- Overloading methods -- Constructors and finalizers -- Constructors -- Finalizers. Extending a class -- Overriding methods -- Calling constructors of a parent class -- Abstract classes -- Interfaces -- Upcasting and downcasting -- Writing Java code -- Operators -- Conditional checks -- The if...else statement -- The switch...case statement -- POJO -- Arrays -- Generics and Collections -- Loops -- The for loop -- The normal for loop -- The enhanced for loop -- The while loop -- The do...while loop -- Exceptions -- Runtime exceptions -- Threads -- Lambdas -- Style guide -- Quiz -- Summary -- Chapter 4: Java Programming -- Configuring Eclipse IDE -- Creating a web service in Java -- Creating a new Gradle project in Eclipse IDE -- Exploring the generated project -- Modifying the Gradle build file -- Building the project -- Coding the backend class -- Backend class business rules -- Creating a dummy implementation of the method -- Creating the test case class and writing its first unit test -- Implementing an input validation check -- Writing the second unit test -- Implementing the business logic -- Creating an executable application task -- Creating a web service -- Running the web service -- Creating Javadoc documentation -- Summary -- Chapter 5: Scala -- Installing Scala -- Scala's Read-Eval-Print-Loop shell -- Functional versus imperative programming -- Scala language syntax and rules -- Statically typed language -- Mutable and immutable variables -- Common Scala types -- Any class -- AnyRef class -- reference classes -- AnyVal class -- value classes -- Strings -- OOP in Scala -- Defining packages and subpackages -- Importing members -- Defining classes -- Instance variables and methods -- Instance variables -- Instance methods -- Access modifiers for class instance members -- Constructors -- Extending a class -- Overriding methods -- Overloading methods -- Abstract classes -- Traits -- Singleton objects -- Operator overloading. Case classes -- Scala's standard library -- Generics -- Collections -- Immutable list -- Mutable list -- Immutable map -- Mutable map -- XML processing -- Functional programming in Scala -- Iterating through collections using functions -- The map, filter, and reduce design pattern -- Map -- transform data -- Filter -- filter items from a collection or array -- Reduce -- for performing calculations -- Currying -- Quiz -- Summary -- Chapter 6: Scala Programming -- Scala IDE for the Eclipse plugin -- Installing Scala IDE for Eclipse -- Switching to the Scala IDE perspective -- SBT -- Installing SBT -- Creating an SBT-based Eclipse IDE project -- Creating a new SBT project -- Loading the SBTEclipse plugin -- Generating a new Eclipse IDE project with SBTEclipse -- Importing the generated project in Eclipse IDE -- The Scala compiler (scalac) -- Creating a singleton object with the main() method -- Creating a singleton object that extends the App trait -- Creating an Akka project -- Adding an Akka dependency to the SBT build file -- Updating the Scala IDE project -- Akka concepts -- Actors -- Actor references (ActorRef) -- Messages -- Dispatchers -- Creating our first Akka actor -- QuotesHandlerActor -- Creating messages -- Writing a ScalaTest-based unit test -- Implementing a message handler -- Creating QuotePrinterActor -- The main application -- Summary -- Chapter 7: Clojure -- Installing Clojure -- Creating a start script -- Creating a start script on Windows -- Creating a start script on macOS and Linux -- Clojure's interactive shell (REPL) -- Clojure language -- Syntax -- Expressions -- Defining variables -- Defining functions -- Data structures -- Numeric types -- Strings and characters -- Collections -- Lists -- Vectors -- Sets -- Hash-maps -- Iteration over arrays and loops -- Conditions -- Working with Java classes. Creating simple Java classes with deftype and defrecord -- Managing states with agents -- Agent example -- Style guide -- Quiz -- Summary -- Chapter 8: Clojure Programming -- The Counterclockwise plugin for Eclipse IDE -- Installing the Counterclockwise plugin -- Switching to the Java perspective -- Leiningen's build tool -- Installing Leiningen -- Creating executable programs in Clojure -- Compiling to class files without Leiningen -- Compiling projects with Leiningen -- Creating a new Counterclockwise project -- Clojure REPL in Eclipse IDE -- Updating the project's Clojure version -- Adding a dependency -- Exploring monads by applying test-driven development -- The Luminus web framework -- Creating a Luminus project -- Importing the project in Counterclockwise -- Exploring the Luminus project -- Adding a page to the web application -- Summary -- Chapter 9: Kotlin -- Installing Kotlin -- Launch scripts -- Kotlin's REPL interactive shell -- Kotlin language fundamentals -- Defining local variables -- Defining a function -- Kotlin's types -- Kotlin basic types -- Strings -- Null safety handling -- Option 1 -- Adding a conditional check -- Option 2 -- Using the safe call operator ?. -- Option 3 -- Using the Elvis operator ?: -- Option 4 -- Using the !! operator -- Conversions -- Collections and generics -- Loops -- OOP in Kotlin -- Defining packages -- Importing members -- Defining classes and constructors -- Adding members to classes -- Adding functions -- The main entry function -- Adding properties -- Inheritance -- Interfaces -- Visibility modifiers -- Singleton and companion objects -- Data classes -- Lambdas and inline functions -- Procedural programming in Kotlin -- Style guide -- Quiz -- Summary -- Chapter 10: Kotlin Programming -- Kotlin for the Eclipse IDE plugin -- Installing the Kotlin plugin for the Eclipse IDE. Java virtual machine. http://id.loc.gov/authorities/names/n97050367 Java virtual machine fast Java (Computer program language) http://id.loc.gov/authorities/subjects/sh95008574 Scala (Computer program language) http://id.loc.gov/authorities/subjects/sh2010013203 Clojure (Computer program language) http://id.loc.gov/authorities/subjects/sh2011003332 Groovy (Computer program language) http://id.loc.gov/authorities/subjects/sh2007001244 Java (Langage de programmation) Scala (Langage de programmation) Clojure (Langage de programmation) Groovy (Langage de programmation) COMPUTERS Programming Languages Java. bisacsh COMPUTERS Programming General. bisacsh Clojure (Computer program language) fast Groovy (Computer program language) fast Java (Computer program language) fast Scala (Computer program language) fast has work: Introduction to JVM languages (Text) https://id.oclc.org/worldcat/entity/E39PCXDFprhFyCB4b7RwgTbtyq https://id.oclc.org/worldcat/ontology/hasWork FWS01 ZDB-4-EBA FWS_PDA_EBA https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1543833 Volltext |
spellingShingle | Leun, Vincent van der Introduction to JVM languages : Java, Scala, Clojure, Kotlin, and Groovy / Intro -- Cover -- Copyright -- Credits -- About the Author -- About the Reviewer -- www.PacktPub.com -- Customer Feedback -- Table of Contents -- Preface -- Chapter 1: Java Virtual Machine -- JVM implementations -- Why develop on JVM? -- JVM adapts to market changes -- Java Class Library -- Ecosystem -- Scenario 1 -- Using a JVM application server -- Scenario 2 -- Using a general high-level web application framework -- Scenario 3 -- Using a microservice framework -- Popular use cases -- Web applications -- Big data -- IoT -- JVM concepts -- Virtual machine -- The JIT compiler -- Primitive datatypes -- Classes -- Reference types -- References and null references -- Garbage collector -- Example -- Backward compatibility -- Build tools -- Java editions -- Java SE -- Java EE -- Example -- Java Persistence API as implemented by two application servers -- Java ME -- Other languages on JVM -- Why choose a language other than Java? -- Java is a very verbose language -- Java is not ideal for everything or everyone -- Missing classes in Java Class Library -- Mixing JVM languages in a project -- Increasing build process complexity -- Language runtime libraries -- Writing unit tests in a different language -- Summary -- Chapter 2: Developing on the Java Virtual Machine -- JDK -- Installing JDK -- Downloading JDK -- Installing JDK on Windows -- Installing JDK on macOS -- Installing JDK on Linux -- Downloading API documentation -- Exploring JDK -- The directory structure -- JDK commands -- GUI monitoring tools -- Java VisualVM -- Oracle Mission Control -- JConsole -- JRE -- Class organization with packages -- What are packages? -- Choosing a package name -- Package name examples -- Fully qualified class name -- Java Class Library -- Java Class Library organization -- Package overview -- Fundamental classes of the java.lang package. The Object class (java.lang.Object) -- Important object methods -- The String class (java.lang.String) -- Primitive wrapper classes (Integer, Long, Short, Char, Float, Double in java.lang) -- Autoboxing examples -- Exceptions and errors (java.lang.Exception and java.lang.Error) -- The Collections API -- java.util.ArrayList and java.util.HashMap -- ArrayList (java.util.ArrayList) -- Commonly used methods of the ArrayList class -- ArrayList usage example -- HashMap (java.util.HashMap) -- Commonly used methods of the HashMap class -- HashMap usage example -- Preparing your classes for the Collections API -- About hashCode() -- About equals () -- The hashing mechanism -- Running JVM applications on the command line -- At least one class must have a static main() method -- Required directory structure for class files -- Setting ClassPath for a JVM instance -- Placing class files inside a JAR archive -- Runnable JAR file -- Running a program with the java command -- Run a project consisting of separate class files -- Running a project that is placed inside a runnable JAR file -- Other useful parameters of the java command -- D to pass properties and values -- ea to enable assertions -- A hands-on example project to run on JVM -- A ClassPath example -- Eclipse IDE -- Downloading Eclipse IDE -- Installing Eclipse IDE -- Summary -- Chapter 3: Java -- OOP in Java -- Defining classes -- Class access modifiers -- Final class modifier -- locking a class -- Defining packages -- Importing classes -- Adding class members -- variables and methods -- Instance variables -- Methods -- Modifiers -- Protecting class members with access modifiers -- Access modifier example -- Static modifier -- instance variables and class variables -- Final modifier -- locking a class member -- Overloading methods -- Constructors and finalizers -- Constructors -- Finalizers. Extending a class -- Overriding methods -- Calling constructors of a parent class -- Abstract classes -- Interfaces -- Upcasting and downcasting -- Writing Java code -- Operators -- Conditional checks -- The if...else statement -- The switch...case statement -- POJO -- Arrays -- Generics and Collections -- Loops -- The for loop -- The normal for loop -- The enhanced for loop -- The while loop -- The do...while loop -- Exceptions -- Runtime exceptions -- Threads -- Lambdas -- Style guide -- Quiz -- Summary -- Chapter 4: Java Programming -- Configuring Eclipse IDE -- Creating a web service in Java -- Creating a new Gradle project in Eclipse IDE -- Exploring the generated project -- Modifying the Gradle build file -- Building the project -- Coding the backend class -- Backend class business rules -- Creating a dummy implementation of the method -- Creating the test case class and writing its first unit test -- Implementing an input validation check -- Writing the second unit test -- Implementing the business logic -- Creating an executable application task -- Creating a web service -- Running the web service -- Creating Javadoc documentation -- Summary -- Chapter 5: Scala -- Installing Scala -- Scala's Read-Eval-Print-Loop shell -- Functional versus imperative programming -- Scala language syntax and rules -- Statically typed language -- Mutable and immutable variables -- Common Scala types -- Any class -- AnyRef class -- reference classes -- AnyVal class -- value classes -- Strings -- OOP in Scala -- Defining packages and subpackages -- Importing members -- Defining classes -- Instance variables and methods -- Instance variables -- Instance methods -- Access modifiers for class instance members -- Constructors -- Extending a class -- Overriding methods -- Overloading methods -- Abstract classes -- Traits -- Singleton objects -- Operator overloading. Case classes -- Scala's standard library -- Generics -- Collections -- Immutable list -- Mutable list -- Immutable map -- Mutable map -- XML processing -- Functional programming in Scala -- Iterating through collections using functions -- The map, filter, and reduce design pattern -- Map -- transform data -- Filter -- filter items from a collection or array -- Reduce -- for performing calculations -- Currying -- Quiz -- Summary -- Chapter 6: Scala Programming -- Scala IDE for the Eclipse plugin -- Installing Scala IDE for Eclipse -- Switching to the Scala IDE perspective -- SBT -- Installing SBT -- Creating an SBT-based Eclipse IDE project -- Creating a new SBT project -- Loading the SBTEclipse plugin -- Generating a new Eclipse IDE project with SBTEclipse -- Importing the generated project in Eclipse IDE -- The Scala compiler (scalac) -- Creating a singleton object with the main() method -- Creating a singleton object that extends the App trait -- Creating an Akka project -- Adding an Akka dependency to the SBT build file -- Updating the Scala IDE project -- Akka concepts -- Actors -- Actor references (ActorRef) -- Messages -- Dispatchers -- Creating our first Akka actor -- QuotesHandlerActor -- Creating messages -- Writing a ScalaTest-based unit test -- Implementing a message handler -- Creating QuotePrinterActor -- The main application -- Summary -- Chapter 7: Clojure -- Installing Clojure -- Creating a start script -- Creating a start script on Windows -- Creating a start script on macOS and Linux -- Clojure's interactive shell (REPL) -- Clojure language -- Syntax -- Expressions -- Defining variables -- Defining functions -- Data structures -- Numeric types -- Strings and characters -- Collections -- Lists -- Vectors -- Sets -- Hash-maps -- Iteration over arrays and loops -- Conditions -- Working with Java classes. Creating simple Java classes with deftype and defrecord -- Managing states with agents -- Agent example -- Style guide -- Quiz -- Summary -- Chapter 8: Clojure Programming -- The Counterclockwise plugin for Eclipse IDE -- Installing the Counterclockwise plugin -- Switching to the Java perspective -- Leiningen's build tool -- Installing Leiningen -- Creating executable programs in Clojure -- Compiling to class files without Leiningen -- Compiling projects with Leiningen -- Creating a new Counterclockwise project -- Clojure REPL in Eclipse IDE -- Updating the project's Clojure version -- Adding a dependency -- Exploring monads by applying test-driven development -- The Luminus web framework -- Creating a Luminus project -- Importing the project in Counterclockwise -- Exploring the Luminus project -- Adding a page to the web application -- Summary -- Chapter 9: Kotlin -- Installing Kotlin -- Launch scripts -- Kotlin's REPL interactive shell -- Kotlin language fundamentals -- Defining local variables -- Defining a function -- Kotlin's types -- Kotlin basic types -- Strings -- Null safety handling -- Option 1 -- Adding a conditional check -- Option 2 -- Using the safe call operator ?. -- Option 3 -- Using the Elvis operator ?: -- Option 4 -- Using the !! operator -- Conversions -- Collections and generics -- Loops -- OOP in Kotlin -- Defining packages -- Importing members -- Defining classes and constructors -- Adding members to classes -- Adding functions -- The main entry function -- Adding properties -- Inheritance -- Interfaces -- Visibility modifiers -- Singleton and companion objects -- Data classes -- Lambdas and inline functions -- Procedural programming in Kotlin -- Style guide -- Quiz -- Summary -- Chapter 10: Kotlin Programming -- Kotlin for the Eclipse IDE plugin -- Installing the Kotlin plugin for the Eclipse IDE. Java virtual machine. http://id.loc.gov/authorities/names/n97050367 Java virtual machine fast Java (Computer program language) http://id.loc.gov/authorities/subjects/sh95008574 Scala (Computer program language) http://id.loc.gov/authorities/subjects/sh2010013203 Clojure (Computer program language) http://id.loc.gov/authorities/subjects/sh2011003332 Groovy (Computer program language) http://id.loc.gov/authorities/subjects/sh2007001244 Java (Langage de programmation) Scala (Langage de programmation) Clojure (Langage de programmation) Groovy (Langage de programmation) COMPUTERS Programming Languages Java. bisacsh COMPUTERS Programming General. bisacsh Clojure (Computer program language) fast Groovy (Computer program language) fast Java (Computer program language) fast Scala (Computer program language) fast |
subject_GND | http://id.loc.gov/authorities/names/n97050367 http://id.loc.gov/authorities/subjects/sh95008574 http://id.loc.gov/authorities/subjects/sh2010013203 http://id.loc.gov/authorities/subjects/sh2011003332 http://id.loc.gov/authorities/subjects/sh2007001244 |
title | Introduction to JVM languages : Java, Scala, Clojure, Kotlin, and Groovy / |
title_auth | Introduction to JVM languages : Java, Scala, Clojure, Kotlin, and Groovy / |
title_exact_search | Introduction to JVM languages : Java, Scala, Clojure, Kotlin, and Groovy / |
title_full | Introduction to JVM languages : Java, Scala, Clojure, Kotlin, and Groovy / Vincent van der Leuni. |
title_fullStr | Introduction to JVM languages : Java, Scala, Clojure, Kotlin, and Groovy / Vincent van der Leuni. |
title_full_unstemmed | Introduction to JVM languages : Java, Scala, Clojure, Kotlin, and Groovy / Vincent van der Leuni. |
title_short | Introduction to JVM languages : |
title_sort | introduction to jvm languages java scala clojure kotlin and groovy |
title_sub | Java, Scala, Clojure, Kotlin, and Groovy / |
topic | Java virtual machine. http://id.loc.gov/authorities/names/n97050367 Java virtual machine fast Java (Computer program language) http://id.loc.gov/authorities/subjects/sh95008574 Scala (Computer program language) http://id.loc.gov/authorities/subjects/sh2010013203 Clojure (Computer program language) http://id.loc.gov/authorities/subjects/sh2011003332 Groovy (Computer program language) http://id.loc.gov/authorities/subjects/sh2007001244 Java (Langage de programmation) Scala (Langage de programmation) Clojure (Langage de programmation) Groovy (Langage de programmation) COMPUTERS Programming Languages Java. bisacsh COMPUTERS Programming General. bisacsh Clojure (Computer program language) fast Groovy (Computer program language) fast Java (Computer program language) fast Scala (Computer program language) fast |
topic_facet | Java virtual machine. Java virtual machine Java (Computer program language) Scala (Computer program language) Clojure (Computer program language) Groovy (Computer program language) Java (Langage de programmation) Scala (Langage de programmation) Clojure (Langage de programmation) Groovy (Langage de programmation) COMPUTERS Programming Languages Java. COMPUTERS Programming General. |
url | https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1543833 |
work_keys_str_mv | AT leunvincentvander introductiontojvmlanguagesjavascalaclojurekotlinandgroovy |