C# vs. VB.NET

Windows лучше чем Linux! Чем? Ясно же написано — чем Linux!
Раздуй свой холивар сегодня, потому что завтра это может сделать уже кто-то другой!
Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: C# vs. VB.NET

Сообщение Ramzes » 15.01.2009 (Чт) 23:37

tyomitch писал(а):
Ramzes писал(а):а я думаю, Microsoft не откажется от Basic

Отказалась от Паскаля, от Фортрана, от ФоксПро и от Жавы.
Мало?

Вообщем да, Бейсиком дядя Билли лично занимался (Для "Альтаира") 8)

1Steps
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 505
Зарегистрирован: 20.12.2006 (Ср) 0:50
Откуда: New York

Re: C# vs. VB.NET

Сообщение 1Steps » 16.01.2009 (Пт) 1:24

Microsoft откажется от basic(а) только после смерти Била.
Удалена за ненадобностью.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: C# vs. VB.NET

Сообщение Ramzes » 16.01.2009 (Пт) 9:22

Пусть живет он вечно, и правит в двух царствах :farao:

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

Re: C# vs. VB.NET

Сообщение Хакер » 16.01.2009 (Пт) 22:56

У меня мнение, что Microsoft откажется от чего угодно, если это (отказаться) окажется для них выгодным.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: C# vs. VB.NET

Сообщение Ramzes » 17.01.2009 (Сб) 12:18

Уверяю тебя Хакер, так сделает не только Microsoft, а 95% всех компаний.

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

Re: C# vs. VB.NET

Сообщение Хакер » 17.01.2009 (Сб) 16:20

Не спорю.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

StimorolD3DX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 293
Зарегистрирован: 03.04.2007 (Вт) 18:19
Откуда: Kiev city

Re: C# vs. VB.NET

Сообщение StimorolD3DX » 20.01.2009 (Вт) 10:06

Весь проект выложить не могу. Вот одна из функций на VB.NET:
Код: Выделить всё
Function SaveLoadedFile(ByVal FileName As String, ByVal Data As String, Optional ByVal ShowProgress As Boolean = False) As Boolean
        Dim fl As System.IO.FileStream, fsize As Long = Len(Data) \ 3

        Try

            fl = New System.IO.FileStream(FileName, FileMode.Create, FileAccess.Write)

            Dim sTime As Long = Now.Ticks
            Dim nn As Long = 0, nm As Long = 16384   'Обновлять инф. каждые 16 кб

            For i As Long = 0 To fsize - 1
                fl.WriteByte(CByte(Mid(Data, i * 3 + 1, 3)))

                If ShowProgress Then
                    If nn + 1 = nm Then
                        nn = 0
                        lblFile.Text = (i + 1).ToString + " байт из " + fsize.ToString + " скопировано"
                        ProgressFile.Value = i * 100 / (fsize - 1)
                        Application.DoEvents()
                    Else
                        nn = nn + 1
                    End If
                End If
            Next

            ProgressFile.Value = 0
            fl.Close()
            SaveLoadedFile = True
        Catch
            SaveLoadedFile = False
        End Try
    End Function

И на C#:
Код: Выделить всё
public bool SaveLoadedFile(string FileName, string Data, bool ShowProgress)
{
   System.IO.FileStream fl;
   long fsize = Data.Length / 3;
   
   try
   {
      
      fl = new System.IO.FileStream(FileName, FileMode.Create, FileAccess.Write);
      
      long sTime = DateTime.Now.Ticks;
      long nn = 0, nm=16384; //Обновлять инф. каждые 16 кб

      for (long i = 0; i <= fsize - 1; i++)
      {
         fl.WriteByte(byte.Parse(Data.Substring((int) (i * 3), 3)));
         
         if (ShowProgress)
         {
            if (nn + 1 == nm)
            {
               nn = 0;
               lblFile.Text = (i + 1).ToString() + " байт из " + fsize.ToString() + " скопировано";
               ProgressFile.Value =  (int) (i * 100 / (fsize - 1));
               Application.DoEvents();
            }
            else
            {
               nn++;
            }
         }
      }
      
      ProgressFile.Value = 0;
      fl.Close();
      return true;
   }
   catch
   {
      return false;
   }
}

