Job Ready Python - Haythem Balti - E-Book

Job Ready Python E-Book

Haythem Balti

0,0
25,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

Get ready to take on Python with a practical and job-focused guide Job Ready Python offers readers a straightforward and elegant approach to learning Python that emphasizes hands-on and employable skills you can apply to real-world environments immediately. Based on the renowned mthree Global Academy and Software Guild training program, this book will get you up to speed in the basics of Python, loops and data structures, object-oriented programming, and data processing. You'll also get: * Thorough discussions of Extract, Transform, and Load (ETL) scripting in Python * Explorations of databases, including MySQL, and MongoDB--all commonly used database platforms in the field * Simple, step-by-step approaches to dealing with dates and times, CSV files, and JSON files Ideal for Python newbies looking to make a transition to an exciting new career, Job Ready Python also belongs on the bookshelves of Python developers hoping to brush up on the fundamentals with an authoritative and practical new handbook.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 837

Veröffentlichungsjahr: 2021

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Table of Contents

Cover

Title Page

Introduction

WHAT DOES THIS BOOK COVER?

READER SUPPORT FOR THIS BOOK

PART I: Getting Started with Python

Lesson 1: Setting Up a Python Programming Environment

PYTHON OVERVIEW

USING REPLIT ONLINE

GETTING STARTED WITH JUPYTER NOTEBOOK

A QUICK LOOK AT VISUAL STUDIO CODE

USING PYTHON FROM THE COMMAND LINE

SUMMARY

EXERCISES

Lesson 2: Understanding Programming Basics

THE FUTURE OF COMPUTER PROGRAMMING

PROGRAMMING LANGUAGES

DATA TYPES AND VARIABLES

SUMMARY

EXERCISES

Lesson 3: Exploring Basic Python Syntax

USING WITH SINGLE-LINE COMMANDS

USING SEMICOLONS

CONTINUING WITH BACKSLASH

WORKING WITH CASE STRUCTURE

ADDING COMMENTS

USING THE INPUT FUNCTION

STORING INPUT

UNDERSTANDING VARIABLE TYPES

DISPLAYING VARIABLE VALUES

NAMING VARIABLES

SUMMARY

EXERCISES

Lesson 4: Working with Basic Python Data Types

REVIEW OF DATA TYPES

NUMBER DATA TYPES

IDENTIFYING DATA TYPES

MATHEMATICAL OPERATIONS

PEMDAS

COMMON MATH FUNCTIONS

MATH LIBRARY FUNCTIONS

USING NUMBERS WITH USER INPUT

BOOLEAN TYPES AND BOOLEAN OPERATIONS

LOGIC OPERATIONS

COMPARATIVE OPERATORS

SUMMARY

EXERCISES

Lesson 5: Using Python Control Statements

CONTROL STRUCTURES REVIEW

UNDERSTANDING SEQUENCE CONTROL STRUCTURE

UNDERSTANDING SELECTION STATEMENTS

UNDERSTANDING CONDITIONAL STATEMENTS

IF-ELSE STATEMENTS

WORKING WITH NESTED CONDITIONS

EMBEDDING CONDITIONS

SUMMARY

EXERCISES

Lesson 6: Pulling It All Together: Income Tax Calculator

GETTING STARTED

STEP 1: GATHER REQUIREMENTS

STEP 2: DESIGN THE PROGRAM

STEP 3: CREATE THE INPUTS

STEP 4: CALCULATE THE TAXABLE INCOME

STEP 5: CALCULATE THE TAX RATE

STEP 6: UPDATE THE APPLICATION

STEP 7: ADDRESS THE UI

ON YOUR OWN

SUMMARY

PART II: Loops and Data Structures

Lesson 7: Controlling Program Flow with Loops

ITERATIONS OVERVIEW

THE ANATOMY OF A LOOP

THE FOR LOOP

THE WHILE LOOP

FOR VS. WHILE LOOPS

STRINGS AND STRING OPERATIONS

ITERATING THROUGH STRINGS

SUMMARY

EXERCISES

Lesson 8: Understanding Basic Data Structures: Lists

DATA STRUCTURE OVERVIEW—PART 1

CREATING LISTS

DETERMINING LIST LENGTH

WORKING WITH LIST INDEXES

NEGATIVE INDEXING IN LISTS

SLICING LISTS

ADDING ITEMS TO A LIST

INSERTING LIST ITEMS

REMOVING LIST ITEMS

CONCATENATING LISTS

LIST COMPREHENSION

SORTING LISTS

COPYING LISTS

SUMMARY

EXERCISES

Lesson 9: Understanding Basic Data Structures: Tuples

TUPLES AND TUPLE OPERATIONS

TUPLE INDEX VALUES

NEGATIVE INDEXING IN TUPLES

SLICING TUPLES

IMMUTABILITY

CONCATENATING TUPLES

SEARCHING TUPLES

SUMMARY

EXERCISES

Lesson 10: Diving Deeper into Data Structures: Dictionaries

DATA STRUCTURE OVERVIEW—PART 2

GETTING STARTED WITH DICTIONARIES

GENERATING A DICTIONARY

RETRIEVING ITEMS FROM A DICTIONARY

USING THE KEYS() METHOD

USING THE ITEMS() METHOD

REVIEWING THE KEYS(), VALUES(), AND ITEMS() METHODS

USING THE GET() METHOD

USING THE POP() METHOD

WORKING WITH THE IN OPERATOR

UPDATING A DICTIONARY

DUPLICATING A DICTIONARY

CLEARING A DICTIONARY

SUMMARY

EXERCISES

Lesson 11: Diving Deeper into Data Structures: Sets

SETS

RETRIEVING ITEMS FROM A SET

ADDING ITEMS TO A SET

CREATING AN EMPTY SET

UNDERSTANDING SET UNIQUENESS

SEARCHING ITEMS IN A SET

CALCULATING THE LENGTH OF A SET

DELETING ITEMS FROM A SET

CLEARING A SET

POPPING ITEMS IN A SET

DELETING A SET

DETERMINING THE DIFFERENCE BETWEEN SETS

INTERSECTING SETS

COMBINING SETS

SUMMARY

EXERCISES

Lesson 12: Pulling It All Together: Prompting for an Address

STEP 1: GETTING STARTED

STEP 2: ACCEPT USER INPUT

STEP 3: DISPLAY THE INPUT VALUE

STEP 4: MODIFY THE OUTPUT

STEP 5: SPLIT A TEXT VALUE

STEP 6: DISPLAY ONLY THE HOUSE NUMBER

STEP 7: DISPLAY THE STREET NAME

STEP 8: ADD THE PERIOD

SUMMARY

Lesson 13: Organizing with Functions

FUNCTIONS OVERVIEW

DEFINING FUNCTIONS IN PYTHON

FUNCTION SYNTAX

DEFAULT INPUT VALUES

PARAMETER SYNTAX

ARBITRARY ARGUMENTS

KEYWORD ARGUMENTS

ARBITRARY KEYWORD ARGUMENTS

SUMMARY

EXERCISES

PART III: Object-Oriented Programming in Python

Lesson 14: Incorporating Object-Oriented Programming

OBJECT-ORIENTED PROGRAMMING OVERVIEW

DEFINING CLASSES

CREATING OBJECTS

WORKING WITH METHODS

CLASS ATTRIBUTES

SUMMARY

EXERCISES

Lesson 15: Including Inheritance

UNDERSTANDING INHERITANCE

CREATING A PARENT CLASS

CREATING A CHILD CLASS

INHERITING AT MULTIPLE LEVELS

OVERRIDING METHODS

SUMMARY

EXERCISES

Lesson 16: Pulling It All Together: Building a Burger Shop

REQUIREMENTS FOR OUR APPLICATION

PLAN THE CODE

CREATE THE CLASSES

CREATE THE FOOD ITEM CLASS

CREATE THE MAIN FILE

DISPLAY THE OUTPUT

TIE THE CODE FILES TOGETHER

SUMMARY

PART IV: Data Processing with Python

Lesson 17: Working with Dates and Times

GETTING STARTED WITH DATES AND TIMES

GETTING THE CURRENT DATE AND TIME

SPLITTING A DATE STRING

USING DATETIME ATTRIBUTES

CREATING CUSTOM DATETIME OBJECTS

COMPARE DATETIME VALUES

WORKING WITH UTC FORMAT

APPLYING TIMESTAMPS

ARITHMETIC AND DATES

CALCULATING THE DIFFERENCE IN DAYS

USING DATE WITHOUT TIME

