- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
Хрюкни #4
._ __,
|\,../'\
,'. . `.
.-- '`.
( `' , ;
,`--' _, ,'\
,`.____ `.
/ `, |
' \, '
| / /`,
`, . ,` ./ |
' `. ,' |;,' ,@
______| | _________,_____jv______
`. `. ,'
,'_,','_,
`' `'
Этот оффтоп сгенерирован автоматически.
Индекс оффтопов: https://index.gcode.space/.
Зеркала Говнокода и полезные ресурсы:
* https://govnokod.xyz/ (альтернативный Говнокод)
* https://gcode.space/ (read-only зеркало Говнокода)
* @GovnokodBot в «Telegram»
* https://vorec.space/ (глоссарий Говнокода)
https://docs.python.org/3/library/typing.html#typing.NewType
<typing.cast(typ, val)¶
>Cast a value to a typ
питухи реально завозят параллельный мир в питухон
> в питухон
Питухон медленно превращается в «coq». Ко-о-ок!
Кстати, компайл-тайм эрзац-тайпчекинг-тайм вычисления уже подвезли:
А ещё там есть много смешных декораторов (примеры из доки):
Подтверждаю. Для быстрого прототипирования, написания простых повседневных скриптов и несложных веб-приложений он подходит прекрасно. С ролью интерактивного калькулятора с мощными возможностями по взаимодействию с окружающим миром он тоже справляется замечательно (уже года полтора как прописал в автозапуск «ConEmu» с шестью вкладками, в том числе с открытым «Питоном», чувствую себя замечательно).
>быстрого прототипирования,
>, написания простых повседневных скриптов
> несложных веб-приложений
>интерактивного калькулятора
?
> написания простых повседневных скриптов
> несложных веб-приложений
Почему бы не взять язык, где стат типизация была изначально?
Приведи реальный пример изменений в статотипизации «Питона», которые бы сломали обратную совместимость с предыдущими версиями; внутреннее устройство не предлагать. Бонусные очки за реальный пример с простыми и наиболее используемыми коньструкциями («def f() -> int», «x: float = 42.1»).
> Почему бы не взять язык, где стат типизация была изначально?
Например?
Старые тоже можно будет использовать, конечно. В итоге у тебя одно и тоже будет решено разными способами в зависимости от года написания.
Це мерзость!
К примеру, ты такой писнул
Vector = List[float]
https://docs.python.org/3/library/typing.html
А потом приземлился PEP 613:
https://www.python.org/dev/peps/pep-0613/
x: TypeAlias = int # type alias
или даже так
x: TypeAlias = “MyClass” # type alias
Explicit aliases provide an alternative way to declare type aliases, but all pre-existing code and old alias declarations will work as before.
Требуется больше alternative way.
------
>Например?
Я бы предложил koko, но ты же против "JVM" небось.
Или Swift, если у тебя ябло.
Может быть, пора делать новый язык?
Ой, ну и похуй. В крестах вон вообще каждые три года всё с ног на голову переворачивают и новые элементы синтаксиса вводят — и ничего, живут же как-то. Это не настолько большая проблема, если старое остаётся рабочим и понятным.
> koko
Компилируемый, сразу на выход.
Ещё одна весьма полезная для указанных мной целей фича «Питона» — необязательность типизации. Так, например, вычисляя на нём факториалы в консоли, я могу вообще полностью игнорировать типизацию, и это заебись.
кресты всё таки стартовали с более выгодных позиций: в питоне изначально стат типизации не было вообще, потом ее завезли в некоторые места иногда и убогую, потом начали развивать. Так что каша выходит хуже крестовой: в крестах у тебя вместо auto будет явный тип и ли древнее говно, а в питоне типа не будет вовсе.
>Компилируемый, сразу на выход.
Питон тоже компилируется. Видал .pyc файлики?
Так вот ты не поверишь, то котлин умеет тоже самое: скомпилировать, поюзать, и выкинуть.
Смотри:
Вполне себе тупой скрипт.
Другой вопрос, что запуск жабаговна это всегда долго, дольше чем сипайтон.
> необязательность типизации.
Это плюс для калькулятора, но для языка это минус.
Если типизация не обязательна, значит половина библиотек будет не типизирована. Именно так и есть в питоне, нет?
Может быть для прототипирования и веб параши было бы логично иметь один язык, а для калькулятора bc -- другой?
А я вовсе не про типизацию крестовую, я про весь язык. Вот, например, надо тебе проитерироваться по элементам вектора. В C++98 и раньше ты делаешь вот так (не скажу за точность, ну да ладно, похуй):
В «C++11» так делать стало не модно, итераторы — наше всё:
В «C++14» решили, что писать портянку с iter на каждый чих — говно, и ввели крутые range-for (без шуток крутые):
А ещё в каких-то стандартах сделали std::for_each, std::transform и прочую функциушню.
Ну и как тут можно жить, если в старой половине проекта такой простой коньструкт, как цикл по элементам коллекции, на итераторах, а в новой — на совершенно другом синтаксисе?!
> но для языка это минус.
Языков без минусов не бывает.
> а для калькулятора bc -- другой?
>>> с мощными возможностями по взаимодействию с окружающим миром
Вот смотри, есть у меня какой-то сайт, я хочу скачать и сохранить с него все картинки (реальный пример). Я беру свой «Notepad++», пишу в нём:
Потом копирую этот код, вставляю в открытую консоль с «Питоном» — и вуаля, готово.
А я именно про типизацию)
Мне в джаве тоже противно смотреть на старый код, где вместо функциональщины куча императивщины ненужной, но я точно знаю, что возвращаемое значение мне известно (кроме пары кейсов из джавы 4)
>Языков без минусов не бывает.
Это правда. Но вот ситуация со стат типизацией это довольно жирный минус кмк
>вставляю в открытую консоль
и всё падает, потому что нужно ставить requests:)
Какого типа link в links?
В том же коко ты мог бы сделать тоже самое (там и REPL есть), разве что тебе пришлось бы писать val. Там есть вывод типов. Кстати, как с выводом типов у mypy и его друзей?
А в крестах проблема не в типизации, как я уже продемонстрировал.
> Но вот ситуация со стат типизацией это довольно жирный минус кмк
Ну вот именно поэтому она в «Питоне» и опциональная. Если так сильно не нравится — просто полностью игнорируешь её и пишешь на динамически типизированном языке. Все бы минусы так исправлялись…
> и всё падает, потому что нужно ставить requests:)
И это ещё один жирный плюс «Питона»: пакеты (по крайней мере, большинство) ставятся ровно одной простой командой, после чего их можно сразу же использовать. Даже оболочку «Питона» перезапускать не надо.
Как, например, мне установить и подключить стороннюю библиотеку в «Котлине»?
> Какого типа link в links?
Да вообще похуй, мне какая разница? (Спойлер: str).
> В том же коко ты мог бы сделать тоже самое (там и REPL есть), разве что тебе пришлось бы писать val.
Очень сильно сомневаюсь. Что, даже не пришлось бы ебаться с кодировками?
> Кстати, как с выводом типов у mypy и его друзей?
Да нормально всё, большинство простых случаев успешно выводится. «Mypy», кстати, весьма впечатляюще обрабатывает «Optional»:
Для динамушни очень продвинуто и полезно.
Такой себе мини-ман. Для меня, питуха с куриной памятью, это очень полезно.
— Вуаля, мне показывается нужная мне картинка. Это очень круто и очень удобно.
Соответственно, я просто жму ctrl+space в идее, и вижу список всех возможных значений в выпавшем меню.
А причём тут «Идея»? Если уж мы пошли меряться IDE — мне в «VS Code» не только все возможные значения показываются, мне вся дока сразу видна: https://i.imgur.com/XGZ4Ald.png. И никаких тебе «одиночек» не нужно (хотя енумы, кстати, в путухе есть).
https://i.postimg.cc/Mp5kG5Th/enum.png
enum вроде недавно завезли, да
>>> и ты конечно помнишь наизусть, что в параметр надо передавать Image.NEAREST, а похуй, что нет статической типизации, чтобы это подсказать< правда?
Ну вот мне всё подсказали и разжевали, причём гораздо подробнее, чем в «Идее» + «Котлине».
ты посмотрел мою картинку?
В питоне ты вызываешь resize, и там есть один из параметров "resample".
Как ты можешь узнать какие значения туда можно передать?
Только почитав документацию.
Что будет, если написать так? Можно ли это отловить статически?
Нет, только в рантайме
Скорее всего даже вот такое не отловить (поправь, если я ошибаюсь)
В Java/Kotlin enum это класс с несколькими инстансами-синглтонами.
Так как оба языка изначально статически типизированы, то:
* IDE может показать список значений для enum
* IDE и компилятор проверяют корректность переданного туда значения
>Ну вот мне всё подсказали и разжевали, причём гораздо подробнее, чем в «Идее» + «Котлине».
В Idea и kotlin есть тоже самое:
https://i.postimg.cc/4xdBTRKH/doc.png
Все IDE умеют показывать документацию из кода: и VSCode, и PyCharm, и Idea
Чувак, эти значения у меня на картинке выделены жирным моноширинным шрифтом. Твоя доёбка не работает.
> Что будет, если написать так? Можно ли это отловить статически?
Если бы авторы библиотеки оформили правильный енум — можно было бы. Как ты понимаешь, если в «Котлине» сделать перечисление через «val NEAREST = 1; val BICUBIC = 2;» и принимать инт, ты точно так же статически неверный параметр не отловишь.
Разумеется, если в «Питоне» ты сделаешь нормальный енум, а не просто кучку целочисленных констант, то статотипизация тебе всё дополнит и отловит: https://i.imgur.com/4SF2IHY.png, https://i.imgur.com/L6w3xWy.png.
ну то есть всё таки нужно прочитать документацию, и аккуратно скопировать оттуда допустимое значение.
>Если бы авторы библиотеки оформили правильный енум — можно было бы.
И если бы они указали его с помощью тайпхинтов, верно?
Но они этого не сдеалли, верно?
А почему знаешь?
>Разумеется, если в «Питоне» ты сделаешь нормальный енум
И укажешь его с помошью тайп хинтов.
А в 99.9% библиотек этого не сделано. Потому остается читать документацию, и копировать оттуда правильные слова.
Я, кстати, не утверждаю, что статическая типизация всегда хорошо.
Просто ты с одной стороны утверждаешь, что это хорошо (и что ты статически типизируешь вообще все скрипты) а с другой представляешь отсутствтие ее примерно во всех библиотеках питона как плюс, и тут же доказываешь, что она не нужна, потому что всё указано в документации:P)
Зачем? Автокомплит констант прекрасно работает, вводишь «Image.NE» и нажимаешь «Enter».
> А в 99.9% библиотек этого не сделано. Потому остается читать документацию, и копировать оттуда правильные слова
В 99.9% библиотек прекрасно работает автокомплит, ничего копировать не надо.
Ну ладно, окей, уговорил, «Питон» — говно. Теперь моя очередь.
Берём код:
Компилируем… Успешно, ошибка в компайлтайме не отловлена. Вывод — «Котлин» тоже говно.
Откуда ты знаешь, что нужно вводить Image? Из документации опять?
Что будет, если ты введешь Image._filters_support? Это тоже филды того класса.
>В 99.9% библиотек прекрасно работает автокомплит
Только сначала тебе надо узнать имя класса с этими константами.
>Берём код:
Так, разумеется, никто не делает: все используют enum.
В питоне я тоже могу взять enum, но:
* скорее всего его там не будет, потому что его завезли-то пару лет назад
* если и будет, то это не будет отражено в тайпхинте, потому что большинство библиотек его не использует.
Ответь на вопрос: хорошо ли иметь везде статическую типизацию?
Из окошка, которое появляется, когда я ввожу «.resize(». Из точно такого же окошка, которое показывает тебе «Идея».
> Что будет, если ты введешь Image._filters_support?
А что будет, если я буду срать, не снимая свитер?
> Так, разумеется, никто не делает: все используют enum.
Ну как никто? Я только что сделал.
> скорее всего его там не будет, потому что его завезли-то пару лет назад
Для промышленного, «тяжёлого» энтерпрайзного программирования ни «Python», ни «Kotlin», разумеется, не подходят. А для той ниши, которую я указал в начале ветки, использование bleeding edge технологий — скорее правило. Или ты хочешь сказать, что для прототипирования/скриптинга/пет-проджектов ты используешь исключительно «Кобол» 1985-го года выпуска?
> если и будет, то это не будет отражено в тайпхинте, потому что большинство библиотек его не использует.
Не знаю насчёт большинства, у меня таких данных нет.
> Ответь на вопрос: хорошо ли иметь везде статическую типизацию?
В той нише, которую (по крайней мере у меня) занимает «Питон» — нет.
Кстати, можно в «Котлине» защититься от null-ов в ссылках без бойлерплейта?
>>>
- не знаю, что там с питухом, но почему не подходит Котлин?
Просто более лучшая жаба
Потому что где ты видел тяжёлый энтерпрайз, в котором используется ЯП четырёхлетней давности? Вот хотя б десяток лет «Коко» отстоится, стартаперы-хипстеры-смузихлёбы, его использующие, подрастут и станут уважаемыми тимлидами — тогда да, станет и он энтерпрайз-рэди. Если, конечно, к тому времени не помрёт.
Котлин просто нишевый, его продвигают для ведра.
Котлин совместим с жабой (примерно как свифт с Objc), его где только ни продвигают. Ничто не мешает написать один класс на яже, а другой на котлине
> Котлин совместим с жабой (примерно как свифт с Objc)
- интересно ты сравнил, два языка, у которых просто есть интероп, и два языка, работающих поверх одной VM
Думаю, что ничего серьезного)
Энтерпрайз начался с "J2EE 1.2 (December 12, 1999)" примерно.
>интересно ты сравнил
))Ну ObjC и Swift тоже работают поверх "llvm", просто она их компилирует в нативный код, тогда они работают поверх "arm" или "x86"
Kotlin и Java тоже самое, просто там jvm.
Чистый Свифт ничего не знает про рантайм, у них с ОбжСи местами разные интерфейсы и поведение (я тут писал: uint/Int в длине коллекций, копирование/некопирование ключей в словарях).
У Котлина и Жабы тоже есть такие heart-breaking различия?
У котлина есть свой ратнайм и своя библиотека поверх того, что предоставляет JVM (хотя есть доступ и к JVM напрямую).
Свифт может работать без всяких кокоа и фундейшенов и именно так емнип и работает на линухе.
Странная компания. Язык смогли придумать, а зачем он нужен - не совсем.
Sun -- компания мечтатель.
"The network is the computer", "создать универсальный язык" и прочая маниловщина.
Пока летали в облаках, всё пиздой и накрылос
Тут даже Сан были ближе к реальности в своих мечтаниях
Мне, кстати, выдумывать идеальные системы и суперумные фреймворки тоже нравится, но это плохо монетизируется)
У Сан был период расцвета, а потом всё просрали, ничто не ново, рано или поздно пейсбук ждёт та же участь
Microsoft вон старше Сана, и ничего: на плаву
В языках с обязательной стат типизацией мне и окошко не нужно: я нажимаю ctrl+Space, и вижу все значения енумов.
>А что будет, если я буду срать, не снимая свитер?
Это охуенный аргумент.
Статическая типизация предлагает тебе автоматизировать то, что ты делаешь вручную.
Я спрашиваю тебя: "а что будет, если делая что-то вручную ты ошибешься?"
Ты отвечаешь: "А что будет, если я буду срать, не снимая свитер?"
>Ну как никто? Я только что сделал.
1. В каком количестве библиотек в питоне используется enum?
2. В каком количестве библиотек есть тайпхинты?
>Для промышленного, «тяжёлого» энтерпрайзного программирования ни «Python», ни «Kotlin», разумеется, не подходят
Хм. Что такое "энтерпрайзное"?
Вот эта хуйня достаточно энтерпрайзна?
https://www.jetbrains.com/space/
А Java подходит?
WebSphere достаточно эентерпрайзен?
>Не знаю насчёт большинства, у меня таких данных нет.
Ну ты же пишешь на питоне, верно?
Какой процент из использованных тобою библиотек имели type hinting?
>>> Ответь на вопрос: хорошо ли иметь везде статическую типизацию?
>В той нише, которую (по крайней мере у меня) занимает «Питон» — нет.
В таком случае зачем ты статически типизируешь весь свой код на питоне, если иметь статическую типизацию это плохо?
>защититься от null
угу.
> и вижу все значения енумов
И видишь ты их не в окошке, а сразу у себя в голове?
> Статическая типизация предлагает тебе автоматизировать то, что ты делаешь вручную.
Вручную ты нажимаешь «Ctrl+Space», мне всё показывается автоматически, сразу после ввода «.resize(».
> Что такое "энтерпрайзное"?
Это умом не понять, это чуять надо!
> Вот эта хуйня достаточно энтерпрайзна?
Нет, это, очевидно, какая-то хипстерская питушня.
> А Java подходит?
Вот это да, это заебись, это надёжно.
> WebSphere достаточно эентерпрайзен?
Ага.
> Какой процент из использованных тобою библиотек имели type hinting?
Не знаю, не замерял. Доки есть везде, автокомплит (с хинтинга или автовывода) практически везде.
> угу.
Убери «else», бойлерплейт ненужный же.
Кстати, как в «Kotlin» обстоят дела с установкой сторонних библиотек? Для указанной мной в начале ветки ниши это очень важно.
Реальный пример: хочу я подключиться к «Redis»-базе и что-нибудь оттуда взять. В «Питоне» я в командной строке пишу:
После чего могу в REPL сделать «import redis» и потечь. Более никаких действий предпринимать не нужно. Как этого же добиться в «Kotlin»?
я нажимаю ctrl+space, и вижу список, из которого могу выбрать клавиатурой
>мне всё показывается автоматически
мне тоже, но кроме того, я могу нажать ctrl+space, и выбрать.
>Это умом не понять, это чуять надо!
>Нет, это, очевидно, какая-то хипстерская питушня.
Дискуссия с тобой выходит на новый уровень..
>Вот это да, это заебись, это надёжно.
Kotlin это Java с перделками. Не очень понятно, почему одно подходит, а другое -- нет.
>, автокомплит (с хинтинга или автовывода) практически везде.
Ну продемонстируй мне комплит для resample
>Убери «else», бойлерплейт ненужный же.
пожалуйста
>Кстати, как в «Kotlin» обстоят дела с установкой сторонних библиотек?
Kotlin под JVM обычно использует гредл.
Там ты можешь прописать нужную тебе зависимость, и сделать gradle install (или IDE само это сделает), после чего ты откроешь kotlin repl, и сможешь там писать.
---
Гост, мне кажется, или ты уже начал флудить и троллить?
Я не пытаюсь доказать, что котлин лучше python. Речь вообще не о том.
Есть языки с обязательной статической типизацией (C#, Kotlin, Java).
Есть без (Ruby, Python).
У каждого подхода есть плюсы и минусы.
По какой-то причине Python взял гибридный подход: стат типизация как-бы есть, но на самом деле нигде почти нету.
Из того, что ты пишешь, я сделал вывод, что стат типизация тебе нравится, и ты ею пользуешься.
Я спросил: почему не взять язык, где она уже есть из коробки везде и всегда, и привел в пример Котлин.
Я мог бы привести Java, но Java очень вербозен по сравнению с питоном, а Kotlin менее вербозен.
Я ответил: потому что для той ниши, в которой я использую «Питон», «Котлин» подходит плохо. Когда нужно написать и один раз (!) запустить скрипт на двадцать строчек, ебаться с «типизацией» не хочется. Для меня возможность вместо
Написать просто — это преимущество.
Также как и возможность заткнуть тайпчекер в случае какой-то хардкорной динамушни, которая на статотипизацию в принципе плохо ложится.
> но на самом деле нигде почти нету.
Ну это не так, конечно, в популярных библиотеках она уже почти везде есть, не говоря уже про стандартную либу.
> Из того, что ты пишешь, я сделал вывод, что стат типизация тебе нравится, и ты ею пользуешься.
Да, я вообще-то себя определяю как небинарного крестовика. В «Питоне» я ей пользуюсь в основном потому, что мне нравится экспериментировать с новыми концепциями и технологиями.
>Когда нужно написать и один раз (!) запустить скрипт на двадцать строчек, ебаться с «типизацией» не хочется.
Тоже гост *(отвечая на вопрос "в каких случаях ты используешь стат типизацию в питоне?")
> быстрого прототипирования
Малость поехавший, не?
> конечно, в популярных библиотеках она уже почти везде есть
приведи три библиотеки с тайпхинтами
Я за или полное отсутствие стат типизации (как в руби например) или за ее полное везде наличие
В языках типа Java c C# таких проблем нет в принципе
any
>сделан он именно ради попытки завести статическую типизацию в ужасный JavaScript
Попыток было много но успешным оказался именно typescript
>В языках типа Java c C# таких проблем нет в принципе
У меня вот проблема что я не могу уследить за типами в ввереной мне части проекта. Мне теперь весь проект на с# переписать? Или может только интересующие меня файлы типизировать?
в java ты тоже можешь object, а в C# вообще dynamic, но без надобности никто так не делает
>Мне теперь весь проект на с# переписать?
Можно сразу взять язык где сразу из коробки статическая типизация.
Если тебе хочется чтобы код был статически типизирован, то можно взять такой язык.
Блять, спасибо
Вместе со статическими языками случайно машину времени не выдают?
Я не предлагаю никому все переписывать с ноля, боже упаси.
Я лишь говорю, что подход "давайте мы сделаем язык без стат типов, а через 20 лет чуть чуть добавим туда типов" -- плохой.
Было бы лучше, если бы в питоне или вовсе не было стат типизации, или она была бы везде и всегда изначально.
А мне все объясняют, что оказывается заебись, когда у тебя одна функция возвращает str, а другая непонятно что.
Если у тебя уже есть куча кода, то ты живешь с ним, это ок.
Но если ты начинаешь с ноля, то почему бы сразу не взять язык со стат типизацией (если она тебе нравится)?
Тот же TypeScript, блин
Вдруг правда есть что-то хорошее в том, что пол проекта у тебя не типизировано
Мож, потому что он знает пистон, а котлин нет.
Ну и связка питон+пип+вскоде+фласк как-то попроще выглядит, чем котлин+градл/мавен+ИДЕЯ+спринг(?)
Почему гост берет питон, и обмазывает его статической типизацией, при этом рассказывая, что языки со статической типизацией не нужны:)
> как-то попроще выглядит
Это зависит от того, что ты уже знаешь
Плохой для чего? Какой именно вред он приносит?
> Но если ты начинаешь с ноля, то почему бы сразу не взять язык со стат типизацией (если она тебе нравится)?
Потому что фичи (в том числе субъективные) языка с опциональной статической типизацией перевешивают фичи языков с обязательной.
Типизация — это всего лишь один из критериев выбора, причём далеко не самый важный. В своей нише «Питон» мне нравится и удобен даже в полностью динамическом варианте. Наличие в нём статической типизации — это просто небольшой плюс, и всё.
* каждый раз мне не понятно: надо писать типы, или нет
* валидация кода майпаем ничего не говорит о корректности кода с точки зрения типов, потому что половина кода может быть ими не покрыта
> фичи (в том числе субъективные) языка с опциональной статической типизацией перевешивают фичи языков с обязательной.
Какие именно фичи?
Возможность не писать тип?
В современных языках типы и так выводятся, и писать их не надо.
Такое ощущение, что для тебя самым важным фактором выбора языка является типизация. Ты правда не понимаешь, что, например, богатая стандартная библиотека, простота установки и интеграции сторонних либ, упрощение написания кода «на коротких дистанциях» (то есть маленьких размеров), большая популярность (и, как следствие, наличие большого количества туториалов/ответов на «SO») в той нише, в которой я использую «Питон», гораздо важнее типа типизации?
Но если типизация для тебя превыше всего, то почему ты предлагаешь «Котлин», а не «C++»? В крестах она тоже обязательная и статическая.
Ну она довольно важна.
> богатая стандартная библиотека, простота установки и интеграции сторонних либ
Это совершенно другой вопрос.
Если бы ты сказал, что выбираешь питон по этим причинам, то я бы наверное даже не стал спорить, потому что стандартная либа там действительно мощная.
>то почему ты предлагаешь «Котлин», а не «C++»
Потому что в котлине больше новомодных свистелок и пирделок, делающих его чуть более похожим на питон.
Впрочем, ГЦ -- говно, так что можно подумать и про С++
Так, изначально я сказал (выделение новое):
>>> Подтверждаю. Для быстрого прототипирования, написания простых повседневных скриптов и несложных веб-приложений он подходит прекрасно. С ролью интерактивного калькулятора с мощными возможностями по взаимодействию с окружающим миром он тоже справляется замечательно (уже года полтора как прописал в автозапуск «ConEmu» с шестью вкладками, в том числе с открытым «Питоном», чувствую себя замечательно).
Про статическую типизацию добавил:
>>> В качестве дополнительного средства по повышению надёжности и уменьшению вероятности возникновения тупых ошибок.
Статическая типизация в «Питоне» для меня является дополнительной приятной плюшкой, не более того.
Почему это плохо? У некоторой части кода повышается надёжность, у другой она остаётся такой же. Что плохого в том, что хотя бы часть кода становится надёжнее?
> Я за или полное отсутствие стат типизации (как в руби например) или за ее полное везде наличие
Какой-то нездоровый максимализм, ей-говну. Может, ты ещё и против «auto»/«var»? Я видел фанатиков, которые введение автовывода называли чуть ли не крахом всей статической типизации. Мол, надо или писать всегда и везде все типы явно, или пиздовать на «JavaScript».
- подтверждаю. Всегда уважал за это ракетку. Если нужно, пишешь контракты или вообще берёшь typed/racket, если нет, то нет.
Потому что
* каждый раз мне не понятно: надо писать типы, или нет
* валидация кода майпаем ничего не говорит о корректности кода с точки зрения типов, потому что половина кода может быть ими не покрыта
>Может, ты ещё и против «auto»/«var»?
auto/var не имеют никакого отношения к нашей дискуссии: статическая типизация от вывода типов не становится менее статической
Так это чисто твой выбор. Хочешь — пиши, не хочешь — не пиши. С тем же успехом ты можешь жаловаться на то, что не понятно, какой в крестах использовать отступ: в четыре или в восемь пробелов.
> валидация кода майпаем ничего не говорит о корректности кода с точки зрения типов, потому что половина кода может быть ими не покрыта
Валидация кода майпаем говорит о корректности покрытого типизацией куска кода. Однако если ты считаешь, что это плохо, то ты можешь выключить «mypy» и вообще ничего не проверять. Тогда, следуя приведённой логике, код внезапно станет лучше.
> auto/var не имеют никакого отношения к нашей дискуссии: статическая типизация от вывода типов не становится менее статической
На самом деле становится, потому что из-за автовывода ты теряешь контроль над типами. Тем не менее, я всё же за «автовывод», а пример с «auto»/«var» привёл как демонстрацию такого же фанатичного подхода.
Я пишу, коллега не пишет, в сторонней либе тоже не написаны, везде зоопарк.
> С тем же успехом ты можешь жаловаться
Языки с жетским кодстайлом мне нравятся больше
>Валидация кода майпаем говорит о корректности покрытого типизацией куска кода
В языках с обязательной типизацией я могу говорить о корректности (с точки зрения типов) всего кода, тогда как в питоне я могу говорить только про часть, причем не понятно про какую, если я вручную не проверил наличие хинтов во всем коде.
>код внезапно станет лучше.
Ситуация станет консистентнее.
>потому что из-за автовывода ты теряешь контроль над типами
И каким образом это отменяет стат типизацию?
«Коллега» означает «работу», а «работа» означает наличие «кодстайла». В питоньем кодстайле, очевидно, должны быть указаны правила применения типизации.
> Языки с жетским кодстайлом мне нравятся больше
Ничего не поделаешь, языков без минусов не бывает. Кстати, если уж на то пошло, то в «Питоне» довольно жёсткий кодстайл, «PEP8» называется. В отличие от тех же крестов, кстати.
> Ситуация станет консистентнее.
Но как это повлияет на функциональность кода?
> И каким образом это отменяет стат типизацию?
Элементарно: поскольку ты не контролируешь тип переменной, ты теряешь надёжность при изменении API внешних либ. Изменяется тип возвращаемого значения — и ты об этом ничего не узнаешь, пока не словишь каких-нибудь багров.
>And the third goal of a more-correct Ruby will come from checking errors earlier, courtesy of a type profiler which will generate Ruby signatures (likened by Matsumoto to the type-describing d.ts files in TypeScript). Ruby 3 will ship with type signatures for its core libraries, available both for type checking as well as for enhancing future IDEs.
Кажется, кто-то собезьянничил.
Непонятно, правда, нахуя это говно с «() ->» вместо адекватного «Callable[[arg1, arg2, ...], retType]».
Ты же понимаешь, что «прототипирование» и «write-only скриптинг» — это две разные вещи? И эти люди запрещают нам ковырять в носу флудить и троллить!
> приведи три библиотеки с тайпхинтами
«NumPy» (недавно заадоптили стабы), «Django» (ещё не заадоптили стабы: https://github.com/typeddjango/django-stubs), «SQLAlchemy» (тоже ещё не заадоптили стабы: https://github.com/dropbox/sqlalchemy-stubs).
не, не понимаю. Объясни.
Я правда не понимаю, когда стат типизация в питоне нужна, а когда нет.
>NumPy» (недавно заадоптили стабы),
принято
>«Django»
джанговские стабы покрывают от силы процентов десять джанги, содержат кучу ошибок и фолс позитивов, и скорее вредят, чем приносят пользу. См баги
https://github.com/typeddjango/django-stubs/issues
Вообще как тебе мысль разрабатывать тайпхинты отдельно от проекта?
Это как если бы ты .c файлы писал, а я к ним .h файлы
«Write-only скриптинг» — это когда тебе надо написать скрипт для решения одной конкретной задачи прямо сейчас. Выше я реальный пример приводил: зайти на сайте, скачать оттуда все картиночки, сохранить их в отдельную папку. ПРЫЩЕПЕРДОЛИКИ такое обычно скриптят на «Баше», однако, на мой взгляд, «Питон» для этого подходит лучше.
Такие скрипты на 10-20 строчек я обычно пишу в «Notepad++», копирую их, вставляю в «REPL» и жду выполнения. Не приходится их даже сохранять. Разумеется, в этом случае типизацию я не использую.
«Прототипирование» — это когда тебе, очевидно, нужно сделать прототип какого-то приложения. «MVP», «демо-версия», как это ещё называется.
> Я правда не понимаю, когда стат типизация в питоне нужна, а когда нет.
В этом вся прелесть: когда хочешь — тогда и нужна. Не нравится опциональная типизация — забудь про её существование и пиши на чисто динамическом языке. Нравится — можешь даже в «REPL» типы прописывать, никто не запрещает.
В общем и целом, конечно, хорошим тоном будет типизировать любой публичный проект, ориентированный на «3.5+» (или когда там типизацию завезли, не помню), но ты всегда можешь сказать, что пользователи с «3.3» тебе важны.
> Вообще как тебе мысль разрабатывать тайпхинты отдельно от проекта?
Вообще, конечно, это не очень хорошая практика (в первую очередь — потому что надо отдельно ебаться с установкой этих стабов), но прямо-таки криминального в этом я ничего не вижу. В конце-концов, в любой бульмень сложной программе разные куски будут разрабатываться разными людьми.
Хрю! Умели же делать!
Как раз новый Шланг собираю.
Хрюки-хрюки-хрюки-хрю!
Эта программа проверяет число на простоту.
Как вообще такие непонятные программы на Perl'е называются и где почитать чтобы научиться писать такие?
govnokod.ru
Чтобы постичь регулярки, советую начать с книжки с совами: mastering regular expressions
Нет, там же всё вполне детерминированно. Берём символ, повторяем его N раз, потом проверяем, что, повторив («\1+») группу из k (джвух или более) этих символов («(11+)») M раз мы можем полностью покрыть нужную строку. Если можем — автоматически получаем факторизацию: N = k*M. Очень простое и элегантное решение.
в ДКА из каждого состояния есть только ОДИН возможный переход.
То есть мы или завершились, или перешли в следующее состояние
А в НКА возможно более одного перехода, и потому мы можем вернуться, и попробовать другой вариант.
С ДКА бы такая штука как тут не сработала
Вроде бы их нету в некоторых комманд лайт утилитах позикосовых, и там ДКА
ДКА безопасен, и никогда не бывает дольше O(N) по идее, но с ним много не сделаешь
> но с ним много не сделаешь
Без бэктрекинга (backtracking), ЕМНИП, даже простой «+» не сделаешь в общем случае.
Типа
Например написано: "взять 1 или более единиц"
И есть строка "1111".
Я -- нежаждная звездочка (*?), беру первую единицу, и иду дальше. Дальше написано "тут строка кончается"
Я тогда возвращаюсь, и пробую взять две единицы.
Итд.
Без этого наверное и backreference нормально не реализовать.
>простой «+» не сделаешь в общем случае.
Ну он получится possessive (или как там), когда он ухватил сначала что-то, и уже не отдает.
Можно реализовать "a+b"
А вот "a+aa" уже не получится.
Да, именно она.
> Как вообще такие непонятные программы на Perl'е называются
«Perl golf». И вообще «code golf» — более общее понятие (у любых языков) для попыток впихнуть програму в как можно меньшее число символов.
Владимир Путин наградил дизайнера Артемия Лебедева медалью ордена «За заслуги перед Отечеством» II степени
Указ опубликован на официальном портале правовой информации. В документе уточняется, что Лебедева наградили за заслуги в становлении и развитии российского сегмента Интернета. Это первая государственная награда дизайнера.Помимо Лебедева аналогичную медаль получила, в частности, руководитель компании InfoWatch Наталья Касперская.
На этой неделе собственный капитал основателя Amazon Джефа Безоса превысил показатель в $200 млрд, в течение года его состояние увеличилось на $84,9 млрд. По оценкам Bloomberg, состояние основателя Tesla Илона Маска перевалило за $100 млрд, увеличившись с начала года на $76,1 млрд. В результате Маск стал четвертым в списке обладателей 12-значных состояний, наряду с основателем Facebook Марком Цукербергом и основателем Microsoft Биллом Гейтсом. В сумме состояние этой четверки превышает $540 млрд.
Первый амазон был вроде на перле написан, не?
На Вики пишут, что он взял у родителей 300 тысяч баксов, чтобы открыть Амазон.
А ещё пишут, что он хотел назвать Амазон Кадаброй, но пришлось поменять название, because a lawyer misheard its original name as "cadaver".
У них в Америке туго со слухом? То google вместе googol, то кадавр вместо кадабры
А потом вот взял и написал сайт на перле
Охотно верю
Make вореции great again
Уи-и-и-и! Хрю-хрю-хрю!!!
Мерзавец! Найду Гарри и сожру целиком.
https://i.ytimg.com/vi/yDjxAkyf7TI/maxresdefault.jpg
https://ru.wikipedia.org/wiki/Категория:Вымышленные_свиньи
Со временем вера в свинорылых женщин ослабела. Последняя значительная печатная работа, объявлявшая их существование подлинным, была опубликована в 1924 году
Уи-и-и-и! Хрю.
На сайте вендора написано, что там N455
А на самом деле там n2800.
Как так может быть?
такое бывает с неопытными бомжами
1) поиск по s/n чтобы посмотреть детально ВСЕ компоненты конкретно твоего устройства, которые засунули на заводе
2) psref чтобы посмотреть какие бывали опции в данной модели для разных рынков (чтобы получить уникальные парт-номера)
а на сайте нет
как так
https://support.lenovo.com/ru/en/solutions/pd023081
Я отказываюсь верить своим глазам:
Между ними должен быть промежуток.
Святилище осквернили
Предали плотским утехам монаха
Священный колокол стоит нечист
Иде мне кричит.
Собачку поставлю
По которым я прочим языкам программирования
Предпочёл «PHP».
Даймё не к лицу.
Предпочту «PHP»
https://www.youtube.com/embed/KVYuJ-y-01Y
Хрю!
Хрю.
https://d.radikal.ru/d01/2009/88/80dcd8a1dfc7.jpg
О сколько нам ковидов чудных
а потом понял: надо просто писать нормальный код
https://habr.com/ru/post/517404/
Минимум кода, максимум логики
Чёткая организация
Строгая типизация
Удобная абстракция от внешних систем
Хорошее лучше плохого
это реальные подзаголовки из той статьи
- «Notepad++»
- Писать без отступов, чтобы мозг не расслаблялся
- Не строгая питушиная типизация
- Быстрое лучше долгого
- Процедурный стиль, отсутствие абстракции (кода, который ничего не делает)
Ну что-то в этом есть. А то бывает откроешь код, а там 4 слоя абстракций под которыми одна сраная функция которая реально что-то делает.
https://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html
https://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html
что за хуйня
Total Commander умеет прямо на фтп-сервере править код же!
нахуй фтп
З.Ы. index1.php и index2.php не считаются.
Опять абстракций понатащили...
?
Серёжа мчится в серверную и маунтит дискетку с нужным index.php
- «Notepad++»
- Писать без отступов, чтобы мозг не расслаблялся
- Не строгая питушиная типизация
- Быстрое лучше долгого
- Процедурный стиль, отсутствие абстракции (кода, который ничего не делает)
- «Notepad++»
- Писать без отступов, чтобы мозг не расслаблялся
- Не строгая питушиная типизация
- Быстрое лучше долгого
- Процедурный стиль, отсутствие абстракции (кода, который ничего не делает)
- «Notepad++»
- Писать без отступов, чтобы мозг не расслаблялся
- Не строгая питушиная типизация
- Быстрое лучше долгого
- Процедурный стиль, отсутствие абстракции (кода, который ничего не делает)
- «Notepad++»
- Писать без отступов, чтобы мозг не расслаблялся
- Не строгая питушиная типизация
- Быстрое лучше долгого
- Процедурный стиль, отсутствие абстракции (кода, который ничего не делает)
- «Notepad++»
- Писать без отступов, чтобы мозг не расслаблялся
- Не строгая питушиная типизация
- Быстрое лучше долгого
- Процедурный стиль, отсутствие абстракции (кода, который ничего не делает)
> Большинство багов случается не потому что что-то не так с моей логикой (обычно она упирается в требования), а потому что какая-то внешняя по отношению к моему коду система повела себя не так, как я ожидал.
> Вбивать руками тестовые данные, которые уже, блин, лежат в базе — тоже не хочу. Разве умная машина не может сделать это сама?
Вообще от разработчика заднего конца с более чем десятью годами опыта ожидаешь меньшую концентрацию лютой дичи
Именно поэтому я за пхп.
заходите на vorec.space, логиньтесь с аккаунтом на гк и развивайте глоссарий!
Теперь можно просматривать все редакции для конкретного определения с датой и авторством, указывать причину добавления редакции и добавлять примеры использования в виде ссылок на посты или комментарии на гк
Given this, you may wonder how Netty can support NIO (АСИНХРОННАЯ ПИТУШНЯ) with the same API used for
asynchronous transports. The answer is that Netty makes use of the SO_TIMEOUT Socket
flag, which specifies the maximum number of milliseconds to wait for an I/O operation to complete. If the operation fails to complete within the specified interval, a
SocketTimeoutException is thrown. Netty catches this exception and continues the
processing loop. On the next EventLoop run, it will try again. This is the only way an
asynchronous framework like Netty can support OIO (СИНХРОННАЯ ПИШУТНЯ).
https://www.animefeminist.com/
антифеминист? анимефетишист?
Ein 2D. Ein kawaii. Ein katzenmädchen. Nya!
сделать хорошо несложно
но для этого надо будет регистрироваться где-то ещё кроме говнокода
https://govnokod.xyz/_26896/#comment-556755
Это в теории может сделать gost на нгк. Собирать статистику по тому, сколько каждого пользователя добавили в игнор. Если больше там пяти раз или десяти, то это однозначно рак и можно его шедоубанить.
Ещё было бы круто, если бы на нгк можно было скрывать отдельные ветки комментариев, но я не знаю, насколько это геморно технически.
Хотя, если я сижу с трёх устройств, то уже три раза рака заигнорю, а потому, как считать количество игноров, всё же загадка
на что рак создает 1000 аккаунтов и банит ими 5 адекватных юзеров нгк
вин
Просто опубликуйте тут свои публичные ключи например, а автор банлиста даст вам по ним пермишен добавлять уёбков
Ты типа сомневаешься, что высер про "гомо" уёбок написал?
Уёбкодетектор делается элементарно
Даже дети видят тут рак:
http://govnokod.ru/user/26216/codes
Пять лет назад оно чего-то там хрюкало про дельфи и даже про вин32апи, а гомопедофилия была там на периферии сознания.
Теперь оно пизданулось окончательно, и больше не нужно.
Забавно кстати, что оно часто атакует именно тебя: по какой-то причине у него на тебе пунктик)
Потом рак начал биться в жёлчных конвульсиях, называть всех лицемерами и срать педо- и порнотредами
Борманд наверное просто запомнился лучше всех
Вообще это реально же психические проблемы какие-то, в идеале ему бы к доктору
Косплеить идиота несложно. Конечно, адекватный человек таким заниматься не будет, но скучающих неадекватов тоже много, а тот факт, что Страйкер просыпается ото сна только после ритуального жервтоприношения, только поощряет их почкование
Хотя может быть и конардо: он тоже ебанутый
А может это ты
А может это д++
Я бы советовал не реагировал на ответы уёбку коронной фразой, а игнорировать. Не так много говна щас на гк, чтобы заводиться.
Ну, или если это про просто попиздеть, то чому б ни
Это даже хуже прямого ответа уёбку. В прямом ответе обычно стеб какой-нибудь, а тут видно, что у тебя от подгорает. И уёбку это нравится.
Приходит jциферки, который не сидит тут 24/7, и не знает кто уёбок, и с дуру отвечает на очередное "проглоти мою сперму".
Уёбок возбуждается, и срёт еще больше.
Полный игнор уебана спас бы ситуацию
Нужно прийти и физически отпиздить уебана - вот это спасло бы ситуацию.
я тебе пива куплю, если сделаешь
нет
>А может это ты
нет
>А может это д++
нет
Нет, серьёзно.
То есть, говоря о ресурсе, где в своё время ЛиспГовно пиздел с другими своими файками для поддержания дискуссии, где многие люди сидят под несколькими аккаунтами, а некоторые каждую неделю заводят новый, где под guest8 вообще может прилететь даже небо даже аллах, ты категорически утверждаешь, что знаешь, кто флудер и спаммер, а кто нет?
И потом ты сам оставил 10% вероятности на то, что мы всё-таки будем.
Это не значит, что мы будем, я ни на что не намекаю.
поехавшие
Когда выложили первую пачку, то многие "гости" сидели под ними, даже я пару раз, потому что было лень регаться. Но, разумеется, шизоид продолжал целиком эти профили контролировать, а потому это оказался не вариант
А так инканус после того, как рак подосрал ему с псевдоакком, почему-то плодит аккаунты со страшной силой, хотя называть его уёбком это как минимум несправедливо
ну и если есть неоднозначность, то по весам - лишь бы -50% пробивало в рейтинге
Другое дело, что тогда надо отделить "уёбок" (публичный список) и "мне не нравится" (приватный список). И в публичный список вносить только полных, стопроцентных уёбков.
К примеру, не всем нравится читать вореции. А из-за бубличности их нельзя будет забанить на время.
Зашел в профиль борманда, накликал какие теги наследовать.
а ты говоришь "публикуй два разных под разными тегами"
любители нагазировать в мелкий водоем своих вореций
читай исходный тезис
кстати, ban for 4 hours, как в телеге есть mute — охуенная бы тема
энивей, надо регаться на втором ресурсе
либо опенсслом себе самоподписанный серт выдавать, отпечаток которого насрать публично в отдельный тред, а при экспорте списка уебков с нгк через апи куда бы он там хотел - его подписывать как раз используя этот серт
тогда уже не самоподписанный, а подписанный сервером нгк, и 2-way ssl авторизацию, что всё больше соответствует "регаться на втором ресурсе", и как следствие "я доверяю серверу и всем данным, которые он мне сообщил, что это блеклист борманда"
также, как и твое личное дело отвечать уебку, видеть как кто-то отвечает уебку или скрыть уебка (или скрыть обоих!)
но хотелось бы синхронизации на 3 девайса, например
а так просто вместо обсуждения технической стороны вопроса снова всё скатилось в галдёж
Пиши с телеграма, как я. Мне заебись.
- насколько сложно браузер заставить в реалтайме писать и читать в файл? Я так понимаю, что это гемор?
Или научить нгк парсить файлы нужного формата по ссылке, тогда профиль можно хранить на дропбоксе, сифайле и т.п.
Правда, если с чтением тут всё тривиально, то с записью лишние телодвижения
Предварительный вореант:
1. Юзер заходит в настройки и нажимает кнопку «синхронизировать»;
2. Юзеру выдаётся трёх-четырёхзначный кот, действующий в течение N минут/часов;
3. На другом девайсе юзер заходит в настройки, вводит код синхронизации и получает свой список уёбков/постов/кастомный фильтр.
Насколько это будет удобно?
там юзер интерактивно обязан подтвердить каждый раз, что это именно то, что он бы хотел и т.д.
в локалсторадж - пожалуйста, оппишись
но зачем?
Потому что нас мало. Вот если бы у нас было 2000 пользователей, и пришлсоь бы раздавать модерские права направо и налево (как это обычно бывает на некоторых форумах) вот тогда бы да: начали бы банить за плохую аватарку, неверные взгляды итд
Лол, уйдут на соседнее зеркало или свое форкнут. Тоже мне власть. Тут каждый первый может сервак поднять, просто ленится.
Эээм, там же полностью анонимные профили, даже кук нету. Зайдёт стертор со ста айпишек, добавит тебя в игнор и ты станешь раком.
На практике не уверен. Щас-то с раковых аккаунтов какой-то шалопай срёт, а не профессиональный флудер
как писатель
Стаут, как пиво
как писатель
как писатель
как писатель
как писатель
как писатель
как писатель
как писатель
как писатель
как писатель
как писатель
В текущей парадигме не могу: на НГК не логгируется событие «юзер добавлен в список уёбков» (оно вообще чисто клиентское).
В теории, конечно, можно из access.log погрепать список тех, кого игнорили, но это будет просто список запросов без какой-либо вменяемой статистики.
> можно было скрывать отдельные ветки комментариев, но я не знаю, насколько это геморно технически
Геморройно. Тут либо базу править (добавив каждому комментарию поле «root_comment_id»), либо ре-ку-ку-курсивные запросы писать, но они будут пиздец как тормозить.
P. S. Сезонная итерация обсуждения блоклиста на ГК. Какое постоянство )))
В этом сезоне мы уже заново прошли исключения.
Теперь вот игнор раков.
Что там следующее по программе? Кавычки и даты в пхп?
Опять сентябрь. Опять школа. Опять уебки на ГК.
Мне определения «пердолинг» и «Сёма» очень понравились.
Ты будешь обязан читать его не реже 2 раз в день. А если выгрузка помечена флагом "срочная" - то ты обязан применить её не позднее, чем через час. Ну и твои запросы должны быть подписаны электронной подписью.
Надо просто держать ZMH с 12 до 13 по Москве. В этот час ты должен быть готов получить срочное сообщение
Ебать ты олд. Может быть, ты ещё нодой был?
а я поинт (был в прошлой жизни)
https://yandex.ru/blog/company/magazin-i-muzey-2
Да это ж среднестатистический юзер pleroma. Из-за них Goolag даже приложения для доступа в fediverse выпилил.
Что-то про Мефистофеля или про министра.
Пожалуйста, мессир!..
https://youtu.be/Dh6tu-VwL8g
Хрю-Хрю.
https://a.aliexpress.com/_ePb7Cb
В древнерусском не было мягких «г», «к», «х» (вместо них употреблялись «зь», «ч», «сь»; до сих пор можно встретить артефакты этого чередования, особенно в украинском и в белорусском).
Буквы «ъ» и «ь» обозначали редуцированные гласные. В болгарском буква «ъ» сохранилась в первоначальном значении. В русском редуцированные гласные остались только в безударном положении (сейчас они могут обозначаться буквами «о», «а», «е», «и»), ударные исчезли.
Были «юсы», обозначающие носовые гласные. Сейчас носовые остались только в польском (не чисто носовые, как во французском, а сочетание обычной гласной с кратким носовым звуком). В русском артефакт носовых гласных — это чередование «пламя — пламени». Так вот вместо «я» и «ен» в этом реальном примере было «е носовое».
Буква «ять» обозначала специальный звук. Вероятно, это был восходящий дифтонг «иэ» с кратким «и» и долгим «э». Такой дифтонг сохранился только в литовском и в латышском. В современном русском «ѣ» заменили на «е», в украинском — на «і», в болгарском — на «я», т. е. специальное значение полностью исчезло.
• Мягкие «г», «к», «х» появились уже к началу старорусского периода.
• «Ять» точно путали с «е» в XVIII веке, т. е. к концу старорусского периода. Когда впервые возникла путаница, нужно копать.
• Носовых к концу старорусского периода точно уже не было. Опять нужно копать, когда они исчезли.
Совершенно верно: Дарога, но па дарозе. Но в русском тоже бывают чередования. Друг -- дружба. Бог -- боже.
>Такой дифтонг сохранился только в литовском и в латышском
А "ia" в польском не от него? Белый -- biały.
>Носовых к концу старорусского периода точно уже не было
Они чуть ли не первыми отвалились. Удивительно, как поляки их сохранили
То есть biały — это просто «b мягкое», за которым следует «ały».
Причём в польском нет единого обозначения мягкости. Для некоторых согласных она обозначается штрихом наверху, типа знака ударения: «koń» = «конь». НЕКОНСИСТЕНТНОСТЬ!
В румынском и в молдавском после перехода на латиницу «і» тоже иногда стал обозначать мягкость. А чтобы обозначить мягкую согласную, за которой идёт «и», приходится «і» удваивать. А чтобы обозначить «ий» после мягкой согласной, приходится писать три «і» подряд.
А вот в румынском есть странные дифтонги, например, восходящий дифтонг «ea» с кратким «e» и долгим «a», который при транслитерации на русский обозначают буквой «я».
и я о том же;)
>поляки, как и болгары, поменяли «ѣ» на «я».
Угу. Например у болгар есть пясцы -- пески. Кстати, так можно угадывать, какое слово имело е, а какое ять. Находишь это слово у украинцев или болгар, и если там "i" и "я", то вот оно.
И кстати: piasek
А вот у беларусов часть ять видимо стала "е", а часть "я". Пясок, но белы.
>сяло
я думал, у них вёска. Это от нас намело им, наверное
* Здравствуйте, меня зовут Sean.
Но зато чуть меньше исключений.
>Sean
Привет, Шон. Do like sea?
Я почитал.
Е и Ё превращаются в Я в безударном слоге, за которым следует удараный.
Пясок , но белы
Это же распостраняется и на предлоги не и без
ня буду не хочу
Довольно естественно, если попробовать так говорить.
https://knihi.com/storage/padrucnik/vymaulennie_ru.htm
куда падает ударение угадай сам
Мягкие «г» и «к», как оказалось, многим народам даются с трудом.
У сербов есть две странные закорючки, которые читаются как «джь» и «чь» (да, у них ещё есть «дж твёрдое» и «ч твёрдое», попрошу не путать). Вот эти «джь» и «чь» употребляются вместо наших «гь» и «кь». Македонцы не стали рисовать закорючки, а выбрали буквы «ѓ» и «ќ».
У мадьяров есть «gy», который читается ближе к нашему «дь». Ещё есть «ty». Пусть лингвисты подскажут, к чему оно ближе: к «чь», к «ть» или к «ць».
У латышей есть «ģ» и «ķ», которые читаются близко к нашим «дь» и «ть» (по крайней мере латыши эти буквы используют для транслитерации наших «дь» и «ть», например, в матерном ругательстве «bļeģ», да, тут «е» открытая).
У кого, кроме русских, есть чистые «гь» и «кь»? У поляков точно есть. А ещё у кого?
Ну то есть гэ фрикативное, как хэ, и сделать его мягким трудно, потому оно заменяется на з? Друг -- друзі.
>У кого, кроме русских, есть чистые «гь»
AFAIK, украинцы завезли себе мягкую гэ в 90-е (гэ с такой шапочкой -- Ґ), оно может быть мягкое, наверное, не?
ґірґожник
ґіцкатися
https://russian7.ru/wp-content/uploads/2013/01/01a.jpg
Яга Баба с крокодилом(?) едет на свинье, лол
https://i.pinimg.com/736x/dd/2b/01/dd2b01270752ce64d2a94112f1a111e5.jpg
- Йес, ай фил
Я кстати не знаю, выносят ли стерторы друг другу мозг за незакрытые тюбики от зубной пасты и чужие смски. И не хочу знать
А вот за смски и общение с другими М - запросто.
--я не верю в новомодные штучки, мужской дружбы не существует!"
Раздвинь булочки пошире, а то волосы в анус лезут...
Раздвинь булочки пошире, а то волосы в анус лезут...
Раздвинь булочки пошире, а то волосы в анус лезут...
Раздвинь булочки пошире, а то волосы в анус лезут...
Раздвинь булочки пошире, а то волосы в анус лезут...
Раздвинь булочки пошире, а то волосы в анус лезут...
Раздвинь булочки пошире, а то волосы в анус лезут...
Раздвинь булочки пошире, а то волосы в анус лезут...
Раздвинь булочки пошире, а то волосы в анус лезут...
Раздвинь булочки пошире, а то волосы в анус лезут...
Раздвинь булочки пошире, а то волосы в анус лезут...
Это ЖЖЖ неспроста
Обычно он пишет там hormand или inkanus_grey
ну и аватарку такую же ставит
ебаное днище же
Большинство этих аккаунтов у меня в игноре уже давно.
А ты как будто из криокамеры
1 коммент?
Кому морских хуев подогнать?
Яркий солнечный день: https://i.imgur.com/010d920.jpg
Не ушто у тебя в Новосибе плохо с деревками?
как-же я вам за видую
Ага, заебись по сопкам скакать на работу, наверное.
https://govnokod.ru/26928
https://govnokod.xyz/_26928/