Перейти к содержимому


- - - - -

Erlang, в Брянске?

Erlang Clojure Scala Haskell Lisp OCaml

  • Вы не можете ответить в тему
Сообщений в теме: 18

#1 ketamin

ketamin

    Пользователь

  • Пользователи
  • PipPip
  • 22 сообщений

Отправлено 05 июля 2014 - 12:23

Интересно какие компании в Брянске используют или пробовали в своих проектах функциональные языки.

 


к теме не относится, но не удержался... (про ClojureScript) 


Сообщение отредактировал ketamin: 06 июля 2014 - 12:24


#2 Гарсон

Гарсон

    Обитатель

  • Модераторы
  • 5 962 сообщений
  • ГородБрянск

Отправлено 07 июля 2014 - 03:33

Payler (ака Polonium Arts) в своем объявлении о поиске server-side программиста указывали в качестве хорошей опции (но не обязательно) Scala.

Больше нигде не видел.

Занимаются платежным сервисом, посмотрите на Яндекс-работе.

 

Ищите удаленную работу или github вам в помощь.

Функциональщиков и в Мск немного, а до сюда оно доберется лет через 5.

 

Но попробовать хочется- хотя чтобы потом дорого продать себя, пока все будут догонять.


Сообщение отредактировал Гарсон: 07 июля 2014 - 03:34

Мнений много, факт- один.


#3 ketamin

ketamin

    Пользователь

  • Пользователи
  • PipPip
  • 22 сообщений

Отправлено 07 июля 2014 - 11:42

Payler (ака Polonium Arts)
Занимаются платежным сервисом.

 Насколько знаю они его нашарпе пилють... второй язык раби...
 

... в качестве хорошей опции (но не обязательно) Scala.

 А чем скала хороша?



#4 Гарсон

Гарсон

    Обитатель

  • Модераторы
  • 5 962 сообщений
  • ГородБрянск

Отправлено 08 июля 2014 - 09:02

 Насколько знаю они его нашарпе пилють... второй язык раби...

Смотря какой проект.

Если сама платежка- то это C#, Python, Java и Scala. Это не инсайд- у них в блоге на хабре об этом сказано.

+ Клиенты платежки под мобилки- Android SDK (Java) и Obj-C iOS

 

Есть еще и мобильные проекты- WinPhone, iOS и Android. Часть- кроссплатформенная.

 

 А чем скала хороша?

Мультипарадигменный язык- можно писать почти как на Java, с кусками функционального кода.

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


Мнений много, факт- один.


#5 ketamin

ketamin

    Пользователь

  • Пользователи
  • PipPip
  • 22 сообщений

Отправлено 08 июля 2014 - 11:00

Смотря какой проект.
Если сама платежка- то это C#, Python, Java и Scala. Это не инсайд- у них в блоге на хабре об этом сказано.
+ Клиенты платежки под мобилки- Android SDK (Java) и Obj-C iOS
 
Есть еще и мобильные проекты- WinPhone, iOS и Android. Часть- кроссплатформенная.

сильно сомневаюсь что на java и Scala у них написано больше чем имплементация апишки... для того же андроида.
 

Мультипарадигменный язык-можно писать почти как на Java, с кусками функционального кода.

Вы про Java8?

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

ЯННП... что такое обычное приложение? оно на скале? даже если так это неправда...

#6 Гарсон

Гарсон

    Обитатель

  • Модераторы
  • 5 962 сообщений
  • ГородБрянск

Отправлено 08 июля 2014 - 11:45

сильно сомневаюсь что на java и Scala у них написано больше чем имплементация апишки... для того же андроида.

Да вобщем нафиг надо.

Кроссплатформенные я имел в виду прежде всего С++ (по крайней мере один мой бывший коллега на эту позицию туда собеседовался).

 

Scala скорее всего серверная.

Но это гадание на кофейной гуще- есть блог, контакты разрабов есть на МоемКруге- спрашивайте. И привет передавайте.

 

Вы про Java8?

Я не сильно копался в этой версии- насколько я понял, там речь идет о функциональных интерфейсах (оно и раньше было в Runnable и т.п.), но это все же не полноценная функционалка.

 

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

 

ЯННП... что такое обычное приложение? оно на скале? даже если так это неправда...

Блин, ну зачем использовались функциональные языки раньше?

Это либо server-side over-миллионы сложных вычислений, либо тоже самое, но на локальной машинке (например, системы принятия решений).

Где-то, как-то эти вещи проще писать на функционалке (сам не пробовал).

 

Но выглядело это следующим образом- отдельно запускалось функциональное приложение (с какими-то вычислениями), отдавало какие-то данные на сторону (как сервер или как локальная служба), а дальше с этими данными уже работали обычные императивные программы.

 

