programming languages trends jan Šedivý. intro intro

37
Programming languages trends Jan Šedivý

Upload: marshall-henderson

Post on 25-Dec-2015

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programming languages trends Jan Šedivý.  Intro Intro

Programming languages trends

Jan Šedivý

Page 2: Programming languages trends Jan Šedivý.  Intro Intro

Intro

Page 3: Programming languages trends Jan Šedivý.  Intro Intro

2001 A Space Odessey

•Richard Strauss: Also sprach Zarathustra 1896•George Nelson Action Office desk •Herman Miller's "Action Office" series 1964 •Arne Jacobsen cutlery •Olivier Mourgue Djinn Chairs 1965•Eero Saarinen's pedestal tables 1956

Stanley Kubrick - 1968 science fiction film, Screenplay Kubrick, Arthur C. Clarke.

international dialing became a reality in 1970. voice-print identification: the first prototype was released in 1976. chess-playing computer defeat champions late 1980s. (Deep Blue

1997, Kasparov) Personal in-flight entertainment displays by 1990s. Plane cockpit integrated system displays, Boeing 777. PC based voice recognition 1995 IBM. The film also shows flat-screen TV monitors, real-world prototype

1972 not used until 1998.

Page 4: Programming languages trends Jan Šedivý.  Intro Intro

Not yet

Civilian space travel, Space stations with hotels, Moon colonization, Artificial intelligence of the kind displayed by HAL. No one in the movie had a small personal communication

device?

Attached hereto as Exhibit D is a true and correct copy of a still image taken from Stanley Kubrick's 1968 film "2001: A Space Odyssey." In a clip from that film lasting about one minute, two astronauts are eating and at the same time using personal tablet computers. As with the design claimed by the D'889 Patent, the tablet disclosed in the clip has an overall rectangular shape with a dominant display screen, narrow borders, a predominately flat front surface, a flat back surface (which is evident because the tablets are lying flat on the table's surface), and a thin form factor.

Page 5: Programming languages trends Jan Šedivý.  Intro Intro

What next

Page 6: Programming languages trends Jan Šedivý.  Intro Intro

Programmer

Many new technologies depend on IT,

InternetComputer science,CommunicationSmart buildingsCarsHome gadgetsMechanical engineeringBiologyMedicine Programming is an art

Page 7: Programming languages trends Jan Šedivý.  Intro Intro

What language to learn The TIOBE Programming Community index is an

indicator of the popularity of programming languages.

Updated once a month. Ratings are based

number of skilled engineers world-wide, Courses third party vendors. search engines Google, Bing, Yahoo!, Wikipedia,

YouTube and Baidu are used to calculate the ratings. TIOBE index is not about the best or most

frequent programming language

Page 8: Programming languages trends Jan Šedivý.  Intro Intro

Languages by popularity

Page 9: Programming languages trends Jan Šedivý.  Intro Intro
Page 10: Programming languages trends Jan Šedivý.  Intro Intro
Page 11: Programming languages trends Jan Šedivý.  Intro Intro

Popularity by search Github languages

Java, c++, php, python, c# Visual basic, perl, objective c, ruby

Page 12: Programming languages trends Jan Šedivý.  Intro Intro

Robotics

Page 13: Programming languages trends Jan Šedivý.  Intro Intro

1.A robot may not injure a human being or, through inaction, allow a human being to come to harm.

2.A robot must obey the orders given to it by human beings, except where such orders would conflict with the First Law.

3.A robot must protect its own existence as long as such protection does not conflict with the First or Second Laws.

Page 14: Programming languages trends Jan Šedivý.  Intro Intro

Isaac Asimov

January 2, 1920[1] – April 6, 1992) was a Russian American author and professor of biochemistry at Boston University,

Page 15: Programming languages trends Jan Šedivý.  Intro Intro

Where are we today

Jumping flee Nice robot And another robot Robot bicycling

Page 16: Programming languages trends Jan Šedivý.  Intro Intro

Mobile

Page 17: Programming languages trends Jan Šedivý.  Intro Intro

Android Versus Apple Apr 16, 2013 – Android is now being activated

on 1.5 million devices a day, Mobile apps market $2.2 billion January-March period

Apple’s App Store $1.48 billion, 74%

Google Play amounted to 18 %.

SamsungHTCSony Ericsson

Page 18: Programming languages trends Jan Šedivý.  Intro Intro

What are the trends Mobile Health: focus on changing patient behavior and

relationship with the doctor or health care provider and how that improves health-related outcomes.

Mobile Enterprise: Workplaces are being streamlined. Email is being reengineered around mobile to help employees work faster, and documents and forms are being handled on mobile devices.

Mobile 2.0: The Internet of things and virtual realities are coming into play.

Mobile Platforms: There is a real focus on security as well as cloud infrastructure.

Social Mobile: Taking online chatter and creating real and measurable value offline.

Mobile games: taking advantage of sensors, multiplayer

Page 19: Programming languages trends Jan Šedivý.  Intro Intro

Cloud Computing

Page 20: Programming languages trends Jan Šedivý.  Intro Intro

Computing EvolutionMoore's law

Page 21: Programming languages trends Jan Šedivý.  Intro Intro
Page 22: Programming languages trends Jan Šedivý.  Intro Intro

Applications development

Stand alone PC – apps installed from floppy disks

Single user Access to local data only

PC on a LAN – floppy disks CDs

Multiple users Data sharing

• PC on Internet – download• Multiple users• Sharing the latest

resources

• Cloud – application and data on net

• New business model pay as you use

• Data sharing control• Security

Page 23: Programming languages trends Jan Šedivý.  Intro Intro

Web applications - history Web Site - Server Side

Client logic is processed on the server side Many requests for html (static or generated) No javascript No DOM manipulation no asynchronous requests

Rich Internet Application - Decorated Server Side Most of clients logic is processed on the server side HTMLpage per application state javascript Few asynchronous JSON/XML/... Requests DOM manipulation

Web Application All client logic is processed in a web browser Few requests for HTML pages (just entry points) Heavy Javascript usage Many asynchronous  JSON/XML/... Requests Heavy DOM manipulation Offline mode user data persistence Server push support

Page 24: Programming languages trends Jan Šedivý.  Intro Intro

Cloud apps +/-

WEB app

Installed

Installation Sign up Download, register

Company wide install No Yes

Up front payment No 50%

Patches upgrades distribution No Yes

Backup data 50% Yes

Client disaster strategy No Yes

Data security 50% 100%

Connectivity must No

SLA Not clear In house

Page 25: Programming languages trends Jan Šedivý.  Intro Intro

Cloud apps plusses and minuses Connect Anywhere, Anytime Central administration Pay as you use No up-front investment Browser is enough – PC, MAC, mobile … Elasticity – endless computing power High reliability and uptime Sharing

Page 26: Programming languages trends Jan Šedivý.  Intro Intro

Big Data

Page 27: Programming languages trends Jan Šedivý.  Intro Intro

Smart algorithms

What can we learn from the data? Statistical mathematics.

How to process large data? What is the infrastructure?

Machine learning Data mining Prediction

Page 28: Programming languages trends Jan Šedivý.  Intro Intro

ML approachs Decision tree learning Association rule learning Artificial neural networks Genetic programming Inductive logic programming Support vector machines Clustering Bayesian networks Reinforcement learning Representation learning Similarity and metric learning Sparse Dictionary Learning

Page 29: Programming languages trends Jan Šedivý.  Intro Intro

Practical problems Internet prediction (analytics) Query correction, prediction Product recommendation Email spam classification Summarization Auction analysis Price suggestion Data structure extraction Picture recognition Voice recognition Anomaly classification

Page 30: Programming languages trends Jan Šedivý.  Intro Intro

The future?

Page 31: Programming languages trends Jan Šedivý.  Intro Intro

Bill Joy (CTO Sun) Wired April 2000

Robotics,Genetic engineering, Nanotechs

Page 32: Programming languages trends Jan Šedivý.  Intro Intro

Be responsible

Page 33: Programming languages trends Jan Šedivý.  Intro Intro

Broad education, Multidisciplinarity,

Courage,Passion,

Hard work

Page 34: Programming languages trends Jan Šedivý.  Intro Intro

Make Earth a Better

Place to Live

Page 35: Programming languages trends Jan Šedivý.  Intro Intro
Page 36: Programming languages trends Jan Šedivý.  Intro Intro
Page 37: Programming languages trends Jan Šedivý.  Intro Intro

Karel Čapek 1920 Trenčianské Teplice

None of it exists