- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
type a = 1;
type i = a & a;
type j = a | a;
function main() {
let v1: i;
let v2: j;
assert(sizeof(i) != sizeof(j));
print("done.");
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
type a = 1;
type i = a & a;
type j = a | a;
function main() {
let v1: i;
let v2: j;
assert(sizeof(i) != sizeof(j));
print("done.");
}
ну все я понял вам скучно... как насчет такого примера?
Я в этих регулярных тупоскриптовых говнокодах вижу не больше смысла, чем в херне, которой сюда через ботов срет какой-то уебок.
"OCaml" и "Standard ML" намного круче этого сблева от мелкомягких
https://github.com/facebook/infer
Просто большинство людей делает свои веб-сайты на вордпрессе, или формочки и про такие штуки не слышит. Эти миры не пересекаются
Не знаю, чем это лучше формочек на вротпрессе
Я просто сказал, что миры не пересекаются.
Но вообще у любого крупного проекта обычно дохуя issues
А ты подразумевал «лучше», разве будешь спорить
Кого-то политота заебала, кому-то асм и железо не интересны, кто-то в твоих гомоиконных пруфах нихуя не понял. Давайте уже все закроемся в своих загончиках и будем молчать, чтобы никого не беспокоить своими "бессмысленными" постами.
У нас тут не хабр.
Какая политкорректность.
Я свои гомоиконные пруфы не набрасываю каждый день на говнокод
Кокой вахтёр )))
Ну так я как раз всё пояснил.
Поясни лучше ты, что такого интересного и полезного ты видишь в этом конкретном говнокоде?
Въебала плюс. Темы то интересные обсуждаются, но отдельные треды для них конечно бесят.
А typeof он и есть typeof. Так что тут какое-то странное расширение языка походу.
А я думал, единица - это нульарный конструктор, чтобы можно было написать что-то вида
Есть один тест где они попыталий это сделать.
https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/revcomp.html
Во всех остальных они сливают Сишке и Крестам
Так вот, чтобы уделать С++ пuтух в каждом примере конечно использует unsafe-код, иначе никак.
Также там включен AssParallel, работая 4 потока.
Но этого оказалось недостаточно, пuтушатня продолжала сливать g++.
Тогда дrustня пошла на хитрость и просто написала ssse3 intinsic вставку (чего другие примеры не делают).
https://benchmarksgame-team.pages.debian.net/benchmarksgame/program/revcomp-rust-1.html
Но даже с ассемблером они обосрались, т.к. busy cpu time всё-равно вышел хуже.
Rust+ssse3= 0.76
g++ = 0.52
А от нишу "Python" или даже "GO" может быть и может в теории, если ASD сделает его достаточно быстрым
Предлагаю тебе ответить на вопрос: можно ли написать прошивку для GPU на языке sh?
Какая кросскомпиляция )))
Теорема Снаута: shallow embedded DSL на языке общего назначения всегда отняшит специальный недоязык.
PHP -- он какой?
Как поклонница Лема, я им аплодирую.
Просто хочу убедиться, что всё правильно понимаю.
«PHP/FI» действительно был шаблонизатором. На нём нельзя было писать программы как на языке общего назначения.
PHP 3.0 is a server-side HTML embedded scripting language and it is a complete rewrite of the popular PHP/FI 2.0 language.
PHP: Hypertext Preprocessor was chosen as the official meaning of the PHP acronym with 53% of the votes. You can see the votes as well as some ideas to plenty of other unofficial meanings here.
Ryan Dahl будет на том свете вариться в том же котле кипящей мочи, что и Расмус
потому что могли блять
Язык написали какие-то два утырка на коленке за неделю чтобы хвостик у мышки в браузере рисовать
А он сделал Nodejs, и тем самым растащил испачканные в говне палочки по всей экосистеме
Если бы не было nodejs, то на JS никто всерьез бы ничего и не писал
Соответственно, вебушкам приходилось бы изучать еще какой-нить язык.
Скорее всего это был бы Dart, или какие-то херни типа GWT (когда пишешь на Java, а оно компилирвается в JS).
Но благодаря NodeJS язык стал самодостаточным, и это придало ему сил чтобы идти в бекенд, контоллеры, чтобы делать электрон итд
Не то, чтобы это был мой выбор: оно мне просто досталось.
Но в ту пору джава (шестая) казалась меньшим злом, чем JS
> в ту пору джава (шестая) казалась меньшим злом, чем JS
Теперь понятно откуда такая любовь к ES6.
Ведь он превращает мерзкий лисперский черезчур простой функциональный JavaScript в старую-добрую скучную жабу.
Туда завезли прекрасные extends, super, constructor, можно писать геттеры, сеттеры, dao.
JavaScript это
https://github.com/denysdovhan/wtfjs
Тебе виднее.
Правда Айк и Крокфорд так не думали.
А ленивый можно?
Лиспер не будет писать public static class constructor super(pituz).
Зато можно писать
А как это в старом JS?
> А как это в старом JS?
Так же, но нужно написать слово function и пару скобок.
И это обработка списка не Йажевская, а именно что Лисповская.
А вот так обрабатывали списка в Йажа в 90х и 00х
Я и спрашиваю, как это сделать в старом JS
Говорю же: что тут спорить? Тебе виднее.
https://262.ecma-international.org/5.1/#sec-15.4.4.20
https://262.ecma-international.org/5.1/#sec-15.4.4.19
Следует ли из этого, что с1996-го года по 2011-й JS не был лисперским?
Какая логика )))
Сразу видно что человек с опытом.
5.1
June 2011
Internet Explorer: support 9.0
Chrome Android: support 18.0
Вот тут, к примеру, нет никакого `filter`
https://www.ecma-international.org/wp-content/uploads/ECMA-262_3rd_edition_december_1999.pdf
Что не так-то?
Ты утверждаешь, что JS изначально был "лиспообразный"
Я и спрашиваю как он мог быть лиспообразным, если в нём даже `map` изначально не было?
Или ты про какой-то отрезок когда ``filter`` и ``map`` уже были, а ``class`` не было?
filter и map уже были в FF 1.5 и Chrome 1.
В доajaxовую эпоху большинство JS не понимало и относились к нему как детской игрушке.
Так Delphi в ту пору считался более серьёзным языком.
> JS изначально был "лиспообразный"
Функция всегда была first-class object. И она умела захватывать пельменные.
Сейчас это кажется привычным, но тогда это был эксклюзив JS.
ЕМНИП второй популярный промышленный язык в котором это появилось был C# c его делегатами. Это произошло только в 2005 году.
Но в языке их не было, о чем можно узнать посмотрев на спеку версии 3.
> Функция всегда была first-class object. И она умела захватывать пельменные.
То есть язык без map и filter по твоему был похож на лисп?
>Сейчас это кажется привычным, но тогда это был эксклюзив JS.
В Ruby это было изначально, в perl некоторые функции получали блок, способный захватывать переменные.
> был C# c его делегатами. Это произошло только в 2005 году.
Делегаты были и в C# 1.0, а вот лямбд не было
Я говорил: промышленные языки, а не хипстерские поделки для кегданов.
И скажи честно, ты в 90х знал о существовании Яибу? Ну вот что существует такой язык, там есть «лямбды».
> Но в языке их не было
Да, трудно сделать нужный polyfill.
>И скажи честно, ты в 90х з
В 90-х JS не был промышленным языком
>Да, трудно сделать нужный polyfill.
"Полифил" можно было и в С++03 сделать, на бусте
Это же не значит, что С++ у нас лиспообразен
Или значит?
А там были функции c замыканиями?
> В 90-х JS не был промышленным языком
Ты уходишь от вопроса. Слышал о Яибу?
Я вот в 90х немного слышал о JS.
Так яжу никто лиспообразной и не называл.
Я про руби говорил
list processing?
Объявлять их очень просто, как в лиспе: [a, b, c]
В 90х это был первый успешный промышленный опытов скрещивания ФП с императивщиной.
Предоставим слово классикам:
нода и всяческий вебпак стали ответом на запрос со стороны пердолей, которые начали пилить на js космические корабли
а больше им пилить было не на чем. ну какой нафиг Dart? который тем более вроде транспилился в js, как сегодня ts
то есть сначала язык притянули за уши к серьёзной разработке, а потом появилась нода, но не наоборот
Сделали бы дарт, компилирующися в JS для браузера и интерпретаор его для CI
Был бы NodeDart
Моча вот есть
Жасмин есть
я повторюсь:
1) люди писали на js, потому что альтернативы вымерли раньше мамонтов
2) люди привыкли к js и начали строить инфраструктуру
это как прыщепердолики. ты же не будешь утверждать, я надеюсь, что си и кресты это удачный выбор для gui-тулкитов? но они других языков не знали, а потому получилось что получилось
Альтернативы еще были живы, когда появился node (2009 г).
Он их подтолкнул.
> си и кресты это удачный выбор для gui-тулкитов
Когда я смотрю на скорость Intellij (Java) и на память VSCode (JS же?), я думаю, что может и у крестов есть ниша ))
> может и у крестов есть ниша
– под низом там могут быть и кресты, но сверху должна быть хотя бы какая-то сраная vala
* Флеш
* Сильверлайт
* ДжаваФКС
* JS
Победил JS. Думаю, без инфрасктруктуры для запуска тестов, сборки пакетов и прочего менеджмента у него бы этого не получилось.
>под низом там могут быть и кресты, но сверху должна быть хотя бы какая-то сраная vala
Это можно
Или wxLua
https://sourceforge.net/p/wxlua/svn/HEAD/tree/trunk/wxLua/samples/minimal.wx.lua
– проприетарная дырявая технология, требующая отдельной инсталляции
> Сильверлайт
– проприетарная технология, требующая отдельной инсталляции. уверен, что тоже дырявая
> ДжаваФКС
– проприетарная технология, требующая отдельной инсталляции
> JS
– есть из коробки
при этом, например,
> инфрасктруктуры для запуска тесто
https://smartbear.com/learn/automated-testing/unit-testing-of-flash-applications/
> прочего менеджмента
https://github.com/robinrodricks/awesome-actionscript3
- дырявая технология, которую пропиарили предварительно установив её в браузер. Причём тот браузер уже давно мёртв.
Кстати, в гейропе же заставили майкрософт выпилить браузер по умолчанию и дать юзеру поставить тот, что он хочет? Может, стоит внести их законотворцам идею заставить выпилить нативный JS из браузеров, чтобы заставить петушков пердолиться с его установкой и ради «способствованию конкуренции»?
потом можно и за жс браться
> чтобы заставить петушков пердолиться с его установкой
> ради «способствованию конкуренции»
Неплохая идея.
Написал сайтец на VBS, изволь попердолься, установи его интерпретатор
Всё придумано до нас.
PS> если кому надо быстро раскрыть спойлеры
Да, были сайты с «VBScript», которые можно было посмотреть только в «IE», потому что для других браузеров плагинов с интерпретатором «VBScript» не было.
Это почему это?
Это тюринг полный язык программирования. Что с ним не так?
И то потому что они наполовину ей являются, а вторую половину можно отключить и не юзать.
Кстати, такое же говно получилось с «Visual Basic», но «Микрософту» как-то после такого кошмара удалось остаться на плаву. И даже после выпуска «.Net».
У .NET тоже было формошлёпство (WinForms) и лишь в WPF его заменили хотя-бы на декларативку.
А у всего со словом "Basic" реноме уже было испорчено, так что увы:)
Зато ты получал хороший WYSIWYG редактор, где можно наглядно видеть, что у тебя получается, и который не жрал ресурсов больше чем ААА игра имея при этом хуёвую точность, да Андроид Студио?
Визивиг обычно работает хорошо только на резолюшене у его автора (может быть ауэтолейаут яблока это исключение), и самое главное его совершенно невозможно нормально диффать
В андроид студио ты хотя бы можешь писать XML.
> Buttons generally have a fixed height and width.
Хорошо будут выглядеть расстояния между кнопками в 30 px 1024x768 и 4K?
А локализация кстати как будет?
но вообще кое-что из поста на so должно намекать, например, generally,
aligning to both [Top and Bottom] or both [Left and Right] should be reserved for controls that can be stretched,
it is very common to assign both left and right anchor of edits - so that when the form is made wider (by user) then the fields are getting wider too и
you could set a Minimum height
https://www.sql.ru/forum/218669/raznye-razresheniya-monitora-i-mashtab-formy
https://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.Forms.TCustomForm.Scaled
и это уже было в 2005-ом году, судя по приведённому тобой топику
Спрос рождает предложение, сейчас эту нишу занял electron.
D тоже вполне может, если вырубить всякое говно.
А если ненужное отключить, то будет ли ди совсем бесплатным?
Кресты с растом хоть какую-то альтернативу ручному управлению ресурсами предлагают.
Будем смотреть, чем:
https://dlang.org/spec/betterc.html
Retained Features
Nearly the full language remains available. Highlights include:
• Unrestricted use of compile-time features
• Full metaprogramming facilities
• Nested functions, nested structs, delegates and lambdas
• Member functions, constructors, destructors, operating overloading, etc.
• The full module system
• Array slicing, and array bounds checking
• RAII (yes, it can work without exceptions)
• scope(exit)
• Memory safety protections
• Interfacing with C++
• COM classes and C++ classes
• assert failures are directed to the C runtime library
• switch with strings
• final switch
• unittest
• printf format validation
Вот затем.
Годно. Что, и AST можно троать?
> • Nested functions, nested structs,
ну такое
> delegates and lambdas
Ну кресты там кое-что могут тоже
>• Member functions, constructors, destructors, operating overloading, etc.
кресты
>• The full module system
Это годно и хорошо!!!
> array bounds checking
Если в комплайлтайме,то наверное можно сломать (вспомни паскаль). Если в рантайме, то это уже не си, Бо не бесплатно.
Потом мне лениво писать, но вижу, что есть какие-то симпатичности, но __почти__ все они есть в С++ (кроме модулей например)
> Если в комплайлтайме,то наверное можно сломать (вспомни паскаль). Если в рантайме, то это уже не си, Бо не бесплатно.
Мы как-то обсуждали язык Ада. Там тоже получалось, что проверки в компайлтайме можно сломать (если границы не статические, а вычисляются в рантайме), а проверки в рантайме небесплатные (поэтому в релизной версии, если требуется пирфоманс, их отключают).
Подозреваю, что эта проблема выше языка программирования. С этим мирятся, потому что это лучше, чем совсем ничего.
Чтобы проверить динамушню в компайлтайме, компилятору нужна скилльная доказушная махина вроде Coq на стероидах.
– и в чём она full? в том, что просто есть модули в наличии?
У раста никаких прорывных идей по управлению ресурсами нет. Всё что там есть: калька с плюсов.
В Сишке есть __attribute__((cleanup)). И предвижу аргумент о том, что это гццизм.
Поцтеринг повсеместно использует его в systemd.
И ничего, никто не жалуется, все продолжают пихать это к себе в дистры.
А когда поцтеринг в своей ненужной хуйне использует какую-то гнусню, то это сразу заебис :)
Ты же сейчас сидишь на Дермиане? Попробуй отключить «ненужную хуйню»
Так вот в ней полмиллиона строк Сишки с гццизмами.
#define _cleanup_(f) // и так сойдет
Можно конечно сидеть на слаке или девуане, ну так можно и на OpenBSD сидеть, но работать на нём будет сложнее
Вообще-то RAII в "better-C" вполне поддерживаются. Херню с рефкаунтингом в D наверняка можно намакроебить (намиксиноебить) как-нибудь, но я особо не вникал.
https://wiki.dlang.org/Memory_Management#Reference_Counting
> D does not provide automated support for reference counting.
> RefCounted provides limited support for reference counting; not for class types. Unlike C++ shared_ptr, it does not support multi-threading, weak pointers, or destructors. (See this forum thread.)
> Win32 COM programming uses the members AddRef() and Release() to maintain the reference counts.
а как референс цикл сделать?
> Win32 COM programming uses the members AddRef() and Release() t
в ATL обёртка для того была
например, в шарпе есть WeakReference, но он страшный, как атомная война
WeakReference, SoftReference и PhantomReference чтобы жизнь не казалась слишком простой.
В С++ есть std::weak_ptr
В перле есть хуй, вот инструмент для поиска хуя
https://metacpan.org/pod/Devel::Cycle
Остальная скриптушня вроде боль-мень умеет в GC
https://bulbapedia.bulbagarden.net/wiki/Island_of_Isolation
свабодная энцыклапедыя
> Unlike C++ shared_ptr, it does not support multi-threading, weak pointers, or destructors.
То есть сырое, неюзабельное говно.
Очередной «убийца С/С++» опять обосрался на задании.
Даже дrustня в этом плане более надёжна, поскольку у них хотя бы многопоточность из коробки и всё assParallel.
У меня в контроллерах никаких "потоков" изначально нет.
Надо хедеры переконвертировать или переписать. Или https://github.com/atilaneves/dpp взять.
А в плане вызова функций из сишки - вполне бесплатный. Если в рамках одного компилятора, можно статически линковать сишку с D и даже LTO врубить, и оно там что-то заоптимизирует.
Блять, какой пердолинг.
Сейчас не хватает дефекейта, который бы пояснил чем пердолиться и собирать говняшки по гитхабам проще взять кресты-бусты и получить из коробки всё и сразу.
Причём и с сишной совместимостью, и с RAII и возможностью повышать уровень абстракций.
Да. Всё что угодно можно обернуть в extern "C"
Главное чтобы API модуля было сишным (не бросало исключений, итд)
И как ты будешь инстанцировать шаблоны не в крестах?
Сам хедерный интерфейс либы делают без шаблонов, исключений, итп.
Как ты себе это представляешь? В кишках реализации кого или чего? Тебе придется кресты в этот вот "другой" язык встроить, чтобы твой "другой" язык мог это говно понимать и как-то разворачивать, и система типов там должна быть крестосовместимой. И говнопрепроцессор родом из Си надо тоже встроить. А нахуя это тогда надо, если можно высрать новый стандарт крестоговна? Или там какой-нибудь "SuperObjective-C++"
Б. «нахуя кресты, если есть жаба и шарп»
А и Б не проти-воречат друг другу.
Используя транзитивность можно показать что «нахуя вообще D?»
А про про "A" я пока не понял
1. Ненужность D следует из существования крестов.
2. Из существования жабы и шарпа следует ненужность крестов.
Однако, о существовании крестов второй тезис не говорит ничего. Так же, как и первый тезис не требует ненужности крестов.
Ну так это же сразу нахуй, не? Кто мне будет с каждой новой версией ядра, с каждой версией SDK и библиотеки перекомпилировать все хедеры?
> https://github.com/atilaneves/dpp
Воот, это уже интереснее.
https://govnokod.ru/25226#comment447183
Там хедеры оказались предсказуемыми.
Вот с микрософтовскими хедерами так просто не получится. Там уже нужен полноценный парсер сишки и сишного препроцессора, потому что там встречается сложное говно на макросах.
Такая питушня с любым ЯП, кроме сишки. А на некоторых платформах со всеми ЯП, кроме «Objective-C». А есть ещё платформы, на которых такое со всеми ЯП, кроме «Java» и совместимых с ним.
Но ведь не все программы ограничиваются этими языками. Кто-то эту питушню для других ЯП поддерживает.
Бинарная совместимость рулит. Один раз написал и юзай годами. А новые фишки могут подождать, тем более они не всегда нужны.
С++ понимает сишные хедеры
>А на некоторых платформах со всеми ЯП, кроме «Objective-C».
На ObjC в 99.999991% случаев пишу под Apple, а уж они как-нить сделают мне API на свифте.
>. А есть ещё платформы, на которых такое со всеми ЯП, кроме «Java» и совместимых с ним.
Java компилируется в код под JVM, а он доступен из Kotlin, Groovy и пр. Такой проблемы нет.
Почему "нахуй"? С языком Си там всё достаточно тривиально. Хедеры там простые. А вот "хедеры" крестов со всякой ебучей шаблонометушней никто кроме крестов (и говнонадстроек над крестами) поддерживать не сможет, по-моему это очевидно.
В D прямолинейной замены сишному препроцессору нет, и не всякие грязные трюки можно конвертнуть из сишного препроцессора, учитывая еще что препроцессор оперирует кусками кода, а сшитый кусок кода через препроцессор уже не всегда будет корректным кодом на D.
У меня какой-то код на сишечке под win32api, под /usr/include/, под что угодно.
Я хочу переписать его на "D".
А мне написано в твоем dpp:
>Known project headers whose translations produce D code that compiles:
[реально список хедеров тут]
> Compilation however doesn't guarantee they work as expected and YMMV. Please consult the examples.
Я и думаю: "а зачем мне что-то такое непонятное что еще может и не заработать?"
Ну тогда можешь всегда сидеть на борланд цепепе, зачем тебе обновлять компилятор, если на новом что-то может не заработать
Я могу последним gcc собрать код под c99
В борланд C++ наверняка есть свои говнорасширения, которых в других компиляторах нет. Так что лучше сиди в борланд C++ и не рыпайся
Тут же мне предлагается либо вручную переписать все хедеры на другой язык (это так смешно, что даже не буду это комментировать) либо воспользоваться тулой, которая честно предупреждает
> Not currently able to translate Linux kernel headers.
> Not currently able to translate Linux kernel headers.
> Not currently able to translate Linux kernel headers.
Oops
А тебе часто надо "Linux kernel headers" импортировать, да?
Неужели не очевидно, что не всякую хуйню из Си хедера в принципе можно автоматически импортировать в другой язык? Если через препроцессорную хуйню где-то там генерируется некий код при раскрытии макросни, этот код не всегда будет валидным в другом языке.
Утверждение не является истинным.
В «C++» например это возможно. Именно поэтому я за «C++».
Нет. Напиши например декларацию функции "void test(char a[restrict 10]);" и попробуй ее импортировать в крестах
С точки зрения вызывающего кода* сёмантика одинаковая.
* на вызывающей стороне restrict разве что подсказывает программисту, что буфера нежелательно с чем-то пересекать.
А если у меня там еще есть глобальный restrict указатель, и мне надо чтобы эта отпимизация учитывалась?
#define restrict __restrict__
Скоро завезут в Стандарт.
На два порядка меньше пердолинга чем в «D», где хедеры надо коконевертировать говнотулзой с шитхаба.
Ахаха. Это говорит человек, который постоянно топит за всякие нестандартные гццизмы.
https://gcode.space/#!/search?q=__attribute__&user=j123123
А __restrict есть даже у мелкомягких.
> В стандарте нет
Скоро завезут.
Приведи реальный пример хедеров использующих такое говно.
Реально пока что я вижу только демагогию, призванную отвлечь от уёбищности «D» и чудовищный пердолинг для интеропа с «Си».
Я могу реальный хедер такой написать, чтобы детектировать факт использования крестопомойного говна, и глючить при этом. Чтобы у программистов на крестоговне срака пригорала )))
Многие Сишные компиляторы (допустим TCC) не поддерживают некоторых вещей из C99.
Так можно доебываться до крестов, и выяснить что Сишка несовместима даже сама с собой.
Это правда. Делайте API на c89
...про которую известно, что она поддерживает семь хедеров. А про остальные ничего не гарантирует
Может быть сработает, может быть нет
Берите лучше говнотулзу с шитхаба и конвертируйте ею.
Она нихуя не гарантирует, но это лучше чем нормальный импорт хедеров из -std=c89.
а зачмне мне в хедере рестрикт?
Тебе компилятор варнинг написать может, если ты в такую функцию указатель на слишком короткий "массив" передавать будешь
https://gcc.gnu.org/onlinedocs/cpp/Implementation-defined-behavior.html
И поэтому даже нет строгих гарантий, что сишный хедер корректно прочитается другой версией компилятора (препроцессора)
Всё не нужно, что сломалось
Всё не нужно, чего нет
> не всякую хуйню из Си хедера в принципе можно автоматически импортировать в другой язык?
В С++ можно
По второму кругу уже пошло обсуждение? :)
Выше мы обсудили уже это. Нельзя.
Даже между двумя Си-компиляторами не всегда можно т.к. в препроцессоре есть "implementation-defined behavior"
И тем не менее на практике все успешно это делают.
Возможно просто не в курсе что j123123 запретил.
На практике много кто много чего делает, но не всегда это работает. В крестах и в Си например есть разница в правилах type punning, и макрос, использующий этот type punning через юнионы будет некорректен в крестовом коде т.к. там это UB в отличии от сишки. НО и в сишке это когда-то тоже было UB-ом в какой-то версии стандарта, емнип.
Ну то есть описывается какой-то частный случай, когда даже нет совместимости между разными стандартами самой Сишки!
И на этом основании делается что Кресты вот говно.
Даже если между версиями сишки нет нормальной хедер-совместимости, что уж говорить о каких-то крестах!
Не нужно их использовать. В первую очередь для совместимости с самой Сишкой.
Разумеется, никакой язык кроме JS такой программист знать не будет: пока не возникало повода изучить какой-либо другой язык
что это за проблема такая?
>2) скоростью malloc..
ты о том, что программы на С++ не останавливаются на секунду-другую что бы сделать major GC?
Ну так себе проблема
И да и нет. Очень сложно сделать язык, в котором сочетаются и максимальный контроль и удобные абстракции. И ещё сложнее сделать так, чтобы за неиспользуемые абстракции и непригодившийся контроль не приходилось платить в других местах.
З.Ы. Ничто не мешает написать ядро на каком-то конпелируемом подмножестве РНР. Но сможет ли оно конкурировать с другими?
Есть такая херня - V-USB, так вот, написана она на ассемблере, работает только с определенными частотами кварца (и с RC осцилятором на 12.8 MHz), притом CRC поддерживается лишь на 18 MHz
Так даже на сишке не сделать.
Ну всё ещё можно откатиться на массив в секции кода, заполненный макросами/шаблонами.
К слову о том, что сишка с крестами даже в этой ситуации не теряют контроль. Хотя уже и не так удобно как на асме.
Тебе тогда нужно чтобы компилятор поддерживал запихивание таких-то массивов по каким-то там секциям. И заполнять макросами и шаблонами (впрочем как и констэкспрами) это так себе идея, ты ведь по сути напишешь свой ассемблер на кривой метушне, который еще и медленно работать будет (в режиме тормозного интерпретатора), и ради чего? Лучше уж нормальную программу для ассемблирования написать и ей скормить код на ассемблере. Или инлайн-ассемблер задействовать (если он есть)
Только вот в FPGA никакого "машинного кода" в привычном смысле вообще нет, там есть конфигурируемые связи между хренями, и сами хрени могут быть конфигурируемыми, есть разные архитектуры FPGA, для общего представления можешь почитать про это тут https://marsohod.org/11-blog/265-fpga
А еще есть всякие dataflow-архитектуры, где тоже нет никакого "машинного кода" в привычном смысле.
Тут ведь даже про классические процы есть что обсудить.
Замена сишке должна:
* Иметь бесплатный интероп с сишными API
* Давать тот же уровень контроля над расположением данных в памяти и их жизненным циклом
* Позволять отключать какие-то проверки в рантайме
Ничем этим TS не обладает. Всё это можно завезти в виде расширений или библиотек. Получится худшее из двух миров неюзабельное говно.
«Тот же» не нужен. Нужно больше контроля.
Например массивы поудобнее.
Или мудификатор, который позволит использовать memcmp на struct.
> Позволять отключать какие-то проверки в рантайме
Не связано именно с языком, это особенности компиляции.
> тот же уровень контроля над расположением
А вот это уже может проявляться в коде, да.
Можно под один и тот же язык или диалекты написать разные компиляторы. Например, на JS можно писать веб-интерфейс, сервер (с доступом к ФС, коду на крестах и т.п.), на JScript писать админские скрипты, а на JScript.NET - десктопные приложения. И даже микроко-ко-контроллеры!
Я про возможность подключить .h файл
А про второе не понял. Как это не связано?
Отключи мне проверку размера массивов в джаве
А я думал, что бинарник.
Хотя, почему бы не прикрутить к компилятору компилятор сишки. Всё лучше, чем одни и те же библиотеки переписывать на каждый новый язык.
> А про второе не понял. Как это не связано?
Потому, что по-хорошему язык уже начинает заканчиваться там, где начинается его стандартная библиотека (возможно, кроме хаскелевских игр с приоритетами и расширениями да прочей гомоиконной кухни). А дальше уже дело компилятора.
Традиция пихать в понятие "язык" и сам язык, и какие-то библиотеки, и набор правил по его компиляции по мнению комитетов - кривая питушня, возникшая из-за того, что проще захардкодить поведение определённых синтаксических конструкций, чем отвязать синтаксис от правил компиляции.
> Отключи мне проверку размера массивов в джаве
Не могу. Джава не даёт возможности её ни включить, ни выключить.
Чтобы джава так смогла, надо, скажем, добавить туда фигурные скобки для индексации непроверяемых массивов.
От самого экмаскрипта там мало что пригодится. Даже понятия "циклов" и "условий" очень плохо ложатся на FPGA, что уж говорить про "объекты" и "функции". Их можно сэмулировать, но чтобы получился хороший код придётся о них забыть и думать другими понятиями.
З.Ы. Кстати, та же самая проблема начинается у программистов, которые начали что-то ваять на кобенаторах в факторио.
Объекты и функции будут использоваться в реализации библиотеки. Можно напердолить отложенную питушню вроде boost::lambda или boost::phoenix или монадических конструкций, когда h(f(x), g(y)) больше похоже на AST, чем на результат выражения.
Вообще, объектами могут быть блоки, которые задаёт пользователь. Дальше пины могут быть полями или даже методами. Соединение пинов - вызов метода: block1.clock(gen.out).
А циклы - они и в ЯП для программируемой логики есть. Хотя, можно навинтить аналог слайсов в python или numpy.
Скажем, bus['pin*'](objects['*'].clock) или что-то в этом роде.
Вот с этим сейчас огромные проблемы...
Во-первых библиотеки с описаниями чипов проприетарные, во-вторых сам синтезатор не особо уютно себя чуствует даже на 12 ядрах (да, там брутфорс, вореции и кнопка "мне повезёт" для смены сида). Пилить это всё на жс -- это прям какая-то утопия.
А JS -> VHDL/Verilog запилить вполне возможно, я думаю.
ПЛИСатор Синтезатор.
Можно запилить на C++ и вызывать под Node.js. А на JS только генерировать питушню для крестов.
Пользователь делает pitux install node-fpga и пишет на JS.
Ну а для вебтушни можно только высирать JSON, эквивалентный коду на VHDL/Verilog. Желающие могут компилировать на сервере или портировать крестокод, чтобы считать на клиенте. Это только Я-с д-н тормозит без толку, а тут будет тормозить с пользой.
Это одна из мощных фишек TS
Тебя там маркетологи покусали?
Вся "мощность" в правой части. И если я правильно понимаю, я могу и вообще не давать алиас типу, а прям по месту всё накобенировать.
Нет, я просто сравниваю это с другим мейнстрим говном. А что не так?
Перепиши-ка на Java
>Вся "мощность" в правой части.
Да
> я могу и вообще не давать алиас типу, а прям по месту всё накобенировать.
Разумеется. Структурная тупизация же. Ты забешеься просто писать одно и тоже.
Мощные фишки нашего супер-продвинутого языка, позволяющие вам сохранить инвестиции...
Не обращай внимания, меня просто всегда триггерит на это.
Но я-то не о том
Nemo553 — ящик не найден.
Pilot418 — ящик не найден.
Denya19 — ящик не найден.
Действительно похожи на номерных петухов. Юзеров Denya-цифры семь штук, идут почти подряд; пилотов — 3 штуки, тоже почти подряд; Немо — семь штук, тоже почти подряд.
Нумерных Наташек — 9, расположены почти подряд.
Две нумерные Луны из этого диапазона, одна FoxyLuna — вроде не бот.
Четыре нумерных Mixa, один MixaMor из другого дипазона.
8 нумерных Fedka.
5 нумерных Semen, один SemenBooxy — не бот.
Вроде регулярка работает.
Но на fed прокалывается: fed05 не бот, он регистрировался раньше и у него постоянный ящик.
панцирь носят как какашки
интересно, а есть ли сайт какой-то, на котором пишут стихи типа как вон те Гаеечке, только для Эйприл О'Нил?
Вот при мишек гамми должен быть сайт, и про поночку какую-нить
> зачем им самка человека?
– ну я видел порнокомиксы с Эйприл, почему бы и не писать ей стихи тогда
Потому что любовь не знает условностей
> Данателло
– Лианарда, Рофлоэль и Мегаланжела
не могу:( я подсел на говнокод.ру
фурри возможно тоже
но кто тут фурригей?
https://youtu.be/Vyk2aDUJWv8
первый это аппликация халтед бай Панас Сталкер
второй это то, что в оригинальном комиксе про черепах Бакстер Стокман был чернокожим. но в первом мультсериале персонажа сделали размазнёй и омежкой, а потому пришлось переделывать его в белокурого европеоида, ведь нигер не может быть омежкой и тем более размазнёй
панки любили называться именами животных и т.п.
Утоли мои печали
И вали
https://www.youtube.com/playlist?list=PL2301641B979E481A
Звиад Гамсахурдия
Я, разумеется, так не думаю
– Вообще-то я у тебя за спиной сижу!
– Это цитата из Акунина.
– А, тогда окей.
https://govnokod.ru/22180#comment371932
Перед установкой этого скрипта надо установить скрипт https://github.com/1024--/govnokod.ru-userscripts/blob/master/gquery.user.js.
Почему jQuery вместо обычого API к дому? Почему (function() вместо стрелочки? Почему равняется два, а не три?
2. Привык. Ну и $(this)
3. Привык. Да и всё равно типы одинаковые в этом случае.
Потом добавлю нормализацию и скрипт Пи, который выпиливает говна без знания учётки :)
Ня, пока!
Блин, я реально не могу читать pre-ES6 джаваскрипт. Это наверное как госту дать pre-11 кресты
То ли дело ES6нутый йажа-код с синаксическим сахаром, классами, extends, super и прочей оопушнёй.
Или тут пароль в принципе не поменять?
Предлагаю
1. передать Страйкеру список питухов доктора Смегмы для забанивания
2. уговорить его отправить Инканусу хэши паролей
3. оффлайн вломать все взламываевые пароли и сообщить список Страйкеру
Людям с простыми паролями можно просто поставить случайный хэш (если что, пусть со своей почты пишут Страйкеру для разблокировки). Если Страйкеру не лень, можно поставить капчу посложнее на каждый их комментарий, а при регистрации отвергать простые парои.
Хотя потерявшим мыло будет обидно, конечно.
Подтверждаю.
Страйкеру стоит малость проапдейтить md5-хеши пассвордов на "kakoi bagor )))" для юзеров, которые неактивны много лет.
Кому надо восстановят через мыло.
> потерявшим мыло будет обидно
Думаю это не самая большая потеря.
Ну пускай пошлют Полеру Снайперу скан паспорта вместе с фотографией флага известно где, и он их разбанит
Без соли.
Это чтобы пароль был лучше защищённым.
Да и одной замены "md5" на "sha1" мало - придётся ещё дописать специальное исключение для случаев, когда выполняет авторизацию пользователь, зарегистрировавшийся до смены алгоритма хэширования и ни разу пароль не менявший. Мол, если ID меньше 50000, то "md5", если больше или равен 0 (регистрация) - "sha1".
Но, возможно, 10 лет назад её ещё не было.
https://www.php.net/manual/ru/function.password-hash.php
но скорее всего это не так.
Для всего остального есть https://md5.gromweb.com/
https://github.com/rarecoil/hashes.org-list
P.S. Для уняка этот словарь бесполезен: хэшей он не знает, а брутить в онлайне по такому словарю ему жизни не хватит.
Вот что значит безопасный пароль!
https://imgur.com/a/ZusA6er
Админы не спешат раскрывать хакерам архитектуру своей сети, IP адреса и логины аккаунтов
Я уверен, что в куче систем есть множество дыр, и через них никто не влез еще ровно потому, что про них не знают
В лучших домах Европы от внутренних компанейских VPN отказываются. Zero Trust Security Model, perimeterless model, вот это всё.
Если внутри сети всё более-ли-менее открыто, то ты сломал VPN, и всё: считай, ты в компанию работать устроился.
А так ты сломал один сервис, и смог нагадить только туда
Нужен ключ или 2FA
Надоумил уёбка.
А пароль в ГК не сменить: Пионер Сеньор не осилил
> Попрошу заметить, что мои ники уёбок не увёл
> Вот что значит безопасный пароль!
> А пароль в ГК не сменить: Пионер Сеньор не осилил
Разлогинься, перейди на страницу логина и скажи "забыл пароль". Пельместр Сталлонер пришлёт тебе письмо для его сброса.
Теперь я безниковый
И правда.
Заодно и все ответившие им скрываются :)
«…в то время как бароны совещались о том, к каким уловкам прибегнуть, чтобы вывести из-под удара нормальных юзеров, слуги и другие люди низкого звания, а некоторые даже без оружия, напали на вайперов, не ожидая приказов вождей. К нашему изумлению, крича „к оружию, к оружию!“, за два или три часа они пересекли ров, перелезли через стены, и Безье был взят. Они не пощадили никого, всех предали мечу, почти 20 000 ботов, вне зависимости от ранга, пола или возраста. После этой большой резни целый город был разграблен и сожжен. Так чудным образом осуществилась божья месть…»
Но у ингушей есть опыт скрывания осетин, и наоборот
а вдруг они скроют не ту осетию, что мы будем делать
это же геноцид!
"Надо поехать в Осетию и скрыть её вручную."
Благородные Ры-Цари без страха и упрёка.
«Убивайте всех, Пресвитер Собор узнает своих».
и пустить на дело
Можно солнце обоссать
Чтобы зашипело!
Тот злобный дурень был уняк
Я бы на его месте уже какой-нибудь генератор вореций прикручивать начал, иначе все про него забудут.
можно дополнять.
а вот admin!
Настоящий админ просто имеет доступ к "mysql".
Ах да, там же MyISAM
Транзакции нинужны?
> '1024--',
> '3.14159265',
> 'inkanus-gray'
Срут ворециями
> 'HACTEHbKA'
> 'PolinaAksenova'
Фейковые девочки
> 'striker',
> 'admin'
Ходит и банит
много всяких фаек еще можно подобавлять, типа каких-то там GoGovno, LinuxGovno, KotlinGovno, всяких там питухов и прочей такой хуйни, но мне малость лень. Тем более что там вполне может быть пароль 123
Можешь удалить и сэкономить пару тактов процессора.
https://github.com/openzfs/zfs/issues/405
В опенсурсе это наколенное говно и не нужен
> The Dfinity network … produces a single ‘Internet Computer’ with unbounded capacity. You do not need to manage … individual computer instances yourself, nor need to worry about copying data into a database in case one of your computer instances gets restarted or crashes. Instead you let the Internet Computer take care of everything for you … [It] is unstoppable and also helps with requirements like data privacy. Because business systems co-host on the same enormous virtual computer, interoperation, where desirable, is much easier.
Какой маркетинговый буллщит )))
Ну-ну.
> The Internet Computer is formed by an advanced decentralized protocol called ICP (Internet Computer Protocol) that independent data centers around the world run to combine the power of individual computers into an unstoppable seamless universe where internet native software is hosted and run with the same security guarantees as smart contracts. It is integrated with Internet standards such as DNS, and can server user experiences directly to Web browsers and smartphones.
Децентрализованные облачные вычисления? Серьезно? А как предлагаете проверять, что никто не мухлюет с вычислениями? Например, кто-то попросил посчитать какую-то сложную ма-те-ма-тическую функцию в таком децентрализованном блохчейн-облаке, а в ответ ему выдали /dev/random? Проверять на нескольких независимых вычислителях? А если они все принадлежат одному уебку и выдают одинаковый неправильный ответ?
Можно юзать интеловский SGX и гонять код с удалённой аттестацией. Жаль, что это говно интел позиционирует для DRM'щиков, простым смертным не дают поюзать.
Только его вполне могут поломать (уже поломали: https://www.wired.com/story/plundervolt-intel-chips-sgx-hack/ )
Смешно, конечно, что не поставили BoD как на контроллерах. Или они тупо не знают порог стабильной работы? Да знают, наверное, раз на материнках профиль авто-разгона есть.
> Тем более что там вполне может быть пароль 123
Можно тестить перед добавлением в вайтлист.
https://github.com/1024--/govnokod.ru-userscripts/pull/1/files - я уже отправил PR
> Можно тестить перед добавлением в вайтлист.
Слишком сложно
Можно прям из CI на пулл-реквесте.
Из вайтлиста?
Кстати, можно доктора Смегму блокировать по форматированию.
Пусть придумывает что-нибудь поинтереснее нам на забаву.
А вдруг это и есть кто-то из няс?
Джва золотых этому Буратино!
P.S. Последний раз ответил уняку форматному из стока. На странице ГК скрипт его вырезал.
В итоге span.comment-text стал девятым, а .text() остался тем же. 9/9, скрипт забанил.
Да нафиг надо? Ещё регресс какой-нибудь получится. Работает -- не трогай.
и вы там что, тесты не писали?
Ну вставит что-нибудь в базу криво, дерево разрушится... На фронтенде это всё-таки на порядок проще и безопаснее чистить вилкой.
правда, тогда придётся решать проблему ответов уёбку. с другой стороны, если parent comment id в базе нет, то и подветку добавлять не нужно, problem solved
Я не вижу смысла в этой переделке... Думаешь уёбки так сильно систему грузят?
> уёбки так сильно систему грузят
– не знаю. но у меня в блеклисте уже несколько десятков юзеров, не хочу, чтобы ноут в один момент превратился в кипятильник. да и трафик лишний гонять (знаю, что это смешной аргумент сегодня, но всё равно)
а-а, там блеклист с запросом отправляется?
Я не писала, но в принципе там всегда можно было натравить парсер на архивы страничек и сравнить со старым.
Возможно Полина что-то добавила. Но что-то мне нямекает, что парсер с тех пор особо и не менялся.
>Я не писала
:((((((((((((((((((((
Думаю, он просто разочаровался в моей компетентности, раз я тесты не писала.
– у тебя там раскрытие пятиуровневых крестовых шаблонов с happy compilation ending?
панцушот – и от тебя ничего уже не хотят по работе
тоже нет
https://gcode.space/#!/search?user=MAKAKA
(возможно ты восстановил пароль, но я не могу быть уверенным, что не отвечаю уебку)
Ты из принципа не признаёшь пароли сложнее "123"?
`openssl rand -base64 12`
Вот такой пожалуй сойдёт.
P.S. Чому не pwgen?
Фиг знает, там думать надо... А тут я точно знаю, сколько энтропии в этом пароле. Жаль, конечно, что этот пароль испортят захешировав его через md5, можно 12 на 8 смело менять.
Ну да, няхуй секьюрность и то, что пароль можно просто зарероллить.
Какая политкорректность )))
Но потом всё равно выпадет какой-нибудь "fckn nggrs".
В общем-то если человеку этот пароль учить не придётся, то и hex сойдёт в качестве маппинга.
Нет никакого смысла разбавлять пароль закорючками, если он достаточно длинный и случайный. Пароль из 40 цифр вполне криптостоек (128 бит), никто его не забрутит.
Кстати, можно наоборот составить словарь из f-слов и генерить пароль в виде матерных частушек. Запоминаться будет идеально и записывать на бумажку около монитора никто не будет.
https://pastebin.com/Qk910pun
https://a.uguu.se/EZwvykKJ.tar.gz
И т.д. [] — повторение, {} — maybe.
`t9CDpiGWq41QloBx`
Подойдет?
З.Ы. Просто какой-то непоследовательный.
И опять получился неправильный коммунизм.
Хотя, аналитический фильтр работает, буду добавлять логины уняков для того, чтобы потом Страйкеру было потом проще их банить.
https://github.com/1024--/govnokod.ru-userscripts/blob/master/nosmegma.user.js
потому что количество учёток для забанивания стремится к бесконечности
я даже не уверен, что он ломал многие из них. есть подозрение, что это какой-то олд развлекается, который нарегал ботов больше десяти лет назад
Там инопланетяне миллион лет назад какую-то хуйню в землю закопали, чтобы потом напасть
Ресурс мог уже 10 раз умереть. По меркам интернета 12 лет — вечность.
> десять страниц гей-порно
Seems legit
Да. Дал части из них аватарки, ещё зарегал для правдоподобности соответствующие им аккаунты на хабре (тогда напомню нужен был инвайт).
А потом выжидал ради момента славы двенадцать лет. За которые ресурс мог кучу раз гигикнуться.
А у кого из ботов есть аккаунты на хабре? И они там полноценные? Для read only инвайт давным давно не нужен
https://govnokod.ru/27549#comment658414
У этого юзера тоже не временный ящик. У него во всех сервисах один никнейм:
https://habr.com/ru/users/grimskin/
Registered: 4 December 2006
Ну и я не таких имел в виду, а всяких номерных наток и федов
плюс несколько тысяч петухов как бы намекают, что проблемы нет
Х.з., в исповеди ботовода было сказано, что довольно долго пришлось запинывать нейронку.
Вариант, что Смегме помогали на каком-то форуме отметается?
Посмотри старые треды, где методично прикармливали уёбка и разжёвывали ему как на дельфях писать ви-русню.
/green
Кстати вроде не везде
Общаясь с уёбком ты его приманиваешь, и он к тебе привязывается, и потом тут срёт
Да и хуй с ним, пусть срёт.
Подгорая на глазах уёбка ты его приманиваешь, и он к тебе привязывается, и потом тут срёт.
дед, проснись, Web 2.0 был 20 лет назад и все апи уже закрутили, всю инфу скрыли и ни к чему критичному без идентификации личности или пейволла тебя не подпустят
а здесь они проездом
что не мешает кидать понты, разумеется
Хотя это мускуль, хер знает как у него max + 1 работает.
* If strict SQL mode is enabled, MySQL rejects the out-of-range value with an error, and the insert fails, in accordance with the SQL standard.
* If no restrictive modes are enabled, MySQL clips the value to the appropriate endpoint of the column data type range and stores the resulting value instead.
Лол, ну всё равно сфейлится, запись то уже есть.
это сколько надо петухов ещё примерно зарегать?
ГОМОИКОНЫ!
– да это мы видим
А я прикрутил сохранение скрылников в локалсторадж, чтобы автоматически собирать ники для Страйкера.
на мой взгляд, даже третья часть лучше
это ж первая часть. тогда ещё терпимо
Слава Страйкеру!
Неужели Пионер Сыктывкар настолько пыхапешник, что Смегма обошел его каптчу?
Не верю я в смегмины нейронки