Introduction                Languages                    Action                ResourcesAlternative Programming Languages ...
Introduction                                   Languages                                       Action                     ...
Introduction                              Languages                                  Action                              R...
Introduction                               Languages                                   Action                             ...
Introduction                               Languages                                   Action                             ...
Introduction                                Languages                                    Action                           ...
Introduction   Mercury          Languages    JavaFX              Action   Piet          Resources    GO       MercurySeraf...
Introduction   Mercury                              Languages    JavaFX                                  Action   Piet    ...
Introduction   Mercury                              Languages    JavaFX                                  Action   Piet    ...
Introduction   Mercury                               Languages    JavaFX                                   Action   Piet  ...
Introduction   Mercury                                Languages    JavaFX                                    Action   Piet...
Introduction   Mercury          Languages    JavaFX              Action   Piet          Resources    GOSeraf´ V´lez Barrer...
Introduction   Mercury                               Languages    JavaFX                                   Action   Piet  ...
Introduction   Mercury                              Languages    JavaFX                                  Action   Piet    ...
Introduction   Mercury          Languages    JavaFX              Action   Piet          Resources    GO              PietS...
Introduction   Mercury                              Languages    JavaFX                                  Action   Piet    ...
Introduction   Mercury                              Languages    JavaFX                                  Action   Piet    ...
Introduction   Mercury          Languages    JavaFX              Action   Piet          Resources    GO               GOSe...
Introduction   Mercury                              Languages    JavaFX                                  Action   Piet    ...
Introduction   Mercury                              Languages    JavaFX                                  Action   Piet    ...
Introduction   Mercury                               Languages    JavaFX                                   Action   Piet  ...
Introduction   Mercury                             Languages    JavaFX                                 Action   Piet      ...
Introduction   Mercury                               Languages    JavaFX                                   Action   Piet  ...
Introduction   Mercury                            Languages    JavaFX                                Action   Piet        ...
Introduction   Mercury                                     Languages    JavaFX                                         Act...
Introduction      Mercury                                          Languages       JavaFX                                 ...
Introduction   Mercury                                   Languages    JavaFX                                       Action ...
Introduction    Mercury                                       Languages     JavaFX                                        ...
Introduction   Mercury                                Languages    JavaFX                                    Action   Piet...
Introduction                  Languages                      Action                  ResourcesDemos                       ...
Introduction                               Languages                                   Action                             ...
Introduction                              Languages                                  Action                              R...
Upcoming SlideShare
Loading in …5
×

Lenguajes programacionalternativos

