Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Я не спорю, языковые средства контроля выхода за границу буфера — вещь полезная. Только не надо преувеличивать её значение. Runtime-исключение, вылетающее в самый неподходящий момент ничуть не приятнее AV или эксплоитной дырки.
Действительно, какая разница. Просто выдали ошибку, в худшем случае аккуратно закрыли процесс. Или дали возможность злодею анально поиметь хозяина компа. Вообще никакой разницы
Признайся честно, ты хоть в одном серьезном проекте когда-нибудь вообще работал? Хотя бы кодером?
Здравствуйте, Klatu, Вы писали:
ГВ>>Я не спорю, языковые средства контроля выхода за границу буфера — вещь полезная. Только не надо преувеличивать её значение. Runtime-исключение, вылетающее в самый неподходящий момент ничуть не приятнее AV или эксплоитной дырки.
K>Действительно, какая разница. Просто выдали ошибку, в худшем случае аккуратно закрыли процесс. Или дали возможность злодею анально поиметь хозяина компа. Вообще никакой разницы
Уел, уел. Про "эксплоитную дырку" разрешаю вычеркнуть. Правда, они тоже обнаруживаются при тестировании — обычно каналов получения внешних данных у программы немного и их можно проверить. Но это ж тестировать надо!
И кроме того, это ещё очень большой вопрос, где этих самых дырок для эксплоитов допускается больше — в коде на C или в насквозь защищённых языках с их навороченными объектными конструкциями.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Klatu, Вы писали:
ГВ>>Это ты, типа, на личности пытаешься перейти? Толсто, дружище, толсто! K>Неинтересна мне твоя личность. Просто очень сильно сомневаюсь в твоем профессионализме.
Поскольку я не знаю, что означает термин "профессионализм", то я ни подтвердить, ни опровергнуть твои сомнения не в силах. Что такое "профессионал" — знаю, это тот, кто зарабатывает на хлеб насущный некоторой профессией. А что такое "профессионализм" — тайна сия... Во всяком случае, википедия несёт сущий бред по этому поводу:
Профессионализм — особое свойство людей системно, эффективно и надёжно выполнять сложную деятельность в самых разнообразных условиях.
Хотя, конечно, если ты более адекватно раскроешь значение этого термина, можно попытаться выяснить что-нибудь относительно моего профессионализма. Люблю разные психологические тесты.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Геннадий Васильев, Вы писали: ГВ>Здравствуйте, Cyberax, Вы писали: ГВ>>>В принципе — неплохой результат, если учесть, что иначе им пришлось бы тонны кода переписывать. С другой стороны — наверняка, можно было бы добиться большего, если бы, как я понимаю, не необходимость тащить саму модель PHP. C>>Хех. У меня тут знакомый переписал код с php на Node.js — тупо простым переносом кода с php на JavaScript. Так оно стало работать в 5 раз (!!!) быстрее из-за того, что для JS виртуальная машин делает нормальную компиляцию. ГВ>Так у Facebook в том и прикол, что они не могли отказаться от использования PHP при всём желании.
Ну так пусть заплатят Гуглу, чтобы им сделали нормальную виртуальную машину для PHP. Или транслятор из PHP в V8. Специалисты в Гугле есть.
Здравствуйте, gegMOPO4, Вы писали:
C>>>Хех. У меня тут знакомый переписал код с php на Node.js — тупо простым переносом кода с php на JavaScript. Так оно стало работать в 5 раз (!!!) быстрее из-за того, что для JS виртуальная машин делает нормальную компиляцию. ГВ>>Так у Facebook в том и прикол, что они не могли отказаться от использования PHP при всём желании. MOP>Ну так пусть заплатят Гуглу, чтобы им сделали нормальную виртуальную машину для PHP. Или транслятор из PHP в V8. Специалисты в Гугле есть.
Скажи это сотрудникам Facebook.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, DarkGray, Вы писали: DG>если уж из php умудряются генерить C++ код без gc (или все-таки у них там есть свой GC?), то уж из .net-а или java-ы тем более это можно сделать.
Срок жизни php-программы невелик, сборкой мусора можно не заморачиваться. Пришёл запрос — инициализировали область памяти, всё выделение только из неё, по окончании обработки всю область грохнули. Ни деструкторов, ни циклических ссылок.
MOP>Срок жизни php-программы невелик, сборкой мусора можно не заморачиваться. Пришёл запрос — инициализировали область памяти, всё выделение только из неё, по окончании обработки всю область грохнули. Ни деструкторов, ни циклических ссылок.
согласен. добавлю лишь, что это возможно в любой stateless-программе на любом языке, а не только php.
Здравствуйте, Mazay, Вы писали:
C>>Хм. Написать что-ли статический проверяльщик, который ровно это делает?.. M>Напиши Но ИМХО это пока из области научной фантастики.
Почему? Просто достаточно запретить все небезопасные обращения. Т.е. доступ к вектору/строчке — только по at() и т.п.
С арифметикой указателей только аккуратно надо будет, особенно с итераторами.
Здравствуйте, Cyberax, Вы писали:
C>Я бы не отказался от языка с явной проверкой границ и безопасными кастами, но при этом с ручным управлением памятью.
Здравствуйте, monax, Вы писали:
C>>Я бы не отказался от языка с явной проверкой границ и безопасными кастами, но при этом с ручным управлением памятью. M>pascal?
Просьба пройти в биореактор и не выходить оттуда.
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, monax, Вы писали:
C>>>Я бы не отказался от языка с явной проверкой границ и безопасными кастами, но при этом с ручным управлением памятью. M>>pascal? C>Просьба пройти в биореактор и не выходить оттуда.
компилируемый? — да. проверка границ есть? — да. запросы соблюдены? — да. так что биореактор ждёт тебя
Здравствуйте, monax, Вы писали:
C>>>>Я бы не отказался от языка с явной проверкой границ и безопасными кастами, но при этом с ручным управлением памятью. M>>>pascal? C>>Просьба пройти в биореактор и не выходить оттуда. M>компилируемый? — да. проверка границ есть? — да. запросы соблюдены? — да. так что биореактор ждёт тебя
Тут один минус — язык Паскаль.
Здравствуйте, Pzz, Вы писали:
ГВ>>К разговорам о ренессансе C++. Pzz>Глядишь, они на этом не остановятся, и пойдут дальше, к Си без плюсов или даже к ассемблеру
Ну что, запасаемся попкорном?
Вообще, глядя на реакцию публики я бы запасался кофе, а то уснуть можно. Тут, понимаешь, бравые техасские парни сногсшибательные вещи пишут, а народу — хоть бы хны.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, IT, Вы писали:
ГВ>>Тут, понимаешь, бравые техасские парни сногсшибательные вещи пишут, а народу — хоть бы хны. IT>Дык в Техасе хорошие пастухи, а не программисты. Вот если бы они написали как настоящий стейк готовить, тогда да.
С другой стороны, уж кто-кто, а пастухи-то понимают в ресурсах.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Геннадий Васильев, Вы писали:
IT>>Дык в Техасе хорошие пастухи, а не программисты. Вот если бы они написали как настоящий стейк готовить, тогда да. ГВ>С другой стороны, уж кто-кто, а пастухи-то понимают в ресурсах.
И ещё в навозе.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, IT, Вы писали:
IT>>>Дык в Техасе хорошие пастухи, а не программисты. Вот если бы они написали как настоящий стейк готовить, тогда да. ГВ>>С другой стороны, уж кто-кто, а пастухи-то понимают в ресурсах. IT>И ещё в навозе.
Это не порок.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!