Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> C++ vs. C#, отковыряно от книг
Jaguard
сообщение 3.12.2003 - 18:37

Постоялец форума
*****

Группа: Участник
Сообщений: 616
Регистрация: 29.09.2003
Пользователь №: 105


А вообще с++ на помойку, как устаревший =). Все гоу C# изучать wink.gif
Перейти в начало страницы
 
+Цитировать сообщение
ObiVan
сообщение 4.12.2003 - 00:26

Продвинутый новичок
**

Группа: Участник
Сообщений: 86
Регистрация: 9.10.2003
Пользователь №: 368


ну ты мужик дал ... blink.gif
Перейти в начало страницы
 
+Цитировать сообщение
Dobermann
сообщение 4.12.2003 - 09:03

Частый гость
***

Группа: Участник
Сообщений: 102
Регистрация: 29.09.2003
Пользователь №: 124


Цитата(Jaguard @ Dec 3 2003, 18:37 )
А вообще с++ на помойку, как устаревший =). Все гоу C# изучать wink.gif

На самом деле маза есть...
Перейти в начало страницы
 
+Цитировать сообщение
someone
сообщение 4.12.2003 - 16:13

Unknown
****
орден III степени
Группа: Модератор
Сообщений: 405
Регистрация: 29.09.2003
Пользователь №: 74


Его имеет смысл учить только на будующее. Когда все винды ниже ХР
вымрут как вымер 95. Сейчас писать на C# не имеет особого смысла из-за
того что не на всех машинах есть поддержка .Net платформы, но сам язык весьма перспективный. Но одно удручает - он как и VB .Net выполнены ввиде виртуально машины, что существенно замедляет скорость выполнения.
Вот пример:
DX SDK 9 :
Earth Bump Demo:
VC++ - 137.1 fps
С# - 119.3 fps.

No comments.
Перейти в начало страницы
 
+Цитировать сообщение
someone
сообщение 4.12.2003 - 17:58

Unknown
****
орден III степени
Группа: Модератор
Сообщений: 405
Регистрация: 29.09.2003
Пользователь №: 74


я заметил одну закономерность - после моего поста в 90%
случаев в топике не появляется больше ни одного поста. :wub:
Перейти в начало страницы
 
+Цитировать сообщение
Jaguard
сообщение 4.12.2003 - 17:59

Постоялец форума
*****

Группа: Участник
Сообщений: 616
Регистрация: 29.09.2003
Пользователь №: 105


Цитата(someone @ Dec 4 2003, 16:13 )
Его имеет смысл учить только на
будующее. Когда все винды ниже ХР
вымрут как вымер 95. Сейчас писать на C# не имеет особого смысла из-за
того что не на всех машинах есть поддержка .Net платформы, но сам язык весьма перспективный. Но одно удручает - он как и VB .Net выполнены ввиде



Все эти винды уже и так умерли. Ну, только секретутки используют 98-е, а извращенцы - линолиум. А основная масса - w2k, XP.


Цитата
виртуально машины, что существенно замедляет скорость выполнения.
Вот пример:
DX SDK 9 :
Earth Bump Demo:
VC++ - 137.1 fps
С# -     119.3 fps.

No comments.


А в твоем примере c++ из поставки .net, или 6-й? smile.gif. В любом случае, потеря производительности в 10..15% существенна только для игр.

Что с# во много раз удобнее с++ кто-нибудь будет спорить? wink.gif

ЗЫ: Закономерность нарушена..

Сообщение отредактировано Jaguard - 4.12.2003 - 18:00
Перейти в начало страницы
 
+Цитировать сообщение
someone
сообщение 4.12.2003 - 18:02

Unknown
****
орден III степени
Группа: Модератор
Сообщений: 405
Регистрация: 29.09.2003
Пользователь №: 74


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

а Managed C++ всё равно круче Шарпы будет и производительней tongue.gif

Сообщение отредактировано someone - 4.12.2003 - 18:04
Перейти в начало страницы
 
+Цитировать сообщение
ObiVan
сообщение 4.12.2003 - 21:09

Продвинутый новичок
**

Группа: Участник
Сообщений: 86
Регистрация: 9.10.2003
Пользователь №: 368


Ну еще не факт что С# так уж разрулит,.. про яву тоже забывать не надо smile.gif)
А потом,... для системного программирования все равно С++ еще проживет долго и сто пудофф будет доминировать среди других языков.

Сообщение отредактировано ObiVan - 4.12.2003 - 21:11
Перейти в начало страницы
 
+Цитировать сообщение
FreshMeat
сообщение 5.12.2003 - 00:07
Частый гость
***

Группа: Участник
Сообщений: 239
Регистрация: 13.10.2003
Пользователь №: 412


Цитата(Jaguard @ Dec 4 2003, 17:59 )
Цитата(someone @ Dec 4 2003, 16:13 )
Его имеет смысл учить только на
будующее. Когда все винды ниже ХР
вымрут как вымер 95. Сейчас писать на C# не имеет особого смысла из-за
того что не на всех машинах есть поддержка .Net платформы, но сам язык весьма перспективный. Но одно удручает - он как и VB .Net выполнены ввиде

Все эти винды уже и так умерли. Ну, только секретутки используют 98-е, а извращенцы - линолиум. А основная масса - w2k, XP.

Перечитай внимательно, что написали. Когда все винды ниже ХР вымрут как вымер 95.
На самом деле не совсем верно. Доказательство на ]]>www.job.ru]]> - специалисты востребованы уже сейчас smile.gif Причем, что забавляет, всюду требуется опыт работы 2 года smile.gif))

Цитата
А в твоем примере c++ из поставки .net, или 6-й? smile.gif. В любом случае, потеря производительности в 10..15% существенна только для игр.

Для любой системы критичной к скорости: драйвера, СУБД, поисковики, компиляторы, виртуальные машины smile.gif и пр.
Цитата
Что с# во много раз удобнее с++ кто-нибудь будет спорить? wink.gif

Чем?
В свое время, когда появилась Ява, очень многие предсказывали, что в скором плюсЫ станут ненужными и постепенно будут замещаться. Пока не получилось smile.gif Еще один аргумент против #, это проект, в первую очередь виндовый. Конечно в ближайшее время грядет моно, уже вовсю бета тестинг идет, но в его успех, пока, верится пока с трудом.
Цитата
ЗЫ: Закономерность нарушена..

Чего?
Перейти в начало страницы
 
+Цитировать сообщение
someone
сообщение 5.12.2003 - 13:40

Unknown
****
орден III степени
Группа: Модератор
Сообщений: 405
Регистрация: 29.09.2003
Пользователь №: 74


Мнения по поводу Managed C++ будут ?
Перейти в начало страницы
 
+Цитировать сообщение
Jaguard
сообщение 5.12.2003 - 17:02

Постоялец форума
*****

Группа: Участник
Сообщений: 616
Регистрация: 29.09.2003
Пользователь №: 105


Цитата(FreshMeat @ Dec 5 2003, 00:07 )
Цитата(Jaguard @ Dec 4 2003, 17:59 )
Цитата(someone @ Dec 4 2003, 16:13 )
Его имеет смысл учить только на
будующее. Когда все винды ниже ХР
вымрут как вымер 95. Сейчас писать на C# не имеет особого смысла из-за
того что не на всех машинах есть поддержка .Net платформы, но сам язык весьма перспективный. Но одно удручает - он как и VB .Net выполнены ввиде

Все эти винды уже и так умерли. Ну, только секретутки используют 98-е, а извращенцы - линолиум. А основная масса - w2k, XP.

Перечитай внимательно, что написали. Когда все винды ниже ХР вымрут как вымер 95.
На самом деле не совсем верно. Доказательство на ]]>www.job.ru]]> - специалисты востребованы уже сейчас smile.gif Причем, что забавляет, всюду требуется опыт работы 2 года smile.gif))



А как вымер в95? Где-то ведь до сих пор его уже используют, но какие серьезные программисты на него закладываются? Доказательство - фотошоп 6 и корелдров 10 отказываются под него даже устанавливаться.

Ну а серьезные программы уже давным давно под NT разрабатывают - 3dsmax не рекомендует его пускать под мастдаем, а Maya так и вовсе работать не собирается.

Цитата
Цитата

А в твоем примере c++ из поставки .net, или 6-й? smile.gif. В любом случае, потеря производительности в 10..15% существенна только для игр.

Для любой системы критичной к скорости: драйвера, СУБД, поисковики, компиляторы, виртуальные машины smile.gif и пр.


А нефиг - пусть апгрейдятся =). Главное, что писать удобно..


Цитата
Цитата

Что с# во много раз удобнее с++ кто-нибудь будет спорить? wink.gif

Чем?

Чем с++ laugh.gif . А чем конкретно.. Ну, гемороя на свою голову гораздо меньше.
Нет кучи этих ужасных заголовочных файлов, от которых геморроя на десяток задниц, не надо использовать дурацкий и геморройный STL, не надо использовать паттерны, на которые у меня просто совершеннейшая идиосинкразия. Опять же, полная объектность дает много преимуществ..
Ну и конечно, нормально читаемые исходники. Если си был еще нормальным языком, то когда страуструп над ним надругался, работать с ним стало совершенно невозможно..

Пока все что я за неполную неделю знакомства могу сказать smile.gif. Есть, конечно, свои заморочки, но все решаемо..

Вообщем, почти так же удобно как в Дельфях, а что-то и удобнее.

