а кто тебе сказал, что 1С популярен? Это как раз тот случай, когда другой альтернативы нет.. семейство 1С - единственная сертифицированная программа для налоговой инстпекции. Поэтому у людей просто нет выбора.. отсюда и вся "популярность". Но в одном ты прав - это реально унылое неудобное глючное говно
просто ты, как закоренелый C-шник, не приемлешь другого синтаксиса.. что бы оценить красоту и удобства вбшного синтаксиса нужна достаточно большая практика..
уверяю тебя, у меня была достаточно большая практика на VB в прошлом.. но однажды жизнь заставила писать на сишном наречии и с тех пор отношение к vb изменилось.
разумеется, моя жалкая попытка убедить vb'шников в красоте сишного синтаксиса была обречена на провал.. тем более на vb'шном форуме! я это изначально должен был предвидеть! и то, что C# - это стандарт дефакто в среде NET и 99% вакансий тоже на С# это так.. мелочи.. на это можно не обращать внимания.. Они(весь мир) просто недопонимают красоты VB!
На самом деле я не видел статистики о том сколько человек какой из .NET-языков использует. Но C# и VB .NET, думаю, в сумме занимают порядка 99% от общего количества. Какое же отношение между этими двумя языками, думаю мало кто знает, к тому же подавляющее большинство программистов свободно владеет обоими.
К тому же, давай будем предельно откровенными - C# начисто слизан с джава! Да! это ведь факт, зачем ты это отрицаешь? Поэтому многие программисты не считают преемлимым писать на C# (кроме как за деньги).
а в случае с С# - это то, о чем я говорил ранее: ...удобнее, приятнее и лаконичнее.. красивее .. + читабельность кода
А где можно увидеть шкалу удобства, приятности, лаконичности, красоты и читаемости? Скажем, согласно которой было бы понятно что лаконичность C# - 8 единиц, лаконичность VB .NET - 5 единиц? Есть? Нет такой шкалы! Потому что у каждого человека свои критерии. Поэтому тебе нужно говорить что:
С# - это то, о чем я говорил ранее: ...удобнее, приятнее и лаконичнее.. красивее .. ЛИЧНО ДЛЯ МЕНЯ Точка.
просто ты, как закоренелый VB-шник, не приемлешь другого синтаксиса.. что бы оценить красоту и удобства сишного синтаксиса нужна достаточно большая практика..
Хочу проинформировать сообщество что пан EROS начинал программировать на "джава", поэтому он так предвзято относится к языку VB!
а кто тебе сказал, что 1С популярен? Это как раз тот случай, когда другой альтернативы нет.. семейство 1С - единственная сертифицированная программа для налоговой инстпекции. Поэтому у людей просто нет выбора.. отсюда и вся "популярность". Но в одном ты прав - это реально унылое неудобное глючное говно
Успех 1С на самом деле заключается немного в другом - не в технологическом превосходстве, единственности и т.п. - это скорее следствие. Успех 1С начался с того, что 1С предлагал дистрибьюторам шикарный откат. И по этой причине у дистрибьютора был очень серьезный стимул впаривать клиентам 1С-ку вне зависимости от того что им там на самом деле нужно - 1С или Excel.
уверяю тебя, у меня была достаточно большая практика на VB в прошлом.. но однажды жизнь заставила писать на сишном наречии и с тех пор отношение к vb изменилось.
Ну это всего лишь говорит о том что ты не прошел испытание деньгами... Мне в свое время тоже пришлось за деньги писать на C# и еще чем-то, но это не помешало мне вновь вернуться к VB .NET.
Впрочем я догадываюсь о каком "сишном наречии" идет речь
На самом деле я не видел статистики о том сколько человек какой из .NET-языков использует.
не надо передергивать.. разумеется, такой статистики нет
Но C# и VB .NET, думаю, в сумме занимают порядка 99% от общего количества. Какое же отношение между этими двумя языками, думаю мало кто знает
это вполне логично, учитывая тот факт что J# не прижился..
К тому же, давай будем предельно откровенными - C# начисто слизан с джава!
тут маленькая поправочка.. ВЕСЬ NET(идеология) слизан с java! Начиная от иерархии объектов с названиями классов заканчивая сборщиком мусора устранив лишь откровенные прощёты в архитектуре.
Поэтому многие программисты не считают преемлимым писать на C# (кроме как за деньги).
откровенная глупость.. Многие программисты vb даже за язык не считают! Лишь с появлением NET vb стал приближаться по возможностям к нормальным языкам..
А где можно увидеть шкалу удобства, приятности, лаконичности, красоты и читаемости? Скажем, согласно которой было бы понятно что лаконичность C# - 8 единиц, лаконичность VB .NET - 5 единиц? Есть? Нет такой шкалы!
снова утрируешь.. пан Steel Brand не стоит в качестве аргументов приводить откровенные "цепляния" к словам... вас это не красит!
Хочу проинформировать сообщество что пан EROS начинал программировать на "джава", поэтому он так предвзято относится к языку VB!
Вовсе нет.. нет никакого предвзятого отношения к VB, я сам в свое время достаточно долго и много на нем писал, но сишный синтаксис - удобнее! И я говорю это не просто ради спора,а как человек писавший довольно много на обоих языках и сделавший свой выбор. Ты же не станешь отрицать, что 99% вакансий ищут специалистов по С# а не по VB? Это что по твоему, дань моде или непризнание VB как такового? Ответ, я думаю, очевиден! Если люди(фирмы) выбрали C# в качестве основного языка, то это о чем то говорит..
к тому же подавляющее большинство программистов свободно владеет обоими.
Понимать язык(читай синтаксис) это не тоже самое что писать на нем.. К примеру я достаточно свободно читаю код на php или delphi, perl и т.д., но это не значит что я могу достаточно свободно писать на этих наречиях.. VB приемлем только в качестве начальной ступени к чему то более продвинутому и только в качестве самообразования.. не более того. Из всех войн,что мне довелось пройти (VB vs. all world) я вынес лишь одну истину - vb реально развращает программистов! Он прощает такие вещи, которые обычному программеру на сях даже в голову не могут придти(речь идет о извращениях с типами данных, невостребованностью деструкторов, самостоятельное приведение типов и еще много чего)..
Что касается 1С.. тут даже развивать тему не хочется.. Ты видел,код написанный на 1С? Разве это не уёбище??? Такое ощущение, что это ваш, всеми любимый, VB перевели через PROMPT! фу блин... аж мурашки по коже..
Ну это всего лишь говорит о том что ты не прошел испытание деньгами... Мне в свое время тоже пришлось за деньги писать на C# и еще чем-то, но это не помешало мне вновь вернуться к VB .NET.
хм.. т.е. если разговаривать на твоем языке и используя гипотетические примеры надо привести такой пример..
Я долгое время ездил на "Запорожце", потом мне подарили "Мерседес", но я все равно вернусь на VB.. тьфу на Запорожец, потому что я выдержал испытание деньгами и не изменю своему коню???? Вы не находите это забавным?
это вполне логично, учитывая тот факт что J# не прижился..
Ну по сути .NET языков уже несколько десятков, в т.ч. несколько малоизвестных, выпускаемых Microsoft.
тут маленькая поправочка.. ВЕСЬ NET(идеология) слизан с java! Начиная от иерархии объектов с названиями классов заканчивая сборщиком мусора устранив лишь откровенные прощёты в архитектуре.
Хорошо, слизан, и что из этого следует? Я могу ответить - ничего ровным счетом. Скользкие очень у вас аргументы!
откровенная глупость.. Многие программисты vb даже за язык не считают! Лишь с появлением NET vb стал приближаться по возможностям к нормальным языкам..
EROS, фишка VB6 была в том, что какой-то бедолага с 3-го курса запускал VB6 третий раз в своей жизни и за вечер писал программу, которую не могла написать армия професиональных "насильников" за месяц ))) При этом не подозревая о таких вещах как типы, наследование, синатксис, хороший стиль, и даже о том что никто этот VB6 не считает языком программирования Да и ты сам ведь через это прошел, не нужно отрицать
снова утрируешь.. пан Steel Brand не стоит в качестве аргументов приводить откровенные "цепляния" к словам... вас это не красит!
Почему это утрирую? Вы, пан EROS, безапеляционно заявляете что якобы C# более красив. При этом забываете пояснить, что так считаете только вы, ваш кот и ваш работодатель. А у других людей совсем другие мнения по этому поводу. Кто-то например считает что Brainfuck более красив. Не нужно свое мнение навязывать обществу
Ты же не станешь отрицать, что 99% вакансий ищут специалистов по С# а не по VB? Это что по твоему, дань моде или непризнание VB как такового? Ответ, я думаю, очевиден! Если люди(фирмы) выбрали C# в качестве основного языка, то это о чем то говорит..
Нет, отрицать это я, безусловно, не буду. Но это скорее сложилось исторически. VС++ был языком промышленного уровня, и его преемником не мог стать язык, основаный на Basic, вот и все. Впрочем преобладание C# более выражено именно в СНГ. Например если посмотрите презентации известных MVP Microsoft - увидите что почти всегда примеры кода в них они приводят на VB, а это, по моему мнению, может говорить о двух вещах. Во-первых, сами эти MVP предпочитают VB .NET, по крайней мере в тех местах где работодатель не принаждает использовать C#. Во-вторых, MVP предполагают что аудитории больше понравятся примеры на VB
VB приемлем только в качестве начальной ступени к чему то более продвинутому и только в качестве самообразования.. не более того. Из всех войн,что мне довелось пройти (VB vs. all world) я вынес лишь одну истину - vb реально развращает программистов! Он прощает такие вещи, которые обычному программеру на сях даже в голову не могут придти(речь идет о извращениях с типами данных, невостребованностью деструкторов, самостоятельное приведение типов и еще много чего)..
EROS, ну давайте все-таки будем честными? VB .NET и C# практически идентичны с технической точки зрения. Те "вольности", о которых вы говорите, которые позволяет VB .NET на самом деле можно (и нужно) заблокировать директивами. Вот и все.
А теперь я говорю на самом деле очень интересную информацию!
C# сам все больше и больше смещается в сторону динамических языков!
Во-первых, в C# уже можно в некоторых случаях не указывать тип переменной
var Message = Console.ReadLine();
Во-вторых, в C# появились анонимные делегаты и типы.
В третьих, в C# следующей версии будет поддерживаться динамическая типизация! Т.е. можно будет работать с объектами точно также как в VB .NET с опцией Option Strict Off. И вызовы будут происходить уже в рантайме через Reflection.
Если интересно, почитайте документы о новой версии C#, будете очень удивлены.
А теперь ответьте мне на вопрос - с какой, по вашему, целью Microsoft вводит в язык C# особенности, которые были еще в Visual Basic 3.0? Можете ответить на этот вопрос?
EROS, фишка VB6 была в том, что какой-то бедолага с 3-го курса запускал VB6 третий раз в своей жизни и за вечер писал программу, которую не могла написать армия професиональных "насильников" за месяц ))) При этом не подозревая о таких вещах как типы, наследование, синатксис, хороший стиль, и даже о том что никто этот VB6 не считает языком программирования
ты о таком коде?
Dim a As Single
Dim b As Single
Dim c As Single
a = Convert.ToString("1,2898"
b = Convert.ToString("1,2891"
c = a - b
MsgBox(c)
вот яркий пример кода твоего студента..
ты ЭТО называешь фишкой VB???? это самая большая беда VB!! И самое страшное то, что компилятор это молча схавал... По твоему это нормально?
бедолага с 3-го курса запускал VB6 третий раз в своей жизни и за вечер писал программу, которую не могла написать армия професиональных "насильников" за месяц
Очередная чушь и бред воспаленного мозга захламленного VB... Весь поток этих студентов не в состоянии не то, что написать ,а даже осознать код который напишет один профессиональный сишник.. А если и родит какого то выкидыша недоделанного,то что это будет программа? похожая над приведенный выше пример? И кому она такая нарядная нах нужна? Так что пан Steel Brand, не надо искать прелести там, где их нету.. И пожалуйста, будьте реалистом и не вводите людей в заблуждение относительно крутости VB. Люди должны знать правду: VB - это учебный язык.. и если они не стремятся становится в дальнейшем программистами, то VB им хватит.. если же они хотят работать по специальности то должны забыть о vb, и как можно скорее переходить на "промышленные" языки.
з.ы. и на этом предлагаю закончить нашу никчемную дискуссию..
строгая типизация и ниипет. если программист не знает, чего хочет, это не должен додумывать компилятор.
кстати в C++09 будет новое ключевое слово auto. типа для удобства работы с итераторами.
auto iter = clients_vector.begin();
Вот на такое я еще согласен, потому как заебно постоянно писать vector<ClientPtr>::iterator iter, в остальных местах программист обязан понимать, с чем он работает. я вот помню када слазил с вб6 на c++ было неприятно, что нет variant, думал как так. а потом втянулся так, что вариант видеть не могу в коде васика. языки без типизации типа пхп ваще не люблю, банально не могу на них программировать, ибо не могу работать со сферическими конями в вакууме, которые сами перепождаются то в звезды, то в блох, которых заипешься искать.
вот яркий пример кода твоего студента..
ты ЭТО называешь фишкой VB???? это самая большая беда VB!! И самое страшное то, что компилятор это молча схавал...
Это клинический случай. И он лечится установкой двух свойств в настройках Visual Studio - да, я не спорю, было бы лучше если бы эти опции были включены по умолчанию, но, как сказал пан Эпплман, спасибо хоть за то что эти опции есть!
Очередная чушь и бред воспаленного мозга захламленного VB... Весь поток этих студентов не в состоянии не то, что написать ,а даже осознать код который напишет один профессиональный сишник.. А если и родит какого то выкидыша недоделанного,то что это будет программа? похожая над приведенный выше пример? И кому она такая нарядная нах нужна?
Понимаешь, EROS, у программистов есть проблема, очень серьезная.
Программист, который перечитал 5 книг по архитектуре, совершенству кода, прекрасно знает С++ и ассемблер, и может маркерами изрисовать всю стену ВУЗовской аудитории чтоб показать как работает база данных, НЕ БУДЕТ писать программу из 50 строк!!! Не будет и все. Даже в тех случаях когда нужно 30 строк.
И пожалуйста, будьте реалистом и не вводите людей в заблуждение относительно крутости VB. Люди должны знать правду: VB - это учебный язык.. и если они не стремятся становится в дальнейшем программистами, то VB им хватит.. если же они хотят работать по специальности то должны забыть о vb, и как можно скорее переходить на "промышленные" языки.
Пан EROS, давайте будем до конца откровенны!
Различия между этими двумя языками МИНИМАЛЬНЫ. На данном этапе они заключаются в следующем:
В C# можно писать "unsafe" код
В C# несколько шире возможности использования анонимных делегатов, и проще их синтаксис
В C# несколько шире возможности реализации интерфейсов (я имею и виду с точки зрения ООП)
В VB .NET можно отключить типизацию, что в некоторых случаях дает дополнительные удобства (простейший пример - при работе с элементом Web Browser нужно получить доступ к HTML DOM - и при нет необходимости подключать жуткую майкрософтовскую библитоеку с интерфейсами), причем отключить типизацию можно только для нужного файла, в остальных оставив все как надо.
В VB .NET удобнее работать с массивами (проще инициализировать, а также проще изменять размер массива, сохраняя в нем данные)
В VB .NET насколько я помню можно делать несколько индексных свойств, а в C# - не более одного, хотя тут могу ошибаться.
В VB .NET проще работать с Windows Forms (там создаются глобальные экземпляры форм, что позволяет избавиться от гемороя, где он не нужен).
В VB .NET проще делать декларации вызовов Win32API-функций
Может я еще какие-то мелкие отличия пропустил, но они несущественны.
В оснтальном возможности этих языков полностью идентичны, и нет никаких совершенно оснований говорить о преимуществах того или иного языка.
Смешно просто читать уже про "неважность деструкторов в VB .NET" и т.п. - при чем здесь вообще это? Платформа у VB .NET и C# одна и та же, менеджер памяти тоже, и принципы управления памятью ничем ровным счетом не отличается.
Или ты думаешь, если человек не понимает важность "деструкторов" в VB .NET, то он поймет их важность в C#? Кстати что вообще за деструкторы? Насколько я помню, в .NET нет никаких деструкторов, зато есть "Финализаторы", может ты попутал с чем-то?
Ra$cal пишет:
я вот помню када слазил с вб6 на c++ было неприятно, что нет variant, думал как так. а потом втянулся так, что вариант видеть не могу в коде васика. языки без типизации типа пхп ваще не люблю, банально не могу на них программировать, ибо не могу работать со сферическими конями в вакууме, которые сами перепождаются то в звезды, то в блох, которых заипешься искать.
В VB .NET есть типизация. Только ее нужно включить Потому что по умолчанию она не включена.
Что касается Variant, такого типа уже давно нету в VB .NET. Есть Object. Впрочем я лично давненько его уже не использовал.
пан Steel Brand, не сползайте с темы.. речь шла не о различиях в языках (VB & C# сравнивать бессымсленно) речь шла о синтаксисе языка, так что проявленные вами академические знания платформы и проведенный анализ VB vs C# выглядят не более чем зарисовка и работа на публику.. брось ты эту пропаганду VB. Повторю еще раз.. специально для тебя.. VB на рынке труда НЕ ВОСТРЕБОВАН!!! и точка! больше тут разговаривать не о чем!
Object это другое. По крайней мере в цивильных языках типа джавы. Да, там есть метод toString, но нету toInt, toDate и прочее. Программист должен все реализовать сам. Мало того сам toString программист так же может реализовать сам. Это не variant переменная. с тем же успехом можно создать класс class Blabla{String toStr(); Date toDate; MyAnotherDummyClass toDummy();...}, и сказать, что он variant...
На счет типизации. Я могу понять отсутствии жеской типизации в скриптовых языках, в пхп оно еще понятно, джаваскрипт, но в языках, которые используются для написания программ для системы - увольте. А опция, дефолтная на отключенной типизации достаточно много говорит о целевой аудитории языка и его назначении ВБНЕТ я бы счел как костыли для переходящих с вб в C#. Понять реальные вещи ООП, ну и специфичные для дотнета делегаты и прочую мишуру, чего не было в vb6.
А ваще мне не нравится .Net можете пинаца, я лучше буду юзать C++\boost\stl\Qt тру кроссплатформа с минимумом гемора
Ну дался вам этот синтаксис? Может кому-то удобнее будет писать на каком-то BrainFuck .NET, и он будет восхвалять его синтаксис.
Тут как раз вы сходите с темы - опять же в русло "мне нравится/не нравится синтаксис)
еще раз.. специально для тебя.. VB на рынке труда НЕ ВОСТРЕБОВАН!!! и точка! больше тут разговаривать не о чем!
Ну это как раз не говорит ровынм счетом ни о чем. Потмоу что вы анализируете только рынок СНГ. А здесь, как я уже показывал пример с 1С, технические характеристики практически не играют никакой роли - все зависит от человеческого фактора.
Ну вот например компания А пишет на C#, и имеет 5% рынка. А компания B пишет на VB .NET и имеет 80% рынка. И не потому что в VB .NET лучше или хуже C#, не потому что где-то специалисты хуже или лушче. А, например, потому что жена гендиректора компании В сидит в государственном комитете.