Помогите пожалуйста выбрать между Delphi и С++ ! Я студент 1 курса, знаю Pascal. Читаю ваш форум не из-за любопытства взлома, а из-за любопытства защищаться от этих взломов. Ломал пару сайтов. В скором времени начнем изучать С++ в институте. Assembler уже малеху начали. Мне нужны только основные + и - каждого языка. Пожалуйста отпишитесь люди которые знакомы с обоими языками. Какой легче или труднее, какие возможности и т.д. Заранее благодарен.
выбирай с++, поскольку: 1. с++ кросплатформенный, а дэлфи нет. 2. с++ main stream(а значит и работу найти проще, в том числе и на новые проекты, а не на поддержку старых) и в ближайшее время с++ не умрёт окончательно, а вотдэльфи уже наладом дышит. 3. для с++ доступна куча компиляторов и средств разработки, также куда больший выбор доступных библиотек чем в дэльфи. 4. ну и средств языка у него на мой взгляд в с++ побольше думаю этого достаточно, чтобы не думать изучать дэлфи даже в самом страшном сне?
а я бы порекомендовал сначала делфи... т.к. ты знаеш уже основу - паскаль - тебе до делфи рукой подать.. выучиш делфи быстренько и начинаеш С++
Мой тебе совет, учи сразу С++, ничего трудного там нету, почти все языки по логике одинаковы, только по синтаксису отличаются.
бред nc.STRIEM каждому своё незя сравнивать Delphi и C, это разные вещи! Дельфи это среда, С это язык. У каждого свои особенности и недостатки. по поводу веса Delphi есть замечательная стать Hex'a (читайте кому не лень) Code: Размышления на тему Delphi... Автор: Hex Много раз возникал вопрос "Почему exe, сделаные в делфи, такие большие?" Щас отвечу и все будет ясно. Сделаем такой примерчик: Поцепим на форму один Memo и одну кнопку. Напишем такой код: procedure TForm1.Button1Click(Sender: TObject); begin Asm int 3 end; memo1.Lines.savetoFile('hz.txt'); end; Я поставил int 3 чтоб было легко найти то место, где будет вызваться memo1.Lines.savetoFile. Запускаем нашу супер прогу. Делаем bpint 3. Жмем на нашу единственную кнопку. Попадем в айс. Сменим eip на адрес следующей команды. На жеж не надо чтоб int 3 выполнилось. И пройдем до адреса 44FC41. Увидим такое: EAX=00BC3544 EBX=00BC3604 ECX=004284A8 EDX=0044FC50 ESI=00BC1A18 EDI=0068F4AC EBP=0068F470 ESP=0068F330 EIP=0044FC41 o d I s z a P c CS=015F DS=0167 SS=0167 ES=0167 FS=0F3F GS=0000 DS:00BC3544=00427080 -----PROJECT1!CODE+0004EC50-----------------------byte--------------PROT---(0)-- 0167:0044FC50 68 7A 2E 74 78 74 00 00-55 8B EC 33 C0 55 68 7D hz.txt..U..3.Uh}^ -------------------------------------------------------------------------PROT32- 015F:0044FC2F INT 3 015F:0044FC30 MOV EAX,[ESI+000002F0] 015F:0044FC36 MOV EAX,[EAX+00000220] 015F:0044FC3C MOV EDX,0044FC50 015F:0044FC41 MOV ECX,[EAX] 015F:0044FC43 CALL [ECX+74] В edx лежит адрес строки 'hz.txt'. Больше тут смотреть неначто. Теперь сделаем из нашего кода вот такую вещь: procedure TForm1.Button1Click(Sender: TObject); begin Asm int 3 end; memo1.Lines.LoadfromFile('hz.txt'); end; При вызове этого мы в айсе увидим следующее: EAX=00BC3544 EBX=00BC3604 ECX=00427080 EDX=0044FC4C ESI=004283A4 EDI=0068F4AC EBP=0068F470 ESP=0068F334 EIP=0044FC40 o d I s z a P c CS=015F DS=0167 SS=0167 ES=0167 FS=3D37 GS=0000 DS:004270E8=00414ECC -----PROJECT1!CODE+0004EC4C-----------------------byte--------------PROT---(0)-- 0167:0044FC4C 68 7A 2E 74 78 74 00 00-55 8B EC 33 C0 55 68 79 hz.txt..U..3.Uhy^ -------------------------------------------------------------------------PROT32- 015F:0044FC2C INT 3 015F:0044FC2D MOV EAX,[EAX+000002F0] 015F:0044FC33 MOV EAX,[EAX+00000220] 015F:0044FC39 MOV EDX,0044FC4C 015F:0044FC3E MOV ECX,[EAX] 015F:0044FC40 CALL [ECX+68] Один интересный момент! В принципе тут все одинаково с предидущим кодом. Только изменился адрес строки и значение ECX, а также теперь идет CALL [ECX+68], вместо CALL [ECX+74]... А теперь делаем такую подлость: удаляем для чистоты эксперимента файл "hz.txt". Запускаем прогу, где у нас идет memo1.Lines.LoadfromFile('hz.txt'); И когда дойдем до 015F:0044FC40 CALL [ECX+68] изменим его на 015F:0044FC40 CALL [ECX+74] И выполним. Ну как? нравится? был создан hz.txt! Т.е. выполнилась memo1.Lines.savetoFile('hz.txt'); Вот так-то! При компиляции exe файлов делфи пихает все процедуры и свойства юзаемых компонентов даже если они не юзаются. Благодаря этому файлы временами имеют гигантские размеры. Какие можно сделать выводы? Програмировать надо на СИ, потому что там оно лишнего не вставляет. Или писать все на апи. Правда тогда от делфи останется тока синтаксис. Но главное я считаю не в этом :) Главное - это то, что демки написанные на делфи, это выходит далекоооо не демки :) Надо тока постараться, там уже все есть, только дописать отсталось :) по поводу Си - он конечно хорош, но лично я предпочиаю MASM. Си тоже макро-ассемблер, только уж очень макро. [ADD] кста борландский си, тоже самое что и Delphi и вес один и дизасм почти тот же (только сигнатуры Иды дают понять что это разные вещи =))) ).
ИМХО, попахивает холиваром. По поводу статьи: Насколько я знаю MFC такая же штука, как VCL в Delphi. Проги с использование MFC меньше весят, т.к. microsoft включила runtime-библиотеки в состав Windows. Забываешь про Kulix. Откуда такие сведения?
вообще если писать на чистом API, то проблем с весом и всяких проблем с библами не будет. ИМХО какая разница if(){} или IF ... THEN всё одно cmp reg1,reg2 je @F
Учи с++ не прогадаешь Хотя можешь убить двух зайцев: учить с++ на Borland Builder. Саму среду от Delphi не отличить.
А я свое скажу: Вообше то по международному стандарту признан самый популярный язык - С++ ! самый крутой и мошный - это Delphi . (Это НЕ мое мнение, а всемирный стандарт) а мое мнение и выбор: ассемблер ! он самый мошный !!! просто он НЕ популярен, потаму что как-то никто так особо не хчоет на него кодить, из за неудобства и "трудности".
>>по поводу веса Delphi есть замечательная стать Hex'a (читайте кому не лень) хватит постить ахинею, сначала читайте то, что выкладывайте. такая проблема как эффективность компилятора сейчас мало кого волнует, современные среды разработки имеют множество опций компиляции\линковки, что позволяет даже в делфи создавать эффективный код, но как было замечено в чудесной статье Hex'а через задницу. так что это не основная проблема. проблема языка делфи (для тех кто хочет придраться - читаем как обджект паскаль) в том что у него даже стандарта, насколько мне известно, нет. И, пожалуй самое главное. к словам sni4ok могу добавить то, что с++ (не знаю можно ли это отнести к самому языку, но по крайней мере любая нормальная среда) обладает набором самых необходимых хидеров для работы со списками\сортировкой и так далее. это позволяет в короткие сроки сделать за короткое время быстро-работающую программу без построения велосипеда с нуля. а сорец будет легко корректироваться другими программистами без каких-либо затрат. в делфи же все проблемы, как это видно, решаются методом компонент. то есть чтобы работать с сокетами бравые хэкеры используют tserversocket (или как там товарищи?) из-за этого им уже приходится использовать форму и прочую лабуду. О возможностях ООП в делфи по сравнению с с++ вообще говорить не приходится. --- это по какому стандарту так признали, по ansi мб? да, с++ это попса. надо на асм ВСЕМ пересаживаться. че нам как дуракам "новые" технологии типа хорошей организации ООП и прочих прелестей современного программирования. мы хэкеры времен второй мировой. nc. Stream помнишь как мы в 41 под танком с тобой лежали? асм там обсуждали? --- >>он самый мошный !!! ну раз ты такой умный, то давай и инструкции в уме считай все, и исполняемый файл в хекс-редакторе пиши.это вообще очень мощно.
мне почему-то кажется, что самый мощный ассемблер ввиду своей низкоуровневости. =))))))) Завтра пропишем в ANSI
Кстати, может вы еще коров и апельсины сравнивать будете? Дельфи и С++ вещи разные, под разные цели предназначенные. Сранивать смысла 0. Сколько это можно повторять?
MFC это одна платформазависимая и не самая удачная библиотека среди огромного колличества достойных кросплатформенных вариантов(таких как Qt, WxWidgets и др.), для дельфи же ничего такого просто нет.
дельфи скорее для написания программок типа блокнота, чтобы особо не заморачиваться. сишник изначально был языком более низкого уровня и до сих пор считается низкоуровневым языком и цели у него другие - драйвера, системные утилиты и прочее прочее проче.. хотя можно конечно и драйвер на дельфи написать, и загрузчик даже. только смысла извращаться так нету) если си занимает промежуточное положение, то асм стопудов язык низкого уровня и писать гуи на нем такое же извращение, как и писать драйвера на дельфи. Вот, собственно, и все, что я хотел сказать по этому поводу, спорить о том, что лучше, а что хуже - бессмысленно и породит только многостраничный никому не нужный флуд. Спасибо за внимание.
Я конечно не специалист, но вот какое понятие имею о делфе Delphi Программирование на делфе сводится к тому, чтобы найти нужный компонент и кинуть его на свою форму, строишь по кирпичикам, программирование сведено к минимуму и упрощено, для быстрой разработки небольших программ. Компонент+Компонент=Программа. С/С++ Написали уже выше. Поняв синтаксис с/с++, легче и быстрее можно освоить перл, рнр. ЯП надо выбирать исходя из задачи. Так что учи все.
ну ну набросал компонентов, получил файл в 30 метров, сидишь и думаешь "30 mb, да я крутой пограммист ". я уже сказал. По прелести стандартных функций ты прав, зачем изобретать велосипед. а я сразу сказал что сказать? пиши на апи, в сети много статей типа "программа на Delphi в 8 кило"
ZaCo повеселил ))) зачот )))) итак: это совершенно разные языки!!! (кстати с 7 версии Delphi признан языком программирования) честное слово бесят фразы типа: "Delphi отстой и т.д." хочется пустить человека в даун... Это каким же идиотом надо быть!!! Значит все Дельфисты лохи что-ли??!!! Кто сказал что Delphi вымирает?!?!!! Что за идиоты?!?!! с таким мнением?!!! Лолы!!! про Turbo версию кто-нибудь из вас слышал??!!!! вобщем завязывайте сравнивать Delphi и С... Поймите идеала на свете НЕТ! где-то свои + где-то и -... и не надо кричать на право и налево что лучше... з.ы. насчет размера... MS-Rem доходчиво объяснил как свести размер к минимуму, а это 512 байт!!! вот так...