Re[12]: TypeScript недоскритп
От: Ночной Смотрящий Россия  
Дата: 13.02.21 14:01
Оценка: 1 (1)
Здравствуйте, Rhino, Вы писали:

R>Сочувствую Шарп сложный язык: без ООП и статических классов ни одной программы нельзя написать.


Уже можно с 9 версии.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[4]: TypeScript недоскритп
От: ути-пути Россия  
Дата: 13.02.21 15:28
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>typeof NaN === 'number' это валидная вещь, все по спеке Double, где NaN является числом.


А в спеке случайно нет, что черное — это белое?
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[12]: TypeScript недоскритп
От: varenikAA  
Дата: 15.02.21 02:44
Оценка: :)
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>А, синтаксический оверхед? Знакомо. Но есть нюанс — написание контроллеров в реальных проектах занимает 0.1% времени.

Не знаю о каком оверхеде идет речь. код F# в несколько раз короче и выразительней C#. И кто му же более однозначный за счет отсутствия void(по сути это тип означающий некую неопределенность результата).

НС>И? Можешь привести пример разницы в результирующем IL?

Предлагаете мне провести сравнительный анализ кода компиляторов. Очевидного для вас мало?

НС>Ну так расскажи про опыт.

хелоуворд опыт.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[13]: TypeScript недоскритп
От: Ночной Смотрящий Россия  
Дата: 15.02.21 08:24
Оценка:
Здравствуйте, varenikAA, Вы писали:

НС>>А, синтаксический оверхед? Знакомо. Но есть нюанс — написание контроллеров в реальных проектах занимает 0.1% времени.

AA>Не знаю о каком оверхеде идет речь. код F# в несколько раз короче и выразительней C#.

Вот прям в несколько раз? И короче — это далеко не главная характеристика языка.

НС>>И? Можешь привести пример разницы в результирующем IL?

AA>Предлагаете мне провести сравнительный анализ кода компиляторов. Очевидного для вас мало?

Ну значит я прав — религия.

НС>>Ну так расскажи про опыт.

AA>хелоуворд опыт.

Видимо, хотел пошутить, но вышло как то не очень.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[14]: TypeScript недоскритп
От: varenikAA  
Дата: 15.02.21 09:31
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Вот прям в несколько раз? И короче — это далеко не главная характеристика языка.

Краткость сестра таланта.

НС>Видимо, хотел пошутить, но вышло как то не очень.

Смейтесь, господа, смейтесь! © Тот самый Мюнхаузен

Мне близка философия картезианства
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[15]: TypeScript недоскритп
От: Ночной Смотрящий Россия  
Дата: 15.02.21 09:35
Оценка:
Здравствуйте, varenikAA, Вы писали:

НС>>Вот прям в несколько раз? И короче — это далеко не главная характеристика языка.

AA>Краткость сестра таланта.

Но обратное — неверно.

НС>>Видимо, хотел пошутить, но вышло как то не очень.

AA>Смейтесь, господа, смейтесь! © Тот самый Мюнхаузен
AA>Мне близка философия картезианства

Я ж говорю — религия.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[5]: TypeScript недоскритп
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 15.02.21 10:48
Оценка:
Здравствуйте, ути-пути, Вы писали:

I>>typeof NaN === 'number' это валидная вещь, все по спеке Double, где NaN является числом.


УП>А в спеке случайно нет, что черное — это белое?


Тебе ктото запрещает открыть спецификацию IEEE 754 ? Все языки, которые реализуют Float, double итд реализуют одно и то же.

The standard defines:

arithmetic formats: sets of binary and decimal floating-point data, which consist of finite numbers (including signed zeros and subnormal numbers), infinities, and special "not a number" values (NaNs)


Забрало приподымать пробовал?
Re[15]: TypeScript недоскритп
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 15.02.21 10:50
Оценка: +1
Здравствуйте, varenikAA, Вы писали:

НС>>Вот прям в несколько раз? И короче — это далеко не главная характеристика языка.

AA>Краткость сестра таланта.

Странно, почему тогда пишешь длинно, пространно, да буквами, а не зипованым бинарным кодом?
Re[6]: TypeScript недоскритп
От: ути-пути Россия  
Дата: 15.02.21 10:54
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Забрало приподымать пробовал?


NaN является числом



В твоей цитате это лишь специальное значение, а никак не число.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[7]: TypeScript недоскритп
От: · Великобритания  
Дата: 15.02.21 11:15
Оценка:
Здравствуйте, ути-пути, Вы писали:

УП>В твоей цитате это лишь специальное значение, а никак не число.

Ты попутал понятие типа и значения. Тип — float, а значение — NaN.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[7]: TypeScript недоскритп
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 15.02.21 11:27
Оценка:
Здравствуйте, ути-пути, Вы писали:

УП>

УП>NaN является числом


УП>

УП>В твоей цитате это лишь специальное значение, а никак не число.


В том то и дело, что значение. А тип определяет конкретный язык программирования. Например, язык С# и функция такого вида
void F(double x) {
...
}


Очевидно, что бы передать NaN надо вызвать так F(Double.NaN)
Соответственно, здесь обнаруживаем ровно ту же проблему — в C# NaN является значением типа Double, а следовательно и числом.
Товарищи решили прикрыться фиговым листочком и переопределили оператор сравнения, т.е. NaN == NaN всегда будет false.
О ужос! И это C# !!!!1111
Отредактировано 15.02.2021 11:34 Pauel . Предыдущая версия .
Re[8]: TypeScript недоскритп
От: ути-пути Россия  
Дата: 15.02.21 13:03
Оценка:
Здравствуйте, ·, Вы писали:

·>Ты попутал понятие типа и значения. Тип — float, а значение — NaN.


Я попутал? "NaN является числом" я написал?
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[8]: TypeScript недоскритп
От: ути-пути Россия  
Дата: 15.02.21 13:04
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>В том то и дело, что значение.


А кто писал, что не число — это число?
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[9]: TypeScript недоскритп
От: · Великобритания  
Дата: 15.02.21 13:19
Оценка: +1
Здравствуйте, ути-пути, Вы писали:

УП>·>Ты попутал понятие типа и значения. Тип — float, а значение — NaN.

УП>Я попутал? "NaN является числом" я написал?
Ты из контекста выдрал и решил заняться буквоедством?

typeof NaN === 'number' это валидная вещь, все по спеке Double, где NaN является числом.

По-моему это очевидно, что человек хотел сказать, что тип значения NaN — число.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[10]: TypeScript недоскритп
От: ути-пути Россия  
Дата: 15.02.21 13:24
Оценка:
Здравствуйте, ·, Вы писали:

·>Ты из контекста выдрал и решил заняться буквоедством?


·>По-моему это очевидно, что человек хотел сказать, что тип значения NaN — число.


Так косноязычие в технических дисциплинах может привести к проблемам. Почему-то в спеке, которую он процитировал, такого бреда нет.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[11]: TypeScript недоскритп
От: · Великобритания  
Дата: 15.02.21 13:25
Оценка: +1
Здравствуйте, ути-пути, Вы писали:

УП>·>Ты из контекста выдрал и решил заняться буквоедством?

УП>·>По-моему это очевидно, что человек хотел сказать, что тип значения NaN — число.
УП>Так косноязычие в технических дисциплинах может привести к проблемам. Почему-то в спеке, которую он процитировал, такого бреда нет.
Человек писал не спеку, а сообщение в форум.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[16]: TypeScript недоскритп
От: varenikAA  
Дата: 16.02.21 02:19
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Странно, почему тогда пишешь длинно, пространно, да буквами, а не зипованым бинарным кодом?


Что тут странного? Я не евангелист,насильно не собираюсь идеи насаждать.
Если даже от многобукв столько негатива, то что будет когда я кодом начну выражаться?
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[17]: TypeScript недоскритп
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 16.02.21 04:53
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Что тут странного? Я не евангелист,насильно не собираюсь идеи насаждать.

AA>Если даже от многобукв столько негатива, то что будет когда я кодом начну выражаться?

Давай уже.
Re[9]: TypeScript недоскритп
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 16.02.21 05:01
Оценка:
Здравствуйте, ути-пути, Вы писали:

I>>В том то и дело, что значение.


УП>А кто писал, что не число — это число?


В ЯП не бывает просто значений. Они всегда какого то типа в т.ч. NaN.
То есть, NaN это такое же значение, как и все остальные в Double — 64 бита плавающая запятая, то есть это Double, т.е. число. Технически. Но для этого значения переопределены некоторые операции. Вот и все.

Стандарт ниасилил, но поспорить хочется? Валяй.
Re[18]: TypeScript недоскритп
От: varenikAA  
Дата: 16.02.21 05:34
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Давай уже.


Вот малюсенький пример (посчитать среднее время между соседними событиями лога):
сколько кода займет такое на вашем ЯП?
Желательно как и здесь в виде скрипта
#r "nuget: FSharp.Data, 3.3.3"

open FSharp.Data
open System
open System.IO

type RzLog = CsvProvider<"log.csv", ResolutionFolder=__SOURCE_DIRECTORY__, HasHeaders=true>

let path fn = Path.Combine(__SOURCE_DIRECTORY__, fn)

let data = RzLog.Load(path "log.csv")
let rows = data.Rows

let report y =
    rows
    |> Seq.filter (fun e -> e.DateTimeOffset.Year = y)
    |> Seq.sortByDescending (fun e -> e.DateTimeOffset)
    |> Seq.map (fun e -> e.DateTimeOffset)
    |> Seq.pairwise


let ts s =
    s
    |> Seq.averageBy
        (fun (a: DateTimeOffset, b: DateTimeOffset) ->
            let c = a - b
            c.TotalMinutes)

let ms s =
    s
    |> Seq.map
        (fun (a: DateTimeOffset, b: DateTimeOffset) ->
            let c = a - b
            c.TotalMinutes)

let one s =
    s
    |> Seq.map
        (fun (a: DateTimeOffset, b: DateTimeOffset) ->
            let c = a - b
            c.TotalMinutes > 1.)

for i in [ 2019 .. 2021 ] do
    let t = report i |> ts
    let min = report i |> ms |> Seq.min
    let max = report i |> ms |> Seq.max
    let dt = report i |> one |> Seq.countBy (id)
    let (a, b) = dt |> Seq.head
    let (c, d) = dt |> Seq.skip 1 |> Seq.head
    printfn $"{i} {t} {min} {max} {(a, b)} {(c, d)}"

let byH =
    report 2020
    |> Seq.filter
        (fun (a, b) ->
            Seq.contains a.DayOfWeek [ DayOfWeek.Saturday; DayOfWeek.Sunday ]
            |> not
            && a.Hour > 6
            && a.Hour < 22)
    |> Seq.map (fun (a, b) -> (a.Hour, (a - b).TotalMinutes))
    |> Seq.groupBy (fun (a, b) -> a)
    |> Seq.map (fun (a, b) -> (a, b |> Seq.averageBy (fun (a, b) -> b)))
    |> Seq.sortBy (fun (a, b) -> a)

for h in byH do
    printfn $"{fst h} {Math.Round(snd h)}"
☭ ✊ В мире нет ничего, кроме движущейся материи.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.