265 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
265
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Lenguajes programacionalternativos

  1. 1. Introduction Languages Action ResourcesAlternative Programming Languages Mercury - JavaFX - Piet - Go Seraf´ V´lez Barrera ın e serafin.velez.barrera@gmail.com Universidad de Granada 11 de Enero de 2011 Seraf´ V´lez Barrera ın e Alternative Programming Languages
  2. 2. Introduction Languages Action ResourcesIndex 1 Introduction 2 Languages Mercury JavaFX Piet GO 3 1,2,3... Action! 4 Resources Seraf´ V´lez Barrera ın e Alternative Programming Languages
  3. 3. Introduction Languages Action ResourcesWhat is a programming language Definition A programming language is an artificial language designed to communicate instructions to a machine Seraf´ V´lez Barrera ın e Alternative Programming Languages
  4. 4. Introduction Languages Action ResourcesTypes 1 General purpose: C, C++, Java, etc Seraf´ V´lez Barrera ın e Alternative Programming Languages
  5. 5. Introduction Languages Action ResourcesTypes 1 General purpose: C, C++, Java, etc 2 Specific language: VHDL Seraf´ V´lez Barrera ın e Alternative Programming Languages
  6. 6. Introduction Languages Action ResourcesTypes 1 General purpose: C, C++, Java, etc 2 Specific language: VHDL 3 Others: Artistic, etc Seraf´ V´lez Barrera ın e Alternative Programming Languages
  7. 7. Introduction Mercury Languages JavaFX Action Piet Resources GO MercurySeraf´ V´lez Barrera ın e Alternative Programming Languages
  8. 8. Introduction Mercury Languages JavaFX Action Piet Resources GOIntroduction Designed and implemented by a small group of researchers at the University of Melbourne (Australia) between this group there are: Fergus Henderson, Thomas Conway, etc. Based on the paradigm of purely declarative programming, and was designed to be useful for the development of large and robust “real-world” applications. It improves on existing logic programming languages by providing increased productivity, reliability and efficiency, and by avoiding the need for non-logical program constructs. Seraf´ V´lez Barrera ın e Alternative Programming Languages
  9. 9. Introduction Mercury Languages JavaFX Action Piet Resources GOIntroduction This language differentiates of the rest by the concept to program. Why? Because is a logical programming and the syntax is similar to Prolog, with some additional declarations for types, modes, determinism, the module system, and pragmas, and with the distinction that function symbols may stand also for invocations of user- defined functions as well as for data constructors. Seraf´ V´lez Barrera ın e Alternative Programming Languages
  10. 10. Introduction Mercury Languages JavaFX Action Piet Resources GOSyntax Mercury have a syntax similar to Pascal but this language use terms like: Tokens Predicates because is a logical programming language and is: A strongly typed language: :− t y p e l i s t (T) −−−> [ ] ; [ T | l i s t (T ) ] . A strongly moded language: :− mode append ( i n , i n , o u t ) . Seraf´ V´lez Barrera ın e Alternative Programming Languages
  11. 11. Introduction Mercury Languages JavaFX Action Piet Resources GODeveloping an app In other Workshop Seraf´ V´lez Barrera ın e Alternative Programming Languages
  12. 12. Introduction Mercury Languages JavaFX Action Piet Resources GOSeraf´ V´lez Barrera ın e Alternative Programming Languages
  13. 13. Introduction Mercury Languages JavaFX Action Piet Resources GOIntroduction JavaFX is a language that is oriented to create RIA app’s (RIA = Rich Internet Application) and this app’s integrate the simplicity of a web app and the potentially of a desktop app. JavaFX include various technologys like JavaFX Script, JavaFX Mobile, and JavaFX TV. We are going to see JavaFX Script, apart of to be a scripting language is a language to desing User Interfaces, so have the powerfull of a script with the design of interfaces in graphic mode. Seraf´ V´lez Barrera ın e Alternative Programming Languages
  14. 14. Introduction Mercury Languages JavaFX Action Piet Resources GODeveloping an app In other Workshop - Maybe later there will be a demo. Seraf´ V´lez Barrera ın e Alternative Programming Languages
  15. 15. Introduction Mercury Languages JavaFX Action Piet Resources GO PietSeraf´ V´lez Barrera ın e Alternative Programming Languages
  16. 16. Introduction Mercury Languages JavaFX Action Piet Resources GOIntroduction Piet (named after painter Piet Mondrian) is one of the most known esoteric programming languages, which uses images as source code. The language uses 20 colors, and the commands are encoded as changes of color between adjacent pixels. Piet was created by David Morgan-Mar, who aimed for a language which would have its code look like abstract art. The language hasn’t spawned any dialects; there are several implementations, which differ slightly, mainly in the way the colors are processed. Seraf´ V´lez Barrera ın e Alternative Programming Languages
  17. 17. Introduction Mercury Languages JavaFX Action Piet Resources GODeveloping an app In other Workshop - Maybe later there will be some examples. Seraf´ V´lez Barrera ın e Alternative Programming Languages
  18. 18. Introduction Mercury Languages JavaFX Action Piet Resources GO GOSeraf´ V´lez Barrera ın e Alternative Programming Languages
  19. 19. Introduction Mercury Languages JavaFX Action Piet Resources GOIntroduction GO was designed by Ken Thompson, Rob Pike, Robert Griesemer + Contributors + Open Source comunity. Features: General purpose Concise syntax Expressive type system Concurrency Garbage collection Fast compilation Efficient execution Seraf´ V´lez Barrera ın e Alternative Programming Languages
  20. 20. Introduction Mercury Languages JavaFX Action Piet Resources GOIntroduction Combines the powerfull and safety of a statically typed compiled language with the the expressiveness and convenience of a dynamically typed interpreted language. Designed as a systems language (for develop app like: Web Servers, Browsers, etc). Influenced by other languages: C, Modula, Pascal, Python, etc. Seraf´ V´lez Barrera ın e Alternative Programming Languages
  21. 21. Introduction Mercury Languages JavaFX Action Piet Resources GOSyntax Comments /∗ T h i s i s a comment ; no n e s t i n g ∗/ // So i s t h i s . Structs type Point s t r u c t { x , y f l o a t } f u n c ( p P o i n t ) Abs ( ) f l o a t { r e t u r n math . S q r t ( p . x ∗p . x + p . y ∗p . y ) } Seraf´ V´lez Barrera ın e Alternative Programming Languages
  22. 22. Introduction Mercury Languages JavaFX Action Piet Resources GOSyntax Methods type Vector [ ] f l o a t f u n c ( v V e c t o r ) Abs ( ) f l o a t { sumOfSquares := 0 . 0 f o r i := r a n g e v { sumOfSquares += v [ i ] ∗ v [ i ] } r e t u r n math . S q r t ( sumOfSquares ) } Seraf´ V´lez Barrera ın e Alternative Programming Languages
  23. 23. Introduction Mercury Languages JavaFX Action Piet Resources GOSyntax Interfaces type Abser i n t e r f a c e { Abs ( ) f l o a t } var a Abser a = P o i n t { 3 , 4} p r i n t ( a . Abs ( ) ) a = V e c t o r { 1 , 2 , 3 , 4} p r i n t ( a . Abs ( ) ) Seraf´ V´lez Barrera ın e Alternative Programming Languages
  24. 24. Introduction Mercury Languages JavaFX Action Piet Resources GOSyntax Visibility ThisNameIsPublic thisOneIsNot Seraf´ V´lez Barrera ın e Alternative Programming Languages
  25. 25. Introduction Mercury Languages JavaFX Action Piet Resources GODeveloping an app 1st Step - Install the environment Install C tools: sudo apt−g e t i n s t a l l b i s o n gawk g c c l i b c 6 −dev make Install mercurial: sudo e a s y i n s t a l l m e r c u r i a l Fetch the repository: hg c l o n e −u r e l e a s e h t t p s : // go . g o o g l e c o d e . com/ hg / go Seraf´ V´lez Barrera ın e Alternative Programming Languages
  26. 26. Introduction Mercury Languages JavaFX Action Piet Resources GODeveloping an app 1st Step - Install the environment Install the environment: sudo mv go / / u s r / l o c a l / cd / u s r / l o c a l / go / s r c . / a l l . bash See bash and GO documentation to set up GO Path in the environment. Seraf´ V´lez Barrera ın e Alternative Programming Languages
  27. 27. Introduction Mercury Languages JavaFX Action Piet Resources GODeveloping an app 1st Step - Install the environment Fetch last version: cd go / s r c hg p u l l hg u p d a t e r e l e a s e . / a l l . bash Seraf´ V´lez Barrera ın e Alternative Programming Languages
  28. 28. Introduction Mercury Languages JavaFX Action Piet Resources GODeveloping an app 2nd Step - Code We can code the easiest example at last version: “Hello world” 2.0 :) p a c k a g e main i m p o r t ” fmt ” f u n c main ( ) { fmt . P r i n t f ( ” H e l l o w o r l d 2 . 0 n” ) } Seraf´ V´lez Barrera ın e Alternative Programming Languages
  29. 29. Introduction Mercury Languages JavaFX Action Piet Resources GODeveloping an app 3rd Step - Compile and test Compile: 6g h e l l o w o r l d . go Link: 6 l helloworld .6 Test: . / 6 . out Seraf´ V´lez Barrera ın e Alternative Programming Languages
  30. 30. Introduction Languages Action ResourcesDemos DEMO! Seraf´ V´lez Barrera ın e Alternative Programming Languages
  31. 31. Introduction Languages Action ResourcesResources Go Website Go Lang Youtube channel Google Developers Mercury Website JavaFX Website Piet Website Seraf´ V´lez Barrera ın e Alternative Programming Languages
  32. 32. Introduction Languages Action ResourcesLicense This document have the following license: Seraf´ V´lez Barrera – Oficina de Software Libre ın e serafin.velez.barrera@gmail.com Seraf´ V´lez Barrera ın e Alternative Programming Languages

×