SlideShare a Scribd company logo
Java	
  в	
  современном	
  мире:	
  
вторая	
  молодость	
  
Анна	
  Тарасенко,	
  7bits,	
  генеральный	
  
директор	
  
О	
  себе	
  
•  Умею	
  писать	
  с	
  1979	
  года	
  
•  Программирую	
  с	
  1989	
  года	
  
•  Преподаю	
  программирование	
  с	
  1999	
  
года	
  
•  В	
  заказной	
  разработке	
  ПО	
  с	
  2009	
  года	
  
•  Планы	
  на	
  2019	
  год	
  еще	
  обсуждаются	
  
История	
  Java	
  
•  Дата	
  выхода:	
  23	
  мая	
  1995	
  года	
  (Oak)	
  
•  Изначальное	
  предназначение:	
  язык	
  для	
  
бытовых	
  электронных	
  устройств	
  
•  Версия	
  1.0:	
  26	
  августа	
  1996	
  года	
  (Java)	
  
•  Итоговое	
  предназначение:	
  язык	
  для	
  
разработки	
  клиентских	
  и	
  серверных	
  
приложений	
  
Особенности	
  языка	
  
•  Синтаксис	
  похож	
  на	
  С++	
  –	
  несложно	
  
изучить,	
  если	
  знаешь	
  С/С++	
  
•  Автоматическая	
  сборка	
  мусора	
  –	
  
переменные	
  уничтожаются,	
  когда	
  больше	
  
не	
  нужны	
  
•  Строгая	
  статическая	
  типизация	
  –	
  контроль	
  
типов	
  на	
  этапе	
  компиляции	
  
Особенности	
  языка	
  
•  Компилируется	
  в	
  промежуточный	
  формат	
  –
байт-­‐код	
  
•  Наличие	
  интерфейсов	
  –	
  только	
  заголовки	
  
методов	
  без	
  реализации	
  
•  Есть	
  возможность	
  анализа	
  и	
  изменений	
  
запущенного	
  байт-­‐кода	
  во	
  время	
  работы	
  
приложения	
  –	
  refleclon	
  
	
  
Особенности	
  платформы	
  
•  Виртуальная	
  машина	
  (JVM)	
  –	
  можно	
  
запускать	
  код	
  везде,	
  где	
  она	
  есть	
  
•  JIT	
  –	
  компиляция	
  в	
  машинный	
  код	
  для	
  
оптимизации	
  производительности	
  (идея	
  из	
  
Lisp	
  и	
  Smalltalk)	
  
•  HotSpot	
  –	
  реализация	
  более	
  
оптимизированная,	
  чем	
  трансляция	
  всего	
  
байт-­‐кода	
  
Особенности	
  платформы	
  
•  Есть	
  возможность	
  анализа	
  параметров	
  
запущенного	
  приложения	
  (JConsole,	
  
JProfiler	
  и	
  др.)	
  
•  Реализации	
  есть	
  для	
  большинства	
  
операционных	
  систем	
  
•  JVM-­‐based	
  –	
  языки	
  Scala,	
  Clojure	
  и	
  другие	
  
Особенности	
  экосистемы	
  
•  Большой	
  набор	
  готовых	
  библиотек,	
  
например,	
  на	
  Apache	
  Soƒware	
  Foundalon	
  
•  Несколько	
  IDE,	
  в	
  том	
  числе	
  Intellij	
  IDEA	
  от	
  
JetBrains	
  (Россия)	
  
•  Система	
  репозиториев	
  и	
  версионирования	
  
библиотек	
  Apache	
  Maven	
  
•  Универсальный	
  фреймворк	
  для	
  серверных	
  
приложений	
  Spring	
  
	
  
Все	
  это	
  позволяет	
  Java	
  уже	
  много	
  
лет	
  оставаться	
  одним	
  из	
  самых	
  
популярных	
  языков	
  
	
  
Где	
  используется	
  
•  Важные	
  данные:	
  финансовое	
  и	
  
медицинское	
  ПО,	
  документооборот	
  
•  Серверные	
  компоненты	
  для	
  back-­‐end	
  
•  СУБД	
  –	
  Cassandra,	
  Hadoop	
  и	
  другие	
  
•  Смарт-­‐карты	
  и	
  другие	
  устройства	
  с	
  малым	
  
объемом	
  памяти	
  
•  Android	
  и	
  другие	
  мобильные	
  платформы	
  
Какие	
  задачи	
  решает	
  
•  Управление	
  важными	
  данными:	
  
финансовое	
  и	
  медицинское	
  ПО,	
  
бухгалтерский	
  и	
  кадровый	
  учет,	
  
электронный	
  документооборот	
  
•  Обработка	
  больших	
  объемов	
  данных	
  
•  Криптография	
  
•  Встраиваемые	
  приложения	
  
Есть	
  шанс	
  порешать	
  задачи	
  любой	
  
сложности	
  
	
  
Куда	
  идет	
  
•  Под	
  влиянием	
  Scala	
  и	
  других	
  стали	
  
двигаться	
  в	
  сторону	
  функционального	
  
подхода	
  
•  Еще	
  большее	
  усовершенствование	
  JVM	
  и	
  
алгоритмов	
  управления	
  памятью	
  
•  Spring	
  становится	
  готовым	
  для	
  быстрого	
  
прототипирования	
  web-­‐приложений	
  (Spring	
  
boot)	
  
А	
  что	
  у	
  нас	
  
Разрабатываем	
  собственную	
  платформу	
  для	
  
серверных	
  приложений	
  совместно	
  с	
  
HWDTech	
  
Зачем	
  
•  Разработка	
  сложных	
  приложений	
  силами	
  
младших	
  разработчиков	
  
•  Минимум	
  изменений	
  в	
  коде	
  при	
  
изменениях	
  требований	
  
•  Использование	
  кластера	
  и	
  готовность	
  к	
  
высоким	
  нагрузкам	
  без	
  больших	
  затрат	
  на	
  
каждый	
  проект	
  
Ах,	
  да!	
  
Наверное,	
  к	
  2019	
  году	
  я	
  научусь	
  делать	
  
презентации	
  с	
  картинками	
  J	
  
Вопросы?	
  
•  Email:	
  at@7bits.it	
  
•  Skype:	
  anna_tarasenko	
  
•  Сайт:	
  h”p://7bits.ru	
  

More Related Content

KEY
Migrate!
PDF
Ruby outside Rails
PDF
03-Hibernate. Документация
PPT
Ruby On Rails: Web-разработка по-другому!
PPTX
Опыт построения компании-разработчика Интернет проектов на Drupal
PDF
01-Hibernate. Понятие ORM-JPA
PDF
02-Hibernate. Hibernate
PDF
Metaprogramming
Migrate!
Ruby outside Rails
03-Hibernate. Документация
Ruby On Rails: Web-разработка по-другому!
Опыт построения компании-разработчика Интернет проектов на Drupal
01-Hibernate. Понятие ORM-JPA
02-Hibernate. Hibernate
Metaprogramming

Viewers also liked (8)

PPT
HappyDev-lite-2016-весна 04 Анна Тарасенко. На каких языках говорят программисты
PDF
HappyDev-lite-2016-весна 01 Денис Нелюбин. Вкалывать на роботов
PPT
HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестир...
PPTX
HappyDev-lite-2016 (осень), день 1, 04 Марина Савенко. Сделаем понятным понят...
PPTX
HappyDev-lite-2016 (осень), день 1, 01 Елена Гальцина. От чего стоит отказать...
PPTX
2015-04-12 06 Елена Гальцина. Осознанный ты
PPTX
10 HappyDev-lite-2015 autumn. Данил Валов. Web на просторах Desktop'a
HappyDev-lite-2016-весна 04 Анна Тарасенко. На каких языках говорят программисты
HappyDev-lite-2016-весна 01 Денис Нелюбин. Вкалывать на роботов
HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестир...
HappyDev-lite-2016 (осень), день 1, 04 Марина Савенко. Сделаем понятным понят...
HappyDev-lite-2016 (осень), день 1, 01 Елена Гальцина. От чего стоит отказать...
2015-04-12 06 Елена Гальцина. Осознанный ты
10 HappyDev-lite-2015 autumn. Данил Валов. Web на просторах Desktop'a
Ad

Similar to 15 HappyDev-lite-2015 autumn. Анна Тарасенко. Java в современном мире, вторая молодость. (20)

PPT
0. hello java world
ODP
Java: вчера, сегодня, завтра
PPTX
Lesson 01
PDF
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
PDF
Павел Брылов, Skype
PPT
Platypus platform ivbit
PDF
Компьютерная графика. Введение в Processing
PPTX
Курс Java-2016. Занятие 01. Введение в Java как технологию
PPTX
Что такое Java? Кто такой Java разработчик?
PDF
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван Москалёв
PPT
Владимир Никонов "Вызовы при разработке enterprise продукта"
PDF
Иван Крутов - Автоматизация сборки Java-проекта
PPT
Embarcadero All-Access
PDF
IBM Cloudant и Apache CouchDB: NoSQL базы данных эпохи облаков
PDF
PPT
Собрать нельзя клонировать. Как выбрать подход к созданию кроссплатформенных ...
PDF
Abf
PDF
1. Введение в Java
ODP
игровая логика, проблемы и решения
PPTX
система высоконагруженных распределенных вычислений Aurora
0. hello java world
Java: вчера, сегодня, завтра
Lesson 01
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Павел Брылов, Skype
Platypus platform ivbit
Компьютерная графика. Введение в Processing
Курс Java-2016. Занятие 01. Введение в Java как технологию
Что такое Java? Кто такой Java разработчик?
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван Москалёв
Владимир Никонов "Вызовы при разработке enterprise продукта"
Иван Крутов - Автоматизация сборки Java-проекта
Embarcadero All-Access
IBM Cloudant и Apache CouchDB: NoSQL базы данных эпохи облаков
Собрать нельзя клонировать. Как выбрать подход к созданию кроссплатформенных ...
Abf
1. Введение в Java
игровая логика, проблемы и решения
система высоконагруженных распределенных вычислений Aurora
Ad

More from HappyDev-lite (20)

PDF
2017-03-26 06 Алексей Губарев. Разработка встраиваемого программного обеспеч...
PDF
2017-03-26 05 Дмитрий Козиенко. Оптимизируй это!
PDF
2017-03-26 04 вячеслав виноградов. есть ли жизнь после релиза
PDF
2017-03-26 03 Илья Сиганов. Что такое машинное обучение
PDF
2017-03-26 02 Кирилл Лейфер. Мобильные платформы с точки зрения безопасности
PDF
2017-03-26 01 Григорий Косьяненко. Разработка ПО — это про людей, а не про код
PDF
2017-03-26 06 Виталий Онянов. Разработка ERP-систем
PDF
2017-03-26 05 Алексей Еременко. Проектный менеджер моей мечты
PDF
2017-03-26 04 Екатерина Скорых. Профессия — тестировщик ПО
PDF
2017-03-26 03 Кирилл Лейфер. Прелести и ужасы мобильной разработки
PDF
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
PDF
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
PPTX
HappyDev-lite-2016-осень, день 2 12 Сергей Мячин. Как переделывать игру-2
PPTX
HappyDev-lite-2016-осень, день 2 11 Анна Тарасенко. Почему нельзя просто так ...
PDF
HappyDev-lite-2016-осень, день 2 10 Алексей Коровянский. Будущее мобильной...
PPTX
HappyDev-lite-2016-осень, день 2 09 Сергей Савченко. Школа программиста, учи...
PDF
HappyDev-lite-2016-осень, день 2 08 Александр Мишурин. Развитие CTF-движения ...
PPTX
HappyDev-lite-2016-осень, день 2 06 Серик Бейсенов. Время собирать требования
PPTX
HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки...
PPTX
HappyDev-lite-2016-осень, день 2 04 Михаил Колганов. Интерфейс пользователя ...
2017-03-26 06 Алексей Губарев. Разработка встраиваемого программного обеспеч...
2017-03-26 05 Дмитрий Козиенко. Оптимизируй это!
2017-03-26 04 вячеслав виноградов. есть ли жизнь после релиза
2017-03-26 03 Илья Сиганов. Что такое машинное обучение
2017-03-26 02 Кирилл Лейфер. Мобильные платформы с точки зрения безопасности
2017-03-26 01 Григорий Косьяненко. Разработка ПО — это про людей, а не про код
2017-03-26 06 Виталий Онянов. Разработка ERP-систем
2017-03-26 05 Алексей Еременко. Проектный менеджер моей мечты
2017-03-26 04 Екатерина Скорых. Профессия — тестировщик ПО
2017-03-26 03 Кирилл Лейфер. Прелести и ужасы мобильной разработки
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
HappyDev-lite-2016-осень, день 2 12 Сергей Мячин. Как переделывать игру-2
HappyDev-lite-2016-осень, день 2 11 Анна Тарасенко. Почему нельзя просто так ...
HappyDev-lite-2016-осень, день 2 10 Алексей Коровянский. Будущее мобильной...
HappyDev-lite-2016-осень, день 2 09 Сергей Савченко. Школа программиста, учи...
HappyDev-lite-2016-осень, день 2 08 Александр Мишурин. Развитие CTF-движения ...
HappyDev-lite-2016-осень, день 2 06 Серик Бейсенов. Время собирать требования
HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки...
HappyDev-lite-2016-осень, день 2 04 Михаил Колганов. Интерфейс пользователя ...

15 HappyDev-lite-2015 autumn. Анна Тарасенко. Java в современном мире, вторая молодость.

  • 1. Java  в  современном  мире:   вторая  молодость   Анна  Тарасенко,  7bits,  генеральный   директор  
  • 2. О  себе   •  Умею  писать  с  1979  года   •  Программирую  с  1989  года   •  Преподаю  программирование  с  1999   года   •  В  заказной  разработке  ПО  с  2009  года   •  Планы  на  2019  год  еще  обсуждаются  
  • 3. История  Java   •  Дата  выхода:  23  мая  1995  года  (Oak)   •  Изначальное  предназначение:  язык  для   бытовых  электронных  устройств   •  Версия  1.0:  26  августа  1996  года  (Java)   •  Итоговое  предназначение:  язык  для   разработки  клиентских  и  серверных   приложений  
  • 4. Особенности  языка   •  Синтаксис  похож  на  С++  –  несложно   изучить,  если  знаешь  С/С++   •  Автоматическая  сборка  мусора  –   переменные  уничтожаются,  когда  больше   не  нужны   •  Строгая  статическая  типизация  –  контроль   типов  на  этапе  компиляции  
  • 5. Особенности  языка   •  Компилируется  в  промежуточный  формат  – байт-­‐код   •  Наличие  интерфейсов  –  только  заголовки   методов  без  реализации   •  Есть  возможность  анализа  и  изменений   запущенного  байт-­‐кода  во  время  работы   приложения  –  refleclon    
  • 6. Особенности  платформы   •  Виртуальная  машина  (JVM)  –  можно   запускать  код  везде,  где  она  есть   •  JIT  –  компиляция  в  машинный  код  для   оптимизации  производительности  (идея  из   Lisp  и  Smalltalk)   •  HotSpot  –  реализация  более   оптимизированная,  чем  трансляция  всего   байт-­‐кода  
  • 7. Особенности  платформы   •  Есть  возможность  анализа  параметров   запущенного  приложения  (JConsole,   JProfiler  и  др.)   •  Реализации  есть  для  большинства   операционных  систем   •  JVM-­‐based  –  языки  Scala,  Clojure  и  другие  
  • 8. Особенности  экосистемы   •  Большой  набор  готовых  библиотек,   например,  на  Apache  Soƒware  Foundalon   •  Несколько  IDE,  в  том  числе  Intellij  IDEA  от   JetBrains  (Россия)   •  Система  репозиториев  и  версионирования   библиотек  Apache  Maven   •  Универсальный  фреймворк  для  серверных   приложений  Spring    
  • 9. Все  это  позволяет  Java  уже  много   лет  оставаться  одним  из  самых   популярных  языков    
  • 10. Где  используется   •  Важные  данные:  финансовое  и   медицинское  ПО,  документооборот   •  Серверные  компоненты  для  back-­‐end   •  СУБД  –  Cassandra,  Hadoop  и  другие   •  Смарт-­‐карты  и  другие  устройства  с  малым   объемом  памяти   •  Android  и  другие  мобильные  платформы  
  • 11. Какие  задачи  решает   •  Управление  важными  данными:   финансовое  и  медицинское  ПО,   бухгалтерский  и  кадровый  учет,   электронный  документооборот   •  Обработка  больших  объемов  данных   •  Криптография   •  Встраиваемые  приложения  
  • 12. Есть  шанс  порешать  задачи  любой   сложности    
  • 13. Куда  идет   •  Под  влиянием  Scala  и  других  стали   двигаться  в  сторону  функционального   подхода   •  Еще  большее  усовершенствование  JVM  и   алгоритмов  управления  памятью   •  Spring  становится  готовым  для  быстрого   прототипирования  web-­‐приложений  (Spring   boot)  
  • 14. А  что  у  нас   Разрабатываем  собственную  платформу  для   серверных  приложений  совместно  с   HWDTech  
  • 15. Зачем   •  Разработка  сложных  приложений  силами   младших  разработчиков   •  Минимум  изменений  в  коде  при   изменениях  требований   •  Использование  кластера  и  готовность  к   высоким  нагрузкам  без  больших  затрат  на   каждый  проект  
  • 16. Ах,  да!   Наверное,  к  2019  году  я  научусь  делать   презентации  с  картинками  J  
  • 17. Вопросы?   •  Email:  at@7bits.it   •  Skype:  anna_tarasenko   •  Сайт:  h”p://7bits.ru