What to read about promising programming languages

    image

    Let's start with important information: not necessarily promising languages ​​are new. They are not as old as your beloved Python or Ruby, they are not in any of the top ten popular ratings ( GitHut , RedMonk , TIOBE Index ), and knowledge of these languages ​​does not provide a significant increase in salary (with the possible exception of Swift) . But to call them a revolution, gaining momentum among the elect, is also impossible. Of course, they have their own niche, a certain market share (up to 2%) and an established community. It’s just that in the future it is they who can encroach on the top 5 laurels if an event like “black swan” does not happen.

    In recent years, little has changed in the popularity ratings of languages ​​- some fall, others rise, but no one breaks into the top under the slogan "best of the best." The process of capturing new territories for a language most often takes years, and during this time the necessary development base manages to take shape. Therefore, there will not be any exclusives and unique languages ​​written last night in the review - simply because their time has not yet arrived. But in the coming years, the popularity of unshakable pillars, such as Java (all), JavaScript or PHP, will decline, and their place will be gradually taken by "newcomers".

    Swift


    Programmer Chris Luttner has secretly worked on his own programming language from everyone since 2010. About a year and a half after the start of development, other programmers got involved, but it took another year before Apple, where Luttner works, focused on the project.

    In 2014, Apple introduced the OOP language Swift, which should replace Objective-C, which is facilitated by the ability to translate any application written in Objective-C into a new language. Designed primarily for iOS and OS X developers, Swift is considered a safer and faster language than Objective-C.

    What to read now




    The best language book is Apple's official publication, Swift for Programmers . The books of famous teachers and programmers Harvey Daytel and Paul Daytel do not need a special presentation - they are famous for their easy presentation of material of any complexity. "Swift for Programmers" contains many examples of real programs that will help you learn the basics of creating your own applications. An updated version of the book was released a year ago.



    The book “ Swift for Beginners: Develop and Design ”, published in 2014, not only talks about the basics of Swift, but also introduces the Xcode environment. The publication is suitable for everyone who has at least a minimum of programming knowledge in any high-level language and wants to learn how to create programs for iOS, OS X or watchOS.

    However, despite all the updates, books inevitably become obsolete due to language changes. There are many ways to deal with this: for example, to know in advance which relevant language books will be published in the near future.

    What to read in the future




    The Swift 2 Cookbook contains over 50 recipes that will help you create applications in Swift 2. The tutorial describes the basics of installing Xcode and provides examples of upgrading code from Swift 1.2 to Swift 2.0 using Xcode, and also demonstrates how Xcode helps you test code. Having some initial understanding of Objective-C or Swift will be useful, but you can study the material presented in this book without prior knowledge of Swift. The book will be released in April this year.

    Scala


    Scala is a powerful multi-paradigm programming language designed for safe and fast programming. Scala fully supports functional programming features. He is a representative of the academic environment, for which he is sometimes accused of excessive complexity. The language was created in 2001-2004. in one of the most prestigious educational institutions in Europe - the Federal Polytechnic School of Lausanne. Scala is the result of research aimed at developing improved language support for component software.

    Today, Scala is used in many large projects - for example, most of the server-side Twitter code is written in this language. Scala can replace Java, due to the fact that it takes into account many mistakes made in the design of Java.

    What to read now




    Martin Odersky, author of Programming in Scala: A Comprehensive Step-by-Step Guide, 2nd Edition , is the creator of Scala. In addition, he developed support for generic programming in Java (Generics) and created the current version of javac, the Java compiler.

    Translated from Italian “scala” means “staircase”. The book from Odersky in a certain way resembles climbing stairs: step by step you will master Scala, starting with the basic elements and ending with the additional features of the language.

    The book Scala in Depth (written by Joshua D. Suereth) may also be useful . Of course, in many aspects it is already outdated, but if you are going to study patterns and algorithms, you can count on the relevance of the materials.



    "Scala in Action 1st Edition ”- a more recent textbook (2013). It provides a good overview of tools that enhance the language. MongoDB , SBT , Scalaz , Squeryl , H2 , jQuery UI , ScalaCheck , Specs , Akka , Lift , DSLs are described and disassembled in detail.

    What to read in the future




    Scala High Performance Programming ” is the first book that investigates Scala’s ability to create high-performance applications, assured authors. The publication will be useful to Scala developers who know Lift, as well as Java programmers who are interested in switching to Scala, but who do not want to abandon the performance of Java code.

    The release of the book is scheduled for June.



    " Scala Design Patterns”Is another book for Scala programmers that will help you use your knowledge to create real-life applications — a kind of quick reference guide. The book discusses the possibility of using well-known industry standards for design patterns, indicating when it is required to use the selected pattern, and when to look for something more suitable.

    Lua


    Lua is a scripting language developed back in 1993 by the staff of the Catholic University of Rio de Janeiro. Lua's capabilities are closer to JavaScript, however, it is distinguished by more powerful and flexible designs. It gained fame as the programming language of many games (including World of Warcraft), however, it can be used not only for games, but also where the use of data stored in other files is required.

    Lua is one of the most productive scripting languages ​​in the world. It is used in projects such as Redis, nginx, Tarantool, OpenRes.

    What to read now




    Read the classics. « Programming in the Lua » (3rd edition) - a book written by one of the creators of the language Roberto Ieruzalimski. For game developers, the publication may become a reference book. It covers almost all aspects of using Lua, including the necessary skills for interacting with C.

    One of the easiest ways to learn Lua is at this link: Learn Lua in 15 Minutes .

    What to read in the future




    Unfortunately, in the near future there are no interesting announcements. A relatively new (compared to other editions) book was published in 2015 - “ Lua Game Development Cookbook ”. For a beginner game developer in this book, it will be useful to study the concept of simple 2D games, and then move on to modern 3D projects. In addition, the scripting capabilities in Lua will give you complete control over the game.

    However, this book is not for beginners in Lua - you need knowledge of the language, in addition, C / C ++ knowledge is required to create custom Lua modules.

    Go


    Robert Grismer, Rob Pike and Ken Thompson created Go in 2007-2009. The language was created with an eye to solving the problems of large-scale software development. Go had to make the development process more efficient. Unlike more academic programming languages, Go tried to remove all unnecessary. Thanks to the laconicism and simplicity of the language, learning it will be quite simple.

    Go's applications are diverse. So, push notification in VKontakte is implemented in Go language . On Go, you can write applications for iOS and Android, and even create your own cryptocurrency . In general, you can decide where to use Go for yourself, especially since you can learn it without a good knowledge of the English language - there are many translations and a good selection of articles in the  Hub hub.

    What to read now




    One of the authors of this book, Brian Kernigan, is a true programming legend. He is one of the co-authors of Unix, the creator of many Unix programs, including ditroff and cron, the author of The C Programming Language, written with Dennis Ritchie in 1978.

    At present, The Go Programming Language is the most interesting language textbook. Go At least basic knowledge of JavaScript, Ruby, Python, Java or C ++ will help you learn this language. The book presents hundreds of real examples of Go code, covering all the nuances of the language, the most important libraries, and also demonstrating a wide range of language usage.

    What to read in the future




    Sau Sheong Chang, author of Go Web Programming , wrote Ruby on Rails Web Mashup Projects, Cloning Internet Applications with Ruby, and several other important books on Ruby. The more interesting it will be to find out why the director of laboratory and applied research at HP Labs in Singapore began writing projects on Go after Ruby. Go Web Programming addresses the issue of creating a web application in Go using modern design principles. The release is scheduled for May 31.

    Rust


    Rust is a multi-paradigm, functional, imperative-procedural, object-oriented programming language developed since 2006. Since 2009, the Mozilla Research team has been working on Rust.

    Rust combines the performance and security of compiled languages ​​(C ++, not inferior to it in capabilities) with the speed of developing dynamic languages ​​(Python), while maintaining a certain level of asceticism. Thanks to the actions of a large and open developer community, Rust has fixed many of the mistakes made in the design of C ++ and Java.

    What to read now


    Rust continues to change rapidly. A lag in training materials for several months can put your knowledge at risk. It is imperative that you familiarize yourself with the official documentation - the  manual (also known as the book “The Rust Programming Language”) and  other documentation .

    What to read in the future




    Jim Blandy, author of Programming Rust , the miner of GNU Emacs and GNU Guile, talks about Rust's unique strengths. This book provides examples of clear and cost-effective programming that avoids a large number of common errors. Learning Rust , which will allow C # / C ++ developers to get better performance and memory management



    , will be released this December . The book demonstrates the capabilities of Rust in the development of large and scalable software, and also discusses the basics of the language, including variables, procedures, memory management, etc. After reading this book, you can create complex applications in Rust.

    Instead of a conclusion


    The paradigm shift process is so slow that you can start preparing for the inevitable right now, without waiting until your favorite programming language is completely out of date. No one will forget about C ++ tomorrow, but you need to move forward and learn new things now. The advantages of our chosen languages ​​are that they can be really used in today's projects, not limited to dry theory. You can try one of the promising languages ​​yourself and not be disappointed in the result.

    Also popular now: