@ProLua

Страница 277 из 307
Насибуллин
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
причем тут тсс вообще не могу вдуплить

Насибуллин
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
Ты знаешь что это значит для меня?

Насибуллин
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
у го проблема с тредингом

т.е. его там в простом виде нет

Snusmumriken
19.04.2018
08:01:31
А вообще есть go. Прост и приятен
И единственная поддержка - от гугла. А ещё есть rust, у которого в новых версиях меняются целые ветки API.

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

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

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

Snusmumriken
19.04.2018
08:02:22
в любом более-менее крупном проекте программирование на C перетекает в метапрограммирование на макросах, а это прям просто боль, плодородная почва для багов
Поэтому более-менее крупные проекты - это комбинация технологий. Та же сишная апишка (максимально простая и надёжная) со скриптами типа луёв.

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

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

Страница 277 из 307