SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Introduction about
development, programs,
SAAS and Salesforce
Introduction into algorithms, cloud computing etc
Introduction
About myself:
Bohdan Dovhan
Salesforce Development Team Lead
Salesforce Certified Force.com Developer
7 years of Development experience
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 PersianUzbek 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)
Simplest Algorithms Examples
Pseudocode example for finding largest
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)
Different Implementation of
Euclid GCD Algorythm
Sieve of Eratosthenes
Implementation
Most 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
Computer program
By 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
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
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 Жаккард винайшов ткацький
верстат, який би плів шаблон слідуючи
серії перфорованих карт. Шаблони, у
тому числі квітів і листя, можуть бути
виткані і повторені розміщуванням
карток.
Babbage Analytical Engine
In 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.
Babbage Analytical Engine
It 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.
Babbage Analytical Engine
The 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.
Babbage Analytical Engine
In 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.
Types of programming languages
A 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)
Computer program types
A 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
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
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.
Domain-specific language vs. general-
purpose language
Предметно-орієнтовані мови супроти мов загального призначення
GPL: C, Java or Python
DSL: Apex (Salesforce), HTML, ASP, JSP, Matlab, Maple
Cloud computing
Cloud 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.
Cloud computing
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.
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.
Deployment models: Public, Private and Hybrid
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.
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.
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.
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
Examples: Book Store Example
Examples: Send SMS Example
References
1. 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
References
8.https://en.wikipedia.org/wiki/Cloud_computing
9.http://searchcloudapplications.techtarget.com/definition/Salesforcecom
10.https://developer.salesforce.com/docs/atlas.en-
us.apexcode.meta/apexcode/apex_intro_what_is_apex.htm
11.https://developer.salesforce.com/docs/atlas.en-
us.pages.meta/pages/pages_intro_what_is_it.htm
12.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/
Further readings
1. 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/
Q & A? Questions?
AND FINALLY:
MAY BE THE FORCE.COM WITH YOU...

Weitere ähnliche Inhalte

Ähnlich wie Introduction about development, programs, saas and salesforce

Computer Programming Grade 9 for Students
Computer Programming Grade 9 for StudentsComputer Programming Grade 9 for Students
Computer Programming Grade 9 for Students
JayMungcal
 
Evolution of computer
Evolution of computerEvolution of computer
Evolution of computer
Ankit Yadav
 
0 introduction to computer architecture
0 introduction to computer architecture0 introduction to computer architecture
0 introduction to computer architecture
aamc1100
 
WordProcess.txtTips, hints and guidance on Word ProcessingA.docx
WordProcess.txtTips, hints and guidance on Word ProcessingA.docxWordProcess.txtTips, hints and guidance on Word ProcessingA.docx
WordProcess.txtTips, hints and guidance on Word ProcessingA.docx
ericbrooks84875
 

Ähnlich wie Introduction about development, programs, saas and salesforce (20)

Computer Programming Grade 9
Computer Programming Grade 9Computer Programming Grade 9
Computer Programming Grade 9
 
Computer Programming Grade 9 for Students
Computer Programming Grade 9 for StudentsComputer Programming Grade 9 for Students
Computer Programming Grade 9 for Students
 
Serverless Architecture - A Gentle Overview
Serverless Architecture - A Gentle OverviewServerless Architecture - A Gentle Overview
Serverless Architecture - A Gentle Overview
 
C++ 1.pdf
C++ 1.pdfC++ 1.pdf
C++ 1.pdf
 
Evolution of computer
Evolution of computerEvolution of computer
Evolution of computer
 
2 evolution of computer systems
2 evolution of computer systems2 evolution of computer systems
2 evolution of computer systems
 
Programming
ProgrammingProgramming
Programming
 
History of computer
History of computerHistory of computer
History of computer
 
Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...
Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...
Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...
 
What is a computer
What is a computerWhat is a computer
What is a computer
 
Computer basics
Computer basicsComputer basics
Computer basics
 
02_Intro to Programming Language.pptx
02_Intro to Programming Language.pptx02_Intro to Programming Language.pptx
02_Intro to Programming Language.pptx
 
Libsys 7 to koha
Libsys 7 to kohaLibsys 7 to koha
Libsys 7 to koha
 
0 introduction to computer architecture
0 introduction to computer architecture0 introduction to computer architecture
0 introduction to computer architecture
 
Aws compute options
Aws compute optionsAws compute options
Aws compute options
 
