Какой самый простой / эффективный способ изучения Delphi?

25

Я совершенно новичок в программировании, и я выбрал Delphi как язык программирования, который хотел бы изучить.

В основном я хочу создавать инструменты, которые будут заполнять и отправлять веб-формы с помощью сокетов, и я хочу, чтобы они были многопоточными.

Мне бы очень хотелось, чтобы они были многофункциональными и работали правильно.

Я не спешу делать это, потому что понимаю, что для достижения эффективности (особенно программирования) требуется время. Тем не менее, я хочу взять кратчайший путь, который я могу изучить.

Если бы это было возможно, я бы с удовольствием пошел в школу, чтобы выучить язык, но кажется, что в США нет школ, которые его учат.

Я нашел довольно много информации в Интернете, которая помогла мне получить базовые знания о том, как все работает внутри IDE и как создавать базовые приложения, но я хочу, чтобы иметь возможность создавать действительно хорошие приложения, которые эти учебники не научи меня, как это делать.

Итак. Мой вопрос: как мне превратиться в эксперта-программиста Delphi, не имея никакого "Реального Учителя", чтобы вести меня? Как вы, ребята, учились?

Будет ли изучение другого языка программирования с помощью учителя, и они вернутся к delphi, имеют смысл?

Любой ввод хорошо оценен.

Спасибо..

  • 1
    Есть ли конкретная причина, по которой вы выбрали Delphi? Как вы, возможно, обнаружили, это что-то вроде нишевого языка. Может быть, Ruby или Python - два широко используемых языка, хорошо подходящих для веб-программирования - как ваш первый язык?
  • 13
    @Tim: Ruby и Python кажутся мне даже «более неловкими».
Показать ещё 14 комментариев
Теги:

11 ответов

37
Лучший ответ

Бывший менеджер по продуктам Delphi Ник Ходжес создал 30 видео-демонстраций, предназначенных для новых пользователей Delphi и языка объекта-паскаля. UPDATE 2017. Эта ссылка мертва, теперь к видео можно получить доступ благодаря архиву здесь.

Видео воспринимают зрителя с помощью основ IDE, языка, и каждая демоверсия в основном основывается на предыдущем, чтобы в конечном итоге создать не слишком потрепанный текстовый редактор графического интерфейса.

Если вы новичок в Delphi, это отличное место для начала работы с языком, и Id настоятельно рекомендует инвестировать время и смотреть видео. Я видел их всех, и это помогло мне совсем немного.

В видеороликах используется Delphi 2006, но эти демонстрации полностью действительны для любых новых (и, вероятно, более старых версий Delphi). Вот темы, затронутые в видео:

ПРИМЕЧАНИЕ. Если видео уже недоступны на первоначально размещенной странице, вы все равно можете получить их с сайта archive.org: https://web.archive.org/web/20130630143102/http://blogs.embarcadero.com/nickhodges/2006/08/15/26687

Загрузите ZIP файл для каждой темы, содержащей видео для этой темы.

  • 1 - Введение в IDE
  • 2 - Hello World
  • 3 - Разработка основных приложений
  • 4 - Введение в язык
  • 5 - Еще одно введение Lanugage
  • 6 - Манипуляция основной строкой
  • 7 - Базовые типы данных
  • 8 - Устанавливает
  • 9 - Массивы
  • 10 - Записи
  • 11 - Основные данные
  • 12 - Простой класс
  • 13 - Процедура и функции
  • 14 - Единицы
  • 15 - Наследование
  • 16 - Полиморфизм
  • 17 - Почему ООП
  • 18 - Свойства
  • 19 - Видимость членов
  • 20 - Конструкторы и деструкторы
  • 21 - TurboPad: О блоке
  • 22 - TurboPad: файл открыт
  • 23 - TurboPad: меню "Файл"
  • 24 - TurboPad: сохранение
  • 25 - TurboPad: меню редактирования
  • 26 - TurboPad: панель инструментов
  • 27 - TurboPad: Word Wrap и Fonts
  • 28 - Живые шаблоны
  • 29 - Рефакторинг
  • 30 - Отладчик

И как только вы пройдете через видео, перейдите на веб-сайт Основы Delphi и добавьте его в закладки. Серьезно, я все еще использую этот сайт около 10 раз в день для справки на Delphi.

Я бы также рекомендовал прочитать delphi.about.com " A Руководство для начинающих по программированию на Delphi ", который является хорошим праймером для программирования Delphi.

Кроме того, IMO для наиболее важного (и лучшего) ресурса для обучения Win32 API - Марк Руссинович Внутренние внутренние операционные системы Windows Учебный план, который предлагается бесплатно.

