1.12 Software Technologies

Common buzzwords in software development:

  • Refactoring:
    • Reworking programs to make them clearer and easier to maintain while preserving their correctness and functionality
    • Many IDEs contain built-in refactoring tools
  • Design patterns:
    • Proven architectures for constructing flexible and maintainable object-oriented software
    • The field of design patterns tries to enumerate those recurring patterns, encouraging software designers to reuse them to develop better-quality software using less time, money and effort

1.12 Software Technologies (cont.)

  • Cloud computing:
    • Uses software and data stored in the “cloud”—i.e., accessed on remote computers (or servers) via the Internet and available on demand—rather than having it stored locally on your desktop, notebook computer or mobile device
    • Can increase or decrease computing resources to meet your needs at any given time
    • More cost effective than purchasing hardware to provide enough storage and processing power to meet occasional peak demands
    • Saves money by shifting to the service provider the burden of managing these apps (such as installing and upgrading the software, security, backups and disaster recovery)
  • Software Development Kits (SDKs):
    • The tools and documentation that developers use to program applications

©1992–2020 by Pearson Education, Inc. All Rights Reserved. This content is based on Chapter 1 of the book Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and the Cloud.

DISCLAIMER: The authors and publisher of this book have used their best efforts in preparing the book. These efforts include the development, research, and testing of the theories and programs to determine their effectiveness. The authors and publisher make no warranty of any kind, expressed or implied, with regard to these programs or to the documentation contained in these books. The authors and publisher shall not be liable in any event for incidental or consequential damages in connection with, or arising out of, the furnishing, performance, or use of these programs.