When I see lawyers who handle triumphant that toy called i-Phone or smart-phone, thinking that, at last, can dominate the technology, comes from me shudder: the technology is like a race horse, or dominates, and you have to be very competent, or it has dominated. Certainly the smart-phone does not Emboss you out of the saddle like a horse, but the problem is even deeper. To master it, there must be fundamental. What are the basics? When we see the football games broadcast commentators speak of dribbling, sombrero, tap-in, the instep, movements, if a player shoots up explaining that he had unbalanced the body backward, with the shots around to enter or with around out and so on. This for the proper management of two feet. Evidently the proper management of the brain is something far more complicated. But back information technology: behind the smart-phone there are 50 years of history and even more, since now it is proved by the documents that the Second World War was won by Turing genius who deciphered the Enigma encryption machine of the Germans as everyone could see in the movie the Imitation Game. But cyber real part in the ’70s with huge computers and writing programs on punch cards. Then came the floppy disk, the first 8-inch with 1.2 megabytes of memory capacity, then the most compact with capacity 1.4 megabyte, where megabyte expresses a million times the power of the computer byte, to which are associated the write characters, 8 times the bit, which is the basic unit of the computer, which can take two values, zero or one, on or off. Seeing the memory of a computer so there is just a sequence of ones and zeroes that programs or software interpretation and modification. This is because the computer works on the RAM (random access memory), which is erased when the computer is switched off and discs that allow final storage of processed data. Now the RAM are at the level of gigabytes (billions of bytes) while discs safely contain terabytes of information (trillions of information). Even the external media have evolved, from floppy to CD and then we switched to the DVD, while there are extremely compact discs containing terabytes of elementary information. This is just the background, because instead must be careful evolution of software and what does this evolution. The very first calculations were in machine language, that is enlivened the zeros and ones, in language, assembler, which allowed some basic operations, such as changing the value of a memory cell, the iterative loop, that is, that a group instruction was repeated several times, the jump, that is, that from an instruction is passed to a later but not immediately next or a previous one, which allowed the realization of iterative cycles but that created a difficult reading of the program, then the logical choice, if this happens what do you do these steps, otherwise you do these other operations. The logical choices could be successively, and each logical choice that was added is multiplied by two the number of activities to be performed, or to groups of instructions to be tested. So with 10 consecutive logical choices and related branches of the program in 1024 you will have to be tested. The most programmers when it exceeds the 3 connected logical choices, or 8 branches to be tested, begins to generate errors, such as branches and other untested. In fact, from the beginning it was became clear that the program, before being delivered to the client, should be tried in an environment as similar as possible to that in which he operated at the customer. It then developed the business of software maintenance, which was joined to that of the development of new features and new programs. From the point of view of languages began an evolution which tended to simplify the life of the programmer. If the computers of the 70s, those of the moon landing, so to speak, they had a central computer and terminal devices on which they worked programmers and users were only monitors that allowed to read some information and to send others, with the reduction of size of computers set off the era of the personal computer (PC) that allow each user to have some software that worked locally with no connections with the outside, which was a great success for the advent of windowing operating systems, where every window could handle other software, as if it were an independent monitor and the simultaneous development of Visual Basic, which departs from the Basic language enriched it with graphic capabilities and ever increasing computing. Meanwhile, large systems in the commercial world were using Cobol, a limited language that was designed to make use by US army sergeants. At the same time the scientific community used the Fortran, while the high-level had become the universal language C, which had supplanted even Assembler in the system software, that is, software, operating systems, which is delivered to you with the computer so that it operate and upon which you could install software that served to your business or your fun.
There was talk then of a million Visual Basic developers in front of 50,000 developers C. A ratio of 20 to 1. developed in Visual Basic students, surveyors, engineers, and anyone who had the time to develop applications even if not professional. One of the first problems that showed up was that a software vendor, since there was no software patenting as now, was to ensure that they were paid all copies of the software that might have been sold, and that no copies were made illegal, free, in so that the effort was rewarded economically. Are techniques used it going to write information on the operating system registers, but as everyone knows, turned the so-called cracked in copies and techniques to crack, which perhaps some large companies in the computer so also frowned, including entering into an advertising vehicle and free marketing, which would also have supported legal sales, or with numbered license. Began to also spread the virus, that is, programs that harmed more or less seriously the computer or the software installed on it, transmitted by the exchange of floppy disk into PC users. They arose then companies who created the virus, or the answer that vaccinates from these threats, having analyzed how the virus was acting in the first cases in which it was discovered. there was always the suspicion that some viruses were spread by its own anti-virus companies to sell their product, something that you could not do without, or risk losing data and important information in addition to the possible loss of function of computers, up to total block. Another problem that occurred was that began to create quantity of already developed software, already tested, which were beginning to cover the amount of features, from elementary how to create the average of a series of numbers to other increasingly complex. Were organized libraries, DLLs (Dynamic Language Library), which contained these software and whose programs could be used by inserting the appropriate library in your software project. Then the market queen was Microsoft with both operating systems in both development environments, that is, those software that allow the programmer to work, with the necessary functions, such as editing, compiling, debugging, As business requirements imposed Of Microsoft to put on the market a new operating system or a new development environment every two years, often making taking the actual test users, it occurred the case that does not work for most software users, which defines “application” because it generated a the previous version of the language and thus the DLL functions could give unexpected results, besides the fact that the application software provided by different manufacturers were using DLL incompatible. For a trivial example the function which made the average needed a further parameter, said that if making the average or, for example, the maximum and the minimum of that series of numbers. Clearly, the “old” software that was using the “average between numbers” without the additional parameter was in error.
In parallel there was the Millennium Bag phenomenon, due to programmers who are used to working with limited memory resources when writing a date, wrote the year with two digits, January 13, 1978 became 01/13/78. So far nothing bad, but the year 2000 became 00 even leading software of important public bodies to go into error. It was then made a batch of poor IT skills to solve the problem as soon as possible, since the changes to make the software mostly repetitive. At this point there was a double breakthrough in the industry: first of all you brought the most important part of the software in a centralized location, the server, decreasing more and more functionality on the PC that was before you began to transmit important data even between the PC, called a client, and the server in the client-server technology, then, to solve the problem of overlapping DLL was created a universal super library, the Framework, which provided all the knowledge available in a hierarchical arrangement that needed , for simplicity, a different approach from the programmer, the object-oriented language. So Visual Basic was abandoned, turned into VBNET, who had the same frame of work C #, Visual C heir and descendent of the legendary C. This, in addition to causing havoc in Visual Basic programmers amateur, also provoked a huge problem on the protection of software product: to be used, the framework was written in the same language development, and then, when it was made the compilation of the software, was not obtained as a product in non-readable object language, but a product in an intermediate language, which could be decoded by special software, decompilers, of course freely available in the market, which reported that intermediate language in the development language, easily comprehensible to the programmer. They arose then the decompilers, that is, software that burdened the programs creating unnecessary cycles and others found to make it as unreadable as possible of the compiled software and thus prevent the ability to copy and modify it to create similar products on the market. The protection by writing about the system logs no longer needed: it was easy to find the group of instructions that accessed to compare the password entered by the user with the one registered on the system logs, but the solution for software vendors, came from a ‘ other important news of the computer world: Internet.