39
Introduction about development, programs, SAAS and Salesforce Introduction into algorithms, cloud computing etc

Introduction about development, programs, saas and salesforce

Embed Size (px)

Citation preview

Page 1: Introduction about development, programs, saas and salesforce

Introduction about development, programs, SAAS and SalesforceIntroduction into algorithms, cloud computing etc

Page 2: Introduction about development, programs, saas and salesforce

IntroductionAbout myself:Bohdan DovhanSalesforce Development Team LeadSalesforce Certified Force.com Developer7 years of Development experience

Page 3: Introduction about development, programs, saas and salesforce

Before we start talking about development:what is algorithm

What is algorithm? Set of instructions to perform some task or solve some problem in finite time.

Where the name did come from? From latinized version of name of Muhammad ibn Musa al-Khwarizmi (780-850) a Persian\Uzbek mathematician, astronomer and geographer, the author of "Dixit algorizmi" ("So said al-Khwārizmī") or "Algoritmi de numero Indorum" ("al-Khwārizmī on the Hindu Art of Reckoning") - basic book about arythmetic operations algorithms on Indian numbers (positional number system operations)

Page 4: Introduction about development, programs, saas and salesforce

Simplest Algorithms Examples

Page 5: Introduction about development, programs, saas and salesforce

Pseudocode example for finding largest

Page 6: Introduction about development, programs, saas and salesforce

The earliest algorithms

1.Euclidean algorithm, described in Euclid's Elements (300 BC)

2.Sieve of Eratosthenes (Introduction to Arithmetic by Nicomachus, 60–120 AD)

Page 7: Introduction about development, programs, saas and salesforce

Different Implementation of Euclid GCD Algorythm

Page 8: Introduction about development, programs, saas and salesforce

Sieve of Eratosthenes

Page 9: Introduction about development, programs, saas and salesforce

ImplementationMost algorithms are intended to be implemented as computer programs. However, algorithms are also implemented by other means, such as:

1. in a biological neural network (for example, the human brain implementing arithmetic or an insect looking for food)

2. in an electrical circuit

3. or in a mechanical device

Page 10: Introduction about development, programs, saas and salesforce

Computer programBy wikipedia, a computer program is a sequence of instructions that performs a specific task when executed by a computer. A computer requires programs to function, and typically executes the program's instructions in a central processing unit.

I would just simplify this to: a computer program is an algorythm implemented in code understandable for computer

Page 11: Introduction about development, programs, saas and salesforce

First developer ever: Ada Countess of Lovelace

Augusta Ada King, Countess of Lovelace a British mathematician and writer, chiefly known for her work on Charles Babbage's early mechanical general-purpose computer, the Analytical Engine. Her notes on the engine include what is recognised as the first algorithm intended to be carried out by a machine. Because of this, she is often regarded as the first computer programmer.Ada was born 10 December 1815 as the only legitimate child of the poet George Gordon, Lord Byron and his wife Anne Isabella Milbanke, Baroness Wentworth

Page 12: Introduction about development, programs, saas and salesforce

The earliest programmable machine

In 1801, Joseph-Marie Jacquard devised a loom that would weave a pattern by following a series of perforated cards. Patterns, including flowers and leaves, could be weaved and repeated by arranging the cards.У 1801 Жаккард винайшов ткацький верстат, який би плів шаблон слідуючи серії перфорованих карт. Шаблони, у тому числі квітів і листя, можуть бути виткані і повторені розміщуванням карток.

Page 13: Introduction about development, programs, saas and salesforce

Babbage Analytical EngineIn 1837, Charles Babbage was inspired by Jacquard's loom to attempt to build the Analytical Engine. The names of the components of the calculating device were borrowed from the textile industry. In the textile industry, yarn[пряжа] was brought from the store[магазин,припас] to be milled[розмелювати,фрезерувати]. The device would have had a "store"—memory to hold 1,000 numbers of 40 decimal digits each. Numbers from the "store" would then have then been transferred to the "mill" [млин] (analogous to the CPU of a modern machine), for processing.

Page 14: Introduction about development, programs, saas and salesforce

