Завершающая лекция
курса информатики
(Часть 1)
19/05/2016 Alexey Vasyukov v0.3 CC-BY-SA 4.0
● Превентивный разговор про то, какой язык круче
Disclaimer:
- всё изложенное не претендует на объективность
- для аутентичного восприятия смотреть эти слайды
нужно в конце двухлетнего курса информатики
- картинки из Интернета, их лицензии неизвестны
- мопед не мой
Какой язык самый крутой?
Что ещё мне нужно выучить?
Не фиксируйтесь на инструментах
слишком сильно
Добро пожаловать в реальный мир.
Заказчики, руководители, коллеги.
Всем нужен ваш мозг.
Так что для реальных задач
инструменты всё же важны
Выбор оптимального инструмента
(*) Далее речь не столько про сами языки, сколько про
их экосистему — инструментарий, библиотеки, опыт использования
Раз курс закончился на ООП,
значит оно самое лучшее?
C++, Python, Java — что круче?
(а ещё где-то рядом C# и Ruby)
Python : автомат
Python : автомат
● Понятно, быстро, просто, легко
● Пожалуй, лучший вариант, если вообще не известно,
какие задачи будут завтра
● Все остальное может быть круто, но знать автомат всё
равно полезно
Java / C# : крупнокалиберный пулемёт
Java / C# : крупнокалиберный пулемёт
● Крутые ребята из имперских войск всегда используют
какие-то такие штуки
● Обычно такое используют не в одиночку
● Для разумного использования нужно время —
развернуться, окопаться, подвоз расходки наладить
Ruby : ручной пулемёт
Ruby : ручной пулемёт
● Гибрид двух прошлых представителей, в целом весьма
удачный
● Тем не менее, несколько тяжеловеснее Python и без
части полезных особенностей Java
● Имеет свою экосистему, мало пересекающуюся с
Python или Java
Никто не круче
К/к пулемёт от бедра столь же безумно,
как автомат против брони.
Просто разные задачи
C++ : шестиствольный пулемёт
C++ : шестиствольный пулемёт
● Ура, самая крутая штука!
● Шесть стволов, автоматическая подача БК, умеет не
перегреваясь стрелять сутками без остановки
C++ : нюансы
● Пулемёт поставляется вот в таком виде
● Без инструкции
● Заклинивает наглухо при неаккуратности сборки
А где же C? Зачем мы его учили?
C : снайперская винтовка
● Только системная разработка
● Для своих задач — очень крутая штука
● Писать на C — отдельный дзен
C : снайперская винтовка
Писать на C — отдельный дзен
JavaScript : пистолет-пулемёт
● Очень полезная вещь
● Практически не имеет альтернативы для общения с
пользователями (разработка UI)
● Не надо пытаться ей заменить нормальный пулемёт
1С, ABAP, … : травмат
● Инструмент
быстрого и
конкретного
решения
бизнес-задачи
корпоративного
заказчика
● Никогда не
выйдет за рамки
конкретных
бизнес-задач
PHP : охотничий карабин
● Правильная штука, если надо запилить сайт в теплой
компании с друзьями
● Вроде и по ТТХ всё нормально
● Серьёзные люди «почему-то» ходят с чем-нибудь другим
Perl : трёхлинейка
● Безумно крутая штука для своего времени
● Без этой штуки мир был бы совсем другим
● Формальные ТТХ до сих пор выглядят прилично
● Более не используется для новых задач
Go / Rust / Nim / D / Julia / … : гауссовка
● Теоретически это круто
● Возможно, за этой штукой будущее
● На данный момент в промышленном использовании
данной штуки не наблюдается
Lisp / Haskel / Erlang / ...
Lisp / Haskel / Erlang : джедайский меч
(аналогично примкнувшие к ним Fortran и Assembler)
● Вроде бы безумно крутая штука из другой галлактики
● Вы уверены, что джедай и меч — настоящие?
● Вы точно найдёте нового джедая, если потребуется?
Bash / PowerShell / прочий shell : граната
● Быстро, конкретно и грязно решает задачу, где иначе
пришлось бы городить что-то сложное
● Shell scripting нужно уметь
● Очень странно уметь только shell scripting
Вы не угадаете, с чем
столкнётесь через 5 лет
Вопросы?

Завершающая лекция - часть 1 - информатика и зомби

  • 2.
    Завершающая лекция курса информатики (Часть1) 19/05/2016 Alexey Vasyukov v0.3 CC-BY-SA 4.0 ● Превентивный разговор про то, какой язык круче Disclaimer: - всё изложенное не претендует на объективность - для аутентичного восприятия смотреть эти слайды нужно в конце двухлетнего курса информатики - картинки из Интернета, их лицензии неизвестны - мопед не мой
  • 3.
    Какой язык самыйкрутой? Что ещё мне нужно выучить?
  • 4.
    Не фиксируйтесь наинструментах слишком сильно
  • 5.
    Добро пожаловать вреальный мир. Заказчики, руководители, коллеги. Всем нужен ваш мозг.
  • 6.
    Так что дляреальных задач инструменты всё же важны
  • 7.
    Выбор оптимального инструмента (*)Далее речь не столько про сами языки, сколько про их экосистему — инструментарий, библиотеки, опыт использования
  • 8.
    Раз курс закончилсяна ООП, значит оно самое лучшее? C++, Python, Java — что круче? (а ещё где-то рядом C# и Ruby)
  • 9.
  • 10.
    Python : автомат ●Понятно, быстро, просто, легко ● Пожалуй, лучший вариант, если вообще не известно, какие задачи будут завтра ● Все остальное может быть круто, но знать автомат всё равно полезно
  • 11.
    Java / C#: крупнокалиберный пулемёт
  • 12.
    Java / C#: крупнокалиберный пулемёт ● Крутые ребята из имперских войск всегда используют какие-то такие штуки ● Обычно такое используют не в одиночку ● Для разумного использования нужно время — развернуться, окопаться, подвоз расходки наладить
  • 13.
    Ruby : ручнойпулемёт
  • 14.
    Ruby : ручнойпулемёт ● Гибрид двух прошлых представителей, в целом весьма удачный ● Тем не менее, несколько тяжеловеснее Python и без части полезных особенностей Java ● Имеет свою экосистему, мало пересекающуюся с Python или Java
  • 15.
    Никто не круче К/кпулемёт от бедра столь же безумно, как автомат против брони.
  • 16.
  • 17.
  • 18.
    C++ : шестиствольныйпулемёт ● Ура, самая крутая штука! ● Шесть стволов, автоматическая подача БК, умеет не перегреваясь стрелять сутками без остановки
  • 19.
    C++ : нюансы ●Пулемёт поставляется вот в таком виде ● Без инструкции ● Заклинивает наглухо при неаккуратности сборки
  • 20.
    А где жеC? Зачем мы его учили?
  • 21.
    C : снайперскаявинтовка ● Только системная разработка ● Для своих задач — очень крутая штука ● Писать на C — отдельный дзен
  • 22.
    C : снайперскаявинтовка Писать на C — отдельный дзен
  • 23.
    JavaScript : пистолет-пулемёт ●Очень полезная вещь ● Практически не имеет альтернативы для общения с пользователями (разработка UI) ● Не надо пытаться ей заменить нормальный пулемёт
  • 24.
    1С, ABAP, …: травмат ● Инструмент быстрого и конкретного решения бизнес-задачи корпоративного заказчика ● Никогда не выйдет за рамки конкретных бизнес-задач
  • 25.
    PHP : охотничийкарабин ● Правильная штука, если надо запилить сайт в теплой компании с друзьями ● Вроде и по ТТХ всё нормально ● Серьёзные люди «почему-то» ходят с чем-нибудь другим
  • 26.
    Perl : трёхлинейка ●Безумно крутая штука для своего времени ● Без этой штуки мир был бы совсем другим ● Формальные ТТХ до сих пор выглядят прилично ● Более не используется для новых задач
  • 27.
    Go / Rust/ Nim / D / Julia / … : гауссовка ● Теоретически это круто ● Возможно, за этой штукой будущее ● На данный момент в промышленном использовании данной штуки не наблюдается
  • 28.
    Lisp / Haskel/ Erlang / ...
  • 29.
    Lisp / Haskel/ Erlang : джедайский меч (аналогично примкнувшие к ним Fortran и Assembler) ● Вроде бы безумно крутая штука из другой галлактики ● Вы уверены, что джедай и меч — настоящие? ● Вы точно найдёте нового джедая, если потребуется?
  • 30.
    Bash / PowerShell/ прочий shell : граната ● Быстро, конкретно и грязно решает задачу, где иначе пришлось бы городить что-то сложное ● Shell scripting нужно уметь ● Очень странно уметь только shell scripting
  • 31.
    Вы не угадаете,с чем столкнётесь через 5 лет
  • 32.