![]() |
Ответ: Объясните разницу между Delphi и C++
Ну я сейчас примеры Java приводил, а C Sharp наверно да, не такой уж и плохой, только кроссплатформенность страдает.
Цитата:
|
Ответ: Объясните разницу между Delphi и C++
Многие функции в Борландовской среде сделаны на ассемблере, отсюда довольно высокая скорость выполнения при быстрой разработке. И отсюда же - сильная зависимость от Windows.
Если бы не цена, Делфи, как минимум, стал бы неплохим инструментом для человека работающего в Windows и желающего, при надобности, быстренько сделать для себя прогу, реализующую нужные ему возможности, не найденные или не устраивающие этого человека в готовом виде. Не знаю как сейчас, но когда я знакомился с Делфи - не было бесплатного варианта лицензии для домашнего использования, а жаль. Если что, - про кряки я знаю, разговор не о них. Сейчас мне надо сделать в VS-e C++ что-то типа графического редактора, реализующего несколько своих эффектов для картинок. Помню как среде Борланда экспериментировал с битмапом, писал свои функции для рисования линий, квадратов и т.д. Получались очень шустрые по сравнению со стандартными функциями рисования Windows. Так-же помнится разговор о том, что в MSDN bitmap - это нечто другое. Посоветуйте, если есть такое, вариант - как реализовать в VСтудии нечто такое же шустрое, как у Борландов, но на халяву. Что бы вы использовали если бы делали шустрый Paint.net, например? Извиняюсь, если вопрос не совсем в нужной теме или надо было писать в ключе:" А слабо с помощью Студии и C++ замутить подобное...?" ;) Спасибо. |
Ответ: Объясните разницу между Delphi и C++
Цитата:
Сделали ошибку, среда сослалась на какой-то хидр, менеджер форм или что-то типа того. Открываем, а там простите всё на дельфи. Внезапно. |
Ответ: Объясните разницу между Delphi и C++
Ну, может быть стоило глубже копнуть. Не удивило - почему это, проект с хидерами на Делфи так быстро компилируется?
Цитата:
А как насчет аналога Битмапа в VS-e c++? |
Ответ: Объясните разницу между Delphi и C++
Цитата:
Цитата:
Есть уже много сред, в том числе и бесплатных, которые быстрее и проще делфи. Чтобы сделать свой пейнт, можешь использовать опенгл. Будет так шустро, как напишешь. Сделать его можно в течений дня даже ничего не зная про это, пара статей/туториалов и ты готов к действию! |
Ответ: Объясните разницу между Delphi и C++
Цитата:
|
Ответ: Объясните разницу между Delphi и C++
Цитата:
Не могу найти тех источников откуда я это почерпнул, где то на ж. диске вроде есть, но не могу найти - прям мистика какая-то. :-) Но зато могу привести свои тогдашние представления по данному вопросу. Подробней, так подробней...;) Во времена перехода турбо-паскаля на Win32 получился у тамошних программистов, поначалу, графический интерфейс уж больно тормозной. А в то время у Борланда имелись незанятые специалисты не только по ассемблеру(это само собой), а вроде как гении машинного кода (типа того чувака из "Матрицы", что смотрел на цифры, а видел бабу в окружении городского ландшафта). Их и притянули реализовать быстрый GI для Делфи. Этим и подсели на иголку. Сделали вышеназванные спецы графический интерфейс быстровыводящийся. Понравилось начальству, те - и ну давай этих пускать к разработке vcl, да писать функции в узких и тормозных местах, да компилятор оптимизировать. А спецы и сделали оптимизацию компиляции - получился не то - компилятор, не то - ассемблер. Некая смесь. Сразу в машинный код для win32 генерил проги. (Шепотом... Поговаривали, даже, что в компиляторе Борландовском есть функция-дизассемблер, чтоб код на ассемблере получить всё-таки можно было!..) А параметры получившиеся проги передавали через быстрые регистры, а не медленный стек, да еще и переменные умудрялись в регистрах при этом хранить по многу тактов. Тогда руководство во главе с самым главным Борландом не знали еще, что c++ гнет железо под себя - не смотри, что сам гибкий. В процессорах с тех пор оптимизировали работу со стеком, да и кэш вырос и быстрее стал. И выигрыша от передачи параметров через регистры для Делфи-компилятора не стало. На MMX, же и SSE - программеры старой закалки смотрели свысока, как на нечто новое, глупое и совсем не процессорное. Слабо было налажено взаимодействие между программерами во время работы. И получилось как всегда - каждый решал разные возникшие по ходу вопросы по своему, а когда попытались все это соединить в одно целое - ничего не получалось - впору переделывать всё заново - ни в какую ни шло!.. И вот сидел и пробовал решить данную проблему один из древних спецов, сидел уже далеко за полночь - не то думал, не то спал уже. И вот, на самой границе со сном, когда терялась уже всякая связь мысли с реальностью, - снизошло на него "Великое Программерское Озарение"! И не помешала ему Инкапсуляция (он не знал про нее) окинуть всё широким взором. И поменял он по нескольку строк в разных местах программы, и поменял прямо в машинных кодах (по привычке) - и уснул... На утро программа работала как надо и никто не мог понять и вспомнить что в ней изменилось и почему вчера не работало, - а сегодня пашет, - исходников же на данном, самом низком уровне программирования - не было вовсе. Так и образовался "Пуп среды Дельфи" - непонятно точно где находящееся, блуждающее решение, соединившее несоединимое. И навсегда привязало, непостижимым образом, среду Дельфи к win32! Хотя и есть мнение, что так истинные создатели ТАСМа отомстили за то, что не попали в титры, но скорее - не иначе как, сам знаменитый древнеэллинский Дельфийский Оракул посетил проект через программера и посмеялся над ними. "Как ты яхту назовешь, так она и поплывёт" кэп.Врунгель. Я то, точно знаю, что нельзя было, просто-напросто, называть эту свою работу - "Delfhy", да еще и использовать старинное латинское написание буквы "ф". Нельзя называть корабль Титаником или Посейдоном - из того же списка ошибок. Ведь именно в Дельфи еще до храма Аполлона находился храм поклонения Земле (Гее), считавшийся Пупом Земли нашей. Те кто считают, что это все смешные сказки - пусть оторвутся на секундочку от своего времени и взглянут на происходящее со стороны. И определят - что, на самом деле, смешнее и нелепее, - поклоняться Земле, породившей нас, или торговать ею, поделив на кусочки-наделы, никак не поучаствовав, при этом, в ее создании!?. Так что, - ширее надо глядеть на вещи. Поначалу всё хорошо было, - даже строчили версии одну за другой, но время шло - старые специалисты - кто в буддизм подался, кто - на пенсию вышел, - обслуживать да совершенствовать продукт накладно и неудобно стало. Наконец осознали борландовцы, что по сути и нет у них исходного кода своего продукта на хоть каком нибудь языке повыше ассемблера - так, что-бы полностью. Новые, же, свеженанятые специалисты имели совершенно другой образ мышления (для них Дельфи это - не греческая святыня, а другой город Делфи(Delphi) расположеный в США, Штат Индиана). И сколько не пытались те выкинуть ассемблерный код - всё время получался глюковатый тормозоид по сравнению с оригиналом. "Пуп среды Дельфи" никто отловить так и не смог - не по зубам такие вещи программерам с объектным мышлением. |
Ответ: Объясните разницу между Delphi и C++
Цитата:
и наоборот если чо |
Ответ: Объясните разницу между Delphi и C++
Так... Давай разбираться.
Цитата:
Цитата:
Цитата:
Дизасм - процедура получения кода, записанного на асме, из бинарников - просто "перевод" ноликов и еденичек в короткие слова и цифры. Как правило, профита не даёт - много шаманства компиляторов, обфускаторов и просто шелухи дико затрудняют понимание кода. Если приложить изрядную степень упорства (и упоротости) - с помощью процедуры дизасма и последующего патчинга можно делать кряки. Цитата:
Хорошая сказочка, но вредная. |
Ответ: Объясните разницу между Delphi и C++
Ну вобще DEDE.
http://www.xakep.ru/post/41931/default.asp На выходе может выдать целый проект. Имена всех ф-ций и тд будут как у разработчика, а вот их содержимое будет именно ассемблере. Хотя стоит отметить что на ассемблере оно будет частично. Такие пироги. Декомпилятор есть и вполне удобный. |
Ответ: Объясните разницу между Delphi и C++
ДеДе рулит, да!
|
Ответ: Объясните разницу между Delphi и C++
Цитата:
Это всё серьёзно? Этот разбор полетов? И в ответ на свою сказочку получил целый сборник заблуждений. Нельзя же схватив где нибудь какую-то инфу считать ее универсальной и втыкать ее везде, не глядя - а вклеится ли она в текущий контекст. Или станет ложью? И зачем вообще это? Байка совсем не об терминологии компиляции. Цитата:
А сказка - ложь, но не может быть вредной. Из нее либо извлекают урок либо нет. Зависит от читателя. |
Ответ: Объясните разницу между Delphi и C++
|
Ответ: Объясните разницу между Delphi и C++
Не люблю эту ерунду с цитированием разводить. Бесполезную. Да еще не совсем по теме получится. Но раз поступила заявка, разбор полёта сейчас направлю в личку.:)
|
Ответ: Объясните разницу между Delphi и C++
В каком году они гуй ускоряли да с win32 совмещали? В 1995 году, то? А зачем?
На сколько мне известно из личного использования Delphi 1,3,6,7 он своими VCL в большинстве случаев юзал тупо WinApi и всё. Эти VCL - это тупо обёртки. И так было всегда. А что там на машинных когда - не понятно. Там тупо репозитарий модулей и всё. Один другой юзает и так далее. * тред особо не читал, но осуждаю |
Ответ: Объясните разницу между Delphi и C++
Цитата:
|
Ответ: Объясните разницу между Delphi и C++
Цитата:
|
Ответ: Объясните разницу между Delphi и C++
Цитата:
Цитата:
Цитата:
Если мое скромное мнение немножко считается, то не думаю что пользователь программы может засечь использование ассемблерного кода в исполняемых файлах. Или скомпилированных библиотеках. Он просто, по сути перетаскивает, данный код в свою прогу в составе другого кода, и с большим запасом лишнего кода, который не используется. И не слишком интересуется - что там. А если не считается, то и ладно, но вот эту игру - kkrieger порекомендовал бы еще раз запустить тем, кто забыл или скорее - новичкам, в качестве пособия по поиску ассемблерных решений в многомегабайтных продуктах. Извиняюсь, если в каком то вопросе проявил невежество. |
Ответ: Объясните разницу между Delphi и C++
Цитата:
|
Ответ: Объясните разницу между Delphi и C++
Цитата:
|
Ответ: Объясните разницу между Delphi и C++
фича IDR в том что деде заглох уже давно) и кроме делфей 7 ничего нормально не распознает. IDR же - Interactive Delphi Reconstructor и на данный момент делает лучший анализ 2005+ версий. Распознает ли оно борландовские плюсы не знаю). Единственный минус - нет сохранения в делфи-прожект (точнее уже давно есть да автор все ленится залить новую версию). Компенсируется это тем что можно сгенерировать idc скрипт для ida pro (ну и как я уже говорил скоро будет 2.5. там все работает.).
|
Ответ: Объясните разницу между Delphi и C++
|
Ответ: Объясните разницу между Delphi и C++
На засыпку почитайте ))
Сравнение C++ и Delphi Знающие люди советуют новичкам учить Pascal или Delphi (ранее известный под кодовым именем Object Pascal), а не C++. Основной тезис в пользу выбора Delphi звучит так: C++ сложнее чем Delphi. или С++ сложнее чем Pascal. Почитатели богомерзкого Delphi сумели внушить эту ложную мысль тысячам начинающих программистов. После того как наивный новичок поддался на их уговоры, культисты Delphi совращают его всякими непотребствами: визуальным программированием и библиотеками VCL и CLX. Судьба программиста, выбравшего тёмную сторону силы, ужасна: в скором времени ему предстоит написать текстовый редактор, используя компоненты TMemo, TPopupMenu, TMainMenu. В процессе работы над редактором наступают необратимые нарушения в психике. Но это только начало! Выбравшему Delphi предстоит сделать невозможное для пользователя C++ - написать браузер, используя компонент TWebBrowser. Теперь новоявленный разработчик превращается в пропагандистскую машину, готовую уничтожить любого, кто заикнётся, что C++ не сложнее Паскаля. Ну а теперь серьёзно: Чтобы понять, действительно ли C++ сложнее Delphi, достаточно рассмотреть базовые возможности языков программирования. Ведь именно над изучением этих возможностей первое время будет корпеть начинающий программист. Цель данной статьи посредством простых примеров опровергнуть совершенно лживое утверждение о сложности C++ по сравнению с Паскалем. Создание Windows программы в Delphi за пять минут Для начала следует хорошо уяснить следующее: какой бы язык программирования не изучался, первое время придётся работать с простым текстом. Выучить Delphi, начав создавать оконные приложения, очень и очень сложно. Практически все новички после создания пары окон с TEdit и TLabel, переходят к консольным программам. Максимум что можно сделать с помощью визуального программирования на первых порах - повторить примеры из учебника. О написании более-менее сложной программы не может идти и речи. Delphi и Object pascal На данный момент Delphi и Object Pascal - это одно и то же. Раньше было разделение: Delphi - среда разработки (такая же как Visual C++), а Object Pascal - язык программирования (как C++). И ещё одно: когда говорят Delphi, имеют ввиду Pascal. И наоборот. В настоящее время это два неразрывно связанных понятия. Далее будут рассмотрены базовые понятия, которые встречаются на пути у каждого, кто хочет изучить какой-либо язык программирования. Общая структура программ на Delphi и С++ Программы на любом языке состоят из операторов. Если совсем просто, оператор - это команда процессору выполнить какое-нибудь действие. И в C++, и в Паскале (а соответственно и в Delphi) конец оператора обозначается точкой с запятой. В обоих языках для комментариев используются символы // - две косых черты. Комментарий - это текст в программе, который не будет выполняться процессором. Теперь посмотрим на общую структуру программы на С++ и Delphi: PHP код:
Программа на Delphi начинается с ключевого слова program, после которого пишется имя программы. Далее идёт список разделов. Код программы должен находиться между ключевыми словами begin и end. Тут самое важное: в C++ код находится между фигурных скобок, а в Pascal - между словами begin и end. Переменные в Delphi и C++ Переменные предназначены для хранения и использования данных во время выполнения программы. И С++, и Delphi - строго типизированные языки. Это значит, что в этих языках программирования для хранения разных данных используются разные типы переменных. Например, для хранения целого числа используется переменная одного типа, для хранения вещественного - другого. Для целых чисел в C++ используется обозначение int, в Delphi - integer. Дробные числа в C++ - float, в Delphi - real. В С++ переменные можно объявлять в любом месте программы. Использовать их можно в любом месте, за исключением глобальной области видимости: PHP код:
В Delphi переменные обязательно должны объявляться в разделе var: PHP код:
Для присваивания в C++ используется знак =, в Delphi - :=. Операция присваивания берёт то, что находится справа от знака и помещает это в переменную, находящуюся слева от знака присваивания. В обоих наших программах, после выполнения всех операторов, переменная a будет хранить значение 2, а переменная b - 0,5. Управляющие структуры: ветвления и циклы на Delphi и C++ Управляющие структуры - самая важная часть любого языка. Они изучаются практически в самом начале знакомства с языком. Управляющие структуры предназначены для управления (кто бы мог подумать) последовательностью выполнения операторов языка. Любую программу можно написать, используя три управляющие структуры: Следование. Данная управляющая структура говорит, что программа будет выполняться последовательно: PHP код:
Выбор. Для выбора во всех языках используются ветвления. Данная управляющая структура позволяет выбрать, какой код будет выполняться, в зависимости от условия. PHP код:
Как видим, отличия небольшие - использование ключевого слова then в Delphi и обязательные скобочки вокруг условия в C++. Существуют и другие формы ветвлений, но мы их рассматривать не будем. Повтор. Для повторов кода используются циклы. Рассмотрим два вида - циклы for и while. PHP код:
На C++ цикл for немного сложнее чем на Delphi. В цикле for на C++ нужно указать три параметра: инициализацию счётчика, условие выхода из цикла, изменение счётчика. На Delphi нужно указать только начальное и конечное значение. PHP код:
Массивы в Delphi и C++ Массивы используются, когда требуется создать несколько переменных одного типа. PHP код:
Функции в Delphi и C++ Функции используются, когда в разных частях программы необходимо выполнить одну группу операторов. PHP код:
Важное отличие: в C++ внутри определения функции используется оператор return, в то время как в Delphi для возвращения значения из функции используется имя этой функции. На закуску: О простоте Delphi Вам могло показаться, что в начале данной статьи я очерняю (или даже оскорбляю) поклонников Delphi. Уверяю вас это не так. Большнинство из них реально зомбированы! Когда я начал писать статью, я хотел дать слово другой стороне. Ну, чтобы поклонники Delphi могли показать действительно простые по сравнению с C++ примеры кода. Для этого, я на одном из форумов попросил привести примеры кода на Delphi, когда в очередной раз была затронута тема C++ vs. Delphi. Мой собеседник не разочаровал: PHP код:
Я возликовал через пять минут, которые потребовались, чтобы разобраться в коде и оценить его гениальность (и конечно же, простоту). О таком подарке я даже и не мечтал! Код в примере выше перегружает оператор присваивания (о перегрузке операторов можно почитать в разделе C++). Вот как этот код будет выглядеть на C++: PHP код:
Я тут же спросил своего собеседника, действельно ли он считает, что код, который привёл он, проще и понятнее моего. На что оппонент, не моргнув глазом, ответил, что да, проще. Я же говорю, это страшные люди! Вот такой вот коленкор. Какой язык выбрать: C++ или Object Pascal, Delphi? Те возможности, которые рассматривались выше, присущи любому языку программирования. Повторяю, любому! Какой бы язык вы не выбрали для изучения, первое время вы будете осваивать следующее: использование переменных, циклы, ветвления, массивы, функции. Это самые важные вещи, без которых программирование вообще немыслимо. На начальном этапе разницу в сложности вы просто не заметите! Собственно, её и нет. Нужно быть психбольным, чтобы утверждать, что один дополнительный параметр в цикле for делает изучение C++ в разы сложнее. Тут важный момент! Нужен хороший учебник. Я вот уже писал про книгу "Язык программирования C++". Если вы хотите забросить изучение C++ через пару часов после начала, лучшей книги вы не найдёте. Сам-то я паренёк тёмный, но вот люди советуют, дескать где-то в интернетах есть сайтик с хорошими уроками по C++. Как бишь его... кажется, shatalov.su. Кто говорит, что C++ сложнее Delphi, тот или не знает о чём он говорит, или лжёт. Можно с полной уверенностью утверждать, что сложность у них (как минимум) одинаковая. Думаю, мне удалось это показать на примитивных примерах. В статье не были затронуты ещё две важные темы, с которыми придётся столкнуться новичкам: указатели и классы. Но там такая же ситуация - отличия минимальны. |
Ответ: Объясните разницу между Delphi и C++
|
Ответ: Объясните разницу между Delphi и C++
Цитата:
Цитата:
|
Ответ: Объясните разницу между Delphi и C++
Цитата:
|
Ответ: Объясните разницу между Delphi и C++
Цитата:
--a; ++a; |
Ответ: Объясните разницу между Delphi и C++
inc(a); dec(a); ??
|
Ответ: Объясните разницу между Delphi и C++
хоть мой мозг насмерть съели плюсы и вряд ли я с них когда-нибудь слезу, но всё-таки многим лучше начинать с паскаля.
особенно полным новичкам. хеловёрлд на плюсах: Код:
#include <iostream> программа которая выводит сообщение в поток вывода. так ли она проста? попробуйте объяснить новичку, что такое деректива препроцессора #include, зачем там объявлены заголовки классов и т.п. потом объясните что такое пространства имён.. что такое ф-ция, зачем нужна main почему int и почему в данном случае не нужно return (или если вы решите его оставить - зачем оставили) или скажите "ну вам сейчас это не нужно, вернёмся к этому потом", но уверяю вас, слишком часто придётся говорить эту фразу, а в итоге большая часть аудитории просто забросит изучение.. на паскале тот же пример будет намного наглядней и проще. была одна публикация.. сравнение С и Pascal для начинающих, до того как я её прочитал, я был мнения, что лучше сразу начинать с Си. Теперь вот напротив. Если кому интересно, могу поискать эту статейку) |
Ответ: Объясните разницу между Delphi и C++
ты забыл главное - ввод\вывод основан на перегрузке операторов (!), которые часто являются функциями-членами (!!) классов (!!!), или даже friend-функциями (!!!!).
вот такая вот кривая обучения - всё сразу или ничего вообще. но паскаль уже давно не торт. ну вот кому он сейчас нужен? забивать ресурс мозга лишними знаниями? |
Ответ: Объясните разницу между Delphi и C++
Я просто решил не уточнять ))))
>>но паскаль уже давно не торт. ну вот кому он сейчас нужен? забивать ресурс мозга лишними знаниями? в вопросах обучения прогингу, его актуальность уходит на задний план. Чего такого нету в паскале, что действительно скажется на развитии программиста? Абсолютному новичку намного важнее интуитивно понятный синтаксис и конструкции нежели актуальность, производительность, гибкость и т.д и т.п... Освоив основы алгоритмизации и кодирования, можно постепенно переходить к концептуальным подходам к разработке.. Тогда и язык по актуальней можно выбрать ( шарп, жава, плюсы.. ) По крайней мере выбор будет уже более или менее объективным.. И нету тут никакого забивания лишними знаниями. Я вообще сейчас прихожу к тому, что лишних знаний не бывает) Но уж если на то пошло, то в начале обучения перегрузка операторов, классы и объекты - намного более лишнее знание) |
Ответ: Объясните разницу между Delphi и C++
если уж пошла речь про обучение программированию, то в MIT первый язык на первом курсе - Scheme.
ящитаю это лютый и бешеный вин. жаль у нас такого не было. начинали с Q-Basic'a... |
Ответ: Объясните разницу между Delphi и C++
http://file.qip.ru/document/LvlQdMzE/anti_c_v03.html
зачитай)) если уж сам говорил об ненужных знаниях, каковы шансы молодому специалисту устроиться работать со scheme ? (на фоне Java-ондроедов или там C# с чем-нито ещё) Я вот пока не видал таких вакансий)) |
Ответ: Объясните разницу между Delphi и C++
Цитата:
если там про критику сиплюсов - то я читал уже как минимум 5 статей по этому поводу и 90% в них - правда. Цитата:
и в качестве первого языка Схема рулит. она дает понимание как оно там все внутри компилятора устроено. а паскаль - это наглухо заваренный "черный ящик", как и джава. |
Ответ: Объясните разницу между Delphi и C++
>>если там про критику сиплюсов
там о том, почему начинать обучение в вузе лучше с паскаля чем с Си. >>и в качестве первого языка Схема рулит. она дает понимание как оно там все внутри компилятора устроено. разве при обучении программированию, понимание того как оно происходит "внутри компилятора" стоит на первом месте?.. не подумай, что я считаю, мол этого знать не надо. Но если трезво судить, новичку лучше понять как значения переменных местами менять, да массивы пузырьком сортировать.. если у него есть уже подобная база, то он сам сможет себе выбрать язык (scheme в т.ч.).. ну по крайней мере попытаться)) а паскаль - классика.. тонны примитивных алгоритмов разбираются именно на нём. |
Ответ: Объясните разницу между Delphi и C++
мне кажется, обучать программированию на языке непохожем на любые промышленные (языки) - неправильно.
|
Ответ: Объясните разницу между Delphi и C++
HolyDel я тож так считаю и собсно сказал это, но на самом деле тут тоже есть свои нюансы.. если действительно качественно освоить методики разработки ПО, да ещё и знать как оно там работает на самом низком уровне - принципиально не важно какой ты будешь учить язык. В конце концов в промышленности переходя от проекта к проекту может потребоваться менять и языки, и текхнологии.. надо уметь учиться)
|
Ответ: Объясните разницу между Delphi и C++
Цитата:
учиться - на одном, работать - на очень разном. |
Ответ: Объясните разницу между Delphi и C++
Цитата:
кстати я особо и не настаивал на этом и даже уточнил, мол ради бога, учитесь на чём хотите.)) аргументировать же твой "вин" со схемой ты нужным не счёл) :super: |
Часовой пояс GMT +4, время: 19:31. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot