Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.07.2009, 22:13   #41
Arnezami@ukr.net
Заблокирован
 
Регистрация: 09.07.2009
Сообщений: 11
По умолчанию

сейчас много игр создаётся имеено на .net и работают они нормально. Из примера: Stalker, Hallo, Hallo 2, Crisys, X3(движок на дотнет) и т.д. .net - скоро станет лидером в плане разработке ПО! Им осталось только выпустить поддержку других осей, чтобы Фрамеворк становился на все ОС - и тогда всё остальное умрёт само собой! Насщёт скорости сейчас компилятор С# проработан так, что уже во многих вещах обгоняет С++. Пошли слухи, что .net будут встраивать аппаратно в процессоры - на скорость вообще жаловаться не придется! Преимущества у него велики! Он позволяет быстро создавать приложения, технология LINQ только чего стоит, позволяющая писать запросы на чистом языке, не используя SQL, она помогает сосредоточиться не на том, как получить доступ к данным, а как качественно и быстро управлять ими. Это настолько ускоряет разработку больших проектов...

Кстати, если ещё возникают вопросы насщёт скорости - сейчас создан и улучшаться исскуственный интеллект под названием B.R.A.I.N - написан на чистом С# и работает на существенном логическом уровне! Так что за .net - будущее!
Arnezami@ukr.net вне форума Ответить с цитированием
Старый 13.07.2009, 01:52   #42
atomicxp
Форумчанин
 
Аватар для atomicxp
 
Регистрация: 01.05.2009
Сообщений: 110
Радость

Цитата:
Сообщение от pu4koff Посмотреть сообщение
1) шаг влево, шаг вправо и надо искать сторонние библиотеки или писать всё самому. Уж очень мало в комплекте с компиляторами идёт нормального кода. Или тупо хедеры для dll или ужас вроде STL, в котором с абстракциями вообще никак
Динамические библиотеки бывают разными, и dll это признак Windows, в Linux это so. Пользоваться майкрософтскими разработками для C++ просто ужасно, они как будь-то специально хотели убить этот язык подсунув кривые библиотеки. А вот кроссплатформенные библиотеки Linux гораздо лучше, именно знакомство с ними переворачивает представление об этом языке и его возможностях во всех ОС.

Цитата:
Сообщение от pu4koff Посмотреть сообщение
2) Создавался как костыль для Си и потому содержит кучу устаревших конструкций для совместимости. Уж слишком он "демократичен" в плане синтаксиса. Хотя тут я сам не могу определиться хороша эта свобода или нет. С одной стороны присваивание в условии для if - глупо и можно из-за невнимательности ошибку трудноуловимую внести, а с другой удобно писать что-то вроде: if (a = foo(5))
Как писать это уже дело каждого программиста. C++ не ограничивает его ни в чём, ни в плохом стиле, ни в хорошем, ни даже в парадигме программирования, за редким исключением, на вроде логического.

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Давно то он давно, но майкрософт за него всего пару лет назад всерьез взялось. Компы "мощнеют" не подням, а по часам, а потому вопрос производительности падает постоянно. Потому черт их знает что дальше будет.
Вот как сделают в новой винде всё через фреймворк. Закроют нафиг "железки" (проц, видяху,...) от программ и хочешь того или нет, а общайся с ними только через фреймворк. Посмотрим тогда кто будет на плюсах или делфях писать под винду. Не дай бог конечно до такого дожить. Тогда еще и ОСи относительно нормальной для меня не останется
Вопрос производительности не так потерял свою актуальность, как это хотят показать. Какая разница, грузится ваше приложение несколько секунд или несколько минут? Какая разница, обслуживает ваш сервис 10 тысяч пользователь или 50 тысяч? Да, кому-то все равно, а кому-то нет. Мне тысячу долларов выкидывать на новый компьютер, чтобы встретить разработки прошлого тысячелетия, которые тормозят, совершенно не охота, то есть компьютер то я куплю, но пользоваться буду хорошим ПО. Видеокарты и прочее пусть закрывают, ведь для программистов есть альтернатива, майкрософт им не указ.

Цитата:
Сообщение от Stilet Посмотреть сообщение
Все равно думаю что Микрососы свои продукты никогда не доведут до вменяемого состояния, пока за них этоне сделают другие...
Это не выгодно. Вот сделали они XP и она не вылетала с синими экранами смерти, а с сервис пэком вторым работает вообще хорошо. После попытались подсунуть людям недоделанную висту. А люди говорят, зачем мне платить за глючащий продукт, на котором ещё надо частично переучиваться, и не стали покупать его как ожидалось. К хорошему быстро привыкаешь, а потом приходится держать марку. И зачем это майкрософту, ведь пока он не довёл продукт до ума, он может продавать всё «новые» и «новые» разработки.

Цитата:
Сообщение от pu4koff Посмотреть сообщение
В таком случае и ява не кроссплатформенна, т.к. принцип у них одинаков
Одно дело принцип виртуальных машин, а другое дело реализация этих виртуальных машин для разных ОС. Для явы она есть, для дотнета нет, а про моно я уже говорил. Даже если я сейчас начну надеятся, что в будущем моно прокачается хоть до какого-то приемлемого уровня, это всё бесполезно, поскольку появится какая-нибудь .NET 10.5 и все усилия по изучению предыдущих версий пойдут на смарку. А с майкрософт ещё станется отменить поддержку самых первых версий, просто так, по приколу, и все приложения тоже перестанут работать.

Цитата:
Сообщение от OrdJONY Посмотреть сообщение
Вот меня поражают те люди которые кричат что МС говно, а Билли мудак, так если так, то какого вы пользуетесь виндой?
Кстати, с тех пор как ты это написал, я полностью перешёл на линукс. Теперь мои приложения не теряют в скорости и портируются под все ОС простой перекомпиляцией.
atomicxp вне форума Ответить с цитированием
Старый 13.07.2009, 01:54   #43
atomicxp
Форумчанин
 
Аватар для atomicxp
 
Регистрация: 01.05.2009
Сообщений: 110
Вопрос

Цитата:
Сообщение от Arnezami@ukr.net Посмотреть сообщение
сейчас много игр создаётся имеено на .net и работают они нормально. Из примера: Stalker, Hallo, Hallo 2, Crisys, X3(движок на дотнет)
Как интересно, а я вот играю в X3: Reunion на линуксе, и это не Wine, а нормально портированная игра. Надо будет посмотреть, что за .Net в них используется, то есть в каком количестве, как и для чего, потому что я его в этих играх не заметил.

Последний раз редактировалось atomicxp; 13.07.2009 в 02:00.
atomicxp вне форума Ответить с цитированием
Старый 13.07.2009, 08:57   #44
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от atomicxp Посмотреть сообщение
Как писать это уже дело каждого программиста. C++ не ограничивает его ни в чём, ни в плохом стиле, ни в хорошем, ни даже в парадигме программирования, за редким исключением, на вроде логического.
В С++ много подводных камней, на которые легко попасть по незнанию или невнимательности. Например, typedef не вводит новый тип, а потому будет косяк с шаблонами, перегрузкой функций,... Следовательно, нужно смотреть где каждый тип описан и что он из себя представляет, если пользуешься сторонней библиотекой какой. Например, в BOOL по логике вещей булевы данные хранятся, но надо знать, что физически это обычный int со всеми вытекающими, т.е. надо отвлекаться еще и на это. А получится ли перегрузить так функцию?
Код:
void foo(int);
void foo(BOOL);
Либо долго думать над реализацией и где какие типы лучше использовать, либо потом придется костыли вставлять.
Цитата:
Сообщение от atomicxp Посмотреть сообщение
Вопрос производительности не так потерял свою актуальность, как это хотят показать.
Сейчас это так, а что будет лет через 5-10?
Цитата:
Сообщение от atomicxp Посмотреть сообщение
Одно дело принцип виртуальных машин, а другое дело реализация этих виртуальных машин для разных ОС. Для явы она есть, для дотнета нет, а про моно я уже говорил.
Ну под устройства Windows Mobile я на яве писать не буду, там шарп и плюсы рулят. Так что не везьде ява рулит, ибо виртуальные машины тоже не очень хорошие порой. Сейчас ситуация несколько улучшается, но не замечали раньше, что игрушки для мобильников шли под отдельные модели? Для самунсунга отдельная версия, для нокиа - отдельная. Да еще и под отдельные серии телефонов сборку надо было лепить, т.к. разработчики телефонов по своему понимали как должна работать виртуальная машина и что она должна уметь делать. Некоторые это видение пересматривали от модели к модели. Так что "качество" кроссплатформенности явы - это тоже большой вопрос, который постепенно решается. Вероятно, он постепенно решится и для .NET.
Цитата:
Сообщение от atomicxp Посмотреть сообщение
Даже если я сейчас начну надеятся, что в будущем моно прокачается хоть до какого-то приемлемого уровня, это всё бесполезно, поскольку появится какая-нибудь .NET 10.5 и все усилия по изучению предыдущих версий пойдут на смарку. А с майкрософт ещё станется отменить поддержку самых первых версий, просто так, по приколу, и все приложения тоже перестанут работать.
Архитектура .NET вообще-то так построена, что новая версия фреймворка не "убивает" предыдущую, а скорее дополняет. Если написано на первой версии, а у пользователя стоит второй фреймворк, то и работать продукт будет как на первом фреймворке. Так что отмена поддержки старых версий маловероятна.
pu4koff вне форума Ответить с цитированием
Старый 13.07.2009, 09:38   #45
atomicxp
Форумчанин
 
Аватар для atomicxp
 
Регистрация: 01.05.2009
Сообщений: 110
Сообщение

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

Код:
#include <iostream>

using namespace std;

int compareFirst()
{
    double t1 = 0.1, t2 = 10;

    if (t1*t2 > 1)
        cout << "first: " << t1*t2 << " > " << 1 << endl;
    return 0;
}

int compareSecond()
{
    float t1 = 0.1, t2 = 10, t3 = t1*t2;

    if (t3 > 1)
        cout << "second: " << t3 << " > " << 1 << endl;
    return 0;
}

int main()
{
    compareFirst();
    compareSecond();

    return 0;
}
Вывод:
Код:
first: 1 > 1
Забавно да, но это все равно несерьёзно. В конце концов если проблему можно обойти, и не каким-либо извращённым способом, а вполне обычно, то можно считать, что всё нормально. У тебя в примере foo, а я вот не люблю его, предпочитаю или реальное название или как минимум func. Это лишь значит, что каждый программирует по своему. Результаты же глобального программирования многих людей ещё видны в получаемых программах, сколько их под .NET и сколько их под C++. Программисты сами разберутся, что для них лучше, если нравится .NET, то почему бы и нет.

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Архитектура .NET вообще-то так построена, что новая версия фреймворка не "убивает" предыдущую, а скорее дополняет. Если написано на первой версии, а у пользователя стоит второй фреймворк, то и работать продукт будет как на первом фреймворке. Так что отмена поддержки старых версий маловероятна.
Конкретно для 1.0 и 1.1 с переходом на 2.0, желательно иметь исходный код, и конвертором в вижуал студии перегнать. Впрочем наверное есть способы и получше, опять же приложение можно переписать под новые контролы. А представь, что я сейчас в линуксе, что мне делать? Мне доступны тысячи библиотек, когда нужно что-либо я беру какой-либо проект (или проекты), смотрю их зависимости, потом просто ставлю включение в код C++ библиотеки и всё как ни странно работает. И после перекомпиляции оно работает на windows, и не теряет скорость. И будет работать на других ОС и процессорах.

Над вопросом преодоления скользких мест тоже думал. По идее скользкие места на проверку оказываются не такими уж и скользкими. Потихоньку подхожу к идее generative programming, в вики это проходит под словом метапрограммирование. Пока балуюсь с CodeWorker, найденный с помощью тех же репозиториев линукса. Здесь дело не только в технологии, но ещё и в идеологии, которая в свою очередь влияет и на технологию и на восприятие программиста.
atomicxp вне форума Ответить с цитированием
Старый 13.07.2009, 11:01   #46
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от atomicxp Посмотреть сообщение
Забавно да, но это все равно несерьёзно.
Ну тут то всё банально. Таковы операции с плавающей точкой. Думаю, аналогичный результат будет и на делфях и на шарпе и на яве.
Цитата:
Сообщение от atomicxp Посмотреть сообщение
У тебя в примере foo, а я вот не люблю его, предпочитаю или реальное название или как минимум func.
Я даже не знаю откуда это foo пошло. Везьде в примерах его приводят, вот и я "попугайничаю"
Цитата:
Сообщение от atomicxp Посмотреть сообщение
Конкретно для 1.0 и 1.1 с переходом на 2.0, желательно иметь исходный код, и конвертором в вижуал студии перегнать.
Зачем? Программа же будет работать нормально. Другой вопрос, что использование нововведений второй версии может улучшить работу, но это уже разработчику выбирать под какую версию разрабатывать.
Цитата:
Сообщение от atomicxp Посмотреть сообщение
А представь, что я сейчас в линуксе, что мне делать?
Ну .NET официально врядли когда-то портируют на линух, а использование моно - на любителя, т.к. оно всегда будет отставать от оригинала, да и кто знает чего они там намудрят.
Цитата:
Сообщение от atomicxp Посмотреть сообщение
Мне доступны тысячи библиотек, когда нужно что-либо я беру какой-либо проект (или проекты), смотрю их зависимости, потом просто ставлю включение в код C++ библиотеки и всё как ни странно работает. И после перекомпиляции оно работает на windows, и не теряет скорость. И будет работать на других ОС и процессорах.
Не всегда всё так красиво. Тот же wxWidgets с полгода назад собирал на Visual C++... Сомнительное удовольствие. Под каждый тип проекта компилить надо заново. Debug/Release, Многобайтовые символы или однобайтовые, Runtime библиотека статически линкуется или динамически. Восемь сборок получается нужно сделать. Не обязательно конечно все эти 8 штук компилить, но мало ли какие в будущем проекты придется делать... А если в виде динамической библиотеки распространяется "примочка", то у неё своя рантайм библиотека, а у вас своя. Изучать надо как организована работа с памятью в этой библиотеке, а то утечки и другие неприятности повылезают.
Так вот к чему я это всё... на плюсах очень легко написать корявый продукт. Очень много внимания нужно уделять проектированию, в котором все нюансы заранее рассматривать (желательно с оглядкой на особенности языка и с отличным знанием используемых библиотек).
Цитата:
Сообщение от atomicxp Посмотреть сообщение
Над вопросом преодоления скользких мест тоже думал. По идее скользкие места на проверку оказываются не такими уж и скользкими.
Тут вопрос квалификации. Чтобы хорошо писать на плюсах, нужно очень хорошо их знать и иметь немалый опыт. Я частенько "упираюсь лбом" о неожиданно возникшую проблему, т.е. особенности языка мешают реализации моих идей. Не то я язык так из рук вон плохо знаю, не то думаю не так, как надо...
Цитата:
Сообщение от atomicxp Посмотреть сообщение
Здесь дело не только в технологии, но ещё и в идеологии, которая в свою очередь влияет и на технологию и на восприятие программиста.
Ну может быть я еще не до конца проникся идеологией. Надо будет попробовать еще линукс помучить, а то первое знакомство с ним не очень удачно было
pu4koff вне форума Ответить с цитированием
Старый 13.07.2009, 12:57   #47
atomicxp
Форумчанин
 
Аватар для atomicxp
 
