Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 September 05

АМ

Андрей Москаленко... in NodeUA - JavaScript and Node.js in Ukraine
Да блин, сложно, надо валить с фронтэнда и писать только бекэнд на каком-то шарпе, шоб не думать о том юзать тайпскрипт или нет )
источник

АБ

Артур Бердыев... in NodeUA - JavaScript and Node.js in Ukraine
И все равно идея полностью заменить typescript с какой никакой типизацией, комплитом и транскомпилятором на ревью и платный автокомплит с ai выглядит слишком футуристичной)
источник

EK

Evgen K in NodeUA - JavaScript and Node.js in Ukraine
Не включена проверка на null safe (было выше в ссылки что Вы скинули). И то это работает только на уровне ворнингов, то есть компилятор не даст по шапке и не стопанет компиляцию если где то нарушилась null safety. Например такой код упадет в рантайме и даже скомпилится с включенными проверками на null safety.

class User
{
    public string Name { get; set; }
}

var user = new User();
Console.WriteLine(user.Name.Contains("John"));

ts же такое не пропустит
источник

И

Иван in NodeUA - JavaScript and Node.js in Ukraine
Слишком упрощенное понимание dx. Вроде бы широко известно, что программирование больше про чтение, чем про написание. А как автокомплит помогает читать — непонятно
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
Я специально пункт про читать не упоминал, потому что я его уже упоминал в сегодняшней дискуссии. Когнитивная нагрузка для меня при чтении тс выше, потому что я вынужден помнить "а можно ли доверять выводу типов здесь". Слишком во многих местах он даёт false-negative (не сообщает об ошибке когда она есть). Против false positive (когда сообщается об ошибке и ее нет) я претензий не имею
источник

И

Иван in NodeUA - JavaScript and Node.js in Ukraine
Ок, я понял вашу позицию. Спасибо за уделённое время.

Надеюсь, вам хотя бы немножко стыдно за содержание закреплённого опроса 🙃
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
А почему мне должно быть стыдно за то, автором чего я не являюсь
источник

И

Иван in NodeUA - JavaScript and Node.js in Ukraine
Действительно
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
ну допишите в шарп знак вопроса перед точкой, а в тс return this.name as string где name это undefined - результат поменяется на противоположный
и там, и там можно написать такой код, который упадёт в рантайме
для меня это не показатель того, что на тс писать код легче (изначальный пойнт же именно в этом был)
источник

EK

Evgen K in NodeUA - JavaScript and Node.js in Ukraine
C# все равно выдаст всего лишь ворнинг и всё. Шарп куда многословнее как было сказано выше - далек от надежности и даже уступает всеми ненавидимому тс.  Из-за склонности C# к ООП - в результирующей программе получается много "чистых выдумок" и читать такой код очень тяжело та типизация слабовато спасает. Мб Вам и легче C#, но лично мне тяжелее
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Не, он вполне удобный и надёжный. За свою практику с ним я не ловил npe, на которые вы почему-то делаете упор
В каких-то вещах он более многословен чем скриптовые языки, в этом сомнений нет. Но в то же время в нём есть концепции, которых нет в горячо любимом многими тс. А ещё он предсказуемый, чем не может похвастаться тс, и лёгкий. По крайней мере пример вроде того, что Илья приводил, и который вы не грокнули, мне на шарпе не придумать
источник

EK

Evgen K in NodeUA - JavaScript and Node.js in Ukraine
Согласен что шарп надежный, но всё познается в сравнении. Попробуйте например F#. Напомните пожалуйста какой пример Илья приводил?
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
источник

EK

Evgen K in NodeUA - JavaScript and Node.js in Ukraine
Да, кейс интересен, спасибо что поделился :)
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Как-то до такой экзотики руки не дошли, хотя желание было. Но вообще я из мира плюсов, и мне привычнее писать ООП код
источник

YV

Yura Vshchnk in NodeUA - JavaScript and Node.js in Ukraine
если код декомпозирован так, что между обьектами не гоняются здоровые json-ы которые формируются как попало в процессе работы программы и есть адекватные юнит тесты, по которым легко и быстро глянуть как работать с обьектом, а еще есть все таки какое-то описание контракта, как jsdoc (почему уже не TS тогда, если есть согласие "писать в 2 раза больше кода"), то действительно Js ок. Но если для работы с изолированным участком кода надо половину кода перерыть, чтобы понять, что ты правильно обрабатываешь параметры, например (а соотвественно и голову каждый раз при чтении заполнять этой инфой, что не есть масштабируемо, и по сути каждый раз формировать контракт в голове, который можно было один раз описать)\
источник

YV

Yura Vshchnk in NodeUA - JavaScript and Node.js in Ukraine
возможно в чем то заблуждаюсь, js не мой основной стек
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
Я с вами полностью согласен
источник

N

NetCat in NodeUA - JavaScript and Node.js in Ukraine
подскажите пожалуйста
попробовал использовать node-schedule для создания одноразовой таски на определённую дату и время
вроде вот так должно же работать?:

import { scheduleJob } from 'node-schedule';
scheduleJob(new Date(),  () => {
   console.log(`sheduled job start [6] ${new Date()}`);
});


но ничего не выводится
передаю туда любые даты прошедшие, не срабатывает
передаю туда дату&время через 1 минуту, не срабатывает
передаю дату&время через 2 минуты от текущего, тоже не срабатывает
node-schedule вообще работает? может я что-то не правильно делаю?

главная задачка: зашедулить функцию что бы она вызвалась в определённую дату и время один раз
источник

N

NetCat in NodeUA - JavaScript and Node.js in Ukraine
const at = new Date();
const time = at.setSeconds(at.getSeconds() + Number(5))  //after 5 second  
const date = new Date(time);  
const id = '1';
schedule.scheduleJob(id, date, () => {
   schedule.cancelJob(id);
   console.log(`sheduled job start [${id}] ${new Date()}`);
});

вот так срабатывает, окей вопрос закрыт
источник