
Bohdan
18.10.2018
13:58:42
разве на котлине и на джаве пишется только под андроид?)

Ihor
18.10.2018
13:59:27
некоторые люди себе в ногу могут выстрелить.... огнестрел позволяет это сделать ))

Aleh
18.10.2018
13:59:49
зачем джава если есть kotlin

Google

Bohdan
18.10.2018
14:00:12
ноги вроде у всех целы

Ihor
18.10.2018
14:02:37
мне нечего добавить )

Bohdan
18.10.2018
14:03:23
я тебя не понял - то ли это наброс, то ли это попытка критики

Дмитрий
18.10.2018
14:04:54

Anton
18.10.2018
14:06:35
это не просто бложик или цмс

Ihor
18.10.2018
14:07:21

Anton
18.10.2018
14:07:34
я сам не могу ничего конкретного сказать. т.к. все еще на этапе планирования, а я не тот человек с кем делятся бизнес планами. я просто девелопер, у которого спросили мнения. а я решил поресерчить
что сейчас есть

Ihor
18.10.2018
14:08:03
приходи с ТЗ ))

Anton
18.10.2018
14:08:05
Например очевидно, что пхп не самый лучший выбор для старта проекта.

Maksim
18.10.2018
14:08:58
го тоже не бери) там одни донные пхпшники, а поиск нормального гофера - тот ещё квест с канями.
лучше кого-нить из мира джавы поискать (ну и всякого непотребства после неё)

Google

Anton
18.10.2018
14:09:41

Артур Евгеньевич
18.10.2018
14:10:12
Команда бывших пхпшников будет хуярить новый проект, на том что им скажут(основываясь на советах в чатике), не учитывая их мнение...успех неизбежен

Ihor
18.10.2018
14:10:16

Maksim
18.10.2018
14:11:25

Anton
18.10.2018
14:11:25
и дело далеко не в языке

Ihor
18.10.2018
14:12:05
бери java... на рынке полезен )

Anton
18.10.2018
14:12:26
ну вот я уже услышал мнение, что зачем java если есть kotlin и я согласен с этим
короче общую тендецию я уже услышал.

Артур Евгеньевич
18.10.2018
14:14:00
я не говорю что котлин хуже, просто привел два кейса где джава выгоднее
ну корчое по мне пздц ситуация. то что язык/парадигма выбирается не под задачу, возможности и текущую компетенцию команды, а просто по моде и советам

Anton
18.10.2018
14:15:31
боже я же не говорю что выбирается

Артур Евгеньевич
18.10.2018
14:15:34
но есил на проетк пох и цель самопрокачаться, то я соглассен надо брать всё максимальнно свежее и интересное без оценки рисков

Anton
18.10.2018
14:15:38
моя цель услышать фидбэк

Bohdan
18.10.2018
14:16:00

Adel
18.10.2018
14:17:48
моя цель услышать фидбэк
мой фидбек, выбор должен зависеть от твоих скиллов. и скиллов команды. мы недавно выбирали. Если на проект взять вон того знакомого явиста, то можно на яве/котлине лабать. Я более-менее ориентируюсь. Но если нет, то лучше на C# или PHP потому что я там хоть веб-проекты писал. Если бы я хотел прокачаться, то по-другому бы размышлял.

Aleh
18.10.2018
14:18:40
вероятно изначальный язык не так важен, всегда можно взять и подрубить модуль на другом языке обернув нужной апишечкой
но можно и elixir…

Google

Adel
18.10.2018
14:21:06
Хотя я конечно забыл упомянуть специфику проекта. всякие бигдаты на пхп лабать - путь в никуда скорее всего :)

Anton
18.10.2018
14:26:27
понятное дело, что выбор языка будет учитывать множество факторов. но как я говорил один из вариантов, это переобучение команды на новый язык с последующим вовлечением эксперта из этой области.
сама команда не ретарды, есть понимание о OOP и P of EAA и прочее.
В общем всем спасибо за внимание. особенно тем, кто дал свое мнение по моему изначальному вопросу.

Aleh
18.10.2018
14:27:43

Maksim
18.10.2018
14:27:52
сидел и думал что такое P of EAA... понапридумывали же)

Anton
18.10.2018
14:28:20
ну вроде это сокращение известное, не?

Adel
18.10.2018
14:28:33
это ж фаулеровской книги название, да?

Maksim
18.10.2018
14:28:37

Anton
18.10.2018
14:28:50
да паттерны ентерпрайз приложений

Aleh
18.10.2018
14:28:51
вроде известное

Adel
18.10.2018
14:29:03
ой... не смог дочитать эту книгу :)

Aleh
18.10.2018
14:29:11
так это ж справочник

Maksim
18.10.2018
14:29:12
хз чёт не пересекался даже особо. Ну или внимания не обращал

Anton
18.10.2018
14:29:19
да, это же справочник

Adel
18.10.2018
14:29:22

Aleh
18.10.2018
14:29:34

Anton
18.10.2018
14:29:59
там важно просто понимать что это такое. а к деталям обращаться только при попытке это использовать в реальном месте

Maksim
18.10.2018
14:30:01
ну если гофа осилили не уснув, то с этой должно со свистом пройти)

Dmitriy
18.10.2018
14:41:18
.NET Core збс, сисярп форева

Arky
18.10.2018
14:50:41

Maksim
18.10.2018
14:52:38

Google

Maksim
18.10.2018
14:53:05
Но на самом деле если не открывал, самое время начать)

Yury
18.10.2018
15:59:59
Имхо лучше взять то, на чем лучше всего пишут Seniors.


Max
18.10.2018
16:36:03
Есть вопрос для обсуждения. Тут на работе подняли тему, что взять для нового проекта (продукта как хотят менеджера).
Есть ребята топящие за полное ФП, есть которые за полный ООП, а есть которые за всякое другое (я лично предлагал попробовать Kotlin)
Хотелось бы услышать краткий обзор или авторитетное мнение. Команда в основном бывшие пхпшники. но есть ряд людей которые писали на erlang, а сейчас пишут фронт на Elm.
Вот хотелось бы услышать просто ряд мнений без фанатизма с примерами языков.
Вот пример языков которые предлагали: Elixir, Closure, Scala, Java, PHP, Go, Python и всякое другое.
Пишу не для вброса или еще чего-нибудь, просто хотелось с агрегировать ряд мнений и коротких фидбеков. т.к. сам проект еще на стадии глубокого обсуждения и тяжело понять даже масштабы.
Поправьте если я ошибаюсь, но ключевая позиция фп - это работа с данными в иммутабельном виде а ключевая позиция ооп - когда данные представляют собой живой граф объектов.
То есть, с ооп, когда отдельная функция получает какой-то глубокий объект этого графа то она может сохранить этот объект в замыкании и со временем свободно обновлять поля этого объекта и актуальные изменения увидят все другие функции которые также хранят ссылку на этот объект.
А подход иммутабельности и отсуствия сайдэффектов в фп предполагает что мы должны вернуть новый объект после его изменения но помимо этого также должны рекурсивно заменить всех родителей новыми объектами (потому что у них нужно изменить поле ссылающееся на новый объект ребенка) а это добавляет неудобств в при появлении циклических ссылок друг на друга потому что их нужно хранить через айдишники на эти объекты (иначе будут рекурсивно пересоздаваться все связанные по ссылке объекты и результате получим что чуть ли не весь граф объектов будет пересоздан заново).
Например в мессенджере когда есть объект юзера со списком чат-комнат и каждая такая чат-комната ссылается на объект юзера и также на объект самой комнаты то с ооп мы можем просто хранить эти объекты в виде вложенных объектов и ссылок и удобно получить например список чатов юзера
user.chatRooms.map(cr=>cr.room)а с фп придется дополнительно джойнить данные получая каждый объект чата по его айдишнику из глобального хеша
user.chatRoomsIds.map(id=>globalHash.get(id)).map(roomUser=>globalHash.get(roomUser.roomId))что добавляет некоторой неясности в код.
А когда функция захочет обратиться к более глубоким объектам по цепочке то код с фп становится еще сложнее
Например есть приложение с кучей вложенных сущностей - юзер может создавать папки, внутри папок проекты, внутри проектов задачи и к задачам может создавать подзадачи то функция которая получает объект подзадачи и ей нужно вычислить приоритет на основе приоритета папки в которой эта подзадача находится то ей по сути нужно будет от объекта задачи добраться до объекта папки через все промежуточные объекты.
И если в ооп это можно записать просто и наглядно
subtask.task.project.folder.priorityто с иммутабельным подходом нужно будет вытаскивать каждый промежуточный объект из глобального хеша и код становится совсем не наглядным
globalHash.get(globalHash.get(globalHash.get(subtask.taskId).projectId).folderId).priorityИ в реальных приложениях код бизнес-логики будет сплошь и рядом увешан кодом постоянного вытаскивания нужных объектов по их айдишникам из хеша и в итоге превращается в ненаглядную лапшу.


First
18.10.2018
16:38:00

Anton
18.10.2018
16:47:35

Дмитрий
18.10.2018
16:48:22

Anton
18.10.2018
16:48:54
незачем.


Дмитрий
18.10.2018
19:27:26
https://www.gamedev.net/blogs/entry/2265481-oop-is-dead-long-live-oop/


Shaun
18.10.2018
19:35:28

Дмитрий
18.10.2018
19:36:28
Хз, hackernews принёс через минуту после вопроса тут

Bohdan
19.10.2018
10:04:28
ну не знаю, ООП на мой вкус прикольнее

Aleh
19.10.2018
10:05:10
ооп это то, не знаю что?) Да, оч прикольно
каждый раз открывается с разной стороны

Bohdan
19.10.2018
10:06:56
и все время с непонятно, какой

First
19.10.2018
10:08:29

Bohdan
19.10.2018
10:09:03

First
19.10.2018
10:09:11

Google

Aleh
19.10.2018
10:09:39
извинения в тренде и в треде

Bohdan
19.10.2018
10:09:51
забаню

First
19.10.2018
10:10:15

Bohdan
19.10.2018
10:10:44
да не , я не за ооп, а за наброс

Aleh
19.10.2018
10:21:37
но за ооп тож можно забанить, ящитаю