Интересно какие компании в Брянске используют или пробовали в своих проектах функциональные языки.
к теме не относится, но не удержался... (про ClojureScript)
Сообщение отредактировал ketamin: 06 июля 2014 - 12:24
Отправлено 05 июля 2014 - 12:23
Интересно какие компании в Брянске используют или пробовали в своих проектах функциональные языки.
к теме не относится, но не удержался... (про ClojureScript)
Сообщение отредактировал ketamin: 06 июля 2014 - 12:24
Отправлено 07 июля 2014 - 03:33
Payler (ака Polonium Arts) в своем объявлении о поиске server-side программиста указывали в качестве хорошей опции (но не обязательно) Scala.
Больше нигде не видел.
Занимаются платежным сервисом, посмотрите на Яндекс-работе.
Ищите удаленную работу или github вам в помощь.
Функциональщиков и в Мск немного, а до сюда оно доберется лет через 5.
Но попробовать хочется- хотя чтобы потом дорого продать себя, пока все будут догонять.
Сообщение отредактировал Гарсон: 07 июля 2014 - 03:34
Мнений много, факт- один.
Отправлено 07 июля 2014 - 11:42
Payler (ака Polonium Arts)
Занимаются платежным сервисом.
Насколько знаю они его нашарпе пилють... второй язык раби...
... в качестве хорошей опции (но не обязательно) Scala.
А чем скала хороша?
Отправлено 08 июля 2014 - 09:02
Насколько знаю они его нашарпе пилють... второй язык раби...
Смотря какой проект.
Если сама платежка- то это C#, Python, Java и Scala. Это не инсайд- у них в блоге на хабре об этом сказано.
+ Клиенты платежки под мобилки- Android SDK (Java) и Obj-C iOS
Есть еще и мобильные проекты- WinPhone, iOS и Android. Часть- кроссплатформенная.
А чем скала хороша?
Мультипарадигменный язык- можно писать почти как на Java, с кусками функционального кода.
Любой другой функциональный язык придется засовывать в отдельный процесс/библиотеку, если хочешь пользоваться им в обычном приложении.
Мнений много, факт- один.
Отправлено 08 июля 2014 - 11:00
сильно сомневаюсь что на java и Scala у них написано больше чем имплементация апишки... для того же андроида.Смотря какой проект.
Если сама платежка- то это C#, Python, Java и Scala. Это не инсайд- у них в блоге на хабре об этом сказано.
+ Клиенты платежки под мобилки- Android SDK (Java) и Obj-C iOS
Есть еще и мобильные проекты- WinPhone, iOS и Android. Часть- кроссплатформенная.
Вы про Java8?Мультипарадигменный язык-можно писать почти как на Java, с кусками функционального кода.
ЯННП... что такое обычное приложение? оно на скале? даже если так это неправда...Любой другой функциональный язык придется засовывать в отдельный процесс/библиотеку, если хочешь пользоваться им в обычном приложении.
Отправлено 08 июля 2014 - 11:45
сильно сомневаюсь что на java и Scala у них написано больше чем имплементация апишки... для того же андроида.
Да вобщем нафиг надо.
Кроссплатформенные я имел в виду прежде всего С++ (по крайней мере один мой бывший коллега на эту позицию туда собеседовался).
Scala скорее всего серверная.
Но это гадание на кофейной гуще- есть блог, контакты разрабов есть на МоемКруге- спрашивайте. И привет передавайте.
Вы про Java8?
Я не сильно копался в этой версии- насколько я понял, там речь идет о функциональных интерфейсах (оно и раньше было в Runnable и т.п.), но это все же не полноценная функционалка.
А вот Scala нормально интегрирует в себе прямо код функциональный и императивный.
ЯННП... что такое обычное приложение? оно на скале? даже если так это неправда...
Блин, ну зачем использовались функциональные языки раньше?
Это либо server-side over-миллионы сложных вычислений, либо тоже самое, но на локальной машинке (например, системы принятия решений).
Где-то, как-то эти вещи проще писать на функционалке (сам не пробовал).
Но выглядело это следующим образом- отдельно запускалось функциональное приложение (с какими-то вычислениями), отдавало какие-то данные на сторону (как сервер или как локальная служба), а дальше с этими данными уже работали обычные императивные программы.
В Scala эти процессы не разделены никак- запустили формочку, что-то ввели, сложили 2+2, и запустили уже функциональное вычисление.
И так почти неразрывно.
Это просто удобнее.
Есть еще какая-то движуха по полиморфным фронтэндам на функциональных языках- но тут я совсем не в теме.
Сообщение отредактировал Гарсон: 08 июля 2014 - 11:47
Мнений много, факт- один.
Отправлено 08 июля 2014 - 01:52
Я не сильно копался в этой версии- насколько я понял, там речь идет о функциональных интерфейсах (оно и раньше было в Runnable и т.п.), но это все же не полноценная функционалка
небыло... кстати JVM не заточена под функциональные языки поэтому в тойже самой скале повсеместно торчат костыли...
А вот Scala нормально интегрирует в себе прямо код функциональный и императивный.
это не плюс...
Блин, ну зачем использовались функциональные языки раньше? Это либо server-side over-миллионы сложных вычислений, либо тоже самое, но на локальной машинке (например, системы принятия решений). Где-то, как-то эти вещи проще писать на функционалке (сам не пробовал). Но выглядело это следующим образом- отдельно запускалось функциональное приложение (с какими-то вычислениями), отдавало какие-то данные на сторону (как сервер или как локальная служба), а дальше с этими данными уже работали обычные императивные программы.
бред
В Scala эти процессы не разделены никак- запустили формочку, что-то ввели, сложили 2+2, и запустили уже функциональное вычисление. И так почти неразрывно. Это просто удобнее.
еще больший бред... но каждый по своему...
Отправлено 08 июля 2014 - 02:06
небыло... кстати JVM не заточена под функциональные языки поэтому в тойже самой скале повсеместно торчат костыли...
Была имитация функциональности- те же Comparator-s.
Насчет "незаточенности" не знаю- а какие требования выставляются к среде исполнения, чтобы она считалась "заточенной" под функционалку?
И где в Scala костыли?
это не плюс...
Мотивация?
Вместо того, чтобы распихивать функциональный код под разным модулям- я пишу его где хочу.
А в плане проектирования системы- тут уже от архитектора зависит, насколько она будет модульной или неочень.
Искусственно заставлять разделять части программы- это та еще практика.
Так можно и до пользы заголовочных файлов додуматься.
бред
еще больший бред... но каждый по своему...
Вот поэтому я предпочитаю читать stackoverflow и msdn, а не наши блоги.
Ничего не объяснить, обосрать и замолчать.
Где бред то?
Назначение функциональных языков программирования в вычислениях, которые трудно описать на императивных языках.
Это например вычисления Twitter-а, когда надо подобрать похожие цитаты.
Это "возможные друзья" Вконтакта- не на пыхе же это писать?
До Scala не было возможности завернуть эти вычисления вместе с императивным кодом (который более распространен все же).
Насчет косяков Scala- давайте обсуждать.
Мнений много, факт- один.
Отправлено 09 июля 2014 - 12:05
Была имитация функциональности- те же Comparator-s.
Было на уровне языка а теперь на уровне JVM т.е. теперь стало возможно оперировать функциями а не функциональными обьектами так же получили полноценные замыкания.
Насчет "незаточенности" не знаю- а какие требования выставляются к среде исполнения, чтобы она считалась "заточенной" под функционалку? И где в Scala костыли?
JVM прежде всего пилится для императивной Java поэтому приходится мириться с кривым выводом типов, отсутствием оптимизации рекурсии и ленивости.
Вместо того, чтобы распихивать функциональный код под разным модулям- я пишу его где хочу.
В Scala эти процессы не разделены никак- запустили формочку, что-то ввели, сложили 2+2, и запустили уже функциональное вычисление.
Так может скала вам ненужна и хватит восьмой джавы? Посмотрите в сторону стримов.
Разделение формочек от вычислений больше от фреймворка зависит, это если у Вас локальное приложение и платформа Java, то что вам нужно, можете написать не только на скала а на любом JVM языке… Erlang дружит с wxWidgets - тожке не проблема... Если Апп большой и толстый разные части будут на языках которые больше подходят для задачи. Вы просто так активно пиарите скалу, а в ней плюсов то не осталось после Java 8 да еще отсутствующая транзитивность с последней требует отказаться от JEE и Spring и перелезть на Play… шаблонизатор на scala скажи привет JRebel ($) иначе повесишься… а нужно права настроить с авторизацией нужно спринг тащить…
Отправлено 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го года
Мнений много, факт- один.
Отправлено 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
Отправлено 09 июля 2014 - 03:00
иди почитай теорию по функциональным языкам
Как я уже писал- мне это не нужно в работе, так что читать буду когда мне станет интересно, а не для чьей-то уважухи
как джуниор а Java.
Возможно, даже меньше.
Как я уже говорил- это не мой профиль, хобби.
тебе не похрен или ты графику рендерить собрался? )))
Мне функциональное программирование нафиг было не нужно пока не пришлось строить сложную логику в многопоточной среде.
Как-то не сочетается одно с другим.
Таки да, накладные расходы, если у вас сложная, тяжелая многопоточная логика- важны.
И с помощью чего вы реализовали логику в многопоточной среде?
Не на Java8 же (она недавно вышла).
Мнений много, факт- один.
Отправлено 09 июля 2014 - 03:20
Java7 + функциональная парадигма, пришлось писать аналог JActor.И с помощью чего вы реализовали логику в многопоточной среде?
Отправлено 09 июля 2014 - 03:35
Java7 + функциональная парадигма, пришлось писать аналог JActor.
Так это все же имитация функционального программирования.
А вы пробовали писать это на настоящем функциональном языке, а потом подрубать его с помощью инструментов вроде wxWidgets?
В том и дело, что сейчас есть 2 более менее ненакладных инструмента для таких целей (т.е. без танцов со сторонними "подключателями")- это Scala и Java 8.
Причем и то и то работает в JVM- из-за чего мне и непонятны ваши выпады в сторону Scala и того, что JVM ее якобы сковывает. Если это верно для Scala, то будет верно и для Java 8.
ЗЫ кстати Scala с акторами работает куда как попроще, чем Java.
Сообщение отредактировал Гарсон: 09 июля 2014 - 03:36
Мнений много, факт- один.
Отправлено 09 июля 2014 - 03:55
как и скала))Так это все же имитация функционального программирования.
ОкВ том и дело, что сейчас есть 2 более менее ненакладных инструмента для таких целей (т.е. без танцов со сторонними "подключателями")- это Scala и Java 8.
В Erlang ничего никуда подрубать не нужно все из коробки)А вы пробовали писать это на настоящем функциональном языке, а потом подрубать его с помощью инструментов вроде wxWidgets?
ЗЫ кстати акторы скалы (Akka) после Erlang'а убогое говно да и после JActorЗЫ кстати Scala с акторами работает куда как попроще, чем Java.
Отправлено 10 июля 2014 - 11:24
Отправлено 10 июля 2014 - 11:41
АСУ-ТП-шникам не понять
Впрочем, как и мне так и не стали понятны трудности вашего "среднего уровня".
Мнений много, факт- один.
Отправлено 10 июля 2014 - 04:39
Впрочем, как и мне так и не стали понятны трудности вашего "среднего уровня".
Откуда? Вы .Net формошлеп мастер по накладыванию формочек не имеющий даже теоритической базы, но рассуждаете о "накладных инструментах" (мем). Наверно распечатали мануал по скале и вы уже на них писали)))? Кстати Вы инструмент накладываете когда код пишите копипастите? Ленивость от жопы отличить не может...
Жги)
Сообщение отредактировал ketamin: 10 июля 2014 - 04:41
Отправлено 10 июля 2014 - 04:56
Впрочем, как и мне так и не стали понятны трудности вашего "среднего уровня".
Откуда? Вы .Net
формошлепмастер по накладыванию формочек не имеющий даже теоритической базы, но рассуждаете о "накладных инструментах" (мем). Наверно распечатали мануал по скале и вы уже на них писали)))? Кстати Вы инструмент накладываете когда кодпишитекопипастите? Ленивость от жопы отличить не может...Жги)
Тююю, сплошное фиглярство.
Очередной рашн-девелопер, гордящийся неизвестно чем.
Чтоб вы знали- я имел в виду не ваш уровень, а совершенно конкретный термин, совершенно конкретной фирмы, точнее ее IT-отдела.
Средний уровень там- это программирование на уровне сигналов АСУ-ТП.
Я сделал это замечание, чтобы не обидеть Леонида, которого я знаю лично.
А вы- понторез, который гордится написанием велосипеда вместо применения работающей технологии.
Впрочем, по вашему объявлению об "обучении" это было ясно сразу.
Зря ввязался с вами в разговор- думал хоть кто-нибудь сможет занятно о функционалке рассказать.
ЗЫ поверьте, в моей работе хватает оптимизаций, как клиентской, так и серверной части. И для этого нужно немало знаний об устройстве .Net, ленивости вычислений (APL прежде всего), потоках и т.п. Но вы слишком увлечены собой, чтобы с вами о чем-то разговаривать.
Сообщение отредактировал Гарсон: 10 июля 2014 - 05:03
Мнений много, факт- один.
0 пользователей, 0 гостей, 0 скрытых пользователей