Python is an experiment in how much freedom programmers need. Too much freedom and nobody can read another's code; too little and expressiveness is endangered. Since its creation, Python has rapidly evolved into a multi-faceted programming language, becoming the choice of several diverse projects ranging from web applications to being deployed into Artificial Intelligence, Machine Learning, Deep Learning, and more. Python comes with numerous features such as its simplicity, enormous collection of packages and libraries, with relatively faster execution of programs, to list a few. For a programmer, a Code Editor or an IDE is the first point of contact with any programming language, making its selection one of the most crucial steps in the journey ahead.
While many trends are both influencing and restraining enterprise technology adoption, they can all be broadly categorized under three pillars: Infrastructure, Architecture, and Technology. Let's explore what these trends are and how they influence DevOps and DevSecOps adoption in tech corporations worldwide. In computing, architecture is a collection of protocols encompassing the utility, structure, and execution of software applications. Architecture outlines the working of an application and determines the function of each aspect, such as data storage and computing capability, among others. Trends in architecture bring about changes in how technology is manifested and radically modify the work cycle for organizations developing software, making it an influential field over DevOps.
This year the annual re:invent conference organized by AWS was virtual, free and three weeks long. During multiple keynotes and sessions, AWS announced new features, improvements and cloud services. Below is a review of the main announcements impacting compute, database, storage, networking, machine learning and development. On the very first day of the conference, Amazon announced EC2 Mac instances for macOS, adding after many years a new operating system to EC2. This is mainly targeted to processes that only run on Mac OS, like building and testing applications for iOS, MacOS, tvOS and Safari.
The modern world would be a pale shade of itself if not for the myriad foundational technologies developed at the Bell Telephone Labs. Its engineers invented the transistor and photovoltaic cell, charge-coupled devices, frickin' lasers -- even Unix and the C programming language. Those same engineers also worked with some of the Cold War era's most influential artists -- including Andy Warhol, Robert Rauschenberg, and Yvonne Rainer -- to create a wholly new style of artistic expression. In his new book, Making Art Work: How Cold War Engineers and Artists Forged a New Creative Culture, W. Patrick McCray follows the exploits of often-unsung technicians like rocket pioneer cum kinetic artist, Frank J. Malina and Bell Labs electrical engineer and Experiments in Art and Technology founder Billy Klüver, as they leveraged their technological prowess in the pursuit of creating compelling new works. The following excerpt is reprinted from Making Art Work: How Cold War Engineers and Artists Forged a New Creative Culture by W. Patrick McCray.
The Non-Programmers' Tutorial For Python 3 is a tutorial designed to be an introduction to the Python programming language. This guide is for someone with no programming experience. "The Coder's Apprentice" aims at teaching Python 3 to students and teenagers who are completely new to programming. Contrary to many of the other books that teach Python programming, this book assumes no previous knowledge of programming on the part of the students, and contains numerous exercises that allow students to train their programming skills. The book aims at striking the balance between a tutorial and reference book. Includes some fun exercises at the end! "A Byte of Python" is a free book on programming using the Python language. It serves as a tutorial or guide to the Python language for a beginner audience. If all you know about computers is how to save text files, then this is the book for you.
In some ways, learning to program a computer is similar to learning a new language. It requires learning new symbols and terms, which must be organized correctly to instruct the computer what to do. The computer code must also be clear enough that other programmers can read and understand it. In spite of those similarities, MIT neuroscientists have found that reading computer code does not activate the regions of the brain that are involved in language processing. Instead, it activates a distributed network called the multiple demand network, which is also recruited for complex cognitive tasks such as solving math problems or crossword puzzles.
ColorShapeLinks is an AI board game competition framework specially designed for students and educators in videogame development, with openness and accessibility in mind. The competition is based on an arbitrarily-sized version of the Simplexity board game, the motto of which, "simple to learn, complex to master", is curiously also applicable to AI agents. ColorShapeLinks offers graphical and text-based frontends and a completely open and documented development framework built using industry standard tools and following software engineering best practices. ColorShapeLinks is not only a competition, but both a game and a framework which educators and students can extend and use to host their own competitions.
GrammaTech will explore the application of machine learning and artificial intelligence to automate software tools' design, testing and implementation under a contract of an undisclosed sum from the Defense Advanced Research Projects Agency. The company said Monday research findings will be available on Mnemosyne, its open source tool being designed to serve as an automated software development assistant that will help ensure documentation aligns with implementation. With support from GrammaTech, DARPA aims to help developers employ statistical machine learning, formal methods and search-based software engineering to tackle problem definition and high-level software design via the Intent Defined Adaptive Software program. "By separating problem definition from implementation, this project will help make it possible for software developers to focus on'what to do', by handling the details of'how to do it' using automated code synthesis and adaptation tools," said Alexey Loginov, vice president of research at GrammaTech. The agency plans to roll out a framework that optimizes modern software development environments and yields various types of intent specification.