Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2018, 17:42   #11
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Цитата:
Сообщение от Sam Gold Посмотреть сообщение
с объектами в Делфи, и что-то это уже не кажется мне простой задачей.
Забудьте про object. Объектами в Delphi называется переменена класса.
Код:
 TFoo=class
  ...
  end;

var Foo:TFoo;
Foo - это объект.
И именно этому и надо учить.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 23.04.2018, 01:14   #12
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Цитата:
Сообщение от Sam Gold Посмотреть сообщение
По условию задачи надо на Дельфях, но с синтаксисом Паскаля.
Вот на это хотелось бы получить более подробное разъяснение. Дело в том, что Дельфи в основном использует именно синтаксис Паскаля. Кроме одной разницы. Последняя версия Турбо Паскаля (TP6, если мне изменяет мой склероз) позиционировалась как Turbo Pascal with objects. И вот её синтаксис в отношении объектов был слишком плохо придуманным. При разработке Дельфи от такой работы с объектами отказались сразу и категорически (хотя некоторые рудименты таки остались непонятно для чего и по чьей вине).
Одно могу сказать с полной уверенностью. На Дельфи очень легко перенести программу из любого Турбо Паскаля. Кроме ТП6. Такую программу по крайней мере на порядок проще написать заново, поняв суть этой программы и её интерфейс.
P.S. Кстати к к ТП6 стоит добавить ещё и ТП7 aka Borland Pascal for Windows.

Последний раз редактировалось northener; 23.04.2018 в 01:22.
northener вне форума Ответить с цитированием
Старый 23.04.2018, 22:46   #13
Sam Gold
Форумчанин
 
Аватар для Sam Gold
 
Регистрация: 26.03.2010
Сообщений: 538
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Вот на это хотелось бы получить более подробное разъяснение.
Со слов знакомого, которому объясняю: Есть в одном универе курс, где доблестно преподается Паскаль уже N-дцать лет.
В связи с тем, что TP7 на современных системах без дополнительных ухищрений не запускается, в качестве IDE для выполнения лаб используется Delphi. Т.е. все лабы как были составлены для Паскаля, так и остались, плюшки Дельфей не используются. Но в лекции внесено пара слов про Delphi. В основном, про строки. В остальных лекциях заменены слова TP7 на Delphi. И все.

Знакомому было непонятно ООП (что при тех лекциях ожидаемо) и он попросил меня разъяснить. Я пояснил идею. И попытался написать для этого код, используя материал его лекций. Но столкнулся с трудностями, о которых и спрашивал выше.

Погуглив, нашел информацию о class. Ради интереса, реализовал простейший класс с использованием class (Сорри за тавтологию). Это уже оказалось ближе к привычному мне C++. Собственно, вопросы о class продиктованы только моим любопытством. Знакомый сказал, что class использовать при выполнении лаб и сдаче экзамена нельзя.

P.S. Не думал, что еще где-то преподают студентам Паскаль. Однако же...
Единственный способ стать умнее - играть с более умным противником.
Sam Gold вне форума Ответить с цитированием
Старый 24.04.2018, 17:38   #14
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от Sam Gold Посмотреть сообщение
В остальных лекциях заменены слова TP7 на Delphi. И все.
Не могу удержаться: https://bash.im/quote/449463
Black Fregat вне форума Ответить с цитированием
Старый 25.04.2018, 01:35   #15
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Цитата:
Сообщение от Sam Gold Посмотреть сообщение
В связи с тем, что TP7 на современных системах без дополнительных ухищрений не запускается
Неужели в том универе все учебные компьютеры работают на ОС х64? Других проблем с ТР версий от 5 и выше ни вижу. Сам вплоть до декабря 17-го (2017, Карл ) работал с ТР6 регулярно-постоянно вплоть до Win7 x86.

Цитата:
Сообщение от Sam Gold Посмотреть сообщение
P.S. Не думал, что еще где-то преподают студентам Паскаль.
А собственно пуркуа бы и не па? Ведь если верить некоторым утверждениям приписываемым некоторым авторам Паскаля, язык создавался в том числе и как учебный язык. Позволяющий научиться основам алгоритмики в первую очередь. В том числе поэтому в Паскале столь строгая типизация, в отличии от того же Си, в котором допускается слишком много вольностей.
northener вне форума Ответить с цитированием
Старый 26.04.2018, 19:54   #16
Sam Gold
Форумчанин
 
Аватар для Sam Gold
 
Регистрация: 26.03.2010
Сообщений: 538
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Неужели в том универе все учебные компьютеры работают на ОС х64?
Win10 x64 и Win7 x64. Win7 уже давно везде. Когда я учился, то я знал только одна аудитория с XP. В остальных стояла,немолодая уже тогда Виста или Вин7. Мне тоже пришлось соприкасаться с Паскалем на одном из курсов, и уже тогда он воспринимался всеми как технология античности.
Цитата:
Сообщение от northener Посмотреть сообщение
Сам вплоть до декабря 17-го (2017, Карл ) работал с ТР6 регулярно-постоянно вплоть до Win7 x86.
Позвольте полюбопытствовать, зачем? Вы студент?
Цитата:
Сообщение от northener Посмотреть сообщение
А собственно пуркуа бы и не па?
На мой взгляд, язык подталкивает к плохому стилю кодирования, созданию ненужных сущностей, созданию монструозных конструкций, которые в других языках реализуются гораздо изящнее. Сужу по студентам, которых в универе учили Паскалю или другим языкам (в основном это С). К сожалению, студенты, обученные Паскалю,потом и на других языках пытаются писать в стиле Паскаля, рождая трудночитаемые и трудноподдерживаемые программы. Есть ряд моментов, в которых приходится бороться с синтаксисом языка и городить костыли. Вот пример из этой темы с object дин из них. Для новичка это вообще темный лес, т.е. опять будет плохой код, а что еще хуже - плохое понимание решения задачи и боязнь использования этих конструкций. Например, человек, которому я объяснял про object, вместо создания динамического массива или списка делал объявление огромного статического массива с расчетом на то, что его размера хватит для хранения данных из задачи. Передавал в функцию массив по значению и также возвращал его, в задаче, где этого не требовалось.

Рекомендую прочитать статью Брайана Кернигана Почему Паскаль не мой любимый язык программирования

Цитата:
Сообщение от northener Посмотреть сообщение
Ведь если верить некоторым утверждениям приписываемым некоторым авторам Паскаля, язык создавался в том числе и как учебный язык.
А есть и другое мнение, заключающееся в том,что язык получился таким огороженным, что в реальных проектах его было использовать крайне неудобно, т.е. только для обучения и был хоть как-то пригоден. Хотя мое мнение - обучение можно успешно проводить и на более продвинутых языках. Я бы начал с С, но без всяких извращений, которые приводятся адептами Паскаля (прочитал тут на днях одну статью), как безусловный минус С по сравнению с Паскалем для целей обучения. Если хочется оградить студента от "прострела ноги", то welcome to C# или Java.
Единственный способ стать умнее - играть с более умным противником.
Sam Gold вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в чем отличие class от object? illuminates Общие вопросы Delphi 8 06.06.2012 15:21
Ошибка при подключении к базе данных Object reference not set to an instance of an object. lowercase ASP.NET 1 20.11.2011 22:48
Отличие type T = Object от type T = Class? Warn Общие вопросы Delphi 8 04.11.2011 19:20
Ошибка " Record, object or class type required " (Запись, объектный или классический тип требовались) kta87 Помощь студентам 2 28.02.2010 10:04
Record, object or class type required @mazonk@ Помощь студентам 0 07.06.2009 13:03