Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introduction about development, programs, saas and salesforce


Published on

Introduction about development, programs, saas and salesforce
Introduction into algorithms, cloud computing etc

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Introduction about development, programs, saas and salesforce

  1. 1. Introduction about development, programs, SAAS and Salesforce Introduction into algorithms, cloud computing etc
  2. 2. Introduction About myself: Bohdan Dovhan Salesforce Development Team Lead Salesforce Certified Developer 7 years of Development experience
  3. 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)
  4. 4. Simplest Algorithms Examples
  5. 5. Pseudocode example for finding largest
  6. 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)
  7. 7. Different Implementation of Euclid GCD Algorythm
  8. 8. Sieve of Eratosthenes
  9. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 21. Domain-specific language vs. general- purpose language Предметно-орієнтовані мови супроти мов загального призначення GPL: C, Java or Python DSL: Apex (Salesforce), HTML, ASP, JSP, Matlab, Maple
  22. 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.
  23. 23. Cloud computing
  24. 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. 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. 26. Deployment models: Public, Private and Hybrid
  27. 27. What is Salesforce? 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. 28. What is Apex on platform? Apex is a strongly typed, object-oriented programming language that allows developers to execute flow and transaction control statements on the platform server in conjunction with calls to the​ 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. 29. What is Visualforce? Visualforce is a framework that allows developers to build sophisticated, custom user interfaces that can be hosted natively on the 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. 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 IDE
  31. 31. Examples: Book Store Example
  32. 32. Examples: Send SMS Example
  33. 33. References 1. 2. 3. 4. 5. 6.
  34. 34. References 8. 9. 10. us.apexcode.meta/apexcode/apex_intro_what_is_apex.htm 11. us.pages.meta/pages/pages_intro_what_is_it.htm 12. 13. 14.
  35. 35. Further readings 1. My blog: 2. (in Ukrainian) 3.
  36. 36. Q & A? Questions?