Babbage Analytical EngineIt was programmed using two sets of perforated cards—one to direct the operation and the other for the input variables. However, after more than 17,000 pounds of the British government's money, the thousands of cogged wheels and gears never fully worked together.[тисячі зубчастих коліс і шестерень ніколи повністю не працювали разом] During a nine-month period in 1842–43, Ada Lovelace translated the memoir of Italian mathematician Luigi Menabrea. The memoir covered the Analytical Engine. The translation contained Note G which completely detailed a method for calculating Bernoulli numbers using the Analytical Engine. This note is recognized by some historians as the world's first written computer program.

Page 15: Introduction about development, programs, saas and salesforce

Babbage Analytical EngineThe Analytical Engine was a proposed mechanical general-purpose computer designed by English mathematician and computer pioneer Charles Babbage. It was first described in 1837 as the successor to Babbage's difference engine, a design for a mechanical computer. The Analytical Engine incorporated an arithmetic logic unit, control flow in the form of conditional branching and loops, and integrated memory, making it the first design for a general-purpose computer that could be described in modern terms as Turing-complete.

Page 16: Introduction about development, programs, saas and salesforce

Babbage Analytical EngineIn other words, the logical structure of the Analytical Engine was essentially the same as that which has dominated computer design in the electronic era. Babbage was never able to complete construction of any of his machines due to conflicts with his chief engineer and inadequate funding. It was not until the 1940s that the first general-purpose computers were actually built, more than a century after Babbage had proposed the pioneering Analytical Engine in 1837.

Page 17: Introduction about development, programs, saas and salesforce

Types of programming languagesA computer program is usually written by a computer programmer in a programming language. From the program in its human-readable form of source code, a compiler can derive machine code—a form consisting of instructions that the computer can directly execute. Alternatively, a computer program may be executed with the aid of an interpreter.

Compiled ( Assembler, Pascal, Delphi, C#, C++, Java etc)

Interpreted (PHP, Ruby, Python, Javascript etc)

Page 18: Introduction about development, programs, saas and salesforce

Computer program typesA part of a computer program that performs a well-defined task is known as an algorithm. A collection of computer programs, libraries and related data are referred to as software. Computer programs may be categorized along functional lines, such as application software or system software.

Application software (called also Software or Soft)Programming languages to write such: Pascal, Delphi, C#

System software (called also Hardware)Programming languages: C++, Assembler

Page 19: Introduction about development, programs, saas and salesforce

World Wide Web

The World Wide Web (WWW) is an open source information space where documents and other web resources are identified by URLs, interlinked by hypertext links, and can be accessed via the Internet. It has become known simply as the Web. The World Wide Web was central to the development of the Information Age and is the primary tool billions of people use to interact on the Internet.The World Wide Web was invented by English scientist Tim Berners-Lee in 1989. He wrote the first web browser in 1990 while employed at CERN in Switzerland

Page 20: Introduction about development, programs, saas and salesforce

Web Development

Web development is a broad term for the work involved in developing a web site for the Internet (World Wide Web) or an intranet (a private network). Web development can range from developing the simplest static single page of plain text to the most complex web-based internet applications, electronic businesses, and social network services.

Page 21: Introduction about development, programs, saas and salesforce

Domain-specific language vs. general-purpose language

Предметно-орієнтовані мови супроти мов загального призначення

GPL: C, Java or Python

DSL: Apex (Salesforce), HTML, ASP, JSP, Matlab, Maple

Page 22: Introduction about development, programs, saas and salesforce

Cloud computingCloud computing, also known as 'on-demand computing', is a kind of Internet-based computing, where shared resources, data and information are provided to computers and other devices on-demand. It is a model for enabling ubiquitous, on-demand access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort. Cloud computing and storage solutions provide users and enterprises with various capabilities to store and process their data in third-party data centers.

Page 23: Introduction about development, programs, saas and salesforce

Cloud computing

Page 24: Introduction about development, programs, saas and salesforce

Why is it called “cloud”?

The origin of the term cloud computing is unclear. The word "cloud" is commonly used in science to describe a large agglomeration of objects that visually appear from a distance as a cloud and describes any set of things whose details are not inspected further in a given context. Another explanation is that the old programs that drew network schematics surrounded the icons for servers with a circle, and a cluster of servers in a network diagram had several overlapping circles, which resembled a cloud.

Page 25: Introduction about development, programs, saas and salesforce

Service models: SAAS, PAAS, IAAS

Though service-oriented architecture advocates "everything as a service" (with the acronyms EaaS or XaaS or simply aas) cloud-computing providers offer their "services" according to different models, which happen to form a stack: infrastructure-, platform- and software-as-a-service.

Page 26: Introduction about development, programs, saas and salesforce

Deployment models: Public, Private and Hybrid

Page 27: Introduction about development, programs, saas and salesforce

What is Salesforce?Salesforce.com is a cloud computing and social enterprise software-as-a-service (SaaS) provider based in San Francisco. It was founded in March 1999, in part by former Oracle executive Marc Benioff.

Page 28: Introduction about development, programs, saas and salesforce

What is Apex on Force.com platform?Apex is a strongly typed, object-oriented programming language that allows developers to execute flow and transaction control statements on the Force.com platform server in conjunction with calls to the Force.com API. Using syntax that looks like Java and acts like database stored procedures, Apex enables developers to add business logic to most system events, including button clicks, related record updates, and Visualforce pages. Apex code can be initiated by Web service requests and from triggers on objects.

Page 29: Introduction about development, programs, saas and salesforce

What is Visualforce?Visualforce is a framework that allows developers to build sophisticated, custom user interfaces that can be hosted natively on the Force.com platform. The Visualforce framework includes a tag-based markup language, similar to HTML, and a set of server-side “standard controllers” that make basic database operations, such as queries and saves, very simple to perform. In the Visualforce markup language, each Visualforce tag corresponds to a section of a page, a related list, or a field. The behavior of Visualforce components can either be controlled by the same logic that is used in standard Salesforce pages, or developers can associate their own logic with a controller class written in Apex.

Page 30: Introduction about development, programs, saas and salesforce

Salesforce Object Query Language (SOQL)

Use the Salesforce Object Query Language (SOQL) to search your organization’s Salesforce data for specific information. SOQL is similar to the SELECT statement in the widely used Structured Query Language (SQL) but is designed specifically for Salesforce data. With SOQL, you can construct simple but powerful query strings in the following environments: In the queryString parameter in the query() call In Apex statements In Visualforce controllers and getter methods In the Schema Explorer of the Force.com IDE

Page 31: Introduction about development, programs, saas and salesforce

Examples: Book Store Example

Page 32: Introduction about development, programs, saas and salesforce

Examples: Send SMS Example

Page 33: Introduction about development, programs, saas and salesforce

References1.https://en.wikipedia.org/wiki/Algorithm

2.https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes

3.https://en.wikipedia.org/wiki/Euclidean_algorithm

4.https://en.wikipedia.org/wiki/Computer_program

5.https://en.wikipedia.org/wiki/Analytical_Engine

6.https://en.wikipedia.org/wiki/Ada_Lovelace

7.https://en.wikipedia.org/wiki/Web_development

Page 34: Introduction about development, programs, saas and salesforce

References8.https://en.wikipedia.org/wiki/Cloud_computing9.http://searchcloudapplications.techtarget.com/definition/Salesforcecom10.https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_intro_what_is_apex.htm11.https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_intro_what_is_it.htm12.https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/13.http://book-store-developer-edition.ap1.force.com/14.http://sendsmstobohdandovhan-developer-edition.eu3.force.com/

Page 35: Introduction about development, programs, saas and salesforce

Further readings1.My blog: https://patlatus.wordpress.com/category/salesforce/

2.http://sug-lviv.blogspot.com/2014/02/salesforce.html (in Ukrainian)

3.https://developer.salesforce.com/docs/

Page 36: Introduction about development, programs, saas and salesforce

Q & A? Questions?

Page 37: Introduction about development, programs, saas and salesforce
Page 38: Introduction about development, programs, saas and salesforce
Page 39: Introduction about development, programs, saas and salesforce

AND FINALLY: MAY BE THE FORCE.COM WITH YOU...