Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Помогите выбрать (https://forum.antichat.xyz/showthread.php?t=34431)

skzi 01.03.2007 00:30

Помогите выбрать
 
Помогите пожалуйста выбрать между Delphi и С++ !


Я студент 1 курса, знаю Pascal. Читаю ваш форум не из-за любопытства взлома, а из-за любопытства защищаться от этих взломов. Ломал пару сайтов. В скором времени начнем изучать С++ в институте. Assembler уже малеху начали.

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

Заранее благодарен.

sni4ok 01.03.2007 00:38

Цитата:

Сообщение от skzi
Помогите пожалуйста выбрать между Delphi и С++ !

выбирай с++, поскольку:
1. с++ кросплатформенный, а дэлфи нет.
2. с++ main stream(а значит и работу найти проще, в том числе и на новые проекты, а не на поддержку старых) и в ближайшее время с++ не умрёт окончательно, а вотдэльфи уже наладом дышит.
3. для с++ доступна куча компиляторов и средств разработки, также куда больший выбор доступных библиотек чем в дэльфи.
4. ну и средств языка у него на мой взгляд в с++ побольше:)

думаю этого достаточно, чтобы не думать изучать дэлфи даже в самом страшном сне?

BlackCats 01.03.2007 01:19

а я бы порекомендовал сначала делфи... т.к. ты знаеш уже основу - паскаль - тебе до делфи рукой подать.. выучиш делфи быстренько и начинаеш С++

*[poison]* 01.03.2007 01:35

Цитата:

Сообщение от skzi
Помогите пожалуйста выбрать между Delphi и С++ !


Я студент 1 курса, знаю Pascal. Читаю ваш форум не из-за любопытства взлома, а из-за любопытства защищаться от этих взломов. Ломал пару сайтов. В скором времени начнем изучать С++ в институте. Assembler уже малеху начали.

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

Заранее благодарен.

Мой тебе совет, учи сразу С++, ничего трудного там нету, почти все языки по логике одинаковы, только по синтаксису отличаются.

nc.STRIEM 01.03.2007 03:04

Delphi - сосет!
C++ - рулит!

taha 01.03.2007 13:57

Цитата:

Delphi - сосет!
C++ - рулит!
бред
nc.STRIEM каждому своё

незя сравнивать Delphi и C, это разные вещи! Дельфи это среда, С это язык. У каждого свои особенности и недостатки.

по поводу веса Delphi есть замечательная стать Hex'a (читайте кому не лень)

Код:

Размышления на тему 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 и вес один и дизасм почти тот же (только сигнатуры Иды дают понять что это разные вещи =))) ).

TaNkist 01.03.2007 15:13

ИМХО, попахивает холиваром.
По поводу статьи: Насколько я знаю MFC такая же штука, как VCL в Delphi. Проги с использование MFC меньше весят, т.к. microsoft включила runtime-библиотеки в состав Windows.
Цитата:

1. с++ кросплатформенный, а дэлфи нет.
Забываешь про Kulix.
Цитата:

2. с++ main stream(а значит и работу найти проще, в том числе и на новые проекты, а не на поддержку старых) и в ближайшее время с++ не умрёт окончательно, а вотдэльфи уже наладом дышит.
Откуда такие сведения?

taha 01.03.2007 15:18

вообще если писать на чистом API, то проблем с весом и всяких проблем с библами не будет.

ИМХО какая разница if(){} или IF ... THEN
всё одно

cmp reg1,reg2
je @F

Prod 01.03.2007 17:17

Почему крупные и серьезные проекты пишуться на С/С++???

Friackazoid 01.03.2007 22:11

Учи с++ не прогадаешь

Хотя можешь убить двух зайцев: учить с++ на Borland Builder. Саму среду от Delphi не отличить.


Время: 12:20