Я писал про правильность действий РКН, описанных в статье, и ни про что другое. Насчёт того, что там нарушает или не нарушает Zello — не интересовался. Но если принято решение заблокировать Zello, то отсюда автоматически следует продолжение: Амазону предлагают либо решить проблему у себя, либо быть полностью заблокированным. Если бы РКН так не поступил — то, можно считать, он уступил большой коммерческой компании по причине её большого размера, а так делать нельзя (это совсем не то же самое, как если бы он перестал блокировать по причине того что перестал считать Zello нарушителем).
У них вполне есть возможность заблокировать Zello конкретно для России со своей стороны. Выбор тут между страной и теми клиентами, которые «обидятся» на такое решение и перестанут быть клиентами. Думаю, таких немного, а среди крупных так вообще скорей всего нет.
Единственное, чего тут не хватает — писали ли они в Amazon рекомендации заблокировать Zello для России на их стороне? Если писали и те отказали, то эта блокировка будет однозначно правильной. Если не писали — наверно не очень хорошо вышло.
не означает, что исходный код является кодом на языке С с точки зрения стандарта.
Это — разные вещи. Про второе обычно говорят "не соответствует стандарту" и указывают, какому именно (их же много). Первое, по хорошему, не до конца определенное утверждение, но, на мой взгляд, не следует его связывать с чем бы то ни было, кроме синтаксической корректности (она на самом деле тоже зависит от диалекта-стандарта, но тут уж ничего не поделать).
А вообще, наблюдая такие комментарии, возникает желание оформить и протолкнуть где-нить свой стандарт С, сформулированный в терминах низкоуровневых операций, производимых конструкциями языка. Где конкретно касательно указателей будет заявляться, что это просто обращение к памяти по такому-то адресу, полученному адресной арифметикой. И хоть там выходящий за границы адрес, хоть там NULL — должно быть чтение с этого адреса, а о последствиях сегфолтов будет думать уже проц и ос в рантайме. Сейчас такой режим работы вроде бы соблюдается большинством компиляторов при выключенных оптимизациях, но напрямую это никто не декларирует, а жаль.
Собственно, я так думаю потому что повышение скорости интернета попросту избавит большинство людей от необходимости держать многотеррабайтные диски по рукой.
Агитация за зависимость от всяких левых интернет-хранилищ. Нет уж, лучше хранить нужное у себя, несмотря на все эти бесплатные приманки в интернете.
UB нужен, чтобы оптимизатору было проще оптимизировать код. То есть, чтобы при оптимизациях не нужно было поддерживать работоспособность кода, работающего через UB, а значит можно сделать больше оптимизаций, которые корректны для не-UB кода. Время работы самого компилятора тут ни при чём, и наверно никогда не было при чём. В нормальных компиляторах можно многие UB сделать не-UB, не включая соответствующие оптимизации. Например, целое переполнение — тоже UB, если вы используете gcc с -fstrict-overflow (он включается с -O2), который оптимизирует арифметику, и не UB (начинает работать по обычным законам двоичной арифметики с ограниченой разрядностью), если -fno-strict-overflow.
эти права были у всех (включая в первую очередь самого автора), так, чтобы автор при этом не голодал, а напротив, получал поощрение за свой труд
Не может быть оно "у всех" на один и тот же продукт. Право — это не только право использовать, но и право предотвратить использование (и совсем не обязательно из коммерческих мотивов). Один "хозяин" скажет: запретить, другой — разрешить, очевидно послушать придётся только одного из них. Если вы скажете, что вам больше нравится второй вариант, чем первый, и поэтому слушаем второго — тогда по сути главным "хозяином" вы назначили себя.
Послушайте, ну это уже вообще ни в какие ворота. Да, возможно на вашей системе и с вашим компилятором там не будет пэддинга. Но на это полагаться нельзя. Вот просто нельзя писать код, который на это полагается. Совсем. В приципе. Поэтому что это UB, ага. Компилятор это знает и ведет себя соответствующим образом.
Компилятор, который между конкретно int a[4]; и int b[4]; вставит паддинг — однозначно плохой компилятор и лично я постараюсь его избегать (единственное возможное исключение, но и то не уверен — это компилятор для процессоров с троичной, 5-ричной или другой системой не степени двойки, но про них вряд ли стоит вспоминать).
Вам никто не гарантирует что за массивом начнется другой массив. Даже текущая версия компилятора не гарантирует. Поменяете настройки оптимизации и все может уползти.
Если компилятор вменяемый — не уползёт, конкретно в данном случае.
Это ниразу не заблуждение. Это и есть святая правда. Да, может оптимизатор хендлит эти случаи по разному. Но с точки зрения стандарта — это одно и тоже.
Вам говорят про компилятор, а вы отвечаете: "вы не правы, по стандарту это одно и то же, но оптимизатор (=компилятор) может и хэндлит по-разному". Не замечаете дефекта в своём ответе?
«Минификация» — это костыль для случая, когда интерпретатору обязательно нужен текст, а мы хотим выкинуть всё что интерпретатору ненужно. Если же язык делаете вы сами, то очевидным образом выкидывается требование текстового представления кода и используется двоичное представление, называемое байткодом. А текст предназчначен, всё же, для людей и должен быть максимально понятным.
Насчёт вашей команды — конечно это ни на что не повлияет, ни вам, ни автору. Но если брать не такие абсурдные примеры, то в целом вы хотите забрать право распоряжаться плодами собственного труда, в пользу общества. Это не значит, что я одобряю худшие проявления копирастии (которая, кстати, во многих, если не большинстве, случаев, производится некими правообладателями, а не авторами), но тут может быть много разных аспектов.
Нет, не полный, я ж выше написал. Полный занимал больше 10 dvd, вряд ли в 9 версии выкинули 90% пакетов. Полный теперь только по инету похоже. Хотя может быть я и не прав и этому есть какое-то другое объяснение, но я его не могу предположить.
В Москве в 1997 был 286-386 (дома). У большинства, кажется, тогда вообще компов не было. Там где железо обеспечивалось организациями возможно лучше. И про видеокарту всё примерно как вы пишете — поддерживает 800х600 и норм (это если винда, а если нет то и на это пофиг). Впрочем каких-то неудобств в связи с этим не возникало.
Поскольку беседа ушла непонятно куда, предполагаю что возможно я непонятно выразился в первом комментарии. Уточняю: не вижу ничего плохого в том, что развитие паровых машин остановилось на десятилетия. До того как их изобрели прошли ещё сотни, тысячи и более лет не то что без развитых паровых машин, но даже без идей о паровых машинах вообще. Так что даже не оценивая полезность их развития (а это, в общем случае, тоже весьма спорный вопрос), можно увидеть, что эти «десятилетия» в целом ничего не поменяли, и не поменяли бы даже будучи столетиями.
Всё очень просто — хотите прогресс — делайте его сами. А производители и патентообладатели не хотят никаких прогрессов, они хотят продавать свой товар и желательно подольше, и что бы никто им не мешал и не создавал конкуренцию, или, хуже того, какие-то новинки, которые потом придётся осваивать чтобы не прогореть. И какие бы вы юридические уловки ни придумывали, они всё равно будут хотеть именно этого, и не надо пытаться за их счёт продвигать свои интересы.
А ещё он не должен быть никаким образом аффилирован с коммерческими структурами, коими являются мобильные операторы. Так что связывать его с сим-картами — затея идиотская и однозначно вредная.
Это — разные вещи. Про второе обычно говорят "не соответствует стандарту" и указывают, какому именно (их же много). Первое, по хорошему, не до конца определенное утверждение, но, на мой взгляд, не следует его связывать с чем бы то ни было, кроме синтаксической корректности (она на самом деле тоже зависит от диалекта-стандарта, но тут уж ничего не поделать).
А вообще, наблюдая такие комментарии, возникает желание оформить и протолкнуть где-нить свой стандарт С, сформулированный в терминах низкоуровневых операций, производимых конструкциями языка. Где конкретно касательно указателей будет заявляться, что это просто обращение к памяти по такому-то адресу, полученному адресной арифметикой. И хоть там выходящий за границы адрес, хоть там NULL — должно быть чтение с этого адреса, а о последствиях сегфолтов будет думать уже проц и ос в рантайме. Сейчас такой режим работы вроде бы соблюдается большинством компиляторов при выключенных оптимизациях, но напрямую это никто не декларирует, а жаль.
Агитация за зависимость от всяких левых интернет-хранилищ. Нет уж, лучше хранить нужное у себя, несмотря на все эти бесплатные приманки в интернете.
Не может быть оно "у всех" на один и тот же продукт. Право — это не только право использовать, но и право предотвратить использование (и совсем не обязательно из коммерческих мотивов). Один "хозяин" скажет: запретить, другой — разрешить, очевидно послушать придётся только одного из них. Если вы скажете, что вам больше нравится второй вариант, чем первый, и поэтому слушаем второго — тогда по сути главным "хозяином" вы назначили себя.
Компилятор, который между конкретно int a[4]; и int b[4]; вставит паддинг — однозначно плохой компилятор и лично я постараюсь его избегать (единственное возможное исключение, но и то не уверен — это компилятор для процессоров с троичной, 5-ричной или другой системой не степени двойки, но про них вряд ли стоит вспоминать).
Если компилятор вменяемый — не уползёт, конкретно в данном случае.
Вам говорят про компилятор, а вы отвечаете: "вы не правы, по стандарту это одно и то же, но оптимизатор (=компилятор) может и хэндлит по-разному". Не замечаете дефекта в своём ответе?
Беда то какая.