Декларативность и|или императивность
От: Разраб  
Дата: 12.01.24 03:12
Оценка:
Вот интересно почему иногда проще решить задачу используя библиотечную функцию, а иногда проще пробежать по списку и выбрать нужные записи?
От тупости(говорят фпшники умнее оопэшников)?
и если императивно проще, то почему ошибок меньше в декларативном фп(так говорят)?

PS
есть список (дата, имя пользователя, имя пк)
нужно выбрать самые свежие по дате. я хз как это декларативно. может подскажите? а то у меня моск начал усыхать походу))
☭ ✊ В мире нет ничего, кроме движущейся материи.
Отредактировано 12.01.2024 3:14 Разраб . Предыдущая версия .
Re: Декларативность и|или императивность
От: Sinclair Россия https://github.com/evilguest/
Дата: 12.01.24 04:59
Оценка:
Здравствуйте, Разраб, Вы писали:

Р>PS

Р>есть список (дата, имя пользователя, имя пк)
Р>нужно выбрать самые свежие по дате. я хз как это декларативно. может подскажите? а то у меня моск начал усыхать походу))
records.OrderBy(r=>r.Date).First()

Вопрос-то в чём?
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Декларативность и|или императивность
От: 4058  
Дата: 12.01.24 05:01
Оценка: 3 (1)
Здравствуйте, Разраб, Вы писали:

Р>есть список (дата, имя пользователя, имя пк)

Р>нужно выбрать самые свежие по дате. я хз как это декларативно. может подскажите? а то у меня моск начал усыхать походу))

На SQL (и каком-нибудь LINQ) не составляет особого труда решить подобную задачу, а это всё декларативщина.
Re[2]: Декларативность и|или императивность
От: Разраб  
Дата: 12.01.24 06:12
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Разраб, Вы писали:


Р>>PS

Р>>есть список (дата, имя пользователя, имя пк)
Р>>нужно выбрать самые свежие по дате. я хз как это декларативно. может подскажите? а то у меня моск начал усыхать походу))
S>
S>records.OrderBy(r=>r.Date).First()
S>

S>Вопрос-то в чём?
может быть несколько пар (имя пользователя, имя пк) с разными датами.
Вопрос в том что проще/лучше (Декларативность и|или императивность)?
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[2]: Декларативность и|или императивность
От: Разраб  
Дата: 12.01.24 06:14
Оценка:
Здравствуйте, 4058, Вы писали:

4>Здравствуйте, Разраб, Вы писали:


Р>>есть список (дата, имя пользователя, имя пк)

Р>>нужно выбрать самые свежие по дате. я хз как это декларативно. может подскажите? а то у меня моск начал усыхать походу))

4>На SQL (и каком-нибудь LINQ) не составляет особого труда решить подобную задачу, а это всё декларативщина.


про sql cte знаем, но тут я встрял с F#, в итоге не придумал ничего лучше как цикл и словарь с заменой при нахождении записи с более свежей датой по ключу (пользовтель+пк)
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[3]: Декларативность и|или императивность
От: Sinclair Россия https://github.com/evilguest/
Дата: 12.01.24 07:10
Оценка: +1
Здравствуйте, Разраб, Вы писали:
Р>может быть несколько пар (имя пользователя, имя пк) с разными датами.
Ну, всё верно. Запрос вернёт одну.
Р>Вопрос в том что проще/лучше (Декларативность и|или императивность)?
Для чего лучше? Вы всё ещё не описали задачу.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[3]: Декларативность и|или императивность
От: Sinclair Россия https://github.com/evilguest/
Дата: 12.01.24 09:15
Оценка: 3 (1)
Здравствуйте, Разраб, Вы писали:
Р>про sql cte знаем, но тут я встрял с F#, в итоге не придумал ничего лучше как цикл и словарь с заменой при нахождении записи с более свежей датой по ключу (пользовтель+пк)
А разве в F# нету Linq?
Что-то типа
query { 
  for r in records do 
  groupby r.User, r.Machine into g
  let recent = query {
    for r in g 
    sortByDescending r.Date 
    head
  }
  select recent
}
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.