Re[4]: C# для школьников
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.08.04 17:49
Оценка:
Здравствуйте, Alik, Вы писали:

VD>>Думаю, что они преподают детям Паскль используя Дельфи в качестве среды и компилятора.


A>Ты ошибаешься.


Тогда почему у тебя проскакивало слово Дельфи?

A> Процедурную часть паскаля преподают с использованием TP7.0, хотя и делфи тоже можно использовать. Но для изучения основ алгоритмизации этого вполне достаточно.


Дык достаточно и хорошо — это разные понятия. Уж лучше пусть они сразу привыкают к более менее современной среде.

А видовс они у вас как осваивают?
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: C# для школьников
От: Silver_s Ниоткуда  
Дата: 23.08.04 18:14
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>А теперь попробуйте встать на место бедного учиника... Он рельно не понимает, что такое класс, тип и т.п. Но ему показывают какую-то слжную кракозябру с тысячей свойств и методов...



Тут палка о двух концах. Пощупать что-то кульное тоже полезно. Но сразу предупредить чтобы не лезли в детали. Для начала им достаточно знать что в консольном приложении одна точка входа (main). А в WinForms их много, и входим в них через кнопочки на форме.

А кто начнет приставать с расспросами что эти 5 строк ниже означают. Того сразу указкой по голове за хулиганство, и родителей к директору.

[STAThread]
static void Main() 
{
    Application.Run(new Form1());
}
Re[9]: C# для школьников
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.08.04 20:59
Оценка:
Здравствуйте, Silver_s, Вы писали:

S_>Для начала им достаточно знать что в консольном приложении одна точка входа (main). А в WinForms их много, и входим в них через кнопочки на форме.


Вообще-то точка входа и функции ввода — это разные вещи. Да и в констольком приложении точек ввода может быть куча. В них только один интерактивный поток.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: C# для школьников
От: Silver_s Ниоткуда  
Дата: 24.08.04 09:19
Оценка:
Здравствуйте, VladD2, Вы писали:

S_>>Для начала им достаточно знать что в консольном приложении одна точка входа (main). А в WinForms их много, и входим в них через кнопочки на форме.


VD>Вообще-то точка входа и функции ввода — это разные вещи. Да и в констольком приложении точек ввода может быть куча. В них только один интерактивный поток.


Тем кто начинает изучать программирование врядли удастся обьяснить что такое интерактивный поток или цикл обработки сообщений win.
Для них точка входа это то место с которого начинается выполнение программы. Это то место куда они могут впендюрить свой код и исполнить.
В консольном приложении точка входа это функция Main. И попадаем в нее когда нажимаем enter на имени exe'шника в Far manager
А в WinForms приложения нету функции Main. Там в точки входа попадаем когда жмем на кнопочки.
Re[11]: C# для школьников
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.08.04 10:59
Оценка:
Здравствуйте, Silver_s, Вы писали:

S_>Тем кто начинает изучать программирование врядли удастся обьяснить что такое интерактивный поток или цикл обработки сообщений win.

S_> Для них точка входа это то место с которого начинается выполнение программы. Это то место куда они могут впендюрить свой код и исполнить.

Так и не нужно запудривать им голову не верным применением терминов.

S_> В консольном приложении точка входа это функция Main.


В твоей формулировке нет. В твоей — это Read/ReadLine. Иначе в неконсольном прилоежении точка входа всеравно Main.

S_> И попадаем в нее когда нажимаем enter на имени exe'шника в Far manager


Попадаем в нее когда запускаем ЕХЕ-шник. А нажатие на Enter вообще будет проигнорировано если не вызваны Read/ReadLine.

S_> А в WinForms приложения нету функции Main.


Очень смешно. А вот этот пример:
[STAThread]
static void Main() 
{
    Application.Run(new Form1());
}

кто писал?

S_> Там в точки входа попадаем когда жмем на кнопочки.


Вот я и говорю. Такую неверную информацию нельзя давать ученикам в принципе, а темболее оправдывая ее благими намерениями упростить изложение.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: C# для школьников
От: Silver_s Ниоткуда  
Дата: 24.08.04 19:47
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Вот я и говорю. Такую неверную информацию нельзя давать ученикам в принципе, а темболее оправдывая ее благими намерениями упростить изложение.


Ну не знаю, так ли это плохо если они будут знать поначалу только 4 ключевых слова языка C#: int,if,for,MessageBox.Show . А потом со временем устаканят знания. Им ведь главное по началу чтобы все работало, а не то как синтаксические анализаторы и кодогенераторы обрабатывают ключевое слово MessageBox.Show
Re[9]: C# для школьников
От: dshe  
Дата: 25.08.04 07:04
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, Alik, Вы писали:


WH>>>2Alik как ты думаешь почему распространено мнение что не дельфих пишут только ламеры? Хотя это не так.

WH>>>Это происходит именно по тому что подавляющие большинство дельфи "программистов" только и умеют кдать на форму кнопки и писать операторы.

A>>У меня, к сожалению, нет статистики, но я лично знаю двух "дельфистов" очень высокой квалификации, которые создали систему документооборота и перевели на нее ГлавКиевАрхитектуру. Было это лет 5 назад. Насколько я знаю, система до сих пор там в работе.

WH>Видимо ты не заметил выделеного. У меня друг тоже дельфист при том очень высокой квалификации. Я же говорил про большинство которое и создает репутацию.

WH>Вобще я это к тому чтобы из ваших учеников не получились "кнопка, форма шлепатели" которые мнят себя программистами.


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

Что касается "формошлепания", то -- это просто признак молодости. Оно проходит само собой с появлением новых, интересных, увлекательных задач.
--
Дмитро
Re[13]: C# для школьников
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.08.04 17:21
Оценка:
Здравствуйте, Silver_s, Вы писали:

S_>Ну не знаю, так ли это плохо если они будут знать поначалу только 4 ключевых слова языка C#: int,if,for,MessageBox.Show . А потом со временем устаканят знания. Им ведь главное по началу чтобы все работало, а не то как синтаксические анализаторы и кодогенераторы обрабатывают ключевое слово MessageBox.Show


"поначалу" у них уже есть. Им давали 100 часов Паскаля.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: C# для школьников
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.08.04 11:18
Оценка: +3 :))) :)
Здравствуйте, dshe, Вы писали:

D>Из школьников, которые мнят себя программистами, со временем действительно получаются хорошие программисты. Это совершенно здоровые амбиции, которые и являются стимулом к дальнейшему развитию.


D>Что касается "формошлепания", то -- это просто признак молодости. Оно проходит само собой с появлением новых, интересных, увлекательных задач.


К сожалению, зачастую эта "болезнь молодости" прогрессирует и превращается в итоге в старческий маразм.

Мой опыт не велик. Но все же прослеживается тенденция. Если человек начинал программировать как формошлеп или на каком-нибудь ВБ и потом не сделал значительного усилия чтобы изучить другие языки, технологии, подходы, то он так и остается "гуёвой мышевозилой бзе проблесков разума".
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: C# для школьников
От: Yachtsman Россия  
Дата: 17.01.05 19:41
Оценка:
Здравствуйте, Alik, Вы писали:
A>Ученик всегда зависит от знаний учителя. И это не повод не учиться.
A>Если ты сможете обосновать преимущество, можно перейти и на ASP.NET. Я всегда открыт для новых идей.

А вот например...
Автор: Spidola
Дата: 09.01.05
Это не обоснование преимущества, но повод для размышлений...
... << RSDN@Home 1.1.4 beta 3 rev. 297>>
Все, что ни делается — делается к лучшему!
Re[4]: C# для школьников
От: Astaroth Россия  
Дата: 09.02.05 18:05
Оценка: +1 -2 :)
Здравствуйте, J-peg, Вы писали:

JP>Что-то всё это сильно на агитацию смахивает.


Гораздо больше на неё смахивает идея MS вбить эту формотаскательно-мышекликательную дурь (sorry за резкость) ещё в школе

Не, я, конечно, понимаю, что C# — не дельфи, но:

Новичку обычно трудно понять разницу между программой и её интерфейсом. Обычно "чайникам" кажется, что выпадающее полупрозрачное меню — это супер, потому что сложно, а, скажем, картинку на произвольный угол переверуть (будем считать, что стандартной функции для этого нет) — "а чего тут такого-то?.."

Отсюда мораль: "чайник", которого учат программированию, будет, в первую очередь, ваять интерфейс. И вряд ли займётся чем-нить более серьёзным. И если ваяние интерфейса будет делом простым — то и программирование будет восприниматься "да как нефиг делать".

Не так давно в институте столкнулся с одним товарищем с 1го курса. Он не мог написать strrev() или что-то в этом духе, но при этом заявлял, что "С — дурацкий язык, вот на Delphi я всё что угодно написать могу!..". На вопрос, а почему ты, такой весь из себя крутой, не можешь strrev() написать, ответ был такой — дык это программа не для практического применения, вот в Дельфи можно одну функцию вызвать, и она всё сделает (про #include <string.h> он тоже не в курсе был). И вообще, что он всё что угодно на Delphi сделает. Моя попытка с ходу подобрать простую "практическую" задачку, которая не решается с помощью готовых компонент, успехом не увенчалась. Парень так и остался в уверенности, что он — крутой программер, а в институте глупостям учат.

Вывод: простота создания пользовательского интерфейса плодит не будущих программеров, а таких вот кулхацкеров, которые всё что угодно напишут.
Ещё вывод: чтобы, с одной стороны, программистскую искру не потушить, и, с другой, не растить мышкотаскателей, обучение должно вестись на программах с возможностью создания GUI. Но создавать его должно быть СЛОЖНО. Нужно, чтобы это самое создание GUI учило программированию.

Я начинал с TurboPascal, и даж однажды писал что-то типа оконной библиотеке на тамошнем egavga.bgi. Теперь понимаю, что всё это было не зря.
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
http://livejournal.com/users/breqwas
Re[3]: C# для школьников
От: Astaroth Россия  
Дата: 09.02.05 18:05
Оценка:
Здравствуйте, Alik, Вы писали:

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


Как насчёт огранициться понятиями "переменная", "процедура", "функция"? Для basic или turbopascal хватит, а отношение к программированию как таковому заложится уже совсем другое.
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
http://livejournal.com/users/breqwas
Re[12]: C# для школьников
От: Astaroth Россия  
Дата: 09.02.05 18:05
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Да и фигня все это. Главное что дело вы затеяли очнь правильное. Шарп — это как раз тот язык на котором нужно учить импиративных программистов. Он привьет им правильные навыки и позволит избежать перегрузки мозгов.


Навыки рисования окошек?
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
http://livejournal.com/users/breqwas
Re[7]: C# для школьников
От: Astaroth Россия  
Дата: 09.02.05 18:05
Оценка:
Здравствуйте, Alik, Вы писали:

A>Прекрасно. Это и есть наша цель. И именно шарп мы и собираемся использовать. Ты считаешь, что из программы следует убрать винформс? Т.е. ограничиться консольными приложениями?


Помнится, когда я был в 9м классе, я начал ковырять TurboPascal. Алгоритмы и консольные приложения — это действительно скучно. Но:

Там была такая чудная штука под названием egavga.bgi Никаких окошек-кнопок — всё сам И вот это действитеьно было интересно.

Собственно, про понимание разницы между интерфейсом программы и ней самой я писал в каком-то другом сообщении.
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
http://livejournal.com/users/breqwas
Re[10]: C# для школьников
От: Astaroth Россия  
Дата: 09.02.05 18:05
Оценка: :)
Здравствуйте, VladD2, Вы писали:

VD>Ну, час. Нельзя же такой примитивщене посвящать 4 и более часов? Детям будет просто скучно. Что там объяснять?

VD>

for состоит из четырех частей:
VD>1. Инициализация. В ней можно объявить переменные некоторого типа или выполнить некоторое действие, например, проинициализировать уже имеющуюся переменную.
VD>2. Условие продолжения цикла. Булево выражение проверяемое перед каждой итерацией. Если оно возвращает true цикл должен сделать еще одну итерацию. Если false прекратить выполнение и перейти к следущей инструкции.
VD>3. Итератор. Инструкция выполянемая после каждой итерации цикла. Обычно в ней приращивают или уменьшают переменную-итератор.
VD>4. Инструкци выполняемая при каждой итерации цикла. Может быть как отдельной инструкцией, так и блоком инструкций.


Кстати, надо не забыть перевести это для них на русский
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
http://livejournal.com/users/breqwas
Re[5]: C# для школьников
От: Astaroth Россия  
Дата: 09.02.05 20:48
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Дык достаточно и хорошо — это разные понятия. Уж лучше пусть они сразу привыкают к более менее современной среде.


А зачем?
Может лучше дать возможность понять, что среда и язык — разные вещи?
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
http://livejournal.com/users/breqwas
Re[5]: C# для школьников
От: Astaroth Россия  
Дата: 09.02.05 20:48
Оценка:
Здравствуйте, rockandroll, Вы писали:

VD>> 3.4.4. Объячняем что такое боксинг.

VD>>4.4. Расказать что такое рефлекшон. Дать примеры его использования (динамическая загрузка экземпляров типов, динамический вызов метода, вывод информации о типе).

R>А тебе не кажется что это немного не школьная программа. Скорее институтская.


Я, кстати, до третьего курса дожил, RSDN почитываю, даже поработать маленько успел — но до сих пор не в курсе
Кстати, если кто объяснит (интересующее процитировал) — не обижусь.
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
http://livejournal.com/users/breqwas
Re[8]: C# для школьников
От: Sergey Россия  
Дата: 10.02.05 10:03
Оценка: :)
Hello, Astaroth!
You wrote on Wed, 09 Feb 2005 18:05:31 GMT:

A> Там была такая чудная штука под названием egavga.bgi Никаких

A> окошек-кнопок — всё сам И вот это действитеьно было интересно.

egavga.bgi — ацтой . Слишком высокоуровневая и тормознутая. Вот через
порты EGA программировать было действитеьно интересно. Но быстро надоело.

With best regards, Sergey.
Posted via RSDN NNTP Server 1.9
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[6]: C# для школьников
От: Sinclair Россия https://github.com/evilguest/
Дата: 10.02.05 13:27
Оценка:
Здравствуйте, Astaroth, Вы писали:

VD>>> 3.4.4. Объячняем что такое боксинг.

VD>>>4.4. Расказать что такое рефлекшон. Дать примеры его использования (динамическая загрузка экземпляров типов, динамический вызов метода, вывод информации о типе).

R>>А тебе не кажется что это немного не школьная программа. Скорее институтская.


A>Я, кстати, до третьего курса дожил, RSDN почитываю, даже поработать маленько успел — но до сих пор не в курсе

A>Кстати, если кто объяснит (интересующее процитировал) — не обижусь.
В смысле, ты не очень понимаешь, что такое боксинг?
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[7]: C# для школьников
От: Astaroth Россия  
Дата: 10.02.05 18:21
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>В смысле, ты не очень понимаешь, что такое боксинг?


Я впервые слышу это слово. Есть подозрение, что за этим кроется какая-нить самоочевидная вещь, но термина я не знаю.
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
http://livejournal.com/users/breqwas
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.