Он предназначен для использования преподавателем для обучения студентов. Я прошел через него, и это здорово. Полный примеров, истории и подробных объяснений. На мой взгляд, это идеальный способ изучить Windows API.

  • 6
    Как это может получить отрицательный голос? Это в основном личный опыт - так точно, как на такой вопрос можно ответить ..
  • 4
    Я просто шокирован и польщен тем, что эти 30 видео Camtasias за 30 дней все еще привлекают столько внимания.
Показать ещё 6 комментариев
8

Просто программируйте все, что кажется забавным, решайте проблемы по мере их возникновения, и в конце концов вы станете экспертом.

Можно запомнить три подсказки.

  • Если вы столкнулись с проблемой, слишком большой для проглатывания в одном gulp, разделите ее на меньшие задачи и решите по очереди.

  • Если вы сомневаетесь, всегда выбирайте самое простое решение, затем обновляйте по мере необходимости.

  • Google знает все. Если вы не знаете, что искать, прочитайте теорию, пока не узнаете об этом.

Например, вы говорите, что вы

хотите создать инструменты, которые будут заполнять и отправлять веб-формы с использованием сокетов, и я хочу, чтобы они также были многопоточными.

Разделите это на более мелкие проблемы. Вам не нужно многопоточность с самого начала, поэтому отложите это. Ваша первоначальная задача - просто узнать, как отправлять формы вообще.

Как это сделать? Google вокруг, читайте статьи в Википедии по HTTP и всему, что связано до тех пор, пока вы не узнаете основы. Вам еще не нужно разбираться в специфических деталях, только чтобы получить общие представления о том, какие компоненты существуют и как они связаны.

Затем выберем простейшее решение. Вы не хотите использовать сокеты с самого начала. Если есть готовые компоненты для отправки HTTP-запросов, вы должны использовать их, пока не знаете, как сделать одно и то же вручную.

  • 0
    Я полностью согласен с этим, но проблема в том, что я не могу найти ответы на свои вопросы, когда пытаюсь иногда решить самые маленькие проблемы. Например, сейчас моя цель - научиться отправлять простую веб-форму с использованием сокетов, но я нигде не могу найти информацию. Пока я купил 3 книги, и все они в основном учат вас одному и тому же. Конечно, я в конечном итоге разберусь во времени методом проб и ошибок, если продолжу играть с ним, но я бы предпочел более легкий путь к изучению этого, если есть такой.
  • 0
    вам нужно посмотреть на компонент TWebBrowser для публикации в веб-формах, например: delphifaq.com/faq/delphi/network/f249.shtml google twebbrowser и разместить веб-форму
Показать ещё 1 комментарий
5

Я программист-самоучка. Я начал программировать в возрасте 12 лет, когда я получил доступ к Delphi 4 Personal, который был бесплатно распространен в компьютерных журналах. (Да, это в основном, почему сегодня я эксперт по Delphi. В ретроспективе, следовательно, это было очень плодотворное тактическое решение Borland сделать Personal Edition. Конечно, у них было очень много разработчиков таким образом.)

Я все узнал, изучая примеры и проб и ошибок. Это заняло довольно много лет, но это, безусловно, сработало. Кроме того, поскольку Delphi является родным компилятором Win32, чтобы освоить разработку Delphi, вам необходимо освоить разработку Win32. Неоценимый ресурс тогда MSDN и общие книги программирования Win32 (такие как Старая новая вещь от легенды Microsoft Раймонда Чена). Кроме того, не забывайте, что существует довольно много интересных хороших блогов Delphi.

Кроме того, чтобы продвигаться дальше как программист, вам нужно практиковать, на "трудных" вещах.

  • 1
    Стоит отметить, что VCL и другие стандартные библиотеки хорошо справляются с абстрагированием большей части Win32. Возможно, вам, в конце концов, придется изучить кое-что из этого, но вам не обязательно быть мастером Win32, чтобы работать с Delphi. (Особенно с предстоящим кроссплатформенным выпуском.)
4

Несколько лет назад я попытался изучить Delphi, а затем разочарован. Я учился сам и имел трудное время с неполными документами и несколькими текущими книгами. Оглядываясь назад, устаревшие книги были не такими проблематичными, как более современные книги, потому что более современные книги написаны для аудитории, которая знает как Паскаль, так и Дельфи, и, таким образом, оставляют много важной информации для новичка. Я работал над переносом проекта VB6 и в конечном итоге использовал .Net, который был более знаком, учитывая мой опыт работы на VB и Java.