Цитата
В свое время, когда появилась Ява, очень многие предсказывали, что в скором плюсЫ станут ненужными и постепенно будут замещаться. Пока не

У явы есть один недостаток - его написал не микрософт (с) =)


Цитата
получилось smile.gif Еще один аргумент против #, это проект, в первую очередь виндовый. Конечно в ближайшее время грядет моно, уже вовсю бета тестинг идет, но в его успех, пока, верится пока с трудом.


Ну, винда.. Винда она рулит =). А вообще, .net технология.. Насколько я понимаю, написал нужный фреймворк под линукс - и твоя программа работает под линукс =).
Перейти в начало страницы
 
+Цитировать сообщение
Phoenix
сообщение 5.12.2003 - 19:21

void*
******
орден IV степени
Группа: Участник
Сообщений: 1631
Регистрация: 29.09.2003
Пользователь №: 45


Тема теперь тут. Господа, уважайте правила. Пишите в тему.
Высказываю неудовольствие действиями Jaguard'а.
Перейти в начало страницы
 
+Цитировать сообщение
Колбасьев
сообщение 5.12.2003 - 19:33

Энтузиаст
****

Группа: Участник
Сообщений: 462
Регистрация: 30.09.2003
Пользователь №: 143


А вообще... Хуже С++ чем С#, лучше ли?... wacko.gif
Да все равно писать на нем будут, много!!! и уже скоро, и нас, программеров, никто не спросит, чего нам бы надо dry.gif (как впрочем и было до сих пор).

.Net вон как раскручивают, скоро все продукты будут (и уже есть) ".Net"
Так что участь этого проекта явно получше чем Win Me, отсюда под конкретную среду(технологию) надо конкретно удобный язык , тут то C# и пригодиться, как ,скажем, "максимально соответствующий идеологии .Net" laugh.gif (Microsoft так явно скажет/сказала).

Учить C# - незнаю, но знать основы - думаю очень полезно. Будущее...неизбежно applouse.gif

P.S. От книг отковыряли в момент написания :angry: , тот я был удивлен, когда последние десять сообщений от книгах ^_^ .
Перейти в начало страницы
 
+Цитировать сообщение
Колбасьев
сообщение 5.12.2003 - 19:36

Энтузиаст
****

Группа: Участник
Сообщений: 462
Регистрация: 30.09.2003
Пользователь №: 143


..о книгах увидел!

(надо так, Pardon blink.gif )
Перейти в начало страницы
 
+Цитировать сообщение
Jaguard
сообщение 5.12.2003 - 20:49

Постоялец форума
*****

Группа: Участник
Сообщений: 616
Регистрация: 29.09.2003
Пользователь №: 105


2Phoenix: То, что обсуждение какой-нибудь темы перерастает в другую - это совершенно нормальное явление, и не знаю, что тебе в этом не нравится. Если бы мы были в конференции, можно было бы сменить сабж, но тут форум, и я ограничен в средствах. Впрочем, в любом случае, "фидошники сабжи не меняют" smile.gif.

2Someone: Мнения по поводу Managed C++ нет, посколькую я не знаю что это такое smile.gif.

[QUOTE=Колбасьев]
и уже скоро, и нас, программеров, никто не спросит, чего нам бы надо (как впрочем и было до сих пор).
[QUOTE]

К счастью, я пока не профессиональный программист( и надеюсь никогда им не стать, по крайней мере в качестве подневольного на какой-нибудь фирме), и могу сам выбирать, на чем мне писать smile.gif.
Перейти в начало страницы
 
+Цитировать сообщение
someone
сообщение 5.12.2003 - 21:40

Unknown
****
орден III степени
Группа: Модератор
Сообщений: 405
Регистрация: 29.09.2003
Пользователь №: 74


Очень просто показать что такое Managed C++ на листинге:

