Страница 1 из 2

На какие моменты стоит уделить внимание...

СообщениеДобавлено: 22.07.2010 07:00:41
Light13
Вообщем, меня занесло на заочку в пед. институт. Конкретно корочка нужна была.
Вот и 5 курс скоро.
Хочется все ж сделать и что-нить полезное. В планах на диплом взять составление методических рекомендаций для преподавателей с примерами для обучения программированию на fpc, конкретно в среде lazarus.
Итак нужно что-то вроде плана работ: что и в каком порядке выдавать? Какие моменты затронуть подробнее, что можно не раскрывать, а пройтись поверхностно?

Примерный план:
Кроссплатформенность, особенность реализации приложений.
Настройки IDE Lazarus.
UTF8.

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

Помогите с перечислением и упорядочиванием изложения.

Re: На какие моменты стоит уделить внимание...

СообщениеДобавлено: 22.07.2010 10:16:12
Climber
Light13 писал(а): То есть нужно перечислить наиболее часто встречаемые грабли

Наиболее часто встречаемые "грабли" - это
ПОЧЕМУ ТАКОЙ БОЛЬШОЙ EXE? :lol:
Потому что галочку не поставили "Вырезать символы из исполнимого файла" (Проект - Параметры компилятора - Связывание).

А если серьезно, то:
1. Основы ООП.
2. Основы ООП.
3. Основы ООП для тех, до кого еще не дошло. Там на самом деле все просто.
4. Юнит-тесты и fpcunit.
5. Проектирование, шаблоны и UML (просто рассказать, что такое тоже бывает, серьезно вникать не стоит).
6. Теперь можно перейти к ГУИ и показать, как там применяется ООП на примере основных визуальных компонентов.
7. А теперь писать обработку Button1Click школьникам уже неинтересно, можно научить их делать что-нибудь прикольное. Например, простенький UML-редактор.

P. S. Готов оказывать практически любое содействие, но в пределах разумного.
P. P. S. Неужели, через 60 лет после фон Неймана и Винера, 43 года после изобретения ООП и через 15 лет после появления джавы кто-то в этой стране решил писать методическое пособие по обучению объектно-ориентированному программированию для школьников?

Re: На какие моменты стоит уделить внимание...

СообщениеДобавлено: 22.07.2010 10:37:24
hinst
насчёт почему большой EXE: встречался с людьми, которые спрашивали, почему такой большой, и оказывалось, что они имели в виду не то, что я предполагал... я им говорил вырубить отладочную информацию, а они уже вырубили (сами додумались что-ли?) отладочную информацию и говорили так: вот вообще размер екзешника большой, а когда отладочная информация врублена, то он слоноподобный. так что надо ещё прояснить, что LCL - это не VCL, а большая-пребольшая кроссплатформенная библиотека, так что нечего удивляться большому размеру, дорогие мои. :twisted: Серьёзная библиотека - серьёзный размер!

Re: На какие моменты стоит уделить внимание...

СообщениеДобавлено: 22.07.2010 10:46:54
yurgel
да ладно, после strip-а и upx - размеры самые обыкновенные.

Re: На какие моменты стоит уделить внимание...

СообщениеДобавлено: 22.07.2010 10:47:14
Light13
Метод пособие будет как раз не для школьников, а для преподавателей.
Т.е. некие указания, как ходить в этом "огороде" и не очень часто наступать на грабли :)
Climber пасиб за наводки

рад любым комментариям :)

З.Ы. Лучше несколько раз наступить на взрослые грабли, чем один раз на детские (с) :[|||]:

Re: На какие моменты стоит уделить внимание...

СообщениеДобавлено: 22.07.2010 10:49:41
.wOvAN
hinst писал(а):надо ещё прояснить, что LCL - это не VCL, а большая-пребольшая кроссплатформенная библиотека, так что нечего удивляться большому размеру, дорогие мои. :twisted: Серьёзная библиотека - серьёзный размер!


Не вижу связи, так как {$IFDEF} -ы как раз таки вырезают весь ненужный для данной платформы код.

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

к тому же до сих пор в LCL такая уйма глюков и недоделок. что я думаю до оптимизации кода ещё далеко.

Re: На какие моменты стоит уделить внимание...

СообщениеДобавлено: 22.07.2010 10:55:35
hinst
зря вы не видите связи. всё равно любая библиотека, будь она хоть для сжатия звука, увеличивается от кроссплатформенности.
сделай хоть что угодно в двух вариантах:
- чисто для одной платформы
- кросс-платформенный вариант
путь у вас и вырежется код, не нужный для других платформ, всё равно та, что кросс-платформенная получится масштабнее.
а в LCL по сравнению с VCL ещё и достаточно усовершенствований и добавлений

Re: На какие моменты стоит уделить внимание...

СообщениеДобавлено: 22.07.2010 10:55:50
.wOvAN
зы: у меня давно живет идея, ещё со времен дельфи, почему не ввести опцию компилятора что нибудь на подобие {$NODESIGNCODE} то есть, чтобы при компиляции можно было вырезать из конечного исполняемого весь код отвечающий за Design time компонента, этож нехилое количество кода в виде разных редакторов свойств проверок и всего прочего, а так поместил все дизайнеры в, скажем {$DESIGNCODEBEGIN} ... код ... {$DESIGNCODEND} а потом спокойно вырезал директивой из конечного исполняемого. :?:

Re: На какие моменты стоит уделить внимание...

СообщениеДобавлено: 22.07.2010 11:03:59
Light13
давайте не отходить от темы :)

Re: На какие моменты стоит уделить внимание...

СообщениеДобавлено: 22.07.2010 11:09:07
yurgel
вы определитесь, что вы хотите: "справочник по граблям", или таки методически рекомендации? это принципиально разные вещи.

Re: На какие моменты стоит уделить внимание...

СообщениеДобавлено: 22.07.2010 11:26:31
Light13
с учетом 4 лет учебы - я могу дать определение метод рекомендациям :)
сейчас я собираю грабли, основные моменты в работе - чтобы разработать рекомендации
нечего сказать - лучше промолчите, могу обидеться :D

Re: На какие моменты стоит уделить внимание...

СообщениеДобавлено: 22.07.2010 11:29:40
Climber
Light13 писал(а):Метод пособие будет как раз не для школьников, а для преподавателей.
Но это же будет пособие "чему и как учить школьников"? Я это имел ввиду. Сначала научим учителей, потом их подопечных, потом модернизация страны ... PROFIT! 8)
А всякие глюки... Если у школьников будет стоять убунта, то лазарь на ней ваще летает и не глючит почти. У меня больше всего бед было с установкой компонентов, в винде весь моск вынес, а поставил убунту - до сих пор кайфую, как будто с теперешней жары под кондей залез.

Re: На какие моменты стоит уделить внимание...

СообщениеДобавлено: 22.07.2010 11:36:30
yurgel
Light13 писал(а):нечего сказать - лучше промолчите


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

Re: На какие моменты стоит уделить внимание...

СообщениеДобавлено: 22.07.2010 11:51:30
Light13
насчет подучить учителей - верно замечено.
у самого под ubuntu робит.

Вырисовывается следующая схема (походу только рекомендациями не обойтись, будет пособие):
1. Основы алгебры логики
2. Основы алгоритмизации
2.1 Линейный алгоритм
2.2 Ветвление
2.3 Цикл
3. fpc
3.1 Структура программы
3.2 Простые типы данных
3.3 Операторы ввода/вывода
3.4 Операторы ветвления
3.5 Операторы цикла
3.6 Структурированные типы данных
3.7 Основы ООП
3.8 Принципы кросс платформенного программирования
4. IDE Lazarus
4.1 Основные элементы среды
4.2 Настройка среды
4.3 Структура проекта
4.4 Особенности программирования в среде
4.5 Использование стандартных компонент //спасибо yurgel
5. Структуры данных и алгоритмы
5.1 Связные списки
5.2 Деревья
5.3 Очереди
5.4 Конечные автоматы
5.5 Алгоритмы сортировки
5.6 Алгоритмы поиска

Терь из этого всего помогите отобрать ключевые моменты - ибо все за полгода не реализую :)

Re: На какие моменты стоит уделить внимание...

СообщениеДобавлено: 22.07.2010 12:13:33
Climber
Light13 писал(а):4.4 Особенности программирования в среде

Это какие? Мне аж интересно стало, я наверное уже так к ним привык, что не замечаю :wink:
Light13 писал(а):4.5 Использование стандартных компонент

Это надо еще в водную часть вынести, туда, где говорится об общих принципах программирования - повторная используемость и т. д.
Light13 писал(а):5. Структуры данных и алгоритмы

Коллекции забыл.
Light13 писал(а):5.5 Алгоритмы сортировки

алгоритм сортировки очень простой:
select * from my_table order by 1
Light13 писал(а):5.6 Алгоритмы поиска

Аналогично сортировке:
select * from my_table where 'substring' in '%string_field%'
У меня есть мнение, что эти вещи актуальны в наше время для разработчиков СУБД. Возможно, оно ошибочно.

Light13 писал(а):Терь из этого всего помогите отобрать ключевые моменты - ибо все за полгода не реализую :)
Они все ключевые :lol: