Программирование

Ответить в тред Ответить в тред
Check this out!
Elixir — функциональный, распределённый язык программирования Аноним # OP 09/02/20 Вск 16:38:55 15963791
META-INFpluginI[...].png 32Кб, 600x600
600x600
64582470.jpg 24Кб, 630x630
630x630
1c2UAyIKvbJ1z7a[...].png 71Кб, 1632x748
1632x748
Elixir — функциональный, распределённый язык программирования общего назначения, работающий на виртуальной машине Erlang (BEAM). Обеспечивает распределённость, отказоустойчивость, исполнение в режиме мягкого реального времени, метапрограммирование с макросами и полиморфизмом, реализованным через протоколы.

Elixir успешно применяется в Discord, Facebook, WhatsApp, Pinterest и в куче других крупных проектов.

Для вката:
- Официальный док: https://elixir-lang.org/getting-started/introduction.html
- Уроки программирования на языке Elixir (на русском): https://elixirschool.com/ru/
- Часовое видео на англе с основами синтаксиса: https://www.youtube.com/watch?v=pBNOavRoNL0
- Phoenix (основной веб-фреймворк) - https://hexdocs.pm/phoenix/overview.html

Книжки:
- Introducing Elixir
- Programming Elixir 1.6
- Elixir in Action
- Adopting Elixir

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

Работа:
https://elixirjob.ru/

Уютненький чатик:
https://telegram.me/joinchat/ApEh7z9DAAIwCR9icUbYuQ
Аноним 09/02/20 Вск 16:45:59 15963882
>>1596379 (OP)
На сколько эликсир перспективен в плане трудоустройства?
Аноним 09/02/20 Вск 16:54:34 15964073
>>1596388
Зарплаты в ИТ во втором полугодии 2019 года: по данным калькулятора Хабр Карьеры:

https://habr.com/ru/company/habr_career/blog/485146/

Самая высокая медианная зарплата у разработчиков Elixir — 165 000 рублей.
Аноним 09/02/20 Вск 16:57:59 15964104
>>1596407
Как же охуенно, буду вкатываться
Аноним 09/02/20 Вск 17:21:49 15964305
>>1596407
Только что-то на том графике ни одной зарплаты выше 200к у эликсира нету. Как-то НИОЧЕНЬ.
мимо300крубист
Аноним 09/02/20 Вск 18:00:36 15964866
15709924855830.jpg 218Кб, 1280x720
1280x720
>>1596379 (OP)
> функциональное программирование
> язык с динамической типизацией
Что-то здесь явно не так
Аноним 09/02/20 Вск 18:02:36 15964887
Аноним 09/02/20 Вск 18:03:09 15964898
>>1596486
Всё так. Вместо генериков, вариантов, вывода типов и подобного у тебя будут уточки.
Аноним 09/02/20 Вск 18:04:09 15964909
>>1596407
Ну конечно, давайте ещё сравним зарплаты на Кложуре и на Джаве. Когда сам создатель давал статистику по Кложе на одной конфе: там 80% сеньйоры с 5-10 годами опыта, поэтому зп в 2-3 раза выше средней по джаве на ваших графиках.

Какие преимущества перед Эрлангом кроме синтаксиса и феникса?
Аноним 09/02/20 Вск 18:06:28 159649110
>>1596490
>Какие преимущества перед Эрлангом кроме синтаксиса и феникса?

Туллинг, более живое сообщество, более активное развитие.
Аноним 09/02/20 Вск 18:09:59 159649511
Аноним 09/02/20 Вск 18:13:07 159649912
>>1596495

Смотря какие у тебя задачи. Джава быстрее, но на elixir/phoenix приятней писать, как по мне.
Аноним 09/02/20 Вск 18:17:28 159650213
Быть знакомым с Эрлангом надо перед изучением Элексира?
Аноним 09/02/20 Вск 18:24:50 159650614
>>1596502
По большей части нет. Нужно знать особенности BEAM - виртуальной машины, на которой работает Elixir.
Аноним 09/02/20 Вск 18:27:13 159650715
>>1596495
Не лучше и не хуже - разные области применения.
Аноним 09/02/20 Вск 20:31:17 159660016
>>1596490
Макросы, протоколы, Task, Agent, Registry, Stream, GenStage/Flow/Broadway, DynamicSupervisor, некоторые удобные конструкции типа with, StreamData, ExUnit лучше чем оба говнофреймворка для тестов в ерланге, formatter, наличие нормального линтера, простые нативные релизы, mix/hex лучше, чем пердолинг с ребаром и в целом большее количество либ и фреймворков. Это то что сходу пошли в голову.
Аноним 09/02/20 Вск 21:02:04 159662617
Аноним 09/02/20 Вск 21:06:53 159663618
>>1596379 (OP)
>Discord
Да они все более менее новое бегут применять в продакшене. Вон недавно с Go на Rust переписали.
Зачем они это делают?
Аноним 09/02/20 Вск 21:19:36 159664219
>>1596636
Их хуйню сам б-г велел на erlang написать, но зачем писать что-то новое на erlang, когда есть elixir?
Аноним 09/02/20 Вск 21:32:09 159667020
>>1596642
Завтра появится какой-то новый модный язык inb4:Crystal и они на него побегут переписывать.
Больные люди там работают.
Аноним 09/02/20 Вск 22:32:35 159676421
>>1596502
Так скажем, это было бы плюсом, но для вката - не обязательно.
Просто многое из того что эрлангисты уже знают тебе прийдется изучить с нуля.
Аноним 09/02/20 Вск 22:33:16 159676622
Аноним 10/02/20 Пнд 04:49:44 159701123
>>1596407
>Самая высокая медианная зарплата у разработчиков Elixir — 165 000 рублей.
Чет проигрунькал в голосинушку на всю квартиру! Ты бы еще сравнил с Clojure или Scala, где джунов считай почти нет, мидлов - хуй да нихуя, а сениоры как раз преобладают в выборке. Из-за этого и выходит, что на подобных языках медиана будет в 150-180 за полумидла-недосиниора. А синиоры уже зашибают по 250-300к.
Так что не вводи анонасов в заблуждение. Язык достаточно посредственный. Вебню какую-нибудь клепать - самое оно.
Аноним 10/02/20 Пнд 13:39:08 159716224
Аноним 10/02/20 Пнд 16:15:53 159731825
>>1596600
Единственный плюс ерланга по сравнению с Elixir:
отсутствие ruby-refugees, которые не разобравшись с языком начинают пытатся напердолить некое подобие оопе абузя макросы где попало. Ну и ебанутое мышление с gem install huipizda вместо здравого смысла.
Аноним 10/02/20 Пнд 16:57:50 159735926
Аноним 10/02/20 Пнд 17:23:41 159737527
>>1597318
Эрланг же совсем поносный язык. Его разве что для перекладывания байтиков из сокета в сокет можно использовать.
Аноним 10/02/20 Пнд 17:47:33 159738728
>>1597375
Ну есть же системы где он юзается, которые сложнее прошивок для роутеров, например вся Riak инфраструктура, DynamoDB, Demonware-сервера, джаббер, рэббитмк.

Ну и Максим Сохатский с тобой бы не согласился правда он шизик
МИНИМАЛИЗМ, БЫСТРОТА ПРОТОТИПИРОВАНИЯ, УПРАВЛЯЕМОСТЬ, ПРОСТОТА
10/02/20 Пнд 21:49:59 159756929
>>1597387
> Сохатский
Зарепортил.

мимо
Аноним 11/02/20 Втр 10:54:42 159783530
>>1596379 (OP)
>Динамика
>Жидко пукнув умираешь от несоответствия типов
>Супервайзер тебя воскрешает
>Жидко пукнув умираешь до бесконечности
Аноним 11/02/20 Втр 11:17:06 159784631
>>1597835
>не слышал про нормальную культуру тестов
>выбирает пердолинг с типами
>кодовая база стала в 3раза больше
>куд-кудах типы сошлись значит работает
>все равно ловит ошибку, потому что перепутал номер карты с идентификационным кодом
>let it crash нинужон
>весь код в трай/кетчах и прочей defensive параше, все равно приложение падает от рандомной потери пакета на магистрали
>uptime <90%
>захотел попрограммировать на акторах
>Akka урезанное говно без блокирующих вызовов(sic!)
>без типов
>хочешь взять Typed Akka
>ещё более урезанное, до сих пор в стадии experimental
>взял Cloud Haskell
>ничего не работает
>зато типы
Аноним 11/02/20 Втр 11:45:25 159786732
>>1597835
>>1597846
Вы оба уебаны, возведшие инструмент в культ, вместо того, чтобы просто пользоваться им и спорите на дневном дваче о вещах.
Аноним 11/02/20 Втр 11:58:26 159787833
java vs Elixir?
Аноним 11/02/20 Втр 12:03:15 159788534
Аноним 11/02/20 Втр 12:03:54 159788635
Аноним 11/02/20 Втр 12:05:26 159789036
Аноним 11/02/20 Втр 12:16:46 159791137
Аноним 11/02/20 Втр 12:18:46 159791438
Аноним 11/02/20 Втр 13:07:55 159799339
>>1597846
>>все равно ловит ошибку, потому что перепутал номер карты с идентификационным кодом
решается через value classes, если ты о Scala

>>весь код в трай/кетчах и прочей defensive параше, все равно приложение падает от рандомной потери пакета на магистрали
если ты пишешь на Java, то да, там принято пробрасывать исключения и обрабатывать их в try/catch. В Scala используют тип Try или Either.

>>Akka урезанное говно без блокирующих вызовов(sic!)
блокирующие вызовы там имеются, только их никто не использует в продакшене, т.к. ты повесишь поток, на котором могут исполнятся другие акторы

>>хочешь взять Typed Akka
>ещё более урезанное, до сих пор в стадии experimental
Akka Typed уже давно не experimental и находится в стабильной ветке.
Аноним 11/02/20 Втр 13:54:11 159805840
>>1596379 (OP)
Зачем перекатываться на язык одного фреймворка? Ведь на Elixir ничего кроме вебни не пишут. А если и пишут, то в 90% случаев это переписывание проектов с Ruby/RoR.
Ведь для этого языка даже нет адекватной поддержки IDE какой-нибудь IntelliJ IDEA с плагином. Только какие-то мутные плагины для VS Code, которые покрывают дай бог 10% функционала. Считай одна подсветка синтаксиса да и только.
Аноним 11/02/20 Втр 13:57:10 159806341
Аноним 11/02/20 Втр 14:01:14 159807042
>>1598058
>нет адекватной поддержки IDE
Зачем IDE для elixir?

>>1598058
>язык одного фреймворка? Ведь на Elixir ничего кроме вебни не пишут
Микросервисы всякие без phoenix пишутся и вполне збс. Мне чаще приходится писать без феникса, чем с ним.
Аноним 11/02/20 Втр 14:04:40 159807643
>>1597914
>с сисярпа/пистона за две недели перекотился в элик
Считай что похоронил карьеру разработчика. Теперь будет ковыряться в помойном проекте, который котиков показывает и бояться сменить работу, т.к. компаний, который используют эликсир - хуй да нихуя.
Аноним 11/02/20 Втр 14:07:16 159807744
>>1598070
>Зачем IDE для elixir?
Автодополнение и intelisense по коду проекта и подключенным библиотекам. Интеграция со системой сборки и библиотеками для тестирования - чтобы я мог прогнать тесты из IDE, посмотреть на упавшие тесты и щелчком мыши перейти на них. Какая-никакая поддержка со стороны IDE, которая подсветит некорректное использование функции/метода или неверный переданный тип еще до того как я соберу проект и запущу его. Много чего. Ты никогда не пользовался IDE?
Аноним 11/02/20 Втр 14:07:38 159807945
>>1597993
>решается через value classes, если ты о Scala

>пердолишь отдельный тип данных на каждую пиздюльку
>спустя пол года разработки всё в кастомных типах, никто нихуя не понимает
>стоимость поддержки возрастает настолько, что обгоняет проект со 100% бихейвер-тест покрытием

>В Scala используют тип Try или Either.
Лучше чем исключения, но всё равно defensive, плюс всё заврапано-переврапано.

>блокирующие вызовы там имеются, только их никто не использует в продакшене, т.к. ты повесишь поток, на котором могут исполнятся другие акторы
Я про это и говорю. В Erlang/Elixir такой проблемы нет.

>Akka Typed уже давно не experimental и находится в стабильной ветке.

This module is currently marked as may change in the sense of being the subject of active research. This means that API or semantics can change without warning or deprecation period and it is not recommended to use this module in production just yet—you have been warned.

https://doc.akka.io/docs/akka/2.5.6/scala/typed.html
Аноним 11/02/20 Втр 14:13:24 159808246
>>1598076
Ни то что на питоне/сишарпе - сплошной рокет-саенс.
Как раз на эликсире относительное количество интересных проектов больше, чем на питоне или сишарпе.
Олсо, ты так пишешь, как будто это какой-то необратимый переход и нет возможности вернутся назад или перекатиться куда-то ещё.
Аноним 11/02/20 Втр 14:17:21 159808747
Аноним 11/02/20 Втр 14:18:54 159808848
>>1598058
>Ведь на Elixir ничего кроме вебни не пишут.
Пишут в основном апи-сервисы, которые уже или в скором времени нужно будет активно скейлить. Так же сервисы где много межпроцессвого взаимодействия или много всяких хитрых процессов в бекграунде.

>Ведь для этого языка даже нет адекватной поддержки IDE какой-нибудь IntelliJ IDEA с плагином.
Так плагин для идеи есть, весьма неплохой, уже много лет регулярных релизов.
Аноним 11/02/20 Втр 14:34:30 159810049
>>1598077

Пользовался, но мне кажется, что она реально нужна для монстров типа Java, а на всякой лайтовой хуйне сач ас elixir, ruby, python можно и в обычном редакторе с подсветочкой хуярить спокойно.
Аноним 11/02/20 Втр 14:41:31 159810950
нахуя мне элик/эрланг-писать онлайн игру на 1кк игроков?
Аноним 11/02/20 Втр 14:53:07 159812651
>>1598100
В чем лайтовость-то, лол? Или ты мне предлагаешь запоминать имена всех методов и функций в библиотеках? А тут раз - и тебе выдали список доступных для вызова функций и подсказали типы (лул) и порядок аргументов с возвращаемым значением.
Аноним 11/02/20 Втр 14:53:30 159812752
>>1598087
Короче, ты притащил старую версию Акки, если ты не догнал.
Аноним 11/02/20 Втр 14:56:25 159812853
>>1598079
>
>>пердолишь отдельный тип данных на каждую пиздюльку
>>спустя пол года разработки всё в кастомных типах, никто нихуя не понимает
>>стоимость поддержки возрастает настолько, что обгоняет проект со 100% бихейвер-тест покрытием
>
Ну, это уже какой-то манямирок, если честно. А как ты себе представляешь решение проблемы, которую ты описал? А твой наезд на Try/Either просто не от большого ума. Подобные типы обрабатываются через pattern matching и for-comprehension.
Аноним 11/02/20 Втр 15:02:16 159813454
>>1598082
Похихикал в шепот с твоих "интересных проектов". Открыл эликсирджобс, открыл полтора десятка вакансий на эликсире - один сплошной веб, где нужно либо пилить что-то на phoenix, либо требуется знание ruby/ror и опять phoenix, лул. На эрланге в основном проекты от телеком сектора, которые пилят какие-то мутные прошивки роутеров и прочий шлак где нужно гонять байтики из сокета в сокет.
Аноним 11/02/20 Втр 15:03:16 159813555
>>1598082
>Олсо, ты так пишешь, как будто это какой-то необратимый переход и нет возможности вернутся назад или перекатиться куда-то ещё.
Ну, так и есть, если ты включишь голову хоть ненадолго. Кому захочется нанимать микрочелика, который знатно так деграднул на разработке помойных веб-проектов на одном фреймворке, лол.
Аноним 11/02/20 Втр 15:04:04 159813756
>>1598109
Смотри, как бы не пришлось прикручивать C++ код через NIF как это сделали ребята из Daemonware, лол.
Аноним 11/02/20 Втр 15:05:22 159814057
>>1598137
а мож я не хочу рпг,а хочу статежку шахматы,где все медленно происходит?
Аноним 11/02/20 Втр 15:08:50 159814458
>>1598126
Возможно ты прав. Лет 6 назад я накатил RubyMine на свой древний комп - оно там люто лагало и я с тех пор пишу в легких редакторах и да, запоминаю функции и всю хуйню, лол. Вероятно, я многое упустил, игнорируя IDE, а может и нет - больше запоминал все это время.
Аноним 11/02/20 Втр 15:19:49 159815359
>>1598134
А что и на чем ты пишешь на работе? Не доебываюсь - всегда было интересно, чем таким крутым занимаются чуваки, которые воротятся от web-разработки как от говна.

Вообще, web это же не только CRUDы всякие клепать безостановочно - для такого elixir и не нужен. Тут же фишка в том, что ты не формы пишешь, а масштабируемое, распределенное приложение, которое на нескольких серверах ебошит и обрабатывает дохуя запросов, считаю, что это вполне благородное занятие и далеко не любая обезьяна сможет делать такое же.
Аноним 11/02/20 Втр 15:20:51 159815560
Аннотация 2020-[...].png 17Кб, 716x340
716x340
как этой хренью пользоваться?
Аноним 11/02/20 Втр 15:22:15 159815661
>>1598140
Ну какую-нибудь пошаговую херню BEAM точно потянет.
Аноним 11/02/20 Втр 15:22:46 159815762
>>1598155
Вроде в конце выражения нужно точку ставить, если я не ошибаюсь.
Аноним 11/02/20 Втр 15:23:00 159815863
>>1598155
В erlang нужно точку ставить в конце выражения, т.е.:

1 + 1.
Аноним 11/02/20 Втр 15:24:29 159815964
Аноним 11/02/20 Втр 15:25:23 159816165
как Хелло волд написать?
Аноним 11/02/20 Втр 15:26:50 159816366
Аноним 11/02/20 Втр 15:29:44 159816467
>>1598128
Это решается обычной культурой тестирования.

>Подобные типы обрабатываются через pattern matching и for-comprehension.
Дело в том, что их теперь нужно везде обрабатывать и писать код который их будет учитывать.
Аноним 11/02/20 Втр 15:35:46 159816868
>>1598134
Зачем брать Elixir для простого веба, если на RoR можно пердолить фичи намного быстрее? А те кто с RoR переписывают на Elixir значит делают это не просто так, видать у них уже не совсем простой веб.
Аноним 11/02/20 Втр 15:35:54 159817069
Аноним 11/02/20 Втр 15:37:12 159817170
>>1598170
В оп-посте на второй пикче написано же
Аноним 11/02/20 Втр 15:37:30 159817271
>>1598135
На питоне подавляющее большинство проектов - макакинг на джанге, а на сисярпе - унылый тырпрайз, так что никакой деградации.
Аноним 11/02/20 Втр 15:40:28 159817372
>>1598164
Т.е. иными словами, ты предлагаешь перенести часть работы компилятора на плечи разработчика и чтобы он раз за разом покрывал подобные случаи тестами.
Думаю, что мне сложно будет донести мою точку зрения, т.к. ты никогда не работал над действительно крупным проектом, над которым трудится десяток-другой разработчиков.
Аноним 11/02/20 Втр 15:41:11 159817573
>>1598171
пиздец,гуглил
решения из консоли сука нигде не было,только ИО формат
Аноним 11/02/20 Втр 15:41:59 159817674
>>1598168
Elixir супербыстр на подобных задачах из-за BEAM. Эта же виртуальная машина позволяет тебе держать условный миллион-другой активных подключений от клиентов и раздавать им данные.
Аноним 11/02/20 Втр 15:42:47 159817775
Аноним 11/02/20 Втр 15:43:47 159817976
>>1598144
Железо нынче стоит неприлично дешево. AMD подогнало многоядерные процессоры за недорого. Память стоит как никогда дешево. Мне мое психическое здоровье дороже. Еще бы запоминать все сигнатуры методов и боятся ошибиться, когда мне IDE подскажет нужный метод на раз-два.
Аноним 11/02/20 Втр 15:49:09 159818777
>>1598155
>>1598175

Если оба поста твои, то на всякий случай обращаю твое внимание на то, что на скриншоте запущен эрланговый repl и elixir в нем, очевидно, работать не будет
Аноним 11/02/20 Втр 15:51:47 159819178
>>1598187
ну я только эрланг и ставил,для эликсира надо еще одну хрень качать
Аноним 11/02/20 Втр 15:53:30 159819479
>>1598191
Но ты спросил в elixir треде как писать hello world, пытаясь сделать это на эрланге и не уточнив это
Аноним 11/02/20 Втр 15:55:30 159819880
>>1598194
по идее это почти одна хрень.у вас должен быть один тред
Аноним 11/02/20 Втр 15:56:25 159820181
>>1598198
Согласен. Раньше был один, но уже давно утонул и кто-то создал только для elixir.
Аноним 11/02/20 Втр 15:58:00 159820482
Аноним 11/02/20 Втр 16:00:53 159820683
Аноним 11/02/20 Втр 16:02:24 159820984
Аноним 11/02/20 Втр 16:03:31 159821085
>>1598209
Спс, угарнул)) Блин elixir классно и весело!)))) |>|>|>|>|>
Аноним 11/02/20 Втр 16:04:40 159821286
>>1598210
может и весело,но слишком он хипстерски,а эрланг узкоспециализированый
Аноним 11/02/20 Втр 16:07:40 159821587
>>1598177
Ну ты сравнил. Просто для интереса поинтересуйся как реализован GC в Go и в BEAM. В BEAM у тебя сборка мусора происходит без STW и мусор собирается отдельно для каждой нити/потока. В Go до недавнего времени даже сборщика мусора по поколениям не было. Он по КД тормозил всю программу и сканировал весь хип на предмет мертвых ссылок.
Аноним 11/02/20 Втр 16:09:45 159821888
>>1598173
Я работал в конторе на пол тысячи рыл у которой ровно проект, и большая часть бекенд разработки там была на Elixir, так что хуёвая ты ванга.

Типы конечно же повышают надёжность, но за это нужно платить, при этом они всё равно не заменяют написания тестов и не гарантируют ~100% аптайм.
бтв в Elixir есть типы и статический анализатор, просто как и в кложе они опциональны.
Аноним 11/02/20 Втр 16:10:00 159821989
>>1598212
>но слишком он хипстерски
Обоснуй
Аноним 11/02/20 Втр 16:10:22 159822190
>>1598215
я в душе не ебу,я пхпешник,го прос на слуху,типо ультрабыстр и многопоточен
Аноним 11/02/20 Втр 16:26:57 159823391
>>1598218
>в кложе они опциональны.
в кложе можно указать компилятору типы примитивов, кроме хешей, иначе он использует рефлекшен.
Аноним 11/02/20 Втр 17:09:18 159825992
>>1598218
Твои аргументы смешны. Чем платить-то? Больше кода писать? Так type inference уже даже в Java завезли, что уж говорить о Scala. Заворачивание проблемного кода в Try/Either дело одной строки. А обработка подобных кейсов через for-comprehension и pattern matching - дает тебе возможность не указывать типы, но при этом безопасно обрабатывать ошибки.
Твой Эликсир с Эрлангом вообще про другое. Но ты видимо бывший похапешник, который никогда не писал на функциональных языках со строгой статической типизацией.
Аноним 11/02/20 Втр 17:33:22 159828893
>>1598259
Типичный бред статикодебила, который про динамику слышал только из страшных сказок. Это твои "аргументы" смешны, но можешь дальше заниматься самогипнозом.
Я на статике писал и сделал сознательный в пользу динамики. Вместо елма кложурскрипт, вместо скалы эликсир, а ты можешь дальше жрать говно на своей статикопараше, это твой выбор.
В каждый кложа/эликсир тред обязательно залетает очередной статикодебил, каждый раз его кормят говном и каждый раз он сливается.
Аноним 11/02/20 Втр 17:50:12 159831694
а что на этой фигне можно писать?
Аноним 11/02/20 Втр 17:53:51 159832695
>>1598288
Ты просто фанатик, который ничего не понимает в программировании. На динамикопараше он видите ли пишет отказоустойчивые приложения, лул! Слушай сюда - обработать HTTP запрос, сходить в базу и выплюнуть JSON - это не отказоустойчивый и высоконагруженный сервис, дурачок.
Аноним 11/02/20 Втр 17:59:00 159834096
Аноним 11/02/20 Втр 18:19:07 159837197
>>1598326
Поссал в ебасос статикодебилу, а он и рад.
Иди дальше типы программируй, дебилушка.
Аноним 11/02/20 Втр 18:20:03 159837298
как придумаю онлайн игрушку,так начну учить ваш язык,а пока только пхп
Аноним 11/02/20 Втр 18:25:56 159837899
Аноним 11/02/20 Втр 18:27:07 1598380100
>>1598371
Чет проиграл с твоего самозаовна.
>ой, а тут нужно было число передать!
>ой, а тут нужно было список чисел передать!
>ну ничего, сейчас тесты напишу!
Аноним 11/02/20 Втр 18:31:27 1598384101
>>1598380
Уебан который кодирует каждый инт и стринг в приложении кастомным типом, это ты?

Олсо, тесты пишутся сразу, еблан. Нет тестов - нет фичи, и это безотносительно типизации.
Аноним 11/02/20 Втр 18:32:25 1598385102
>>1598384
А чего ты сразу агришься то? Ты еще и ТДД-шизик, который сначала пишет тесты-тестики. Таких уже ничего не спасет.
Аноним 11/02/20 Втр 18:37:55 1598393103
>>1598385
Можешь не писать тесты, но твой развесистый пердолинг на типчиках от ошибок тебя равно не спасёт.

О чем нормальные люди знают, поэтому в том же Haskell есть
HUnit, QuickCheck, SmallCheck, HSpeс и так далее.
Аноним 11/02/20 Втр 18:39:18 1598396104
>>1598393
Ты сельский что-ли? Поди в каком-нибудь Иркутске живешь. Ты хоть на недельку выберись в столицу - посмотри как люди по-настоящему программируют и деньги зарабатывают. Что ты тут носишься со своей динамикодрисней и борщами, лол?
Аноним 11/02/20 Втр 19:13:38 1598440105
Аноним 11/02/20 Втр 19:14:55 1598441106
11/02/20 Втр 19:36:37 1598458107
>>1598173
>Т.е. иными словами, ты предлагаешь перенести часть работы компилятора на плечи разработчика и чтобы он раз за разом покрывал подобные случаи тестами.
Тесты поведения стоят на ступень выше любых проверок типов и уже валидируют все, что могли в теории отловить типы. Тем более с TDD, где каждая строчка кода выполняется тестами по определению. Зачем мне добавлять анальный нул-чек в функцию, если а) все возможные вызовы к этой функции в программе протестированы б) null - не часть публичного интерфейса данной функции?
Аноним 11/02/20 Втр 20:10:24 1598486108
Лол, треды по OTP заводят всего пару раз в год, но каждый раз одинаковый срач.
Аноним 11/02/20 Втр 20:19:12 1598496109
>>1598486

Алсо:

> НЕТ РАБОТЫ!
Вакансий мало, но они есть и они хорошие. У меня на нескольких сайтах висит резюме с опытом почти 4 года - почти каждую неделю пишут на email HRы, иногда несколько раз, а иногда настойчиво просят ответить хотя бы отказом, чтобы они знали, что я прочитал письмо. Мало людей пишет на elixir, поэтому ты почти со старта достаточно востребованный специалист. Палю годноту.

> ДИНАМИЧЕСКАЯ ТИПИЗАЦИЯ!!!!
Иногда хочется, чтобы была статическая, да, но в целом это вообще никак ощутимо не мешает при работе - редко что-то падает. Ебашь guard'ы где надо, приводи типы, пиши спеки, юзай dialyser.

> ТОЛЬКО ДЛЯ WEB. WEB НИНУЖОН!
>>1598153
>Вообще, web это же не только CRUDы всякие клепать безостановочно - для такого elixir и не нужен. Тут же фишка в том, что ты не формы пишешь, а масштабируемое, распределенное приложение, которое на нескольких серверах ебошит и обрабатывает дохуя запросов, считаю, что это вполне благородное занятие и далеко не любая обезьяна сможет делать такое же.

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

Master/Slave одним конфигом в 10 строк, если не меньше, делается.

Elixir умеет равномерно загружать все ядра на твоей железяке без проблем и лишнего кода.
Аноним 11/02/20 Втр 20:22:12 1598500110
шо там с экосистемой?
запилить авторизацию и регистрацию на сайте можно без геммора?
Аноним 11/02/20 Втр 20:39:21 1598528111
>>1598496
>Мало людей пишет на elixir,
тогда нахуя они пишут с нуля,либо переводят на него проэкт?
Аноним 11/02/20 Втр 20:58:07 1598563112
>>1598528
Относительно мало, конечно. Относительно PHP, Java, Python и т.д.
Аноним 11/02/20 Втр 21:01:39 1598568113
>>1598500
Есть всякие либы типа https://github.com/ueberauth/guardian

Но там много лишней хуйни, поэтому проще написать самому. Регистрация понятно как делается, ничего особенного, а аутентификация делается изи через plug на ~50 строк.
Аноним 11/02/20 Втр 21:06:38 1598575114
>>1598500

https://hex.pm/ говорит, что 10351 либа опубликована сейчас. Плюс ты можешь юзать все, что было написано на эрлангах и не опубликовано в hex.
Аноним 11/02/20 Втр 21:14:10 1598579115
Guardian для JWT авторизации.
Если JWT не нужен, то можно юзать обычный Phoenix.Token
Аноним 11/02/20 Втр 21:32:01 1598592116
Аноним 11/02/20 Втр 21:33:07 1598594117
>>1598579
фреймворк не интересует,только ручками,только хардкор
Аноним 11/02/20 Втр 21:46:46 1598606118
Аноним 11/02/20 Втр 21:48:23 1598608119
>>1598606
я конечно не эрлангист,но чет слишком просто выглядит
Аноним 11/02/20 Втр 21:59:47 1598629120
Подивитесь как пиздат декларативный код https://ideone.com/mKQFma

Не знаю, зачем я это написал, но подивитесь!
Аноним 11/02/20 Втр 22:02:05 1598634121
>>1598629
Сам доебусь до себя:

IntegersFinder.find_integers(["a", 1, "b"], ["huy"]) # => [1, "huy"]
Аноним 11/02/20 Втр 22:11:41 1598657122
Аноним 11/02/20 Втр 22:13:21 1598659123
>>1598657
Это даже в пехе есть:
array_filter($list, fn($x) => is_int($x));
Аноним 11/02/20 Втр 22:13:54 1598660124
>>1598657

Очевидно, хотелось показать некоторые фичи языка, а не решить проблему поиска integers.
Аноним 11/02/20 Втр 22:15:59 1598665125
>>1598659
Конечно есть.
Правда вот это is_int($x) фу.
Аноним 11/02/20 Втр 22:17:35 1598669126
Аноним 11/02/20 Втр 22:19:38 1598674127
вот если соберусь пилить приложение,хто мне поможет,язык малопопулярен же?
Аноним 11/02/20 Втр 22:37:21 1598705128
123.png 124Кб, 933x698
933x698
>>1598657
>>1598660

Моя хуйня еще и быстрее в три раза как минимум в 1000 испытаниях на списке из 500к элементов
Аноним 11/02/20 Втр 22:53:30 1598744129
>>1598665
Почему фу? На элике тут таж фигня >>1598657
Только я бы короче написал:
array_filter($a, 'is_int');
Аноним 11/02/20 Втр 22:55:29 1598748130
>>1598674
Пиши на elixirforum и google groups. Хотя в 98% случаев всё гуглится.

>>1598705
Проиграл с этого «бенчмарка».
Аноним 11/02/20 Втр 22:57:04 1598750131
>>1598744
Я и говорил про передачу аргумента, которая ненужна.
Аноним 11/02/20 Втр 22:59:46 1598754132
>>1598629
Почему у тебя первая функция без тела?
Аноним 11/02/20 Втр 23:07:25 1598771133
>>1598754
Это чтобы задать дефолтное значение второго аргумента.
Когда у тебя одинаковая функция, но много разных сигнатур то оно так заедается.
Аноним 11/02/20 Втр 23:29:33 1598801134
>>1598771
Выглядит как оверинжиринг этот ваш элик, если на нем все вот так вот пишется. Еще меня смущает отсутствие циклов и что вместо них надо использовать рекурсию, это правда?
Аноним 11/02/20 Втр 23:33:40 1598808135
>>1598801
рекурсия проще циклов
Аноним 11/02/20 Втр 23:35:46 1598810136
>>1598808
Мне не проще. Мозг ломается, когда пытаюсь даже примитивные вещи осмыслить через рекурсию - всегда ее избегал.
Аноним 11/02/20 Втр 23:36:37 1598812137
>>1598808
Может есть какие-то книжки/сайты/статьи, где бы императивщикам на пальцах объяснялось функциональное программирование и декларативный подход?
Аноним 11/02/20 Втр 23:39:59 1598814138
>>1598810
рекурсия это ссылки функции самой на себя, хвостовая рекурсия это возврат в исходную точку в конце вычислений, второе предпочтительнее так как не надо раскручивать стек.
Аноним 11/02/20 Втр 23:42:37 1598818139
>>1598814
Я знаю, что такое рекурсия. Речь о большей сложности построения рекурсивных алгоритмов по сравнению с итеративными.
Аноним 12/02/20 Срд 00:22:22 1598861140
>>1598818
>о большей сложности
скорее непривычности
Аноним 12/02/20 Срд 04:34:25 1598970141
>>1598440
Тебе престарелые мамка с папкой квартирку подогнали, а ты сидишь там на каких-то мутных дядей работаешь, Андрей.
Аноним 12/02/20 Срд 04:35:34 1598971142
>>1598496
>поэтому ты почти со старта достаточно востребованный специалист.
>висит резюме с опытом почти 4 года
Хех, мда, как бы тебе сказать, мдэээ...
Аноним 12/02/20 Срд 04:36:31 1598972143
>>1598496
Ну как бы ты понял где обосрался, да? 4 года опыта в Elixir, на котором никто не пишет. Ясен-красен тебе все пишут, лол.
12/02/20 Срд 06:54:11 1598983144
>>1598801
>Еще меня смущает отсутствие циклов
list comprehensions/high-order functions
>вместо них надо использовать рекурсию
Чистая рекурсия в функциональных языках почти всегда является антипаттерном, единственный оправданный случай ее использования, который я могу придумать - это проход по вложенным структурам данных с произвольной глубиной.
Аноним 12/02/20 Срд 08:09:49 1598993145
>>1598971
Ну так пишут мне уже далеко не первый год
Аноним 12/02/20 Срд 12:14:48 1599094146
>>1598801
Циклы и мутабельные структуры - это говнарская параша, чел.
Используй стандартные комбинаторы или for-comprehensions. Мысли описательными цепочками трансформаций, а не императивщиной ёбаной.
Аноним 12/02/20 Срд 12:15:52 1599097147
>>1598970
Чёт вообще мимо.
Что за Андрей, кстати? твой протыкатель?
Аноним 12/02/20 Срд 12:23:01 1599099148
>>1599094
описал еблет твоей мамки
Аноним 12/02/20 Срд 12:43:56 1599102149
Почему никто не обсуждает вот эти прыгающие двоеточия?

>iex> list = [{:a, 1}, {:b, 2}]
>[a: 1, b: 2]
>iex> list == [a: 1, b: 2]

Ещё постоянные def/do/end от рубистов напрягают.
Аноним 12/02/20 Срд 12:46:31 1599103150
>Discord, Facebook, WhatsApp, Pinterest
Что характерно, каждый из этих сервисов представляет из себя жуткий лагодром.
Аноним 12/02/20 Срд 13:17:42 1599108151
Аноним 12/02/20 Срд 13:17:55 1599109152
>>1599102
Двачую. Еще не очень нравится, когда в языке начинают менять семантику общеизвестных конструкций, в данном случае ++ и <> - тут это конкатенация списков и строк.
Аноним 12/02/20 Срд 13:24:45 1599112153
>>1599108
У меня на райзене лагает.
Аноним 12/02/20 Срд 13:43:58 1599128154
>>1599109
>общеизвестных конструкций
алголораб незаметен
Аноним 12/02/20 Срд 14:08:29 1599153155
>>1599102
Не понял предъявы.

Кейворд-лист - это просто синтаксический сахар, мне лично нравится определение пары как a: b, особенно учитывая что кейврод листы нужны только чтобы передавать список опций для функции типа call(a, b, c: 1, d: 2, e: 3).

Не нравится, делай на туплах.
Аноним 12/02/20 Срд 14:12:10 1599156156
>>1598983
>Чистая рекурсия в функциональных языках почти всегда является антипаттерном, единственный оправданный случай ее использования, который я могу придумать - это проход по вложенным структурам данных с произвольной глубиной.
Ты будешь сильно удивлен, когда узнаешь, как устроены списки в Erlang/Elixir, лол. И что стоит за твоим лист компрехеншн, лул.
Аноним 12/02/20 Срд 14:25:52 1599162157
>>1599156
Они за тем и спрятаны внутрь стандартной библиотеки, чтобы можно было пользоваться нормальными абстракциями, а не хуярить нечитабельную мамрекурсию.
Аноним 12/02/20 Срд 14:42:03 1599171158
>>1599162
Ты так ничего и не понял. Ты типичный ruby-ребенок или php-недоумок, который не знает как работает язык под капотом. Неудивительно, что работодатели берут кого попало, главное, чтобы челик смог осилить Elixir за неделю и кое-как писал с использованием единственного фреймворка, лул.
Это мне напоминает Озон, который как сумасшедший переманивал разработчиков на Go...
Аноним 12/02/20 Срд 15:05:18 1599195159
Кто-нить пробовал решать тестовое от funbox?
Аноним 12/02/20 Срд 15:09:42 1599197160
List comprehension преобразуется в обычную рекурсивную функцию. Правда там ещё компилятор смотрит нужно ли строить список или нет.
lists:map не смотрит, например.

Но вообще этот >>1599162 прав
зачем пердолить рекурсии там где можно юзать стандартный комбинатор, когда это возможно.
Аноним 12/02/20 Срд 15:09:57 1599198161
>>1599171
По существу что-то пукни, шизик.
Аноним 12/02/20 Срд 15:19:01 1599209162
>>1599198
Сельский недоумок пытается в программирование, лол. Ты просто смешон, дуралей.
Аноним 12/02/20 Срд 16:47:28 1599299163
Аноним 12/02/20 Срд 16:50:25 1599302164
>>1599209
Многие великие люди были из глубинки, стереотипный мудак.
Аноним 12/02/20 Срд 17:07:40 1599318165
>>1599299
тут видимо чтение доков го
Аноним 12/02/20 Срд 17:47:26 1599360166
и в чем плюс эликсира над эрлангом?
Аноним 12/02/20 Срд 20:13:10 1599516167
>>1599360
Возможность иметь читабельный код в проектах, которые чуть больше серверной прокладки.
Аноним 12/02/20 Срд 21:45:18 1599650168
Аноним 12/02/20 Срд 23:56:00 1599786169
Т.к. Ruby-тред потонул, а здесь 100% сидят опытные рубисты, спрошу про Ruby. Пробую на зуб многопоточность через Thread.new, в примерах из гугла везде стоит join после создания тредов. Я почитал что он делает, но всё равно не понимаю нужен ли он, потому что все запросы отрабатывают ещё до того, как он вызывается (?!).

Например, при вставке в pry

threads = []
4.times do |i|
threads << Thread.new do
uri = URI.parse("http://www.google.com/sitemap.xml")
res = Net::HTTP.get_response(uri)
puts res.code
end
end

все треды сразу запускаются и коды ответов появляются ещё до того, как я добавлю threads.each(&:join).
Собственно, зачем мне нужен/не нужен join при распараллеливании HTTP-запросов?
Аноним 13/02/20 Чтв 00:05:50 1599800170
>>1599786
Всё, дошло, это внутри REPL треды отрабатывают, а если запустить скриптом, то главный тред завершится раньше детей. Всем спасибо. Переведите код на Elixir для сравнения синтаксиса, если не сложно.
Аноним 13/02/20 Чтв 11:16:56 1600129171
Аноним 13/02/20 Чтв 11:20:27 1600131172
Тот самый awesome-list, который дают парсить в funbox'e в качестве тестового:
https://github.com/h4cc/awesome-elixir

Кодить лучше всего в любой IDE от JetBrains (есть плагин для Elixir, часто обновляется) или VS Code (достаточно только одного расширения - ElixirLS).
Аноним 13/02/20 Чтв 11:20:53 1600133173
Аноним 13/02/20 Чтв 21:39:06 1600798174
Аноним 14/02/20 Птн 01:45:17 1601132175
Киньте PDF Phoenix in action или Programming Phoenix.
Аноним 14/02/20 Птн 08:02:47 1601218176
Аноним 14/02/20 Птн 08:40:49 1601225177
>>1601132
Вторую не рекомендую, сам по ней переезжал с руби на эликсир, лучше бы просто почитал гайд на оф. сайте, там то же самое, только не устарело и не размазано на 400 страниц хуйни. А отдельная книга по фреймворку это вообще пушка конечно.
Аноним 14/02/20 Птн 09:17:54 1601232178
>>1601225
Я хочу начать с квик-старта по Фениксу с помощью книги, т.к. для получения работы обычно нужен хоть какой-то опыт с Фениксом. А после задрочить язык с помощью Programming Elixir 1.6. Разумный путь?
Когда-то так же с рельсами поступал: стартанул с Rails guides, потом задрочил "Ruby programming language" Матца.
Аноним 14/02/20 Птн 09:18:16 1601233179
Аноним 14/02/20 Птн 10:49:26 1601274180
>>1601232
А куда работать-то? В рашке только фанбокс есть, но тебя туда не возьмут, да и странные они.
Аноним 14/02/20 Птн 11:14:09 1601291181
джава или эрланг?
Аноним 14/02/20 Птн 12:09:10 1601335182
Аноним 14/02/20 Птн 13:15:35 1601394183
Аноним 14/02/20 Птн 14:36:13 1601572184
Аноним 14/02/20 Птн 14:36:24 1601574185
Аноним 14/02/20 Птн 19:08:46 1601969186
Аноним 14/02/20 Птн 20:16:54 1602035187
>>1601574
так на хх их 55 а не 8
Аноним 14/02/20 Птн 20:29:37 1602046188
Elixir in action лучшая книга, базарю. Читал почти все основные книги в своё время, эта зашла больше всех
Аноним 15/02/20 Суб 11:49:17 1602442189
>>1602035
Тогда утверждение о том, что работы нет, неверно.
Аноним 15/02/20 Суб 12:47:31 1602516190
>>1602046
Она для продвинутых.
Аноним 16/02/20 Вск 05:16:36 1603524191
>>1602035
Уже выяснили, что 50 вакансий от фанбокса, который размещает одну и ту же вакансию в различных городах, т.к. ищет удаленного elixir разработчика. Остальные 5 вакансий - это Senior Ruby Developer со знанием Elixir и 1 или 2 вакансии, где Elixir не является основным языком разработки и указан только как дополнительное пожелание к кандидату. Итого у тебя ровно 1 вакансия чистого Elixir разработчика от компании, которая выдает тестовое задание, а затем пропадает и не отвечает тебе, лол.
16/02/20 Вск 09:10:20 1603555192
>>1603524
Привет, шизик.
Вернись в свой загон для дебилов.
Аноним 16/02/20 Вск 09:38:38 1603559193
>>1603555
А что он не так сказал?
Мимо
Аноним 17/02/20 Пнд 22:33:19 1605871194
Ух какой же он охуенный, дрочу на него переодичеки, недавно написал чатик на сокетах. Хотелось бы перекатиться, но без существенной потери дохода это практически не возможно.

Мимо Senior Java макака
Аноним 18/02/20 Втр 11:06:56 1606211195
>>1605871
>сокетах
объясните нубу плес, что это? не могу нагуглить ничего понятного
Аноним 18/02/20 Втр 12:43:48 1606287196
Аноним 18/02/20 Втр 16:32:38 1606587197
>>1606287
К сокетам в ОCах это же не имеет никакого отношения?
Аноним 18/02/20 Втр 16:51:38 1606634198
>>1606587
Это сетевые сокеты (настройка над TCP).
Аноним 18/02/20 Втр 21:04:57 1606955199
>>1606634
Только TCP дружок на уровень ниже находится. Иди щеголяй своими знаниями за пределами данного треда.

по сабжу - элик неплох, но в домашнем пользовании и в других делах - мало либ. Когда завезут хотя бы чуть больше репов чем в руби - тогда и можно будет смотреть. Но синтаксис неплох, хотя и не дотягивает до свифта ( к примеру )
Аноним 18/02/20 Втр 22:11:23 1607045200
>>1606955
>это надстройка над TCP
>TCP на уровень ниже находится
Ну спасибо что поправил, дружок.

> Иди щеголяй
Ты пьяный что-ли? Я на вопрос лолкана ответил.

>мало либ
Каких либ тебе не хватает к примеру? Просто интересно.
Аноним 19/02/20 Срд 21:42:03 1608363201
Аноны привет, elixir как первый язык это плохая идея ?
Аноним 19/02/20 Срд 21:47:24 1608368202
>>1608363
Хорошая, но для поиска работы первым языком плохая
Аноним 20/02/20 Чтв 18:05:24 1609254203
Вопрос от нуба.

У меня есть две таблицы. Таблица A - заявка. И таблица - Б - характеристика заявки.

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

Использую Ecto ну и Phoenix
Аноним 20/02/20 Чтв 18:07:19 1609256204
>>1609254
upd. В чатике спрашивать такие даунские вопросы страшно
Аноним 20/02/20 Чтв 19:48:58 1609345205
>>1609254
берешь бд и читаешь как туда заливать
Аноним 20/02/20 Чтв 21:28:38 1609526206
>>1609345
Так, там нет примеров как именно связанные данные заливать? Или я жопой читал?
Аноним 20/02/20 Чтв 22:17:32 1609597207
>>1608368
>для поиска работы первым языком плохая
Мне больше для прокачки в целом. Пробую js, узнал про "функциональный подход", решил, что надо еще какой нибудь язык по серьезней в пару взять.
Аноним 21/02/20 Птн 00:17:17 1609718208
>>1609597
пупок не развяжется
Аноним 21/02/20 Птн 00:25:44 1609728209
Аноним 21/02/20 Птн 20:29:10 1610611210
>>1606955
>Когда завезут хотя бы чуть больше репов чем в руби - тогда и можно будет смотреть
Какие либы нужны? Как раз думаю, что бы такого запилить в опен сорс
Аноним 22/02/20 Суб 18:16:28 1611626211
>>1609597
У Эликсира высокий порог входа, да и ФП не панацея ни разу - просто еще один хитровыебанный способ писать программы ни как фсе. Наиболее удобный язык на мой взгляд - это такой, в котором можно комбинировать разные стили, потому что есть задачи, которые горазды проще и изящнее решать императивно, а есть наоборот. В этом смысле JS (а лучше TS) волне хороший язык, если следовать лучшим практикам на нем.
Аноним 22/02/20 Суб 18:18:03 1611627212
>>1611626
>В этом смысле JS (а лучше TS) волне хороший язык, если следовать лучшим практикам на нем.
а кровь из глаз не идет от приведения типов? и мутабельности в многопотоке?
Аноним 22/02/20 Суб 18:28:55 1611636213
>>1611627
>и мутабельности в многопотоке?
Нужен пример на обоих языках для сравнения

>а кровь из глаз не идет от приведения типов?
Не понял, о чем речь. Elixir такой же weakly dynamically typed, как и JS.
Аноним 22/02/20 Суб 18:41:21 1611651214
>>1611636
Не weakly. И там есть анонимная типизация и опциональный тайпчекер.

Лучше приведи пример бекенд задачи, где ООП удобнее. Для работы с массивным стейтом в Elixir есть целый парк различных стратегий процессов, а для остального я хз.
Аноним 22/02/20 Суб 18:46:41 1611661215
Вот честно, бесит немного синтаксис Эликсира, он получше будет чем у Эрланга, но до уровня хорошего ФП не дотягивает ОКамл к примеру, легко читается.

Но по факту, вот я хочу выбрать себе платформу для пет-веб проекта, и кроме Эликсира/Феникса пока ни к чему не могу прийти. Не на node же писать.
Аноним 22/02/20 Суб 18:48:32 1611665216
>>1611661
Выбор падает на Эликсир из-за коммьюнити, ФП, производительности и наличия основных тулов для продакшена.
Аноним 22/02/20 Суб 18:49:43 1611667217
>>1611661
>Вот честно, бесит немного синтаксис Эликсира,
Не просто бесит, а вымораживает этот мешок сахара + сахар феникса + вагон сахара от экто - в итоге вообще невозможно запомнить, где, что и как писать без лазания в доки.
Аноним 22/02/20 Суб 18:56:16 1611672218
>>1611665
Я начал делать свой пэт на элике в декабре - до сих пор не закончил, да и желания возвращаться нет. В начале февраля по приколу начал на гоше писать по выходным - щас проект почти готов. На гоше испытал давно забытое чувство (после пхп, жс, питона), когда программу пишешь, компилишь, запускаешь - и она блин работает сразу.
Аноним 22/02/20 Суб 21:08:07 1611833219
>>1611661
А чем нода плоха? Если тебе нравится окамл, почитай про bucklescript.
Аноним 22/02/20 Суб 22:51:12 1612022220
>>1611833
Может тогда ocsigen/eliom навернуть?
Аноним 23/02/20 Вск 00:11:12 1612116221
>>1611667
>>1611661

Я перекатился с руби как раз из-за привычного синтаксиса.

Сахара маловато. Я б еще добавил.
Аноним 23/02/20 Вск 00:21:28 1612130222
external-conten[...].png 235Кб, 700x700
700x700
>>1612116
>Сахара маловато. Я б еще добавил.
Аноним 23/02/20 Вск 00:22:28 1612133223
> User
> |> Repo.get!(id)
> |> Repo.preload(:addresses) # Only required when updating data
> |> Ecto.Changeset.cast(params, [])
> |> Ecto.Changeset.cast_assoc(:addresses, with: &MyApp.Address.changeset/2)

Что это за цифра 2, что вообще происходит в последней строчке?
Аноним 23/02/20 Вск 00:22:52 1612134224
>>1612022
Попробывал кстати, таки зашло. Мне просто депрессивно все эти формочки шлепать, а тут теорию типо подключать нужно на каждую html кнопку, отличненько-с.
Аноним 23/02/20 Вск 00:23:48 1612136225
>>1612133
Цифра 2 обозначает сколько аргументов у функции. А так вообще не ебу что там функция делает.
Аноним 23/02/20 Вск 00:25:35 1612138226
>>1612136
Зачем это надо? Эликсир не может посмотреть сколько аргументов передается в функцию и вызвать подходящую?
Аноним 23/02/20 Вск 00:28:06 1612144227
Аноним 23/02/20 Вск 01:22:17 1612181228
>>1612138
Я не уверен, но функция определяется по количеству аргументов. То есть foo(List) и foo(List, fun) это две разные, и потом pattern-matching происходит, то есть количество аргументов нужно чтобы понять какую функцию ты хочешь.
Аноним 23/02/20 Вск 01:23:39 1612183229
>>1612138
А про посмотреть сам - не знаю, мб из за дефолт аргументов конфликт возникет. Я вообще не эликсирщик если что.
Аноним 23/02/20 Вск 01:23:59 1612184230
Аноним 23/02/20 Вск 01:24:27 1612185231
>>1612133
>&MyApp.Address.changeset/2

Это тоже самое, что и:
fn a, b -> MyApp.Address.changeset(a, b) end

Или же:
&(MyApp.Address.changeset(&1, &2))

Вариант с &.../2 самый короткий. Без /2 непонятно, сколько аргументов передавать.
Аноним 23/02/20 Вск 01:37:58 1612189232
>>1612138
foo/1 и foo/2 - это две разных функции.
Аноним 23/02/20 Вск 01:49:24 1612191233
>>1612189
или функция с разной арностью
Аноним 23/02/20 Вск 09:17:47 1612274234
>>1612189
Хуйня аргумент. Когда ты вызываешь foo с нужной арностью элик сам знает какую нужно вызвать. С чего нельзя так же сделать и с лямбдами, передаешь имя и, в зависимости от количества аргументов, вызывается нужная функция. Алсо, пиздец горит от того, что вызов лямбды отличается от вызова функции. Вот нахуя?
Аноним 23/02/20 Вск 09:41:30 1612281235
>>1612274
>вызов лямбды отличается от вызова функции. Вот нахуя?
Это только на первый взгляд кажется ненужной фичей, но на самом деле в функциональном языке очень удобно иметь возможность отличать статичную функцию(в модуле, на который ты объявляешь прямую зависимость) от динамической(которая передана как аргумент), иначе получится жопаскрипт.
Аноним 23/02/20 Вск 09:55:57 1612285236
>>1612281
Удобно для чего? Сколько я не писал на окамле, никогда не было необходимости для меня лично отличать лямбда это или функция ибо и то и другое функции. Наводит на мысль, что в элике лямбды не настоящие функции.
Аноним 23/02/20 Вск 10:40:26 1612299237
>>1612285
Точку при вызове поставить не сложно, и обычно она дает возможность визуально отличить часть внешнего API(переданные тебе лямбды) от внутреннего(используемые тобой функции). Это конечно очень минорная вещь и вкусовщина, но бывает полезно. Если же у тебя вопрос "почему так сделано", то мог бы и в гугле найти - https://elixirforum.com/t/anonymous-functions-the-dot-and-parameters/10886/7
Аноним 23/02/20 Вск 11:20:14 1612311238
>>1612138
Если у тебя есть foo/1 и foo/2, ты можешь захотеть вызвать foo/2 и забыть передать второй аргумент. В таком случае я хотел бы получить ошибку сразу, а не давать эликсиру самому что-то неявно решать, в результате чего ошибка пройдёт дальше.
Аноним 23/02/20 Вск 13:17:42 1612386239
>>1612116
>Я перекатился с руби как раз из-за привычного синтаксиса.
Ладно синтаксис, но там же онли ФП - как к этому адаптировался?
Аноним 23/02/20 Вск 13:20:41 1612391240
>>1612144
Мой уровень знания языка недостаточен для прохода на собес.
Аноним 23/02/20 Вск 13:34:47 1612403241
>>1612311
А можно не указывать количество аргументов, если у меня только одна функция?
Аноним 23/02/20 Вск 14:07:30 1612461242
>>1612299
Как я и думал, это не фича а сайд-эффект хуевого дизайна.
Аноним 23/02/20 Вск 14:25:58 1612496243
>>1612403
Нет. Тут же и так баттхёртят от гипервариативности как видишь.

Олсо, когда ты делаешь импорты каких-то функций, ты опять же обязан явно указать арность (это ещё с эрланга пошло).
Аноним 23/02/20 Вск 14:31:03 1612500244
>>1611667
>вагон сахара от экто
???
Там только у Schema своя DSL (весьма простая и понятная), а в Repo/Query/Changeset/Multi/whatever обычные функции.


>ОКамл к примеру, легко читается
У тебя специфические вкусы, дружище.
Аноним 23/02/20 Вск 14:41:31 1612506245
Просто стоит принять, что функции обозначаются как name/arity. Ты будешь видеть это везде, в документации, в коде, в стектрейсах, на небе, на Аллахе.
Аноним 23/02/20 Вск 17:39:42 1612744246
Аноним 23/02/20 Вск 18:20:30 1612809247
>>1612386
Прочитал книжку programming elixir, там в целом понятно рассказали об особенностях.

Много времени ушло на то, чтобы перестроить мозг, но этого пошло на пользу - даже на руби стал писать более чистый код.
Аноним 23/02/20 Вск 18:45:45 1612825248
учить элик мимо эрла можно?
Аноним 23/02/20 Вск 18:46:28 1612828249
>>1596379 (OP)
Как смириться с фактом, что на этом борщеязыке нет работы и придется до конца дней пилить никому ненужные пет-проекты?
Аноним 23/02/20 Вск 18:56:55 1612839250
>>1612828
Да, на популярных языках полно проектов, но как правило это легаси с говнокодом. Да еще и очередь выстраивается на вакансию.

На элике работы вроде бы меньше, но проекты качественнее, интереснее, больше адекватных заказчиков, готовых неплохо платить. И гораздо меньше конкуренция, поэтому будет проще устроиться, если ты специалист.
Аноним 23/02/20 Вск 18:59:25 1612843251
>>1612839
>больше адекватных заказчиков, готовых неплохо платить
а нахер им но нейм язык,чаще они вообще не понимают на каком это ЯП будет,лишь бы работало
Аноним 23/02/20 Вск 19:02:44 1612847252
>>1612843
Почему нонейм? Эрланг тоже нонейм? Расскажи это вотсапу и дискорду.
Аноним 23/02/20 Вск 19:03:45 1612848253
Аноним 23/02/20 Вск 21:26:53 1613021254
>>1612828
>>1612843
А что если я свой стартап пилить буду и мне нахуй не нужны ваши вакансии за орешки?
Аноним 23/02/20 Вск 21:28:10 1613025255
>>1613021
никто не запрещает
но
1.насколько оправдано это использовать
2 тяжело ли потом все это поддерживать?
Аноним 24/02/20 Пнд 16:28:41 1613634256
>>1612809
>Много времени ушло на то, чтобы перестроить мозг
Стали платить больше денег?

>даже на руби стал писать более чистый код.
ФП-like код не ровно чистый.
Аноним 24/02/20 Пнд 16:32:31 1613638257
Есть пэт-проект на фениксе. Хочу подключить редис и в действиях контроллера выполнять запросы к нему. Вопрос - где хранить подключение к редису? Щас я просто для теста делаю эту строчку в начале каждой функции контроллера:

{:ok, redis_conn} = Redix.start_link

Будь это ООП, я бы взял DI-контейнер и внедрил зависимость, а как тут?
Аноним 24/02/20 Пнд 16:51:04 1613644258
Аноним 24/02/20 Пнд 16:57:14 1613645259
>>1613638
Стартовать надо на запуске приложения, очевидно.
Для это нужно добавить его в список дочерних процессов в твоём ProjectName.Application. Если предполагается иметь один инстанс то даёшь ему имя и потом по нему обращаешься.
https://hexdocs.pm/redix/real-world-usage.html#single-named-redix-instance
Аноним 24/02/20 Пнд 17:49:58 1613693260
>>1613645
Спасибо! Вроде листал этот док, но видимо было не по глазам.
Аноним 25/02/20 Втр 02:43:56 1614238261
>>1613638
Как та пропустил ОТП и пошел сразу писать на фениксе ?
Аноним 25/02/20 Втр 09:46:04 1614339262
Аноним 25/02/20 Втр 09:47:22 1614340263
>>1614238
Я так понял, что элик без феникса особо не нужен, и его везде требуют по умолчанию.
Аноним 25/02/20 Втр 09:57:14 1614346264
>>1614340
Сейчас бы учить Elixir, чтобы устроиться по найму и педалить вебню на фениксе за мелкий прайс. Когда можно запилить собственную биржу или платформу для трейдинга с микросекундными задержками.
Аноним 25/02/20 Втр 10:15:55 1614357265
>>1614346
Ну давай уже ссыль на свою биржу, так и быть, заценим.
Аноним 25/02/20 Втр 10:35:35 1614363266
>>1614357
Рубиребенок порвался, спешите видеть! Скорее беги заучивать эйпиай своего фуникса и пиши блоги, лул!
Аноним 25/02/20 Втр 12:22:02 1614497267
1.jpg 35Кб, 640x640
640x640
В чем все-таки сильные стороны, за которые выбирают Erlang/-oподсосы, а не Scal'y/Clojure?
Аноним 25/02/20 Втр 12:43:06 1614519268
>>1614340
Вообще-то нужен.
Феникс по большому счёту нужен только для написания веб API, и то не для всего, например, для graphql свой фреймворк идет.
Если у тебя весь бекенд - это просто REST API прокладка для базы + сервер авторизации, то кроме феникса можно ничего не знать, но это редкость.
Аноним 25/02/20 Втр 12:52:19 1614537269
Опять язык одного фреймворка?
Аноним 25/02/20 Втр 13:02:40 1614556270
>>1614519
У меня именно REST API сейчас, как прокладка к редис. пробую бота писать

>Вообще-то нужен.
Например? Без подъеба, мне правда интересно
Аноним 25/02/20 Втр 13:14:16 1614571271
>>1614497
>Scal'y
Абсолютно чудовищный язык. Плохо абсолютно все, начиная от самого языка, который по сложности можно сравнить скомбинировав C++ Haskell и Brainfuck. Заканчивая качеством IDE, библиотек и прочего тулинга, который спотыкается на простейших кейсах и всячески портит тебе жизнь как разработчику. Пытаться перекатиться на данный язык может либо убер джава сениор с минимум 8 годами опыта в топовых конторах, либо мамкин любитель борщей, который прознал, что на Scala можно педалить pure FP.
Количество вакансий в стране можно перечислить по пальцам одной руки, и везде требуются люди уже с коммерческим опытом разработки - джуны и перекатывальщики с Java не нужны.

