Professional Documents
Culture Documents
(Download PDF) Resourceful Code Reuse 1St Edition Dmitry Zinoviev Online Ebook All Chapter PDF
(Download PDF) Resourceful Code Reuse 1St Edition Dmitry Zinoviev Online Ebook All Chapter PDF
Dmitry Zinoviev
Visit to download the full and correct content document:
https://textbookfull.com/product/resourceful-code-reuse-1st-edition-dmitry-zinoviev/
More products digital (pdf, epub, mobi) instant
download maybe you interests ...
https://textbookfull.com/product/data-science-essentials-in-
python-collect-organize-explore-predict-value-1st-edition-dmitry-
zinoviev/
https://textbookfull.com/product/wastewater-treatment-and-reuse-
theory-and-design-examples-volume-2-post-treatment-reuse-and-
disposal-1st-edition-qasim/
https://textbookfull.com/product/quantum-effects-in-
tribology-1st-edition-dmitry-nikolaevich-lyubimov/
https://textbookfull.com/product/the-zinoviev-letter-the-
conspiracy-that-never-dies-gill-bennett/
Reuse in Intelligent Systems 1st Edition Stuart H Rubin
(Editor)
https://textbookfull.com/product/reuse-in-intelligent-
systems-1st-edition-stuart-h-rubin-editor/
https://textbookfull.com/product/azure-data-factory-cookbook-
second-edition-dmitry-foshin/
https://textbookfull.com/product/2018-international-building-
code-1st-edition-international-code-council/
https://textbookfull.com/product/wastewater-treatment-and-reuse-
in-the-food-industry-1st-edition-marcella-barbera/
https://textbookfull.com/product/rescue-and-reuse-communities-
heritage-and-architecture-1st-edition-ian-morrison-author/
Resourceful Code Reuse
Write → Compile → Link → Run
by Dmitry Zinoviev
Every precaution was taken in the preparation of this book. However, the publisher
assumes no responsibility for errors or omissions, or for damages that may result from
the use of information (including program listings) contained herein.
About the Pragmatic Bookshelf
The Pragmatic Bookshelf is an agile publishing company. We’re here because we want
to improve the lives of developers. We do this by creating timely, practical titles, written
by programmers for programmers.
Our Pragmatic courses, workshops, and other products can help you and your team
create better software and have more fun. For more information, as well as the latest
Pragmatic titles, please visit us at http://pragprog.com.
Our ebooks do not contain any Digital Restrictions Management, and have always been
DRM-free. We pioneered the beta book concept, where you can purchase and read a
book while it’s still being written, and provide feedback to the author to help make a
better book for everyone. Free resources for all purchasers include source code
downloads (if applicable), errata and discussion forums, all available on the book's
home page at pragprog.com. We’re here to make your life easier.
Andy Hunt
The Pragmatic Programmers
The team that produced this book includes: Dave Rankin (CEO),
Janet Furlow (COO), Tammy Coron (Managing Editor),
Adaobi Obi Tulton (Development Editor), Corina Lebegioara (Copy Editor),
Andy Hunt and Dave Thomas (Founders)
Acknowledgments
Preface
About the Reader
About the Book
About the Software
Bibliography
→ Mike Riley
President, Ingenious Solutions, Inc.
Every developer should know about the concepts described in this
book. Even if you don’t use C and Python in your daily work, you will
learn something about software development and how to reuse
code.
→ Dominik Hauser
Author of Build Location-Based Projects for iOS
Everyone can code, but writing beautiful code requires code reuse
skills. Whether you are starting coding or you have broad
experience, this book offers a practical guide that allows you to
optimize your code by applying code reuse techniques.
Shall we start?
Dmitry Zinoviev
mailto:dzinoviev@gmail.com
February 2021
1. Code reuse puts into practice the advice of none other than
William of Occam (or Ockham, depending on whom you ask). If
you and I were philosophers, that alone would suffice.
You can reuse code in many ways and at many stages. This book
will explain how to reuse your source code (the program’s text
written in a human-readable programming language, such as C or
Python) in Chapter 1, Reuse Code at Compile Time (C and Python).
You’ll learn how to speed up program build time and avoid disclosing
the source code (if desirable) by creating object files and libraries in
Chapter 2, Reuse Code at Link Time (C Only). Finally, in Chapter 3,
Reuse Code at Runtime (C and Python), you’ll learn how to
physically separate the proper program code and the reusable
fragments and either bind them when the program runs (Harnessing
Dynamic Loading) or not bind them at all and instead use a network
communication protocol to request services and obtain results (
Getting a Taste of Remote Procedure Calls). Incidentally, the latter
form of reuse makes your code available to both your own programs
and any other programs you authorize.
C vs. Python
You’ll see that C and Python software each require different code
reuse techniques.
A Note on JSON
The name “JavaScript Object Notation” (JSON) is misleading in almost every
aspect. For starters, JavaScript itself may have more in common with Java
coffee than Java language, but that’s not JSON’s fault. Second, JSON was
designed to work with JavaScript, but now it’s used as a programming
language--agnostic data exchange language and isn’t attached to JavaScript
anymore. Third, JSON doesn’t describe objects as we know them in OOP.
JSON supports the following data types (with the C and Python equivalents
shown in parentheses):
counter.c
unsignedcounter() {
staticunsignedcount = 0;
return++count;
}
Now that you know how to hide code components, let’s find out how
to expose them across file boundaries.
Waldron, John, 6
Wales, George, Prince of (afterwards George IV.), 78
Walgrave, John, 28, 107
Walker, Dr. Jas., 11
Walker, John, 13, 14
Walker, Richard, 163
Walker, Thomas, 29n, 31n
Walpole, Horace, 44, 46, 56n, 71
Walter, Peter, 105
Walton, Brian, 139
Ward, James, 92
Wardrobe, Great Queen Street, 45n, 66
Warner, Henry, 34n
Warwick, Charles, Earl of, 88
Warwick, Robert, Earl of, 88
Watson, Mrs., 96
Watson, Henry, 149
Watson, Mary, 96
Watson, Rowland, 5, 6
Watson, William, 5
Watson, Sir William, 133
Wayte, Edward, 79
Webb, Barbara (afterwards Viscountess Montagu), 65
Webb, Lady Barbara, 65, 136
Webb, Sir John, 47n, 65n, 136
Webb, John, Architect, 44
Webb, Philip Carteret, 73n, 74
Webb, Rhoda (afterwards Beavor), 75
Webb, Richard, 38
Webb, Thos., 71
Wedderburn, Alexander, Lord Loughborough (afterwards Earl of
Rosslyn), 155
Weedon, Thomas, 96
Weld, Lady Frances, 94, 95n
Weld (Wild, Wield), Humfrey, 59, 60, 94, 95n, 96, 97n, 100
Weld House, 93–97, 99
Weld Street. (See Wild Street.)
Wesley, John, 115, 116
Wesleyan Chapel, Great Queen Street, 86–92
West London Mission, 88, 115
West Street, 112n, 115
West Street Chapel, Seven Dials, 87
Western, Thomas, 11
Weston (Whetstone), John, 5n
Westone, William, 109n
Wetherell, Philip, 21n
Wharton, Philip, 4th Lord, 79, 120
Whetstone, William, 6–7
Whetstone Park, 4, 8
White, James, 28, 112
White Hart, 14, 19, 20, 23, 24, 25, 28, 29n, 30n, 123
White Hart Feilde, 6
—(See also Pursefield.)
White Hart Yard, 26
White Horse in Drury Lane, 35
White House, St. Giles’s Precinct, 121
White Lion Street, 113n, 114
Whitesaunder, Thomas, 119
White Swan in Queen Street, 37n
Whitfield, Henry Fotherley, 31n
Whitfield, Thomas, 110n, 111n
Wigg, William, 110n, 111n
Wild. (See Weld.)
Wild Boare Alley, 18
Wild Court, Nos. 6 and 7, 98
Wild Street (Weld Street), 34, 93–97
—(See also Little Wild Street.)
Wilkes, John, 74–75
Wilkinson, William, 125
Wilkinson’s Close, 125n, 187
Williams, Jas., 165
Williams, John, 84
Williams, Paul, 40n
Williamson, Sir Joseph, 69
Williamsfeild (alias Church Close), 145
Willoughby, Philip, 60n
Willson, Thomas, 138
Wilson, Benjamin, 56, 57, 66, 67n
Wilson, Jas., 56
Wilson, Major, 57
Wilton House, Picture of Lincoln’s Inn Fields, 46
Wiltshire, Charles Powlett, Earl of (afterwards Duke of Bolton), 65
Winchester, John, Marquiss of, 95, 96, 137
Windell, Richard, 109n
Windham, W., 67
Winstanley, J., 11
Wise (Wyse), Joan (afterwards Briscowe), 107, 119
Wise, John, 107n
Wise, Robert, 20
Wither, Thomas, 60n
Withers (Wither, Wyther), Anthony, 51, 60, 73n
Withers, William, 74
Wolcot, Dr. (Peter Pindar), 83
Wolstenholme, John, 96
Wood, Anthony, 80
Woodville, Thomas, 130
Woodward, William, 14
Worcester, Edward (1st Marquess of), 73
Worliche, Mary, 9n
Worlidge, Mrs., 77
Worlidge, Thomas 58, 67n, 76, 77
Worsley, John, 96
Wortley, Sir Francis, 89
Wray, Sir John, 95n
Wren, Sir Christopher, 123, 147
Wren, Stephen, 147
Wright, —, 96n
Wright, Martin, 89
Wriothesley, Lord, 124
Wylson, —, 119
Wynter, Master, 119
Wyse. (See Wise.)