Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: С++ или нет?
DF2 :: ФОРУМЫ > Основные форумы > Софт и железо > Программирование / Coding
Страницы: 1, 2, 3, 4
Guevara-chan
Цитата
записывайся в кодеры и вперед

Да я бы с удовольствием (программирование - одно из моих главных увлечений, если кто не знал), НО ! Придется возиться с C'шным кодом. А C++ я не знаю и знать не хочу.

Добавлено ([mergetime]1144333159[/mergetime]):
Цитата(Zorlin @ 06 Apr 2006, 18:05)
fool.gif rtfm.gif fie.gif
З.ы. Это Хроносиндроме.


Кто-то тут, я смотрю, напрашивается чтобы его разломали на цветной металл... nunu.gif nunu.gif nunu.gif
Лана
А.. А как же без Си-то... idontno.gif
Guevara-chan
Просто органически не выношу этот язык. bad.gif
Без него можно (и нужно) вот как: PureBasic, VB .NET и Win32Forth.
Для сис. проганья сойдет еще XBLite, для автоматизации AutoIt, а для написания игр Blitz3D. Ну, еще VB6 можно юзать, если уж совсем приперло.
Зорлин
Ассу учи smile.gif
После него тебе всё будет нравится.
Guevara-chan
Цитата(Zorlin @ 06 Apr 2006, 18:35)
Ассу учи smile.gif
После него тебе всё будет нравится.


Практически выучила. smile.gif В Win32Forth на нем написана часть системы.
Лана
Мне С++ кажется намного понятнее и удобнее VB.
Зорлин
Ну вот, пол ассемблера выучила, и ещё ерепенится:
"Это не удобно, это оптимизируется криво, а тут вообще команды непонятные..."
Guevara-chan
Цитата(Zorlin @ 06 Apr 2006, 18:40)
Ну вот, пол ассемблера выучила, и ещё ерепенится:
"Это не удобно, это оптимизируется криво, а тут вообще команды непонятные..."


А что, асм не такой уж и страшный... И не такой сложный. Это писать на нем... даже не столько трудно, сколько долго. Но, он в отличае от C++ все сложностя хотябы компенсируются, в данном случае - скоростью, низким размером и высокими возможностями полученных программ...
gamecreator
Вот когда я закончу игру на С++, то дам тебе исходники, и ты все напишешь на Блитз3д и сравним размер.
Guevara-chan
Цитата(gamecreator @ 06 Apr 2006, 19:07)
Вот когда я закончу игру на С++, то дам тебе исходники, и ты все напишешь на Блитз3д и сравним размер.


Времени не хватает... но можно попробовать. А что за игра ? Если 2D то я ее лучше на PureBasic'е перепишу (прикинь, у него минимальный размер EXE-шника - 1.5 килобайта ! (вернее будет таким, послы выпуска апдейта smile.gif )...

Но есть идея получше. Дело в том, что я не знаю C++ (вернее знаю... но плохо). Давай вот как: мы берем какую-нибудь несложную задачу и пишем две проги для ее решения - я на PureBasic'е, ты на С++. Вот и сравним размер (как исходников, так и результатирующего приложения) и быстордействие, OK ?
gamecreator
ок.
я делаю игру реверси. с опцией записи в лог. с возможностью игры 1-го игрока. с хелпом.
подходит?
Guevara-chan
Цитата(gamecreator @ 06 Apr 2006, 19:46)
ок.
я делаю игру реверси. с опцией записи в лог. с возможностью игры 1-го игрока. с хелпом.
подходит?


реверси ? Это которая Othello ? Ну, допустим...Ладно, сделаешь - дашь исходники, посмотрю.

А пока вот какая тебе задачка:
Код
#include [stdio.h]

