Learn programming language!
​
Currently the 3 most common programming languages in the world are Python, Java and Javascript.
These are all modern Object-Oriented languages that are capable of performing almost any computer task. They are fast and easy, hence so popular today.
Python Crash Course
Python Crash Course, 2nd Edition: A Hands-On, Project-Based Introduction to Programming, by Eric Matthes
Details
​
Python Crash Course is the world's best-selling guide to the Python programming language. This fast-paced, thorough introduction to programming with Python will have you writing programs, solving problems, and making things that work in no time.
In the first half of the book, you'll learn basic programming concepts, such as variables, lists, classes, and loops, and practice writing clean code with exercises for each topic. You'll also learn how to make your programs interactive and test your code safely before adding it to a project. In the second half, you'll put your new knowledge into practice with three substantial projects: a Space Invaders-inspired arcade game, a set of data visualizations with Python's handy libraries, and a simple web app you can deploy online.
As you work through the book, you'll learn how to:
-
Use powerful Python libraries and tools, including Pygame, Matplotlib, Plotly, and Django
-
Make 2D games that respond to keypresses and mouse clicks, and that increase in difficulty​ -
Use data to generate interactive visualizations -
Create and customize web apps and deploy them safely online -
Deal with mistakes and errors so you can solve your own programming problems
If you've been thinking about digging into programming, Python Crash Course will get you writing real programs fast. Why wait any longer? Start your engines and code!
Effective Java, 3rd Edition
Since this Jolt-award winning classic was last updated in 2008, the Java programming environment has changed dramatically. Java 7 and Java 8 introduced new features and functions including, forEach() method in Iterable interface, default and static methods in Interfaces, Functional Interfaces and Lambda Expressions, Java Stream API for Bulk Data Operations on Collections, Java Time API, Collection API improvements, Concurrency API improvements, and Java IO improvements.
In this new edition of Effective Java, Bloch explores new design patterns and language idioms that have been introduced since the second edition was released in 2008 shortly after Java SE6, including Lambda, streams, generics and collections, as well as selected Java 9 features.
As in previous editions, each chapter consists of several “items” presented in the form of a short, standalone essay that provides specific advice, insight into Java platform subtleties, and updated code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why.
-
Updated techniques and best practices on classic topics, including objects, classes, libraries, methods, and serialization
-
How to avoid the traps and pitfalls of commonly misunderstood subtleties of the language
-
Focus on the language and its most fundamental libraries: java.lang, java.util, and, to a lesser extent, java.util.concurrent and java.io
JavaScript
JavaScript: The Definitive Guide: Master the World's Most-Used Programming Language 7th Edition
​
JavaScript is the programming language of the web and is used by more software developers today than any other programming language. For nearly 25 years this best seller has been the go-to guide for JavaScript programmers. The seventh edition is fully updated to cover the 2020 version of JavaScript, and new chapters cover classes, modules, iterators, generators, Promises, async/await, and metaprogramming. You’ll find illuminating and engaging example code throughout.
This book is for programmers who want to learn JavaScript and for web developers who want to take their understanding and mastery to the next level. It begins by explaining the JavaScript language itself, in detail, from the bottom up. It then builds on that foundation to cover the web platform and Node.js.
Topics include:
-
Types, values, variables, expressions, operators, statements, objects, and arrays
-
Functions, classes, modules, iterators, generators, Promises, and async/await
-
JavaScript’s standard library: data structures, regular expressions, JSON, i18n, etc.
-
The web platform: documents, components, graphics, networking, storage, and threads
-
Node.js: buffers, files, streams, threads, child processes, web clients, and web servers
-
Tools and language extensions that professional JavaScript developers rely on.