Регистрация: 01.05.2009
Сообщений: 110
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Не всегда всё так красиво. Тот же wxWidgets с полгода назад собирал на Visual C++... Сомнительное удовольствие. Под каждый тип проекта компилить надо заново. Debug/Release, Многобайтовые символы или однобайтовые, Runtime библиотека статически линкуется или динамически. Восемь сборок получается нужно сделать.
WxWidgets и GTK я под Code::Blocks пока только посмотрел, проект скомпилировал из прямой генерации визарда для линукса и винды, вроде работает, хотя в детали пока не вдавался. А вот Qt смотрел тщательней и протестировал и там и там один и тот же проект. Он не потребовал изменений ни одного байта кода, то есть при переносе на винду, надо лишь сделать очистку объектов предыдущей компиляции и всё. Плюс если кроме Qt'овских библиотек используются другие, соответственно прописать дополнительные конфигурации в ОС. Правда с Qt лучше быть на Qt Creator, чтобы только компиляцию выбрать и больше ничего не делать..

Debug и Release если и делать, то для себя, а не для пользователя. К тому же на .NET есть тоже самое, и два отладочных класса для их использования. Пробовал линковать nmake'ом в винде статически Qt, пока нахаляву без каких-либо настроек. С применением QtCore и QtGui программа вышла на 4 мегабайта. Ну, а динамически там и так всё линкуется. А линуксу ничего этого не надо, одна и та же скомпилированная программа работает везде где стоит рабочий стол KDE, или установлен Qt. На Gentoo этого не было, кинул из мандривы библиотеки в /usr/lib, сделал пару доп. ссылок, и заработало. Если уж на то пошло, то ещё нужно подумать над архитектурой x86 и amd64, ведь в последней гарантированно будет набор расширенных инструкций процессора, да и битность другая.

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Изучать надо как организована работа с памятью в этой библиотеке, а то утечки и другие неприятности повылезают.
Пусть вылезают, я не знаю из-за чего они там могут быть, может кто забыл виртуальный деструктор с виртуальными функциями, если есть возможность уничтожения объекта, или ещё что. Это как раз по той теме, которая заглохла:

