‘3’-’1’= Traceback (most recent call last) File ""1 line 1, in / javascript :: javascript :: programming languages :: языки программирования :: программирование :: it-юмор :: python :: programming :: it humor :: python :: geek :: geek (Прикольные гаджеты. Научный, инженерный и айтишный юмор)

it-юмор geek языки программирования программирование python javascript 
‘3’-’1’=
Traceback (most recent call last) File "<pyshell#2>"1 line 1, in <mo •3-T
TypeError: unsupported operand type(s) for 'str' and s,it-юмор,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,языки программирования,программирование,python,javascript,it humor,geek,programming
Подробнее
‘3’-’1’= Traceback (most recent call last) File "<pyshell#2>"1 line 1, in <mo •3-T TypeError: unsupported operand type(s) for 'str' and s
it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,языки программирования,программирование,python,javascript,it humor,geek,programming languages,programming,python,javascript
Еще на тему
Развернуть

Отличный комментарий!

и слава богу
RIKO_XD RIKO_XD13.10.202319:44ссылка
+56.6
и слава богу
RIKO_XD RIKO_XD 13.10.202319:44 ответить ссылка 56.6
Кому?!
iggd iggd 13.10.202319:46 ответить ссылка -3.0
"богу"
doctype doctype 13.10.202319:49 ответить ссылка 18.7
я так понимаю, ЖС приводит стринг к инт, в то время как питон не приводит, что более логично так как нахуй приводить к цифрам то что специально обведено скобами как строка
Lunar Lunar 13.10.202319:50 ответить ссылка 22.7
Это разница между слабой и сильной типизацией - жс и путон соответственно.
У слабой типизации есть свои плюсы, но они настолько мизерные, что многие перекатываются вообще на тс.
Плюсы слабой типизации: плюс ошибки
Минусы слабой типизации: минус время, которое будет потрачено на поиск этих ошибок
Приводит только в случае "-".
В случае "+" операция соединения строк имеет больший приоритет, чем оператор сложения.
Поэтому '3'+'1' = '31'
А '3'-'1'=2.
Люблю когда все интуитивно понятно.
Это пиздец
Не в приоритете дело, а в перегрузке операторов. Для оператора "+" есть реализация для str, которая делает конкатенацию операндов. Для "-" такой нет, из-за чего выполняется неявное преобразование типов, что бы подогнать выражение под существующий прототип. первым попадется int+int.
Питон неявного преобразования не делает и выдает ошибку что оператор для этого типа не определён.
Taxar Taxar 13.10.202321:38 ответить ссылка 8.5
Сори, я не уточнил, что говорил именно про js в своем комментарии.
это интуитивно-понятное приводит к трудноотслеживаемым и трудноотлаживаемым проблемам.
куда лучше строгие типы, которые приведут к ошибке еще на этапе компиляции
Гвидо
Traceback вместо нормально ошибки до запуска...

Psilon Psilon 14.10.202300:31 ответить ссылка 0.9
Динамическая типизация + интерпретатор, тут только mypy'ем можно будет проверить.
Люди, подскажите. Как освоить JS и не ёбнуться при этом? Думалка подпорчена всякими Паскалями СиШарпами. (всё на уровне любителя)
А какие с ним проблемы?
Хз как пояснить. Я давно несколько раз пытался к нему подойти по надобности. И если в тот же СиШарп буквально вливался за недельку с нуля (исключительно для небольших своих задач, типо обработать пару простеньких database). код пишется легко, операторы, функции, синтаксис - запоминаются на раз-два. То в js, столько не пробовал, плевал на все дело в итоге, и просто собирал по кусочкам готового кода из инета своего франкеншейна, и с радостью хоронил, когда находилось решение более простое для моего скудного ума.
Повторюсь - программирование для меня это чисто любительское занятие. Добровольно в него не лезу, только из крайней необходимости. На уровне ардуинок можно сказать.
Ну и не надо если не заходит. Видимо, индивидуальное неприятие. Я его тоже не перевариваю.
Попробуй TypeScript например. Сфера применения, насколько я могу судить, та же.
У меня митуёвина наоборот, с ЖСа перекатываюсь в сишарп, точнее в асп дотнет. ЖС удобный для веба, и достаточно простой если не лезть в дебри. Шарп гораздо тяжелее в понимании, ну или это я тупенький и привыкший к ЖС
Arhonavt Arhonavt 13.10.202320:58 ответить ссылка -0.7
Единственное, что в js отличается и что надо знать - это промизы и асинхронность из коробки. Остальное должно быть легко, если ты ui не делаешь. В ui там еще фреймворки, библиотеки, стейт и прочие радости.
itury itury 13.10.202320:20 ответить ссылка 1.7
попробуй рубирейлс
dr9vik dr9vik 13.10.202320:26 ответить ссылка -0.4
Сам долго писал на js по работе, потом перекатился на C#. Когда надо что то писать на js начал испытывать нехватку строгой типизации, нет нормальных подсказок IDE. В итоге нашел спасение в документировании методов JSDoc с указанием типов параметров. Еще как вариант писать на тайпскрипте.
nohonor nohonor 13.10.202320:53 ответить ссылка -0.7
Проблему свою ты так и не объяснил. Язык довольно простой, си-подобный. Ебанина в рот и хуё-моё у меня начинается когда лезу в стеки зависимостей. А уж если тайпскрипт наслаивается, то можно просто всё проклинать когда вылазят ошибки типизации с темплейтами пятиэтажной сложности. Хуй знает как его освоить, наверное молча и иногда матерясь. Я не понимаю за что он так полюбился большинству разработчиков.
То ты под .NET не фиксил код написанный целиком с использованием рефлексии. ООП тупо нет, нет даже сущностей, есть только безымянные проперти в кортежах списков кортежей. Я схожу с ума, памагити
>>То ты под .NET не фиксил код написанный целиком с использованием рефлексии.
Пиздец. Это что -- ручная обфускация кода? Шоб 100% никто после не разобрал?
Wolfdp Wolfdp 13.10.202323:30 ответить ссылка 1.4
Нет, это инициативному долбоебу доверили разработку проэкта с нуля. Ну он и изобрел свой уникальный фреймворк на парсинге классов и пропертей через рефлексию (а на проперти еще и самописные атрибуты вешаются, я в ауте). Универсальное решение он захотел сделать, ага
Пиздить. Ногами, руками, и дрючком.
Некого - он съебнул задолго до моего прихода
https://javascript.info/
там где то можо выбрать русский или укринский
наверное самый лучший учебник.
а то что "мозг подпорчен" - это фикция и хуйня ) Мозг многогранен, и то что тебя сначала хуйне научили, останется в мозгу как инфа как делать не надо, иликак нечто специфичное
Lunar Lunar 13.10.202319:59 ответить ссылка 4.3
Мне нравится вот эти видеоуроки, но нужно знание английского.
https://rutracker.org/forum/viewtopic.php?t=5896967
На юдеми их ещё время от времени обновляют.
Никак. Ебнуться---это первое требование к разработке на JS.
bp390 bp390 13.10.202320:06 ответить ссылка 6.9
Как по мне - к любой разработке. Я так и не вкатился.
Мозг в свое время констатировал - ну нахуй, будешь сисадмином.
IduRUS IduRUS 13.10.202320:21 ответить ссылка 0.7
Вот неплохой курс. Довольно подробно все рассказывает.
Это реально полный курс, или он на пятом часу начнет писюном перед камерой вертеть, потому что никто не доживает до этого времени?
Van-ay Van-ay 14.10.202304:09 ответить ссылка 2.4
Ну я дошел до 7,5ч, пока писюнов не замечено.
ну и какой смысл тогда тратить на это время?
Так видос на 11ч. Надежда еще есть.
а чё, у программистов так принято? у кого больше писюн — тот сеньор?
Vetala Vetala 16.10.202300:30 ответить ссылка 0.0
JavaScript...
к •/
Pinguin Pinguin 13.10.202320:23 ответить ссылка 16.8
Никак блять
Попробуй Dart в связке с Flutter, если хочешь фронтенд попробовать. Или начинай сразу учить TS. Я вот после JS пытаюсь разобраться с кодом на Java и проклинаю всё на свете
да тоже ебнутый язык и фреймворк.
по синтаксису точно - наркоманы какие-то придумывали.
довелось на нем чуточку писать - осталось чувство глубокого отвращения.
Wass Wass 14.10.202305:50 ответить ссылка 0.0
Попробуй TypeScript. Та же фигня, но замаскированная под нормальный язык.
aspi aspi 06.11.202319:30 ответить ссылка 0.0
js после паскаля охуенен. я тож на уровне любителя, а дальше не осилил учиться пошел в другую среду, но потом по цепочке от эникея до дба в аутсорсе попал датабазить low-code платформу где оказалось что сертификаты mssql можноо в жопу засунуть а осваивать надобно js. и тут вдруг до меня доперли объекты, а дальше пошло как по маслу.

вот простой пример читал на хабре про задачи д.кнута, там питон, еще что-то (кажись паскаль, я уже 25 лет назад его не помню), попробовал на js прикинуть. простой лаконичный язык.
или физбазз элементарно просто:
console.log([...Array(100).keys()].map(n=>++n%15? n%5? n%3? n:'Fizz':'Buzz':'FizzBuzz'))
20 лет назад я использовал Турбо-Паскаль для обучения программированию, но здесь приведу образцы программ на Python. В файле-словаре Wordbook.txt все слова записаны в одну колонку без пробелов в начале и в конце слов.	Python
with open("с:\wordbook.txt", “г") as filel:
в typescript это пофиксили вроде
efb48a efb48a 13.10.202319:51 ответить ссылка 0.4
Фиг там, большинство библиотек пишутся для JS, поэтому разбираться с типами придется самостоятельно. Попробуй подобрать типы для Редакса.
Вот тут к примеру не будет ошибки
TypeScrlpt > E3 types.ts > ...
1	type StrictConfig = {
2	version:	number;
3	};
4
5	type SimpleConfig = {
6	version:	number |	string;
7	};
8
9 const StrictConfig: StrictConfig = {
10	version:	1,
11	};
12
13	const simpleConfig: SimpleConfig = StrictConfig;
14
15
16
ну я конкретный случай, который в меме проверил. А вот это на скрине честно говоря не понятно, почему должно вызвать ошибку. Допустим int a = 1; double b; b = a; Нет же ошибки?
efb48a efb48a 14.10.202306:39 ответить ссылка 0.0
Если по джаву, то int (4 байта) -> double (8 байт) безопасно,интервал чисел который описывает double включает в себя любой int. Преобразование пройдет без потери информации, может быть проведено неявно.

В случае a=b мы попытаемся 8байт впихнуть в 4. И тут уже появляется риск потерять какую-то информацию. Поэтому это небезопасно и потребуется явно прописать a = (int) b; Подтвердив компилятору тем самым, что ты в курсе о возможной ошибке и берешь ответственность на себя.
это все и козе понятно, я этот пример привел как аналогию, к примеру на скрине. Там же тоже происходит каст без потери информации, поэтому ошибки быть не должно. Или нет?
efb48a efb48a 14.10.202323:10 ответить ссылка 0.0
Поэтому нормальные люди все инпуты приводят к нужным значениям сразу. А не в процессе каких-то вычислений. ТС просто помогает запомнить, что куда приходит. И указать на ошибку. Но это не панацея, конечно, а просто ещё один фреймворк
Mars53 Mars53 14.10.202308:10 ответить ссылка 0.0
Тут у не должно быть ошибки, потому что на 13 строке происходит преобразование при присваивании. Там неявно происходит:
const simpleConfig: SimpleConfig = stringConfig as SimpleConfig;

Т.к. version:number удовлетворяет version: number|string, то ошибки и нет.
sprspr sprspr 14.10.202311:24 ответить ссылка 0.0
Да, плохой пример. Не помню уже почему, я его записала. Может ошиблась с названиями переменных
Вот другой. Тут вроде как раз поведение, которое может создать ошибки
type Test = { a: string b: number c ?: boolean
}
const a = {a: 'test', b: 333, d: [1, 2, 3]} const wat: Test = a; // нет ошибки
const wat2: Test = {a: 'test', b: 333, d: [1, 2, 3]} // ошибка
Это правильное поведение, согласно документации. TS проверяет excessive properties только в object literals (как в последней строке). При присваивании переменной он проверяет только обязательные свойства, но не лишние.
Не совсем понимаю, как такое может создать ошибку, ведь если ты в будущем попробуешь обратиться к wat.d — он сразу покажет ошибку, ведь такого свойства в типе Test нет.
sprspr sprspr 14.10.202318:47 ответить ссылка 0.9
тогда и второе не должно вызывать ошибку?
efb48a efb48a 14.10.202323:39 ответить ссылка 0.0
Второе как раз и есть object literal.
sprspr sprspr 14.10.202323:44 ответить ссылка 0.0
спасибо кэп. Хотелосьбэ бы таки разобраться в чем логика выборочного поведения
efb48a efb48a 15.10.202300:20 ответить ссылка 0.0
А, сорян, не понял твой вопрос. TS не проверяет лишние свойства при передаче переменной для того, чтобы ты мог передать подкласс/подтип, и не получить ошибку при этом.
Например:
1	type FigureColor = 'red' | 'blue' | 'green'
2
3	interface	Figure	{
4	color: FigureColor;
5	}
6	interface	Circle	extends	Figure	{
radius: number;
8	}
9	interface	Square	extends	Figure	{
10	edge:	number;
11	}
12
13	function printColorCfigure: Figure): void {
14
sprspr sprspr 15.10.202300:58 ответить ссылка 0.0
Так я не говорю, что это неправильное поведение. Я говорю, что если целиком довериться TS, то можно наделать ошибок, если не знать подводные камни
Ну, я бы не сказал, что это прямо подводный камень, это ожидаемое и оправданное поведение. Вот прямо в этом примере я не совсем понимаю, какие ошибки можно "потом" наделать. Я не говорю, что в TS совсем нет других приколов, но большая часть из них — это непонимание самого TS, а не его недостатки.
sprspr sprspr 15.10.202316:06 ответить ссылка 0.0
класс для альтернативно одаренных второгодников с динамической типизацией ?
yukro yukro 13.10.202319:56 ответить ссылка -2.8
Тише, тут девятиклассники открывают для себя математику.
Вон там пишут что js сложный, а вон там что тайпскрипт делает то же самое, что и js.

Какой многогранный мир!
Сишарп:
Ты ща чары решил вычесть? Ну хуль, Чары это типа тоже числа же. На инт. Но вообще ты мудак.
Ну слава богу хоть в программировании нет никакой политоты.
Nameless Nameless 13.10.202321:18 ответить ссылка -1.7
ее обязательно подвезут.
нужно просто подождать.
А вообще возможна операция типа такой:
'363' - '3' =
И какой будет ответ?
Vetala Vetala 13.10.202323:30 ответить ссылка -0.1
SyntaxError: invalid syntax
Если определить оператор "-" для str, то ответом может быть строка "ты пидор"
veer veer 14.10.202303:38 ответить ссылка 2.2
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
e* \
; -s Tomasz is building cloudash.dev 1d
^ npm install esllnt-conflg-airbnb
'••'.K r
Q 31 tn 683	5 023 ¿j »и	ТТгТ	lJ ■ R т-^И • ■	nTiiÏÏK'H'lilH		i I 11	тш
г		П[»]|	I Г* I ■ . V Я 1 I I в	/»Il 1	хйшТ	Щ
ж		Пш	Hií»lMhHHil!	|Д7	ijTTT	[¡iff » 4 in l <- false
Programmer Memes
@iammemeloper
Without a doubt, the best programming language
11:09 PM -Sep28, 2023 121.6K ¡ews
» let l = [1,2,3,4]
<- undefined
» 0 in l <- true
» "0" in l <- true
подробнее»

javascript языки программирования программирование geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор javascript programming languages programming geek

» 4 in l <- false Programmer Memes @iammemeloper Without a doubt, the best programming language 11:09 PM -Sep28, 2023 121.6K ¡ews » let l = [1,2,3,4] <- undefined » 0 in l <- true » "0" in l <- true
¡ndex.js
JavaScript Moment
1	console log(018 == '018');
2	console log(017 == ‘017');
3
■ Default: node index.js
true
false