Beyond Java - Helion
ISBN: 978-05-965-5349-4
stron: 208, Format: ebook
Data wydania: 2005-09-22
Księgarnia: Helion
Cena książki: 89,90 zł
Bruce Tate, author of the Jolt Award-winning Better, Faster, Lighter Java has an intriguing notion about the future of Java, and it's causing some agitation among Java developers. Bruce believes Java is abandoning its base, and conditions are ripe for an alternative to emerge.
In Beyond Java, Bruce chronicles the rise of the most successful language of all time, and then lays out, in painstaking detail, the compromises the founders had to make to establish success. Then, he describes the characteristics of likely successors to Java. He builds to a rapid and heady climax, presenting alternative languages and frameworks with productivity and innovation unmatched in Java. He closes with an evaluation of the most popular and important programming languages, and their future role in a world beyond Java.
If you are agree with the book's premise--that Java's reign is coming to an end--then this book will help you start to build your skills accordingly. You can download some of the frameworks discussed and learn a few new languages. This book will teach you what a new language needs to succeed, so when things do change, you'll be more prepared. And even if you think Java is here to stay, you can use the best techniques from frameworks introduced in this book to improve what you're doing in Java today.
Osoby które kupowały "Beyond Java", wybierały także:
- Wprowadzenie do Javy. Programowanie i struktury danych. Wydanie XII 193,23 zł, (59,90 zł -69%)
- Spring i Spring Boot. Kurs video. Testowanie aplikacji i bezpiecze 129,00 zł, (51,60 zł -60%)
- Metoda dziel i zwyci 89,00 zł, (35,60 zł -60%)
- JavaFX. Kurs video. Wzorce oraz typy generyczne 79,00 zł, (31,60 zł -60%)
- Platforma Xamarin. Kurs video. Poziom drugi. Zaawansowane techniki tworzenia aplikacji cross-platform 99,00 zł, (39,60 zł -60%)
Spis treści
Beyond Java eBook -- spis treści
- Beyond Java
- SPECIAL OFFER: Upgrade this ebook with OReilly
- Preface
- Who Should Read This Book?
- Conventions
- Using Code Examples
- Comments and Questions
- Safari Enabled
- Acknowledgments
- 1. Owls and Ostriches
- 1.1. Ignorance as a Virtue
- 1.1.1. Shaken to the Core
- 1.2. Boiling Frogs
- 1.2.1. Danger Signs
- 1.2.2.
- 1.2.2.1. Complexity
- 1.2.2.2. Rapid revolution
- 1.2.2.3. Unnatural stretching
- 1.2.2.4. Language evolution
- 1.2.3. Whats Good Is GOOD
- 1.3. New Horizons
- 1.3.1. Dynamic Languages
- 1.3.2. Metaprogramming
- 1.3.3. Continuation Servers
- 1.4. The Premise
- 1.1. Ignorance as a Virtue
- 2. The Perfect Storm
- 2.1. Storm Warnings
- 2.1.1. Economics of Client-Server Computing
- 2.1.2. Microsoft
- 2.1.3. The Internet
- 2.1.4. Object Orientation
- 2.2. The C++ Experience
- 2.2.1. Pointer Arithmetic
- 2.2.2. Nested Includes
- 2.2.3. Strings
- 2.2.4. DLL Hell
- 2.2.5. CORBA
- 2.2.6. Inheritance Problems
- 2.2.7. Consistency
- 2.2.8. Portability
- 2.2.9. Compromises
- 2.3. Clouds Open
- 2.3.1. New Economics
- 2.3.2. C++ on Prozac
- 2.3.3. Architecture
- 2.4. Fury Unleashed
- 2.4.1. Servlets
- 2.4.2. J2EE
- 2.4.3. Industry Standards
- 2.4.4. Open Source
- 2.5. Aftermath
- 2.6. Moving Ahead
- 2.1. Storm Warnings
- 3. Crown Jewels
- 3.1. Language and JVM Design
- 3.1.1. Portability
- 3.1.2. Security
- 3.1.2.1. Changing threats
- 3.1.2.2. Remedies in Java
- 3.1.3. Moving Forward
- 3.2. The Internet
- 3.2.1. A Consistent Evolving Vision
- 3.2.2. Moving Forward
- 3.3. Enterprise Integration
- 3.3.1. Moving Forward
- 3.4. Community
- 3.4.1. The Importance of Open Source
- 3.4.2. Moving Forward
- 3.5. Breaking the Myths
- 3.5.1. Myth 1: Java's Leadership Is Unassailable
- 3.5.2. Myth 2: Java Is a Great Applications Language
- 3.5.3. Myth 3: Java Is the Most Productive Language
- 3.5.3.1. Corollary 3a: All languages are about the same
- 3.5.4. Myth 4: Commercial Interests Drive Most Java Innovation
- 3.5.5. Myth 5: Big Things Usually Come from Likely Sources
- 3.5.6. Looking Ahead
- 3.1. Language and JVM Design
- 4. Glass Breaking
- 4.1. Java's New Job Description
- 4.1.1. Typical Requirements
- 4.1.2. The Learning Curve
- 4.1.2.1. Java for the typical application
- 4.1.3. Agile Processes
- 4.1.3.1. Development processes and Java
- 4.2. Basic Java Limitations
- 4.3. Typing
- 4.3.1. Strong Versus Weak Typing
- 4.3.2. Static Versus Dynamic Typing
- 4.3.3. Syntax
- 4.3.4. Thought Process
- 4.3.5. Code/Compile Cycle
- 4.3.6. Adaptability
- 4.3.7. Generics
- 4.3.8. Overloading
- 4.3.9. Other Costs
- 4.3.10. The Benefits of Static Typing
- 4.3.11. A Safety Net with Holes
- 4.4. Primitives
- 4.4.1. Primitives Are Limited
- 4.4.2. Primitives Are Unnaturally Verbose
- 4.4.3. The Big Trade-off
- 4.5. Parting Shots
- 4.5.1. Sun
- 4.5.2. Exceptions
- 4.5.3. Expressing Data
- 4.5.4. Strings
- 4.5.5. Simplicity
- 4.5.5.1. Tools
- 4.6. Why Not Just Fix Java?
- 4.6.1. Libraries and Community
- 4.6.2. Alternatives
- 4.1. Java's New Job Description
- 5. Rules of the Game
- 5.1. Java Raises the Bar
- 5.1.1. Portability
- 5.1.2. Internet Focus
- 5.1.3. Interoperability
- 5.1.3.1. XML and structured data
- 5.1.3.2. Service-oriented architecture (SOA)
- 5.2. Enterprise Integration
- 5.2.1. Database Integration
- 5.2.2. Transactions and Security
- 5.3. Generating the Buzz
- 5.3.1. Open Source
- 5.3.2. Economics
- 5.3.3. Approachability
- 5.3.4. The Killer App
- 5.4. Language Features
- 5.4.1. Dynamic Typing
- 5.4.2. Code Blocks and Continuations
- 5.4.3. Rapid Feedback Loop
- 5.4.4. User Interface Focus
- 5.4.5. Dynamic Class Model
- 5.4.6. Sound Foundations
- 5.5. A Few Potential Suitors
- 5.5.1. Perl
- 5.5.1.1. What I like
- 5.5.1.2. What I don't like
- 5.5.2. Python
- 5.5.2.1. What I like
- 5.5.2.2. What I don't like
- 5.5.3. Ruby
- 5.5.3.1. What I like
- 5.5.3.2. What I don't like
- 5.5.4. PHP
- 5.5.4.1. What I like
- 5.5.4.2. What I don't like
- 5.5.5. C# and Visual Basic
- 5.5.6. Smalltalk
- 5.5.6.1. What I like
- 5.5.6.2. What I don't like
- 5.5.7. No Silver Bullet
- 5.5.1. Perl
- 5.1. Java Raises the Bar
- 6. Ruby in the Rough
- 6.1. About Ruby
- 6.1.1. Ruby Is Fully OO
- 6.1.2. Typing
- 6.1.3. Conditionals
- 6.1.4. Looping
- 6.1.5. Ranges
- 6.1.6. Regular Expressions
- 6.1.7. Containers
- 6.1.8. Files
- 6.1.9. Why Should You Care?
- 6.2. Applying Some Structure
- 6.2.1. Classes
- 6.2.2. Using Mixins
- 6.2.3. Interceptors
- 6.2.4. AOP
- 6.2.5. Dependency Injection
- 6.3. Breaking It Down
- 6.3.1. Collapsing Under the Weight of Abstraction?
- 6.1. About Ruby
- 7. Ruby on Rails
- 7.1. The Numbers Game
- 7.1.1. A Blinding Flash of Insight
- 7.1.2. Making the Commitment
- 7.1.3. Some Numbers
- 7.1.4. The Community Response
- 7.2. Rails by Example
- 7.2.1. Generating a Basic Application
- 7.2.2. Managing Relationships and Updating Views
- 7.3. Under the Hood
- 7.3.1. Active Record
- 7.3.1.1. Automatic properties
- 7.3.1.2. Association management
- 7.3.1.3. Composition
- 7.3.1.4. Inheritance
- 7.3.1.5. Other features
- 7.3.2. Action Pack
- 7.3.2.1. Capabilities
- 7.3.1. Active Record
- 7.4. The Essence
- 7.4.1. Is Rails the Killer App?
- 7.4.2. Or Is Metaprogramming the Killer Technique?
- 7.4.3. Final Thoughts on Ruby and Rails
- 7.1. The Numbers Game
- 8. Continuation Servers
- 8.1. The Problem
- 8.1.1. What You Want
- 8.1.2. Statelessness
- 8.1.3. The Back Button
- 8.1.4. Navigation
- 8.1.5. Continuation Servers to the Rescue
- 8.2. Continuations
- 8.2.1. The Syntax
- 8.2.2. A More Powerful Example
- 8.2.3. Why Would You Use Them?
- 8.3. Continuation Servers
- 8.3.1. Advantages and Disadvantages
- 8.4. Seaside
- 8.4.1. A Little Smalltalk Syntax
- 8.4.2. A Seaside Overview
- 8.5. A Seaside Example
- 8.5.1. Components
- 8.5.2. Complex Control Flows
- 8.5.2.1. Debugging and browsing
- 8.5.2.2. Tasks
- 8.6. So What?
- 8.1. The Problem
- 9. Contenders
- 9.1. The Primary Contenders
- 9.1.1. Ruby
- 9.1.1.1. In favor
- 9.1.1.2. Against
- 9.1.1.3. Overall
- 9.1.2. Python
- 9.1.2.1. In favor
- 9.1.2.2. Against
- 9.1.2.3. Overall
- 9.1.3. Groovy
- 9.1.3.1. In favor
- 9.1.3.2. Against
- 9.1.3.3. Overall
- 9.1.4. .NET
- 9.1.4.1. Language options
- 9.1.4.2. Visual Basic for .NET
- 9.1.4.3. C#
- 9.1.4.4. Other languages on the CLR
- 9.1.4.5. A weakness and a strength
- 9.1.1. Ruby
- 9.2. Minor Contenders
- 9.2.1. PHP
- 9.2.2. Perl
- 9.2.3. Smalltalk
- 9.2.4. Lisp
- 9.2.5. Functional Languages
- 9.3. The Next Big Thing
- 9.3.1. A Charge to You
- 9.1. The Primary Contenders
- 10. About the Author
- Index
- About the Author
- Colophon
- SPECIAL OFFER: Upgrade this ebook with OReilly
- Copyright