void main(void)
{  
   printf(\"%d\\n\",a(3,8,8));
}

int a(int n, int x, int y)
{  
   if(!n)
       return x+1;

   if(y)
       return a(n-1,a(n,x,y-1),x);
   
   switch(n)
   {  
       case 1:  return x;
       case 2:  return 0;
       case 3:  return 1;
   }

   return 2;
}


Это называется функция Аккермана (нашла на форуме АБ). Вот сейчас сравним, какой из языков лучше справиться с этой задачей, ОК ?
gamecreator
Цитата(Chrono Syndrome @ 06 Apr 2006, 19:54)
Код
#include [stdio.h]
...

только не [*.h], а <*.h>
Guevara-chan
Видать, где как. На форуме так и было.
gamecreator
Стек оверфлов. Но это в дос-среде.
Guevara-chan
Кстати, еще поправочка:
Цитата
printf(\"%d\\n\",a(2,8,8));


Про перегрузку. Угу. Ты читаешь мои мысли. Давай так, тогда все OK.

Добавлено ([mergetime]1144340195[/mergetime]):
У меня 64 ( в исправленном варианте).
У тебя ?
Я про результат.

Добавлено ([mergetime]1144340601[/mergetime]):
Эй, gamecreator, ты живой ?

Добавлено ([mergetime]1144341121[/mergetime]):
Значит так. Если все правильно (а вроде бы так), то размер полученного EXE-шника: 5 632 байт (и это под древней версией 3.94 (причем Beta-версией), где еще оптимизатора нет !)
Архив с подтверждением моих слов прилагается...

Добавлено ([mergetime]1144341449[/mergetime]):
Так, все, я проверила - 64, все верно. А теперь, попробуем еще на VB .NET, что-ли...

Добавлено ([mergetime]1144342057[/mergetime]):
Перебросила на VB .NET
Здесь результат еще меньше 3 584 байт
Впрочем, не стоит забывать, что такой проге для работы требуется FrameWork... Ах да ! Доказательства прилагаются.
gamecreator
у мну 64.
размер ЕХЕ - 30310б
архив зип - 24274б

правда я подключал не stdio, a iostream. не люблю я scanf/printf fie.gif
Guevara-chan
Цитата
размер ЕХЕ - 30310б

У меня вот 5 632
Можешь убедиться. Ну, и кто выиграл ?

P.S. А почему ты не прикрепил этот архив ?
Irh
C++ или нет?
или:
С++ или .NET?

gigi.gif
Guevara-chan
Цитата(Irh @ 06 Apr 2006, 21:21)
C++ или нет?
или:
С++ или .NET?

gigi.gif


Ну, в данном случае и то и другое. Ведь мы сравниваем его с Pur'иком и VB .NET
gamecreator
Цитата(Chrono Syndrome @ 06 Apr 2006, 21:19)
P.S. А почему ты не прикрепил этот архив ?

а тебе оно надо?
Guevara-chan
Ну, я вот просто свои прикрепляла...
Можешь их посмотреть.

Добавлено ([mergetime]1144345221[/mergetime]):
Ну что ? Понял теперь, что C++ хуже чем PureBasic в плане размера кода ? И в плане простоты тоже...
gamecreator
в плане размера ехе согласен

Добавлено ([mergetime]1144346005[/mergetime]):
и в плане компактности тоже
Darth_Beleg
Я не согласен. Давайте для начала напишем аналог printf на Бейсике, скомпилим и будем сравнивать. Иначе нехорошо как-то - сравниваем встроенные средства ввода с обычной функцией.

Добил до 8 Кб, правда в старом компиляторе. У MSVC пустой EXE 22 Кб sad.gif. Но и на нем можно довести до 23 Кб.
А в плане простоты - совершенно не отличаются. Абсолютно. По крайней мере, на этой задаче. Типа найдите 10 отличий - я не вижу ни одного.
Bourn
С++ не люблю из за кучи траблов с виндой,хотя бы о сложности написания под нее кода приложения(я о VC, на BC все легче)
вообще надо на C# переходить, хотя VB.NET не отличаеться почти ничем(я о возможностях языка)

кстати ехе самый маленький у паскаля и с этим сложно спорить
в стандартной компиляции 2,54 КБ (2 608 байт)
в минимальной компиляции 2,40 КБ (2 464 байт)

Добавлено ([mergetime]1144371042[/mergetime]):
скомпилил на DEV C++
размер 3,50 КБ (3 584 байт)
Guevara-chan
Цитата
Я не согласен. Давайте для начала напишем аналог printf на Бейсике, скомпилим и будем сравнивать. Иначе нехорошо как-то - сравниваем встроенные средства ввода с обычной функцией.


А давай-ка не будем забывать, что функция printf находится в Runtim'е (MsVcrt.DLL) и вызывается оттуда, в то время как встроенные средства занимают место в EXE-шнике... И тем не менее он получается меньше, чем на C++.

Цитата
скомпилил на DEV C++
размер 3,50 КБ (3 584 байт)


Какая цифра знакомая... dry.gif
А этот DEV C++, он случаем не под .NET при этом код генерил ? А то уж больно похоже...

P.S. Просьба - подкрепляйте свои достижения архивами - исходник\EXE-шник, если не трудно. А то непонятки получаются

Добавлено ([mergetime]1144388883[/mergetime]):
Цитата
кстати ехе самый маленький у паскаля и с этим сложно спорить


Это, надо думать, у DOS'овского ?
Darth_Beleg
Цитата
А давай-ка не будем забывать, что функция printf находится в Runtim'е (MsVcrt.DLL) и вызывается оттуда, в то время как встроенные средства занимают место в EXE-шнике... И тем не менее он получается меньше, чем на C++.

Все с точностью до наоборот: akkerman.pb(скомпилированный, конечно) импортирует функцию wsprintfA из user32.dll в отличие от C++. Можно считать это недостатком C++, хотя это скорее свойство.

Цитата
С++ не люблю из за кучи траблов с виндой,хотя бы о сложности написания под нее кода приложения(я о VC, на BC все легче)

Хороший программист должен по крайней мере знать о том, что происходит внутри программы. И потом, не всегда нужны компоненты - в отличие от производительности.

PS: В аттаче C++ скомпиленный с использованием Run-Time библиотеки и MSVC++2003: 3,5 Кб.
Guevara-chan
Цитата
отличие от C++


Где же это отличие ? Printf в твоей программе импортируется из MSVCR71.DLL А User32.DLL это понятно, т.к. это системная библиотека, и без нее обойтись проблематично...

Но EXE-шник и в самом деле меньше чем под PureBasic... прикольно.
Alister
а кто нить с# пробовал ? хочу его начать учить, но хз знаю стоит ли ?
Guevara-chan
Цитата(Alister @ 07 Apr 2006, 11:06)
а кто нить с# пробовал ? хочу его начать учить, но хз знаю стоит ли ?


Не стоит. Если под .NET писать хочешь(похвальное начинание, кстати) то лучше VB. NET учить.
Alister
мне одна прикладуха нужна для работы с СУБД и гуй для юзеров
Guevara-chan
Гм... Для этого хорошо пойдет и PureBasic.
Он хорошо строит GUI и имеет встренные команды для работы с БД. Только советую подождать обновления, там много багов убьют и возможностей добавят (тоже много smile.gif )... Если есть возможность, конечно.

Но если допускается использование приложения под .NET FrameWork то лучше всеже брать VB .NET - он мощнее.
Bourn
Цитата(Alister @ 07 Apr 2006, 11:06)
а кто нить с# пробовал ? хочу его начать учить, но хз знаю стоит ли ?

да, очень простой язык рассчитанный на работу с софтом, те не как в СИ++ уходит куча времени на создание формы(вручную), а тут достаточно разместить кнопку и вставить туда нужный код, все намного быстрее, да и средства СИ помощьнее VB будут
Guevara-chan
Цитата
да и средства СИ помощьнее VB будут


Это чем же, если не секрет ?
gamecreator
Цитата(Chrono Syndrome @ 07 Apr 2006, 09:48)
А давай-ка не будем забывать, что функция printf находится в Runtim'е (MsVcrt.DLL) и вызывается оттуда, в то время как встроенные средства занимают место в EXE-шнике... И тем не менее он получается меньше, чем на C++.

А давай-ка не будем забывать, что я не пользовался printf. moral.gif
Bourn
Цитата(Chrono Syndrome @ 07 Apr 2006, 17:35)
Цитата
да и средства СИ помощьнее VB будут


Это чем же, если не секрет ?

Содержит встроенную систему документации исходного кода.
Дает возможность выбора между безопасностью кода и производительностью, в отличие от VB.NET.
Уменьшает вероятность ошибок, по сравнению с C++.
C# позиционируют как центральный язык NetFramework.

+ еще куча методов работы с классами и объектами которых нет в ВБ, и еще дополнительные команды из С++, для ускорения различных методов реализации программы.
Darth_Beleg
А еще для лентяев типа меня остается Managed C++.
Для СУБД с GUIем традиционно пользуют Дельфи, но у меня не получилось sad.gif. Еще есть PHP для маньяков-интернетчиков, но это довольно сложно. Майкрософтовские решения я не пробовал

Кстати, MSVCR71- такая же системная библиотека. По крайней мере, она входит в .Net Framework, так что мы квиты wink.gif. Честно говоря, у меня полмашины забито ее версиямию
Alister
ну я естть маньяк-интернетчик у меня на работе веб интерфейс для работы отдела кадров и для ежесуточного газопотребления Тамбовской области..я этим шас рулю. субд mssql 7.0 вот поставил себе 2005 sql и хочу его изучать совместно с c# smile.gif пока беда в том, что нет бумажных книжек по c# и mssql 2005..первое основано на том, что малый спрос все сидят на дельфях или с++ а c# у нас пока развит слабо..придеться маны в инет магазинах заказывать..а вот про 2005 mssql в виду того, что новый он и пока не успели все выпустить
Чёртос-2 (Chortos-2)
Наткнулся на простую, но непонятную проблему в C#. Я хочу сделать пару своих классов доступными через глобальные переменные, но никак не пойму, как эти самые глобальные переменные создать. Получается так: или у меня эти переменные внутри какого-то уже созданного объекта (формы, например), или их нет вообще. crazy.gif sad.gif
Bourn
Цитата(Chortos-2 @ 12 Apr 2006, 01:41)
Наткнулся на простую, но непонятную проблему в C#. Я хочу сделать пару своих классов доступными через глобальные переменные, но никак не пойму, как эти самые глобальные переменные создать. Получается так: или у меня эти переменные внутри какого-то уже созданного объекта (формы, например), или их нет вообще. crazy.gif sad.gif

а через модуль пробовал?
Чёртос-2 (Chortos-2)
Как конкретней? sad.gif В сам namespace он впихивать не хочет, и создавать какой-то элемент внутри него тоже почему-то не хочет (типа "myNameSpace.myVarName = new myClass();").

Добавлено ([mergetime]1144855841[/mergetime]):
P.S. Microsoft Visual Studio 2005 Professional; Microsoft Visual C++ 2005.
gamecreator
Цитата(Chortos-2 @ 12 Apr 2006, 19:30)
Как конкретней? sad.gif В сам namespace он впихивать не хочет, и создавать какой-то элемент внутри него тоже почему-то не хочет (типа "myNameSpace.myVarName = new myClass();").

Добавлено ([mergetime]1144855841[/mergetime]):
P.S. Microsoft Visual Studio 2005 Professional; Microsoft Visual C++ 2005.

myClass myNameSpace.myVarName;
orgus
что то я не понял, как можно возможности языка оценивать по размеру exe файла?smile.gif ну давайте пооцениваем возможности оптимизации в компиляторах .. компильнул я ваш пример:
ответ 64
размер exe файла 2 048 байт среда MS VC++ 6.0

PS
Цитата
прикинь, у него минимальный размер EXE-шника - 1.5 килобайта

ух ты, а я помню пример оптимизации где минимальный exe занял 480байт в качестве компилятора юзался тот же Visual C++ 6.0
Чёртос-2 (Chortos-2)
Цитата(gamecreator @ 12 Apr 2006, 17:41)
myClass myNameSpace.myVarName;

Такие конструкции не работают.

Код
namespace myNameSpace
{
    // myClass2 myVar;
    // myClass2 myNameSpace.myVar;
    // myVar = new myClass2();
    // myNameSpace.myVar = new myClass2();

    class myClass
    {
 myClass2 myVar;
 myVar = new myClass2();
 // myClass2 myNameSpace.myVar;
 // myNameSpace.myVar = new myClass2();
    }
    
    class myClass2
    {
 // ...
    }
}
Guevara-chan
Кстати, к вопросу о сравнении PureBasic'а с другими языками (в частности C++) http://www.purebasic.fr/english/viewtopic....t=forth&start=0
Инглиш.

Цитата
ух ты, а я помню пример оптимизации где минимальный exe занял 480байт в качестве компилятора юзался тот же Visual C++ 6.0

А ты ничего не путаешь ?
orgus
а чего тут путать то? ... если из твоего примера убрать вывод на экран то даже мой проект компильнется в 1 килобайт... а я еще не все отрубил. Что ваш компилятор не имеет ключей для тонкой настройки? ну так извинитеsmile.gif 480байт это пустой проект с отрубленным RTL ну и точка входа не WinMain а WinMainCRTStartup.
ЗЫ приводить ссылку на сайт называющийся purebasic это клевоsmile.gif дай угадаю там говорят что это клевый язык и его надо использовать везде где только нужно?smile.gif К сожалению реальные проекты это далеко не програмки в 100 строчек кода.
PS по поводу синтаксиса, да уж синтаксис у бэйсика всегда отличался простотойsmile.gif хороший язык для школьников, я бы так сказал... лично меня конструкции типа:
select
endselect
procedure
endprocedure
тока улыбаютsmile.gif {} куда компактнее и проще... вот открыл код твоего проекта... знаешь что первое бросается в глаза? отсутствие форматированияsmile.gif Учитывая те куски кода что ты вообще кидала в этом форуме, форматирование вообще не используем? хех, поглядел бы я на твой проект в котором бы пришлось использовать десятка два классов с большим объемом кода. Так что если в серьез собралась работать разработчиком софта, меняй привычки, а то пока что все это как то далеко от реальности. Изучение всяких бэйсиков лиспов фортранов фортов прологов и прочих изысков можно отнести к общему развитию разве что. VB.NET вполне потянет для разработок, Борланд или Дельфи тоже, в их случае я даже в спор бы не влез ибо они имеют реальную нишу в разработке софта, кому что удобно то и используют. Вообще спор какой язык лучше не имеет смысла, обсуждать надо среды разработкиsmile.gif
Чёртос-2 (Chortos-2)
Нашел выход для себя. Вспомнил про ключевое слово static... gigi.gif
Avaddon
Я, видимо, отстал от жизни....
В бейсике уже есть система реализации классов с наследованием и виртуальные методы?blink.gif
Если нет, то я не понимаю, как можно его сравнивать с C++ idontno.gif

А множественное наследование в purebasic есть? spiteful.gif

Требую прояснения ситуации moral.gif

2 Chrono Syndrome: попробуй выучить C++ biggrin.gif Когда он начнет тебе даваться
ты его заценишь rolleyes.gif
Bourn
2 Avaddon
учи двоичный код
Цитата
Когда он начнет тебе даваться ты его заценишь
, как прикольно чувствовать себя нео gigi.gif
Avaddon
Цитата(Bourn @ 25 Jul 2006, 10:08)
2 Avaddon
учи двоичный код


blink.gif Чур тебя! shok.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.