О направлении Scala

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Изначально Scala был разработан как улучшенная версия Java, от которой он унаследовал рантайм в виде java-машины, совместимость на уровне байткода и экосистему в виде библиотек и инструментов. С точки зрения эксплуатации в промышленной среде Scala-код мало чем отличается от java-кода. Но с точки зрения написания кода отличий довольно много.

Во-первых, это система типов. Она статическая и сильная, что позволяет на этапе компиляции отсечь значительное количество логических ошибок.

Во-вторых, удобный лаконичный синтаксис и большое количество синтаксического сахара. Благодаря этому Scala-код лаконичен и хорошо читается.

В третьих, будучи изначально объектно-ориентированным языком, Scala позволяет писать код в функциональном стиле, используя паттерны и подходы, заимствованные, например, из Haskell, и сам язык поощряет разработчика использовать именно этот стиль.

Ну и наконец, Scala — это живой язык с постоянно развивающейся экосистемой и активным сообществом.

Функциональная парадигма Scala и ее особенности

Scala — функциональный язык программирования, он имеет много особенностей функциональной парадигмыпрограммирования.

Функциональная парадигма основана на:

— использовании неизменяемых структур данных и объектов;

— отказе от переменных;

— функциях в роли параметров и результатов выполнения других функций;

— программе как композиции функций;

— минимизации и строгом контроле любых побочных эффектов.

Такие серьезные ограничения тем не менее дают массу преимуществ:

  • функциональный код декларативен, он в первую очередь фокусируется на том, что именно нужно сделать;
  • функциональный код хорошо читается и прост для понимания;
  • функциональный код отлично тестируется;
  • выполнение функционального кода легко распараллеливается без типичных проблем с конкурентным доступом к памяти;
  • код работает быстро и эффективно.

Как используется Scala в Tinkoff?

В Tinkoff нет офисов, и все взаимодействие с клиентом происходит либо в веб-интерфейсе, либо в мобильных приложениях. Поэтому нам критически важна скорость и доступность наших API для них.

У Tinkoff более 20 млн клиентов. Эти клиенты в сумме дают огромную нагрузку в виде количества обрабатываемых запросов.

Любая внешне простая задача становится гораздо сложнее, если к ней добавить нагрузку и требования по высокой доступности и скорости. Scala позволяет описывать эти сложные вещи просто, лаконично, прозрачно, поэтому в Tinkoff один из основных языков для API — именно Scala. Примерно три четверти наших API написано на ней.

Кому будет интересно изучать?

Курс по Scala в магистратуре Тинькофф на ФПМИ МФТИ будет интересен в первую очередь тем, кто хочет полноценно познакомиться не только с новым языком, но и с функциональной парадигмой. Вы изучите многолетний опыт разработки на этом языке ведущей финтех-компании страны с крупнейшим Scala-сообществом и получите отличный старт в карьере инженера-разработчика.


Источник: m.vk.com

Комментарии: