Muutke küpsiste eelistusi

E-raamat: Ada for Software Engineers

  • Formaat: PDF+DRM
  • Ilmumisaeg: 31-Mar-2009
  • Kirjastus: Springer London Ltd
  • Keel: eng
  • ISBN-13: 9781848823143
Teised raamatud teemal:
  • Formaat - PDF+DRM
  • Hind: 86,44 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: PDF+DRM
  • Ilmumisaeg: 31-Mar-2009
  • Kirjastus: Springer London Ltd
  • Keel: eng
  • ISBN-13: 9781848823143
Teised raamatud teemal:

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Ada is the programming language of choice for high integrity software systems and is used extensively in industries such as transportation and aerospace. Special features of the book include: Object-oriented programming, concurrency, and embedded and real-time systems are emphasized. Ada for Software Engineers explains the language concepts and the terminology of the standards document, the Ada Reference Manual (ARM). Extracts from the ARM are used throughtout and there are extensive cross references to the ARM. A comprehensive glossary and technical quizzes assist the reader in developing the ability to use the ARM as a practical reference. Comparisons with familiar languages like C and Java are given to facilitate the transition to Ada. The features of Ada 2005 are used routinely, but they are carefully identified, so that programmers using Ada 95 will also find the textbook useful. The companion website contains the full source code of nearly 100 case studies and 100 technical quizzes.

Arvustused

From the reviews of the second edition:

The text covers all of the main parts of Ada that an experienced programmer will be looking to understand .The examples are generally quite good and well formatted . This book would probably be a good fit for someone who is experienced both in programming and in reading specifications, who already knows Ada to write simple programs and who has a copy of the Ada Reference Manual at hand to look things up as required. (Jeffery Putnam, ACM Computing Reviews, February, 2009)

Preface v
The Language for a Complex World
1(12)
Programming or software engineering?
1(1)
Reliable software engineering
1(1)
Programming languages for software engineering
2(1)
Ada for software engineering
3(1)
The development of Ada
3(3)
The Ada Reference Manual
6(5)
Case studies
11(2)
First Steps in Ada
13(18)
Case study: country of origin
13(2)
Library units and context clauses
15(1)
Input-output
15(1)
Attributes for string conversion
15(1)
Statements
16(2)
Exceptions
18(1)
Types
19(4)
Objects
23(1)
Expressions
23(2)
Subtypes
25(3)
Lexical elements
28(3)
Subprograms
31(10)
Parameter modes
32(2)
Overloading
34(2)
Parameter associations and default expressions
36(1)
Operators
37(1)
Block statement
38(1)
Implicit dereferencing
39(2)
Arrays
41(18)
Case study: fill and justify text
41(5)
Array types
46(8)
Constrained array subtypes and objects
54(1)
Type conversion for arrays
55(1)
Operations on one-dimensional arrays
55(1)
The context of array aggregates
56(3)
Elementary Data Structures
59(14)
Case study: array priority queue
59(3)
Records
62(1)
Case study: tree priority queue
63(3)
Access types
66(7)
Packages and Abstract Data Types
73(26)
Modularization
73(1)
Case study: priority queue package---version 1
74(5)
Case study: priority queue package---version 2
79(2)
Case study: priority queue package---version 3
81(1)
Case study: priority queue package---version 4
82(4)
Case study: priority queue package---version 5
86(2)
Case study: priority queue package---version 6
88(1)
Nonlimited private types
89(5)
Limited types that are not private
94(1)
Initialization of limited types
95(4)
Type Extension and Inheritance
99(26)
Case study: discrete event simulation
100(1)
Tagged types
101(4)
Primitive operations
105(1)
Overriding an operation
106(1)
The package bodies of the case study
107(2)
Class-wide types
109(4)
Dynamic dispatching
113(4)
Types and packages
117(1)
Encapsulation and child packages
118(7)
Type Extension and Inheritance (Continued)
125(18)
Designated receiver syntax
125(1)
Type conversion
126(1)
Extension aggregates
127(2)
Abstract types
129(1)
Null procedures
130(2)
Overriding indicators
132(1)
Objects of class-wide type
133(1)
View conversion and redispatching
134(1)
Multiple controlling operands
135(1)
Dispatching on the function result
136(2)
Indirect derivation
138(1)
Freezing
138(1)
Implementation of dispatching
139(4)
Generics
143(28)
Generic declaration and instantiation
144(2)
The contract model
146(2)
Generic formal subprogram parameters
148(2)
Generic formal array types
150(2)
General access types
152(1)
Generic formal objects
153(1)
Indefinite type parameters
154(1)
Formal package parameters
155(7)
Generic children
162(1)
The fine print in the contract model
163(8)
Exceptions and Run-Time Checks
171(18)
Declaring and raising exceptions
171(2)
Handling exceptions
173(1)
Propagating exceptions
174(2)
Package Exceptions
176(2)
Re-raising exceptions
178(3)
Saving exceptions
181(3)
Suppresssing checks
184(2)
Assertions
186(3)
Composite Types
189(28)
Characters and strings
189(1)
Multibyte characters and strings
190(3)
Case study: dot2dot
193(9)
Discriminants
202(2)
Variant records
204(3)
Unconstrained types
207(1)
Discriminants of private types
208(1)
Inheriting discriminants
209(2)
Untagged derived types
211(1)
Untagged derived types and discriminants
212(5)
Access Types
217(28)
General access types
217(2)
Access-to-subprogram types
219(2)
Null exclusions
221(2)
Accessibility rules
223(2)
Anonymous access types
225(1)
Access parameters
226(4)
Access discriminants
230(2)
Storage pools
232(1)
Controlled types
232(4)
Mutually dependent types
236(9)
Numeric Types
245(32)
Basic concepts
245(3)
Signed integer types
248(1)
Types versus subtypes
249(1)
Modular types
250(3)
Real types
253(1)
Floating point types
254(3)
Ordinary fixed point types
257(1)
Decimal fixed point types
258(4)
Fixed point multiplication and division
262(1)
Complex numbers
263(4)
Advanced concepts
267(10)
Input-Output
277(10)
Libraries for input-output
277(2)
Interface with the operation system
279(1)
Streams
279(4)
Generic dispatching constructors
283(4)
Program Structure
287(20)
Compilation and execution
287(1)
Compilation and the environment of compilation
288(1)
Subunits
289(3)
Pragmas
292(1)
Elaboration
292(3)
Renamings
295(2)
Use type clause
297(1)
Visibility rules
298(3)
Overloading
301(6)
Containers
307(16)
Concepts
308(4)
Vectors
312(1)
Doubly-linked lists
313(1)
Maps
314(3)
Sets
317(1)
Indefinite containers
318(5)
Interfaces and Multiple Inheritance
323(22)
Interfaces
324(2)
Case study: displayable events
326(3)
Case study: storable interface
329(7)
Synchronized interfaces
336(3)
Generic formal tagged private types
339(2)
Generic formal derived types
341(4)
Concurrency
345(30)
Tasks and protected objects
346(6)
Rendezvous
352(5)
Implementation of entry calls
357(1)
Case study: synchronization with rendezvous and protected objects
358(5)
Entry families
363(1)
Protected subprograms
364(1)
The requeue statement
364(3)
Additional rules for protected types
367(8)
Concurrency (Continued)
375(26)
Activation and termination
375(4)
Exceptions
379(1)
Time
380(2)
Time formatting and time zones
382(1)
Representation of Time and Duration
383(1)
Timed and conditional entry calls
384(3)
Asynchronous transfer of control
387(2)
Alternatives for selective accept
389(1)
Case study: concurrent simulation
389(4)
Tasks as access discriminants
393(8)
Systems Programming
401(22)
Implementation dependences
401(1)
Representation items
402(2)
Interfaces to other languages
404(5)
Annex C Systems Programming
409(1)
Machine code
410(1)
Interrupts
411(2)
Shared variables
413(1)
Task identification and attributes
414(3)
Detecting task termination
417(6)
Real-Time Systems
423(28)
Annex D Real-Time Systems
423(1)
Scheduling and priorities
423(2)
Task dispatching policies
425(3)
Base and active priorities
428(2)
Entry queuing policies
430(1)
Dynamic priorities
431(1)
Priority ceiling locking
431(2)
Monotonic time
433(2)
Execution time
435(2)
Preemptive abort
437(1)
Synchronous task control
438(1)
Asynchronous task control
438(1)
Tasking restrictions
438(1)
The Ravenscar profile
439(12)
Distributed and High Integrity Systems
451(8)
Distributed systems
451(5)
High integrity systems
456(3)
Glossary of ARM Terms 459(18)
Hints 477(2)
Answers 479(8)
References 487(2)
Index of ARM Sections 489(6)
Subject Index 495