Здесь он нужен, так как объект можно удалить через интерфейс:
Код:
class ObjectInterface
{
 public:
    virtual ~ObjectInterface(){ cout << "Desctruction ObjectInterface" << endl; }
 public:
    virtual void ma() = 0;
    virtual void mb() = 0;
};
А здесь нет, удалению мешает protected:
Код:
class AbstractInterface
{
 protected:
    ~AbstractInterface(){ cout << "Desctruction AbstractInterface" << endl; }
 public:
    virtual void ma() = 0;
    virtual void mb() = 0;
};
Хотя даже если в тех или каких-то других рассуждениях что-то упустили, всегда можно вшить в код вызов отладочного лога, макросом там или ещё чем или воспользоваться спец. программами отлавливающие memory leak.

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Так вот к чему я это всё... на плюсах очень легко написать корявый продукт. Очень много внимания нужно уделять проектированию, в котором все нюансы заранее рассматривать (желательно с оглядкой на особенности языка и с отличным знанием используемых библиотек).
На дотнете тоже написать хороший проект стоит огромных усилий, и тоже надо уметь программировать. Да и Visual Studio не больно то способствует развитию в себе навыков проектирования.

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Тут вопрос квалификации. Чтобы хорошо писать на плюсах, нужно очень хорошо их знать и иметь немалый опыт. Я частенько "упираюсь лбом" о неожиданно возникшую проблему, т.е. особенности языка мешают реализации моих идей. Не то я язык так из рук вон плохо знаю, не то думаю не так, как надо...
C++ не мешает реализации, наоборот думать можно как угодно и потом ещё это и записать. Здесь мне думается проблема в том, что если начинаешь программировать под некую систему, то есть язык+библиотеки+компиляторы, то подстраиваешься именно под них. Если библиотеки воплощены так, а хочется иначе, то это ведь не значит, что они мешают, просто надо найти способ обойти это препятствие.

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Ну может быть я еще не до конца проникся идеологией. Надо будет попробовать еще линукс помучить, а то первое знакомство с ним не очень удачно было
А у меня тоже, потому я его держал в виртуальных машинах под виндой. Но OrdJONY чуть выше дал мне повод задуматься и с тех пор я на мандриве сижу. Вообще, сначала мне подумалось, что без разницы на чём программировать, на винде или линуксе, потому и перешёл. Но на самом деле я ошибся, в линуксе программировать и исследовать открытый код гораздо проще.
atomicxp вне форума Ответить с цитированием
Старый 13.07.2009, 13:30   #48
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Я даже не знаю откуда это foo пошло
Знай же!
http://ru.wikipedia.org/wiki/Foo
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.07.2009, 14:05   #49
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от atomicxp Посмотреть сообщение
А линуксу ничего этого не надо, одна и та же скомпилированная программа работает везде где стоит рабочий стол KDE, или установлен Qt.
Ну у Qt тоже версии разные (прога, написанная на версии 4.5 не пойдет же на системе с 3-м кьютой), да и под виндой уже не так всё красиво, ибо маловероятно что у пользователя он есть, т.е. придется линковать статически и программы будут здоровые.
Цитата:
Сообщение от atomicxp Посмотреть сообщение
Пусть вылезают, я не знаю из-за чего они там могут быть, может кто забыл виртуальный деструктор с виртуальными функциями, если есть возможность уничтожения объекта, или ещё что.
Я в данном случае про конфликты Runtime библиотек. У динамической либы она одна, а у программы - другая, но данные все в одном адресном пространстве. Если в dll (so) есть функия:
Код:
MyObject* CreateObject()
{
  return new MyObject();
}
а в программе будет написано:
Код:
MyObject *obj = CreateObject();
...
delete obj;
То получится фигня, ибо память выделяет одна C Runtime library, а очищает - другая.
Цитата:
Сообщение от atomicxp Посмотреть сообщение
На дотнете тоже написать хороший проект стоит огромных усилий, и тоже надо уметь программировать. Да и Visual Studio не больно то способствует развитию в себе навыков проектирования.
Это то оно понятно, но при меньшей квалификации результат будет лучше, нежели на си (хотя бы из-за работы с памятью и указателями. в .net уж точно не "потекёт" по вине программиста).
По поводу VS не знаю... На мой взгляд, Visual Studio - одна из лучших IDE.
Цитата:
Сообщение от atomicxp Посмотреть сообщение
C++ не мешает реализации, наоборот думать можно как угодно и потом ещё это и записать. Здесь мне думается проблема в том, что если начинаешь программировать под некую систему, то есть язык+библиотеки+компиляторы, то подстраиваешься именно под них. Если библиотеки воплощены так, а хочется иначе, то это ведь не значит, что они мешают, просто надо найти способ обойти это препятствие.
Основной минус для меня - отсутствие нормальной библиотеки в комплекте. STL хоть и на ООП, но не то... Сравнить хотя бы контейнеры из STL и из комплекта .NET. На шарпе вполне неплохо можно себя чувствовать на встроенных библиотеках, на плюсах же довольно быстро встаёт вопрос: какую библиотеку взять? Безконечные лазания по инету с противоречащими друг другу отзывах о разных либах... В итоге или велосипед под свои нужны начинаешь писать или разбираешься в очередной библиотеке. Библиотеки все написаны по своему, в итоге чтобы скрестить две библиотеки, может понадобиться написать свою промежуточную...
Не знаю почему, но когда я натыкаюсь на очередную проблему реализации на С++ - хочется создать свой идеальный язык
Цитата:
Сообщение от atomicxp Посмотреть сообщение
А у меня тоже, потому я его держал в виртуальных машинах под виндой. Но OrdJONY чуть выше дал мне повод задуматься и с тех пор я на мандриве сижу. Вообще, сначала мне подумалось, что без разницы на чём программировать, на винде или линуксе, потому и перешёл. Но на самом деле я ошибся, в линуксе программировать и исследовать открытый код гораздо проще.
У меня линух просто коряво записался на диск и при установке умер загрузчик ОСей. В итоге еле реанимировал винду уже, чтобы грузилась, но линух таки поставил, но с клавы русский язык вводился каракулями в консоли. В общем забил я на это дело и поставил под виртуальной машиной впоследствии, где уже проблем никаких не было, но особой тяги к нему (линуху) не появилось
ЗЫ. Stilet, спасибо за линк, а то с англицким у меня плохо и не осилил по ссылке atomicxp изучить. Теперь буду знать откуда пошло foo и bar
ЗЫ2. Извиняюсь, что, как всегда, тему в оффтоп увожу. Я не специально
pu4koff вне форума Ответить с цитированием
Старый 13.07.2009, 20:14   #50
atomicxp
Форумчанин
 
Аватар для atomicxp
 
Регистрация: 01.05.2009
Сообщений: 110
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Ну у Qt тоже версии разные (прога, написанная на версии 4.5 не пойдет же на системе с 3-м кьютой), да и под виндой уже не так всё красиво, ибо маловероятно что у пользователя он есть, т.е. придется линковать статически и программы будут здоровые.
Под виндой можно засунуть динамические библиотеки в папку с программой, статическая линковка это скорее выпендрёж. Можно сделать и какую-либо подпапку, чтобы не мозолили глаза, и указать программе где искать библиотеки. Плюс динамических библиотек в том, что во первых в одном комплектке можно записать несколько программ и они все будут использовать один и те же библиотеки не включая их каждый раз в себя. И есть ещё лицензионный плюс для секретных коммерческих разработок – LGPL, то есть делать программы и не показывать никому их код если не охота.

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Это то оно понятно, но при меньшей квалификации результат будет лучше, нежели на си (хотя бы из-за работы с памятью и указателями. в .net уж точно не "потекёт" по вине программиста).
По поводу VS не знаю... На мой взгляд, Visual Studio - одна из лучших IDE.
Памятью в .NET тоже можно управлять и я бы не сказал что не нужно. Наверное не стоит говорить про умные указатели (smart pointers) в C++ или переопределение на свои операторы создания. Все эти утечки искусственно раздутая проблема, нужно уж совсем бездумно писать, чтобы она возникла.

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Основной минус для меня - отсутствие нормальной библиотеки в комплекте. STL хоть и на ООП, но не то... Сравнить хотя бы контейнеры из STL и из комплекта .NET.
А не надо их сравнивать, мне лично STL не нравится, но стоит отметить, что это стандрат, то есть библиотека должна входить в комплектацию любого компилятора, и здесь не больно то до выпендрёжа. Гораздо больше мне нравится, что C++ ни чем не ограничивает создание собственных библиотек.

Цитата:
Сообщение от pu4koff Посмотреть сообщение
На шарпе вполне неплохо можно себя чувствовать на встроенных библиотеках, на плюсах же довольно быстро встаёт вопрос: какую библиотеку взять? Безконечные лазания по инету с противоречащими друг другу отзывах о разных либах...
В линуксах есть установщики программ причём не только apt-get. rpm-get и прочие, но и графические оболочки. Вот там можно посмотреть программы, их зависимости, и ничего искать по интернету не нужно.

Цитата:
Сообщение от pu4koff Посмотреть сообщение
У меня линух просто коряво записался на диск и при установке умер загрузчик ОСей. В итоге еле реанимировал винду уже, чтобы грузилась, но линух таки поставил, но с клавы русский язык вводился каракулями в консоли. В общем забил я на это дело и поставил под виртуальной машиной впоследствии, где уже проблем никаких не было, но особой тяги к нему (линуху) не появилось
Пока линукс не используешь тяги и нет. Хотя убеждать кого-то его использовать не надо и уж тем более ни в коем случае не отговаривать людей от использования .NET. Даже если в последствии программисты начнут понимать, что виртуальная машина это лажа, то все равно их понятия о пректировании изменится. А то ведь так и будут использовать C++ в стиле STL, Boost и прочих.
atomicxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зачем нужен void? Сергей089 Общие вопросы C/C++ 7 23.03.2009 17:08