Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 481 • Страница 20 из 25<  1 ... 17  18  19  20  21  22  23 ... 25  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 18.11.2002
Откуда: не вернуться
Phazeus писал(а):
VB.NET и C# - полные аналоги, отличаются только синтаксической оболочкой. Драки быть не может, дело лишь во вкусе и в удобности.

Во всех холиварах так, по этому драка будет... (я вообще за cpp)

Кстати можно нубский вопрос, а где найти (на халяву, т.е в интернете) почитать про то что C# может и как он это делает ?

В смысле в программировании я не первый год по этому разобраться с основами могу, но вот смущает что всё что я за данный час прочитал рассматривает простые примеры типа
Код:
using System;

class MainApp
{
   public static void Main()
   {
      Console.WriteLine("У нас большие яйцы, потому что мы не зайцы.");
   }
}

И нигде не написано именно подробно что где и как за что отвечает.

_________________
Летели гуси-лебеди, а им навстречу - воробьи-пингвины и соловьи-страусы...



Партнер
 

Advanced member
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
Цитата:
VB.NET и C# - полные аналоги, отличаются только синтаксической оболочкой.

С точки зрения скомпилированного IL кода - да. Но это относится ко всем .Net языкам. С таким же успехом с точки зрения обычного ассемблера - все языки однояйцевые братья (хотя по характерным конструкциям достаточно легко распознать программную среду, сгенерировавшую код). Вот выразительные средства конкретного языка уже существенно разнятся и на этом уровне никакого равенства быть не может.
Кстати, ведущий разработчик С# у MS - создатель TurboPascal и в прошлом - ведущий разработчик Borland Delphi и первой внятной реализации "клиент-сервер". (А если вспомнить, что говорил про С++ Н.Вирт... :) )

virus писал(а):
а где найти (на халяву, т.е в интернете) почитать про то что C# может и как он это делает ?

Берешь рефлектор или илдасм и смотришь скомпиленный код. Или вот здесь все написано:
http://www.codeguru.com/Csharp/.NET/net ... .php/c4635
Как работает JIT - компилятор - смотри http://en.wikipedia.org/wiki/Just-in-time_compilation , там куча ссылок должна быть.


 

За большую практику на .NET я пришел к полной уверенности, что лучшая оболочка для него - это VB.NET. У него самый лучший прекомпиллятор (на то есть основания), конечный же экзешник не отличается, на какой бы Вы оболочке ни писали...


 

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
Phazeus писал(а):
За большую практику на .NET я пришел к полной уверенности, что лучшая оболочка для него - это VB.NET.


я, хоть и не имею обширной практики в дотнете, но писать приходилось под него. Так вот, в аспекте работы с MS Office VB.NET гораздо более предпочтителен. Я писал на C#, при этом в MSDN видел, что например вызов одной и той же функции в C# в 3-4 раза длиннее чем в VB, а то и еще больше. Да и еще приходилось громоздить кучу вложенных функций. Короче код получился громоздкий и запутанный, на VB был бы короче и внятнее.

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Advanced member
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
Phazeus Lord_of_Darkness and to all are interesting in

Замечания типа "я пришел к полной уверенности, что лучшая оболочка для него - это ..." всего лишь частное мнение конкретного человека и не может служить ни рекомендацией, ни являться оценкой, ибо есть голословие.
Если интересно, то вот мои личные мотивы, по которым я НЕ БУДУ использовать VB.Net (который, безусловно, хорош и широко используется и будет использоваться).

1. Мне не нравится : синтаксис VB (еле удержался от эпитета), его нечувствительность к регистру в именах переменных и методов, явный кастинг всего и вся, запутывание (по крайней мере приучивание) пользователя к неаккуратной работе с ссылочными типами данных и параметрами, передаваемыми по значению; типизация данных, методов и свойств такая, что не позволяет с первого взгляда однозначно понять, что имеется в виду.
Кому-то, особенно тем, кто не программировал (а не только пробовал) на других языках, всего этого не понять и для них VB будет верхом совершенства. Но объяснить разницу между Nullable type и Nothing им будет тяжело. Ну еще и дальше можно продолжить, но кто интересуется, сам найдет информацию.

2. Отсутствие битовых и сдвиговых операций.
3. Контроль переполнения управляется в VB только на уровне проекта, а в C# - префиксом выражения.
4. Сравнительно легкая адаптация с многочисленного программного наследия, написанного на C++, на C# и вечный геморрой сделать это на VB.
5. Ну, и самое главное для меня - VB не работает напрямую с неуправляемым кодом. Для доступа к различным АПИ (к примеру, Win32, DX10 и т.д.) и низкоуровневому программировавнию, этот язык (без серьезных ухищрений) вообще не пригоден.

И повторюсь в очередной раз - не язык программирования определяет квалификацию программиста :)


 

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
zauropod
я VB тоже не использую и использовать не буду. Но платформа .NET позволяет выполнять части одного проекта на разных языках, поэтому некоторые задачи целесообразно решать на VB.NET, например, чем городить огород в C#.

1. Согласен, синтаксис мне тоже не нравится, насчет регистра, не вижу в этом ничего страшного. Я много кодил на Delphi (Object Pascal тоже нечувстыителен к регистру) и на C++, и не скажу что чувствительность/нечувствительность к регистру создает какието проблемы при кодинге, просто нужно писать аккуратно и все.

2. согласен
3. согласен
4. согласен, с оговорками. Не всегда легко перенести что-то с C++ неуправляемого кода под .NET, разве что вставлять куски неуправляемого...
5. согласен

PS вообще я не ругал C# и не хвалил VB, наоборот C# мне нравится гораздо больше. Просто в аспекте работы с приложениями MS Office удобнее VB.NET, т.к. банально меньше писать надо.

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Ох, не согласен :) Учите матчасть :) C# ничего более продвинутого по возможностям не предоставляет :) Это все есть и в VB.NET и еще сверх того :) Ну блин, я же кожу на нем :) Изучили бы сначала VB получше (что мне и пришлось сделать, потому что достали вспомогательные процедуры и переменные). А ваще это дело вкуса :)
Добавлено спустя 3 минуты, 12 секунд
Кстати, уважаемые господа, помогите лучше с .dll разобраться. Как сделать плагин для программы на .NET, тоесть чтобы класс формы был в .dll и потом его можно было программно подключать :) Спасибо.


 

Добрый день пишу прогу(на C#) которая должна коннектится к серверу логиниться
слать команды на этот сервер и принимать распечатки от него
но вот проблема чето работает не совсем так как надо
даю команду конектится
присылает мне текст кусок текста и чтоб прочитать, надо ещё запрос на чтение сделать
а если много текста там кучу раз приходиться запрос делать
на делфи сразу все шлет на надо на C# сделать
вот фрагмент кода
//-------------------------------------------------
public partial class Form1 : Form
{
TcpClient client1 = new TcpClient();
NetworkStream potok1;

public Form1()
{
InitializeComponent();
}

private void button1_Click_1(object sender, EventArgs e)
{
string hostname;
int port;
hostname = "172.25.110.120";
port = 5000;
try
{

String responseData = String.Empty;

client1.Connect(hostname, port);

potok1 = client1.GetStream();
//potok1.ReadTimeout = 1000;
// client1.ReceiveTimeout=1000;

byte[] data = new byte[client1.ReceiveBufferSize];
Int32 bytes = potok1.Read(data, 0, data.Length);
responseData += System.Text.Encoding.ASCII.GetString(data, 0, bytes);
textBox1.AppendText(responseData + Environment.NewLine);
// textBox3.AppendText(bytes.ToString("X") + ",");
catch (SocketException)
{
//если не получилось то выводим сообщение
textBox1.AppendText("tukkul_vichi:)");
}


//-------------------------------------------------


 

DEWMAN, если Вам нужно сделать, чтобы программа (с формой) подключалась и принимала информацию от сервера, надо создать поток отдельный (иначе будет заморозка потока графического интерфейса). Создаете экземпляр класса, в котором реализуете подключение к серверу через TCPClient, получаете сетевой поток и читаете из него байты, получаете из них строку... Этот экземпляр класса и должен у Вас в потоке работать...
Получится клиент для сервера :)
233560855


 

Advanced member
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
Phazeus писал(а):
Учите матчасть C# ничего более продвинутого по возможностям не предоставляет Это все есть и в VB.NET и еще сверх того Ну блин, я же кожу на н

А я не "кожу" и не буду. Почему - писал выше. VB удобен тем, для кого это - первый язык (я сам лет 25 назад изучал лучший, по моему мнению, Бейсик для 8-разрядных машин - IS-Basic, полностью структурированный, и т.д. и мне очень нравились конструкции типа IF...End IF). Для большинства тех, кто кодил на плюсах, синтаксис и неконсистентность VB отбивает всякую охоту смотреть на него. Соответственно и учить его этим людям не зачем, в то время как C# предоставляет беспроблемное освоение и достаточно простую адаптацию плюсовых программ.
И я не говорил, что на VB нельзя что-то сделать, чего нельзя сделать на других языках. Я говорил, что выразительные средства этого языка, которые кажутся VB-программистам простыми и ясными, для сишников - кажутся детсадовскими конструкциями, громоздкими, смешиваюшими понятия и нечитаемыми. И лично для меня извращенный синтаксис вообще и при работе с неуправляемым кодом в частности, заморочки с реализацией интерфейсов и анонимными делегатами ставят крест на изучении VB.

Phazeus писал(а):
Как сделать плагин для программы на .NET, тоесть чтобы класс формы был в .dll и потом его можно было программно подключать

Да есть масса способов. Кстати, на VB, позднее связывание легче реализуется :) Самый очевидный - делается dll c интерфейсом подключения, статически связывается с главным приложением, и DLL - плагины подключаются через этот интерфейс. В сети примеров - на каждом углу.


 

Advanced member
Статус: Не в сети
Регистрация: 09.06.2003
Откуда: USSR
Вот наехали на VB! :)
Кому на чем удобно, тот и пишет на нем. Я видел много программеров, которые писали на таких ужасах, что VB покажется раем небесным :)
Как по мне так C# мне намного приятен чем что-то другое. Сам писал и пишу на Delphi, паралельно писал на C/C++ и теперь еще на C#. C# более прост в освоении и начинающему лучше изучать его. Почему? Мое мнение потому, что он не дает раслабится как в Delphi или VB. Это касается именно регистра переменных и функций. Синтаксис более прост.
Мне больше нравится писать
if ()
{
}
чем вместо { } писать begin end или как там у VB аналог? Плюс C# еще и в том, что сам язык это Си по своей сути где можно делать такие красивые присваивания как к примеру
b=(a>c)?1:0;
а не писать для этого целый if.
Мне было очень просто перейти на C# так как синтаксис Си я знал, хоть и не особо много программировал на C/C++. В основном я писал вспомогательные .dll, или драйвера. Оконные приложения на Си я не писал, для этого у меня был всегда Delphi.

Так что думаю спорить нет смысла. Если кто-то уже выбрал какой то язык, то пусть его и учит. Если нет и думает, то мой совет C#.


 

Member
Статус: Не в сети
Регистрация: 26.11.2006
Откуда: 33 rus
Ray Adams писал(а):
и начинающему лучше изучать его

Я вот решил заняться программированием и незнаю с чего начать, с C# или Delphi?

_________________
Advanced Effective Regular Overclocker


 

Advanced member
Статус: Не в сети
Регистрация: 09.06.2003
Откуда: USSR
AeRo Я же написал. С# :) Судьба Delphi, даже после отпочковывания от Borland, все равно остается не известной. Они до сих пор не могут выпустить 100% UNICODE версию. так что не заморачивайся и учи С#


 

Ray Adams писал(а):
рь еще на C#. C# более прост в освоении и на

Ошибся, как раз можно такие конструкции и куда более удобные, которых нету в шарпе, и для которых приходится городить дополнительные переменные и процедуры. Вобщем, не знаешь Бейсика .НЕТ, лучше промолчи. :) А регистр там меняется АВТОМАТИЧЕСКИ, так что не ндо про расслабление. Наоборот начинать надо именно с Бейсика. Намного удобнее и продуктивнее и синтаксис намного человечнее и читается просто сходу, даже не зная языка.


 

Member
Статус: Не в сети
Регистрация: 26.11.2006
Откуда: 33 rus
Ray Adams
И ещё один вопрос- большая часть программ пишется на каком языке?

_________________
Advanced Effective Regular Overclocker


 

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
AeRo писал(а):
И ещё один вопрос- большая часть программ пишется на каком языке?

под .NET? ИМХО на C#, но VB.NET тоже часто используется.

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Member
Статус: Не в сети
Регистрация: 26.11.2006
Откуда: 33 rus
Lord_of_Darkness писал(а):
ИМХО на C#

Значит этот язык более перспективен, чем другие?

_________________
Advanced Effective Regular Overclocker


 

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
AeRo писал(а):
Значит этот язык более перспективен, чем другие?

почитайте Рихтера "Программирование на платформе .NET Framework". Они все одинаково перспективны, просто какие-то из них более удобны для одних программистов, другие - для других.

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


Последний раз редактировалось Lord_of_Darkness 11.08.2007 0:54, всего редактировалось 1 раз.

 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
Цитата:
Fraimwork
это такое себе позволяет .net программист? :-D
Lord_of_Darkness писал(а):
Они все одинаково перспективны, просто какие-то из них более удобны для одних программистов, другие - для других.
Скорее компаний, просто среди американских заказчиков намного больше ориентированости на VB.NET, а поскольку у нас большенство аутсорсеров, то и то и то, перспективно.

_________________
Ку ку


 

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
Daemon поторопился. Да я и не .NET программер, так, балуюсь :D

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

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 481 • Страница 20 из 25<  1 ... 17  18  19  20  21  22  23 ... 25  >
-

Часовой пояс: UTC + 3 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  

Лаборатория














Новости

Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan