Python Programming with the Java™ Class Libraries: A Tutorial for Building Web and Enterprise Applications with Jython
Product Author Bios
Richard Hightower is the CTO at Trivera Technologies, a global training and consulting company that focuses on Enterprise Java Development. He leads the adoption of new processes including extreme programming, and helps implement coding standards and guidelines for development. He has created an extensible caching mechanism for caching JSPs, XSLTs, and JDBC results and a pluggable XSLT engine framework. Formerly the senior software engineer for Java Architecture at Intel's Enterprise Architecture Lab, Rick is a frequent contributor to Java Developer's Journal magazine and the coauthor of Java Tools for Extreme Programming (Wiley, 2001). At Intel, he led his team of developers in the design and implementation of three-tier, client-server applications; introduced O-O CASE tools; and created several frameworks using a variety of Java, COM, CORBA, and middleware technologies. Rick also created ICBeans and authored the patent application for this technology, which was awarded to Intel. A software engineer at heart, he specializes in development tools and processes, and developing enterprise applications using J2EETM, XML, UML, CORBA, JDBC, SQL, and Oracle technologies.
Characterized by ease of use, richness of expression, and concise syntax, Python has remained a premier programming language for more than a decade, and is used by novices and professionals alike. In particular, its close relationship to Java makes the two languages, when used in combination, ideal for Web and distributed enterprise application development.
This tutorial begins with coverage of some of the basics of Python programming. Using plenty of skill-building exercises and interactive programming sessions, this book will help those new to programming develop an understanding of concepts and practical techniques. For experienced programmers, the book demonstrates Python's breadth of capabilities and shows the ways that Python interfaces with Java APIs for professional application development.
Python Programming with the Java Class Libraries: A Tutorial for Building Web and Enterprise Applications with Jython covers important topics such as:
- Fundamental programming concepts, including statements, expressions, interpreters, and compilers
- Python basics, including operators, string formatting, namespaces, classes, errors, and exceptions
- Object-oriented programming concepts
- File input/output
- Python's intrinsic functions
- Formatting, parsing, and manipulating strings
- Interfacing with the Java APIs and working with Java Streams
- Using Python and Java Swing to create GUIs
- Working with SQL and JDBC
- Python and Java applets
In addition, the book contains instructions for downloading and installing the Python language and the Java Development Kit (JDK). Terminology, definitions, explanations, and numerous code samples make this book a useful learning experience.
Whether you are a sophisticated computer user new to programming or a serious application developer, Python Programming with the Java Class Libraries will give you insight into the power of Python and the know-how to put it to work.
Source Code and Online Resources
13 of 13 people found the following review helpful
Very rough, distracting code samples but still worth a look,
This review is from: Python Programming with the Java¿ Class Libraries: A Tutorial for Building Web and Enterprise Applications with Jython (Paperback)I've been banging around in this book for a few days now and feel compelled to let the potential buyers know a couple things if they are considering this book:
1) The code samples are atrocious but well documented. The indenting got fouled up on many of the soucrce code samples (typestting problem?) so as to confuse a python/jython novice like me. The author will occassionally show you a bit of source code and then show you output from the execution of what is clearly a different source file. This is very distracting and if I didn't already have some inkling of how Jython works I'd really have a hard time with this book. Sure seems a shame becuase the explanations of the source code are more complete than you'll find an a typical intro book and this is really very helpful in tracking down the author's/typsetters errors and getting the reader REALLY familiar with the inner workings of Jython. The Sample files on the author's website do help clear up the code errors in most... Read more
8 of 8 people found the following review helpful
Not a bad book for a Jython kick-start,
This review is from: Python Programming with the Java¿ Class Libraries: A Tutorial for Building Web and Enterprise Applications with Jython (Paperback)This book focuses heavily on demonstrating key concepts with the Jython interactive interpreter. While this method is not entirely without its drawbacks, it has the distinct benefit of letting you try out code one line or block at a time (which is one of my favorite benefits of Python in general).
Some books are noted for their depth, others for correctness, some for the range of concepts introduced, etc. And of these, I'd say that this book demonstrates the absolute basics of a wide range of Jython areas better than anything else I've read so far. It's the sort of book you can pick up, open to the middle of, and start coding quickly (assuming your system is set up properly, of course).
While there is room for improvement in future editions, this seems like a good first edition.
2 of 4 people found the following review helpful
Amazon Verified Purchase(What's this?)
This review is from: Python Programming with the Java¿ Class Libraries: A Tutorial for Building Web and Enterprise Applications with Jython (Paperback)The content of this book is excellent. I am a novice jython programmer and have been playing with jython for about three years. I have tried numerous tutorials and even have obtained jython books. This one is the best so far. It covers things I did not know existed in jython. The presentation of material is logical and follows a nice gradient of complexity. My only peeves are that the examples are sometimes erroneous and that my book did not come with the examples on disk.
› See all 5 customer reviews...
Online Sample Chapter
Click below to download the Index file related to this title:
Python is a dynamic programming language with the power of well-known languages such as Java, C++, and Smalltalk, but is leaner and meaner than any of them. Even so, Python is very expressive--it doesn't talk much, but it has a lot to say.
Python has another plus: It has the simplicity of languages such as VB Script or Java Script, which makes it easy for beginning programmers to learn. Those who know their way around a computer can pick it up quickly, particularly if they have ever created a spreadsheet that graphs and organizes data, written spreadsheet formulas, or created a Web page. For those who have, say, written macros or batchfiles, or programmed in any language, using Python will be a breeze.
A Very Short History
Python was derived from a language called ABC, which was co-created by Guido van Rossum in the early 1980s. The hope was that ABCs designed-in ease of use would become popular as a way to get up to programming speed quickly and painlessly. This hope didnt pan out, so van Rossum began a new project, Python, which debuted in 1990. He didnt forget ABC; in fact, there is a lot of ABC in Pythons concise syntax and elegant expression, as well as its ease of use. The formula workedit succeeded where ABC failedand Python has stood the test of time.
What You Will Learn
Put simply, this books goal is to teach programming using Python. You will learn the workings of Python and how to apply them, particularly for the following:
- AWT and Swing application development
- Java applet development
- Internet programming
- Regular expressions and pattern matching
You may not understand these concepts now, but thats the point. You will by the end of the book.
If youre looking for a full language reference you wont find it here. What you will get is enough knowledge about Python to get started with programming on your own. The book will remind you often that the best way to learn programming is by doing it. Thats why there are a lot of hands-on exercises in the form of interactive programming sessions, which you can follow along with at the keyboard as you read.
Each chapter begins with a list of terms that are explained and/or used throughout the chapters and book. These are set in bold on their first mention.
The Books Audience
As a reader of this book, you may be (1) a nonprogrammer who wants to learn a programming language, or (2) a programmer who wants to learn Python. For simplicity, both are referred to as novices. However, it is assumed that you know your computer and how to use it to get the job done.
If youre not a member of the novice group, then youre probably an experienced programmer who is reading this book to learn a quicker and more powerful, higher-level language. For simplicity, this group is referred to as programmers.
- For Novices--You will be introduced to Python in conversational English, with many step-by-step examples. Chapters 2 through 9 build progressively on the chapters preceding them, so you should be able to learn enough to begin writing useful Python programs. The goal is to give you as much of a headstart as possible. From Chapter 10 on, the books goal is to teach you more about Python and about supporting Java and Python libraries on your own, as well as about Internet programming with Python.
- For Programmers--If youre an experienced Java programmer, you are aware of the close relationship between Java and Python and how it can lead to better application development (see Chapter 1). You can skip over or skim the basic material and concentrate on the chapters Advanced Topic sections and the various screened asides, which are geared to your level of understanding.
Now lets get into the tour of Python--the destination is worth the trip.
Table of Contents
(NOTE: Each chapter concludes with a Summary.)
1. Jython Overview.
Learning Python First.
Python the Language.
Starting with Python.
Basic Functions with Python.
Python as a Main Program.
The Fast Track.
The Power of Python.
Where Do You Go from Here?
2. Statements and Expressions.
Python Collection Types.
Advanced Topic: Determining Types at Runtime.
3. Operators and String Formatting.
4. Control Flow.
The while Statement.
The for Statement.
Putting It All Together.
5. Organizing Your Code.
Code Blocks and Namespaces.
Functions and Methods.
Putting Things Together.
Globals and the Global Statement.
6. Object-Oriented Programming.
Objects and Classes.
Special Class Methods.
7. Errors and Exceptions.
The Danger of Exceptions.
The try Statement.
The raise Statement.
Classes and Instances as Exceptions.
Getting the Most Out of Your Exceptions.
8. Working with Files.
Common File Methods.
Putting It All Together: The Address Book Example.
The Full address3.py Code.
Persisting Objects with pickle.
pickle and the Address Book Application.
9. Built-In Functions.
Namespace: dir(), globals(), locals(), vars().
Type Checking: callable(), type().
Advanced Topic: Functional Programming.
Advanced exec and eval.
10. Working with Strings.
Case Change: capitalize(), capwords(), swapcases(), lower(),upper().
Finding: find(), rfind(), index(), rindex(), count(), replace().
Splitting and Joining: split(), splitfields(), join(), joinfields().
Stripping and Parsing: lstrip(), rstrip(), strip().
Adjusting Text: ljust(), rjust(), center(), zfill(), expandtabs().
11. Interfacing with Java.
Java Arrays and jarray.
Java Arrays and Methods.
Java Event Handling.
Subclassing Java Classes.
12. Working with Java Streams.
Binary Streams: InputStream and OutputStream.
DataInput and DataOutput.
The File Class.
The RandomAccessFile Class.
The StreamTokenizer Class.
Persisting Objects with Java Streams.
Using Java Streams to Work with Memory.
13. JFC Fundamentals.
Handling Events with JFrame.
The Python Way of Handling Events.
The Class Hierarchy for JFrame and Frame.
List and Jlist.
14. First Swing Application, Layout, and Menu.
Adding an Input Form for an Address Entry: The Prototype.
Adding an Input Form for an Address Entry: First Cut.
Adding a Main Window for the Address Book Application: Prototype.
Adding a Main Window: First Cut.
Adding a Toolbar and a Dialog for the Address Book Application.
A GridBagLayout Example.
Putting Things Together: Adding GridBagLayout to the Address Application.
15. Graphics and Events.
A Quick Tour of Common Events.
Putting Things Together: A Drawing Program.
The Complete Shapes and DrawShapes Modules.
16. Advanced Swing.
Working with Table Models.
Putting Things Together—Adding a Table Model to the Address Book Application.
JToolBar and Actions.
17. SQL and JDBC.
Programming with JDBC and SQL.
SQL Data Definition Language.
SQL Data Manipulation Language.
Putting It All Together—Adding Database Support to the Address Book Application.
Working with Applets.
Using an Applet as a Container.
Transforming the Address Book Application into an Applet.
Advanced Topic: AppletContext and AppletStub.
Appendix A: Installing Jython on Windows.
Installing the J2SE—Step by Step.
Appendix B: Installing Jython on Linux by Jaysen Lorenzen.
Unpacking the Sun Package.
Installing the Sun and Blackdown Distributions.
Installing Older Distributions.
Appendix C: The Power of Scripting.
Java and Scripting.
Integrating Scripting with Jython.
Which Scripting Language to Choose.
Hello World—The Programming Rosetta Stone.
What Does It All Mean?
Appendix D: Java and Python: A Comparison.
A GUI Application.
A Statistics Application.
A String Parsing Example.
Embedding Jython in Java.
Appendix E: Regular Expressions by Jaysen Lorenzen.
Regular Expression Functions and Error and Flags Properties.
re Object Methods and Properties.
match Object Methods and Properties.
Putting Things Together by Rick Hightower.
Downloadable Sample Chapter
Click below for Sample Chapter(s) related to this title:
Sample Chapter 3
This book includes free shipping and is available on demand.
Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.