WordProcess.txtTips, hints and guidance on Word ProcessingA.docx
WordProcess.txtTips, hints and guidance on Word ProcessingA.docxWordProcess.txtTips, hints and guidance on Word ProcessingA.docx
WordProcess.txtTips, hints and guidance on Word ProcessingA.docx
 
The History Of Computers Essay
The History Of Computers EssayThe History Of Computers Essay
The History Of Computers Essay
 
Introducing to computer
Introducing to computerIntroducing to computer
Introducing to computer
 
Web technologies
Web technologiesWeb technologies
Web technologies
 
Web technologies
Web technologiesWeb technologies
Web technologies
 

Mehr von Bohdan Dovhań

Mehr von Bohdan Dovhań (14)

PUBLISHING YOUR PACKAGE TO APPEXCHANGE IN 2023
PUBLISHING YOUR PACKAGE TO APPEXCHANGEIN 2023PUBLISHING YOUR PACKAGE TO APPEXCHANGEIN 2023
PUBLISHING YOUR PACKAGE TO APPEXCHANGE IN 2023
 
Second-generation managed packages
Second-generation managed packagesSecond-generation managed packages
Second-generation managed packages
 
Migrate To Lightning Web Components from Aura framework to increase performance
Migrate To Lightning Web Components from Aura framework to increase performance Migrate To Lightning Web Components from Aura framework to increase performance
Migrate To Lightning Web Components from Aura framework to increase performance
 
SFDX - Spring 2019 Update
SFDX - Spring 2019 UpdateSFDX - Spring 2019 Update
SFDX - Spring 2019 Update
 
Custom Metadata Records Deployment From Apex Code
Custom Metadata Records Deployment From Apex CodeCustom Metadata Records Deployment From Apex Code
Custom Metadata Records Deployment From Apex Code
 
Salesforce Developer eXperience (SFDX)
Salesforce Developer eXperience (SFDX)Salesforce Developer eXperience (SFDX)
Salesforce Developer eXperience (SFDX)
 
SFDX Presentation
SFDX PresentationSFDX Presentation
SFDX Presentation
 
Sdfc forbidden and advanced techniques
Sdfc forbidden and advanced techniquesSdfc forbidden and advanced techniques
Sdfc forbidden and advanced techniques
 
SFDC REST API
SFDC REST APISFDC REST API
SFDC REST API
 
Being A Salesforce Jedi
Being A Salesforce JediBeing A Salesforce Jedi
Being A Salesforce Jedi
 
Salesforce REST API
Salesforce  REST API Salesforce  REST API
Salesforce REST API
 
Salesforce certifications process
Salesforce certifications processSalesforce certifications process
Salesforce certifications process
 
Salesforce for marketing
Salesforce for marketingSalesforce for marketing
Salesforce for marketing
 
ExtJS Sencha Touch
ExtJS Sencha TouchExtJS Sencha Touch
ExtJS Sencha Touch
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Introduction about development, programs, saas and salesforce

  • 1. Introduction about development, programs, SAAS and Salesforce Introduction into algorithms, cloud computing etc
  • 2. Introduction About myself: Bohdan Dovhan Salesforce Development Team Lead Salesforce Certified Force.com Developer 7 years of Development experience
  • 3. 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 PersianUzbek 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)
  • 5. Pseudocode example for finding largest
  • 6. 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)
  • 9. Implementation Most 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
  • 10. Computer program By 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
  • 11. 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
  • 12. 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 Жаккард винайшов ткацький верстат, який би плів шаблон слідуючи серії перфорованих карт. Шаблони, у тому числі квітів і листя, можуть бути виткані і повторені розміщуванням карток.
  • 13. Babbage Analytical Engine In 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.
  • 14. Babbage Analytical Engine It 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.
  • 15. Babbage Analytical Engine The 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.
  • 16. Babbage Analytical Engine In 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.
  • 17. Types of programming languages A 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)
  • 18. Computer program types A 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
  • 19. 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
  • 20. 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.
  • 21. Domain-specific language vs. general- purpose language Предметно-орієнтовані мови супроти мов загального призначення GPL: C, Java or Python DSL: Apex (Salesforce), HTML, ASP, JSP, Matlab, Maple
  • 22. Cloud computing Cloud 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.
  • 24. 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.
  • 25. 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.
  • 26. Deployment models: Public, Private and Hybrid
  • 27. 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.
  • 28. 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.
  • 29. 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.
  • 30. 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
  • 33. References 1. 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
  • 35. Further readings 1. 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/
  • 36. Q & A? Questions?
  • 37.
  • 38.
  • 39. AND FINALLY: MAY BE THE FORCE.COM WITH YOU...