- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
Public Function DescendingSort(ByRef Data As Variant) As Variant
Dim i As Long
For i = LBound(Data) To UBound(Data) - 1
Dim j As Long
For j = i + 1 To UBound(Data)
If Data(i) < Data(j) Then
Dim Temp As Variant
Temp = Data(j)
Data(j) = Data(i)
Data(i) = Temp
End If
Next
Next
DescendingSort = Data
End Function
Вот все спрашивают, зачем на собеседованиях требуют сортировки писать — так вот для этого! Вдруг вам придётся писать на «VBA»?
> Как в VBA правильно создавать одномерный массив. ArrayList
https://habr.com/ru/post/712000/
В VBA у такие объекты представляет приложение (word, excel, outlook, sharepoint и прочий microsoft project с accessом)
В VBA@WSH скриптхост
В VBA@ASP еще и IIS
В VBA@IE IE
Плюс можно использовать внешние COM объекты. Обычно их регистрируют в системе (regsvr32, HKCR ну ты понел) и юзают. Но можно наверное .ocx или там .dll рядошком положить.
VB это классический Glue язык без какого-либо фреймворка, чисто чтобы дергать готовые внешние компоненты (как php)
руби??
джаваскрипт??
они просто добавили все (которые знали) языки, которые можно заэмбеддить?
Вообще эту концепцию сформулировал Ойстерхаут для своего TCL
Программисты пирдоляца с серьезными языками и делают компоненты.
Хаусвайвз берут компоненты и лепят из них прилажухи драг ын дропом натягивая компоненты на формочку или пися код тип типа
Но потом конечно долбодятлы стали писать высоконагруженное говно на ПХП и вся идеология превратилась в мутное говно (как это обычно бывает в мире айти)
любой язык может служить для того, чтобы между собой "склеивать" что-то, вопрос в удобстве
но в широком смысле это получается любая скриптушня в принципе
Любая скриптушня есть глу ленгвич, да
Ruby, Python, Perl, PHP, JS — это уже ни рыба, ни мясо. Они компилируемые, хотя и компилируются в байткод для VM, а не в нативный. От Java и C# их отличает отсутствие статической типизации.
ну с другой стороны csh же есть
– а в чём наркоманство? я таким пользуюсь
но думаю, что просто cd и grep
напиши команды, я попозже проверю
awk
ну или вот так наверное полегче будет
а, nologin же
но всё равно стрём)
А ещё есть Temple OS для совсем поехавших...
Медленных как лалка.
Карго-культ. «яже как баш».
Точно! Получается целя йажа-говно-троица.
awk, sed?
awk в большей степени конечно.
Его конь-цепты позднейшие скриптухи разворовали.
– так может просто она была говно изначально?
я не думаю, что питон дизайнился гнидой чисто как язык для того, чтобы сишечку попердолить через ffi
вот applescript в принципе удачный пример, но это по сути дела dsl
lua наверное более лучший пример, и пхп тот же
Сейчас во все официальные сборки пхп вшили кучу нативных модулей, которые раньше были внешними. Его уже сложно назвать языком совсем без фреймворка. Например, поддержка кукис и сессий сейчас из коробки.
IBM продвигал Rexx как замену коммандкому. Но потом, когда Windows стала несравнимо популярнее OS/2, про Rexx все забыли.
WSH это видимо тоже клей. Виндоадмины начала нулеыых любили еще какую хуйню для автоматихации винды, но я забыл. на бейсик была похожа чуток
ps: вот!
https://www.autoitscript.com/site/
только в автоите вроде можно было в гуе натеребонькать действия и течь
это такой аналог автоматора, который на маке из коробки
Собссно, я объектную модель документа так и изучал в какой-то момент: теребонькаешь гуёк, а в это время VBA записывает твои действия и генерит божэественный код
Да, AI писал за меня код когда это езще не было мейнстримом
Дико плюсую.
Охренительная была конь-цепция как для того времени.
Для браузеров гораздо позже придумали selenium IDE.
Я просто тянул кнопочки во фронтпейдже, и тек (а проф дизайнеры делали тоже самое в дримвивире)
А теперь?
блячтоэто?
Реально человечество в обратную сторону развивается, скоро будут на асемблере писать на листочке
только вот каждый фреймворк использует свой шаблонизатор, придётся редактор под каждый допиливать
Change my mind.
шеллы впринципе глю
В отличие от C# и VB.Net, он может работать в интерактивном режиме, что позволяет макетировать на ходу, не разрабатывая приложение целиком.
Довольно заебись на самом деле же
в отличие от голого bash, zsh etc
формально конечно expr не часть ш (у гнусни он отдельный, хотя в бизибоксе конечно встроен) но есть на любом позиксе
А еще есть ``bc(1)``
А еще есть божественный ``dc(1)`` с обратной польской нотацией и не требующий даже терминала (его реально можно на печтном телетайпе юзать). Все эти тупые срачи про скобочки про которые недавно опять обсасывали ему не страшны
– не знал про такое, но умеет он, судя по ман, целое нихуя? как в степень возвести, например? зато можно по регулярке сравнить, слава свитеру!
уж лучше bc конечно тогда взять
но вообще, когда есть пистон или пс, зачем ногти грызть вообще
Лучше bc не брать.
BC САМ НЕ ПОСЧИТАЕТ
ЗАЧЕМ МНЕ НУЖЕН PERL, У МЕНЯ НЕТ ВРЕМЕНИ ЧТОБЫ ЕБАТЬСЯ С НИМ
ЛУЧШЕ ЕЩЕ РАЗ НАПИСАТЬ USER-DEFINE FUNCTION
Я ПИШУ USER-DEFINE FUNCTIONS ПО 3 РАЗА В ДЕНЬ
КАЖДАЯ ФУНКЦИЯ ЗАНИМАЕТ ДВАДЦАДЬ МИНУТ
Я ЖИВУ АКТИВНОЙ И ПОЛНОЦЕННОЙ ЖИЗНЬЮ
Я УСПЕШЕН И ПОЭТОМУ ЦЕЛЫЙ ДЕНЬ ПИШУ USER-DEFINE FUNCTIONS
Я СВОБОДНЫЙ ОТ ЗАДРОТСТВО ЧЕЛОВЕК
В BC ВСЕ ПРОСТО И ПОНЯТНО
ОШИБКА Runtime warning (func=(main), adr=11): non-zero scale in exponent
ЭТО ЖЕ ОЧЕВИДНО КАК ЕЕ РЕШИТЬ
https://govnokod.ru/27121#comment602977
бесе не умеет в нецелую степень, значит его лучше не брать
а если мне не надо в нецелую степень можно брать бесе?
Бери готовую утилиту, и теки
Пердолики устроили кашу из названий.
> This is free software
> Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017
а вот то что ты вот со скобочками понаписал это башизм небось, и в обычном sh может и не взлететь
А в больших прыщах /usr/bin/time соооовсем не то выдает, что надо.
Подобный отсос в свое время случился с командой mail
https://heirloom.sourceforge.net/mailx_history.html
After installation, Berkeley Mail was found as /usr/ucb/Mail, but Unix mail was still available as /bin/mail.
Берклевцы серанули в вечность своим csh, но его кое-как победили, а мейл -- нет
Какой анскилл )))
башизм не пройдет
и в dash не работает
а это был шел по умолчанию для дебиана и вроде даже убунты года так до 2006-го (хотя я не помню чото там было с убунтой тажа)
пидора ответ
Человек открывает для себя дивный мир программирования за пределами стдлибы «VBA», где даже сортировку писать вручную не надо.
Как узнает про «компараторы» — вообще охренеет!
Только две опции
Option Compare Text
Option Compare Binary
Там можно было колобки через AddressOf делать для шiнарi.
А вот как вызвать самому функцию по такому адресу, я не помню.
Думаю, что «IComparator» можно похожим способом прикрутить.
господи блядь
они реально добавили эту инстаграмную хуиту
-1 действительно ли это енобходимо?
В 2023 году
Не знать про квиксорт
Если человеку приходится для каждой задачи заново писать сортировку — неудивительно, что он выбрал «пузырёк».
В VBA наверняка есть готовый ActiveX компонент:) Автор в своем 1999-м году может взять диск с MSDN, и почитать
>>> To sort an array in VBA, you need to write a code where you can match the first element of the array with the next one and inter-change them if the first one needs to come before. You need a FOR LOOP (For Next) for this and the UCASE function.
Какой багор )))
И вся первая страница «Гугла» в таком.
Первая ссылка:
https://learn.microsoft.com/ru-RU/sql/ado/reference/ado-api/sort-property
ps:
https://www.vbforums.com/showthread.php?231925-VB-Quick-Sort-algorithm-(very-fast-sorting-algorithm)
подумаешь
https://learn.microsoft.com/en-us/office/vba/api/excel.range.sort
субд тебе не нравится, эксель тебе не подходит
а для чего ещё может быть нужен vba?
Начиная с Office 2003 под него можно писать на Vb.NET. Там есть доступ ко всему фреймворку, включая класс List и его метод Sort
Зачем VBA?
https://learn.microsoft.com/en-us/archive/msdn-magazine/2003/september/visual-studio-net-and-microsoft-office-business-solutions
Вот буквально пару месяцев назад при программировании правда на VBScript в SCADA использовал ArrayList. Вообще, если поковыряться в MS COM интерфейсах, можно найти ещё несколько коллекций или структур данных, типа очереди (Queue), которые можно в VBScript задействовать через COM. Главное, чтобы имелся тривиальный конструктор, в нетривиальные COM не умеет передавать параметры.
И конечно хранить в них можно только тривиальные строки и числа, а документ Word туда не запихнуть)
Вот какой
https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/dictionary-object
ActiveSheet.UsedRange.Columns(1).RemoveD uplicates Columns:=1, Header:=xlYes и далее Sort
А зачем?
Просто ставишь ListBox1.Sorted=True и оно само всё сортирует!
ListBox1.Sorted := True;
https://habr.com/ru/post/711222/
У человека неиллюзорно на дворе конец 90-х. Причем там одновременно и VBA под Excel, и мне 15 лет, и я только что узнал, что "x" и "y" удобнее объединить в запись Point
Мммм.
Сейчас даже живого дельфятника вероятнее встретить.
но я не советую тебе его встречать
В коко, C#, и прочих ломбоках с грувями хотябы не нужно вручную писать одинаковый код
Ну он же там валидации e-maila добавил.
Хотя на мой вкус данные должны валидироваться ещё до попадания в структуру.
тащемто даже в йажа есть похожее для бинов, а в рельсах всяких и подавно
Мне тоже синтаксис йажа-аннотации напомнил.
Впрочем с метушней это везде можно сделать.
Но тут важно иметь автодесрализацию этих структов, и чтобы она умела в такую валидацию.
Без декларативности я бы просто сделал.
И в конструкторе бы валидировал
Лишпер-гомоиконщик осилит кастомный валидатор, а вот жовист без внешней монстролибы на десятки мегабат — вряд ли.
Для желающих особой декларативщины есть «Annotated» — штука, которая позволяет к объявлению типа прикрепить произвольные данные, а потом их вытащить.
Я так делал декларативное описание небинарных структур, см. https://govnokod.ru/28540#comment803502 — получилось угрёбищненько, но довольно наглядно, работает и поддерживает типизацию (=> у меня есть нормальные подсказки в IDE). Работает в проде.
А можно реальный пример валидатора данных?
Вложенность пугает, но это плата за примитивизм.
А в какую версию питуха такое подвезли?
> Вложенность пугает, но это плата за примитивизм.
Не знаю. Меня даже сложные конструкции на питоне не пугают особо.
А вот Rust такой синтаксис что тошнит сразу, даже если что-то "простое" в пару строк.
А так питонья собачка — очень примитивная вещь: она берёт то, что справа от неё, и применяет к тому, что снизу от неё, а результат — помещает на место того, что было ниже. Поэтому никто не запрещает сделать, например, вот так:
Я недавно на этом подорвался и сгорел к чертям блядь я уже зверь нахуй
https://peps.python.org/pep-0318/
Будем честны: до 2003-го года питон не был ни популярным, ни особо удобным
> Rust такой синтаксис что тошнит сразу, даже если что-то "простое" в пару строк.
В рустне ты можешь написать свой макрос и он примет на вход AST и как-то его трансформанёт. Именно так реализованы всякие автореализации сериализации, логирования (привет, аоп) и пр. Но синтаксис и правда всратый
https://docs.racket-lang.org/guide/contract-boundaries.html
Смысл контрактов кмк в стат их проверке.
Обычно это называется статическим анализом
как ты это можешь сделать без входных данных, которые могут прийти хоть от пользователя, хоть от сети, хоть от аллаха?
это всё-таки не кок
зато ты можешь написать контракт не только на входящие значения, но и на результирующее
Я хочу выразить например такое:
Функция "foo" возвращает положительные числа если её аргумент тоже положителен.
Я пишу
вот тьакое хочу
впрочем, typed racket свои проверки выполняет до основного запуска (это называется phase 0 или что-то в этом роде), так что в теории наверное всё возможно
* lint: c
* Critic: Perl
* Rubocop: Ruby
* flake8, pylint, mypy: python
* eslint, tsc: TypeScript
https://invisible-island.net/personal/lint-tools.html
When I began programming, there were no static (or dynamic) analyzers, no profilers, no debuggers. There was only a compiler (initially in two parts: a precompiler and a compiler). In lieu of a debugger, the IBM 1620 conveniently responded to use of an uninitialized variable by going into an infinite loop. There were no compiler warnings (only errors). This was in fortran, of course.
только к формальной проверке корректности это не имеет особого отношения. и в чистом рэкете я её не вижу
пример контракта, который сработает в рантайме
https://docs.racket-lang.org/guide/contracts-general-functions.html#%28part._contracts-arrow-d%29
Сначала прочитал как "это реализуется на в библиотеке а в оперативной памяти"
Меня заебали, грубо говоря, ПХП
А какие багры ты знаешь?
В питоне это называют декораторами.
Придёт джавух и расскажет что это аннотации и АОП.
Придёт Снаут и объяснит что-то про high order functions на хаскельном сленге.
Но до полноценной Ады и coqmpile-time proof мало кто дорос.
Декораторы - это именно выполняющийся кусок кода, который в теории может что угодно натворить
Впрочем лобок тоже ведь из этой хуйни творит чудеса кодгена.
Джавист: Вот я джавист, в начале каждого метода я пишу лог
Тролль: Но почему не взять AOP?
Джависит: АОП ГАВНО НЕ НУЖНО АПО АОП ТОЛЬКО ВСЕ ПОРТИТ ПОТОМ КОД НЕ ПОНЯТЬ111111111
****
Питонист: Я питонист, я использую декораторы
Джавист: Да, прикольная штука, мне нравится
* декораторы
* декоратор @property из коробки
* всякие модельки в Django и SQLAlchemy тоже довольно декларативные
Естественно, 99% использования - это проверить что там юзер прислал в жсоне или параметрах запроса
Естественно, все опечатки тупо идут нахуй и не десериализуются в поля (= юзер даже не знает, что он что-то неправильно передал)
Естественно любой ошибочно указанный тип приводит не к сообщению об проваленной валидации, а к эксепшену со стектрейсом без внятной информации о том, а что собственно пошло не так
Скриптушня с диктами и всякими JSON-схемами куда лучше подготовлена к реальному миру и применению, чем вот это всё
Потом пришли смузихлёбы-калоеды и теперь у нас
В принципе, это решается подпихиванием валидации схемы до десериализации, только кто ж их писать будет, и вообще у нас тут всё стат типизированные, мы же не динамические лошки, у меня язык сам по себе схема =))))))) )) )) ) )
В ячейку. В одну ячейку. И вообще, зачем в одну, если логично в две?
Рекорды были в поскале
https://twitter.com/allofmewants/status/1617491182271201280
– бля
кротовуха
фу как можно работать в эдалт сфере будучи квиром? Это нечестно как минимум
-------
Вообще, подросткам иногда правда кажется что их какие-то переживания там про еблю охуенно важны всему миру потому что они неебаца оригинальные и сложные, в моем детстве тоже так было. Но не было твиттера. И квиров.
охуенно
охуенно
охуенно
и ничего ведь в голове не щёлкает
секс-рабы миграции
вспоминается та гениальная статья с хабра "меня перевезли в другую страну и выкинули на мороз"
ну слушай, вообще-то это AI-complete задача
а я бы наверное прекратил хрюкать, да только как?
...только спустя пару абзацев приходит понимание, что "мы" - это она про себя. это она так взяла кальку с they/them и перенесла на себя.
fixed
Квир-Ленин
Такой молодой
И юный квиртябрь впереди (и в заде тоже)
придя домой я весь вечер я рыдала от осознания что а)горизонтальность и общность о которой я так мечтала вылетели в трубу
ну то есть нет конечно спал
но просто спал вобще без секса
ну то есть что считать за секс
что же произошло у этих?
1) две квир-коммуны не ладят
2) месяц готовили выпуск подкаста, потом разругались каким он должен быть
3) пошла нахуй (семь раз!!!)
4) всё остальное ещё менее примечательно
https://twitter.com/ed_mechanics/status/1617705848670912513
https://twitter.com/MikeYagupian/status/1617979531977195520
Да, вот это самый лютый пиздец, конечно.
> + сказал что за непрошенное мнение посылают нахуй и послал нахуй
Бля, тут аж взвизгнул.
Ну дедов метод это байт плюс энды конечно
ЧТО ЗА ГОВНО ТЫ НАПИСАЛ ДА ПОШËЛ ТЫ НАХУЙ
:-)
если бы фергана...
А как еще можно сделать?
а где должен счётчик храниться?
типа есть структура со счётчиком и указателем на void, где типа объект?
ну либо можно их рядом хранить, но без обобщенного программирования получится очень грязно, так что лучше бы не
В Сишке наверное можно через незакрытый массив как-то наебенить но нужно выравнивание и пр
я как-то делал по-ротоёбски, когда счётчики по разным структурам рядом с данными лежали, чтобы void* не кастовать :-D
а можно кстати амкароёбить
Всё, теперь в си управление памятью автоматическое, и код стал безопаснее. Продам макрос MK любому разработчику критических важных приложений
а то каждый питух сможет счётчик попердолить
либо делать непрозрачный тип: алиас для void*, и обратно всегда кастить
ps: но на самом деле конечно не нужно этого ничего делать, а нужно брать Rust или C++
Свифт гораздо менее отвратный и у яблок есть поддержка.
Что будет если я хочу передать структуру из двух полей по 4 байта каждый в какую-то функцию?
* куча + Ref Count
* escape analysis при компиляции и передача через RAX
* всем похуй
Работать с указателями можно, но по поводу тонкостей надо курить доку, я редко таким пользовался
то есть у вас есть разница между структурой и классом, как в C#?
Но структуры копируются, классы по ссылке
с другой стороны, а зачем в шарпе разделение на value type? коллекции всё равно по ссылке передаются, а кмк это было бы главным бенефитом
Я не знаю зачем, предполагаю:
* семантика value types: ты всегда явно копируешь что-то и сравниваешь по всем полям (а не по указателю). Это бывает удобно когда ты знаешь, что callee не засрёт переданное значение и что нет нужды вручную реализовывать Equals
* все таки массив структур будет занимать меньше памяти и меньше нагружать GC. Нет нужны пирдолица с представлением структур или наборов флагов интом (как иногда делают в высоконагруженных кусках яжы)
* ну на мелочевку типа передачи Point тоже не тратится время GC
Мы все вкурсе, что недолго живущие объекты в GC это семечки, но курочка по зёрнышку клюет, а весь двор в дерьме.
Есть конечно всякое лукавство типа если функция принимает интерфейс, то структура боксится (динамический полиморфизм же) то в целом можно много кода написать не тронув GC
Кстати, массивы в сишке тоже не копируются. В крестах копируется std::array и всякие STL коллекции
– поясните мысль
https://curryncode.com/2016/09/28/coding-for-performance-struct-vs-class/
Заголовок объекта в куче занимает 16 байт (на x64): Указатель на RTTI для таблицы методов и вероятно для рефлексии, и какое-то недокументированное говно в котором вероятно хранится хеш (который первый раз выводится из адреса памяти, но потом сохраняется видимо на случай передвижения объекта) и лок (в CLR каждый объект может быть локом для синхронизованных мтеодов как и в JVM)
Не велика беда для одного питуха, но если у тебя есть структура из двух интовых полей, то она занимает 8 байт. А класс занимает 24, плюс сам указатель 8 байт, то есть памяти нужно больше ровно в 4 раза.
Когда у тебя массив из двадцати миллионов таких структур то разница уже есть.
Кроме того, структуры уложены в массив последовательно, и отлично работает префетчер и кеш. А у классов там лежат указатели по которым надо куда-то идти, и в каких-то случаях reference locality может объебаться
и, возможно, перекрывает оверхед на 100500 копирований (особенно, если там memcpy лол)
или ты про ref?
в свифте кстати так не сработает, там тоже есть out параметр, только вот под капотом, насколько знаю, будет уже два копирования
Если ты пишешь свой фреймворк то выбор между структурой и классом должен зависеть от семнатики, а не от перформанса, кмк.
Точно так же как Goвнари выбирают между указателем и копированием thisа в методе.
просто в тех же крестах ты делаешь этот выбор по месту использования, а в свифте при декларации. угадай, что гибче?
К примеру, запретив копирование ты можешь сделать хуйню, которую никогда нельзя передать по значению. А если еще и мув запретить, то будет и вовсе недвижмый класс, который "где родился -- там и пригодился". Такой копролит чтобы за пределы стекфрейма функции вынести, можно только положить в кучу, и работать по указателю: вот и будет почти reference type
Но в целом ситуация конечно намного более гибкая (всё по значению, кроме сишных массивов), и это хорошо.
В дотнете забоксить структуру достаточно легко, типа
(уверен, такой класс уже где-то есть) а вот класс в value type уже не превратить.
В расте, кстати, по умолчанию ничего не копируется, но и куча не трогается: всё мувается только (если ты явно не реализовал трейт для копирования или явно не вызвал клон) а в Go и вовсе решение принимает escape analysis в момент компиляции
Чалишься? По какой статье?
С чего бы она здесь забоксится? Вот с интерфейсами действительно может быть проблема, where T : Interface может боксить структуры
Box это референс тайп
2. с самой структурой-то ничего не произойдет
Речь шла о том, что создавая структуру я вынуждаю работать с ней по значению (hence, копировать). Однако я могу передать ее по референсу используя ключевое слово "ref", а могу обернуть её в такой вот нехитрый класс, тем самым забоксив её и всегда передавая ее по указателю
https://govnokod.xyz/_28567/#comment-844582
Где там С++, guest6?!
Так уже таскали и много раз обсуждали на ГК этого франкенштейна.
https://govnokod.ru/12337#comment165170
Просто не пойму что такого особенного.
Ну уродец-выкрест, жертва инцеста от спаривания близкородственных языков.
На самом деле конечно не нужно этого ничего брать, а нужно писать на Си.
Просто соблюдать паттерн.
Условно g_object_ref() / g_object_unref()
Просто эти умные рефкаунты имеют смысл только в многопоточной среде.
Сишка никогда не была нацелена на многопоточность.
Буквально вчера писал об этом:
https://govnokod.ru/28528#comment805893
ВРАГ НЕ ПРОЙДЕТ
На хузе сейчас эту кнопку лучше не трогать, потому что она распидорашивает текст. Пиши порциями коротких комментариев, как в Твитторе, если боишься потерять несохранённый текст.
До сих пор иногда так делаю, когда пишу длинный комментарий.
GoldED
веб штука опасная
https://i.postimg.cc/KzrJk4mf/image.png
https://pbs.twimg.com/media/FnQCS3QX0AAMdGG?format=jpg&name=medium
NAMER
JUICE
COZEK
CAPTEK
https://plugins.jetbrains.com/plugin/15865-anime-memes
можно только картинки поменять
интересны два момента:
1.
Voodoo2 - чистый 3D акселератор, идет в PCI slot подключается
кабель монитора и идет loop кабель на AGP ATI карту
2. в 2000-ом году уже был SLI
https://en.wikipedia.org/wiki/3dfx_Interactive#Voodoo_Graphics_PCI
И это не совсем SLI, это паравозик.
> The mechanical relays emitted an audible "clicking" sound when they engaged and disengaged
"барышня, соедините меня с 3Д картой"
> в 2000-ом году уже был SLI
Ничего удивительного, это ж 3dfx и придумала.
А уже потом nVidia выкупила их с потрохами.
Да, палишься. Была такая файка у Стертора.
а voodoodal16
В моем детстве все знали что 3Д ускоритель вуду от здфкс с API Glide это круто. Ни у кого не было, но все знали.
Это всё конечно работало если купить у метро книжечку с секретными кодами: зад-зад-вниз вперед-A+B
– забавно, что именно эта игра привела к появлению возрастных рейтингов в гейдеве
у меня оно с другим ассоциируется
из восьми залуп
три покорошено
четыре так брошено
No hidden control flow (нету видимо деструкторов/Drop штоле???)
No hidden allocations (нету динамический каллекций???)
First-class support for no standard library (мояж ты луа)
A Package Manager and Build System for Existing Projects (мимими, но в 2023 хвастаться таким всё равно что хвастаться что ты умеешь вытирать жопу бумагой а не пальцем)
Simplicity (все так говорят, ага. После питона я уже никому не верю)
что зиговал??
https://govnokod.ru/27159#comment601997
Вероятно у кого-то первым сексуальным переживанием детства была мастурбация на M&M's