|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.04.2018, 17:42 | #11 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Забудьте про object. Объектами в Delphi называется переменена класса.
Код:
И именно этому и надо учить.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
23.04.2018, 01:14 | #12 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,872
|
Вот на это хотелось бы получить более подробное разъяснение. Дело в том, что Дельфи в основном использует именно синтаксис Паскаля. Кроме одной разницы. Последняя версия Турбо Паскаля (TP6, если мне изменяет мой склероз) позиционировалась как Turbo Pascal with objects. И вот её синтаксис в отношении объектов был слишком плохо придуманным. При разработке Дельфи от такой работы с объектами отказались сразу и категорически (хотя некоторые рудименты таки остались непонятно для чего и по чьей вине).
Одно могу сказать с полной уверенностью. На Дельфи очень легко перенести программу из любого Турбо Паскаля. Кроме ТП6. Такую программу по крайней мере на порядок проще написать заново, поняв суть этой программы и её интерфейс. P.S. Кстати к к ТП6 стоит добавить ещё и ТП7 aka Borland Pascal for Windows. Последний раз редактировалось northener; 23.04.2018 в 01:22. |
23.04.2018, 22:46 | #13 |
Форумчанин
Регистрация: 26.03.2010
Сообщений: 538
|
Со слов знакомого, которому объясняю: Есть в одном универе курс, где доблестно преподается Паскаль уже N-дцать лет.
В связи с тем, что TP7 на современных системах без дополнительных ухищрений не запускается, в качестве IDE для выполнения лаб используется Delphi. Т.е. все лабы как были составлены для Паскаля, так и остались, плюшки Дельфей не используются. Но в лекции внесено пара слов про Delphi. В основном, про строки. В остальных лекциях заменены слова TP7 на Delphi. И все. Знакомому было непонятно ООП (что при тех лекциях ожидаемо) и он попросил меня разъяснить. Я пояснил идею. И попытался написать для этого код, используя материал его лекций. Но столкнулся с трудностями, о которых и спрашивал выше. Погуглив, нашел информацию о class. Ради интереса, реализовал простейший класс с использованием class (Сорри за тавтологию). Это уже оказалось ближе к привычному мне C++. Собственно, вопросы о class продиктованы только моим любопытством. Знакомый сказал, что class использовать при выполнении лаб и сдаче экзамена нельзя. P.S. Не думал, что еще где-то преподают студентам Паскаль. Однако же...
Единственный способ стать умнее - играть с более умным противником.
|
24.04.2018, 17:38 | #14 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Не могу удержаться: https://bash.im/quote/449463
|
25.04.2018, 01:35 | #15 | |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,872
|
Цитата:
А собственно пуркуа бы и не па? Ведь если верить некоторым утверждениям приписываемым некоторым авторам Паскаля, язык создавался в том числе и как учебный язык. Позволяющий научиться основам алгоритмики в первую очередь. В том числе поэтому в Паскале столь строгая типизация, в отличии от того же Си, в котором допускается слишком много вольностей. |
|
26.04.2018, 19:54 | #16 | |
Форумчанин
Регистрация: 26.03.2010
Сообщений: 538
|
Win10 x64 и Win7 x64. Win7 уже давно везде. Когда я учился, то я знал только одна аудитория с XP. В остальных стояла,немолодая уже тогда Виста или Вин7. Мне тоже пришлось соприкасаться с Паскалем на одном из курсов, и уже тогда он воспринимался всеми как технология античности.
Цитата:
На мой взгляд, язык подталкивает к плохому стилю кодирования, созданию ненужных сущностей, созданию монструозных конструкций, которые в других языках реализуются гораздо изящнее. Сужу по студентам, которых в универе учили Паскалю или другим языкам (в основном это С). К сожалению, студенты, обученные Паскалю,потом и на других языках пытаются писать в стиле Паскаля, рождая трудночитаемые и трудноподдерживаемые программы. Есть ряд моментов, в которых приходится бороться с синтаксисом языка и городить костыли. Вот пример из этой темы с object дин из них. Для новичка это вообще темный лес, т.е. опять будет плохой код, а что еще хуже - плохое понимание решения задачи и боязнь использования этих конструкций. Например, человек, которому я объяснял про object, вместо создания динамического массива или списка делал объявление огромного статического массива с расчетом на то, что его размера хватит для хранения данных из задачи. Передавал в функцию массив по значению и также возвращал его, в задаче, где этого не требовалось. Рекомендую прочитать статью Брайана Кернигана Почему Паскаль не мой любимый язык программирования А есть и другое мнение, заключающееся в том,что язык получился таким огороженным, что в реальных проектах его было использовать крайне неудобно, т.е. только для обучения и был хоть как-то пригоден. Хотя мое мнение - обучение можно успешно проводить и на более продвинутых языках. Я бы начал с С, но без всяких извращений, которые приводятся адептами Паскаля (прочитал тут на днях одну статью), как безусловный минус С по сравнению с Паскалем для целей обучения. Если хочется оградить студента от "прострела ноги", то welcome to C# или Java.
Единственный способ стать умнее - играть с более умным противником.
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
в чем отличие 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 |