>Clojure
Отсутствие вакансий. Язык намного проще чем Scala, но не проще Erlang/Elixir. Используется преимущественно для клепания вебни мелкого пошиба.
Аноним 25/02/20 Втр 13:14:23 1614572272
25/02/20 Втр 13:16:02 1614575273
>>1614571
>но не проще Erlang/Elixir
Спорное утверждение, в кложе синтаксиса вообще почти нет, что там может быть сложнее эликсира?
25/02/20 Втр 13:17:55 1614576274
1.jpg 21Кб, 500x441
500x441
>>1614571
>который по сложности можно сравнить скомбинировав C++ Haskell
Ты долбаеб
Аноним 25/02/20 Втр 13:19:03 1614578275
>>1614576
Ты просто никогда не писал на Scala, но что-то тут пукаешь в треде. Ты еще приведи пример размер спецификации языка, которая меньше Java, но почему то проблем с компилятором и сложность языка говорит об обратном.
Аноним 25/02/20 Втр 13:32:39 1614594276
>>1614497
сетевые приложения
ВСЁ
Аноним 25/02/20 Втр 15:12:00 1614662277
>>1614571
>Количество вакансий в стране можно перечислить по пальцам одной руки, и везде требуются люди уже с коммерческим опытом разработки - джуны и перекатывальщики с Java не нужны.
А как же Олежа? Каждые три месяца курсы для студентов БЕСПЛАТНЫЕ.
Аноним 25/02/20 Втр 15:25:57 1614681278
>>1614571
Для эликсира вакансий на порядок меньше той же скалы
Аноним 25/02/20 Втр 16:25:32 1614745279
>>1614578
При чем тут Scala? Я спрашиваю про Erlang/Elixir
Аноним 25/02/20 Втр 17:22:56 1614797280
Аноним 25/02/20 Втр 18:04:00 1614826281
>>1614662
Не знаю зачем Нижник этой хуйней занимается. Вместо того, чтобы переманивать джавистов на Scala, они берут нулевых студней и пытаются научить их писать pure FP код на Scala.
Аноним 25/02/20 Втр 18:12:31 1614831282
>>1614826
потому что императивные привычки побороть труднее чем научить заново
Аноним 25/02/20 Втр 18:19:07 1614836283
>>1614831
Пускай тогда продолжает обучать студней, раз такое дело. Я все равно туда не пройду. Старые привычки уже не выбить, как ты сказал.
Аноним 25/02/20 Втр 18:27:32 1614843284
>>1614826
>pure FP код
Как будто что-то сложное
Аноним 25/02/20 Втр 18:27:41 1614844285
>>1614571
>Язык намного проще чем Scala, но не проще Erlang/Elixir
Это же лисп, он вообще своеобразный, код в виде аст, всякие дефтайпы, рекорды, мультиметоды, да код маленький получается в объеме но думать надо больше.
Аноним 25/02/20 Втр 18:45:53 1614863286
>>1614836
Всем похуй на твое нытье чел
Аноним 25/02/20 Втр 18:50:32 1614868287
Аноним 25/02/20 Втр 18:51:41 1614870288
>>1614868
Тебя там говном чтоли закидали что ты уже не первую неделю бегаешь по доске и верещишь про понв и борщехлебов?
Аноним 25/02/20 Втр 18:56:06 1614874289
>>1614870
Прекращай травить, предатель! Лучше проверь, готов ли твой туз?!
Аноним 25/02/20 Втр 19:10:58 1614886290
>>1614874
Кто тебя травит, шизоид. Иди лучше скалу учи и перекатывайся к нам.
Аноним 25/02/20 Втр 19:21:37 1614892291
>>1614886
Куда к "вам" то? Вам не нужны люди с опытом. А ваше зубодробительное собеседования я все равно не пройду. Сами же пишете, что нужны люди с продакшен опытом разработки на Scala. Перестаньте дурить народ и возвращайтесь к своим студентам!
Аноним 25/02/20 Втр 19:23:52 1614893292
image.png 34Кб, 661x350
661x350
>>1614892
>Вам не нужны люди с опытом.
>Сами же пишете, что нужны люди с продакшен опытом разработки на Scala.
ТЫ лично не пройдешь потому что ты отбитый нахуй
Остальные пройдут при желании
Аноним 25/02/20 Втр 19:37:22 1614899293
1.jpg 61Кб, 957x621
957x621
>>1614893
Так а зачем скала когда есть те же хаскель с кложей
Аноним 26/02/20 Срд 21:04:05 1616143294
Фанбокс вообще набирает или только рынок мониторит?
К ним с годом опыта .NET без опыта в эликсире реально прыгнуть, или маловато для них?
Аноним 26/02/20 Срд 22:06:07 1616255295
>>1616143
Пишешь, дают тестовое. Если норм сделал, то пригласят на собес. Все просто.
Аноним 27/02/20 Чтв 21:49:23 1617490296
почему Эрланг для реал тайма лучше чем джава?
Аноним 27/02/20 Чтв 22:25:36 1617521297
Аноним 28/02/20 Птн 00:39:27 1617629298
1
Аноним 28/02/20 Птн 09:58:18 1617780299
Аноним 28/02/20 Птн 11:27:57 1617831300
>>1617780
А джава не умеет или умеет,но через костыли?
Аноним 28/02/20 Птн 12:59:28 1617909301
>>1617831
Там нет процессов. Из коробки только нейтив треды, программировать на которых что-то имеющее больше, чем два потока - оче неприятно. Есть либы типа дистраптора, которые немного упрощают жизнь, но всё равно говно. Ещё есть Akka, но она больше из расчёта на Scala сделана и джава мирке не особо популярна.
Аноним 28/02/20 Птн 13:21:38 1617923302
>>1609728
Спасибо, анон. За 3 потных вечера после работы разобрался с этой хуйней
Аноним 28/02/20 Птн 13:22:54 1617925303
>>1612138
Погугли за перегрузку функций
Аноним 28/02/20 Птн 14:49:17 1617982304
>>1617909
объясните мне тупому,где больше производительность-при многопоточности или асинхронности?
Аноним 28/02/20 Птн 14:58:34 1617993305
>>1617982
Они друг другу ортогональны.
У тебя может быть асинхронная однопоточность, или не-асинхронная параллельность и всё вместе или ничего из.

>где больше производительность
Смотря какая задача решается. Если нужно просто матрицы перебошить, то нужна обычная многопоточность (допустим через MMP или вообще OpenCL). А если допустим по хитрому алгоритму перекладывать данные по потокам - то тут уже без годной асинхронной (конкурентной) модели не обойтись.
Аноним 28/02/20 Птн 15:00:10 1617995306
>>1617993
интересует веб направление с элементами тырпрайза
Аноним 28/02/20 Птн 15:08:10 1618003307
Аноним 28/02/20 Птн 15:09:54 1618005308
>>1617995
Ну тогда надо брать Elixir или Scala + Akka.
Аноним 28/02/20 Птн 15:30:37 1618032309
>>1618005
>Scala + Akka
Зачем, когда есть Elixir? Elixir по всем фронтам уделывает Scala+Akka.
Аноним 28/02/20 Птн 17:12:09 1618126310
>>1618032
Скала выразительнее как язык, там продвинутая система типов, доступ к явалибам и общий перформанс у JVM выше чем на BEAM. Кроме этого, редкие места, требующие оптимизации, можно переписать мутабельным кодом.
Аноним 28/02/20 Птн 17:25:42 1618136311
>>1618126
>там продвинутая система типов
Не плюс.
>общий перформанс у JVM выше чем на BEAM
Спорное утверждение, "общий перформанс" чего? Для распределенной системы ты не найдешь более проверенной и быстрой платформы, чем OTP, а если "перформанс" подразумевает под собой перекладывание чисел, то это все равно не в скалу.
>Кроме этого, редкие места, требующие оптимизации, можно переписать мутабельным кодом.
...но лучше переписать их на си, ассемблер, го, раст и прочее, как это делается везде.
Аноним 28/02/20 Птн 17:36:23 1618147312
>>1618136
>Не плюс.
Схуев ли? Потому что ты сказал?

Мимокрок в поисках шарпотреда
Аноним 28/02/20 Птн 18:06:00 1618175313
>>1618126
>Скала выразительнее как язык
Если под выразительностью ты понимаешь количество фич в языке, тогда да, пожалуй соглашусь. Если Erlang/Elixir + OTP учится условно за несколько недель максимум пару месяцев, то на Scala можно убить от полугода до года, чтобы начать работать с языком на уровне Java++. Т.е. я не говорю о pure FP подходе и использовании сторонних либ от typelevel. На изучение Akka ты еще потратишь добрых пару месяцев пока дойдешь до момента, когда сможешь собрать небольшой проект.

>доступ к явалибам и общий перформанс у JVM выше чем на BEAM
Ну мы же с тобой понимаем, что Erlang/Elixir берут не за чистый перформанс в плане числодробилки, а из-за BEAM и его способности автоматически скейлится по ядрам и писать распределенные приложения без боли.
Если тебе так важна производительность в плане числодробилки, то ты всегда можешь подключить к своему коду на Erlang/Elixir нативный модуль через NIF/Ports. Так сделали ребята из Demonware, например.
Я не говорю уже о STW в JVM GC, которые останавливают все потоки в твоем приложении, чтобы собрать мусор. BEAM умеет собирать мусор по процессам, не останавливая все приложение.

>Кроме этого, редкие места, требующие оптимизации, можно переписать мутабельным кодом.
Тут мы снова возвращаемся к тебе о нужности Scala как языка. Если тебе так критичен перформанс, что ты можешь забить на функциональный подход и начать лепить сайд-эффекты (хотя я прекрасно понимаю, что та же стандартная библиотека коллекций в Scala на 99% состоит из императивного кода с сайд-эффектами), то может быть и не стоило ее использовать изначально? Видно же, что платформа не тащит функциональный код, а для написания императивного кода всегда можно взять тот же Kotlin или последнюю версию Java.

Это я еще не затронул тему поддержки со стороны IDE, качество популярных библиотек и фреймворков. Erlang/Elixir просты как дважды два, поддержкой этих языков в той же IDEA занимаются два человека - один поддерживает Erlang плагин, другой - Elixir плагин.
При этом там все работает и багов практически нет.
Если ты хоть раз пытался написать что-нибудь сложнее Hello World на Scala в IDEA, то наверное в курсе как плохо она перемалывает код на Scala. Т.е. там могут не работать вполне себе очевидные вещи. Есть еще VSCode с плагином Metals, но он далек от идеала и не претендует на звание полноценной IDE. Стоит ли говорить, что тормозит он похлеще IDEA.

Что касается библиотек и фреймворков, то тут тоже не все так очевидно. Lightbend, который занимается разработкой фреймворков для Scala, могла родить только Akka, которая более-менее работает, хотя не претендует на pure FP подход. Play можно сказать уже похороинили. Slick так и не стал де-факто FRM либой для Scala стека. Lightbend это знает и чтобы не терять клиентуру набросала Lagom - фреймворк-комбайн, который в первую очередь ориентирован на Java коммьюнити.

Typelevel стек ничем не лучше. Если ты решишь набросать простенький REST-сервис, то столкнешься с проблемой, когда Http4s не имеет множества фич и в принципе находится в т.н. инкубационном периоде. JSON парсингом занимается истеричка из Берлина, которая отказывается честно бенчмаркать свое поделие. Circe на самом деле не дотягивает до того же Jackson или GSON по количеству фич, скорости работы и простоте использования. Чего только стоит повсеместное использование неявных параметров - хуй проссышь как у тебя код работает.

Т.е. я что хочу скаать - если у тебя в планах пилить веб-сервисы, которые общаются с внешним миром по HTTP, сохраняют данные в какую-нибудь базу и делают не очень хитрую логику, то брать Scala сродни самозаовну.
Ты, конечно же, можешь взять Akka (akka-http, akka-streams), Slick и попытаться на этом запустить свой сервис, но ты очень быстро столкнешься с недостатком либ к которым ты наверное уже привык если ты пишешь на той же Java (Spring) или Elixir/Erlang.
Например, проблема web-security до сих пор не решена в той же Akka. Тебе нужно это пилить самому, когда та же самая проблема решается десятью строками кода на Java + Spring.
Аноним 28/02/20 Птн 19:43:16 1618246314
>>1618126
>Скала
кошмар как язык
Аноним 28/02/20 Птн 19:55:46 1618259315
Да
Аноним 28/02/20 Птн 20:09:33 1618271316
>>1618246
И это говорят в эликсир-треде?
Аноним 28/02/20 Птн 20:48:46 1618319317
>>1596379 (OP)
Как так вышло, что на таком охуенном языке вакансий меньше, чем на мёртвых Objective-C, Delphi и Perl?
Аноним 28/02/20 Птн 20:58:04 1618335318
Эрланг,как и пхп-чисто серверные языки?
Аноним 28/02/20 Птн 21:23:52 1618358319
>>1618147
1) Поскольку на языках без типов уже много лет прекрасно пишут продакшен приложения, то доказывать их полезность надо тем, кто за эти типы топит, а не наоборот.
2) Тесты поведения уже проверяют все то, что могли отловить типы, и если в проекте следуют TDD, то нужность типов сводится к нулю, только букв больше печатать.
Аноним 28/02/20 Птн 21:29:25 1618366320
>>1618358
> на языках без типов
Такое невозможно.
Аноним 28/02/20 Птн 21:37:10 1618375321
image.png 100Кб, 680x680
680x680
Аноним 28/02/20 Птн 23:08:45 1618455322
>>1618358
>Поскольку на чем то пишут, значит оно лучше остальных
Типичная логика нетипизированной бляди, ору
БОльшая часть серьезного тырпрайза крутится на жаве, шарпе, скале, плюсах и прочем. В ноджс завезли тайпскрипт чтобы на крупных проектах не страдать. Но раз уж хипстеры в стартапах и телекоме хуярят без типов, то так уж и быть, убедил.
>Тесты проверяют
Замечательно. А теперь представь что все тесты на типы за тебя пишет компилятор и ИДЕ моментально бьёт тебя по рукам при попытке написать некорректный код. Охуеть как заебись же, да?
Аноним 28/02/20 Птн 23:12:03 1618457323
image.jpg 10Кб, 300x249
300x249
>>1618455
Да что это за языки такие "без типов", блеать? Может, в этих языках и управляющих конструкций нет???
Аноним 28/02/20 Птн 23:26:56 1618473324
1.jpg 264Кб, 3508x2334
3508x2334
>>1618175
>"Язык" с GC
>скейлится
>важна производительность
Аноним 29/02/20 Суб 02:42:45 1618542325
>>1618473
Ты прежде чем тут свои боевые картиночки бросать хотя бы почитай про модель памяти в beam

мимокрок
Аноним 29/02/20 Суб 04:34:39 1618567326
>>1618473
Малолетний болван не понимает как работает GC в BEAM и пукает своими картиночками, лул!
Аноним 29/02/20 Суб 10:12:19 1618636327
Раз уж тут эксперты собрались, поясните за Ocsigen/OCaml для своего недо-стартапа? Там либ не очень много, но они качественней и покрывают основные нужды. Вроде и многопоток писать можно.
Аноним 29/02/20 Суб 10:48:39 1618653328
>>1618636
>Ocsigen/OCaml
>2к20
>недо-стартап
>на полном серьезе обсуждать борщи
хех, мда...
Аноним 29/02/20 Суб 14:22:27 1618786329
>>1618653
>пук
>среньк
>кудах кудах
Что сказать то хотел, инвалид?
Аноним 29/02/20 Суб 14:26:04 1618794330
>>1618786
>Борщи не борщи!
>Мааам, неси борщец!
>Борщик-борщик, борщец мой любимый!
Ты это, давай прекращай там херней заниматься. Не видишь тут люди промышленные языки программирования обсуждают, а не твой никому ненужный мегаборщ окамл, лул!
Аноним 29/02/20 Суб 15:38:37 1618882331
>>1618653
>>1618794
>борщи
>Борщи не борщи!
>мегаборщи

Как вы смеете, я между прочим качественные программы пишу, а не ваши NaN / undefined дрисню.
Аноним 29/02/20 Суб 15:46:58 1618895332
>>1618882
Прекращай травить, мерзавец!
Аноним 29/02/20 Суб 16:00:12 1618910333
Так в эликсире же есть тайпспеки и dialyzer, вам мало?
Аноним 29/02/20 Суб 21:33:55 1619282334
>>1618175
>Erlang/Elixir просты как дважды два, поддержкой этих языков в той же IDEA занимаются два человека - один поддерживает Erlang плагин, другой - Elixir плагин. При этом там все работает и багов практически нет.
Только вот там кроме подсветки синтаксиса (очень тормозной) не работает ничего. В VSCode немного получше, но тоже очень грустно.
Аноним 29/02/20 Суб 22:36:54 1619341335
Допустим, я мидлоповидло в другом мейнстримовом ЯПе, я могу перейти на эликсир не дропаясь в зп? Англюсик б2 есть для работы, могу и на удаленку и в переезд, что один раз уже сделал.
Аноним 01/03/20 Вск 00:40:33 1619502336
>>1619282
>Только вот там кроме подсветки синтаксиса (очень тормозной) не работает ничего.
???
У меня работает там всё что заявлено в плагине и релиз нотах:

Syntax highlighting and semantic annotation
Grammar Parsing (So good, it found bugs in the native Elixir tokenizer and parser)
Inspections with Quick Fixes
Code Folding
Commenter
File Templates
Graphical Debugger - works on all Run Configurations
Breakpoints (in .ex and .eex file)
Stepping
Stack Frames
Go up and Down stack without stepping program
Collapse and expanded nested data structures in local variables
Evaluate code in any frame in Evaluator
Customizable Module Filters
Delimiter/Brace Auto-insertion
Delimiter/Brace Matching
Embedded Elixir (EEx) Templates
Compilation
Decompilation
Dissassembly
BEAM Chunks viewer
Run Configurations
Distillery Release CLI
Elixir
Elixir Mix
Elixir Mix ExUnit
IEx
IEx Mix
Completion
Module Names
Aliases in Elixir Source
Atoms in Elixir Source
Decompiled Aliases from .beam files (Elixir SDK, Erlang SDK, and _build)
Decompiled Atoms from .beam files (Elixir SDK, Erlang SDK, and _build)
Function and Macro Names
Elixir Source
Decompiled from .beam files (Elixir SDK, Erlang SDK, and _build)
Module Attributes
Parameters and Variables
Formatting
Go To
Definition (of macro or function from usage)
Symbol
Module Aliases (Source or Decompiled)
Function and Macro Names (Source or Decompiled)
Test
Test Subject
Find Usage
Refactor
Rename
Moduel Attribute
Parameters and Variables
Spellchecking
Dictionaries for common dependencies:
Elixir
Ecto
Аноним 01/03/20 Вск 00:49:10 1619510337
>>1619282
Работал в Коде, в Атоме и в Саблайме.
Торжественно заявляю, что это всё кусок говна по сравнению с плагином идеи.
Аноним 01/03/20 Вск 04:31:30 1619587338
>>1619282
Ты с плагином Scala не путай, ок да?
01/03/20 Вск 11:32:35 1619675339
>>1618455
>БОльшая часть серьезного тырпрайза крутится на жаве, шарпе, скале, плюсах
Сразу видно дурачка, который свои не подкрепленные ничем предубеждения считает за автоматическую правду. На жаве может быть, но бОльшая часть "серьезного тырпрайза" на жабе - это легаси из времен, когда жава была языком всего, и это легаси ты бы не захотел трогать даже палкой. Остальное - чисто твои фантазии на уровне "сирьезные дяди пишут на сирьиезных языках вроде хаскеля и си крест".
>А теперь представь что все тесты на типы за тебя пишет компилятор и ИДЕ
"тесты на типы" не пишутся практически никогда. А если ты найдешь мне IDE, которая может за меня писать тест "если вызвать этот эндпоинт с таким сетапом в базе и такими параметрами, то вернется такой результат", то я сразу же на нее перейду.
Аноним 01/03/20 Вск 12:49:24 1619721340
>>1619510
Да как? В идее даже Ctrl+B не работает толком.

>>1619502
Больше половины не работает даже на стандартном фениксовском хеллоу ворде.
Аноним 01/03/20 Вск 13:28:12 1619772341
>>1619721
УМВР. Хуй знает что у тебя там не так.
В ебаном VS Code даже Jump to definition по исходникам не работает и автокомплит супер-хуевый.
Аноним 01/03/20 Вск 23:54:37 1620477342
Screenshot from[...].png 99Кб, 1128x686
1128x686
>>1619675
Sorbet проверяет типы в динамическом Ruby через IDE
Аноним 02/03/20 Пнд 05:40:17 1620591343
>>1620477
https://github.com/DarkDimius

Какая ирония! Разработчик компилятора Scala теперь занимается тем, что пишет тайпчекер для Ruby, лул! Вот до чего доводят борщи!
Аноним 03/03/20 Втр 08:23:44 1621634344
>>1620477
>add sorbet types one file at a time
2k20 не уметь в вывод типов.
Аноним 03/03/20 Втр 11:36:20 1621764345
>>1621634
Особенно если их в языке нет.
Аноним 05/03/20 Чтв 20:01:38 1624240346
Неужели тут нет пищущих на этой годноте ?
Аноним 05/03/20 Чтв 20:16:04 1624275347
Аноним 05/03/20 Чтв 20:28:14 1624289348
>>1624240
Я шизик, который пытался писать веб на ОКамле, там фреймпорк даже есть. Но 5-часовой ебли с подключением дб и сидением в make файлах и разбором компиляции заставили меня все таки начать делать пет-проекты на Эликсире. И таки просто глоток свежего воздуха. Похуй уже на динамические типы даже. Да и выбирать вот реально не из чего сегодня. Не на шарпе, пэхэпэ или пайтоне писать же.
Аноним 05/03/20 Чтв 21:04:31 1624358349
>>1624240
Я работаю на нём уже лет 5.
Аноним 05/03/20 Чтв 21:23:01 1624418350
>>1624358
где вакансию нашел?
как вкатиться??
какие зп???
хочу съебать с питон-бекенда
Аноним 05/03/20 Чтв 21:47:12 1624483351
>>1624289
>Не на шарпе, пэхэпэ или пайтоне писать же.
Почему нет? У тебя каждый проект это хайлоад сервис с педаленьем байтов?
Аноним 05/03/20 Чтв 21:48:39 1624488352
>>1624483
Потому что говно языки, ООП не нужно.
Аноним 05/03/20 Чтв 23:58:23 1624678353
>>1624275
Хочу тоже перекатиться, но пугает малое количество вакансий. Как вообще искать их, и насколько безболезненно можно свичнуться без потери по зарплате ?
Аноним 06/03/20 Птн 00:29:31 1624703354
>>1624678
Это самый неудобный вопрос в эликсир тредах
Аноним 06/03/20 Птн 02:20:32 1624774355
>>1624703
Так я не тралирую, риал интересно перекатиться. Но пока немного пугает
Аноним 06/03/20 Птн 05:59:34 1624818356
>>1624488
>ООП не нужно
>Будем хранить пользовательские типы в хешмапе
>user = {"userId" -> "huitka", "account" -> {"account_type" -> "zalupka"}}
>user.get("user_id")
>NPE
>да что ты будешь делать, так падажжии
>user.get("userid")
>NPE
>да ебанарот, так, как там было поле названо?! а, во!
>user.get("acount")
>NPE
>не гневайтесь Алексей Михалыч, сейчас все поправим!
>user.get("account")
>воо, заработало!
Аноним 06/03/20 Птн 10:21:33 1624888357
>>1624418
Обычно вкатываются так: параллельно основной работе на другом языке учат Elixir, пилят учебные проекты, коммитят в либы на гитхабе, пишут свои, в своей конторе говорят - вот я изучаю Elixir, хотел бы на нём работать, если будет возможность. Когда в контору заходит потенциальный проект на Elixir, то менеджеры знают, что у нас есть такой-то чел, который мог бы взяться.
Аноним 06/03/20 Птн 10:24:01 1624890358
>>1624818
К чему этот цирк? Если тебе нужны статические гарантии на ключи, используй структуры.
Аноним 06/03/20 Птн 10:43:10 1624896359
>>1624888
Что бы бус фактор 1 был? Хуевые у вас менеджеры
Аноним 06/03/20 Птн 10:52:04 1624900360
>>1624896
>бус фактор 1
Если там мелкий фикс-прайс проект, то чего бы и нет.
Если надо будет, то можно будет подключить ещё людей.
Аноним 06/03/20 Птн 10:57:01 1624902361
>>1624900
И зачем на мелком проекте эликсир? Шоб было?
Аноним 06/03/20 Птн 11:10:01 1624909362
>>1624902
Может к уже готовому допилить пару фич.
Аноним 06/03/20 Птн 11:13:52 1624911363
>>1624902
Иногда заходят на пробу и смотрят как пойдёт.
Если норм, то потом уже подписывается долгий контракт, под это дело нанимаются еще разработчики, или берутся изнутри компании те, кто хотели бы вкатиться.
Аноним 06/03/20 Птн 11:23:14 1624914364
>>1624888
А если я работаю в такой конторе, где не заходят мелкие проекты, а только на овер 100 чел ?
Аноним 06/03/20 Птн 11:49:08 1624926365
>>1624914
Ливать от туда как можно скорее, очевидно же.
Аноним 06/03/20 Птн 11:50:00 1624927366
>>1624926
Но кушать хочется, и все достаточно лояльно
Аноним 06/03/20 Птн 11:56:15 1624933367
>>1624927
Тогда писать на чём дают и мониторить вакансии, иногда бывает набирают на Elixir людей без коммерческого опыта конкретно на нём, но с опытом на других зыках и в той же предметной области.
Аноним 06/03/20 Птн 12:12:27 1624947368
Аноним 06/03/20 Птн 12:17:22 1624950369
>>1624947
Тогда продавливай Elixir у себя в конторе, для внутренних проектов или хотя бы предложи брать проекты не только на 100 чел, но и небольшие.
Аноним 06/03/20 Птн 13:49:42 1625005370
>>1624950
Как то слишком много многоходовочек нужно, что бы писать коммерческий софт на элике
Аноним 06/03/20 Птн 16:54:17 1625144371
Аноним 06/03/20 Птн 22:27:17 1625490372
>>1625005
Ну так ты сам привёл дохуя условий, которые мешают тебе это делать.
Скажу банальность, но чтоб что-то по существу изменить, нужно хоть немного покинуть зону комфорта, а отмазки можно придумывать до бесконечности.
Аноним 07/03/20 Суб 07:01:25 1625911373
>>1625490
>покинуть зону комфорта
И оказаться без работы, сидя на шее у престарелых родителей и наворачивать мамкин борщец!
Аноним 07/03/20 Суб 09:24:42 1625945374
>>1625911
Ну если ты такой лузер, то да.
В текущей конторе где я работаю вкатываются даже 20летние джеесеры. А в предыдущей людей вообще с улицы брали, правда там был ебейщий курс интернатуры, с менторами уровня Elixir Core Team.
Аноним 07/03/20 Суб 20:37:51 1626559375
>>1625945
>В текущей конторе где я работаю вкатываются даже 20летние джеесеры. А в предыдущей людей вообще с улицы брали, правда там был ебейщий курс интернатуры, с менторами уровня Elixir Core Team.
Ну так им терять нечего, ни зп ни стажа нет
Аноним 07/03/20 Суб 22:56:05 1626805376
>>1626559
Можешь тоже ничего не терять. Пиши на чём пишешь, в чём проблема.
Аноним 08/03/20 Вск 02:50:14 1627006377
>>1626805
>Можешь тоже ничего не терять.
Но я не вкатыш и не жс-хипстер с 6 месяцами опыта
Аноним 08/03/20 Вск 06:34:26 1627055378
>>1625945
>интернатуры
>пердоленье вебни с рубей на ылыксыр
лiл!
Аноним 08/03/20 Вск 11:08:09 1627132379
>>1625945
Не общащай внимани на толстого. Как обстоят дела не только с вебом на феникс, есть ли риал хайлоада с всякими ассинхронными пайплайнами?
Аноним 08/03/20 Вск 18:52:56 1627721380
Эрланг медленный как пайтон, но из-за асинхронности ибет даже джаву в многопотоке.
Аноним 08/03/20 Вск 19:22:45 1627745381
>>1627721
Просто сравни перфоманс Акки и Эрланга, лол.
Аноним 09/03/20 Пнд 02:11:00 1628198382
>>1627745
Жаль что Акка- хуйня, эдаких эрланг для бедных.
Аноним 09/03/20 Пнд 09:01:42 1628268383
>>1628198
>эрланг для бедных.
Боль Эрланг недоумка совсем незаметна, лул. Акка полностью портировала ОТП библиотеку, плюс накинула еще целый ворох интеграций и прочих библиотек для работы с данными. А ты и дальше продолжай переключать телефонные свитчи...
Аноним 09/03/20 Пнд 11:07:45 1628328384
>>1628268
В этом треде уже писали, что может Ерланг, чего не может Акка, и это знает каждый кто работал и с тем и с тем, или знает как акторы реализованы на обоих платформах. Для таких людей разница очевидна. Спорить с дауном, который писал в лучшем случае на акке нет смысла и интереса. Я ещё в 2013 тут нагибал шлаккадрочеров и тогда это было хотя бы забавно, но сейчас просто иди нахуй.
Аноним 09/03/20 Пнд 12:44:20 1628430385
>>1628328
>find("huitka")
>error - "huitka" ne huitka!!
>nu huitka!!
лол, кек, мда, хех...
Аноним 09/03/20 Пнд 12:59:32 1628445386
Аноним 09/03/20 Пнд 16:59:38 1628649387
>>1628445
Прекращай травлю, мерзавец!
Аноним 24/03/20 Втр 20:04:28 1641885388
живи
Аноним 24/03/20 Втр 20:25:50 1641904389
>>1641885
Куда ему, все на пщланг перекатились.
Аноним 24/03/20 Втр 20:42:58 1641924390
Синтаксис Пролога убил язык.
Аноним 24/03/20 Втр 22:02:20 1642035391
>>1641924
Пролог - лучшее что случалось с программированием, и вообще единственная вещь которая оправдывает веру в человечество.
Аноним 24/03/20 Втр 22:45:03 1642097392
Аноним 25/03/20 Срд 14:48:00 1642476393
>>1641924
Синтаксис руби тогда уж
Аноним 25/03/20 Срд 14:54:37 1642487394
>>1642476
Двачую этого, вот этот весь хипстерский сахарок бесит. Я уже писал об этом, но ебаные do end - это же те же самые всеми любимые C { }, только смузи version. Уебищные :atom key:, или как там, вместо эрланговского atom.
Аноним 25/03/20 Срд 18:55:10 1642678395
>>1642487
Чел, тебя уже тут несколько раз обоссали. Успокойся.
Как бы там ни было, по сравнению с криптической ерлангопарашей, где ошибку длинней 1 строчки в терминале без крови из глаз прочитать невозможно, это всё равно намного лучше. Это я говорю как человек, который до еликсира 2 года писал на ерланге продакшн код.
Аноним 25/03/20 Срд 18:58:32 1642682396
Аноним 02/04/20 Чтв 22:08:16 1648790397
>>1596379 (OP)
Что бы посоветовал написать на эликсире, чтобы понять его основные фишки и сильные стороны?
Аноним 02/04/20 Чтв 22:21:54 1648803398
>>1648790
Чат с конференц-румами.
Аноним 05/04/20 Вск 21:54:47 1651304399
Аноним 05/04/20 Вск 22:02:57 1651326400
>>1648790
Лучше бы ничего на этом язычке не писать.
Аноним 06/04/20 Пнд 03:55:37 1651490401
Аноним 06/04/20 Пнд 15:06:14 1651811402
Поясните за ерланг, нужен ли он и его синтаксис в 2к20 или можно просто забить на него и пользоваться эликсиром?
Аноним 06/04/20 Пнд 15:47:30 1651845403
>>1651811
Пользоваться эликсиром.
Аноним 07/04/20 Втр 00:49:49 1652348404
image.png 21Кб, 688x466
688x466
>>1651490
После национализации ерланг тима сьебалась в другую контору.

Вот кстати вакансия на мидла
https://corezoid.com/jobs/
Аноним 07/04/20 Втр 06:28:12 1652381405
>>1652348
Постой. Это же тот самый банк в котором работал Максим.
Аноним 15/05/20 Птн 16:51:15 1689205406
metaconf.png 354Кб, 1440x1271
1440x1271
Аноним 15/05/20 Птн 18:18:14 1689341407
Аноним 05/08/20 Срд 10:48:50 1768723408
Какие перспективы есть у Elixir?
Аноним 05/08/20 Срд 13:37:42 1768929409
>>1768723
Бытиё говна в проруби
Аноним 05/08/20 Срд 14:17:06 1769006410
Может ли модуль иметь поведение генсервера и супервайзера одновременно?
То есть можно ли ебануть
use GenServer
use Supervisor
и чтобы всё работало.

Что делать, если мне нужен генсервер, порождающий процессы и перезапускающий их в случае чего (например, генсервер - лобби игры создает процесс с игровой сессией)?
Аноним 05/08/20 Срд 15:36:23 1769169411
5e7d2681f41320c[...].jpg 7Кб, 184x184
184x184
Аноним 06/08/20 Чтв 16:08:03 1769985412
>>1769006
>Может ли модуль иметь поведение генсервера и супервайзера одновременно?

Нет. Как минимум потому что в обеих проведениях есть init/1, но его спецификация отличается. И вообще у них разные задачи.

например, генсервер - лобби игры создает процесс с игровой сессией
Ты делаешь отдельный динамический супервизор и потом создаёшь процессы через него
https://hexdocs.pm/elixir/DynamicSupervisor.html
https://hexdocs.pm/elixir/DynamicSupervisor.html#start_child/2

Или, если речь про единоразовые таски то
https://hexdocs.pm/elixir/Task.html#module-supervised-tasks
https://hexdocs.pm/elixir/Task.html#module-dynamically-supervised-tasks
Аноним 24/08/20 Пнд 18:39:19 1786730413
b
05/09/20 Суб 03:28:16 1797779414
>>1769169
Но зачем? APL даже сам по себе не настолько мёртв. К тому же есть опенсорсный J, и проприетарный K.

На кого будет ориентирован этот язык? Никаких плюсов и вообще идей нового языка/диалекта перед APL в статье не написано.

Плюс APL был как раз в системе набора, использующей почти всю клавиатуру. Без этого он становится write-only, т.к. со скудным количеством ASCII-символов, которые можно набрать с клавиатуры, добавляются диграфы и триграфы - и один и тот же глиф может обозначать кучу разного в зависимости от соседних знаков, когда в APL значение одно и может зависеть только от числа аргументов (монадические/диадические функции, и то только у половины символики). А ради ньюфагов они от этого откажутся.
Аноним 26/10/20 Пнд 02:03:43 1839867415
Аноним 26/10/20 Пнд 02:04:08 1839868416
Аноним 26/10/20 Пнд 02:45:30 1839878417
>>1614594
> сетевые приложения
> ВСЁ

а что ещё надо?
Аноним 29/10/20 Чтв 22:15:38 1843363418
Аноны, а какие-нибудь дженерик книги по функциональщине посоветуете? А то чёт прочёл Elixir in Action от Юрича, прочёл Programming Phoenix, работаю заебись, но хочется прям академически знаний в функциональном программировании поднабрать. Ну или best practices побольше.
Аноним 01/11/20 Вск 19:11:18 1845637419
>>1843363
"Академические" знания по ФП тебе в эликсире не особо понадобятся.
Аноним 01/11/20 Вск 19:28:14 1845644420
Раз уж тред всплыл

Наконец-то сделали JIT для BEAM (8 лет разработки ебать), одно из редких успешных промышленных применений asmjit.

Оно будет уже в OTP-24.0
https://github.com/erlang/otp/pull/2745
https://www.erlang-solutions.com/blog/performance-testing-the-jit-compiler-for-the-beam-vm.html
https://thinkingelixir.com/podcast-episodes/017-jit-compiler-for-beam-with-lukas-larsson-and-john-hogberg/

Постестили перформанс на рэббите, там буст порядка 40%. В целом автор проекта говорит что на разных тестах разных приложений он получал буст от 30 до 135% по производительности.
Так что поздравляю всех эрлангистов, эликсирщиков и прочих пользователей BEAM.
Аноним 01/11/20 Вск 19:30:34 1845646421
Аноним 01/11/20 Вск 19:41:07 1845652422
>>1845644
Прикольно, что с JITом обычный jason стал уделывать jiffy, которая NIF на няшной. Завтра поставлю себе дев версию, надеюсь удастся повыбрасывать некоторые NIFы что мы на работке понаписали, заменив их обычным эрланг/эликсир кодом.
Аноним 02/11/20 Пнд 18:44:50 1846445423
>>1845637
Согласен. Но интерес так-то не пропал.
Аноним 11/11/20 Срд 17:58:39 1853743424
Бамп годному треду
Аноним 19/11/20 Чтв 03:34:59 1859875425
Аноним 07/12/20 Пнд 00:22:56 1874700426
Живые есть?
Аноним 07/12/20 Пнд 01:01:09 1874714427
Аноним 02/01/21 Суб 03:41:09 1898372428
>>1596379 (OP)
Эликсир подходит для фуллстек разработки?
Аноним 02/01/21 Суб 11:44:40 1898473429
>>1898372
Фулстак только на js. Возможно еще Dart - но ты скорее всего будешь первым (в истории) фулстаком на нем.
Аноним 02/01/21 Суб 18:42:22 1898814430
Аноним 02/01/21 Суб 19:31:01 1898869431
>>1898372
Да, если выбираешь SSR.

Вообще, Phoenix LiveView это глоток свежего воздуха: считай, минус вся остоебавшая SPA-поебень и вообще минимум js-дрисни. Чисто кайф.
Аноним 04/01/21 Пнд 01:31:58 1900056432
image.png 640Кб, 900x611
900x611
>>1598629
> ["sup", 2, "ch", 42, "14", :eighty_eight]
Аноним 31/03/21 Срд 16:13:23 1982487433
Пишу фронтенд на ember (тоже дитя руби мира), захотелось попробовать новый язык, просто как хобби проект. Выбрать эликсир и писать на нем rest для формочек-табличек это не совсем бессмыслица?
Аноним 31/03/21 Срд 16:24:13 1982495434
>>1982487
Норм, мой первый проект на эликсире был где-то в 2015 ember + phoenix, мне понравилось. В эмбере , насколько помню, много хорошего с json-api было связанно, в эликсире есть норм либа для его поддержки.
Помимо этого видел где-то еще пару проектов на связке феникс + эмбер, хотя сейчас такого меньше, сейчас в качестве протокола чаще берут GraphQL + Relay и на фронте реакт. Лично я последний раз рестовую апишку видел в 2017.
Аноним 31/03/21 Срд 18:14:59 1982619435
31/03/21 Срд 18:39:44 1982650436
>>1982619
>/po/

Фу, лоллируй отсюда, говноежка.
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов