Optimization
What is the meaning of the term optimization in computer science? Optimization may be a single software, a collection of programs and even a network system. But when and why computer uses optimization? Optimization is also a very common term in math. Although there is a big relation between the optimization of each discipline, math and computer science, this article will review only optimization in computer science.
Domestic Optimization
Thinking about our privet environment, we always keep look after an optimization. Although we are not always aware of it, optimization has an extensive value in our life.
Let's take your fridge, for example- useful products will be placed in the front of your fridge or any other place for your comfort; your desktop- most likely that the useful icons will be assembled in the desktop. These cases, where humanity tries to organize and use fewer resources in order to work more efficiently, explain the meaning of optimization.
When we speak about computing optimization, the term is quit similar. Usually, the computer software will be as the human brain; it optimizes orders so the work will be more efficiently.
In addition, in both cases, computing and human optimization, the process of optimization dosen't always produce one typically system which matches in one sense for all the users. In other words, one might place the butter in the front of the fridge, other might not even buy it; one might reduce the time that a software takes in order to perform some tasks, while it consumes a lot of memory, one might use a different optimization which takes more time to perform some tasks but saving the lack of memory.
There is no a perfect design which contains all the solutions and benefits at the same time. Furthermore, the optimization process can never cross the limits of time; before a completely optimal solution has been reached, another problem has been added. Therefore, despite the engineers' efforts to optimize the attributes for comprehensive types of audiences, there is no such a thing a perfect optimization, but a relative optimization.
Optimization in Computer Science
Optimization, in the field of computers, is a process of modifying a system in order to use fewer resources and work more efficiently.
Generally, optimization tries to improve only one or two aspects of the system. Usually, the optimization process reguires what is called a Trade- Off.
Trade- of is losing some quality in return for gaining other quality. In other word, the decision by the programmer will contain both profit and damage.
The implementation of optimization can be done by writing a code of Assembly language, which is a very low level of programming computers language. Another way is by using an Algorithmic Efficiency. This type of algorithm includes two advantages: space and speed.
Space means the memory that is used up by the implementation, speed means the time it takes to complete the implementation. Using this algorithm, in the process of optimization, will make the code as efficient as possible In comparison to the code of assembly language, using an algorithmic efficiency will benefit from the writing of good quality code.
When to use the Optimization?
In order to use optimization, one needs to know first what is being required to optimize. Let's take the internet for example; first, programmers designed the search engine, then, the optimization helped to improve the results of searching.
It is known today as SEO - Search Engine Optimization. A complicated system, such as search engine, was first needed to be built and then to be optimized. Want to say; in order to optimize a system or program, often, the process of the optimization will be developed in the end of the system or program writing process. However, optimization always be considered from the beginning by the programmer, but will be developed in the end of the process.
Note that the issue above is just one approach by programmers.
Other approach is to design the software, system, first, writing the code, to watch the profile and then to see what should be optimized. As a result, many times unexpected problems may appear. However, this approach is very useful in cases where the design of the program is simple.
In any case, the optimization usually is temporary and might be changed in direct relation to external changes. That is one of the reasons for the multiplicity of software versions.
Optimization and Search Engines
SEO is an improving process of a web page quality, traffic and ranking by an "organic" search result. The optimization strategy is marketing, and in order to improve these results, it considers the algorithm of the search engine. SEO tactics may include changing web sites coding, using a particular structure, fixing web pages problems, writing unique contents etc. Usually, using SEO requires changing the HTML source. In order to improve the web ranking, traffic and quality in efficient way, one can use a professional SEO person, but also optimize it alone. A great improvement which can be done is learning how to write SEO content. It doesn't require any preliminary knowledge and almost anyone can write it.