1.1, Аноним (-), 23:49, 02/11/2016 [ответить] [﹢﹢﹢] [ · · · ] [↓] [к модератору]
| +/– |
> некоторые из которых могут привести к записи за границу буфера, обращению к уже освобождённым блокам, повторному вызову функции free(), подстановке cookie для других серверов, неверной обработке спецсимволов в доменом имени
При Rust такого не было!
| |
|
|
3.7, Аноним (-), 09:58, 03/11/2016 [^] [^^] [^^^] [ответить] [к модератору]
| –5 +/– |
Помер. Ещё до рождения. Сейчас родители этот трупик наряжают в детские костюмчики, читают ему Маршака, возят в коляске гулять. Но нормальные люди, когда видят их, переходят на другую сторону улицы. На всякий случай.
| |
|
2.5, Аноним (-), 08:45, 03/11/2016 [^] [^^] [^^^] [ответить] [↓] [↑] [к модератору]
| +3 +/– |
C - кросплатформерный ассемблер. Асма позволяет что угодно и куда угодно записать, потому и и С делает то, что ты ему говоришь. А эти ваши расты - хипстота.
| |
|
3.15, Comdiv (ok), 22:59, 03/11/2016 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Это, кстати, миф, потому-то Си и требует различных расширений под каждую платформу.
Для многих оказывается сюрпризом, когда их программа на "высокоуровневом ассемблере", валится на другой платформу из-за, к примеру, непригодного выравнивания или просто из-за других размерностей целых, пусть и в большую сторону. Второе несоответствие ассемблеру - это оптимизации современных компиляторов, изменяющих изначальную программу, порой, до неузнаваемости. Ассемблеры так не поступают.
| |
|
4.16, Аноним (-), 09:28, 04/11/2016 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| +/– |
Это не миф, ты просто буквально понял "кросплатформерный ассемблер". Ясен хер банальной перекомпиляцией под другую платформу софт просто так не заработает, нужна куча #ifdef'ов ASM'ов. Смысл в том, что из всех высокоуровневых языков - С самый низкоуровневый. Если ты говоришь ему ч/з memcpy скопировать что-то куда-то, то кто он такой, чтоб тебе запрещать? Всякие сраные IZEN'ы этого не понимают. И именно поэтому 99.99999% всех операционок написано именно на нём - потому что офигенно безграничные возможности, только проц может тебя ограничить (page fault, например).
| |
|
5.17, Comdiv (ok), 10:45, 04/11/2016 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
>Если ты говоришь ему ч/з memcpy скопировать что-то куда-то,
>то кто он такой, чтоб тебе запрещать?
Во-первых, на некоторых платформах нет memcpy как и остальной части стандартной библиотеки. Во-вторых, компилятор может даже не запретить, а поступить хуже - молча выкинуть его, если посчитает, что он не нужен.
Нет, конечно, если назвать что угодно чем угодно и сказать, что надо понимать не буквально, а метафизически, то можно подогнать под любоё понятие при желании. Если же разобраться, то применительно к Си понятие "переносимый ассемблер" больше похоже на рекламный лозунг.
| |
|
6.20, angra (ok), 11:50, 04/11/2016 [^] [^^] [^^^] [ответить] [к модератору]
| –1 +/– |
> Во-первых, на некоторых платформах нет memcpy как и остальной части стандартной библиотеки.
И что из этого следует?
> Во-вторых, компилятор может даже не запретить, а поступить хуже - молча
> выкинуть его, если посчитает, что он не нужен.
Оптимизации вообще-то можно не включать.
> Если же разобраться, то применительно к Си понятие "переносимый ассемблер" больше похоже на рекламный лозунг.
Разве что для того, кто не умеет писать на С и не способен посмотреть на список платформ и основной язык линукса(ядра), после чего сделать правильный вывод.
| |
|
7.22, Comdiv (ok), 16:46, 04/11/2016 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
>> Во-первых, на некоторых платформах нет memcpy как и остальной части стандартной библиотеки.
> И что из этого следует?
Что это не переносимый ассемблер.
>> Во-вторых, компилятор может даже не запретить, а поступить хуже - молча
>> выкинуть его, если посчитает, что он не нужен.
> Оптимизации вообще-то можно не включать.
Далеко не всегда, потому что без них программа может и не завестись. На ассемблере всё заведётся и ничего не выкинется.
> Разве что для того, кто не умеет писать на С и не
> способен посмотреть на список платформ и основной язык линукса(ядра),
Вот, что пишет Ваш коллега:
>>Ясен хер банальной перекомпиляцией под другую платформу софт
>>просто так не заработает, нужна куча #ifdef'ов ASM'ов.
..
> после чего сделать правильный вывод.
Для этого нужно всё же глубже смотреть, чем в приведённом Вами анализе. Никто не запрещает верить рекламным лозунгам.
| |
|
|
|
|
5.34, Comdiv (ok), 23:21, 04/11/2016 [^] [^^] [^^^] [ответить] [к модератору]
| –1 +/– |
> Может еще
> ассемблер какой, еще более экзотичный. Типа C для DSP с 16-битным
> char просто потому что стандарт не запрещает, а 8 битов адресовать
> проц не умеет в принципе, потому что для него минимальный юнит
> - 16 битов.
Стандарт Си, кстати, не даёт гарантий, что char 8-битный, так что это не должно оказывать сопротивление грамотно написанному. Но как много людей пишут код, учитывая это?
> Типы данных с фиксированным размером - это C99, которому 17 лет.
Типы с фиксированными разрядностями являются опциональными по стандарту и для "истинно переносимых" не должны использоваться. Вместо них следует использовать int_leastXX_t, но опять-таки, как много людей так пишут?
> до кого за 17 лет не дошло - наверное это не си виноват.
Как видим, 17 лет не хватило, чтобы понять стандарт полностью. Разве я не прав?
> вынес половину neon/sse асма в пользу simd intrinsics на си.
Так это и есть расширения языка, поддерживаемые на уровне компилятора, хотя и грамотно завёрнутые в абстракции Си.
| |
|
|
7.38, Led (ok), 00:55, 05/11/2016 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| –2 +/– |
> Как видим, мы и поняли стандарты и их реализации так как нам
> было удобно. А проблемы индейцев это таки проблемы индейцев. Тем более
> что индейцы вообще не знают что такое стандарт, но копьями и
> стрелами трясут.
Думаю, ты немного ошибся: ты пытаешся что-то доказать не индейцу, а индусу из касты "вендузоеды".
| |
7.41, Comdiv (ok), 01:31, 05/11/2016 [^] [^^] [^^^] [ответить] [↑] [к модератору]
| –1 +/– |
> И чего? Если нужны гарантии - есть uint8_t, с 1999 года.
Ещё раз, uint8_t - это опциональный тип, стандарт не гарантирует его наличия. Откройте наконец стандарт, и почитайте.
> Ты знаешь, C99 с лохматого 1999 года таки освоили довольно много людей.
Сколько можно?
> А нисколько - все дружно решили что нехай авторы компилеров нормально C99
> реализуют и дают все эти uint8_t и проч. А перфекционизм -
> это прекрасно, но на все эти бидоны, го и прочие расты
> ты вообще формальные стандарты покажешь, хотя-бы с таким качеством реализаций?
При чём тут всё это. Речь об "ассемблере" - не "ассемблере", а не о том, что лучше. Открою страшную тайну - использую преимущественно Си.
>> Как видим, 17 лет не хватило, чтобы понять стандарт полностью. Разве я не прав?
> Как видим, мы и поняли стандарты и их реализации так как нам было удобно.
То, что Вы не учли этого и никогда не встречали ситуации, где эти типы отсутствуют, а теперь выдаёте это за концепцию.
> И чего? Если вякать про стандарты - напишите на свою хипстерскую хрень
> хотя-бы такие, тогда поговорим. На JS вон пытались написать.
При чём тут это? Повторюсь - использую Си. Речь о терминологии и радужных рекламных лозунгах, а не замене Си на Js.
| |
|
|
|
|
|
2.12, Аноним (-), 11:03, 03/11/2016 [^] [^^] [^^^] [ответить] [↓] [↑] [к модератору]
| –2 +/– |
> При Rust такого не было!
При Rust вообще софта не было. Пара утилит типа легковесной (по функционалу) замены cp да полурабочий движок браузера не в счёт.
| |
|
3.30, Аноним (-), 22:31, 04/11/2016 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
> При Rust вообще софта не было. Пара утилит типа легковесной (по функционалу)
> замены cp да полурабочий движок браузера не в счёт.
А в случае Rust принц не спасает принцессу. Он отправляется в лес и рубит деревце, с которым двигает к сельскому кузнецу, чтобы тот ему пику вообще сделал. После чего отправляется ловить дикую лошать, которую еще надлежит объездить. Ну а в следующей части пьесы принц узнает что замок он тоже должен строить сам.
| |
|
2.53, Лютый жабист (ok), 05:09, 08/11/2016 [^] [^^] [^^^] [ответить] [↑] [к модератору]
| +/– |
Под rust ещё скорее всего не написали путней либы даже уровня curl.
И неясно, напишут ли, т.к. rust тормознее java, при этом в жабе уже давно есть полноценные безголовые браузеры HtmlUnit/Selenium, которые умеют исполнять JS, юзать алерты, попапы, итд
| |
|
1.23, Аноним (-), 17:10, 04/11/2016 [ответить] [﹢﹢﹢] [ · · · ] [↑] [к модератору]
| +/– |
ну они сами там расписались в том, что им трудно договариваться с оригинальными разработчиками, когда они пытаются пилить свои форки-велосипеды на их оригинальных разработках ;)
| |
|