Сергей Крыжановский - Языки программирования

Post on 02-Jul-2015

2.038 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

В мире существует не один, и даже не два языка программирования, их очень и очень много. В лекции рассказано про то какими бывают языки программирования, почему их так много, и зачем вообще нужно и полезно смотреть в сторону каках-то новых языков, кроме своего любимого.

TRANSCRIPT

разработчик

Языкипрограммирования

Сергей Крыжановский

Когда кто-то говорит: «Мне нужен язык программирования, в котором достаточно только сказать, что мне нужно сделать», — дайте ему леденец.

Алан Перлис

Введение

2000было в мире языков программирования

теперь-то наверняка намного больше

4

TIOBE Index на февраль 2013 года5

Язык программирования имеет низкий уровень, если в программах приходится уделять внимание несущественному.

Алан Перлис

Уровень языка

Низкоуровневое программирование в 1940-х7

На всякий случай: это псевдокод на почти псевдоязыках8

Компиляция

Интерпретация

Компилируемость

Маленький «компьютер» справа — интерпретатор 10

Just-in-time compilation в Java11

В императивном программировании ты словно даёшь команды идиоту.

Интернет

Императивный

Императивное общение человека с компьютером13

Декларативный

CSS декларативен

body { color: red;}

h1 { color: green;}

Вы все это знаете

15

ООП

Идеализация объектно-ориентированного подхода17

Объект — экземпляр класса18

Функциональное программирование похоже на объяснение проблемы математику.

Интернет

Функциональный

Функция — объект первого класса20

Статическая и динамическая

Сильная и слабая

Явная и неявная

Типизация

Типы — они такие22

Статическая и динамическая

Типизация

Статическая до выполнения, динамическая во время выполнения24

Сильная / строгаяСлабая / нестрогая

Типизация

Смешались в кучу кони, люди26

Явная и неявная

Типизация

Если чего-то нет, что-то всё равно есть28

42

Зачем всё это?

Знание разных языков позволяет...

• Решать больше задач более оптимальным способом• Расширить кругозор и эрудицию• Быть более нужным на рынке труда• Заполнить паузы на первом свидании

30

Что дальше?

• Начните с малого — изучите основы двух-трёх языков– Codecademy — http://www.codecademy.com

• Полюбуйтесь на решение одной задачи разными языками – Rosetta Code — http://rosettacode.org

• Влюбитесь в: – C — http://en.wikiversity.org/wiki/Topic:C– C++ — http://www.cplusplus.com/doc/tutorial/– JavaScript — http://eloquentjavascript.net/– Lisp — http://www.gigamonkeys.com/book/– Haskell — http://learnyouahaskell.com/– Ruby — http://www.ruby-lang.org/en/documentation/– Python — http://wiki.python.org/moin/BeginnersGuide

31

разработчик

another@yandex-team.ru

Спасибо

Сергей Крыжановский

top related