Форум "Работа" в Чебоксарах
Вакансии, объявления, резюме...
7 Страницы « < 5 6 7  
Ответить Создать тему

JVM Community21

Теги: JAVA, SCALA, KOTLIN
Sergey Grigorev
post Jan 14 2021, 13:31
Отправлено #91


Software Data Engineer



Сообщений: 2 552
Из: Cheboksary, Russia



jem, да просто на собеседованиях бывали люди, которые заявляли о том, что они разбираются в ФП и валятся на самых простых вопросах из теории категорий facepalm_ani.gif Если уж кто-то хочет действительно тру ФП подход поизучать, то я бы порекомендовал немного другую литературу blush2.gif

Пусть хотя бы "изучай Хассель во имя добра", он уже даст понять, что многие вещи решаются сильно проще в ФП, вот к примеру, куда более понятное решение алгоритма быстрой сортировки на haskell, чем тоже самое на java

Исходный код

quicksort1 :: (Ord a) => [a] -> [a]
quicksort1 [] = []
quicksort1 (x:xs) =
 let smallerSorted = quicksort1 [a | a <- xs, a <= x]
     biggerSorted = quicksort1 [a | a <- xs, a > x]
 in  smallerSorted ++ [x] ++ biggerSorted


Исходный код

   public static void quickSort(int[] arr, int start, int end){

       int partition = partition(arr, start, end);

       if(partition-1>start) {
           quickSort(arr, start, partition - 1);
       }
       if(partition+1<end) {
           quickSort(arr, partition + 1, end);
       }
   }

   public static int partition(int[] arr, int start, int end){
       int pivot = arr[end];

       for(int i=start; i<end; i++){
           if(arr[i]<pivot){
               int temp= arr[start];
               arr[start]=arr[i];
               arr[i]=temp;
               start++;
           }
       }

       int temp = arr[start];
       arr[start] = pivot;
       arr[end] = temp;

       return start;
   }


Как по мне, понять саму суть, а уже потом привязываться к особенностям языка, того же Java, или попробовать Scala + библиотека Cats, ну или Swift + библиотека Bow.

Я рад, когда люди проявляют интерес к ФП, но когда останавливаются даже не начав, считая лямбды и stream из java 8 достаточным, это немного печалит. Нужно больше ФПшников, господин :-)

--------------------
Nothing ventured nothing gained
Profile CardPM
  0/0  
jem
post Jan 14 2021, 14:58
Отправлено #92


Активный



Сообщений: 4 574
Из: Москва



Sergey Grigorev, ФП все-таки лучше обсуждать в старой теме. Там и разные варианты быстрых сортировок постили когда-то. Я же другую цель преследовал в посте к которому вы придрались. Если бы у меня была ссылка на другой бесплатный курс по джаве, то я бы обязательно дал ее, чтобы не будоражить умы.

Цитата(Sergey Grigorev @ Jan 14 2021, 13:31)
Нужно больше ФПшников
*

Это проблема курицы или яйца. Возможно, нужен спрос на функциональщиков.

--------------------
C, Clojure(Script), Common Lisp, ECMAScript, Haskell, Java, Lua, Perl, PL/SQL, Python, Scala, SQL, Transact-SQL.
Profile CardPM
  0/0  
Sergey Grigorev
post Jan 14 2021, 15:18
Отправлено #93


Software Data Engineer



Сообщений: 2 552
Из: Cheboksary, Russia



Цитата(jem @ Jan 14 2021, 14:58)
Это проблема курицы или яйца. Возможно, нужен спрос на функциональщиков.
*

Ну в Чувашии его может и нет, но на мировых рынках очень большой спрос. Это же BigData, Kafka / Spark в связке с Scala / Java. Во всей этой бигдате как раз все это и применяется, те же полугруппы и моноиды для распределенных вычислений DANCE.gif А всяческие монады и MTL для того, чтобы писать один код, который переиспользуется и в рантайме и в тестах.
Кроме того, учитывая насколько огромны современные приложения, делать рефакторинг кода, написанного в ФП стиле значительно проще, потому что он не зависит от каких-то порядков вызовов методов и глобальных переменных.
Это и есть причина, почему я не планирую вернуться в Java, совсем. Лучше попробую Swift :-)

--------------------
Nothing ventured nothing gained
Profile CardPM
  0/0  

7 Страницы « < 5 6 7
ОтветитьTopic Options
1 чел. читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
Быстрый ответ
Кнопки кодов
 Расширенный режим
 Нормальный режим
    Закрыть все тэги


Открытых тэгов: 
Введите сообщение
Смайлики
smilie  smilie  smilie  smilie  smilie 
smilie  smilie  smilie  smilie  smilie 
smilie  smilie  smilie  smilie  smilie 
smilie  smilie  smilie  smilie  smilie 
smilie  smilie  smilie  smilie  smilie 
smilie  smilie  smilie  smilie  smilie 
         
Показать все

Опции сообщения