Your SlideShare is downloading. ×
M7: 1.The Java Platform
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

M7: 1.The Java Platform

457
views

Published on

The firs

The firs

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
457
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. The Magnificent 7 Платформата Java. Езикът за програмиране Java. Първи стъпки в Java.
  • 2. In Memoriam
  • 3. Божидар “Master” Бацов
  • 4. Цветомила “Цвети” Михайлова
  • 5. Васил “Най-добрия” Сакъров
  • 6. Комуникация Сайт Пощенски списък http://groups.google.com/group/m7-java Twitter @bbatsov, #m7java Facebook група M7: Java
  • 7. За курса 9 седмици 3 х 45 минути с 15 минутни почивки (забавни) задачи за упражнение (вълнуващ) курсов проект финален тест сертификат
  • 8. Програмата 1. Платформата 2.Основи на езика 3.ООП 4.Swing 5.Генерично програмиране 6.Колекции 7.Потоци и файлове 8.Регулярни изрази 9.Бази данни 10.Уеб 11.Модерни езици
  • 9. Защо Java? 5+ млрд. устройства 1 млрд. персонални компютри 2.5 млрд. мобилни устройства 550 хил. активации на Android дневно видео плеъри, нав. системи, мед. техника, банкови терминали
  • 10. Защо Java? (част 2) 6.5 милиона разработчици са преобладаващо в Индия ;-) получават сериозни заплати :-) разработват предимно уеб и enterprise приложения разработват за мобилни устройства
  • 11. If art interprets our dreams, the computer executes them in the guise of programs! Alan J. Perlis
  • 12. Кратка история на програмирането В началото беше асемблер И после Бог каза... “Нека бъде Lisp!” На седмия ден архангел Ричи каза “Ще се коди на C!” Архангел Страуструп добави “И на С++!” И там някъде дойде ерата на Java ;-)
  • 13. Програмирането през 1995 Големите С С++ Lisp Perl Претендентите Python Haskell Smalltalk
  • 14. 1986 Position (1986) Language 1 C 2 Ada 3 Lisp 5 C++
  • 15. 1996 Position Language 1 C 2 C++ 3 Basic 5 Java
  • 16. 2006 Position Language 1 Java 2 C 3 C++ 4 Basic 5 PHP
  • 17. 2011 Position Language 1 Java 2 C 3 C++ 4 C# 5 PHP 6 Objective C 7 Basic 8 Python 9 Perl 10 JavaScript
  • 18. 2011 Other 40% PHP 7% C# 7% C++ 9% C 18% Java 19% Java C C++ C# PHP Other
  • 19. Силата на Java Простота Обектно- ориентиран Архитектурна независимост Портативност Вградена мрежова поддръжка Надеждност Сигурност Паралелизъм Динамика
  • 20. Простота Базиран на С++ Изчистен синтаксис Garbage collection
  • 21. Обектно-ориентирано програмиране Проектиран за ООП Усъвършенстван обектен модел
  • 22. Мрежова поддръжка и паралелизъм Мрежова поддръжка TCP/IP, HTTP, FTP Паралелизъм мултипроцесори истински нишки
  • 23. Надеждност “Има указател - има проблем. Няма указател - няма проблем” - Сталин Имаш GC, нямаш течове на памет
  • 24. Сигурност Stack overflow is a no go. Не може да се рови в чуждата памет Не могат да се четат файлове ей така
  • 25. Преносимост Стандартизирани типове Вградена поддръжка на различни файлови системи Портативни графични интерфейси
  • 26. Висока производителност Сравнима с на C(++) Легендарни оптимизации Just-in-time компилатор
  • 27. Раждането на Java James Gosling и неговата мечта Проектът Green Езикът Oak Езикът Java
  • 28. Ранните години Власт на аплетите Падението
  • 29. Прераждане и възход Java EE Swing
  • 30. Триумфът номер 1 при мобилните приложения номер 1 при enterprise приложенията номер 1 платформа в света
  • 31. Еволюцията Версия Година Новости Класове 1.0 1996 самият език 211 1.1 1997 Вътрешни класове 477 1.2 1998 Няма 1524 1.3 2000 Няма 1840 1.4 2002 Assertions 2723 5.0 2004 Много и все важни :-) 3279 6 2006 Няма 3777 7 2011 Project Coin 4020
  • 32. Значението на Java 7 Java все още е извор на иновация Фокусът се прехвърля все повече към виртуалната машина Oracle доказаха, че могат да управляват кораба
  • 33. Мортал Джомбат Java vs .Net Java vs JavaScript Java vs Ruby Java vs C/C++ Java vs Scala Java vs Lisp
  • 34. Java vs .Net C# Супер интеграция с Уиндоус технологии Много езици Модулярност Гъвкавост Няма портативност Затворена система Малка общност Малко интересни проекти Вързана за МС
  • 35. Java vs Ruby Ruby е красив, елегантен език Производителността му, обаче, не е много висока JRuby е мост между Java и Ruby
  • 36. Java vs JavaScript накратко - нямат нищо общо :-)
  • 37. Java vs C/C++ подобен синтаксис подобна производителност царуват в различни царства
  • 38. Java vs Lisp We were after the C++ programmers. We managed to drag a lot of them about halfway to Lisp. Guy Steele, co-author of the Java spec
  • 39. Java vs Scala ООП + Функционално програмиране = Scala отлична поддръжка за паралелно програмиране още по-добър обектен модел компактен, но познат синтаксис същата производителност
  • 40. Повече от език за програмиране Език за програмиране Среда за изпълнение на програми (виртуална машина) Набор от инструменти за разработка (компилатор, дебъгер, профайлър) Стандартна библиотека
  • 41. Издания на Java Java Runtime Environment(JRE) необходим минимум за изпълняване на Java приложения Java Development Kit(JDK) Standard Edition Java Enterprise Edition (JEE) Java Micro Editon
  • 42. Платформата Java
  • 43. Имплементации на Java Sun (Oracle) HotSpot VM (OpenJDK) IBM J9 BEA (Oracle) JRockit Apache Harmony Google Dalvik (VM на Android) GNU Classpath
  • 44. HotSpot VM референтна имплементация на Java основа на свободната OpenJDK най-подходяща за основния клас приложения (задачи) текуща версия - 1.7.0_02 обект на настоящия курс :-)
  • 45. Основни инструменти java (стартира виртуалната машина) javac (Java compiler) jar (инструмент за работа с java архиви) javaws (стартира Java Web Start) jvisualvm (графичен инструмент, който показва данни за работата на JVM)
  • 46. Мараба, Java public class Maraba { public static void main(String[] args) { System.out.println("Maraba, Java!"); } }
  • 47. От изходен код до работеща програма Записваме изходния код във файл Компилираме Молим се Стартираме Пием по повод великия триумф
  • 48. Програмистки редактор оцветяване и форматиране на кода интеграция с някои външни системи като shell, Version Control System... лек и бърз ограничени възможности за рефакториране постен дебъгер
  • 49. Големите редактори Emacs (най-добър сред най-добрите) vi/vim (най-добър след най-добрия) Sublime Text 2 (най-добър след най- добрите) TextMate (само за OS X) jEdit (написан на Java)
  • 50. Интегрирани среди за разработка разбират семантиката на кода интелигентен анализ на кода надеждно рефакториране интеграция с куп външни системи могъщ дебъгер и профайлър
  • 51. IntelliJ IDEA най-интелигентното Java IDE написано на Java (Swing) изключително интелигентен анализ на кода изключително добра поддръжка за рефакториране
  • 52. Eclipse Най-популярната среда за разработка на Java приложения Огромна общност Куп разширения Лош качествен контрол Малко иновация
  • 53. NetBeans “Стандартната” среда за разработка на Java приложения Много добра поддръжка за Oracle-ски технологии (JSF, EJB, etc) Изчистен интерейс Малко разширения, лош качествен контрол
  • 54. Упражнение Инсталирайте си Oracle JDK SE 7 Конфигурирайте си пътя на изпълнение (PATH environment variable) Изпробвайте някой от примерите от днешната лекция Изпийте една бира/сливова за добре свършената работа
  • 55. Въпроси?
  • 56. The End