Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Самый перспективный язык программирования

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

Открыть новую тему     Написать ответ в эту тему

Самый перспективный язык программирования
 ОтветГолосаПроценты
Java60
10.56%
C#108
19.01%
Asp.net2
0.35%
C++212
37.32%
Visual Basic.net19
3.35%
Delphi96
16.90%
что то другое71
12.50%
Гости не могут голосовать, зарегистрируйтесть!Всего Голосов: 568
Larry



Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Я считаю, что самый перспективный язык программирования - Delphi. Сейчас в большинстве своем программное обеспечение создается, исходя из побуждения коммерческой выгоды. Стоит зайти на SoftKey и посмотреть, какие порой нелепые с точки зрения идеи (закрывальник окон клавишей Esc и им подобные) программы там продаютя. Пусть за небольшую цену, но все-таки продаются. Все популярные широкоиспользуемые бесплатные продукты переходят на коммерческую основу. Где коммерция, там и конкуренция. Delphi - очень простая, но в то же время мощная и гибкая среда программирования. Delphi значительно выигрывает С++ как по времени программирования интерфейса, так и по времени компилирования проектов.

----------
Never put off till tomorrow what can be put off till day after tomorrow just as well

Всего записей: 3119 | Зарегистр. 20-07-2005 | Отправлено: 11:25 21-08-2005
Kuvaldum



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inochkin

Цитата:
Он признанный авторитет и гений своего дела

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

Цитата:
Но не более. Боготворить их, имхо, не стоит

Я чту первую заповедь. Боготворить - это немножко совсем другое. Не надо в пылу полемики передергивать карты.

Цитата:
Страуструп создал инструмент

Страуструп создал концепцию, это несколько больше, чем инструмент. И концепцию, которая жива до сих пор. А насчет концепции Pascal - это к Вирту.

Цитата:
"одна голова хорошо, а две лучше"

Одна голова - хорошо, а две - уже как-то некрасиво

Всего записей: 169 | Зарегистр. 31-01-2005 | Отправлено: 14:07 21-08-2005
TheChampion

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Larry
Скажи это юниксоидам!

Всего записей: 656 | Зарегистр. 25-06-2004 | Отправлено: 14:46 21-08-2005
cainz



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 ІМНО, самій перспективній язік программирования так или иначе будет С-подобнім, собственно ето уже случилось - С стал стандартом: на нем написана виндовс, на нем написан линукс, множество программ, утилит и игр пишутся именно на С, сурсі, распространяеміе по ГПЛ лицензии, и написаніе на каком-либо другом язіке я не встречал...
 
 Ява - ето С-подобній язік, урезанній, в нем пропала такая сильная черта С как динамическое распредиление памяти - но ето жертва во имя надежности и мультиплатформенности.
 
 Пхп, перл - модификации С с уклоном на веб, то-есть с уклоном на парсинг текста...
 
 В С++ добавились классі - стало чуточку легче писать огромніе проекті большой группе разработчиков...
 
 То-есть С стал стандартом. А для каждого специфического направления, для решения опеделенного типа задач существуют его адаптированніе модификации.

Всего записей: 77 | Зарегистр. 31-05-2005 | Отправлено: 16:11 21-08-2005
fedorvk

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Самый перспективный язык программирования - Lisp
Аргументировать не буду, просто тошнит уже от воплей по поводу Delphi и Java
Метапрограммирование и только оно

Всего записей: 34 | Зарегистр. 23-10-2002 | Отправлено: 17:04 21-08-2005
sk Asgard



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
 Сразу спрошу: а сколько приложений на C# вы разработали?)  

Ни одного серьёзного. Так уж получилось, что пришлось переходить от родного и любимого мне nix программирования в win программирования. Естественно пришлось прочитать книжонку по шарпу, благо после жабы и С++ он дался без особого гимора. Честно говоря, не нравится он мне, шарп - это зло, имхо, Не хочу ни кого обидеть своим, возможно, слишком радикальным высказыванием, но, имхо, шарп - язык для домохозяек. На нём НЕ интересно программировать.
 

Цитата:
 Не могли бы вы привести пример технологии, от которой отказались ребята из MS, и которая не поддерживалась бы во всех последующих их ОС?  

Я не утрверждаю, что они от чего отрекались, просто меня искренне бесит столь частая смена всевозможных технологий, которая ведёт, имхо, не по пути совершенствования, а по пути деградации от программиста до американской домохозяйки. Также не могут не раздражать строки в некоторых книгах типа: "пришло время забыть ***, ведь теперь появилось ***! ". Неявно одна технология замещает другую, которая становится уже 'не модной' , причём повторюсь, всё совершается с чрезвычайно высокой скоростью.
 

Цитата:
Множественное наследование убрано и заменено более правильным с точки зрения проектирования подходом

У множественного наследования есть и сторонники, я в их числе. Оно бывает иногда очень полезно, поэтому его окончательное искоренение в языке возводит новые ограничения, что умаляет свободу программиста. Это, имхо, не есть good.
 

Цитата:
Я так не думаю - C# позволяет отвлечься от реализации кучи необходимых при программировании на C++ вещей и сосредоточиться на конкретном алгоритме работы программы.

У каждого свои предпочтения. Какая, собственно говоря, разница? Вы выссказали своё мнение, я выссказал своё, всё равно каждый из нас не станет менять свои убеждения.
 
 

Цитата:
Ну а про "заточенность под вынь" я вам скажу только, что эта самая вынь - наиболее распространенная на сегодняшний день ОС.

Самая распространённая - не значит самая лучшая. Знаете, есть чисто коммерческие продукты, поставленные на поток, а есть вещи содержащие в себе некую идеологию, если угодно философию. Я предпочитаю последнее.
 

Цитата:
Да и в самом деле, не скажете же, вы что куча программистов микрософта глупее одного Страуструпа, при всем моем к нему уважении.

Никто этого не говорил, глупость вообще понятие относительное. Я привёл здесь данную цитату, лишь потому, что разделяю мнение Страуструпа.
 
 
Добавлено:
Larry
Если носа не высосвывать из окошек, то дельфи ещё может что-то стоить...

Всего записей: 100 | Зарегистр. 13-01-2005 | Отправлено: 17:30 21-08-2005
Inochkin

Запрет на пост
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kuvaldum

Цитата:
Из предыдущей цитаты можно было сделать вывод, что мнение Страуструпа значит не больше, чем мнение Васи Пупкина из этого форума и меркнет перед неземным величием суммарного ума кучи программистов Микрософт.


Цитата:
Я чту первую заповедь. Боготворить - это немножко совсем другое. Не надо в пылу полемики передергивать карты.

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

Цитата:
Страуструп создал концепцию, это несколько больше, чем инструмент. И концепцию, которая жива до сих пор. А насчет концепции Pascal - это к Вирту.

О какой концепции идет речь? Если ООП, то боюсь, вы заблуждаетесь. К вашему сведению, еще до Страуструпа были созданы ООп-языки Smalltalk и Simula. Хотя, конечно, возможно, что сначала Страуструп создал концепцию, потом Кей и Нийгаард создали свои языки, а потом еще и Страуструп разработал C++) Не стану утверждать точно, поскольку просто не знаю.

Цитата:
А насчет концепции Pascal - это к Вирту.

А здесь о какой концепции идет речь? Процедурное программирование?) Боюсь, что Вирт тут тоже не первопроходец.

Цитата:
Одна голова - хорошо, а две - уже как-то некрасиво

Думаю, это утверждение несправедливо в области программирования.
 
Добавил:
Kuvaldum
Рекомендую: http://www.levenez.com/lang/history.html#06
 
sk Asgard

Цитата:
шарп - язык для домохозяек. На нём НЕ интересно программировать

Видимо, интересными вы считаете чисто технические задачи. На мой взгляд намного интереснее решать задачи алгоритмические. Впрочем о вкусах не спорят.

Цитата:
Я не утрверждаю, что они от чего отрекались, просто меня искренне бесит столь частая смена всевозможных технологий, которая ведёт, имхо, не по пути совершенствования, а по пути деградации от программиста до американской домохозяйки

Не могли бы вы в таком случае уточнить значение слова "смена"? Я всегда считал, что "смена" - это когда что-то заканчивается, а на его место приходит что-то другое. Потому и попросил привести пример технологии, разработанной Microsoft, которая "кончилась" и канула в лету.
Не думаю, что чисто механическая работа по решению однотипных технических проблем может развивать. Я уже говорил, что C# позволяет отвлечься от реализации надоедливых, но необходимых в C++ вещей, и сосредоточиться на алгоритме работы.

Цитата:
Также не могут не раздражать строки в некоторых книгах типа: "пришло время забыть ***, ведь теперь появилось ***!".

Ну, батенька. Это реклама, что ж вы хотели. Вы знаете, меня она тоже жутко бесит. Борюсь просто - я её пропускаю.

Цитата:
У множественного наследования есть и сторонники, я в их числе. Оно бывает иногда очень полезно, поэтому его окончательное искоренение в языке возводит новые ограничения, что умаляет свободу программиста. Это, имхо, не есть good

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

Цитата:
У каждого свои предпочтения. Какая, собственно говоря, разница? Вы выссказали своё мнение, я выссказал своё, всё равно каждый из нас не станет менять свои убеждения.

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

Цитата:
Самая распространённая - не значит самая лучшая. Знаете, есть чисто коммерческие продукты, поставленные на поток, а есть вещи содержащие в себе некую идеологию, если угодно философию. Я предпочитаю последнее.

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

Цитата:
Никто этого не говорил, глупость вообще понятие относительное. Я привёл здесь данную цитату, лишь потому, что разделяю мнение Страуструпа.  

Что-то я не уловил его мнения. Насколько я понял, он просто отказался его высказывать и предупредил, чтобы его не пытались переубеждать. Я не прав? Ну тогда прошу объяснить мне глубинный смысл этих слов.

Всего записей: 124 | Зарегистр. 05-08-2005 | Отправлено: 17:47 21-08-2005 | Исправлено: Inochkin, 18:35 21-08-2005
Larry



Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
sk Asgard,

Цитата:
Если носа не высосвывать из окошек, то дельфи ещё может что-то стоить...

А как же Kylix???

----------
Never put off till tomorrow what can be put off till day after tomorrow just as well

Всего записей: 3119 | Зарегистр. 20-07-2005 | Отправлено: 20:12 21-08-2005
segeich

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inochkin

Цитата:
C# позволяет отвлечься от реализации надоедливых, но необходимых в C++ вещей, и сосредоточиться на алгоритме работы

А можно увидеть пару простых примеров (код C# vs код C++), демонстрирующих это утверждение?

Всего записей: 112 | Зарегистр. 03-01-2003 | Отправлено: 20:37 21-08-2005
Inochkin

Запрет на пост
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
segeich
Будьте любезны:
Скажем, распознавание числа из textbox'а:

Код:
 
public void GetNum()
{
  int i = int.Parse(this.textbox.text);
}
 

то же самое на c++, естессно, с использованием только винапи:

Код:
 
public:
void GetNum()
{
  BOOL IsSuccess = FALSE;
  int i = ::GetDlgItemInt(hwndDlg, IDC_MYEDIT, &IsSuccess, FALSE);
}
 

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

Код:
 
public class A
{}
public class B
{}
public class C
{
  public C(object Param)
  {
    if(Param is A)MessageBox.Show("Parameter is A type");
    if(Param is B)MessageBox.Show("Parameter is B type");
  }
}
public class D
{
  public D()
  {
    C c = new C(new A);
    C c = new C(new B);
  }
}
 

В С++ то же самое пришлось бы делать ловлей исключений при приведении типов, чем мне не шибко хочется заморачиваться на ночь глядя. Впрочем, если вы знаете более изящные решения на С++, то буду благодарен)
Ну и еще чего-нить:

Код:
 
public enum E
{
  a1 = 0x01,
  a2 = 0x02,
  a3 = 0x03
}
public class A
{
  ComboBox CB = new ComboBox();
  foreach(string s in Enum.GetNames(typeof(E)))CB.Items.Add(s);
}
 

Если честно, то я не знаю, как на C++ без .NET можно провернуть такую же штуку. Если кто-нить в курсе, подскажите. Буду благодарен)
Ну и банальных примеров с автоматическим распределением памяти приводить не буду.

Всего записей: 124 | Зарегистр. 05-08-2005 | Отправлено: 22:34 21-08-2005
simplexe

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
грите шарп это просто?
а вот например обращение к сдрому, чтение геометрии, кроме конечно вми и апи, есть примеры?

Всего записей: 6 | Зарегистр. 21-08-2005 | Отправлено: 23:11 21-08-2005
oSLikus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
simplexe, для системных вещей можно пользоваться DllExport'ом: использование функций API из C#. Причём всё managed
 
segeich
C# отлавливает кучу багов в compile-time, а то и в design-time. Начиная от преобразования типов, заканчивая Exception'ами разными.
 
C# для домохозяек?
 
Позвольте не согласиться. C# - это индустриальный язык. Если бы не было потребности в нём (ну, быть может не в нём самом, а в технологии), то он не завоевал бы такую популярность.

Всего записей: 82 | Зарегистр. 14-12-2004 | Отправлено: 00:32 22-08-2005
WiseAlex



Софтовых дел М...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inochkin

Цитата:
    if(Param is A)MessageBox.Show("Parameter is A type");
    if(Param is B)MessageBox.Show("Parameter is B type");  


Цитата:
В С++ то же самое пришлось бы делать ловлей исключений при приведении типов,

ну вообще-то rtti никто не отменял

Всего записей: 1001 | Зарегистр. 02-03-2003 | Отправлено: 12:19 22-08-2005
sk Asgard



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
 А как же Kylix???

Вы действительно думаете, что Kylix перспективен в nix??? Во-первых, его код так же громоздок, как код дельфей, во-вторых, он - если я не ошибаюсь - умеет работать только с Qt...
 
Добавлено:
Inochkin

Цитата:
Я всегда считал, что "смена" - это когда что-то заканчивается, а на его место приходит что-то другое. Потому и попросил привести пример технологии, разработанной Microsoft, которая "кончилась" и канула в лету.  

Я имею в виду смену в плане, если угодно, популярности. Так или иначе в процессе продвижения некой технологии забываются другие. Забываются не значит исчезают, но эти понятия до боли близки.

Цитата:
Только лишний раз убеждаюсь в консервативности технарей)  

Это не консервативность, это личные предпочтения и убеждения. Я не против 'реформ', я не против технических революций, но, имхо, все нововведения должны быть удачными.
 

Цитата:
Что-то я не уловил его мнения. Насколько я понял, он просто отказался его высказывать и предупредил, чтобы его не пытались переубеждать. Я не прав? Ну тогда прошу объяснить мне глубинный смысл этих слов.
 


Цитата:
 If you want to write exclusively for the .Net platform, C# isn't the worst alternative, but remember that C++ is a strongly supported - though less strongly hyped - alternative on that platform.  

Всего записей: 100 | Зарегистр. 13-01-2005 | Отправлено: 13:52 22-08-2005 | Исправлено: sk Asgard, 13:53 22-08-2005
Kuvaldum



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
WiseAlex

Цитата:
ну вообще-то rtti никто не отменял

В приведенном контексте rtti - стрельба из пушки по воробьям. Здесь ИМХО разумнее просто сделать несколько процедур через полиморфизм.

Всего записей: 169 | Зарегистр. 31-01-2005 | Отправлено: 14:08 22-08-2005
simplexe

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
simplexe, для системных вещей можно пользоваться DllExport'ом: использование функций API из C#. Причём всё managed  

 
кроме конечно вми и апи, читайте внимательней, я прекрасно понимаю, что можно воспользоваться импортом, а в последствии и вми но без них не как

Всего записей: 6 | Зарегистр. 21-08-2005 | Отправлено: 17:32 22-08-2005
segeich

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inochkin

Цитата:
то же самое на c++, естессно, с использованием только винапи

Ловко жонглируешь, однако
- C# + Windows Forms сравниваешь с голым C + WinAPI (который тоже отнюдь не С++ style). Ты уж либо в коде C# не используй Windows.Forms, либо в код С++ добавь что-нибудь вроде MFC, Qt и т.п.
- А try/catch ты не забыл в коде C# поставить? А то введет хитрый segeich буковки в окно edit'а и полетит твоя прога ко всем чертям
 
А теперь сравним:

Код:
public void GetNum()  
{
  try {
    int i = int.Parse(this.textbox.text);  
  }
  catch (Exception e) {
     // обработка ошибок
  }
}

 

Код:
// пока еще просто C + WinApi
void GetNum()  
{  
  BOOL IsSuccess = FALSE;  
  int i = ::GetDlgItemInt(hwndDlg, IDC_MYEDIT, &IsSuccess, FALSE);  
  if (!IsSuccess)
     // обработка ошибок
}  
 
// тоже самое, но на ошибки плюем (но не разваливаемся!)
void GetNum()  
{  
  int i = ::GetDlgItemInt(hwndDlg, IDC_MYEDIT, NULL, FALSE);  
}
 
// а вот и С++ (на примере MFC)
void MyDialog::GetNum()
{
  int i = GetDlgItemInt(textbox);
}
 
// MFC (вариант 2, лично мне не нравящийся)
void MyDialog::GetNum()
{
  UpdateData(FALSE);
  int i = m_Num;
}
 
// слегка переделанный кусок реальной программы
void MyDialog::GetNum()
{
  if (textbox.Validate()) {
    int i = textbox.Int();
  }
}

Ну и где тут реальные отличия (разный синтаксис не в счет)?  
 

Цитата:
В С++ то же самое пришлось бы делать ловлей исключений при приведении типов

Во-первых, см. уже упоминавшийся RTTI.
Во-вторых, правильное решение называется полиморфизм, т.е.

Код:
// C#
public C(object Param)  
{
   Param.DoSomething();
}
 
// C++
C::C(object& Param)  
{
   Param.DoSomething();
}

Опять же, в чем разница?
 

Цитата:

Код:
  foreach(string s in Enum.GetNames(typeof(E)))CB.Items.Add(s);  

Это конечно круто, но в чем реальная польза этой конструкции? Кому нужны имена a1, a2, a3 в combo-box'е? Ты выведи туда что-нибудь вроде Выбор1, Выбор2, Выбор3, если прога работает под русской виндой, и Choice1, Choice2, Choice3, если под английской, ну и т.д. Вот это реальная задача.
 

Цитата:
Ну и банальных примеров с автоматическим распределением памяти приводить не буду.

Что есть автоматическое распределение памяти? Если имеется ввиду освобождение памяти, то оно и С++ есть.  

Код:
  auto_ptr<T> p1(new T);

 
Делаю промежуточный вывод: либо утверждение

Цитата:
C# позволяет отвлечься от реализации надоедливых, но необходимых в C++ вещей, и сосредоточиться на алгоритме работы
не верно, либо ты привел плохие примеры
 
oSLikus

Цитата:
C# отлавливает кучу багов в compile-time, а то и в design-time. Начиная от преобразования типов, заканчивая Exception'ами разными.

Пример(ы) багов, отлавливаемых C# и неотлавливаемых C++ - в студию!

Всего записей: 112 | Зарегистр. 03-01-2003 | Отправлено: 03:07 23-08-2005 | Исправлено: segeich, 03:09 23-08-2005
DigiWhite



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Самым перспективным считаю C# под .NET.  Однако, как сказал DesertFox
Цитата:
 Перспективность необходимо оценивать для какого-либо конкретного направления...
, т.е. C# скороее всего будет основным под новую версию Windows.  ИМХО сыроват еще, (версию 2.0 я не видел еще).  Однако, C++ еще ой как нескоро отомрет (если отомрет вообще).  В некоторой степени на каждом языке основана какя-то технология (или наоборот). Например на основе C++ COM (DCOM), которые в освоении по моему достаточно сложны. C# как раз разраболтан под .NET. Насчет ассемблера... ну если писать только микрокоды. А так по словам людей работающих с программированием контроллеров на чистом асме уже врядли кто-то пишет. Есть же среды, которые например используют язык высокого уровня (с некоторыми расширениями), например С, и потом транслируют программу на ассемблер целевой машины.
 
В общем, ИМХО, будущее за C#, настоящее за С++.
 

Всего записей: 53 | Зарегистр. 22-08-2005 | Отправлено: 07:16 23-08-2005
TheChampion

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inochkin

Цитата:
Впрочем, если вы знаете более изящные решения на С++, то буду благодарен)  

Не только знаем, но и умеем. Если кто-то всерьез верит, что RTTI появилось сугубо в C#, то он, мягко говоря, неправ. RTTI в C++ было еще в 1995, когда C# и в проекте не было.
 
Ваш пример на C++ (найдите 10 отличий кроме синтаксических):

Код:
class object {};
 
class A : public object {};
 
class B : public object {};
 
void C(object* Param)
{
  std::cout << typeid(*Param).name() << std::endl;
}

 
Неожиданно, правда? За object ногами прошу не бить, ибо в C# все классы наследуются от object.
 
Мораль: учите C++! И только потом сравнивайте!
 
Единственная на настоящий момент проблема C++ --- отсутствие стандартизации на двоичном уровне. Короче говоря, RTTI у каждого производителя свой. Ну еще и процесс компиляции класса особенно при множественном наследовании. Отсюда все трудности с компоновкой приложений DirectX на компиляторах покойного ныне Borland'а. Обо всем этом --- Д. Бокс, Основы COM. Что, впрочем, неудивительно --- платформ и производителей C++ много больше одного.

Всего записей: 656 | Зарегистр. 25-06-2004 | Отправлено: 08:32 23-08-2005
DigiWhite



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
To: segeich...  

Цитата:
 Что есть автоматическое распределение памяти? Если имеется ввиду освобождение памяти, то оно и С++ есть.  
 
Код:
  auto_ptr<T> p1(new T);
 

 
... Это ИМХО несколько не то...  Сборщик мусора в C# - это его неотъемлимая часть.  В С++ же, такого нету в принципе. Все только ручками... "new" & "delete". Использование шаблонов - это тема не для новичков. Auto_ptr - это использование либо самописного шаблона либо шаблона из STL или аналогичной библиотеки типов. Уж новички шаблонами точно не скоро начинают пользоваться.  Конечно использование auto_ptr в С++ одно из решений за контролем освобождения памяти, но не очень удобно то получается. В COM дык вообще замучаешься с вызовом AddRef и Release, а если еще где-то лишний раз сделаешь вызов AddRef, то начинаются непростые поиски того, почему объект не был уничтожен. C# лишен таких недостатков благодря сборщику мусора. Можно и в С++ реализовать сборщик мусора, но ИМХО, это достаточно не простая задача.

Всего записей: 53 | Зарегистр. 22-08-2005 | Отправлено: 08:50 23-08-2005
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Самый перспективный язык программирования


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru