The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Опубликован третий том общедоступной книги 'Программирование..., opennews (??), 28-Июл-17, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


129. "Опубликован третий том общедоступной книги 'Программирование..."  +1 +/
Сообщение от Аноним (-), 30-Июл-17, 01:01 
Что за ерунду вы несете? Чем вам так плох Паскаль? Мы ведь учимся выражать свои мысли в форме готовой программы. Язык - лишь инструмент. Сам язык вторичен. С, С++, Асм - сложные языки и довольно "недружелюбные" к новичкам . А начинать следует с простого.
Ответить | Правка | К родителю #121 | Наверх | Cообщить модератору

130. "Опубликован третий том общедоступной книги 'Программирование..."  –2 +/
Сообщение от Orduemail (ok), 30-Июл-17, 02:20 
> Чем вам так плох Паскаль?

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

> Мы ведь учимся выражать свои мысли в форме готовой программы.

Нет, с языками всё несколько сложнее. Осваивая язык, мы учимся не только выражать мысли на этом языке, мы ещё учимся думать мысли, которые можно выразить на этом языке. Об этом педагоги от информатики часто забывают, и потом бьются в истерике от того, что студенты им попались тупые. Это не студенты тупые, это педагог бездарный, который не понимает того, чему учит. Если студент не умеет думать такие мысли о том, как надо отсортировать массив, которые можно выразить на языке программирования, то он не напишет программу, которая сортирует массив. А для того, чтобы научиться думать мысли, выразимые на выбранном языке программирования, надо писать на этом языке программирования, а чтобы писать, надо уметь думать как надо. Это замкнутый круг, единственный способ этот разомкнуть -- растянуть его в спираль, когда обучение идёт шажками: новые абстракции/конструкции языка -> новый опыт -> дифференциация опыта и обобщение его -> новые мысли -> новые абстракции/конструкции -> ...

> Сам язык вторичен. С, С++, Асм - сложные языки и довольно "недружелюбные" к новичкам.

C не более недружелюбен, чем Pascal. C++ -- смотря как его излагать, он удобен тем, что позволяет использовать лишь подмножество себя, которое не сильно-то отличается от паскаля да C, и таким образом он не более недружелюбен к новичкам, чем C и Pascal. Насчёт же недружелюбности ассемблера ты глубоко заблуждаешься, впрочем, следом за подавляющим большинством профессуры.

> Сам язык вторичен.

В том-то и дело, что язык вторичен. С точки зрения простоты изучения программирования единственное свойство языка, на которое следует обращать внимание при выборе его -- это то количество понятий, абстракций и синтаксических конструкций, которое придётся изучить для того, чтобы в голове сформировалось бы полное по Тьюрингу подмножество языка. Как только такое подмножество сформировалось, как только оно было освоено, можно заниматься накоплением опыта, и новые понятия усваивать как обобщение уже накопленного опыта. До того, как это подмножество сформировано, подчастую приходится усваивать новые понятия и абстракции без опоры на конкретный опыт, а вот это сложно. Я сравнительно недавно переживал эту сложность в своей жизни ещё раз: я осваивал rust, на котором очень сложно писать программы, пока понятия lifetime'ов и borrowing'а не освоены на уровне автоматизированных навыков, обрести такие навыки можно исключительно через опыт программирования на rust'е, но когда эти понятия не освоены, опыт программирования на rust'е сводится к борьбе с борроу-чекером компилятора. К борьбе, которая эпизодически скатывается в партер метода Монте-Карло, когда в программу вносятся рандомные изменения, отбираются те, которые уменьшили количество ошибок и отбрасываются те, которые количество ошибок увеличивают. Так вот, это был не первый раз в моей жизни, когда я оказывался в столь непростой ситуации, со мной такое случалось неоднократно. И, отмечу, не всегда я выходил победителем. Но с растом мне удалось справиться, и, что более интересно, этот опыт оказался последней каплей, которой мне не хватало для перехода к обобщениям, из которых вытекают, в том числе, и совершенно неожиданные последствия: я перестал ненавидеть бейсик. Вот тот древний бейсик с номерами строк. Потому что я понял, что мои успехи на первых шагах знакомства с программированием были обусловлены именно тупизной того бейсика, тем что в нём минимум абстракций, которые надо понять, для того, чтобы начать писать осмысленные программы. Там не было циклов, не было условий в смысле структурного программирования. Не было блоков команд, не было ничего лишнего. Там было последовательное выполнение строк программы, на каждой строке какое-нибудь одно выражение либо "IF condition THEN выражение". Ещё был GOTO, который при желании можно было использовать вместе с IF. Ну и несколько команд -- для ввода/вывода текста с/на экран, и вывода простеньких графических примитивов. Чуть позже меня познакомили с массивами. И этого было достаточно для всего.

Когда же я перешёл к C, то нового я там увидел только в типизации -- struct, union, enum. Всё остальное -- циклы, условия и даже функции, были для меня не новыми понятиями, которые надо освоить теоретически, а потом научиться применять практически -- нееет, они были для меня охрененно удобным способом записи того, что я и без того мог налабать на бейсике и более того неоднократно лабал. Я тогда в десятом классе влюбился в C по уши.

И на фоне всего этого, я вот думаю, что ассемблер -- это отличный способ изучать программирование. Он не особо сложнее бейсика -- там только что со строками работать сложнее, да математические выражения приходится расписывать в виде последовательности команд. Зато изучение ассемблера реально полезно. При этом со строками можно выкрутиться -- есть разные дурацкие способы работы, которые неудобны в реальной программе, но вполне покатят в студенческой поделке. А математические выражения расписывать -- это не так сложно, если человек умеет пользоваться калькулятором, в котором нет скобочек. Причём, я отмечу -- с языком ассемблера я познакомился, может быть даже раньше чем с бейсиком: у моего отца был МК-61. И с программированием того калькулятора у меня была ровно одна проблема: мне было не придумать задач, которые я мог бы решить программкой для калькулятора.

Так вот, чем более сложные абстракции _необходимо_ использовать в языке, тем сложнее этот язык, как первый язык программирования. Но в этом смысле паскаль ничем не лучше C или C++. А если они равноценны по этому оптимизационному параметру, то напрашивается, выбирать между ними ориентируясь на другие параметры, из которых следующим по важности оказывается востребованность языка. И вот тут паскаль пролетает фанерой над Парижем.

Ответить | Правка | Наверх | Cообщить модератору

131. "Опубликован третий том общедоступной книги 'Программирование..."  +2 +/
Сообщение от Аноним (-), 30-Июл-17, 02:46 
Вот потому Паскаль - академический язык. Он хорошо подходит для обучения. Мы учимся выражать свои мысли вообще! Паскаль - это удобно и понятно. Его легко понять и тем более освоить. Без всяких "подводных камней".  После обучения - весь языковой парк ваш! А что до ассемблера - даже глупо его предлагать в качестве первого самодостаточного языка. Я вообще склонил своего преподавателя к Modula 2 вместо С. А в последствии к Оберону перешли. Потому что добрая половина группы просто "не въезжала" в С. А я был один из тех, кто "вытаскивал" таких на своем горбу и мне это довольно быстро надоело.
Ответить | Правка | Наверх | Cообщить модератору

133. "Опубликован третий том общедоступной книги 'Программирование..."  +/
Сообщение от Orduemail (ok), 30-Июл-17, 11:11 
Ещё раз скажу тебе: паскаль не удобнее чем C: я пробовал и то, и это. Если тебе кажется иначе, то тебе кажется.
Про ассемблер я не уверен: мне пока не придумать, где бы набрать выборку на пару групп человек по пятнадцать, для постановки эксперимента, с тем чтобы сравнить C и ассемблер по простоте освоения. Не возвращаться же в школу ради утоления любопытства. Да и в школе всё равно не позволят такие эксперименты всякие придурки-чиновники от образования.
Ответить | Правка | Наверх | Cообщить модератору

135. "Опубликован третий том общедоступной книги 'Программирование..."  +/
Сообщение от Аноним (-), 30-Июл-17, 12:34 
Мне не кажется в отличие от вас. Имел возможность столкнуться с этим еще на курсах. Впрочем, я подозревал что вы все же не не поймете этого. Или не захотите понимать. Намного проще других придурками обзывать, чем признавать проблему.
Ответить | Правка | Наверх | Cообщить модератору

136. "Опубликован третий том общедоступной книги 'Программирование..."  +/
Сообщение от Orduemail (ok), 30-Июл-17, 14:39 
> Мне не кажется в отличие от вас. Имел возможность столкнуться с этим
> еще на курсах.

Именно что кажется. Вы столкнулись с фактами, и факты -- это факты. Они действительно не кажутся вам. Но вот те теоретические выводы которые вы делаете из фактов не имеют валидности вообще. По-крайней мере, если судить по вашему описанию вашего опыта. Одна группа? Интрасубъектный план эксперимента? Никаких попыток проконтролировать вмешивающиеся переменные? Как я понял, смена языка программирования для изучения привела к улучшению восприятия материала группой? Почему вы это объясняете тем, что язык стал лучше, а не самим фактом смены языка? Если поменяли язык, изучаемый группой, значит объяснили всё ещё раз и немного другими словами. Это значит, что группа посмотрела на то же самое, немного в другом синтаксисе. Вам бы следовало взять ещё одну группу и обучать её языкам в обратном порядке: начать с паскаля, а потом перейти к C и посмотреть: был бы результат лучше или хуже. Тогда можно было бы увидеть, что влияло сильнее -- язык или смена языка.

При этом, судя по вашей эмоциональной аргументации против C, я делаю вывод о том, что вы не в состоянии скрывать от окружающих то, что вы эмоционально по разному относитесь к языкам, а раз так, то это ещё одна вмешивающаяся переменная: ваше нескрываемое эмоциональное отношение к языкам не могло не влиять на результаты ваших попыток доносить эти языки до окружающих.

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

Естественно я не признаю "проблемы", которая сформулирована умозрительно, без сколь-нибудь статистически значимой опоры на реальный опыт. Не, если бы у меня не было своего опыта, я бы принял во внимание ваш. Но мой опыт -- это три года преподавания информатики в школе. По 18 часов в неделю. Более десятка отдельных групп, и они обучались трём разным языкам межсубъектно. Там тоже  было немало вмешивающихся переменных, например, хоть мне и был тогда важнее результат, чем моё отношение к преподаваемым языкам, но отношение тоже, надо полагать, влияло. Миграция с языка на язык коррелировала с ростом моего учительского стажа, а значит полученные зависимости могут отражать не влияние языков, но влияние опыта. Но и тем не менее, этот мой опыт позволяет делать на порядок более валидные выводы, чем ваш. Поэтому вы уж простите -- ничего личного -- но я доверюсь своему опыту и останусь при прежнем своём мнении: выбор между C и Pascal никак не делает задачи препода/студента легче или сложнее.

Если вам до сих пор непонятно о чём я, почитайте вот эту интересную историю о том, как ухудшение условий труда приводило к повышению производительности труда: https://ru.wikipedia.org/wiki/%D0%A5%D0%...
Там, в силу использования многих групп и обширного интервьюирования участников, мужикам удалось отследить утерю валидности эксперимента. У вас не было многих групп, не было сравнения их в динамике, не было никаких попыток убедиться в том, что установленные корреляции следует объяснять именно так, как вам хочется, а не как-нибудь иначе. И на основании такого рода умозаключений вы пытаетесь в чём-то убедить меня?

Ответить | Правка | Наверх | Cообщить модератору

140. "Опубликован третий том общедоступной книги 'Программирование..."  +1 +/
Сообщение от Аноним (-), 30-Июл-17, 16:25 
Тогда к чему все это? Я просто убежден в том, что С и С++ - это язык профессионалов и для  профессионалов. Проблема тут даже не в синтаксисе. Слишком в нем много "подводных камней". Все это общеизвестные факты. Даже и не знаю о чем тут можно вообще спорить. А что до эмоциональной аргументации... давайте без ваших инсинуаций! Вся эта мощь С и С++... все это конечно здорово, но попытки "осилить" всего его сильные стороны - только подрывает учебный процесс и уверенность в себе студентов.
Ответить | Правка | Наверх | Cообщить модератору

143. "Опубликован третий том общедоступной книги 'Программирование..."  +/
Сообщение от Orduemail (ok), 30-Июл-17, 19:24 
> Тогда к чему все это? Я просто убежден в том, что С
> и С++ - это язык профессионалов и для  профессионалов. Проблема
> тут даже не в синтаксисе. Слишком в нем много "подводных камней".

Назовите мне три "подводных камня", которых невозможно избежать при начальном обучении программированию с использованием C++, как языка программирования для обучения. Ну или не три, а хотя бы один подводный камень озвучьте. Я не понимаю о чём вы.

> Все это общеизвестные факты.

Миллионы мух, как известно... Кому эти факты "общеизвестны"? Программистам? Давайте оценим средний педагогический опыт этих программистов. Там хотя бы 10 минут опыта на человека наберётся?


> А что до эмоциональной аргументации... давайте без ваших
> инсинуаций!

Единственный ваш аргумент против C++, который можно отнести к рациональной аргументации -- это отсылка к опыту преподаванию. Всё остальное -- это чистой воды _эмоциональная_ аргументация, типа упоминания каких-то загадочных подводных камней, которые мешают человеку впервые столкнувшемуся с C++.

Кстати аргументация Столярова в пользу выбора Pascal вместо C++ ничем не лучше вашей, но зато она обширнее, и по ней совершенно определённо можно судить, что Столяров не различает использование языка для начального преподавания и использование языка для написания хорошего промышленного кода. И это называется доктор наук, даже дабл-доктор -- физмат и философский. Не, ну ладно дохтур физмат наук от математики/информатики, таким простительно быть в отрыве от реальности и путать реальность со своими теоретизированиями, но чтоб философ такую муть нёс... Но не зря ж говорят, что в нашей стране гуманитарное образование убито в ноль строительством коммунизма.

Ответить | Правка | Наверх | Cообщить модератору

148. "Опубликован третий том общедоступной книги 'Программирование..."  +/
Сообщение от Аноним (-), 31-Июл-17, 01:20 
Да не собираюсь я вас в чем-то убеждать, и тем более с вами спорить. Вы преподаватель, а не я. Вам и карты в руки! У меня все.
Ответить | Правка | Наверх | Cообщить модератору

159. "Опубликован третий том общедоступной книги 'Программирование..."  +/
Сообщение от anonymous yet another (?), 02-Авг-17, 09:01 
Ordu преподаватель?! О, боги!
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру