Хакер писал(а):И это, эта возможность выбирать и решать, она ни в коем случае не должна переходить на плечи IDE или языка. Так что не надо тут.
Поставить один флажок Enable Visual Styles в свойствах проекта куда проще чем руками написать и добавить манифест, не кажется?
Хакер писал(а):Я вообще все задачи могу решить без своих кирпичей.
Дело в том, что если в VB чего-то нет, то этоо нет не потому, что об этом забыли или плюнули. А совсем наоборот: придерживались идеологии, в рамках которой эте вещи были вредные.
Так я это и написал. Я понимаю, что
ты можешь сделать абсолютно что угодно не VB6. Но как бы тебе не хотелось, это никапельки не означает, что л
юбой начавший программировать на VB6 это может. Дело именно в том, что идеология VB6 направлена на начинающего разработчика, чтобы он сделал в программе как можно меньше критических косяков. Ты как суперпрофессионал находишь уйму способов обходить эти ограничения. Но если кто-то, разбираясь во всём этом не особо хорошо, попытается сделать то же самое, то он накосячит в первую очередь в самих этих путях гораздо раньше, чем в основном коде...
Хакер писал(а):Что касается VB6, то на VB6 можно из коробки
У тебя странно представление о том, что значит из коробки. Для меня из коробки - это написал пару строчек и оно работает. Написал
Call (New Thread(AddressOf DoSmth)).Start() и DoSmth выполняется в новом потоке и больше ничего для этого не надо. Вызвал
Regex.Match и не надо парсить строку руками. Написал
MD5CryptoServiceProvider.ComputeHash(SomeData) и не надо знать как реализуется алгоритм MD5. Воспользовался классом
XmlSerializer и надо только расставить атрибуты над свойствами, а никакого кода для формирования xml писать не надо. Именно в этом его простота - большинство полезной функциональности уже реализовано и нет необходимости всё это писать самому.
А если для того чтобы чем-то воспользоваться надо объявить охапку WinApi функций, да ещё обустроить их использование - то это уже не из коробки.
Хакер писал(а):Я могу ещё раз повторить слова Джоэля Спольского: любая технология-надстройка начинает экономить ваше рабочее время только после того, как вы потратите уйму времени на изучение этой технологии. Надеяться, что какая-то технология начнёт сразу экономить ваше рабочее время — это очень глупо и наивно. Пока вы полностью не поймёте, какие тут правила игры, вы будете обладать ошибочными представления о картине мира и делать вещи неправильными путями. А какая технология потребует меньше времени изучения?
Я что-то такое читал, скорее всего даже по твоей ссылке. Во-первых, ты приводишь не всё, что он писал. Там шла речь о том, что сложные внутри системы весьма хорошо подходят для решения типовых задач. Однако, в случае необходимости сделать нечто выходящее за рамки типичного, то, если человек не понимает внутреннее устройство этой системы, то решение задачи оказывается вместо простого весьма сложным. Отсюда делался вывод, что изучать надо всю систему с самого начала. И ну да, естественно чем меньше система, тем проще её изучить.
С такой идеей в целом я бы спорить не стал. Но всё ведь немного по-другому. Есть уровни абстракции и для большинства задач не требуется знание прям всего, а хватает представлений о том как это работает уровнем ниже.
К тому же, .NET никак нельзя назвать расширением VB.NET или COM, так что неправильно говорить, что для понимания .NET'а нужно его понимание, поэтому в эту цитату оно не укладывается...
Хакер писал(а):Это же чистая политика. MS никогда не будет хоронить одну технологию и перетаскивать людей на другую потому, что вторая лучше первой. Они там совершенно по другому думают: они будут хоронить что-угодно, если вдруг этот путь и эта стратегия обеспечивает им максимальную прибыль.
Всё равно ведь важно не то, почему они похоронили VB6, а сам факт что они это сделали.
Хакер писал(а):У софта нет материального устаревания. В нём со временем не появляются трещины, не потрятся байтики и не зарождаются новые баги.
Не совсем верно. В физическом плане они конечно не появляются, но если есть какие-нибудь уязвимости в плане безопасности, то о них становится известно не сразу, а как раз со временем. И если софт не поддерживается, то они не будут устраняться, а это значит что со временем всё больше людей будут обладать информацией, способной тебе навредить.
Это сейчас не про VB6, а в принципе про софт.
Хакер писал(а):Что же касается морального устаревания: VB6 полагается на все те же принципы и технологии, которые так же актуальны сейчас. Никто не отменял PE-формат, никто не отменял Native-код, никто не отменял Windows-архитектуру, никто не отменял COM. На всём этом основываются миллионы программ и всё это никуда не денется.
Дело не в лежащих в основе технологиях. Я и не спорю, что эти технологии никуда скорее всего не денутся (хотя чёрт его знает, а то всё постепенно катится к джаваскипту). Но ведь мы же обсуждаем не технологии, а язык, верно?
В начале программы писали вообще в бинарном коде, который тоже никуда не делся, но ведь сейчас никто так не станет делать. Потом стали писать на ассемблере, а сейчас он используется только в специфических областях. Даже для живого Си/Си++ созданы куча надстроек типа QT и MFC.
В общем, я имею в виду, что моральное устаревание может происходить не только в плане используемых технологий, но и в плане самого процесса разработки...
Кстати, заметь, что я рекомендую VS2012, а не VS2010, поскольку понимаю, что у неё есть преимущества, некоторые даже вполне конкретно (хотя они последние скорее связаны с определёнными глюками VS2010). Но при этом лично мне приятнее VS2010...
Кстати, в VB6 накрывается возможность разработки 64-битных программ, а сейчас 64-битные компьютеры становятся всё более распространёнными.
Хакер писал(а):В добавок к этому есть не имеющая аналогов (по внутреннему устройству) среда разработки, о которой я уже рассказывал и которой сейчас, пожалуй, не буду.
Да, я помню то обсуждение. Опять же, человек-то видит не внутреннее устройство среды, а внешнее. Давай-ка перечислю, чего мне не нравится в среде для VBA в MS Office 2013, на вид она похожа на среду VB6, детальнее сказать не могу, т. к. крайне редко пользуюсь VB6.
При написании кода:
1. Отсутствие вкладок, переключаться между файлами неудобно.
2. Отмена действует не в рамках текущего файла, а просто отменяет сделанные действия по порядку.
3. Количество отменяемых действий ограничено (да, я ухитрился попасть в ситуацию, когда мне не хватило этого количества).
4. Нет столбцового режима редактирования.
5. Нельзя сделать боковые панели скрываемыми.
6. Нельзя писать текст в юникоде.
7. При ошибке красной становится вся строка и искать ошибку весьма печально (msgbox с сообщением я отключил, т. к. он мешает намного чаще).
При отладке:
1. Нестандартные сочетания клавиш для пошагового выполнения, особенно необходимость использовать Shift для step over, который нужен чаще всего.
2. Неудобный Watch.
3. Забыл, но точно было что-то ещё...
Хакер писал(а):Кстати, к моему счастью, сейчас 2013 год, а та предрекаемая нам microsoft-овцами «эпоха тотального дотнета» так и не наступила, во всяком случае в области клиентского/десктопного ПО.
Потому что если это ПО разрабатывалось десятилетиями, то никого не угораздит сказать, а ну его нафиг, перепишем-ка всё на .NET. Это только Оперу зачем-то угораздило перейти на WebKit + Chromium, переписав всё с нуля. И есть такое подозрение, что ни к чему хорошему это не приведёт... А нового софта, требующего .NET достаточно много.
А вообще, я же не утверждаю, что .NET везде хорош. Например, его использование в системах реального времени может быть затруднительным. Но его основной плюс именно в простоте написания кода, наличии кучи всего полезного в уже готовом виде, отсутствии проблем с совместимостью и теоретической кроссплатформенности. К тому же, он развивается, с каждой новой версией появляются новые возможности.
Кстати, мне интересно, а какой .NET ты смотрел, что его так не любишь? Если первый, то его все признают сырым и кривым, а в плане VB там была куча всяких фокусов (типа True=+1 и логических/битовых операторов), от которых они отказались уже во второй версии. .NET 1 как раз нигде не используется из-за соей кривизны

PS: Было бы интересно увидеть мнение
BazaroffAM'а относительно этого обсуждения.