Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 | 4 | 5 | 6 | 7 |

 

  Вопрос: Что нового в VB6 sp6 Добавлено: 16.08.11 07:55  

Автор вопроса:  Сергей Юдин

Ответить

  Ответы Всего ответов: 101  

Номер ответа: 91
Автор ответа:
 Сергей Юдин



Вопросов: 8
Ответов: 81
 Профиль | | #91 Добавлено: 19.09.11 23:30
Вам говорят, что Ваши тесты абсолютно некорректны, что их нельзя сравнивать между собой.
Вы ошиблись, Вы сделали неправильный вывод из неправильных входных данных с помощью неправильного алгоритма, неправильно реализованного.


Поясните, пожалуйста, в чем конкретно некорректность тестов (вообще то я речь веду всего об одном тесте - на скорость работы) и в чем конкретно ошибка в алгоритме и какой я сделал вывод.


Вопрос собственно остался в топике один: зачем Вы это делаете?


Поясните, пожалуйста, что конкретно я делаю.

Сергей Юдин.

Ответить

Номер ответа: 92
Автор ответа:
 Nash Bridges



Вопросов: 5
Ответов: 139
 Профиль | | #92 Добавлено: 20.09.11 00:16
Artyom, связывание - это не определение в рантайме реального типа значения, которое содержится в варианте, а нечто другое:

С точки зрения программирования связывание — это процедура установки связи между идентификатором, используемым в коде программы, и его физическим объектом (в общем случае любым программным компонентом: переменной, процедурой, модулем, приложением и т.д.


http://www.microsoft.com/Rus/Msdn/Activ/MSVB/Archive/Components/reference.mspx

2. В чем конкретно - об этом весь топик и не один. А вопрос такой: зачем подписывать каждое сообщение?

Ответить

Номер ответа: 93
Автор ответа:
 Сергей Юдин



Вопросов: 8
Ответов: 81
 Профиль | | #93 Добавлено: 20.09.11 00:53
2. В чем конкретно - об этом весь топик и не один. А вопрос такой: зачем подписывать каждое сообщение?


Я так понял, что конкретно Вы ничего ответить не можете, т.е. Вы мастер только языком молоть. А подписываюсь я уже по привычке, если хотите фирменный стиль. И вообще я не понимаю людей, которые хотят поговорить на серьезные темы и прячутся за ником (я считаю просто из боязни высказать свое мнение в открытую).


Сергей Юдин.

Ответить

Номер ответа: 94
Автор ответа:
 Nash Bridges



Вопросов: 5
Ответов: 139
 Профиль | | #94 Добавлено: 20.09.11 02:08
Да нет, я могу, просто не считаю нужным каждый быдлокод комментировать, поэтому и ссылаюсь на посты уважаемого сообщества.

Я понял - фирменный стиль, ничего против не имею. Единственное, не уверен в серьезности темы.

Ответить

Номер ответа: 95
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #95 Добавлено: 20.09.11 03:43
Nash Bridges пишет:
Artyom, связывание - это не определение в рантайме реального типа значения, которое содержится в варианте, а нечто другое:

Я не говорил что позднее связывание это определение типа. Но эта операция должна быть выполнена во время позднего связывания.

Возможно дело в неточной терминологии. Если есть желание, можно на SO попросить этот момент четко разъяснить. Я же могу дать факты.

В VB .NET при сложении двух переменных определенного типа (Integer, например), в IL мы получаем
  1. IL_0000: nop
  2. IL_0001: ldarg.0
  3. IL_0002: ldarg.1
  4. IL_0003: add.ovf
  5. IL_0004: stloc.0
  6. IL_0005: br.s IL_0007
  7.  
  8. IL_0007: ldloc.0
  9. IL_0008: ret



При сложении двух переменных, которые объявлены без указания типа (Опция Option Strict Off, реально переменные будут иметь тип Object) получаем

  1. IL_0000: nop
  2. IL_0001: ldarg.0
  3. IL_0002: ldarg.1
  4. IL_0003: call object [Microsoft.VisualBasic]Microsoft.VisualBasic.CompilerServices.Operators::AddObject(object, object)
  5. IL_0008: stloc.0
  6. IL_0009: br.s IL_000b
  7.  
  8. IL_000b: ldloc.0
  9. IL_000c: ret


В исходном коде метода AddObject четко видно, что у обоих операндов считывается тип, после чего анализируется, как выполнить сложение двух значений указаных типов (они могут и отличаться), и далее операнды приводятся к какому-то общему типу, и уже стандартной командой IL выполняется их сложение. Или же, если речь идет не о примитивных типах, то вызывается соответствующий метод, реализующий оператор сложения указанных типов.

Речь идет о VB .NET. Учитывая, что функциональность сбокри Microsoft.VisualBasic максимально точно воспроизводит поведение, которое имел VB6, я могу предположить что в нем работает сходный подход (учитывая, разумеется, отсутствие полноценных механизмов рефлексии, вместо которых должны быть какие-то другие).

Ответить

Номер ответа: 96
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #96
Добавлено: 20.09.11 03:57
безумная вопрос - портабл среда сильно влияет на производительность?:) не знаю какой код позволит нормально сравнить, хотя когда-то писал бенчмарк системы на vb6:)
з.ы. интересно, что Шесть еще пользуется каким-то спросом на рутрекере. там было овер 1000 скачиваний до того как я торрент обновил http://rutracker.org/forum/viewtopic.php?t=3587065

Ответить

Номер ответа: 97
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #97 Добавлено: 20.09.11 08:55
развели.... кому что нравится - на том и пишите, ёжкин кот... мне вот нонче больше сисадминством приходится заниматся, поэтому читать/изучать дотнет времени нет - и я со спокойной совестью нет-нет да и побалуюсь vb6

Ответить

Номер ответа: 98
Автор ответа:
 Nash Bridges



Вопросов: 5
Ответов: 139
 Профиль | | #98 Добавлено: 20.09.11 11:22
Artyom пишет:
Возможно дело в неточной терминологии.


Возможно дело в каше в голове.
Каждый озвучивает свои фантазии своими словами, вместо того чтобы скорректировать свои представления о внешнем мире.
Поэтому рождаются такие бестолковые многостраничные топики, где никто никого не слышит, а гнет свою линию.

Зато весело, да.

Ответить

Номер ответа: 99
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #99 Добавлено: 20.09.11 14:58
Возможно дело и у кого-то в каше в голове.

Но лично моя каша не берется ниоткуда, а конкретно от Рихтера, который написал в своей книге следующее о dynamic типе в C#

At runtime, the C# runtime binder resolves a dynamic operation according to the runtime type of the object. [...] This type can process all of the member, method, and operator bindings for the object


http://visualbasic.about.com/od/usingvbnet/a/earlybind.htm
Здесь дается более обобщенное определение термина late binding причем касательно VB6

If the variable is declared as ...

Dim MyVariable as Object

... then the variable is said to be "late bound" because the software doesn't really know what it is until runtime when it's actually used for something.


Говорится что на переменной без определенного типа (каковым в данном случае является Object) будет работать позднее связывание, без уточненя какими конкретно способами она будет использоваться.

Поэтому можно утверждать, что как минимум этот термин не трактуется однозначно различными источниками.

Ответить

Номер ответа: 100
Автор ответа:
 Nash Bridges



Вопросов: 5
Ответов: 139
 Профиль | | #100 Добавлено: 20.09.11 15:16
В том и каша, что зеленое может быть холодным, но не всякое холодное - зеленое.

Ответить

Номер ответа: 101
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #101 Добавлено: 20.09.11 15:21
Ну тепреь все стало на свои места

Ответить

Страница: 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам