Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 | 2 | 3 |

 

  Вопрос: Вопрос по поляь NULL Добавлено: 12.11.08 05:00  

Автор вопроса:  Sergey Gaponov | ICQ: 278513301 

Ответить

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

Номер ответа: 16
Автор ответа:
 Сергей



ICQ: 558230345 

Вопросов: 7
Ответов: 91
 Профиль | | #16 Добавлено: 14.11.08 18:03
очень интересно выслушать мнение корифеев....не ожидал такой бурной дискуссии!
Но IIF я использую без проблем...и мне кажется, что код становится читабильнее.
А при работе с БД значительно больше времени уходит на обработку запроса ядром, вводе-выводе, чем на обработку IIF.
Я не прав?

Ответить

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



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #17 Добавлено: 14.11.08 19:09
1. Надеюсь не сделаю открытие, заявив что в .NET 2.0, .NET 3.0 и .NET 3.5 примерно один и тот же рантайм (не считая того чтоб в более новых Framework исправляли ошибки старых рантаймов), один и тот же набор базовых библиотек (опять же - не считая исправления багов с выходом более новых версий).
Отличаются они только компиляторами (в 3.5 новые компиляторы для поддержки новых фич C# 3.0 и VB 9.0) и набором дополнительных библиотек - в состав 3.0 дополнительно входят компоненты WPF, WCF, WWF и WCS, в 3.5 также дополнительно к набору 3.0 входит и компонент LinQ.

Переход с 2.0 на более новые рантаймы ограничивается лишь тем, что приконвертации Visual Studio изменяет версии в .sln-файлах, и обновляет версии в конфигурационных файлах. Откуда там вдруг появляются "новые баги с новым ПО" мне неведомо, впрочем человек способен обхитрить даже самую совершенную технологическую систему, заставив ее глючить.

Алексей пишет:
ты ранние версии VS давно видел? Фишка с выбором версии FW появилась только в VS 2k8.

Что, серьезно?

Алексей пишет:
Программеры в основном занимаются доработкой, дебагом и сопровождением, и лишь изредка созданием новых систем, так было, так есть и всегда будет. Так что, если бы Вася не сделал кашу, ты бы не получил 200 баксов за свою работу.

Ну каждый программист зарабатывает свой хлеб как может.

Вообще, следующую глобальную смену технологий будет логичней и выгодней делать, когда появится стабильная версия Framework 4.0.

Логики здесь ровным счетом 0, потому что нет практически ни какой информации о том что там будет и насколько оно поможет работе.

Ответить

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



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #18 Добавлено: 14.11.08 19:13
очень интересно выслушать мнение корифеев....не ожидал такой бурной дискуссии!
Но IIF я использую без проблем...и мне кажется, что код становится читабильнее.
А при работе с БД значительно больше времени уходит на обработку запроса ядром, вводе-выводе, чем на обработку IIF.

В .NET есть очень много инструментов для разрабокти модулей данных, поэтмоу вручную их писать есть смысл только в двух случаях:
1) Не в состоянии разобраться даже с простейшими
2) К системе предъявлены очень высокие требования в плане быстродействия, памяти, и т.п. - в этом случае, возможно, даже прийдется вручную работать через DataReader, оптимизировать запросы до мелочей и так далее, но посетителям форума до таких приложений очень далеко, поэтмоу это не стоит учитывать.

Ответить

Номер ответа: 19
Автор ответа:
 Сергей



ICQ: 558230345 

Вопросов: 7
Ответов: 91
 Профиль | | #19 Добавлено: 14.11.08 19:18
2) К системе предъявлены очень высокие требования в плане быстродействия, памяти, и т.п. - в этом случае, возможно, даже прийдется вручную работать через DataReader, оптимизировать запросы до мелочей и так далее, но посетителям форума до таких приложений очень далеко, поэтмоу это не стоит учитывать.

Я работаю преимущественно с ОRACLE или FireBird и только через DataReader. Оптимизация динамических параметрических запросов основная проблема и трассировать программу приходится часто. Так вот по опыту, грамотно написанная обработка незначительна по отношению к обработке запроса ядром.

Ответить

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



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #20 Добавлено: 14.11.08 19:29
Oracle и FireBird это не лучшие помошники .NET-программиста

Ответить

Номер ответа: 21
Автор ответа:
 Сергей



ICQ: 558230345 

Вопросов: 7
Ответов: 91
 Профиль | | #21 Добавлено: 14.11.08 19:53
я бы поспорил на эту тему....Да.Это не Microsoft, но есть очень неплохие средства доступа.

Ответить

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



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #22 Добавлено: 15.11.08 00:29
Сергей пишет:
я бы поспорил на эту тему....

А я бы не спорил на эту тему :)

Ответить

Номер ответа: 23
Автор ответа:
 Алексей



black  admin

ICQ: 261779681 

Вопросов: 87
Ответов: 633
 Web-сайт: aleksey.nemiro.ru
 Профиль | | #23
Добавлено: 15.11.08 03:42
Steel Brand:
Переход с 2.0 на более новые рантаймы ограничивается лишь тем, что приконвертации Visual Studio изменяет версии в .sln-файлах, и обновляет версии в конфигурационных файлах.

а лицензировать гуеву кучу компов после каждого выхода новых фишек по твоему экономически выгодно, особенно в случае с мелкософтом.
Разницу в FW я прекрасно знаю, это часть моей работы :)

Откуда там вдруг появляются "новые баги с новым ПО" мне неведомо, впрочем человек способен обхитрить даже самую совершенную технологическую систему, заставив ее глючить.

под ПО - я имел ввиду разрабатываемые продукты, а не средства разработки. Например, компания разрабатывает и поддерживает навороченную базу данных сотрудников, написанную под FW 2.x, экономической выгоды переписывать ее под FW 3.x и тратить бабло на дообучение персонала и лицензирование новых средств разработки - нет, особенно когда все и так нормально работает.

Ну каждый программист зарабатывает свой хлеб как может.

Да, точно про фрилансеров я совсем забыл, хотя как показывается практика использовать такую рабочую силу тоже не всегда выгодно, особенно поштучно :)

Логики здесь ровным счетом 0, потому что нет практически ни какой информации о том что там будет и насколько оно поможет работе.

Логика вполне логична, выгодней купить дом уже в построеном и развитом городе, а не в том, что есть сейчас. Примерно через пару лет после выхода FW 4, когда все внедряемые фишки более ли менее приживутся, можно будет на них переползать в промышленных масштабах. Это, типа, прогноз.

Ответить

Номер ответа: 24
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #24 Добавлено: 15.11.08 14:25
Вставлю и я свои 5 копеек..
Лех, Steel Brand прав.. Мне как то(давно) довелось читать статью, в которой MS рекомендует отказаться от использования IIF, ввиду кривой реализации этой ф-и, и приводящей к StackOverflow в каких то ситуациях.. С тех пор лично я тоже забросил эту функцию..

Ответить

Номер ответа: 25
Автор ответа:
 Алексей



black  admin

ICQ: 261779681 

Вопросов: 87
Ответов: 633
 Web-сайт: aleksey.nemiro.ru
 Профиль | | #25
Добавлено: 15.11.08 15:26
Лех, Steel Brand прав.. Мне как то(давно) довелось читать статью, в которой MS рекомендует отказаться от использования IIF, ввиду кривой реализации этой ф-и, и приводящей к StackOverflow в каких то ситуациях..

никто не отрицает, что функция говно по сравнению с оператором, но в случае с DBNull ее можно использовать, и в любом другом случае, если есть уверенность в ее корректной работоспособности. Особенно в "устаревших" версиях VB, которые будут юзаться еще долго и упорно (почему, я уже писал).
С тех пор лично я тоже забросил эту функцию..

ты весь Microsoft.VisualBasic.dll забросил :)

К слову, как-то мне понадобился аналог функции IIF в шарпе, уже не помню для каких целей. Пришлось писать на две строчки кода больше, единственное исключение, все было явно типизировано :)

Ответить

Номер ответа: 26
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #26 Добавлено: 15.11.08 17:10
ты весь Microsoft.VisualBasic.dll забросил

жизнь заставила..
если есть уверенность в ее корректной работоспособности

в том то и фишка, что уверенности нет, если даже MS рекомендует отказаться от нее, потому как результат может быть не предсказуем..
как-то мне понадобился аналог функции IIF в шарпе, уже не помню для каких целей. Пришлось писать на две строчки кода больше

А чем тебя конструкция вида (условие)?true part: false part; не устроила? Чем это не аналог и для чего пришлось еще что то писать?

Ответить

Номер ответа: 27
Автор ответа:
 Алексей



black  admin

ICQ: 261779681 

Вопросов: 87
Ответов: 633
 Web-сайт: aleksey.nemiro.ru
 Профиль | | #27
Добавлено: 15.11.08 17:22
в том то и фишка, что уверенности нет, если даже MS рекомендует отказаться от нее, потому как результат может быть не предсказуем..

в данном случае уверенность есть и поведение функции вполне предсказуемо. Да и функция, сама по себе, простейшая..

А чем тебя конструкция вида (условие)?true part: false part; не устроила? Чем это не аналог и для чего пришлось еще что то писать?

вот хз, не помню уже, понадобилось зачем-то, если вспомню напишу :)

Ответить

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



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #28 Добавлено: 15.11.08 17:49
EROS пишет:
в том то и фишка, что уверенности нет, если даже MS рекомендует отказаться от нее, потому как результат может быть не предсказуем..

Непредсказуемого результата скорее всего не будет, по крайней мере если отдавать себе отчет что это за функция.
Код ее кстати очень простой:

  1. Public Shared Function IIf(ByVal Expression As Boolean, ByVal TruePart As Object, ByVal FalsePart As Object) As Object
  2.     If Expression Then
  3.         Return TruePart
  4.     End If
  5.     Return FalsePart
  6. End Function


никаких подводных камней у этой функции нет, помимо самых очевидных.

Ответить

Номер ответа: 29
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #29 Добавлено: 15.11.08 18:02
никаких подводных камней у этой функции нет, помимо самых очевидных

при всей ее простоте она способна вызвать StackOverflow!
Непредсказуемого результата скорее всего не будет

скорее всего - понятие относительное, говорящее об отсутствии уверенности... просто будет иногда все падать .. а так конечно, юзать можно.. Вопрос в том, а надо ли тебе это? Юзать и гадать.. (упадет || не упадет), а если упадет то хз при каких условиях.. Именно поэтому и рекомендуют отказаться от нее. Но мы ведь русские, верно? А значит будем надеяться на наш отечественный авось!

Ответить

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



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #30 Добавлено: 15.11.08 19:23
EROS пишет:
при всей ее простоте она способна вызвать StackOverflow!

Александр, если это вас не затруднит, приведите пример, при котором эта функция может вызвать переполнение стека, хотя бы гипотетический

Ответить

Страница: 1 | 2 | 3 |

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



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