Перейти к публикации
  • Сейчас на странице   Всего пользователей: 2   (0 пользователей, 2 гостя)

Rooster

Программирование[11]

var  

258 пользователей проголосовало

У вас нет прав на голосование в этом опросе, или на просмотр результатов опроса. Пожалуйста, войдите или зарегистрируйтесь для голосования в опросе.

Рекомендованные сообщения

(изменено)

TS это препроцессор, оно на этапе сборки в js упадёт если с типами хуйня. 

В рантайме разве что (если значение из жсона например - аякс, локал сторедж) типы могут не соответствовать, ну и это уже как js ловить. Жаба в таких ситуациях таки падает с грохотом 


Изменено пользователем Rintz

Поделиться сообщением


Ссылка на сообщение
 madvlaydin написал 20 минут назад:
13uRn1nG написал 1 час назад:

TypeScript выглядит как цирк уродцев

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

Ну да, это чисто фронтенд транслятор что бы джаваскриптезёры писали более осмысленный код который не мучительно больно ревьювить/дебажить, мне на первой работе довелось случайно столкнуться с js и те места у фронтеда приложухи которые не были накаляканы на Реакте + ТС читать  и дебажить было просто до омерзения неприятно, хотелось хуй забить и ниче не делать.

Поделиться сообщением


Ссылка на сообщение
13uRn1nG написал 1 час назад:
Rooster написал 12 часов назад:
ArzanisAncient написал 12 часов назад:

Супержесткая типизация как в хаскеле топ. Джаваскриптеры и питухонеры сосут.

 

Не знаю как там в Хаскеле но у типизации js+flow всякие джавы и шарпы сосут плотнейше

Тайпскрипт говняный канеш но всяко не хуже упомянутых

Не особо щупал джаву и шарпы, но после плюсов типизация в TypeScript выглядит как цирк уродцев, особенно попытка в дженерики и вывод типов с кучей бойлерплейта из за тайп гуардов и прочего вот этого говна, flow насколько я слышал/читал на хабре  уже вообще умер как мейнстрим технология.

Очень сомнительно что в TS типы поприятнее чем в задизайненной быть статически типизированной старой жабе

мне не нравится типизация в плюсах из-за того, как легко ее ломает implicit conversion а иногда не ломает, ибо не написано или спецом запрещено

с одной стороны - ну так у вас вся власть же, с другой стороны рот ебал - пред строке вот так можно было, а тут уже нельзя, потому что тут писали с умом АПИ а там нет, в итоге гадаешь как можно будет.
"cannot convert from initializer list to struct"

Поделиться сообщением


Ссылка на сообщение
(изменено)
madvlaydin написал 2 часа назад:

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

это можно сказать про любой язык

отлаживать и дебажить можно по сорцам ТС (не проверял, но на 99% уверен что сделали давно такой тулинг)

ты даже реакт можешь не по js дебажить а по сорцам реакта, и стейт выводить в окошке а не в кишках жс.

это все вопрос тулинга

собственно отладка жс это тоже вопрос тулинга - не было бы тулинга для жс, отлаживали бы то что jit высрет

 

если тебе это лет 5 назад говорили - то уже все поменялось

если недавно то вопрос к веберу


Изменено пользователем Just.Doit

 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение
(изменено)
CriErr написал 1 час назад:
13uRn1nG написал 3 часа назад:
Rooster написал 14 часов назад:
ArzanisAncient написал 14 часов назад:

Супержесткая типизация как в хаскеле топ. Джаваскриптеры и питухонеры сосут.

 

Не знаю как там в Хаскеле но у типизации js+flow всякие джавы и шарпы сосут плотнейше

Тайпскрипт говняный канеш но всяко не хуже упомянутых

Не особо щупал джаву и шарпы, но после плюсов типизация в TypeScript выглядит как цирк уродцев, особенно попытка в дженерики и вывод типов с кучей бойлерплейта из за тайп гуардов и прочего вот этого говна, flow насколько я слышал/читал на хабре  уже вообще умер как мейнстрим технология.

Очень сомнительно что в TS типы поприятнее чем в задизайненной быть статически типизированной старой жабе

мне не нравится типизация в плюсах из-за того, как легко ее ломает implicit conversion а иногда не ломает, ибо не написано или спецом запрещено

с одной стороны - ну так у вас вся власть же, с другой стороны рот ебал - пред строке вот так можно было, а тут уже нельзя, потому что тут писали с умом АПИ а там нет, в итоге гадаешь как можно будет.
"cannot convert from initializer list to struct"

Хз,  честно уже воспринимается как что то само собой разумеющееся, давно уже привык и не обращаю на это внимания как то, не сказал бы что это что то ломает в рамках логики языка, просто заставляет держать в голове микроправила когда создаешь свой тип/оверлоадинг сет. Тем более best practices по этому поводу уже давно описаны.

В примере сломанная агрегатная инициализация у структуры что ли?:trollface:


Изменено пользователем 13uRn1nG

Поделиться сообщением


Ссылка на сообщение
13uRn1nG написал Только что:
CriErr написал 1 час назад:
13uRn1nG написал 3 часа назад:
Rooster написал 14 часов назад:
ArzanisAncient написал 14 часов назад:

Супержесткая типизация как в хаскеле топ. Джаваскриптеры и питухонеры сосут.

 

Не знаю как там в Хаскеле но у типизации js+flow всякие джавы и шарпы сосут плотнейше

Тайпскрипт говняный канеш но всяко не хуже упомянутых

Не особо щупал джаву и шарпы, но после плюсов типизация в TypeScript выглядит как цирк уродцев, особенно попытка в дженерики и вывод типов с кучей бойлерплейта из за тайп гуардов и прочего вот этого говна, flow насколько я слышал/читал на хабре  уже вообще умер как мейнстрим технология.

Очень сомнительно что в TS типы поприятнее чем в задизайненной быть статически типизированной старой жабе

мне не нравится типизация в плюсах из-за того, как легко ее ломает implicit conversion а иногда не ломает, ибо не написано или спецом запрещено

с одной стороны - ну так у вас вся власть же, с другой стороны рот ебал - пред строке вот так можно было, а тут уже нельзя, потому что тут писали с умом АПИ а там нет, в итоге гадаешь как можно будет.
"cannot convert from initializer list to struct"

Хз,  честно уже воспринимается как что то само собой разумеющееся, давно уже привык и не обращаю на это внимания как то, не сказал что это что то ломает, в рамках логики языка, просто заставляет держать в голове микроправила когда создаешь свой тип/оверлоадинг сет. Тем более best practices по этому поводу уже давно описаны.

В примере сломанная агрегатная инициализация у структуры что ли?:trollface:

даже если не сломана, то она разная у разных вещей

struct location {
int x;
int y;
int z;}

ok:
void do(location A);
do({1,2,3});

not ok:
void do(tuple<int,int,int> A};
do({1,2,3});
should be:
void do(tuple<int,int,int> A};
do(make_tuple({1,2,3}));

 

в итоге спец правило для много чего много где есть, и ты прям должен знать какой апи у этого темплейта.

Поделиться сообщением


Ссылка на сообщение
CriErr написал 31 минуту назад:

даже если не сломана, то она разная у разных вещей

https://godbolt.org/z/xWzahcG54

?

 

То, про что ты написал, вообще то с конверсией не связано.

 

Есть агрегатная инициализация, есть директ инициализация, есть инициализация через инит лист.

 

Очевидно, что ты не можешь использовать агрегатную инициализацию если у класса конструктор не дефолт или есть приватные поля. Значит у класса есть какие-то правила для инициализации и/или поддерживания его корректного состояния. Тоесть это именнор класс, а не структура.

 

А для того что бы была инициализация через init list кто-то должен написать такой конструктор, что опять же верно. Ты ведь в петоне не будешь спрашивать почему у тебя класс из массива не конструируется, верно? Откуда компилятору знать как использовать например {1, 2}, для инициализации вектора? У него там условно два поля внутри, size, *data_pointer. Ему че сделать, выставить size в 1 и дата поинтер в 2?

 

 

13uRn1nG понравилось это

ward написал 04.01.2022 в 02:54:

Hades для стада долбоебичей которые прокликивали Дэш и думали ебать они в артхаузнвй рогалик играют, не такие как все.

mazt3r написал 20.09.2019 в 11:27:

ласт оф ас - хуета для лисят и прочих мальчиков с вагиной между ног.

 

Поделиться сообщением


Ссылка на сообщение
(изменено)
CriErr написал 50 минут назад:
13uRn1nG написал 56 минут назад:
CriErr написал 1 час назад:
13uRn1nG написал 4 часа назад:
Rooster написал 15 часов назад:
ArzanisAncient написал 15 часов назад:

Супержесткая типизация как в хаскеле топ. Джаваскриптеры и питухонеры сосут.

 

Не знаю как там в Хаскеле но у типизации js+flow всякие джавы и шарпы сосут плотнейше

Тайпскрипт говняный канеш но всяко не хуже упомянутых

Не особо щупал джаву и шарпы, но после плюсов типизация в TypeScript выглядит как цирк уродцев, особенно попытка в дженерики и вывод типов с кучей бойлерплейта из за тайп гуардов и прочего вот этого говна, flow насколько я слышал/читал на хабре  уже вообще умер как мейнстрим технология.

Очень сомнительно что в TS типы поприятнее чем в задизайненной быть статически типизированной старой жабе

мне не нравится типизация в плюсах из-за того, как легко ее ломает implicit conversion а иногда не ломает, ибо не написано или спецом запрещено

с одной стороны - ну так у вас вся власть же, с другой стороны рот ебал - пред строке вот так можно было, а тут уже нельзя, потому что тут писали с умом АПИ а там нет, в итоге гадаешь как можно будет.
"cannot convert from initializer list to struct"

Хз,  честно уже воспринимается как что то само собой разумеющееся, давно уже привык и не обращаю на это внимания как то, не сказал что это что то ломает, в рамках логики языка, просто заставляет держать в голове микроправила когда создаешь свой тип/оверлоадинг сет. Тем более best practices по этому поводу уже давно описаны.

В примере сломанная агрегатная инициализация у структуры что ли?:trollface:

даже если не сломана, то она разная у разных вещей


struct location {
int x;
int y;
int z;}

ok:
void do(location A);
do({1,2,3});

not ok:
void do(tuple<int,int,int> A};
do({1,2,3});
should be:
void do(tuple<int,int,int> A};
do(make_tuple({1,2,3}));

 

в итоге спец правило для много чего много где есть, и ты прям должен знать какой апи у этого темплейта.

https://godbolt.org/z/x3dd3aKv8

А что тут не ок? :hmm:Собралось без проблем на годболте и выдало ambiguous. Ну кроме последней строчки, он там пытается проинициализировать не параметризованный tuple интами


Изменено пользователем 13uRn1nG

Поделиться сообщением


Ссылка на сообщение
madvlaydin написал 6 часов назад:
13uRn1nG написал 6 часов назад:

TypeScript выглядит как цирк уродцев

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

 

Вы такие профессионалы тут я в ахуе Достаточно один раз открыть было devtools в Хроме

 

TypeScript отлаживается и по сорсам в .ts и по транспилированным .js как тебе удобнее

Snitch_91 понравилось это

towBCf6.pngimage.png.6f88ac9ad688355eb803ba0b32e309ca.pngimage.png.c05354238865437022b3e4a97a835dbd.pngimage.png.0e8329f2b07e208ae8ef4e3f6878d126.png

 

 

 

Поделиться сообщением


Ссылка на сообщение
13uRn1nG написал 2 часа назад:
CriErr написал 3 часа назад:
13uRn1nG написал 3 часа назад:
CriErr написал 4 часа назад:
13uRn1nG написал 6 часов назад:
Rooster написал 17 часов назад:
ArzanisAncient написал 17 часов назад:

Супержесткая типизация как в хаскеле топ. Джаваскриптеры и питухонеры сосут.

 

Не знаю как там в Хаскеле но у типизации js+flow всякие джавы и шарпы сосут плотнейше

Тайпскрипт говняный канеш но всяко не хуже упомянутых

Не особо щупал джаву и шарпы, но после плюсов типизация в TypeScript выглядит как цирк уродцев, особенно попытка в дженерики и вывод типов с кучей бойлерплейта из за тайп гуардов и прочего вот этого говна, flow насколько я слышал/читал на хабре  уже вообще умер как мейнстрим технология.

Очень сомнительно что в TS типы поприятнее чем в задизайненной быть статически типизированной старой жабе

мне не нравится типизация в плюсах из-за того, как легко ее ломает implicit conversion а иногда не ломает, ибо не написано или спецом запрещено

с одной стороны - ну так у вас вся власть же, с другой стороны рот ебал - пред строке вот так можно было, а тут уже нельзя, потому что тут писали с умом АПИ а там нет, в итоге гадаешь как можно будет.
"cannot convert from initializer list to struct"

Хз,  честно уже воспринимается как что то само собой разумеющееся, давно уже привык и не обращаю на это внимания как то, не сказал что это что то ломает, в рамках логики языка, просто заставляет держать в голове микроправила когда создаешь свой тип/оверлоадинг сет. Тем более best practices по этому поводу уже давно описаны.

В примере сломанная агрегатная инициализация у структуры что ли?:trollface:

даже если не сломана, то она разная у разных вещей



struct location {
int x;
int y;
int z;}

ok:
void do(location A);
do({1,2,3});

not ok:
void do(tuple<int,int,int> A};
do({1,2,3});
should be:
void do(tuple<int,int,int> A};
do(make_tuple({1,2,3}));

 

в итоге спец правило для много чего много где есть, и ты прям должен знать какой апи у этого темплейта.

https://godbolt.org/z/x3dd3aKv8

А что тут не ок? :hmm:Собралось без проблем на годболте и выдало ambiguous. Ну кроме последней строчки, он там пытается проинициализировать не параметризованный tuple интами

 

потому что ты в студ пишешь, а не анрил енджин 4 :ponimau:

говорю же, проблема в том, что кто-то должен был сделать чтобы работало, и когда не сделано получается вот такое.
у тапла например есть все в анриле, а вот паир который просто урезанный тапл половину не может, ибо не заморачивались.
и я думаю что так везде если какие то свои темплейты у людей, где то фулл апи, а где то как попало.

GoldRobot написал 2 часа назад:
CriErr написал 3 часа назад:

даже если не сломана, то она разная у разных вещей

https://godbolt.org/z/xWzahcG54

?

 

То, про что ты написал, вообще то с конверсией не связано.

 

Есть агрегатная инициализация, есть директ инициализация, есть инициализация через инит лист.

 

Очевидно, что ты не можешь использовать агрегатную инициализацию если у класса конструктор не дефолт или есть приватные поля. Значит у класса есть какие-то правила для инициализации и/или поддерживания его корректного состояния. Тоесть это именнор класс, а не структура.

 

А для того что бы была инициализация через init list кто-то должен написать такой конструктор, что опять же верно. Ты ведь в петоне не будешь спрашивать почему у тебя класс из массива не конструируется, верно? Откуда компилятору знать как использовать например {1, 2}, для инициализации вектора? У него там условно два поля внутри, size, *data_pointer. Ему че сделать, выставить size в 1 и дата поинтер в 2?

 

 

очевидно, кто-то должен был сделать, но он не сделал, вот и сосу хуй.

к чему получается твой ликбез яхз, если на практике вот он я и вот посасываю.

Поделиться сообщением


Ссылка на сообщение

Мой ликбез к тому, что конкретно тобой описываемый кейс это не проблема языка, а твоя. Ты взял кривую библиотеку.

Язык тут принципиально ничего сделать не может, увы.

 

Если хочешь объяснить как считаешь правильным, дай солюшен какой-то тогда.


ward написал 04.01.2022 в 02:54:

Hades для стада долбоебичей которые прокликивали Дэш и думали ебать они в артхаузнвй рогалик играют, не такие как все.

mazt3r написал 20.09.2019 в 11:27:

ласт оф ас - хуета для лисят и прочих мальчиков с вагиной между ног.

 

Поделиться сообщением


Ссылка на сообщение

в какой момент проблема у меня, становится проблемой языка?
ибо вот эта шутка, "в с++ есть 5 способов сделать что угодно, если вы нашли задачу которую можно решить только в три, сообщите комитету, они добавят недостающие два"
это пиздец.

Поделиться сообщением


Ссылка на сообщение

В тот момент, когда это очевидно можно сделать лучше и правильнее. Я поэтому тебя и спрашиваю какое ты решение предлагаешь.

Плохое является плохим только тогда, когда есть решение. Это сравнительная характеристика.

 

Может ты пример просто подобрал неудачно, я хз. В плюсах есть проблемы которые можно было бы порешать (на первый взгляд порешать, если глубже копнуть жопа начинается как всегда...). Но явно не в том что ты описываешь.


ward написал 04.01.2022 в 02:54:

Hades для стада долбоебичей которые прокликивали Дэш и думали ебать они в артхаузнвй рогалик играют, не такие как все.

mazt3r написал 20.09.2019 в 11:27:

ласт оф ас - хуета для лисят и прочих мальчиков с вагиной между ног.

 

Поделиться сообщением


Ссылка на сообщение

Я бы резал легаси, нахуй не нужны 20 способов инициализации класса, причем вроде в последнем толи пред последним стандартом добавили еще 1.

 

В плюсах слишком много легаси синтаксиса, как яркий пример откуда это все тянется - саппорт С нахуй не нужен в 21м веке, во первых поддержка легаси это иллюзия и например поддержка С не полна и кривая, во вторых никто блядь код написанный в прошлом веке не переносит на стандарт 2020 просто поменяв настройки в компиляторе, это хуйня которую Бьёрн и остальные мамонты выдумали и продолжают повторять каждый раз когда их спрашивают когда будем депрекейт ту или иную фичу.

Поделиться сообщением


Ссылка на сообщение

Я согласен насчет легаси.

Но что конкретно ты хочешь отрезать? Что ты хочешь вырезать в вышеописанном примере?


ward написал 04.01.2022 в 02:54:

Hades для стада долбоебичей которые прокликивали Дэш и думали ебать они в артхаузнвй рогалик играют, не такие как все.

mazt3r написал 20.09.2019 в 11:27:

ласт оф ас - хуета для лисят и прочих мальчиков с вагиной между ног.

 

Поделиться сообщением


Ссылка на сообщение
GoldRobot написал 22 минуты назад:

ты хочешь вырезать в в

русских

GoldRobot понравилось это

Поделиться сообщением


Ссылка на сообщение
GoldRobot написал 4 часа назад:

Я согласен насчет легаси.

Но что конкретно ты хочешь отрезать? Что ты хочешь вырезать в вышеописанном примере?

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

как исправить яхз, я недостаточно знаю язык чтобы пофиксить, но хочу чтобы все делалось одинаково.

Поделиться сообщением


Ссылка на сообщение
madvlaydin said 4 hours ago:
GoldRobot said 4 hours ago:

ты хочешь вырезать в в

русских

 

Извинись


Shaman.png.0cdd33d48561cd068bb3c5ee78289381.png Anna.jpeg.03c9b49363298ceec256500a5d522f7d.jpeg Nigga.jpg.f807f2556bdbf68452292a9301494591.jpg

 

Поделиться сообщением


Ссылка на сообщение
CriErr написал 21 минуту назад:
GoldRobot написал 5 часов назад:

Я согласен насчет легаси.

Но что конкретно ты хочешь отрезать? Что ты хочешь вырезать в вышеописанном примере?

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

как исправить яхз, я недостаточно знаю язык чтобы пофиксить, но хочу чтобы все делалось одинаково.

разные способы придумывались потому что они удобные в разных случаях

если всё приводить под одну гребенку получится говно, которое просто неудобно всем, как го


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение
(изменено)
CriErr написал 32 минуты назад:
GoldRobot написал 5 часов назад:

Я согласен насчет легаси.

Но что конкретно ты хочешь отрезать? Что ты хочешь вырезать в вышеописанном примере?

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

как исправить яхз, я недостаточно знаю язык чтобы пофиксить, но хочу чтобы все делалось одинаково.

У класса одно "апи", но множество конструкторов.

Это есть в любом языке, где есть классы, в том или ином виде. В С++ это делается в явном виде, потому что это статически типизированный язык. И уж лучше так, как в С++, чем сидеть чекать количество аргументов, потом их типы, а потом пытаться отгатать, как же пользователь хотел инициализировать твой класс, как это делается в питоне. И уж там ты точно не поймешь нихуя, потому что доки не будет, а для того что бы понять какие аргументы нужно отдать, тебе придется прочитать весь код __init

 

А make_tuple не относится к классу вообще. Это вспомогательная функция, которая сделана для работы с шаблонами в первую очередь. К инициализации она относится вообще никак.

И написал ты ее не корректно. make_tuple(1, 2, 3) нужно было. make_tuple({1, 2, 3}), я вообще незнаю что ты получил. Оно вообще скомпилится? Понаделают ебанутых библиотек...

И написать ты мог как обычно do(tuple<int, int, int>(1, 2, 3));

 

 

 

Если хочешь доебать, доебись до того что A a{1, 2} сфалбечится до A a(1, 2) если класс не тривиальный, и если у него нету конструктора из инит листа.

Меня эта хуйня бесит. Нахуя это было сделано я не понимаю.

 

 


Изменено пользователем GoldRobot

ward написал 04.01.2022 в 02:54:

Hades для стада долбоебичей которые прокликивали Дэш и думали ебать они в артхаузнвй рогалик играют, не такие как все.

mazt3r написал 20.09.2019 в 11:27:

ласт оф ас - хуета для лисят и прочих мальчиков с вагиной между ног.

 

Поделиться сообщением


Ссылка на сообщение

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

×
×
  • Создать...