Описание, FileName - куда сохранять файл, Data данные файла в виде строки содержащие байты, типа: "030050245", без никаких разделителей.
Вариант на C# работает как я уже говорил раз в 10(если не больше) быстрее.

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: C# vs. VB.NET

Сообщение MIT » 20.01.2009 (Вт) 11:46

На счет "десятикратного" конечно не уверен, но вся суть в этом:
Код: Выделить всё
CByte(Mid(Data, i * 3 + 1, 3))
vs.
Код: Выделить всё
byte.Parse(Data.Substring((int) (i * 3), 3))
Попробуй в VB`шном коде использовать ту же конструкцию.

P.S.
StimorolD3DX писал(а):nn = nn + 1
nn+=1 рулит.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: C# vs. VB.NET

Сообщение Nord777 » 20.01.2009 (Вт) 13:51

Как правильно заметил MIT, при использовании в VB такой конструкции
Код: Выделить всё
fl.WriteByte(Byte.Parse(Data.Substring(CInt(i) * 3, 3)))
быстродействие равно.
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: C# vs. VB.NET

Сообщение MIT » 20.01.2009 (Вт) 14:27

К слову об оптимизации:
Использование типа Long для nm и nn не рационально, здесь самое оно для Short`а.
Также следует избавиться от Long`а (в пользу Intereg`а) при объявлении fsize (соответственно и i, при этом отпадет необходимость в CInt(i)), ведь я сомневаюсь, что пододным кодом ты записываешь файл больше 2х гигов.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: C# vs. VB.NET

Сообщение Williams » 20.01.2009 (Вт) 23:45

tyomitch писал(а):Да.
Я уверен, ещё несколько поколений VS -- и поддержку VB.net из него уберут совсем. Зачем им этот балласт поддерживать?
Оставят какой-нить конвертор для старых прог, и всё.


Это слух или предположение?
Тогда получается, план был в том, чтобы перевести VB6 программистов сначала на VB.NET, а затем дальше в C#?
И вы думаете, что вас оставят в живых после прочтения этого поста?

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: C# vs. VB.NET

Сообщение MIT » 20.01.2009 (Вт) 23:56

А почему бы и нет?
Если от VB6 отказались бы просто так, то VB`шный программисты оказались бы ни у дел, а так - знают .NET, тут и до C# недалеко, если припрет.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

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

Re: C# vs. VB.NET

Сообщение Mikle » 21.01.2009 (Ср) 20:21

А мне иногда кажется, что наоборот, шарп сделан для того, чтобы закостенелые плюсовики оценили одобства ЯВУ, просто слово "бейсик", ввиду своего происхождения, вызывает у большинства антипатию. А так шарп, по сравнению с VB.net, мне кажется недоделанным.
Как уже писали, Optional параметры очень помогают, замена через кучу перегрузок довольно уродлива.
Еще, (это уже "личное"), терпеть не могу зависимость от регистра символов, типа:
Device = new device;
А необходимость постоянно приводить типы? Хотя, на опыте StimorolD3DX видно, что без вынужденного приведения типов можно (по своей вине) потерять производительность, но все равно, считаю, что в ЯВУ это должно быть по крайней мере опционально.
А что выглядит информативнее, "}", или "Loop", "Next", "End Select"? Особенно когда начала конструкций не видно?
А зачем нужна необходимость расставлять ";", даже если строка кончилась, тем более, когда принцип "одна строка - один оператор" считается хорошим тоном? От этих ";" и "}" код выглядит замусоренным.
А за счет открывающих скобок, если только их не пишут сразу после оператора, добавляются лишние строки.

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: C# vs. VB.NET

Сообщение MIT » 21.01.2009 (Ср) 20:41

Ну это уже кому как нравится, мне, например понравилось объявление переменных, а вот на счет ";" довольно оправдано: в VB однострочную конструкцию приходится разбивать с помощью " _" & vbcrlf, в то время, как С-образные языки этого лишены.
На счет "}" vs. "Loop", "Next", "End Select" - категорически согласен.
Но, все же, это кто как привык, и что бы большее количество человек смогли использовать .NET и "завели" C-образный и VB-образный языки, что б, так сказать, площадь покрытия была больше.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

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

Re: C# vs. VB.NET

Сообщение Хакер » 21.01.2009 (Ср) 20:43

Мне фигурно-скобочный синтаксис нравится.

VB-style-код вообще категорически сложен для разбора, в отличие от сишного.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: C# vs. VB.NET

Сообщение Ramzes » 21.01.2009 (Ср) 21:17

+1 к хакеру, си-подобный синтаксис мне нравится больше, к тому же он довольно широко распространён :wink:

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: C# vs. VB.NET

Сообщение Debugger » 21.01.2009 (Ср) 21:31

И к Сяшному, и к VB-шному отношусь одинаково хорошо. Напрягает синтаксис Delphi. Begin и End: с одной стороны, это не короткие { }, как в C, и не звучащие Function и End Function. Да и наличие кода в пустом проекте напрягает...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: C# vs. VB.NET

Сообщение tyomitch » 21.01.2009 (Ср) 22:56

В ряде мест (.., downto, as) делфийский синтаксис весьма изящен.
Изображение

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

Re: C# vs. VB.NET

Сообщение Mikle » 22.01.2009 (Чт) 16:43

Хакер писал(а):VB-style-код вообще категорически сложен для разбора, в отличие от сишного.

Для машинного разбора?

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: C# vs. VB.NET

Сообщение Ramzes » 22.01.2009 (Чт) 17:42

Я, думаю, Хакер имел в виду, для разбора человеком, и не могу с ним не согласится :roll:

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: C# vs. VB.NET

Сообщение Debugger » 22.01.2009 (Чт) 19:25

tyomitch писал(а):В ряде мест (.., downto, as) делфийский синтаксис весьма изящен.

Может; но мне Step, который можно поставить и в 2, и -1 (и в 0 8) ) больше мил.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: C# vs. VB.NET

Сообщение Ramzes » 22.01.2009 (Чт) 20:05

а где его нельзя поставить?

Ronin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 635
Зарегистрирован: 13.02.2002 (Ср) 14:16
Откуда: Россия, Москва

Re: C# vs. VB.NET

Сообщение Ronin » 02.02.2009 (Пн) 0:24

Внесу свои пять копеек =)

Для меня между VB.NET и C# нет особой разницы. Возможности языком (почти) равны. VB синтаксис мне кажется более удобочитаемым. По сути, единственное что меня отталкивает от C# - это регистрочувствительность. Optional параметры - тоже очень помогают. Еще мне нравится насколько просто в VB работать с событиями. Насчет позднего связывания не знаю в C# можно?
Насчет ; - то мне кажется эта фишка удобная, во всяком случае она идет в плюс шарпу, а ВБ в минус идут & _
Еще мне не нравится что в ВБ нельзя использовать символ @ в строках, который сильно бы облегчил работу.
Насчет паскаля, то begin end меня никогда не бесили, честно говоря их не замечал, и меня они совершенно не бесят, как некоторых..
По поводу { и } то бывают разные случаи, когда они с + а когда в -.. В ВБ тоже часто видно в конце кучу End If, и тут ничего не скажешь о }}} =)
Я одинаково хорошо читаю оба языка и недостатка в литературе по программированию не испытываю, потому что все что написано для C# верно для VB.
Мое мнение таково: майкрософт не будет прекращать поддержку VB, со временем появится гибрид VB и C# и все перейдут на него и примут это как само собой разумеющееся. И тогда наступит нам счастье и закончится эта пустая война между C# и VB.

P.S. Даже если предположить что VB окончательно загнется, то мне кажется хватит всего лишь недели для того что-бы тупо переключится на синтаксис C# - это очень просто, нужно только привыкнуть

P.P.S. Надеюсь что в будущем гибриде не будет регистрочувствительности =)
С уважением,
Игорь Шувалов aka Ronin

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: C# vs. VB.NET

Сообщение tyomitch » 02.02.2009 (Пн) 14:10

Ronin писал(а):Мое мнение таково: майкрософт не будет прекращать поддержку VB, со временем появится гибрид VB и C# и все перейдут на него и примут это как само собой разумеющееся. И тогда наступит нам счастье и закончится эта пустая война между C# и VB.

Кому это надо?
Все новые адепты .нета начинают с C#.
На VB.нет пишут только "ментально искалеченные" прошлыми бейсиками.
Вымрем ведь, как динозавры. Даже без намеренной травли со стороны MS.

Ronin писал(а):P.S. Даже если предположить что VB окончательно загнется, то мне кажется хватит всего лишь недели для того что-бы тупо переключится на синтаксис C# - это очень просто, нужно только привыкнуть

Это как раз довод против твоего предыдущего утверждения ;-)

Ronin писал(а):P.P.S. Надеюсь что в будущем гибриде не будет регистрочувствительности =)

Лучше пусть будет опциональная, как в асме ;-)
Включать-выключать ключом компилятора. И каждый доволен.
Изображение

Ronin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 635
Зарегистрирован: 13.02.2002 (Ср) 14:16
Откуда: Россия, Москва

Re: C# vs. VB.NET

Сообщение Ronin » 04.02.2009 (Ср) 14:13

to tyomitch
И что ты предлагаешь? Ждать пока загнется VB и перейти на C# или всем дружно перейти на C# уже сейчас?. Есть еще варианты?
С уважением,
Игорь Шувалов aka Ronin

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: C# vs. VB.NET

Сообщение Joo » 23.02.2009 (Пн) 12:36

Народ ради интереса, погуглите "C# vs VB.NET" много интересных мнений почитаете и в пользу C# и в пользу VB.NET )))
ИМХО VB не загнется, и он гораздо удобнее C#!
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: C# vs. VB.NET

Сообщение MIT » 23.02.2009 (Пн) 12:44

Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: C# vs. VB.NET

Сообщение MIT » 23.02.2009 (Пн) 12:46

Про производительность: http://www.gamedev.ru/flame/forum/?id=72866
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

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

Re: C# vs. VB.NET

Сообщение Mikle » 23.03.2009 (Пн) 11:38

MIT
Там автор понаделал ошибок в коде и, похоже, не учел оптимизацию.
Сейчас портирую кое-что с vb на c# (для "ментально искалеченных" прошлыми C :) ), наткнулся на еще одно - не поддерживаются параметризированные свойства :(, вроде мелочь, а неприятно.
Сомневаюсь, что M$ собираются с помощью шарпа отучивать нас от бейсика, если бы так, шарп был бы чуточку лучше, а пока лучше бейсик, в пользу шарпа только синтаксические аргументы (для привычных к C) и непроверенные данные о быстродействии (может проверим?).

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: C# vs. VB.NET

Сообщение MIT » 23.03.2009 (Пн) 14:37

Mikle писал(а):может проверим?
Вообще я склоняюсь к мнению, что голый IL рулит. А производительность надстроек над IL`ом (коими и являются C# и VB) определяется только криворукостью, так что соревнования, имхо, абсолютно не уместны :)
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Пред.След.

Вернуться в Holy Wars@VBStreets

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

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

    TopList