LINUX.ORG.RU
ФорумTalks

Подход к обучении программирования. Почему начинают с низу вверх?


0

0

начала мучать документацию Apple. Введение в core data. То есть самое начала.

Рассказывают об абстрактной программе для контроля работников. И сразу в чистом ООП. Говоря о сохранении в фаил сразу говорят об автоматической сериализации дерева и тд.

Возникла мысль: почему все курсы программирования, что я видел, начинают изучение снизу (для примера: как писать в фаил по байтам), а не с верху (ООП в чистом виде). По моему разумнее было бы начинать учить человека в более привычной ему среде: среде объектов, а не байтов.

ЗЫ: Одному психологу, который хотел научится программировать, но мучился с басиком и С, я посоветовал rubby. Слово rubby теперь у него в ники в аське. Он с легкостью понял как программировать на нем, а в С он решил даже не лезти больше

★★★★
Ответ на: комментарий от Hjorn

То, что хоть какая-то модель создасться в мозгах

namezys ★★★★
() автор топика
Ответ на: комментарий от RedPossum

>на всяких информатиках у бурильщиков/ слесарей-сантехников

>у бурильщиков

Fuck мой мозг! Уже у бурильщиков информатики?

Karapuz ★★★★★
()
Ответ на: комментарий от smh

>Уже через пару часов инструктажа люди могут писать разные программки.

Уже через пару часов инструктажа люди могут писать разные скриптики

fxd

Karapuz ★★★★★
()
Ответ на: комментарий от Karapuz

> Fuck мой мозг! Уже у бурильщиков информатики?

Даже у слесарей-сантехников! :) Информационная эра же...

Hjorn
()
Ответ на: комментарий от Hjorn

Невозможно научить.

>>100% объектно-ориентированный в терминах Smalltalk, без наследия процедурных атавизмов (как Python), с большим количеством синтаксического сахара.

>Так цель какая? Студента сахаром накормить или научить излагать алгоритмы в коде? Во-первых, не для всех задач уместна ОО-декомпозиция. Во-вторых, за ООП нет формальной теории. Каждый понимает как хочет, даже терминологии единой нет. Ну научат его руби, а суровая реальность столкнет с С++. Половина концептов насмарку, другую половину нужно будет переосмысливать.


Во-первых, научить чему-либо невозможно, можно только научиться. Во-вторых, за семестр Программированию (с большой П) не научить, в третьих, обучаться всему нужно по спирали, возвращаясь к старым понятиям на новом витке развития и понимания. Ну, а в четвёртых, вы считаете, что если людям придётся работать с уродским C++, то им сначало надо изуродовать мозг?

Camel ★★★★★
()

Дякую тобi б*же, що я починав з паскаля!

frame ★★★
()
Ответ на: комментарий от madcore

Фанатизма нет.

>>Пожалуй Ruby,

>Уверенности нет?


Фанатизма нет.

Camel ★★★★★
()
Ответ на: комментарий от drull

>нужны психиатры

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

>ненене.. перфокарты - это всего-лишь способ ввода информации.


Это понятно, я чтобы время обозначить.
Не только для ввода кстати, но и для вывода.

Alex_A_V ★★
()
Ответ на: комментарий от Xenius

> В Pidgin команда /buzz пишет "сплетничает о вас", а не "привлекает внимание". Куда там баг отправлять?

отпиши последнему переводчику

overmind88 ★★★★★
()
Ответ на: комментарий от namezys

>Объект это первичная единица информации создания. Точнее образ, а не объект. И еще связи между образами

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

dimon555 ★★★★★
()

Щитаю что учить надо одновременно с двух направлений.

Я одновременно разбирался на Радио-86РК с Бейсиком и Ассемблером (потому что других языков на кассете небыло). Такой подход позволяет получить более полную картину в вопросе как работает компьютер, и что такое язык программирования.

xintrea
()
Ответ на: Невозможно научить. от Camel

> за семестр Программированию (с большой П) не научить

Да, но азы закладываются именно за семестр. И моё мнение - динамическому ОО-языку в этом семестре не место. Вообще странно, вроде бы ОО-хайп давно уже схлынул, а многие по-прежнему сводят всё программирование к одной парадигме.

> вы считаете, что если людям придётся работать с уродским C++, то им сначало надо изуродовать мозг

Ещё неизвестно что больше уродует мозг. Но я напираю на тот факт, что ООП слишком неформальная вещь. Вот вы предлагаете Руби, а почему не CLOS? Там ещё более крутое ООП. Настолько крутое, что "differs radically from the OOP facilities found in more static languages such as C++ or Java" (википедия). Изучать ООП необходимо, спору нет. Но не с 1-го класса, и не вместо всего остального.

Hjorn
()
Ответ на: комментарий от Miguel

Маска, я тебя знаю.

>Fixed.
(Miguel)

Де Иказа detected.

Camel ★★★★★
()
Ответ на: комментарий от Hjorn

Не всё есть ООП.

>вроде бы ОО-хайп давно уже схлынул, а многие по-прежнему сводят всё программирование к одной парадигме.

"Кто он? Назовите этого негодяя!" (Треллони)

Кто сказал ООП? Почему если Ruby, то сразу ООП? Наши абстрактные сферические студенты в вакууме ещё не знают чем цикл отличается от ветвления, а вы уже о таких высоких материях. Чтобы писать на Ruby не нужно знать что такое объектная ориентированность.

Camel ★★★★★
()

Ну хотя бы потому, что OOП это лиш одна из концепций, которая построена поверх других, базовых. Учить одновременно, ОПП и по байтам. То есть одновременно ломать мозги студентов с помощью C, C++ и haskell - можно. Можно синхронизировать материал по разным курсам так, чтобы изучение указателей в С проходило одновременно с изучением работы процессора с памятью в разных архитектурах(допустим x86, arm и итд). Но обучать кого-то просто одному единственно верному пути - это как раз и есть - прошлый век.
Допустимо мне думается выносить множество теорий за рамки обучения того или иного языка программирования и изучать их параллельно. Чтобы у человека не возникало привязанности к языку.
Программист должен знать как работает то, что он пишет, поскольку обязан выбирать эффективные решения. А росказни про тех, кто научился писать на руби, будучи психологом здесь неуместны. Всё таки предполагается, что раз человек что-то делает, то он делать должен это хорошо. И если человек просто парочку скриптов хочет написать - это ещё не значит что его нужно учить программированию. Для таких пора просто начать выпускать книжки типа - "Быстрый курс lua для неудачников".
PS: уверен, что проблемы возникающие из неправильных учебных курсов свойственны только тем, кто неспособен аналитически мыслить и выучив какой-нибудь С потом уже везде и всегда всем советует писать только на нём. В иных же случаях нет никаких проблем изучения asm->C->C++->Haskell(или что-нибудь ещё)

ixrws ★★★
()
Ответ на: Не всё есть ООП. от Camel

> Наши абстрактные сферические студенты в вакууме ещё не знают чем цикл отличается от ветвления, а вы уже о таких высоких материях. Чтобы писать на Ruby не нужно знать что такое объектная ориентированность.

Ну это лукавство всё же. Как минимум надо понимать, что такое объект и сообщение. А это уже тянет за собой много чего. В руби вообще достаточно сложная семантика для абсолютного новичка. Взять те же блоки - тут уже маячат колбэки и ФВП. И их смысл надо тоже с самого начала постичь, иначе будет сплошная магия, а не программирование. С другой стороны, тема императивных циклов в руби не раскрыта. Так что есть много важных нюансов, которые опытному программисту кажутся несущественными.

Hjorn
()
Ответ на: комментарий от Hjorn

Быдлокод.

>Как минимум надо понимать, что такое объект и сообщение...

Полистай вот эту книжку

http://pine.fm/LearnToProgram/

В самом начале можно избежать объяснения многих вещей. Если их избегать потом, то получиться быдлокодер. Но начать можно и попроще.

Camel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.