Hardware and software are two such things, between which there is always a competition between each other, and at any time, these two are not in the same position. Sometimes the hardware overtakes, sometimes the software and new technologies develop in the competition to move ahead of these two. But the basic reason for the development of both of them is need.
As we are moving towards the future, our needs are changing, and new types of devices are made to meet our needs. Then new types of software are created to handle these new types of devices appropriately. Then to make the process of making software easier, new types of design patterns are created, and this process continues uninterruptedly.
That is, a new type of need, then the development of new types of devices to meet this need, then the development of new types of software to make it possible to use these new types of devices easily, then new types of software. Development of new types of Design Patterns to make them easily manageable and development of new types of Programming Languages to easily implement new types of Design Patterns in any Programming Language and till we reach Programming Language in this development cycle, by then again a new kind of requirement arises, to handle which again a new type of device needs to be developed, and this process has been going on in this way for a long time.
That is, we always have some kind of problem in front of us, for which we are always looking for simple solutions, and we are always trying to make things easier, due to which new types of problems start appearing, which then need to be solved. It happens, and as a solution, then a new problem is created, and we try to solve these different types of problems through devices and keep making different types of new devices. Let us try to understand this process with an example.
Since problems are always circular, nothing can be said with certainty about where the problem may have originated. But we assume that from the beginning of civilization, humans must have understood the importance of information and must have found that it is not possible to remember all types of information. That’s why man developed paper and pen and language so that he could write down the information and save it for future use.
For some time, this arrangement would have been fine, but then humans would have started moving from one place to another, due to which they were introduced to different types of people and different types of cultures, mutual relations would have been formed, and Then those groups must have separated from each other because wandering is human nature. He cannot remain stationary anywhere forever.
But even when those groups are separated from each other, they must have found some kind of means to stay connected. This search must have compelled him to develop science. As a result, the development of radio would have been possible after a long time of research.
Radio had its own limitations because, from radio, only voice could be sent from one place to another, not pictures. So again, a problem arose that how could the picture be sent from one place to another along with the voice so that there could be a mutual relationship between the human groups living in two distant places. Television developed as a result.
It was fine for some time, but then man realized that although television makes a connection between two distant places, that relationship is not live. Because Television and Radio only provide One-Way Communication. The telephone was developed as a result.
The telephone was such a device that people could talk to each other live and stay connected to each other. But then a problem arose that although two people could do two-way communication with the telephone, they could talk to each other only when both were near the telephone device at the same time.
As a result, such a device was conceived, which can be carried around so that communication can be done with anyone and at any time. The result was mobile phones, and now people want to talk face to face while looking at each other, which results in arrangements like Online Net Meeting, Chatting, Instance Messaging done on Smart Phone, Tablet PC and Computer.
That is, human needs to decide what kind of device needs to be developed and then software plays an important role in developing that device at the appropriate level because software is responsible for giving life to any hardware device. Without software, any hardware is of no use.
For example, if you do not get any response related to that button on your screen on pressing any button of the mobile phone you have, then that mobile phone is of no use to you.
Because you come to know that your mobile is alive, i.e., in useful and working state in the same condition, when you do some process with that mobile interface and that mobile responds to your every action with some response and this response is always fixed by the software.
Since no hardware device understands our language, but every device understands only machine language, i.e., Patterns of Binary Digits, and we do not understand Patterns of Binary Digits.
As a result, as a software developer, we need some kind of programming language, which completely depends on the device, which device will understand which language, and what kind of response it will give.
Therefore, the company that makes the device, the same company also makes a machine language of that device, but understanding the machine language is not a matter of common people, so some well-informed people make compilers, i.e., such an intermediate software, which is our Explains the language to the device and explains the language of the device to us.
But if different companies create different languages for different devices, then each device will have a different language, due to which a new programming language will have to be learned to make software for each device.
The solution to this problem was to make such a chip, whose language is almost common and different types of needs should be met by programming the same chip in different ways according to its need.
As a result, this chip was named Microprocessor, and at present, Mobile, Computer, Laptop, Notebook, Tablet PC, SmartPhone, Dish, D2H, CD/DVD Player, etc. all use microprocessors with almost the same machine language. Still, we can understand that how different all these devices work from each other and how different types of output they generate.
That is, the DVD player listens to us audio or shows video while our mobile phone provides us the facility to communicate with another, while internally both the devices are based on the same family of microprocessors and the software made for both is also almost internally. It was developed in the same programming language only. This is possible because, in all these devices, the microprocessors of the same family are programmed differently, and the work of programming is done in some programming language.
That is, the life of any device is software, and software is always made in some programming language. But as we said earlier that by the time the programming language is developed, another new type of device comes, for which again a new programming language is needed.
In this way, the first attempt was made to avoid the circular problem related to developing a new programming language for every device, the programming language Java developed by Sun Microsystems, and the second attempt was Framework .NET and Programming Language C# by Microsoft Company.
Both these programming languages have their own specialty, and both programming languages are modern and smart programming languages of the present day. Also, they are being developed in such a way that after understanding them, there is no need to learn any other programming language to program any device.
Although Java is a Platform and Hardware Architecture Independent Programming Language Framework, which is suitable for developing software for any device, .NET has been developed keeping in mind only Microsoft Platform. However, it can also be made Hardware Architecture Neutral.
But the way Java was given special attention to make Platform and Hardware Architecture neutral, special attention has been paid to make .NET Programming Language Neutral. So that application software can be developed in any .NET Supported Programming Language using .NET Framework, all of them are compatible and interoperable with each other.
That is, the .NET Platform cannot be used only by Microsoft Supported Programming Languages, but any programming language, which is designed keeping in mind the Microsoft .NET Architecture, can use this .NET Framework. And many such languages have also been developed, which are used to make software for platforms like Linux, Unix, macOS using the .NET Framework, but since their market is very less, so these Programming Languages are more.
However, the new programming language that Microsoft has designed for .NET from the very beginning is C#, while VB.NET has been redesigned to make the .NET Framework usable. That’s why at present, the scope of VB.NET is slowly dying out, and Microsoft’s full focus is only on C#.
Since about 95% of people still use the Windows operating system in desktop technology, Microsoft does not attach much importance to covering only 5% of the market.
However, by developing an operating system like Windows 8, Microsoft has suitably covered the market of Tablet PC, Microsoft’s SmartPhone, and Intel Architecture-Based Computers, for which the software developed is completely .NET Framework-based Native Programming Languages VB. Can be developed in .NET and C#.
Although there were already many programming languages available and Microsoft itself had designed compilers of many programming languages before, but still Microsoft developed the C# language originally for the .NET Framework.
To understand why Microsoft did this, we have to first know the development history of the programming language; only then will we also understand those programming language-related problems, and only then we specially developed programming language C# for. NET. You will also be able to understand the specialties of (.NET Framework in Hindi)