- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
function display(id:number, name:string)
{
print("Id = " + id + ", Name = " + name);
}
function main() {
display(1, "asd");
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
function display(id:number, name:string)
{
print("Id = " + id + ", Name = " + name);
}
function main() {
display(1, "asd");
}
А ваш говно компайлер умеет так делать?
>> Output:
Id = 1., Name = asd
ASD_77 07.05.2021 17:19 # 0
j123123 07.05.2021 17:32 # 0
CHayT 07.05.2021 17:33 # +2
> Конкатенация строк внутри print, вместо высирания iolist-подобной структуры сразу в дескриптор
Функциональные звуки неодобрения
PolinaAksenova 07.05.2021 17:47 # +3
Ня понимаю, почему в 2021-м году в языках ня делают интерполяцию строк.
ASD_77 07.05.2021 17:54 # 0
PolinaAksenova 07.05.2021 17:57 # 0
https://docs.python.org/3/library/py_compile.html
ASD_77 07.05.2021 18:02 # 0
Soul_re@ver 07.05.2021 17:58 # +1
guest6 08.05.2021 17:19 # 0
но в сипитоне его нет
guest6 07.05.2021 17:55 # 0
j123123 07.05.2021 18:15 # 0
bormand 07.05.2021 18:18 # +1
ASD_77 07.05.2021 18:00 # 0
JloJle4Ka 07.05.2021 18:28 # +1
https://play.nim-lang.org/#ix=3m54
Так как все переменные типа «const», str себя отформатирует и сконкатенирует как надо ещё на этапе конпеляции. Здорово, правда? :>
PolinaAksenova 07.05.2021 18:30 # +1
bormand 07.05.2021 18:30 # +5
guest6 07.05.2021 17:56 # 0
ASD_77 07.05.2021 18:01 # 0
PolinaAksenova 07.05.2021 18:03 # 0
https://govnokod.ru/26864
ASD_77 07.05.2021 18:37 # 0
PolinaAksenova 07.05.2021 18:48 # +1
https://wandbox.org/permlink/EFGzYyIARka89vYm
ASD_77 07.05.2021 19:06 # 0
PolinaAksenova 07.05.2021 19:11 # +1
ASD_77 07.05.2021 17:57 # 0
https://pastebin.com/Deb32tJR
если кому интересно
_PHP_ 08.05.2021 13:25 # 0
ASD_77 08.05.2021 14:47 # 0
DypHuu_niBEHb 08.05.2021 14:55 # 0
Soul_re@ver 08.05.2021 15:02 # +2
Чтобы добавит новый язык, нужно всего лишь написать переводчик его в IR. Трансляторы в нативный код из IR уже есть, их писать не надо. Оптимизатор IR кода уже есть, его писать не надо. Профит.
MAKAKA 08.05.2021 15:08 # 0
bormand 09.05.2021 16:44 # +2
MAKAKA 09.05.2021 16:50 # 0
bormand 09.05.2021 16:51 # 0
MAKAKA 09.05.2021 16:56 # +1
Но при этом в JVM нет регистров (только стек) и есть очень высокоуровневые опкоды типа invokevirtual
А есть какое-то определение асма? Почему одно мы можем им считать, а другое нет?
.pyc файлы питона это асм?
bormand 09.05.2021 18:10 # +1
Ну и что? Что мне мешает запилить стековую машинку в железе? И кстати, там довольно жёсткие ограничения на работу с этим стеком, так что его проще считать большим банком регистров.
> invokevirtual
Не такой уж он и высокоуровневый... Да и в реальных железках часто бывают "сахарные" инструкции. Те же enter/leave на x86.
bormand 09.05.2021 18:17 # +1
Грань проходит по наличию реальной железки, имхо. Если есть проц, который это говно исполняет -- значит мышиный код. Если нету -- значит IR или байткод.
guest6 09.05.2021 18:18 # 0
(picojava есть)
bormand 09.05.2021 18:19 # 0
guest6 09.05.2021 18:22 # 0
Нету железок для исполнения IL и llvm, нет разве?
bormand 09.05.2021 18:28 # +1
З.Ы. Но это можно реализовать, в принципе. 8, 16, 32 и 64 будут быстро работать, как и первые штук 30 регистров. А остальное уже через память и эмуляцию микрокодом.
bormand 09.05.2021 18:23 # 0
Но, с другой стороны, эльфы тоже не грузятся без доработки напильником и тоже ссылаются на имена. Так что хер знает.
MAKAKA 09.05.2021 18:24 # 0
Так что нужен просто умный загрузчик, как и в случае с ельфом
JloJle4Ka 09.05.2021 16:56 # 0
gologub 08.05.2021 16:02 # 0