Совсем недавно мне пришлось написать небольшую утилиту, которая нуждалась в некоторых прямых функциях Win32, и я подумал, что это будет хороший проект для Delphi. Маленький, быстрый, Win32. Я вычистил лицензию и снова начал копаться. За прошедшие годы я изучил еще несколько языков и был менее тупик синтаксисом Pascal, чем предыдущая попытка. Через несколько часов я закончил свою задачу, и я решил попытаться узнать немного больше.

До сих пор меня действительно впечатлило Руководство разработчика Delphi 5. Он открыл мне глаза на элегантность VCL и Delphi. Есть более свежие версии, но я думаю, что это один из лучших, потому что он имеет дело с версией Delphi до ныне несуществующего проекта Kylix. Книги, написанные для версии 6 по 2006 год, проводят слишком много времени, описывая либо Kylix, либо Delphi.Net, обе из которых мертвы и бесполезны, чтобы тратить время на обучение. Книги Delphi 5 одинаково до тех пор, как более поздние версии, но тратят все эти страницы на функции Win32 VCL и некоторые очень ценные руководства по Pascal (что удобно для тех из нас, которые прошли через наши школьные годы, не изучая Pascal).

Как вы узнаете о любом новом материале, который произошел с Delphi 5? Я думаю, что короткие книги по сокращению Боба Сварта, вероятно, лучше всего. Вы можете найти их здесь. Многие люди, такие как книги Марко Канту, но я лично не нашел его книги очень полезными.

Удачи! Я с нетерпением жду новых предложений.

2

Если бы это было возможно, я бы с удовольствием пошел в школу, чтобы выучить язык, но кажется, что в США нет школ, которые его учат.

Здесь - довольно обширный список школ, которые учат либо ObjectPascal (Delphi), либо процедурный Pascal. Если вы зачислены в качестве студента, вы можете получить академическую лицензию для Delphi XE Professional за ~ $99. Имейте в виду, что вы не можете создавать коммерческие приложения с академической лицензией.

Итак. Мой вопрос: как мне превратиться в эксперта-программиста Delphi, не имея никакого "Реального Учителя", чтобы вести меня? Как вы, ребята, учились?

Синтаксис синтаксиса не очень сложно освоить, особенно с помощью рук, которые большинство IDE дают вам. Изучение библиотеки Delphi (RTL/VCL) займет гораздо больше времени. Не то, чтобы это было очень сложно (просто наоборот). Там просто так много может предложить. Я использую Delphi уже около 5 лет, но я знаю разработчиков, которые программировали в Delphi с версии 1, которые все еще удивлены функциями, которые они просто не знали.

Но даже изучение библиотеки - это не то, что отличает отличных разработчиков от остальных. Его навыки проектирования, которые сложнее всего освоить. Зная, когда использовать наследование и когда использовать композицию. Зная, когда выбрать полиморфизм или условное утверждение. Изучение дизайна и архитектурных моделей и обучение, когда они уместны, а когда нет. Изучение того, как перейти от определения проблемы к реализации решения. Написание кода, который легко тестировать и легко поддерживать, поскольку возникают новые требования.

Некоторые из этих навыков вы можете узнать из книг или от наставника. Другие могут быть изучены только через опыт.

2

Если вы хотите стать экспертом в Delphi, вам также понадобится стать экспертом в Windows... если я неправильно понимаю ваши намерения. Два больших ресурса:

Вам нужно будет преобразовать образцы в Delphi, но эй, эта отличная практика тоже.

Как я уже упоминал в своем другом ответе, ознакомьтесь с учебным планом внутренних программ Windows Operating Systems Марком Руссиновичем, который предлагается бесплатно. Вы не только узнаете, как работает Windows, но это хороший курс типа "Операционные системы 101".

2

Я в основном хочу создавать инструменты, которые будет заполнять и отправлять веб-формы, используя и я хочу, чтобы они были мульти с резьбой.

Если я понимаю, что вы пытаетесь правильно... вы начинаете с тяжелого конца.

Я долгое время программировал (приложения для Windows) в Delphi, и моя первая попытка многопоточной беседы с http-сервером (с использованием Indy) потерпела неудачу - она ​​работала (вроде) даже при первой попытке, но на самом деле это был несчастный провал. Поэтому многопоточность "сложна" или просто сложна, может быть.

Чтобы заполнить и отправить веб-форму - сначала продумайте, как заполнить онлайн-форму - это даст вам представление о том, что происходит, вы можете сделать это довольно разумно с помощью компонента TWebBrowser (я только что сделал это). Затем определите, как нажать кнопку отправки в онлайн-форме. Помните, что вы будете иметь дело с процессом, который удален от вас, и что вы не имеете окончательного контроля. Удачи (вам также понадобится настойчивость).

1

Delphi отлично.

Я изучил инструменты в классе в США, за трехдневный курс. Это было огромным преимуществом, и начался большой прыжок.

Затем я вернулся в офис и начал писать программы, которые мне были нужны, и фактически использовал бы и продолжал использовать в течение довольно долгого времени. Я постоянно совершенствовал программы. Необходимо использовать инструменты, которые вы разрабатываете, и понимать точку зрения пользователя.

Чтобы сделать следующий большой шаг и стать отличным программистом, он выходит за рамки изучения инструментов. Вы должны иметь некоторое формальное образование, чтобы изучить некоторые основные принципы. У меня было это до того, как я узнал Дельфи. Это не означает, что вы не можете самостоятельно изучать их самостоятельно, но вы не можете их изучать с помощью проб и ошибок.

Узнайте о шаблонах проектирования.

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

Обнимите общие принципы пользовательского интерфейса. Если ваш пользовательский интерфейс действует так же, как и все остальные, пользователь будет знать, как его использовать, не читая документацию.

Изучите жизненные циклы разработки программного обеспечения, такие как жизненный цикл разработки гибкой системы.

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

Напишите что-нибудь сегодня.

1

Я поддерживаю сказанное выше. Кроме того, я скажу, что выбираю нетривиальный проект и работаю над ним в Delphi! Инструмент, который вы хотели иметь, но вы еще не нашли что-то, что соответствует вашим потребностям, или даже даже что-то, что вы уже использовали, и вы хотите увидеть, можете ли вы разработать что-то подобное в Delphi. То, что я изучил Delphi... (я все еще учился, я начал работать в Delphi около 3 месяцев назад, но это не мой первый язык, поэтому некоторые из этих знаний были перенесены. Но, думая об этом, мне жаль, что я не изучил Delphi первым!), Вы также, вероятно, слышали это много раз, но читали хороший и хорошо написанный код! Каждый раз, когда я узнаю о новой функции Delphi, я пытаюсь занять некоторое время и прочитать ее реализацию, и я узнал пару вещей таким образом!

1

Кажется, не каждый может быть хорошим программистом (см. также Joel комментарий), поскольку некоторые люди, похоже, испытывают массу проблем с пониманием базовых концепций, таких как указатели и рекурсия, которые являются индикаторами дефицита некоторых навыков решения проблем. Может быть, ты такой человек, может быть, и нет.

Сказал, что, я думаю, вы должны сначала изучить проблему абстракции, логику программирования, а затем научиться цели базовой структуры данных (массивы, списки, словари, записи, классы, деревья и т.д.) и некоторые базовые разработки программного обеспечения (MVC, возможно, объектно-ориентированные концепции дизайна, и т.д.).

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

Получите хорошие книги по программированию и структурам данных. Взятие классов также является хорошей идеей, не имеет значения, являются ли они специально для Delphi, поскольку концепции разработки программного обеспечения не зависят от конкретного языка, и знание может передаваться с одного языка на другой.

Очевидно, вам следует попытаться применить на практике то, что вы узнали. Практикуйте много, но постарайтесь понять, что вы делаете, и когда дело идет не так, постарайтесь понять, почему.

В любом случае, если вы действительно хотите создать одно приложение, то пропустите все выше и приступите к пробному и ошибочному подходу.

  • 0
    Я на самом деле хочу создавать много разных приложений в долгосрочной перспективе. Но сейчас я хотел бы начать с одного небольшого проекта, который я имею в виду, и идти оттуда. Спасибо за ваш вклад.
0

Эти ответы велики, и вы, вероятно, получили достаточно информации, чтобы изучить Delphi, но я хотел бы добавить некоторые из моих учебных решений. Он нацелен на абсолютного новичка и основывается на предыдущих знаниях, полученных из этого материала.

Список воспроизведения программ Delphi на YouTube: https://www.youtube.com/playlist?list=PLfrySFqYRf2dKxG1Xd1sJaEMtoVTeL5dw

Приложение для поддержки программирования Delphi на Softpedia: http://www.softpedia.com/get/Programming/Other-Programming-Files/Delphi-Execute-Files-Helper.shtml

Приложение для программирования Delphi в Windows Store: https://www.microsoft.com/en-us/store/p/delphi-programming-helper/9mtrd2ptbvcp

Надеюсь, это поможет вам.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню