Языков программирования огромное разнообразие. И несмотря на то, что вроде бы уже есть языки на все случаи жизни, все равно появляются новинки. В докладе хочу рассказать, чем языки программирования отличаются друг от друга, почему до сих пор нет самого лучшего и чем руководствоваться при выборе языка для изучения, если вы только начинаете карьеру.
HappyDev-lite-2016-осень, день 2 04 Михаил Колганов. Интерфейс пользователя ...
HappyDev-lite-2016-весна 04 Анна Тарасенко. На каких языках говорят программисты
1. На каких языках говорят
программисты
Анна Тарасенко,
7bits, генеральный директор
2. О себе
• Умею читать и писать с 1979 года
• Программирую с 1989 года
• Преподаю программирование с 1999
года
• Занимаюсь заказной разработкой ПО с
2009 года
• Планы на 2019 год в процессе
6. Проблемы
• Легко допустить ошибку
• Слишком низкий уровень
абстракции
• Сложно оперировать чем-то, кроме
чисел и булевых значений
• Данные не отличить от команд
7. Первые языки
• Ассемблер – команды записываются
сокращенными словами
• Fortran, COBOL, Algol – прародители
императивных языков
• Lisp, APL, ML – прародители
функциональных языков
• Simula, SmallTalk – прародители ООП
8. Дальнейшее развитие
• Prolog – логический язык, попытки
доказательства правильности
средствами математики
• С – один «долгожителей», на нем
пишут операционные системы,
СУБД
9. Дальнейшее развитие
• C++ – мультипарадигменный язык,
можно писать в любом стиле,
прижился в играх с графикой
• Java – соединение ООП и виртуальной
машины для переносимости
• C# – развитие и улучшение идей C++ и
Java от MicroSoft
10. Скриптовые языки
• PHP – популярность обусловлена
Internet
• Perl – создан для обработки строк,
но был очень популярен на заре
Internet
• Python – популярен в системном
администрировании и расчетах
11. Скриптовые языки
• Ruby – получил популярность
благодаря Ruby on Rails
• JavaScript – стал стандартом для
разработки в браузере, теперь и на
серверах
• Erlang – вышел из Телекома, основан
на модели акторов
12. Тысячи их!
• Go – разрабатывается компанией
Google для замены C
• Rust – разрабатывается компанией
Mozilla для разработки браузеров
• Kotlin – язык от JetBrains на замену
Java
А есть еще функциональные!
13. А как выбрать?
• Простое или сложное приложение?
• Красивый или некрасивый синтаксис
языка?
• Легко или сложно изучить язык?
На что вообще смотреть?
14. Уровни освоения технологий
1. «Черный ящик» - используем,
приобретаем навыки, оттачиваем
мастерство
2. Знаем, как устроена внутри, можем
починить
3. Глубоко понимаем основы теории,
можем создавать технологии
15. Плохая новость
На уровень 3 нельзя подняться
без глубоких теоретических
знаний.
В случае ИТ – это математика:
логика, теория алгоритмов,
графы и так далее
16. Хорошая новость
Вы еще никуда не
опоздали!
Делать новые языки и
технологии все еще нужно.
18. Кто такой программист?
• Решает задачи пользователей и
бизнеса заданными инструментами
• Умеет выбирать подходящие
инструменты для лучшего решения
задач
• Умеет создавать новые инструменты