Programming Scala: tackle multicore complexity on the JVM
Describes how to use Scala to create applications for the Java VM.
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Raleigh, NC [u.a.]
Pragmatic Bookshelf
2009
|
Ausgabe: | P1.0 print. |
Schriftenreihe: | The programmatic programmers
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Zusammenfassung: | Describes how to use Scala to create applications for the Java VM. |
Beschreibung: | X, 221 S. Ill., graph. Darst. |
ISBN: | 9781934356319 193435631X |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV035970084 | ||
003 | DE-604 | ||
005 | 20121011 | ||
007 | t | ||
008 | 100125s2009 ad|| |||| 00||| eng d | ||
015 | |a GBA8D9766 |2 dnb | ||
020 | |a 9781934356319 |9 978-1-93435-631-9 | ||
020 | |a 193435631X |9 1-93435-631-X | ||
035 | |a (OCoLC)502283740 | ||
035 | |a (DE-599)BVBBV035970084 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a eng | |
049 | |a DE-739 |a DE-M347 |a DE-B768 | ||
082 | 0 | |a 005.133 | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a ST 326 |0 (DE-625)143662: |2 rvk | ||
084 | |a DAT 368f |2 stub | ||
100 | 1 | |a Subramaniam, Venkat |e Verfasser |4 aut | |
245 | 1 | 0 | |a Programming Scala |b tackle multicore complexity on the JVM |c Venkat Subramaniam |
250 | |a P1.0 print. | ||
264 | 1 | |a Raleigh, NC [u.a.] |b Pragmatic Bookshelf |c 2009 | |
300 | |a X, 221 S. |b Ill., graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a The programmatic programmers | |
520 | 3 | |a Describes how to use Scala to create applications for the Java VM. | |
650 | 4 | |a Scala (Computer program language) | |
650 | 4 | |a Java virtual machine | |
650 | 4 | |a Java (Computer program language) | |
650 | 4 | |a Scala (Computer program language) | |
650 | 0 | 7 | |a Scala |g Programmiersprache |0 (DE-588)7658965-1 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Scala |g Programmiersprache |0 (DE-588)7658965-1 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Steinberg, Daniel H. |e Sonstige |4 oth | |
856 | 4 | 2 | |m Digitalisierung UB Passau |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=018864110&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-018864110 |
Datensatz im Suchindex
_version_ | 1804140992374243328 |
---|---|
adam_text | 1
Introduction
1
1.1
Why
Scala?
.......................... 1
1.2
What s
Scala?
........................ 4
1.3
Functional Programming
.................. 9
1.4
What s in This Book?
.................... 12
1.5
Who Is This Book For?
................... 14
1.6
Acknowledgments
...................... 14
2
Getting Started
17
2.1
Downloading
Scala
..................... 17
2.2
Installing
Scala
....................... 18
2.3
Take
Scala
for a Ride
.................... 19
2.4
Scala
on the Command Line
................ 21
2.5
Running
Scala
Code as a Script
.............. 22
2.6
Scala
from an IDE
...................... 23
2.7
Compiling
Scala
....................... 23
3
Getting Up to Speed in
Scala
25
3.1
Scala
as Concise Java
................... 25
3.2
Scala
Classes for Java Primitives
............. 28
3.3
Tuples and Multiple Assignments
............. 29
3.4
Strings and Multiline Raw Strings
............ 31
3.5
Sensible Defaults
...................... 32
3.6
Operator Overloading
.................... 34
3.7
Scala
Surprises for the Java Eyes
............. 36
4
Classes in
Scala
45
4.1
Creating Classes
....................... 45
4.2
Defining Fields, Methods, and Constructors
...... 46
4.3
Extending a Class
...................... 49
4.4
Singleton Object
....................... 50
4.5
Stand-Alone and Companion Objects
.......... 52
4.6
static in
Scala
........................ 53
5 Sensible Typing 55
5.1
Collections
and Type Inference
.............. 56
5.2
The Any Type
........................ 58
5.3
More About Nothing
..................... 59
5.4
Option Type
......................... 60
5.5
Method Return Type Inference
.............. 61
5.6
Passing Variable Arguments (Varargs)
.......... 62
5.7
Variance of Parameterized Type
.............. 63
6
Function Values and Closures
67
6.1
Moving from Normal to Higher-Order Functions
.... 67
6.2
Function Values
....................... 68
6.3
Function Values with Multiple Parameters
....... 70
6.4
Currying
.......................... . 72
6.5
Reusing Function Values
.................. 73
6.6
Positional Notation for Parameters
............ 75
6.7
Execute Around Method Pattern
............. 76
6.8
Partially Applied Functions
................ 79
6.9
Closures
........................... 80
7
Traits and Type Conversions
83
7.1
Traits
............................. 83
7.2
Selective Mixins
....................... 86
7.3
Decorating with Traits
................... 87
7.4
Method Late Binding in Traits
............... 89
7.5
Implicit Type Conversions
................. 91
8
Using Collections
95
8.1
Common
Scala
Collections
................. 95
8.2
Using a Set
.......................... 96
8.3
Using a Map
......................... 98
8.4
Using a List
......................... 100
8.5
The for Expression
..................... 105
9
Pattern Matching and Regular Expressions
109
9.1
Matching Literals and Constants
............. 109
9.2
Matching a Wildcard
.................... 110
9.3
Matching Tuples and Lists
.................
Ill
9.4
Matching with Types and Guards
............. 112
9.5
Pattern Variables and Constants in case Expressions
. 113
9.6
Pattern Matching XML Fragments
............ 114
9.7
Matching Using case Classes
............... 114
9.8
Matching Using Extractors
................. 117
9.9
Regular Expressions
.................... 121
9.10
Regular Expressions as Extractors
............ 122
10
Conclurent
Programming
125
10.1
Promote Immutability
.................... 125
10.2
Concurrency Using Actor
.................. 127
10.3
Message Passing
....................... 131
10.4
The Actor Class
....................... 133
10.5
The actor Method
...................... 135
10.6
receive and receiveWithin Methods
........... . 138
10.7
react and reactWithin Methods
.............. 140
10.8
loop and loopWhile
..................... 145
10.9
Controlling Thread of Execution
............. 147
10.10
Choosing Among the Receive Methods
.......... 148
11
Intermixing with Java
151
11.1
Using
Scala
Classes in
Scala
............... 151
11.2
Using Java Classes in
Scala
................ 154
11.3
Using
Scala
Classes in Java
................ 156
11.4
Extending Classes
...................... 160
12
Unit Testing with
Scala
163
12.1
Using JUnit
......................... 163
12.2
Using ScalaTest
....................... 165
12.3
Start with a Canary Test
.................. 165
12.4
Using Runner
........................ 166
12.5
Asserts
............................ 168
12.6
Exception Tests
....................... 170
12.7
Sharing Code Between Tests
................ 172
12.8
Functional Style with FunSuite
.............. 174
12.9
Running ScalaTests Using JUnit
............. 175
13
Exception Handling
179
13.1
Exception Handling
..................... 179
13.2
Mind the Catch Order
................... 182
14
Using
Scala
183
14.1
The Net Asset Application
................. 183
14.2
Getting Users Input
.................... 183
14.3
Reading and Writing Files
................. 184
14.4
XML as a First-Class Citizen
................ 186
14.5
Reading and Writing
XML................. 189
14.6
Getting Stock Prices from the Web
............ 192
14.7
Making the Net Asset Application Concurrent
..... 195
14.8
Putting a GUI on the Net Asset Application
....... 197
A Web Resources
207
В
Bibliography
209
Index
211
|
any_adam_object | 1 |
author | Subramaniam, Venkat |
author_facet | Subramaniam, Venkat |
author_role | aut |
author_sort | Subramaniam, Venkat |
author_variant | v s vs |
building | Verbundindex |
bvnumber | BV035970084 |
classification_rvk | ST 250 ST 326 |
classification_tum | DAT 368f |
ctrlnum | (OCoLC)502283740 (DE-599)BVBBV035970084 |
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 |
edition | P1.0 print. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01812nam a2200469 c 4500</leader><controlfield tag="001">BV035970084</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20121011 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">100125s2009 ad|| |||| 00||| eng d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">GBA8D9766</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781934356319</subfield><subfield code="9">978-1-93435-631-9</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">193435631X</subfield><subfield code="9">1-93435-631-X</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)502283740</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV035970084</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-739</subfield><subfield code="a">DE-M347</subfield><subfield code="a">DE-B768</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.133</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 326</subfield><subfield code="0">(DE-625)143662:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 368f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Subramaniam, Venkat</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Programming Scala</subfield><subfield code="b">tackle multicore complexity on the JVM</subfield><subfield code="c">Venkat Subramaniam</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">P1.0 print.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Raleigh, NC [u.a.]</subfield><subfield code="b">Pragmatic Bookshelf</subfield><subfield code="c">2009</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">X, 221 S.</subfield><subfield code="b">Ill., graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">The programmatic programmers</subfield></datafield><datafield tag="520" ind1="3" ind2=" "><subfield code="a">Describes how to use Scala to create applications for the Java VM.</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Scala (Computer program language)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Java virtual machine</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Java (Computer program language)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Scala (Computer program language)</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Scala</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)7658965-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Scala</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)7658965-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Steinberg, Daniel H.</subfield><subfield code="e">Sonstige</subfield><subfield code="4">oth</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Passau</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=018864110&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-018864110</subfield></datafield></record></collection> |
id | DE-604.BV035970084 |
illustrated | Illustrated |
indexdate | 2024-07-09T22:08:47Z |
institution | BVB |
isbn | 9781934356319 193435631X |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-018864110 |
oclc_num | 502283740 |
open_access_boolean | |
owner | DE-739 DE-M347 DE-B768 |
owner_facet | DE-739 DE-M347 DE-B768 |
physical | X, 221 S. Ill., graph. Darst. |
publishDate | 2009 |
publishDateSearch | 2009 |
publishDateSort | 2009 |
publisher | Pragmatic Bookshelf |
record_format | marc |
series2 | The programmatic programmers |
spelling | Subramaniam, Venkat Verfasser aut Programming Scala tackle multicore complexity on the JVM Venkat Subramaniam P1.0 print. Raleigh, NC [u.a.] Pragmatic Bookshelf 2009 X, 221 S. Ill., graph. Darst. txt rdacontent n rdamedia nc rdacarrier The programmatic programmers Describes how to use Scala to create applications for the Java VM. Scala (Computer program language) Java virtual machine Java (Computer program language) Scala Programmiersprache (DE-588)7658965-1 gnd rswk-swf Scala Programmiersprache (DE-588)7658965-1 s DE-604 Steinberg, Daniel H. Sonstige oth Digitalisierung UB Passau application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=018864110&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Subramaniam, Venkat Programming Scala tackle multicore complexity on the JVM Scala (Computer program language) Java virtual machine Java (Computer program language) Scala Programmiersprache (DE-588)7658965-1 gnd |
subject_GND | (DE-588)7658965-1 |
title | Programming Scala tackle multicore complexity on the JVM |
title_auth | Programming Scala tackle multicore complexity on the JVM |
title_exact_search | Programming Scala tackle multicore complexity on the JVM |
title_full | Programming Scala tackle multicore complexity on the JVM Venkat Subramaniam |
title_fullStr | Programming Scala tackle multicore complexity on the JVM Venkat Subramaniam |
title_full_unstemmed | Programming Scala tackle multicore complexity on the JVM Venkat Subramaniam |
title_short | Programming Scala |
title_sort | programming scala tackle multicore complexity on the jvm |
title_sub | tackle multicore complexity on the JVM |
topic | Scala (Computer program language) Java virtual machine Java (Computer program language) Scala Programmiersprache (DE-588)7658965-1 gnd |
topic_facet | Scala (Computer program language) Java virtual machine Java (Computer program language) Scala Programmiersprache |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=018864110&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT subramaniamvenkat programmingscalatacklemulticorecomplexityonthejvm AT steinbergdanielh programmingscalatacklemulticorecomplexityonthejvm |