Все вопросы связанные с программированием. Языки программирования. Средства разработки.

.Net или старая школа? :-)

.Net
4
67%
Oldschool
2
33%
 
Всего голосов: 6

Аватара пользователя
tAZAR
Не в сети
Модератор
Модератор
Сообщения: 567
Зарегистрирован: Ср июн 23, 2004 8:13
Откуда: г.Шахты

Сообщение tAZAR »

Eraser,
Фраза была касаемо высказывания JokerR - "С++ в печь - управляемый код рулит"... Ведь он явно не только про С++... Откуда тогда взяться С или С++? :-) Это просто юмор такой...

Аватара пользователя
Hank
Не в сети
Почётный форумщик
Почётный форумщик
Сообщения: 4299
Зарегистрирован: Чт май 05, 2005 19:35
Откуда: RnD

Сообщение Hank »

tAZAR,
ну дык в каждой шутке только часть шутки :cheesy:
Люблю повеселиться, особенно пожрать,
Люблю и поработать, особенно поспать )

Аватара пользователя
tAZAR
Не в сети
Модератор
Модератор
Сообщения: 567
Зарегистрирован: Ср июн 23, 2004 8:13
Откуда: г.Шахты

Сообщение tAZAR »

Нашел Виртуальный ListView в .NET :-) Круто. в 2 строчки:

C#
...
listView1.VirtualListSize = iTotalItems;
...


private void listView1_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e)
{
string[] item = { e.ItemIndex.ToString(), strF1, strF2);
e.Item = new ListViewItem(item);

}

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

Аватара пользователя
Hank
Не в сети
Почётный форумщик
Почётный форумщик
Сообщения: 4299
Зарегистрирован: Чт май 05, 2005 19:35
Откуда: RnD

Сообщение Hank »

tAZAR,
ну вот :up: ЧТД - переходи на .net, я бы уже давно так сделал, если проекты не содержали множество вызовов не_managed API, осутствие установленного фрэймворка по-умолчанию и присутствие довольно приличного количества "низкоуровневого" кода.
очевидно в Vista'e этих недостатков не будет. :)
Люблю повеселиться, особенно пожрать,
Люблю и поработать, особенно поспать )

Аватара пользователя
tAZAR
Не в сети
Модератор
Модератор
Сообщения: 567
Зарегистрирован: Ср июн 23, 2004 8:13
Откуда: г.Шахты

Сообщение tAZAR »

Единственное, что пока еще не нравится в .NET - необходимость прикручивать к инсталлам framework x.x.
Иногда ситуации просто смешные: то, что поместится на дискету нужно будет резать на болванку из - за 28мб инсталлов фрэймворка... Хотя, сейчас это уже не суть важный показатель.
А вот скорость исполнения в настоящее время является немаловажным фактором. Все мы прекрасно знаем, какие компьютеры сейчас стоят в организациях города... Не у всех еще даже винда стоит... Слава богу, что у нас этому уделяется максимум внимания, поэтому, отдел давно забыл, что такое черепашьи бега....
Кстати, я не заметил совместимости между FW1 - FW2. Приложение, написанное в 2003 студии под ФВ1 не хотело запускаться под ФВ2. Типа, версии библиотек не те... Это начинает напоминать gtk :-) и принцип работы библиотек в Linux...(переименовываешь либу, как прога хочет - и, в большинстве случаев, все работает). Если так будет продолжаться - компьютеры конечных пользователей начнут собирать разные версии ФВ...

VinMike
Не в сети
Новичок
Новичок
Сообщения: 33
Зарегистрирован: Сб авг 23, 2003 13:37
Откуда: Шахты, Виноградов Михаил
Контактная информация:

Сообщение VinMike »

Насчет ADO могу высказать свое мнение.
Много приходилось писать на старом ADO для MS SQL, сейчас больше на ADO.NET (если C#/VB.NET естественно).
По сравнению со старым COM ADO в ADO.NET приходится писать кучу кода, если делать все по правилам с адаптерами, командами и прочим. Поэтому с самого начала сделали обертку вокруг ADO.NET, которая экономит кучу времени и позволяет получить DataTable с обновляемыми данными одной строкой.
В ADO.NET в основном есть 2 пути:
1) Работать непосредственно с таблицами базы - читать DataTables, обновлять конечно удобнее тоже через них или хранимые процедурки, редко когда удобнее SQL-инструкцию вызвать
2) Загружать необходимые даннык в DataSet, изменять, потом заливать назад в базу.
Лично я не очень люблю с DataSetами работать, но все должно зависеть от ситуации. Если обычный клиент-сервер с быстрым коннектом, то 1 вариант обычно удобнее -меньше кода для синхронизации.
Если это программа, которая работает с базой через Web-сервисы по дохлому инету, то тут байты приходится считать, трафик жать и кэшировать списки и данные в локальном датасете.

Кстати, что-то мне не приходят на почту уведомления о новых сообщениях в топике, на который я подписан. Никто не знает как настроить?

Аватара пользователя
tAZAR
Не в сети
Модератор
Модератор
Сообщения: 567
Зарегистрирован: Ср июн 23, 2004 8:13
Откуда: г.Шахты

Сообщение tAZAR »

JokerR писал(а):по сабжу, Тазар, бери C#, точканет для твоей задачи то что доктор прописал. На кодепрожект есть клёвый грид с исходниками, бери его
http://www.codeproject.com/cs/miscctrl/ ... ontrol.asp
Япона мама!!! Да чего ж этот грид так зверрррски торрмозит??? У меня на IC 2.8 от 75 до 100% загрузки процессора, когда этот контрол отображает кучу записей в "виртуальном режиме", а я пытаюсь двигаться курсором ... У него этот режим, по ходу дела, так только называется :shock: . Да, JokerR контрол действительно очень многое умеет, но я так понимаю, качество и скорость - два главных показателя, оценить второй из них цензурно не могу...

Аватара пользователя
tAZAR
Не в сети
Модератор
Модератор
Сообщения: 567
Зарегистрирован: Ср июн 23, 2004 8:13
Откуда: г.Шахты

Сообщение tAZAR »

Vinmike,
Не люблю писать БД, используя контролы... ADO позволяет мне делать с базой в принципе все, что мне нужно, и чего душа пожелает без рисования DataSource (конкретно - в VB. на С++ - ясный, CRecordset юзать желательно, если только odbc api не обернуты в свои собственные классы...) и т.д, и т.п.
насчет первого способа, если не трудно, черкни пару строчек поподробнее... Я в ADO.NET, даже если не использую адаптеры, и команды, все равно больше кода пишу, чем под ADO... А динамические наборы меня, в принципе, не сильно волнуют... MySql 3.51 их до путя не поддерживает.. Юзаю снапшоты, и "UPDATE...", что вполне устраивает в большинстве случаев.
Кстати, что-то мне не приходят на почту уведомления
з.ы. в настройках профиля включи галку "всегда сообщать мне об ответах"...и почаще просматривай е-почту... :-) проще просто проверять сразу здесь....

Аватара пользователя
tAZAR
Не в сети
Модератор
Модератор
Сообщения: 567
Зарегистрирован: Ср июн 23, 2004 8:13
Откуда: г.Шахты

Сообщение tAZAR »

Юзал С# всю неделю... Отличный язык. Действительно - RAD. Очень понравилась возможность переписывать элементы управления и окошки практически так же, как на С++. Скорость выполнения приложения порадовала. Да и с базами данных работать при помощи ADO.NET очень удобно.
Конечно, приложения, требующие длительной разработки UI гороздо проще и легче писать именно под .NET. :-) Короче - отличный язык С#.

Аватара пользователя
Hank
Не в сети
Почётный форумщик
Почётный форумщик
Сообщения: 4299
Зарегистрирован: Чт май 05, 2005 19:35
Откуда: RnD

Сообщение Hank »

tAZAR,
ну вот, а на делфи пользуются этими прелестями уже лет 10 :cheesy:
Люблю повеселиться, особенно пожрать,
Люблю и поработать, особенно поспать )

Аватара пользователя
tAZAR
Не в сети
Модератор
Модератор
Сообщения: 567
Зарегистрирован: Ср июн 23, 2004 8:13
Откуда: г.Шахты

Сообщение tAZAR »

Но отсутствие шаблонов в С# (только генерики) угнетает :-(

Аватара пользователя
tAZAR
Не в сети
Модератор
Модератор
Сообщения: 567
Зарегистрирован: Ср июн 23, 2004 8:13
Откуда: г.Шахты

Сообщение tAZAR »

Кстати - еще инфа по теме.
Выше с Eraser'ом обсуждали, как будет выглядеть С++ managed+native одновременно. Сегодня проверил. Вот кусок кода из тестовой проги с тем же самым пресловутым ListView, только для Windows Forms (FW 2.0), CLR:
#include <iostream>
#include <map>
namespace WFA{
using...
template <typename t1> t1 Summ(t1 a, t1 b){return a+b;}
...
private: System::Void listView1_RetrieveVirtualItem(System::Object^ sender, System::Windows::Forms::RetrieveVirtualItemEventArgs^ e) {
std::map<int,char*> testmap;
testmap.insert(std::make_pair<int,char*>(0,"cool"));
array<String^,1>^ cs = {"1","Имя","Фамилия"};
char * lm = (char*)malloc(160000);
free(lm);
lm = NULL;
char * ch= new char[65000];
delete ch;
Summ<int>(1,2);
e->Item = gcnew ListViewItem(cs[0]);
e->Item->SubItems->Add(cs[1]);
e->Item->SubItems->Add(cs[2]);
}
};
...
Это просто бесполезный набор кода, но здесь присутствует как native, так и managed code. Рихтер оказался прав. Не соврал человек.
С++ - действительно единственный язык, программы, написанные на котором могут совмещать в себе как managed - так и native (unmanaged) code...
C++ - могучий язык :-) и он это только что доказал. C++/CLR = Шаблоны+генерики+все возможности .NET FW2.0+ STL+BOOST!!!! Здесь есть все. С++/CLR - наш рулевой :-)

Аватара пользователя
tAZAR
Не в сети
Модератор
Модератор
Сообщения: 567
Зарегистрирован: Ср июн 23, 2004 8:13
Откуда: г.Шахты

Сообщение tAZAR »

Кстати - выше упоминался WinFx - так вот: WinFX не будет. Будет Framework 3.0. Microsoft решили не вводить путаницу в название своей платформы - и остановились на привычном всем Framework.
Конечная версия Framework, которая должна войти в Vista - Framework 3.5, в который обещают включить библиотеки, аналогичные STL, полную поддержку шаблонов (как в С++), добавить алгоритмы и еще много всего вкусного. Будем ждать :-)

Аватара пользователя
Hank
Не в сети
Почётный форумщик
Почётный форумщик
Сообщения: 4299
Зарегистрирован: Чт май 05, 2005 19:35
Откуда: RnD

Сообщение Hank »

tAZAR,
мда.. интересно ) ждемс..
Люблю повеселиться, особенно пожрать,
Люблю и поработать, особенно поспать )

Аватара пользователя
tAZAR
Не в сети
Модератор
Модератор
Сообщения: 567
Зарегистрирован: Ср июн 23, 2004 8:13
Откуда: г.Шахты

Сообщение tAZAR »

Сомневающимся, но интересующимся .NET+COM:
Framework 2.0 успешно прошел тест на работу с COM объектами! Пришлось работать с Excel как с COM сервером. Боялся, что возникнут проблемы, а все оказалось замечательно. Нужен только .NET пакет поддержки от MS Office 2003, который и поставляется вместе с ним. Точнее - для запуска приложения на компьютере пользователя достаточно только одной сборки Microsoft.Office.Interop.Excel.dll, а для разработки потребуется весь пакет. Работает быстро, обернуто там все красиво, интуитивно, в соответствии со стандартами и архитектурой.NET. В общем - очень понравилось. Я под впечатлением.

Ответить