USING TIME WITHOUT DATE

SUMMARY

EXERCISES

Lesson 18: Processing Text Files

FILE PROCESSING OVERVIEW

INTRODUCTION TO FILE INPUT/OUTPUT

PROCESSING TEXT FILES

OPENING A FILE

READING TEXT FROM A FILE

ADD CONTENT TO A FILE

OVERWRITING THE CONTENTS OF A FILE

CREATING A NEW FILE

USING THE OS MODULE

DELETING A FILE

SUMMARY

EXERCISES

Lesson 19: Processing CSV Files

READING CSV FILES

USING THE DICTREADER CLASS

CREATING A DATASET LIST

USING WRITEROW()

APPENDING DATA

WRITING ROWS AS LISTS

WRITING ROWS FROM DICTIONARIES

SUMMARY

EXERCISES

Lesson 20: Processing JSON Files

PROCESSING JSON FILES

CREATING A JSON FILE WITH DUMP()

CONVERTING TO JSON WITH DUMPS()

FORMATTING JSON DATA

USING JSON.LOADS()

ITERATING THROUGH JSON DATA

READING AND WRITING JSON DATA

SUMMARY

EXERCISES

PART V: Data Analysis and Exception Handling

Lesson 21: Using Lambdas

CREATING A LAMBDA FUNCTION

WORKING WITH MULTIPLE INPUTS

PLACING LAMBDA FUNCTIONS INSIDE A FUNCTION

USING THE MAP() FUNCTION

COMBINING MAP AND LAMBDA FUNCTIONS

USING THE FILTER() FUNCTION

COMBINING A FILTER AND A LAMBDA

USING THE REDUCE() FUNCTION

SUMMARY

EXERCISES

Lesson 22: Handling Exceptions

BUILT-IN EXCEPTIONS

WORKING WITH TRY AND EXCEPT

WORKING WITH MULTIPLE EXCEPTS

COMBINING EXCEPTION TYPES

USING MULTIPLE OPERATIONS IN A TRY

USING THE RAISE KEYWORD

EXPLORING THE GENERAL EXCEPTION CLASSES

ADDING FINALLY

SUMMARY

EXERCISES

Lesson 23: Pulling It All Together: Word Analysis in Python

EXAMINE THE DATA

READ THE DATA

TOKENIZE THE DATASET

COUNT THE WORDS IN EACH REVIEW

SUMMARY

Lesson 24: Extracting, Transforming, and Loading with ETL Scripting

ETL SCRIPTING IN PYTHON

DESIGN AND IMPLEMENT CUSTOM ETL SCRIPTS

THE EXTRACT CLASS

THE TRANSFORM CLASS

THE LOAD CLASS

SUMMARY

EXERCISES

Lesson 25: Improving ETL Scripting

CONVERTING TO STATIC METHODS FOR THE EXTRACT CLASS

CONVERTING TO STATIC METHODS FOR THE TRANSFORM CLASS

SUMMARY

EXERCISES

PART VI: Appendices

Appendix A: Flowcharts

FLOWCHART BASICS

COMMON FLOWCHARTING SHAPES

Appendix B: Creating Pseudocode

WHAT IS PSEUDOCODE?

Appendix C: Installing MySQL

MySQL INSTALLATION

VERIFY THE INSTALLATION

THE MySQL NOTIFIER

Appendix D: Installing Vinyl DB

DATABASE STRUCTURE

CREATE THE DATABASE

Appendix E: Installing MongoDB

INSTALLING MongoDB COMMUNITY SERVER

RUNNING MongoDB

Appendix F: Importing to MongoDB

Index

Copyright

About the Authors

About the Technical Writer

About the Technical Editor

Acknowledgments

End User License Agreement

List of Tables

Chapter 4

Table 4.1 Some of the Math Library Functions and Constants

Chapter 5

Table 5.1 Python Conditional Operators

Chapter 6

Table 6.1 2020 Tax Rates

Table 6.2 Taxes Due Based on Tier

Chapter 8

Table 8.1 Types of Data Structures

Table 8.2 Slicing parameters

Table 8.3 Comparison of the ways for removing items from a list

Chapter 10

Table 10.1 Data Structures

Table 10.2 Common Dictionary Methods

List of Illustrations

Chapter 1

Figure 1.1 The

Replit.com

home page

Figure 1.2 The Sign-up dialog for Replit

Figure 1.3 The Replit welcome dialog

Figure 1.4 Building a new program from scratch

Figure 1.5 Replit desktop with Python ready to go

Figure 1.6 Entering code into Replit

Figure 1.7 Running the Python script in Replit

Figure 1.8 Files menu in Replit

Figure 1.9 Running Python in the Replit Shell

Figure 1.10 Downloading a project from Replit

Figure 1.11 Creating a new file

Figure 1.12 Returning to Replit

Figure 1.13 Jupyter Notebook

Figure 1.14 The Jupyter Notebook interface

Figure 1.15 Adding a new folder

Figure 1.16 The new Python file in Jupyter Notebook

Figure 1.17 Running a Python script in Jupyter Notebook

Figure 1.18 Renaming a file in Jupyter Notebook

Figure 1.19 The new file in the folder

Figure 1.20 Saving a

.py

file in Jupyter Notebook

Figure 1.21 The Extensions icon

Figure 1.22 The Extensions dialog

Figure 1.23 Installing the Python Extension

Figure 1.24 Python download page

Figure 1.25 The Python Setup wizard

Figure 1.26 Installing in progress

Chapter 3

Figure 3.1 Running Listing 3.1 in Repl.it

Figure 3.2 Using the

input()

function

Figure 3.3 Syntax error in an IDE

Chapter 5

Figure 5.1 Sequence control structure

Figure 5.2 The flow of an

if

statement

Figure 5.3 Flowchart for Listing 5.2

Chapter 7

Figure 7.1 A definite iteration

Chapter 8

Figure 8.1 List indexing

Figure 8.2 Accessing beyond the list

Figure 8.3 Negative indexing

Figure 8.4 mySlicedList indexing

Chapter 15

Figure 15.1 Inheritance

Figure 15.2 A

Person

base class

Figure 15.3 Multi-level inheritance

Appendix A

Figure A.1 A sequence

Figure A.2 A branching program flow

Figure A.3 A looping program flow

Figure A.4 A flowchart of our pseudocode

Figure A.5 Flow line

Figure A.6 Branching (merging of two lines) and bridging flow lines

Figure A.7 Merging flow lines

Figure A.8 Terminator

Figure A.9 Input/output parallelogram

Figure A.10 Processing symbol

Figure A.11 Decision symbol

Figure A.12 Decisions

Appendix C

Figure C.1 MySQL Product installation

Figure C.2 Applying configuration settings

Figure C.3 Connecting successfully to the server

Figure C.4 Connecting to MySQL password prompt

Figure C.5 The MySQL prompt

Figure C.6 The default meta-databases

Appendix D

Figure D.1 The Vinyl Database structure

Appendix E

Figure E.1 Download page for MongoDB

Figure E.2 MongoDB download form

Figure E.3 MongoDB Setup Wizard

Figure E.4 Service Configuration dialog box

Figure E.5 Install MongoDB Compass window

Figure E.6 Installation in progress

Figure E.7 Confirmation window

Figure E.8 The MongoDB Compass interface

Appendix F

Figure F.1 Import confirmation

Guide

Cover Page

Table of Contents

Title Page

Copyright

About the Authors

Acknowledgments

Introduction

Begin Reading

Appendix A: Flowcharts

Appendix B: Creating Pseudocode

Appendix C: Installing MySQL

Appendix D: Installing Vinyl DB

Appendix E: Installing MongoDB

Appendix F: Importing to MongoDB

Index

End User License Agreement

Pages

iii

xvii

xviii

xix

1

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

271

272

273

274

275

276

277

278

279

280

281

283

284

285

286

287

288

289

290

291

292

293

295

296

297

298

299

300

301

302

303

304

305

306

307

308

309

310

311

313

314

315

316

317

318

319

320

321

322

323

324

325

326

327

328

329

330

331

332

333

334

335

336

337

338

339

340

341

342

343

344

345

346

347

349

350

351

352

353

354

355

356

357

358

359

360

361

362

363

364

365

366

367

368

369

371

372

373

374

375

376

377

378

379

380

381

382

383

384

385

386

387

388

389

390

391

392

393

394

395

396

397

399

400

401

402

403

404

405

406

407

408

409

410

411

412

413

414

415

416

417

418

419

420

421

422

423

425

426

427

428

429

430

431

432

433

434

435

436

437

438

439

440

441

442

443

444

445

446

447

448

449

450

451

452

453

454

455

456

457

458

459

460

461

462

463

465

467

468

469

470

471

472

473

474

475

476

477

478

479

480

481

482

483

484

485

486

487

488

489

491

492

493

494

495

496

497

498

499

500

501

502

503

504

505

506

507

508

509

511

512

513

514

515

516

517

518

519

520

521

522

523

524

525

526

527

528

529

530

531

532

533

534

535

536

537

538

539

540

541

542

543

544

545

546

547

548

549

550

551

552

553

554

555

556

557

558

559

560

561

562

563

564

565

566

567

568

569

570

571

572

573

574

575

576

577

578

579

580

581

582

583

584

585

586

587

588

589

590

591

592

593

594

595

596

597

598

599

600

601

602

603

604

605

606

607

608

609

611

613

614

615

616

617

618

619

620

621

622

623

624

625

626

627

628

629

630

631

632

633

634

637

638

639

640

641

642

643

644

645

646

647

648

649

650

651

652

653

654

655

656

657

658

659

660

661

662

663

664

665

666

667

668

iv

v

vi

669

JOB READY PYTHON®

 

 

HAYTHEM BALTICO-AUTHORED BY KIMBERLY A. WEISS

 

 

 

Introduction

With the proliferation of data in the past decade, Python emerged as a viable language for data processing and analysis. Its simple syntax and powerful toolbox and libraries make Python the standard language for data.

There are many reasons why learning Python is great choice:

As a general‐purpose language, Python runs on all platforms and operating systems, which makes Python programs and applications very portable.

Python is widely used around the globe and benefits from a huge online community that is highly active. Python is number 3 at the time of this writing in the Tiobe index.

Python is the standard language for data analysis, data engineering, and data science. If you want to become a data developer, learning Python is a must as it provides many built‐in and external libraries that allow you to develop machine learning models or ETL processes, or analyze some data.

NOTE You can find the Tiobe index for Python at   https://www.tiobe.com/tiobe-index/.

A Python Course within a Book

This book contains a full‐fledged Python course that is used by the mthree Global Academy and the Software Guild to train our alumni in Python and other topics, such as data analysis and data science.

Features to Make You Job Ready

Job Ready Python provides an overview of the Python language and teaches how to leverage the basics of Python to create Python programs that can process and analyze data.

If you read through this book, enter the code listings, and try the code, then you will get an experience like many other books. If you also take a hands‐on approach to doing the exercises, you will be better able to take what you learned to the next level.

Most importantly, this book (as well the Job Ready series) goes beyond what many books provide by including lessons that help you pull together everything you are learning in a way that is more like what you would find in the professional world. This includes building a more comprehensive example than what you get in the standard short listings provided in most books. If you work through the “Pulling It All Together” lessons, then you will be better prepared for many of those Python jobs that are available.

WHAT DOES THIS BOOK COVER?

As mentioned, this book is a complete Python course. It is broken into several parts, each containing a number of lessons. By working through the lessons in this book, you will not only learn Python programming, but you will be preparing yourself for a job in Python programming.

Part I

: Getting Started with Python

 The first part of this book focuses on getting you set up to use Python. This will include help for installing Python and setting up the tools you will need to work through this book. You will also be shown how to enter and run Python programs. This section also provides an overview of the basics of Python including syntax, basic data types, and control statements.

Part II

: Loops and Data Structures

 The second part of this book focuses on loops and data structures. This will include a deep dive into the different types of loops that exist in Python, such as

for

loops and the

while

loop. Moreover, this section will cover the basic data structures in Python, including lists, tuples, dictionaries, and sets. These four data structures provide the foundation of all programs that store and process data. Finally, we will learn how to create and leverage functions to create reusable code.

Part III

: Object‐Oriented Programming in Python

 The third part of this book focuses on object‐oriented programming (OOP), an important and powerful concept in Python and many other programming languages. You will leverage Python and OOP concepts such as inheritance to create classes and build elegant and reusable solutions to complex programs.

Part IV

: Data Processing with Python

 The fourth part of this book digs into processing data and working with files using Python. You will start with learning about lambdas, which provide some functional programming capabilities to Python. This coverage includes the use of maps, the reduce function, and filters. This will be followed by teaching you how to access and use data from various file types including text files, CSV files, and JSON.

Part V

: Data Analysis and Exception Handling

 The fifth part of this book teaches you a key concept for ensuring users of your programs have a good experience: exception handling. You will learn about exceptions and how to use them to handle errors within your Python programs. Finally, everything you have learned will be leveraged to design and develop an extract‐transform‐load (ETL) Python library that can be used to read and write data to and from various sources, as well as perform standard transformation and processing on the data.

Part VI

: Appendices

 The final part presented in this book is additional material for your reference. This includes a number of appendices that provide supplemental information on flowcharts and creating pseudocode. There are also appendices to help guide you through installing various database programs used within the book, including MySQL, the Vinyl DB, and MongoDB.

READER SUPPORT FOR THIS BOOK

There are several ways to get the help you need for this book.

Companion Download Files

As you work through the examples in this book, you should type in all the code manually. This will help you learn and better understand what the code does.

However, in some lessons, download files are referenced. You can download the files from www.wiley.com/go/jobreadypython.

How to Contact the Publisher

If you believe you have found a mistake in this book, please bring it to our attention. At John Wiley & Sons, we understand how important it is to provide our customers with accurate content, but even with our best efforts an error may occur.

In order to submit your possible errata, please email it to our Customer Service Team at [email protected] with the subject line “Possible Book Errata Submission.”

PART IGetting Started with Python

Lesson 1

: Setting Up a Python Programming Environment

Lesson 2

: Understanding Programming Basics

Lesson 3

: Exploring Basic Python Syntax

Lesson 4

: Working with Basic Python Data Types

Lesson 5

: Using Python Control Statements

Lesson 6

: Pulling It All Together: Income Tax Calculator

Lesson 2Understanding Programming Basics

This lesson provides an overview of general concepts related to the world of computer programming. The information presented will help you understand basic concepts that are common to all types of programming, regardless of the language you use to write computer code, as well as give you some basic tools that you can use to design your own programs.

LEARNING OBJECTIVES

By the end of this lesson, you will be able to:

Explain basic concepts in computer programming, including computational thinking and creating algorithms.

Identify concepts that are relevant to most computer languages, including reserved words, operators, statements, and syntax.

Describe what a variable is and how languages use data types.

THE FUTURE OF COMPUTER PROGRAMMING

One of the most important parts of working in the field of computer programming is understanding that things change. The change may be slow, or it may happen overnight, but it is often said that the only certainty in the field of computer science is that things will change. Even considering the marvels that today's society already takes for granted, new technology is always on the horizon.

Virtual reality allows people to work as if they are in an office, exercise as if they are in a gym, and check out new places as if they traveled there, all from the comfort of their living room.

Anyone who chooses to work in technology must be willing to continue learning. Not only is new hardware invented every day, but software and software programming languages are also in a constant state of revision and evolution. Although the basic concepts of software development will not change in the foreseeable future, the way people implement those concepts will change drastically. It is quite likely that some of the elements taught in this text will be obsolete in a year or two.

Good software developers keep up with what is happening in the field, and there are lots of resources available to do so. Here are some examples:

Magazines and newsletters allow professionals to read about upcoming technology. Many electronic newsletters are free, and you can always unsubscribe in the future if you decide one isn't useful to you.

Many developers produce podcasts that cover specific topics in software development. You can subscribe and listen while commuting or doing housework.

You might also want to find or form groups that meet regularly to discuss current industry topics. These groups are not only a source of information for changes in the field but can also help members network for job opportunities. This includes both local in-person groups and online groups through social media or meeting software such as Meetup.

What Is Programming?

Programming in general is nothing more than telling something (noun) to do something (verb), normally with the goal of solving a problem. In the context of this book, we will be programming a computer.

What Is a Program?

Computers can compute anything that is computable. We can use computations to analyze data, create websites, and automate machine responses. Programming allows us to provide an efficient and tunable set of instructions for the computer to perform tasks that solve problems. In fact, from a developer's perspective, a program is often referred to as a solution.

In reality, humans can do everything that a computer can do, given the right set of instructions and a way to implement those instructions. However, since a computer can perform these instructions billions of times per second, it takes us much longer. Humans are also notoriously bad at following instructions, even with extensive programming, which is why we make significantly more mistakes than computers do.