Currently, the backends focused on certain needs of application developers are actively “built” upon “low-level” cloud systems (bare virtual servers and virtual file storages). The so-called backend as a service (BaaS) are in really good demand with mobile software developers, due to which now the differences between BaaS and Mobile BaaS (MBaaS) are almost blurred out. MBaaS-services are very popular with online-games developers and start-up projects, because they help spare an ocean of resources and time for development and maintenance of server infrastructure. Today it’s possible both to connect client side to cloud storage, user maintenance service, social services, etc., and to bring the working prototype to operation within several hours and free of charge.
Any software development project is always associated with the automation of related routine tasks. Initially, IDE and a pair of manual operations will be enough for you. Then, the number of body movements begins to grow: you need to perform multiple sets of tests, embed various certificates, execute scripts in the database, generate documentation on the code, and so on. You also need to perform these and other operations on the Continuous Integration server. In addition, you may need to deploy applications on production servers (if we’re talking about a client-server solution). To automate such tasks, programmers sometimes create sets of batch or shell scripts, but more often, the team of developers comes to some consolidated decision.
Python itself is, of course, a programming language. But many people mistakenly believe that Python is the very thing that comes with most of the *nix systems and can be launched by typing “python” in the console. That is, the interpreter (a specific version thereof) is associated with the language as a whole. Just like those guys who write on Delphi. But what does it really mean?
For many years, I have been a fan of development for Windows and wrote pretty much about it to this best computer magazine ever. I switched to Mac OS and UNIX with time. Working in Mac OS, I set my mind to selecting a tool for creation of platform-independent programs. What should be preferred? Java? Mono? Too boring. I settled upon… Eiffel. For the following reason.
Information is currently gradually becoming “new oil” in terms of value. The only problem is that the volumes of data to be processed are growing by leaps and bounds. The sizes of files are sometimes larger than the hard drive, not to mention that RAM can’t cope, and interviewees receive increasingly scary tasks like comparing two petabyte files on the fly. But, fortunately for programmers, there is no need to make the machine choke on such amount of information, as iterators and generators can be used for threading, and there is also Python, a programming language which supports them perfectly. Would you like me to tell you about that?