Introduction to SOQL and SOSL

Search functionality is one of the very basic requirement for any Application. In this respect you can follow two major approaches SOQL and SOSL.

Salesforce Object Search Language (SOSL)

SOSL is use for searching the text string accross the object. This is Salesforce Object Search Language. On the multiple object SOSL has the capbility of searching a particular string.
With the help of SOSL, you can evaluate to a list of sObject, where each list contains the search results for a particular sObject type. The result of sObject query is same order as SOSL query statement. SOSL follow the same pattern of a SELECT SQL statement and searches the org database.

Salesforce Object Query Language (SOQL)

The formate of text query of both SOQL and SOSL are same. For the SOQL you can fetch the object records from one object only
The SOQL query wrap with your query statement within the square brackets and assign the return value to an array of sObjects.

Differences and Similarities Between SOQL and SOSL

SOQL and SOSL are two separate languages with different syntax.

SOQL and SOSL both are work same to fetch the organisation's records for the specific information.

Unlike SOQL, which can only query one standard or custom object at a time, a single SOSL query can search all objects.

SOQL is apply to retrieve records for a single object.

SOSL is to search fields accross the multiple objects.

When to Use Declarative vs. Programmatic Tools to Start Salesforce Development

Salesforce developers love to write code. And just because we can sometimes write code for things that could have easily been solved without coding.
In Salesforce early days, Force.com started out as a declarative development platform. Declarative customizations can be made point and click in a browser and Programmatic customizations are made with code.
While using Declarative tools, you require an understanding of Force.com concepts, but no coding knowledge. On the other hand, Programmatic customizations require coding skills

Advantages of declarative customizations:

Easy to develop

Visualization is more in declarative.

Faster

Updations are in easy

Ease of maintenance

Does not require programmatic skill set

Advantages of programmatic customizations:

Can extend the capabilities of an application beyond standard functionality