
Насибуллин
19.04.2018
07:14:27
Я чет тоже сомневаюсь что луа код транслируется в С и потом компилируется ТСС
Хотя я на луаджит не кодил

Snusmumriken
19.04.2018
07:16:44
Не луа-код а луа-байткод : )
Трассы. Собсно, этим обеспечивается бешеная скорость luajit.

Tverd
19.04.2018
07:17:13
трассы? где это пожно почитать?

Google

Tverd
19.04.2018
07:17:37
то что трассы компиляются - это понятно, но зачем там tcc, не понятно

Насибуллин
19.04.2018
07:19:34
Мне кажется там для байткода просто компилятор написан, ну, я бы так сделал
зачем перегонять байтко в ЯВУ и использовать полноценный компилятор С - это же много времени на компиляцию уйдёт, какой бы быстрый ТСС не был
+ он там вроде вставляет какие-то проверки еще

Tverd
19.04.2018
07:21:48
щас посмотрел исходники и поиск запустил, нет нигде упоминаний tcc

Snusmumriken
19.04.2018
07:34:47
https://youtu.be/9oVZObf2udU?t=1108

Tverd
19.04.2018
07:38:06
это смотрел, там про tcc небыло ничего, щас еще посмотрю

Snusmumriken
19.04.2018
07:39:36
Про TCC не было ничего потому что не нужно.
А чем, как ты думаешь, оно будет компилировать? : )

Насибуллин
19.04.2018
07:39:59
Своим jit-компилятором

fgntfg
19.04.2018
07:40:40
Babe, lets jit together

Snusmumriken
19.04.2018
07:40:44
А как работает jit-компилятор? : )

Насибуллин
19.04.2018
07:40:59
это код написанный для луаджит
он берет байткод и транслирует в машинный код

Google

Snusmumriken
19.04.2018
07:41:16
А чем он транслирует в машинный код?

Насибуллин
19.04.2018
07:41:26
причем тут тсс вообще не могу вдуплить

Tverd
19.04.2018
07:41:30

Насибуллин
19.04.2018
07:41:30
он транслирует собой

Snusmumriken
19.04.2018
07:42:26
ну лан : )

Tverd
19.04.2018
07:43:13
ну лан : )
ты походу не писал еще компиляторы, дело не слишком сложное... особенно если это не язык, а байткод

Насибуллин
19.04.2018
07:43:33
там вообще может быть шитый код в байткоде

Snusmumriken
19.04.2018
07:43:34
Я писал интерпретаторы брейнфака )))

Насибуллин
19.04.2018
07:43:38
я не видел луа никогда

Tverd
19.04.2018
07:43:55
только в асм )

Насибуллин
19.04.2018
07:44:34
вот поэтому К и Р плохая книга и я прав
Нет ну серьёзно у Zed Shaw есть отличный туториал по С
И заметки , почему он лучше
Тверд а можно я тебе в ЛС напишу? У меня пара вопросов по общему развитию..

Snusmumriken
19.04.2018
07:49:17
Вот поэтому ты идёшь нафиг со своими советами, потому что на K&R выросло несколько поколений отличных программистов, которые отмечают что они такими отличными стали в том числе благодаря книжке а не вопреки. Ну типа знаешь? Отзывы в гугл-плее "книга фигня мне нипонравилась, не могли всё как у zed shaw, и проги готовые и стиль изложения", всё такое : )

Насибуллин
19.04.2018
07:50:02
Отличные С программисты? Я не видел людей , которые пишут на С без ошибок просто рабочий код даже
С это очень трудный язы
это как английский, где нет грамматики. В С так же нет единой системы правил для написания рабочего кода

Snusmumriken
19.04.2018
07:50:44
Ох. Ты видел людей которые сразу пишут на луа без ошибок? Рабочий код даже.

Google

Насибуллин
19.04.2018
07:50:51
Например, кто-нибудь в чате может сформулировать правила для:
where to use Type Punning (via Union) and where a cast is enough?
вот не сформулируешь

TheRainwildsKeeper
19.04.2018
07:51:25
>enought
>punning

Snusmumriken
19.04.2018
07:53:12
У сишки есть другие проблемы под названием "принудительная обрезка и терминирование строк принятых от пользователя", а остальное - в общем-то фигня.

Насибуллин
19.04.2018
07:53:29

Snusmumriken
19.04.2018
07:53:47
Видел wireshark? Это сишка, и интерфейсы тоже на сишке.

Насибуллин
19.04.2018
07:53:58
посмотрим для примера ченджлоги по секьюрити ищьюс в апаче хттпд
там же постоянные рерайты
по вайршарку не могу сказать, но это и не серверный софт (ну для примера я взял апаче, который десятилетие держал самые нагруженные сайты)

Snusmumriken
19.04.2018
07:54:46
Видел cpython? Это сишка.
Видел драйверы твоей мышки? И это сишка. И твоя флешка - это тоже сишка.
Ты каждый день пользуешься десятками и сотнями продуктов на сишке.
А то что "не встречаешь людей" - ну что поделать, на сишке слишком просто писать криво.

Насибуллин
19.04.2018
07:55:45
я не спорю, просто хочу чтобы вы признали, что написать рабочий софт, начиная с версии 0.0.1 очень трудно на сишке
вот именно слишком просто писать криво
я это и пытаюсь сказать

Snusmumriken
19.04.2018
07:56:12
Ты знаешь что это значит для меня?

fgntfg
19.04.2018
07:56:17
(тред не читай, сразу отвечай)

Насибуллин
19.04.2018
07:56:30
постоянные баги , вызванные просто моделью машины языка

Snusmumriken
19.04.2018
07:56:37
Для меня это челлендж "научиться писать на сишке прямо и круто, попутно освоив весь местный матан и подноготную".

Google

Насибуллин
19.04.2018
07:56:43
а, ну да
научиться можно
но после 20 лет стажа у тебя будет своя позиция, несовместимая с многими С программистами с таким же стажем

Ihor
19.04.2018
07:57:18
С - прекрасный инструмент. От того, что на нем можно легко выстрелить в ногу, его прекрасность не уменьшается

Snusmumriken
19.04.2018
07:57:23
Карочи, то что в сишку лезут тупенькие детишки, которые хотят без обучения написать супер-прогу чтобы быстра и крута - это их проблемы, а не сишки.

Насибуллин
19.04.2018
07:57:37
прекрасный это уж CAML какой-нибудь
Я же пытаюсь сказать что нубские ошибки возможны и у опытных С прогамммистов и это не их вина
не каждый сможет держать в башке все caveats си-программинга

Elias
19.04.2018
07:58:41
В C почти нет type safety. И const correctness хромает даже в стандартной библиотеке
Говорить, что это програмисты виноваты - это так про все языки можно сказать

Snusmumriken
19.04.2018
07:58:47

Насибуллин
19.04.2018
07:58:55
смотря как тестировать
можно ведь и юнит тестами - это уже не тестирование
т.е. оно не защитит от сишных проблем

Snusmumriken
19.04.2018
07:59:12
Конечно. Но шаблоны тестирования - простые и доступны тупеньким детишкам.

Ihor
19.04.2018
07:59:19
Можно на пользователях )

Насибуллин
19.04.2018
07:59:20
да, я за тестирование

Ihor
19.04.2018
07:59:31
Как большинство и поступает почему-то

Насибуллин
19.04.2018
07:59:37
так на пользователях и тестируется большинство юзер-ленд софта
потому что опять таки сишка

Google

Насибуллин
19.04.2018
07:59:55
невозможно оттестировать в тепличных условиях все секьюрити баги

Snusmumriken
19.04.2018
08:00:24
Можно оттестировать автоматически теми же юнит-тестами. Иногда тестироваться будет дольше чем компилироваться со всеми проверками, но тем не менее. И всем лень: проще быстро калякать скрипты, пока солнце ещё высоко.

Ihor
19.04.2018
08:00:31
Потому весь юзер-спейс собсно в веб в той или иной форме ушел

Насибуллин
19.04.2018
08:00:47
как ты оттестируешь стек-протектор юнит-тестами
или те же буффер оверраны

Ihor
19.04.2018
08:00:53
А вообще есть go. Прост и приятен

Насибуллин
19.04.2018
08:01:03
у го проблема с тредингом
т.е. его там в простом виде нет

Tverd
19.04.2018
08:01:18

Snusmumriken
19.04.2018
08:01:31

Никита
19.04.2018
08:01:41
в любом более-менее крупном проекте программирование на C перетекает в метапрограммирование на макросах, а это прям просто боль, плодородная почва для багов

Насибуллин
19.04.2018
08:01:57

Elias
19.04.2018
08:02:11
Так-то и на ассемблере можно писать, а потом юнит тестить, мда
Язык сам по себе должен предоставлять возможность ловить баги уже на этапе компиляции, а потом в рантайме. У C++ с этим гораздо все лучше

Насибуллин
19.04.2018
08:02:14
но даже взять опенсорсные проекты типа VLC или LightTTPD

Snusmumriken
19.04.2018
08:02:22

Насибуллин
19.04.2018
08:02:25
там без бутылки не вкуришь идею автора

Никита
19.04.2018
08:02:32
и юнит тестирование - не серебряная пуля, по статистике (древней), оно отлавливает процентов 30% багов

Насибуллин
19.04.2018
08:02:39
просто говорю о тех которые я сам смотрел