Код
#pragma warning(disable:4100 4101)
#using<mscorlib.dll>
using namespace System;
#using <System.DLL>
#using <System.Drawing.DLL>
#using <System.Windows.Forms.DLL>
using namespace System::IO;
using namespace System::Drawing;
using namespace System::Windows::Forms;
#define null 0L
__gc class mNotepad : public Form
{
    static String* s_strAppName = S"Managed C++ Notepad";
public:
    // constructor
    mNotepad() : m_bFileOpen(false)
    {
 InitForm();  
    }
    // destructor
    virtual ~mNotepad()
    {
    }
private:
    bool OnResetModifedBuffer()
    {
 if(!(m_pTextBox->Modified)) // nothing to save
     return true;
 String* strFile = m_pFileName ? m_pFileName : S"Untitled";
 switch( MessageBox::Show(String::Concat( S"The text in the ", strFile, S" file has changed.\n\nDo you want to save the changes?"), s_strAppName, MessageBoxButtons::YesNoCancel ) )
 {
     case DialogResult::Cancel: return false;
     case DialogResult::Yes: FileMenuSave(null, null);
     case DialogResult::No: return true;
     default : return false;
 };
    };
    void HelpMenuAbout(Object * pSender, EventArgs * pArgs)
    {
 MessageBox::Show(S"Version 1.0", s_strAppName);
    }
    void FileMenuNew(Object * pSender, EventArgs * pArgs)
    {
 if( !OnResetModifedBuffer() )
     return;

 m_pTextBox->Text = S"";
 m_pTextBox->Select(0,0);
     
 m_bFileOpen = false;

 //
 // Set the application's caption  
 //
 Text = String::Concat(S"Untitled - ", s_strAppName );
 m_pTextBox->Modified = false;

    }

    void FileMenuOpen(Object * pSender, EventArgs * pArgs)
    {
 if( !OnResetModifedBuffer() )
     return;
 //
 // Create an Open File dialog box    
 //
 OpenFileDialog * pOFD = new OpenFileDialog();

 //
 // Set up filters and options
 //
 pOFD->Filter = S"Text Files (*.txt)|*.txt|All Files (*.*)|*.*";
 pOFD->DefaultExt = S"txt";

 //
 // Run the Open File dialog box
 //
 int nResult = pOFD->ShowDialog();

 //
 // Check result of dialog box after it closes
 //
 if (nResult == DialogResult::OK)
 {
     //
     // Retrieve the filename(s) entered
     //
     String* rNames[] = pOFD->FileNames;

     if (rNames->Length != 1)
     {
   MessageBox::Show( S"You can only select one file", s_strAppName );
   return;
     }

     m_pFileName = rNames[0];

     //
     // Open a File stream on that filename
     //
     m_pFileStream = new FileStream(m_pFileName,FileMode::Open, FileAccess::Read);
     StreamReader *pReader = new StreamReader(m_pFileStream);

     //
     // Retrieve length of file
     //
     if( m_pFileStream->Length > 0x100000000 )
     {
   MessageBox::Show( S"File is too big for this app!", s_strAppName );
   FileMenuNew(pSender,pArgs);
   return;
     }


     //
     // Read in ANSI characters to edit buffer
     //
     m_pTextBox->Text = pReader->ReadToEnd();
     // Reset the selection
     m_pTextBox->Select(0,0);
   
     //
     // Close the file handle
     //
     pReader->Close();
     m_pFileStream->Close();

     m_bFileOpen = true;

     //
     // Set the application's caption  
     //
     Text = String::Concat(m_pFileName, S" - ", s_strAppName );
     m_pTextBox->Modified = false;
 }
    }

    void FileMenuSave(Object *pSender, EventArgs *pArgs)
    {
 //
 // If there has been a file opened or saved
 //
 try
 {
 if (m_bFileOpen)
 {
     //
     // Open the current file again
     //
     m_pFileStream = new FileStream(m_pFileName, FileMode::Create, FileAccess::Write);

     WriteToFile();

     m_pFileStream->Close();
     m_pTextBox->Modified = false;

 }
 else
 {
     FileMenuSaveAs(pSender, pArgs);
 }
 }
 catch(Exception* pE)
 {
     MessageBox::Show(String::Concat(pE->ToString(),S"\nFile won\'t be saved!"),
   String::Concat(S"Following exception was thrown trying to save ",m_pFileName), MessageBoxButtons::OK);      
 }
    }

    void FileMenuSaveAs(Object *pSender, EventArgs *pArgs)
    {
 //
 // Create a SaveFileDialog
 //
 SaveFileDialog *pSFD = new SaveFileDialog();

 //
 // Set the options    
 //
 pSFD->FileName = m_pFileName;
 pSFD->Title = S"Save Text File";
 pSFD->Filter = S"Text Files (*.txt)|*.txt|All Files (*.*)|*.*";
 pSFD->DefaultExt = S"cpp";

 //
 // Run the dialog box  
 //
 int nResult = pSFD->ShowDialog();

 if (nResult == DialogResult::OK) {
     //
     // Retrieve the filename entered in the dialog box
     //
     m_pFileName = pSFD->FileName;

     //
     // Open a File stream with ability to create a file if needed
     //
     try {
   m_pFileStream = new FileStream(m_pFileName, FileMode::CreateNew, FileAccess::Write);
     }
     catch (FileNotFoundException *pE) {
   MessageBox::Show(S"Error: Can\'t save file!", m_pFileName);
     }

     //
     // Write the TextBoxBox contents to the file
     //
     WriteToFile();

     m_bFileOpen = true;

     //
     // Set the app's caption using the filename minus its path
     //
     Text = String::Concat(m_pFileName, S" - ", s_strAppName );
     m_pTextBox->Modified = false;
 }
    }

    void FileMenuExit(Object *pSender, EventArgs *pArgs)
    {
 //
 // Call the new file handler to invoke NewDialog
 // to ask if user wants to save current data
 //
 if( !OnResetModifedBuffer() )
     return;
 Application::Exit();
    }

    void EditMenuUndo(Object *pSender, EventArgs *pArgs)
    {
 m_pTextBox->Undo();
    };

    void EditMenuCut(Object *pSender, EventArgs *pArgs)
    {
 m_pTextBox->Cut();
    };

    void EditMenuCopy(Object *pSender, EventArgs *pArgs)
    {
 m_pTextBox->Copy();
    };

    void EditMenuPaste(Object *pSender, EventArgs *pArgs)
    {
 m_pTextBox->Paste();
    };

    void EditMenuSelectAll(Object *pSender, EventArgs *pArgs)
    {
 m_pTextBox->SelectAll();
    };

    void WriteToFile() {
 //
 // Create a Stream Writer
 //
 StreamWriter *    pWriter    = new StreamWriter(m_pFileStream);

 //
 // How many characters do we need to write?
 //
 int nLength = m_pTextBox->Text->Length;

 //
 // Write edit control contents to file
 //
 pWriter->Write(m_pTextBox->Text->ToCharArray(), 0, nLength);

 //
 // Close the stream
 //
 pWriter->Close();
    }

    void InitForm()
    {
 m_pFileMenuNew = new MenuItem(S"&New",
     new EventHandler(this, &mNotepad::FileMenuNew));
 m_pFileMenuOpen = new MenuItem(S"&Open",
     new EventHandler(this, &mNotepad::FileMenuOpen));
 m_pFileMenuSave    = new MenuItem(S"&Save",
     new EventHandler(this, &mNotepad::FileMenuSave));
 m_pFileMenuSaveAs = new MenuItem(S"Save &As",
     new EventHandler(this, &mNotepad::FileMenuSaveAs));
 m_pFileMenuExit    = new MenuItem(S"E&xit",
     new EventHandler(this, &mNotepad::FileMenuExit));

 MenuItem *rFileItems[] =
     new MenuItem *[5];

 rFileItems[0] = m_pFileMenuNew;
 rFileItems[1] = m_pFileMenuOpen;
 rFileItems[2] = m_pFileMenuSave;
 rFileItems[3] = m_pFileMenuSaveAs;
 rFileItems[4] = m_pFileMenuExit;

 m_pEditMenuUndo = new MenuItem(S"Undo\tCtrl-Z",
     new EventHandler(this, &mNotepad::EditMenuUndo));
 m_pEditMenuCut = new MenuItem(S"Cut\tCtrl-X",
     new EventHandler(this, &mNotepad::EditMenuCut));
 m_pEditMenuCopy = new MenuItem(S"&Copy\tCtrl-C",
     new EventHandler(this, &mNotepad::EditMenuCopy));
 m_pEditMenuPaste = new MenuItem(S"Paste\tCtrl-V",
     new EventHandler(this, &mNotepad::EditMenuPaste));
 m_pEditMenuSelectAll = new MenuItem(S"Select &All",
     new EventHandler(this, &mNotepad::EditMenuSelectAll));

 MenuItem *rEditItems[] =
     new MenuItem *[5];

 rEditItems[0] = m_pEditMenuUndo;
 rEditItems[1] = m_pEditMenuCut;
 rEditItems[2] = m_pEditMenuCopy;
 rEditItems[3] = m_pEditMenuPaste;
 rEditItems[4] = m_pEditMenuSelectAll;

 m_pHelpMenuAbout = new MenuItem(S"&About ...",
     new EventHandler(this, &mNotepad::HelpMenuAbout));

 MenuItem *rHelpItems[] = new MenuItem *[1];

 rHelpItems[0] = m_pHelpMenuAbout;

 m_pFileMenu = new MenuItem(S"&File", rFileItems);
 m_pEditMenu = new MenuItem(S"&Edit", rEditItems);
 m_pHelpMenu = new MenuItem(S"&Help", rHelpItems);

 MenuItem *rMainItems[] = new MenuItem *[3];

 rMainItems[0] = m_pFileMenu;
 rMainItems[1] = m_pEditMenu;
 rMainItems[2] = m_pHelpMenu;

 m_pMenu = new MainMenu(rMainItems);

 Bounds  = Rectangle(100, 100, 300, 300);
 Visible  = false;
 ClientSize    = System::Drawing::Size(400, 600);

 Menu  = m_pMenu;

 m_pTextBox = new TextBox();

 m_pTextBox->Dock = DockStyle::Fill;
 m_pTextBox->Font = new System::Drawing::Font( new FontFamily( S"Times New Roman"), 10.0f );
 m_pTextBox->Size = System::Drawing::Size(300, 600);
 m_pTextBox->TabIndex = 1;
 m_pTextBox->Multiline = true;
 m_pTextBox->ScrollBars = ScrollBars::Both;
 FileMenuNew(null, null);

 Control *rControls[] = new Control *[1];

 rControls[0] = m_pTextBox;

 this->Controls->AddRange(rControls);
    }

private:
    MainMenu * m_pMenu;
    MenuItem * m_pFileMenu;
    MenuItem * m_pFileMenuNew;
    MenuItem * m_pFileMenuOpen;
    MenuItem * m_pFileMenuSave;
    MenuItem * m_pFileMenuSaveAs;
    MenuItem * m_pFileMenuExit;
    MenuItem * m_pHelpMenu;
    MenuItem * m_pHelpMenuAbout;
    MenuItem * m_pEditMenu;
    MenuItem * m_pEditMenuUndo;
    MenuItem * m_pEditMenuCut;
    MenuItem * m_pEditMenuCopy;
    MenuItem * m_pEditMenuPaste;
    MenuItem * m_pEditMenuSelectAll;
    TextBox * m_pTextBox;

    FileStream * m_pFileStream;    // The I/O file stream    
    String * m_pFileName;  // The most recently-used file name
    bool m_bFileOpen;      // Set true after file opened
};

int main()
{
    System::Threading::Thread::CurrentThread->ApartmentState = System::Threading::ApartmentState::STA;
    Application::Run(new mNotepad());
    return 0;
}


На мой взгляд круче # и компактней хотябы не убогий вид поинтеров и реверенсов как в #,
а стандартные * &. 59.gif
Перейти в начало страницы
 
+Цитировать сообщение
Колбасьев
сообщение 5.12.2003 - 22:29

Энтузиаст
****

Группа: Участник
Сообщений: 462
Регистрация: 30.09.2003
Пользователь №: 143


2Jaguard:
Цитата(Jaguard Дата Dec 5 2003 @ 20:49 )
Цитата(Колбасьев)

и уже скоро, и нас, программеров, никто не спросит, чего нам бы надо (как впрочем и было до сих пор).

К счастью, я пока не профессиональный программист( и надеюсь никогда им не стать, по крайней мере в качестве подневольного на какой-нибудь фирме), и могу сам выбирать, на чем мне писать smile.gif.

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

Критерий использования языка - его целесообразность в конкретных условиях; pardon за ученую фразу wacko.gif . И еще, если ты пишешь программы просто так, для себя, то писать, бесспорно можно на чем угодно, если - нет, то надо обращать внимание для чего(какой Win-s,Linux и т.д.) и на чем писать. Если в C# все моменты .Net учтены (и упрошены), то писать лучше на нем. Если ты пишешь под Win95/98/NT/2000/XP то С++ вполне необходимо и достаточно.

2Someone:
хорошо объяснил, только прокручивать теперь долго sad.gif

И вообще C# и С++ немного разные вещи wink.gif и преследуют немного разные цели, и м.б. будут еще долго существовать вместе ( С ведь тоже не умер, ему учат, на нем программируют под Unix и т.д. Хотя о С+ уже никто и не вспоминает draz.gif )
Перейти в начало страницы
 
+Цитировать сообщение
FreshMeat
сообщение 6.12.2003 - 13:46
Частый гость
***

Группа: Участник
Сообщений: 239
Регистрация: 13.10.2003
Пользователь №: 412


[quote]имеет смысл учить только на будующее. Когда все винды ниже ХР вымрут как вымер 95. Сейчас писать на C# не имеет особого смысла из-за того что не на всех машинах есть поддержка .Net платформы, но сам язык весьма перспективный. Но одно удручает - он как и VB .Net выполнены ввиде[/quote]
Я говорю про то, что ты неверно понял Someone-а. Перечитай quote сверху.

[quote]А как вымер в95? Где-то ведь до сих пор его уже используют, но какие серьезные программисты на него закладываются? Доказательство - фотошоп 6 и корелдров 10 отказываются под него даже устанавливаться.[/quote]
Ежу понятно smile.gif МС 4 года назад официально объявил о прекращении поддержки 95 и год назад о кончине 98.
[quote][quote]
Для любой системы критичной к скорости: драйвера, СУБД, поисковики, компиляторы, виртуальные машины smile.gif и пр.[/quote]
А нефиг - пусть апгрейдятся =). Главное, что писать удобно..
[/quote]
Угу. Придет программер в Гугл на работу и скажет:" Ребят, последние несколько лет вы занимались чистой порнухой, ну его, этот с++, давайте все на С# накатаем. Тормозить будет, но зато писать удобно (мне) smile.gif)". Что дадут в зубы, на том и будет писать. И никуда с подводной лодки не денется... Или на другую пойдет smile.gif Кстати, на чем ты думаешь, компилер С# написан? smile.gif (Подсказка: не на шарпе smile.gif )

[quote]Чем с++  laugh.gif . А чем конкретно.. Ну, гемороя на свою голову гораздо меньше.
Нет кучи этих ужасных заголовочных файлов, от которых геморроя на десяток задниц,[/quote]
Тебе по любому потребуется механизм для включения классов из других файлов. Инклюды, имхо, не самый плохой... Откуда там гемморой?
[quote]не надо использовать дурацкий и геморройный STL,[/quote]
??? Аргументы пожалуйста.
[quote]не надо использовать паттерны, на которые у меня просто совершеннейшая идиосинкразия.[/quote]
Надо. Не бывать тебе архитектором, по крайней мере, до тех пор, пока идиосинкразия не пройдет smile.gif) Паттерны - это обобщенный подход к проектированию. И они одинаковы как на с++ так на яве и шарпе...
RTFM ]]>Гамма, Хелм, Джонсон, Влиссидес. Приемы объектно-ориентированного проектирования. Паттерны проектирования]]>
[quote]Опять же, полная объектность дает много преимуществ..[/quote]
Полная объектность... Дает много преимуществ… Сам понял, что сказал?
[quote]Ну и конечно, нормально читаемые исходники.[/quote]
Что значит нормально? Это аргумент или отсутствие опыта работы на С++? См.]]>Сaмый oтврaтительный язык прoгрaммирoвaния... ]]>
Обрати внимание на высокий рейтинг следующих пунктов:
* C++ в руках ламера
* нет плохих языков, есть плохие программисты
* Код "круутых" программеров на любом языке
[quote]Ну, винда.. Винда она рулит =). А вообще, .net технология.. Насколько я понимаю, написал нужный фреймворк под линукс - и твоя программа работает под линукс =).[/quote]
Угу. Займись завтра с утреца smile.gif)) Как скажешь, надоело – это будет половина smile.gif
А если серьезно - есть сомнения относительно успеха моно и других попыток портирования .нет на ОС отличные от виндов. МС не выгодно, чтобы под линукс была качественная и стабильная виртуальная машина .нет...
[quote]Если си был еще нормальным языком, то когда страуструп над ним надругался, работать с ним стало совершенно невозможно..[/quote]
Ладно, на это у меня уже комментариев не хватает...



Вообще языки созданы для несколько разных задач и сравнивать их в лоб некорректно. Один факт – каждый из них займет свою нишу и несомненно некоторые проекты мигрируют с С++ на C#.
Но критиковать, нет, пожалуй просто ругать, язык программирования толком в нем не разобравшись, это совсем не дело.


пс. Двадцать минут набирал мессагу, нажал предпросмотр и связь упала. [censored][censored][censored]
Перейти в начало страницы
 
+Цитировать сообщение
Jaguard
сообщение 6.12.2003 - 14:34

Постоялец форума
*****

Группа: Участник
Сообщений: 616
Регистрация: 29.09.2003
Пользователь №: 105


Нет, конечно, поддерживать старые программы еще долго придется на с++. Плюс наработки, инертность сознания, необходимость обучения - все это серьезные факторы, сдерживающие развитие с#. Задачи у них, может и разные, но мне кажется, почти все что можно написать на одном, можно писать и на другом, это довольно равные языки, не то, что например, перл или фортран.

Да, с++ несколько более низкоуровневый, и засчет этого быстрее, и более приспособлен к системным целям - драйвера на с# действительно писать было бы странно smile.gif. Но в основном они схожи.

Но драйвера, компиллеры и операционные системы - это довольно узкоспециализированные задачи, основная масса программ, таких как reget, photoshop, autocad, internet explorer, ftp server какой-нибудь, и прочая, и прочая - все это с успехом может быть написано на обоих языках. Мое мнение, что на с# это может быть написано значительно надежнее и быстрее.

Цитата
QUOTE 
Ну и конечно, нормально читаемые исходники.


Что значит нормально? Это аргумент или отсутствие опыта работы на С++?


И то и другое. Нет, я честно долго и неоднократно пытался начать нормально писать на с++, даже добился некоторых успехов в этом деле - но сколько геморроя я получил, пытаясь реализовать простейшие вещи, на которые в дельфи у меня уходило 2 клика и размышления на уровне спинного мозга..

Цитата
См.Сaмый oтврaтительный язык прoгрaммирoвaния...

В каждой шутке, как известно, доля шутки..

Цитата
Обрати внимание на высокий рейтинг следующих пунктов:
* C++ в руках ламера
* нет плохих языков, есть плохие программисты
* Код "круутых" программеров на любом языке


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

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

Цитата
Я говорю про то, что ты неверно понял Someone-а. Перечитай quote сверху.

Что именно я понял неверно? Перечитал и все равно верно не понял smile.gif.



Цитата
Полная объектность... Дает много преимуществ… Сам понял, что сказал?


Вполне. С# - язык объектный, в отличии от якобы объектно ориентированного с++. В нем даже у "примитивных" типов, тн. value-type, как int, есть методы и свойства.
Перейти в начало страницы
 
+Цитировать сообщение
FreshMeat
сообщение 6.12.2003 - 15:26
Частый гость
***

Группа: Участник
Сообщений: 239
Регистрация: 13.10.2003
Пользователь №: 412


[quote=Jaguard,Dec 6 2003, 14:34 ]Нет, конечно, поддерживать старые программы еще долго придется на с++.[/quote]
И писать многие новые тоже...
[quote]Задачи у них, может и разные, но мне кажется, почти все что можно написать на одном, можно писать и на другом, это довольно равные языки, не то, что например, перл или фортран.[/quote]
Да. Все зависит от целей, которые ставятся при разработке ПО.

[quote]Да, с++ несколько более низкоуровневый, и засчет этого быстрее, и более приспособлен к системным целям - драйвера на с# действительно писать было бы странно smile.gif. Но в основном они схожи.[/quote]
Пока не заходит речь о производительности и портируемости (хотя портируемость С++ это сказано громко, но при определенных вложениях, реально)

[quote]Но драйвера, компиллеры и операционные системы - это довольно узкоспециализированные задачи,[/quote]
бесспорно. но задач таких - море smile.gif

[quote]основная масса программ, таких как reget, photoshop, autocad, internet explorer, ftp server какой-нибудь, и прочая, и прочая - все это с успехом может быть написано на обоих языках. Мое мнение, что на с# это может быть написано значительно надежнее и быстрее.[/quote]
Почему?
Я не верю, что C# - это серебрянная пуля, которая позволит создавать софт значительно надежнее и быстрее. Он не несет в себе никакого технологического прорыва. Грубо говоря - те же самые объекты, только на виртуальной машине. Более того, уже есть один аналогичный язык, который не принес результатов, о которых идет речь.
В то же время С++ имеет один ОЧЕНЬ большой плюс. Это уже сложившийся язык, что означает: большой опыт работы в нем (наличие литературы, специализированных форумов и пр.), много уже написанных библиотек (открытых или платных, неважно), портируемость (хромую, но все-таки) и т.д..
Кроме того, пока C# - это только МС (Компилятор, среда разработки, отладчик - только от одного производителя). С++ это нечто большее.

[quote][quote]
[quote]
Ну и конечно, нормально читаемые исходники.[/quote]
Что значит нормально? Это аргумент или отсутствие опыта работы на С++?
[/quote]
И то и другое. Нет, я честно долго и неоднократно пытался начать нормально писать на с++, даже добился некоторых успехов в этом деле - но сколько геморроя я получил, пытаясь реализовать простейшие вещи, на которые в дельфи у меня уходило 2 клика и размышления на уровне спинного мозга..
[/quote]
Это, имхо, проблема не языка программирования... К тому же никто не спорит, что С++ достаточно трудный язык.

[quote]Плохой ты программист, или хороший, ты все-равно всего лишь человек. А читабельность кода, имея, безусловно, ярко выраженный персонализированный характер, имеет, все-таки, и некоторую объективную составляющую, не зависящую от конкретного стиля программиста или предпочтений и опыта его.[/quote]
Пожалуй да. Но не настолько категорично, как в твоем предыдущем посте.

[quote]Я говорю про то, что ты неверно понял Someone-а. Перечитай quote сверху.
[quote]
Что именно я понял неверно? Перечитал и все равно верно не понял smile.gif.[/quote][/quote]
Он говорил про то, что C# понадобится, когда все существующие операционки вымрут, как сейчас мертв вин95. Ты говоришь, что 95 умер (никто и не говорил, что он жив smile.gif ).

[quote][quote]Полная объектность... Дает много преимуществ… Сам понял, что сказал?[/quote]
Вполне. С# - язык объектный, в отличии от якобы объектно ориентированного с++. В нем даже у "примитивных" типов, тн. value-type, как int, есть методы и свойства.[/quote]
C++ объектно-ориентированный язык. Примитивные типы были оставлены по нескольким, важным причинам. Никаких существенных неудобств они не приносят, зато обеспечивают высокую производительность и совместимость с С. Едва ли это можно назвать недостатком smile.gif
А много преимуществ это дает? smile.gif Ты часто наследуешься от типа int? smile.gif

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

2 страниц V   1 2 >
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 28.08.2024 - 10:51