HappyDev-lite-2016-весна 04 Анна Тарасенко. На каких языках...

Preview:

Citation preview

На каких языках говорят программисты

Анна Тарасенко,7bits, генеральный директор

О себе• Умею читать и писать с 1979 года• Программирую с 1989 года• Преподаю программирование с 1999

года• Занимаюсь заказной разработкой ПО с

2009 года• Планы на 2019 год в процессе

Вопрос

Какой язык знать важнее всего?

Ответ в конце

Каков язык компьютера?

•Электрические сигналы•Биты и байты•Машинные коды

Каков язык компьютера?

Для научных расчетов и вычислений по военным заказам

этого хватало.

Проблемы• Легко допустить ошибку• Слишком низкий уровень

абстракции• Сложно оперировать чем-то, кроме

чисел и булевых значений• Данные не отличить от команд

Первые языки• Ассемблер – команды записываются

сокращенными словами• Fortran, COBOL, Algol – прародители

императивных языков• Lisp, APL, ML – прародители

функциональных языков• Simula, SmallTalk – прародители ООП

Дальнейшее развитие

• Prolog – логический язык, попытки доказательства правильности средствами математики• С – один «долгожителей», на нем

пишут операционные системы, СУБД

Дальнейшее развитие• C++ – мультипарадигменный язык,

можно писать в любом стиле, прижился в играх с графикой• Java – соединение ООП и виртуальной

машины для переносимости• C# – развитие и улучшение идей C++ и

Java от MicroSoft

Скриптовые языки• PHP – популярность обусловлена

Internet• Perl – создан для обработки строк, но

был очень популярен на заре Internet• Python – популярен в системном

администрировании и расчетах

Скриптовые языки• Ruby – получил популярность

благодаря Ruby on Rails• JavaScript – стал стандартом для

разработки в браузере, теперь и на серверах• Erlang – вышел из Телекома, основан

на модели акторов

Тысячи их!• Go – разрабатывается компанией

Google для замены C• Rust – разрабатывается компанией

Mozilla для разработки браузеров• Kotlin – язык от JetBrains на замену

JavaА есть еще функциональные!

А как выбрать?

• Простое или сложное приложение?• Красивый или некрасивый синтаксис

языка?• Легко или сложно изучить язык?

На что вообще смотреть?

Уровни освоения технологий

1. «Черный ящик» - используем, приобретаем навыки, оттачиваем мастерство

2. Знаем, как устроена внутри, можем починить

3. Глубоко понимаем основы теории, можем создавать технологии

Плохая новость

На уровень 3 нельзя подняться без глубоких теоретических

знаний.В случае ИТ – это математика:

логика, теория алгоритмов, графы и так далее

Хорошая новость

Вы еще никуда не опоздали!

Делать новые языки и технологии все еще нужно.

Кто такой программист?

Кто такой программист?

• Решает задачи пользователей и бизнеса заданными инструментами• Умеет выбирать подходящие

инструменты для лучшего решения задач• Умеет создавать новые инструменты

Какой язык знать важнее всего?

Какой язык знать важнее всего?

• Ваш родной (русский)• Английский – без него

никуда• Язык математики

Я – студент, где учиться?

• Спецкурсы в вузе• Стажировки ИТ-компаний• Курсы от компаний

Я – школьник, куда поступать?

Нравится математика и теоретические изыскания –

ИМИТ или ФКН ОмГУ.Нравится инженерия и роботы –

ОмГТУ.

Вопросы?

• Сайт: http://7bits.ru• Email: at@7bits.it• Группа Вконтакте:

https://vk.com/7bitsavelix

Recommended