В Scala эти процессы не разделены никак- запустили формочку, что-то ввели, сложили 2+2, и запустили уже функциональное вычисление.

И так почти неразрывно.

Это просто удобнее. 

 

Есть еще какая-то движуха по полиморфным фронтэндам на функциональных языках- но тут я совсем не в теме.


Сообщение отредактировал Гарсон: 08 июля 2014 - 11:47

Мнений много, факт- один.


#7 ketamin

ketamin

    Пользователь

  • Пользователи
  • PipPip
  • 22 сообщений

Отправлено 08 июля 2014 - 01:52

Я не сильно копался в этой версии- насколько я понял, там речь идет о функциональных интерфейсах (оно и раньше было в Runnable и т.п.), но это все же не полноценная функционалка

небыло... кстати JVM не заточена под функциональные языки поэтому в тойже самой скале повсеместно торчат костыли...
 

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

это не плюс...
 

Блин, ну зачем использовались функциональные языки раньше? Это либо server-side over-миллионы сложных вычислений, либо тоже самое, но на локальной машинке (например, системы принятия решений). Где-то, как-то эти вещи проще писать на функционалке (сам не пробовал).   Но выглядело это следующим образом- отдельно запускалось функциональное приложение (с какими-то вычислениями), отдавало какие-то данные на сторону (как сервер или как локальная служба), а дальше с этими данными уже работали обычные императивные программы.

бред
 

В Scala эти процессы не разделены никак- запустили формочку, что-то ввели, сложили 2+2, и запустили уже функциональное вычисление. И так почти неразрывно. Это просто удобнее.

еще больший бред... но каждый по своему...



#8 Гарсон

Гарсон

    Обитатель

  • Модераторы
  • 5 962 сообщений
  • ГородБрянск

Отправлено 08 июля 2014 - 02:06

небыло... кстати JVM не заточена под функциональные языки поэтому в тойже самой скале повсеместно торчат костыли...

Была имитация функциональности- те же Comparator-s.

 

Насчет "незаточенности" не знаю- а какие требования выставляются к среде исполнения, чтобы она считалась "заточенной" под функционалку?

 

И где в Scala костыли?

 

это не плюс...

Мотивация?

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

А в плане проектирования системы- тут уже от архитектора зависит, насколько она будет модульной или неочень.

Искусственно заставлять разделять части программы- это та еще практика.

Так можно и до пользы заголовочных файлов додуматься.

 

бред

еще больший бред... но каждый по своему...

Вот поэтому я предпочитаю читать stackoverflow и msdn, а не наши блоги.

Ничего не объяснить, обосрать и замолчать.

Где бред то? 

 

Назначение функциональных языков программирования в вычислениях, которые трудно описать на императивных языках. 

Это например вычисления Twitter-а, когда надо подобрать похожие цитаты.

Это "возможные друзья" Вконтакта- не на пыхе же это писать?

 

До Scala не было возможности завернуть эти вычисления вместе с императивным кодом (который более распространен все же).

 

Насчет косяков Scala- давайте обсуждать.


Мнений много, факт- один.


#9 ketamin

ketamin

    Пользователь

  • Пользователи
  • PipPip
  • 22 сообщений

Отправлено 09 июля 2014 - 12:05

Была имитация функциональности- те же Comparator-s.

Было на уровне языка а теперь на уровне JVM т.е. теперь стало возможно оперировать функциями а не функциональными обьектами так же получили полноценные замыкания.
 

Насчет "незаточенности" не знаю- а какие требования выставляются к среде исполнения, чтобы она считалась "заточенной" под функционалку? И где в Scala костыли?

JVM прежде всего пилится для императивной Java поэтому приходится мириться с кривым выводом типов, отсутствием оптимизации рекурсии и ленивости.
 

Вместо того, чтобы распихивать функциональный код под разным модулям- я пишу его где хочу.
В Scala эти процессы не разделены никак- запустили формочку, что-то ввели, сложили 2+2, и запустили уже функциональное вычисление.

Так может скала вам ненужна и хватит восьмой джавы? Посмотрите в сторону стримов.

Разделение формочек от вычислений больше от фреймворка зависит, это если у Вас локальное приложение и платформа Java, то что вам нужно, можете написать не только на скала а на любом JVM языке… Erlang дружит с wxWidgets - тожке не проблема... Если Апп большой и толстый разные части будут на языках которые больше подходят для задачи. Вы просто так активно пиарите скалу, а в ней плюсов то не осталось после Java 8 да еще отсутствующая транзитивность с последней требует отказаться от JEE и Spring и перелезть на Play… шаблонизатор на scala скажи привет JRebel ($) иначе повесишься… а нужно права настроить с авторизацией нужно спринг тащить…



#10 Гарсон

Гарсон

    Обитатель

  • Модераторы
  • 5 962 сообщений
  • ГородБрянск

Отправлено 09 июля 2014 - 10:45

JVM прежде всего пилится для императивной Java поэтому приходится мириться с кривым выводом типов, отсутствием оптимизации рекурсии и ленивости.

Ленивость вроде и была, но в виде JIT-компиляции.

Хотя может тут все еще круче должно быть.

 

 

Было на уровне языка а теперь на уровне JVM т.е. теперь стало возможно оперировать функциями а не функциональными обьектами так же получили полноценные замыкания.

И в тоже время JVM все еще не оптимизирована под функциональное программирование? Не понимаю.

 

Так может скала вам ненужна и хватит восьмой джавы? Посмотрите в сторону стримов.

Лично у меня интерес чисто академический. 

Потому что я одной ногой в мире .Net, другой- в MacOS.

Java более менее знаю (а целиком знают человек 100 на свете) только потому что однажды надо было допилить android-проект, да еще потому что это в итоге вылилось в некое репетиторство по тому же anroid-у.

И еще потому что пилю свою задумку под Android.

 

К функциональным языкам просто есть интерес- мне кажется, что за ними будущее.

 

Erlang дружит с wxWidgets - тожке не проблема... Если Апп большой и толстый разные части будут на языках которые больше подходят для задачи

Все-таки накладные расходы на такое сопряжение- не всегда удобно.

Хотя у нас часть вычислений летит на APL...

Все же хотелось бы пользоваться 1м инструментом.

 

Вы просто так активно пиарите скалу, а в ней плюсов то не осталось после Java 8 да еще отсутствующая транзитивность с последней требует отказаться от JEE и Spring и перелезть на Play…

Будем посмотреть.

Необходимость перелезать на другие фреймворки рано или поздно возникнет- иначе мы рискуем получить ситуацию, как у некоторых интеграторов с исходниками 96го года :bn:  


Мнений много, факт- один.


#11 ketamin

ketamin

    Пользователь

  • Пользователи
  • PipPip
  • 22 сообщений

Отправлено 09 июля 2014 - 02:25

ketamin сказал(а) 09 Июл 2014 - 01:05: JVM прежде всего пилится для императивной Java поэтому приходится мириться с кривым выводом типов, отсутствием оптимизации рекурсии и ленивости. Ленивость вроде и была, но в виде JIT-компиляции. Хотя может тут все еще круче должно быть.

иди почитай теорию по функциональным языкам
 

ketamin сказал(а) 09 Июл 2014 - 01:05: Было на уровне языка а теперь на уровне JVM т.е. теперь стало возможно оперировать функциями а не функциональными обьектами так же получили полноценные замыкания. И в тоже время JVM все еще не оптимизирована под функциональное программирование? Не понимаю.

отвечал выше...
 

Java более менее знаю

как джуниор а Java. андроид это не джава это частичная имплементация API из джавы, по другому работает с метоинформацией (рефлексия), отсутствие JMM (не могу гарантировать что мои оптимизации многопоточного кода будут работать корректно). Ну и специфика разработки другая.
 

Все-таки накладные расходы на такое сопряжение- не всегда удобно.

тебе не похрен или ты графику рендерить собрался? )))


Мне функциональное программирование нафиг было не нужно пока не пришлось строить сложную логику в многопоточной среде. 


Если интересует язык на JVM посмотри в сторону Clojure, правда первое время смайлики могут раздражать (у нас британцы на ней пишут).


Сообщение отредактировал ketamin: 09 июля 2014 - 02:28


#12 Гарсон

Гарсон

    Обитатель

  • Модераторы
  • 5 962 сообщений
  • ГородБрянск

Отправлено 09 июля 2014 - 03:00

иди почитай теорию по функциональным языкам

Как я уже писал- мне это не нужно в работе, так что читать буду когда мне станет интересно, а не для чьей-то уважухи:)

 

как джуниор а Java.

Возможно, даже меньше.

Как я уже говорил- это не мой профиль, хобби.

 

тебе не похрен или ты графику рендерить собрался? )))

Мне функциональное программирование нафиг было не нужно пока не пришлось строить сложную логику в многопоточной среде. 

Как-то не сочетается одно с другим.

Таки да, накладные расходы, если у вас сложная, тяжелая многопоточная логика- важны.

 

И с помощью чего вы реализовали логику в многопоточной среде?

Не на Java8 же (она недавно вышла).


Мнений много, факт- один.


#13 ketamin

ketamin

    Пользователь

  • Пользователи
  • PipPip
  • 22 сообщений

Отправлено 09 июля 2014 - 03:20

Что Вы понимаете под термином накладные расходы?
 

И с помощью чего вы реализовали логику в многопоточной среде?

Java7 + функциональная парадигма, пришлось писать аналог JActor.

#14 Гарсон

Гарсон

    Обитатель

  • Модераторы
  • 5 962 сообщений
  • ГородБрянск

Отправлено 09 июля 2014 - 03:35

Java7 + функциональная парадигма, пришлось писать аналог JActor.

Так это все же имитация функционального программирования.

 

А вы пробовали писать это на настоящем функциональном языке, а потом подрубать его с помощью инструментов вроде wxWidgets?

 

В том и дело, что сейчас есть 2 более менее ненакладных инструмента для таких целей (т.е. без танцов со сторонними "подключателями")- это Scala и Java 8.

Причем и то и то работает в JVM- из-за чего мне и непонятны ваши выпады в сторону Scala и того, что JVM ее якобы сковывает. Если это верно для Scala, то будет верно и для Java 8.

 

ЗЫ кстати Scala с акторами работает куда как попроще, чем Java.


Сообщение отредактировал Гарсон: 09 июля 2014 - 03:36

Мнений много, факт- один.


#15 ketamin

ketamin

    Пользователь

  • Пользователи
  • PipPip
  • 22 сообщений

Отправлено 09 июля 2014 - 03:55

Так это все же имитация функционального программирования.

как и скала))

В том и дело, что сейчас есть 2 более менее ненакладных инструмента для таких целей (т.е. без танцов со сторонними "подключателями")- это Scala и Java 8.

Ок 

А вы пробовали писать это на настоящем функциональном языке, а потом подрубать его с помощью инструментов вроде wxWidgets?

В Erlang ничего никуда подрубать не нужно все из коробки)
 

ЗЫ кстати Scala с акторами работает куда как попроще, чем Java.

ЗЫ кстати акторы скалы (Akka) после Erlang'а убогое говно да и после JActor

#16 leon78

leon78

    Новенький

  • Пользователи
  • 777 сообщений

Отправлено 10 июля 2014 - 11:24

1382096242_1419583510.jpg
 



#17 Гарсон

Гарсон

    Обитатель

  • Модераторы
  • 5 962 сообщений
  • ГородБрянск

Отправлено 10 июля 2014 - 11:41

АСУ-ТП-шникам не понять :ce:

Впрочем, как и мне так и не стали понятны трудности вашего "среднего уровня".


Мнений много, факт- один.


#18 ketamin

ketamin

    Пользователь

  • Пользователи
  • PipPip
  • 22 сообщений

Отправлено 10 июля 2014 - 04:39

Впрочем, как и мне так и не стали понятны трудности вашего "среднего уровня".

Откуда? Вы .Net формошлеп мастер по накладыванию формочек не имеющий даже теоритической базы, но рассуждаете о "накладных инструментах" (мем). Наверно распечатали мануал по скале и вы уже на них писали)))? Кстати Вы инструмент накладываете когда код пишите копипастите? Ленивость от жопы отличить не может...

Жги)


Сообщение отредактировал ketamin: 10 июля 2014 - 04:41


#19 Гарсон

Гарсон

    Обитатель

  • Модераторы
  • 5 962 сообщений
  • ГородБрянск

Отправлено 10 июля 2014 - 04:56

 

Впрочем, как и мне так и не стали понятны трудности вашего "среднего уровня".

Откуда? Вы .Net формошлеп мастер по накладыванию формочек не имеющий даже теоритической базы, но рассуждаете о "накладных инструментах" (мем). Наверно распечатали мануал по скале и вы уже на них писали)))? Кстати Вы инструмент накладываете когда код пишите копипастите? Ленивость от жопы отличить не может...

Жги)

 

Тююю, сплошное фиглярство.

Очередной рашн-девелопер, гордящийся неизвестно чем.

 

Чтоб вы знали- я имел в виду не ваш уровень, а совершенно конкретный термин, совершенно конкретной фирмы, точнее ее IT-отдела.

Средний уровень там- это программирование на уровне сигналов АСУ-ТП.

Я сделал это замечание, чтобы не обидеть Леонида, которого я знаю лично.

 

А вы- понторез, который гордится написанием велосипеда вместо применения работающей технологии.

 

Впрочем, по вашему объявлению об "обучении" это было ясно сразу.

 

Зря ввязался с вами в разговор- думал хоть кто-нибудь сможет занятно о функционалке рассказать.

 

ЗЫ поверьте, в моей работе хватает оптимизаций, как клиентской, так и серверной части. И для этого нужно немало знаний об устройстве .Net, ленивости вычислений (APL прежде всего), потоках и т.п. Но вы слишком увлечены собой, чтобы с вами о чем-то разговаривать.


Сообщение отредактировал Гарсон: 10 июля 2014 - 05:03

Мнений много, факт- один.






Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей