Вы неандерталец, если...

Хакер дает советы, раскрывает секреты и делится своими мыслями по поводу программирования.

Модератор: Хакер

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Вы неандерталец, если...

Сообщение Хакер » 03.04.2010 (Сб) 2:33

... пишите программы так, как будто верите, что:
  • Юникода ещё не существует. А если где-то существует, то далеко и вообще нас это не касается.
  • Файловая система — FAT32 (или ниже). Файлов больше, чем 4 Гб, не существует. А если и существуют, то где-то далеко и нам не встретятся.
  • Файловая система, опять же, — FAT32. Разрешений/запретов на доступ к файлам и папкам не бывает — нам доступно абсолютно всё. Что мы, чем то хуже других, что ли?
  • Операционная система — 9x (или ниже). Системы контроля прав доступа, привилегий — ничего этого не существует. Можно делать всё, что вздумается.
  • DEP??? Какой ещё DEP?! А! Тот самый? Так он почти всегда выключен, а то и вообще не поддерживается.

Если то, к чему в ваших программах приделаны скроллбары, нельзя прокрутить колесом мышки — вы тоже неандерталец.

Доска почёта позора
Вместе с Mail.ru-агентом в систему устанавливается библиотека «mramenu.dll», которая регистрируется как расширение оболочки (shell extension) и добавляет в контекстное меню файла в Проводнике свои подпункты. При попытке открыть контекстное меню файла, к которому пользователь не обладает полным доступом, mramenu.dll рушит весь проводник. → Разработчики MRA — неандертальцы.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Вы неандерталец, если...

Сообщение Денис » 03.04.2010 (Сб) 12:17

А что насчет .NET? Кем являются сторонники? И кем являются противники?
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Вы неандерталец, если...

Сообщение Proxy » 03.04.2010 (Сб) 18:16

Полагаете, что юникоду везде место? Если есть возможность размер журналов сократить в разы - почему бы не использовать это в ущерб продвинутости кодовой страницы?
Если то, к чему в ваших программах приделаны скроллбары, нельзя прокрутить колесом мышки — вы тоже неандерталец.
Согласен полностью. Помнится в VB6 с этим присутствует определённая доля сложности.
Разрешений/запретов на доступ к файлам и папкам не бывает — нам доступно абсолютно всё

Допустим напоролись на файл, доступ к которому ограничен. Корректно ли оповестить об этом пользователя и завершить работу приложения или какие действия должно предпринимать "правильное" приложение при отсутствии доступа к ресурсу? Помнится относительно этого целые книги есть, связанные с принципами множественного доступа к ресурсам, обходу взаимных блокировок и т.п.
Follow the white rabbit.

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: Вы неандерталец, если...

Сообщение Roman Koff » 03.04.2010 (Сб) 20:22

Все агенты - это зло!
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 12.10.2011 (Ср) 20:46

Хакер писал(а):Файловая система — FAT32 (или ниже). Файлов больше, чем 4 Гб, не существует. А если и существуют, то где-то далеко и нам не встретятся.

VB6 - а как размер получить/хранить? Long же 32-битный.

Хакер писал(а):Если то, к чему в ваших программах приделаны скроллбары, нельзя прокрутить колесом мышки — вы тоже неандерталец.

Как раз IDE VB6 не скроллится...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Вы неандерталец, если...

Сообщение Хакер » 13.10.2011 (Чт) 5:18

Qwertiy писал(а):VB6 - а как размер получить/хранить? Long же 32-битный.

Хранить:
Код: Выделить всё
Type LONGLONG
    LowPart As Long
    HiPart  As Long
End Type


получить:
Код: Выделить всё
fs.LowPart = GetFileSize(file_handle, fs.HiPart)



Qwertiy писал(а):Как раз IDE VB6 не скроллится...

IDE писали не те, кто читает этот топик. Во-первых, скролл там работает, дело в каком-то ином конфликте, а не в том, что он не предусмотрен. Во-вторых, IDE простительно, она в 97 году писалась.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Вы неандерталец, если...

Сообщение ger_kar » 13.10.2011 (Чт) 7:34

Хакер писал(а):Во-вторых, IDE простительно, она в 97 году писалась.
Т.е. в неандертальские времена по меркам IT технологий :)
Бороться и искать, найти и перепрятать

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Вы неандерталец, если...

Сообщение Хакер » 13.10.2011 (Чт) 7:36

ger_kar писал(а):Т.е. в неандертальские времена по меркам IT технологий :)

Нет, неандертальские времена, это когда использовали Алгол-58.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Вы неандерталец, если...

Сообщение Mikle » 13.10.2011 (Чт) 21:50

Помнится ты критиковал мой редактор шейдеров за то, что он не юникодный, но исходники на vb6, vbs, даже vb.net - тоже не юникодные.
А ведь в отличие от перечисленных, в редакторе шейдеров нет строковых констант и, тем более, нельзя давать не латинские имена.
А существует СТАНДАРТНЫЙ формат файла для юникодного текста? Не .doc и т. п., а что-то типа .txt, но юникодный?

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 13.10.2011 (Чт) 22:25

Mikle писал(а):исходники даже vb.net - тоже не юникодные

Насколько я помню, можно и юникодные. Когда там соответствующий символ появится, передлагается пересохранить в юникод. Хотя, кажется, были когда-то с этим проблемы, точно не помню.

Mikle писал(а):что-то типа .txt, но юникодный?

Собственно, сам txt :)

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Вы неандерталец, если...

Сообщение Хакер » 14.10.2011 (Пт) 2:18

Mikle писал(а): даже vb.net

Всегда считал, что там UTF-8 :roll:

Mikle писал(а):А ведь в отличие от перечисленных, в редакторе шейдеров нет строковых констант и, тем более, нельзя давать не латинские имена.

Зато [должно быть] можно писать комментарии на иврите :)
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Вы неандерталец, если...

Сообщение Proxy » 14.10.2011 (Пт) 5:08

Qwertiy писал(а):Насколько я помню, можно и юникодные. Когда там соответствующий символ появится, передлагается пересохранить в юникод. Хотя, кажется, были когда-то с этим проблемы, точно не помню.

Ага, были... Создаём txt, вставляем юникод (через notepad), сохраняем, закрываем notepad. Открываем файл чем-либо (не notepad), сохраняем пустоту... Видим файл размером 0B (важно, т.е. символов нет в начале файла никаких), открываем notepad, пишем что-угодно не в юникоде, сохраняем, закрываем... открываем и видим кракозябры, т.к. есть какая-то метка (где не знаю, может доп. атрибут в ntfs или что-то в этом роде, не изучал), которая ставится каждый раз при сохранении файла в юникод (notepad судя по всему на неё ориентируется при открытии, а не на начальные символы в файле), но снимается далеко не всегда.
Тот же файл архивируем, удаляем оригинал (и только так), разархивируем и получаем файл без метки. Переименование и простое копирование не спасает.
Follow the white rabbit.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Вы неандерталец, если...

Сообщение Хакер » 14.10.2011 (Пт) 5:11

Proxy писал(а):Ага, были... Создаём txt, вставляем юникод (через notepad), сохраняем, закрываем notepad. Открываем файл чем-либо (не notepad), сохраняем пустоту... Видим файл размером 0B (важно, т.е. символов нет в начале файла никаких), открываем notepad, пишем что-угодно не в юникоде, сохраняем, закрываем... открываем и видим кракозябры, т.к. есть какая-то метка (где не знаю, может доп. атрибут в ntfs или что-то в этом роде, не изучал), которая ставится каждый раз при сохранении файла в юникод (notepad судя по всему на неё ориентируется при открытии, а не на начальные символы в файле), но снимается далеко не всегда.
Тот же файл архивируем, удаляем оригинал (и только так), разархивируем и получаем файл без метки. Переименование и простое копирование не спасает.

Это случайно не дико искажённое ошибками воспрития описание BOM-а?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Вы неандерталец, если...

Сообщение Proxy » 14.10.2011 (Пт) 12:22

Хакер писал(а):Это случайно не дико искажённое ошибками воспрития описание BOM-а?

Proxy писал(а):Видим файл размером 0B (важно, т.е. символов нет в начале файла никаких)

Т.е. BOM к этому моменту уже отсутствует (файл размер 0B, на диске 0B).
Follow the white rabbit.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 14.10.2011 (Пт) 12:44

Хакер писал(а):
Mikle писал(а): даже vb.net

Всегда считал, что там UTF-8 :roll:

В VS2005 код сохраняется в Win1251 (в том числе русский текст), но при добвавлении символа, не представимого в этой кодировке, передлагается пересохранить в юникод (FF FE).
В VS2008 и VS2010 сразу сохраняется в UTF8 (EF BB BF).

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 14.10.2011 (Пт) 12:48

Proxy писал(а):Открываем файл чем-либо (не notepad), сохраняем пустоту...

Что значит "чем-либо"? Вот я открываю в NPP, удаляю содержимое, сохраняю. Остаётся 2 байта (FF FE).
Если в NPP явно сперекодировать, то 0 получается, но и Блокнот юникод не использует.

А лучше, сделай скринвидео.

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Вы неандерталец, если...

Сообщение Proxy » 14.10.2011 (Пт) 13:54

Qwertiy писал(а):А лучше, сделай скринвидео.

сейчас видео не сделаю и воспроизвести нормально не смог (windows 7 starter), но вот что смог:
Написал "тест" в блокноте, сохранил в utf-8, открыл hex редактором, оставил только последние 4 байта (D1 81 D1 82), сохранил, открыл блокнотом, блокнот без символа BOM принял файл как utf-8. Притом если без метки поместить какой-либо текст в win-1251, то открывает как utf-8 и видно кроказабры, т.е. файл теперь где-то помечен как utf-8 независимо от наличия/отсутствия BOM.
Qwertiy писал(а):Что значит "чем-либо"?

Значит тем, что имеет нормальный бинарный доступ и "огрызок" не оставляет. hex-редактором любым, например.
Follow the white rabbit.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 14.10.2011 (Пт) 17:51

Это не метка, а частотная статистика символов. Многие программы её используют, если префикса нет.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Вы неандерталец, если...

Сообщение Mikle » 16.10.2011 (Вс) 10:18

Посмотрел в бинарном редакторе - действительно исходники на vb.net начинаются с управляющих символов, правда не все, но это уже другой вопрос. Раньше я внимания не обращал, видел, что размер - 1 байт на символ, вот и считал простым текстом. То есть, если, например, араб откроет мой исходник с русскими коментариями, то он их увидит, только, возможно, будет предложено доустановить шрифты?
А что будет, если он захочет добавить в код свой арабский коментарий, не убирая русские, и сохранить? Будет сохранено уже в полноценный юникод, 2 байта на символ?

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Вы неандерталец, если...

Сообщение Proxy » 16.10.2011 (Вс) 11:24

Qwertiy писал(а):Это не метка, а частотная статистика символов. Многие программы её используют, если префикса нет.

Не думал, что блокнот такой замысловатый.
Follow the white rabbit.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Вы неандерталец, если...

Сообщение Хакер » 16.10.2011 (Вс) 17:37

Mikle писал(а):А что будет, если он захочет добавить в код свой арабский коментарий, не убирая русские, и сохранить? Будет сохранено уже в полноценный юникод, 2 байта на символ?

Почему UTF-8 считается неполноценным?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 16.10.2011 (Вс) 19:28

Mikle писал(а):А что будет, если он захочет добавить в код свой арабский коментарий, не убирая русские, и сохранить? Будет сохранено уже в полноценный юникод, 2 байта на символ?

UTF8 поддерживает все языки. Просто, хитрым способом.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Вы неандерталец, если...

Сообщение Mikle » 16.10.2011 (Вс) 22:06

Хакер писал(а):Почему UTF-8 считается неполноценным?

Я ничего не утверждал. Я спросил.
Qwertiy писал(а):UTF8 поддерживает все языки. Просто, хитрым способом.

Ясно.

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Re: Вы неандерталец, если...

Сообщение BV » 17.10.2011 (Пн) 12:32

Хакер писал(а):Юникода ещё не существует. А если где-то существует, то далеко и вообще нас это не касается.

VB6 юникод не поддерживает ни на уровне модулей с кодом, ни на уровне интерфейса
Хакер писал(а):Файловая система — FAT32 (или ниже). Файлов больше, чем 4 Гб, не существует. А если и существуют, то где-то далеко и нам не встретятся.

В VB6 нет нативного 64-разрядного целого, способного хранить больший размер
Хакер писал(а):Операционная система — 9x (или ниже). Системы контроля прав доступа, привилегий — ничего этого не существует.

Ни о чем об этом VB6 не знает.
Хакер писал(а):Если то, к чему в ваших программах приделаны скроллбары, нельзя прокрутить колесом мышки — вы тоже неандерталец.

В VB6 редактор кода не прокручивается колесиком. На колесико же, точнее, на его нажатие не реагируют ListBox и TextBox VB6.

Вывод: на VB6, написанном неандертальцами, пишут потомственные неандертальцы
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Вы неандерталец, если...

Сообщение ger_kar » 17.10.2011 (Пн) 13:16

Вообще тема написана не только для тех, кто пишет на VB6, она имеет более широкий охват и применительна к написанию ПО вообще и VB6 это частный случай.

Я также бы продолжил этот список, что вы неандерталец если...
Думаете, что Framework, и другие дополнительные библиотеки установлены на всех компьютерах и ваше приложение на них заработает.

И продолжу вывод BV, который мне очень понравился, но у которого нет логической концовки.
..., а неандертальцы, написавшие VB6, написали еще более неандертальский продукт .Net, а другие прирожденные неандертальцы, заглотили наживку и стали плодиться и размножаться, а так же плодить и размножать свои неандертальские продукты. Так что неандертальцы были, есть и будут.
Бороться и искать, найти и перепрятать

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Re: Вы неандерталец, если...

Сообщение BV » 17.10.2011 (Пн) 14:02

ger_kar писал(а):Вообще тема написана не только для тех, кто пишет на VB6, она имеет более широкий охват и применительна к написанию ПО вообще и VB6 это частный случай.

Вообще, это была ирония относительно любимого ЯП Хакера
ger_kar писал(а):..., а неандертальцы, написавшие VB6, написали еще более неандертальский продукт .Net

Это не так. В .NET есть свои недостатки, но объективно, это более продуманная и более перспективная система, нежели COM
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Вы неандерталец, если...

Сообщение Mikle » 17.10.2011 (Пн) 14:37

В таком ключе COM и NET сравнивать некорректно. Для работы COM не требовался COM-фреймворк.
BV писал(а):это была ирония относительно любимого ЯП Хакера

Тут тоже понятно - год выпуска оправдывает

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Вы неандерталец, если...

Сообщение ger_kar » 17.10.2011 (Пн) 17:32

BV писал(а):Это не так. В .NET есть свои недостатки, но объективно, это более продуманная и более перспективная система, нежели COM
Может и продуманная, но явно не додуманная, ее постоянно додумывают, а для конечных пользователей это становиться вечным геммором. И если бы один Net был, а то еще Java, DirectX, vcredist_x86, драйвера и еже с ними.
Бороться и искать, найти и перепрятать

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Вы неандерталец, если...

Сообщение Proxy » 17.10.2011 (Пн) 20:23

ger_kar писал(а):Может и продуманная, но явно не додуманная, ее постоянно додумывают, а для конечных пользователей это становиться вечным геммором. И если бы один Net был, а то еще Java, DirectX, vcredist_x86, драйвера и еже с ними.

А есть варианты?
И да, не ощущаю проблем для конечных пользователей. Когда глобальная сеть была в диковинку и приходилось сервиспаки дискетами волочить не пойми откуда, дабы в API появилось недостающее — то да, проблема, а когда Java обновляется из нета самостоятельно — проблемы нет. Или когда некоторые пользователи теперь уже и не подозревают о наличии .net на рабочих станциях (было с дистрибутивом; работает; обновляется; конфигурирования не требует) — то вообще здорово для администратора.
Follow the white rabbit.


Вернуться в МануAll

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList