Re[7]: Только не питон!!!
От: Sheridan Россия  
Дата: 07.04.14 07:26
Оценка: -2
Здравствуйте, Privalov, Вы писали:

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


S>>Неочевидное и сложное для понимания деление на блоки.

P>Не понимаю, что там такого сложного.
Как ни странно — я тоже не понимаю. И у тебя и у меня за плечами обширный опыт различных языков программирования. Вплоть до не-участия мозга в парсинге кода для понимания что там творится.
Но речь идет про обучение ребенка азам программирования.

S>>Речь не столько про отступы, сколько про понимание деления кода на блоки в условиях, циклах, функциях итд.

P>А как ты собираешься демончтрировать ребенку деление кода на блоки, не оформляя эти блоки должным образом?
{}, begin\end как раз для разделения кода на блоки и предназначены. Это более наглядно, чем табы.

P>Раньше важность оформления кода студентам объясняли очень легко. Им просто давали почитать исходник на каком-нибудь PL/1, без всякого форматирования. На бумаге, разумеется. После чего у большинства студентов пропадали всякие сомнения. Даже, набивая код на перфокартах, не ленились делать отступы.

Во всех языках отступы исключительно для читаемости кода. И только в питоне они имеют значение для интерпритатора. Лишние сущности, в общем то, для обучения. Нужно вставлять дополнительные триггеры в лекции: "там где один таб — блок, там где два — другой блок, но в других языках это не блоки, это просто для красоты..." и так далее. Ну ненужно это.
Matrix has you...
Re: Язык программирования для школьника 7-8 класса
От: VVP Россия 67524421
Дата: 07.04.14 07:27
Оценка: 1 (1) +1
Здравствуйте, Amethyst, Вы писали:

A>Хочу попробовать приобщить сына к IT. Но проблема в том, что я плохо представляю какой язык программирования выбрать для изучения.

A>Нужно что-то лёгкое в изучении, дающее наглядный результат (UI, картинки, графики). Как раньше бейсик для ДВК
Про паскаль — есть сайт с веб-средой разработки на паскале с синтаксисом от TP 7.0
Регулярно используем для школьных домашних заданий с ребенком.
Никогда не бойся браться делать то, что делать не умеешь. Помни, ковчег был построен любителем. Профессионалы построили Титаник...
Re[2]: Только не питон!!!
От: _NN_ www.nemerleweb.com
Дата: 07.04.14 07:46
Оценка:
Здравствуйте, Sheridan, Вы писали:

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


A>>Что посоветуете? Да, если тема уже поднималась на rsdn, киньте ссылку пжл.


S>Только не питон!!

S>У него исключительно своеобразные правила написания кода, в частности все зациклено на использовании отступов. Не ломай ребенку голову.
S>Классика — паскаль.

Для вас придумали Python with braces: http://www.pythonb.org/

class SampleClass {
  def __init__(self) {
    print "Hello world";
  }
}

SampleClass();
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[8]: Только не питон!!!
От: Privalov  
Дата: 07.04.14 08:01
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>>>Неочевидное и сложное для понимания деление на блоки.

P>>Не понимаю, что там такого сложного.
S>Как ни странно — я тоже не понимаю.

Так в чем проблема-то?

S>{}, begin\end как раз для разделения кода на блоки и предназначены. Это более наглядно, чем табы.


Да, конечно.

int push(){
int tmp=TOP,i,j,k;
x=S[TOP-S[TOP]+1];
for(i=1;i<=FO[AO[x]];i++){y=FO[AO[x]+i];
if(!test(y)){
k=max(y/8+1,S[TOP]-2);
S[++tmp]=y; 
for(j=0;j<k;j++,S[++tmp]=0);
S[++tmp]=k+2;
for(j=1;j<=S[TOP]-2;j++) S[tmp-j]=S[TOP-j];
S[tmp-(y/8+1)]|=mask[y-(y/8)*8];
}
Re[3]: Только не питон!!!
От: Sheridan Россия  
Дата: 07.04.14 08:43
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Для вас придумали Python with braces: http://www.pythonb.org/


Вот это уже лучше. Этот питон можно для обучения использовать.
Matrix has you...
Re[9]: Слабо.
От: Sheridan Россия  
Дата: 07.04.14 08:45
Оценка:
Здравствуйте, Privalov, Вы писали:

S>>{}, begin\end как раз для разделения кода на блоки и предназначены. Это более наглядно, чем табы.


P>Да, конечно.


Слабо, очень слабо. Надо более наглядно, например это:

''=~   ('('    ."\?".    ('{').(   '`'|'%'      ).('['^
'-')   .''.  +(   '`'|   '!'  ).(  '`'  |((    ((   ',')
))))   .'"' .+(   '['^   '+'  ).(  '['   ^((  ')'   ))).
('`'   |')'       ).+(   '`'|'.'   ).(  '['         ^'/'
).('{'^'[')    .'\\'.+   '"'.('`'  ^'(').(       '`'|'!'
).+(   '`'|  '"') .''.   (((  '[') )^+  ')'    ).+( '`'|
'!')   .''. ('`'  ^'('   ).(   '`' |((   '!'  ))).  ('`'
|'"'   ).+( '['^ ')').   ','   .+( '{'    ^(( '[') )).+(
'`'^   '(') .('`'  |'!'  ).("\["^  '+'    ).( "\["^  '+')


.''.   ('['    ^'"').    (('{')^   "\[").(        '['^'+'     ).       +(
'['^   ')')  .(   '`'|   '/'  ).(  '`'  |((       "'"  )))     .(      ((
'`')   )|(( '!'   ))).   (((  '['  ))^   ')'      ).(   '`'    |+      ((
'-')   )).(       '`'|   "\-").(   '`'  |((       '%'  )))     .(      ((
'['))^')').    ("'").(   '['^'(')  .("\{"^        "\[").(      ((      ((
'`')   )))|  '$') .''.   (((  '`') )|+  '!'       ).(  '['     ^+      ((
'"')   )).+ '!'.  '\\'   .((   ((( (((   (((      (((   (((    ((      ((
'\\'   )))) )))) )))))   )))   ))) )).    ((( '`' ))|    '.'   ).+   '\\'
.'"'   .';' .'"'.  '}'.  ')');$:=  '.'    ^(( '~' ));    $~=    ('@')|  '('
Matrix has you...
Re[6]: Язык программирования для школьника 7-8 класса
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 07.04.14 08:46
Оценка: +1 -1
Здравствуйте, Sheridan, Вы писали:

N>>Зато твой подход ни капельки не объясняет проблему следующего варианта:


N>>
N>>  if x = 2 then
N>>    y = y + 1;
N>>    z = z + 1;
N>>

N>>и вот объяснение того, что "надо понимать, что если после then не стоит явного begin, ...
S>Это и есть блок кода.

И как я это объясню ребёнку? "Это блок, хотя и выглядит как не блок"? Тогда это будет прямо противоречить описанию в языке.
Паскалевский, сишный, Java, C# синтаксис в этом смысле дурной на всю голову. Хорошее исправление сделали, например, во внутреннем языке SIP Express Router:

if (cond1) { st11; st12; }
elif (cond2) { st21; st22; }
else { st91; st92; };


индентацию я тут не делал. Обрати внимание: финальная ';' обязательна и закрывает всю конструкцию, а между клаузами её нет. {} вокруг реализации условий обязательны, даже если один оператор.
Вот это — надёжный синтаксис, ценой крошечного увеличения количества символов.
Было бы такое — я бы агитировал за него. Но без него — синтаксис Питона лучше, нежели Pascal с компанией.

S> Он должен быть вписан в чтото более понятное, не просто отделен табами.


Кому должен?

S> После питона ребенок так и продолжит отделять табами и в паскале и в сях — в питоне же работало.


Это ты сказки в вакууме рассказываешь. А у меня практический опыт — две дочки, одна уже выпускница и целится на "информатику", вторая ходит в кружок программирования и робототехники.
Обе спокойно воспринимают Питон для обучения. А вот с Паскалем, как я уже рассказывал, пришлось явно учить тому, что отступы нужны для чтения кода, несмотря на питоновый опыт до того(!)
The God is real, unless declared integer.
Re[10]: Слабо.
От: Privalov  
Дата: 07.04.14 08:51
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Слабо, очень слабо. Надо более наглядно, например это:


[...]

Пример как нельзя более подходит для объяснения школьнику преимущества непонятно чего перед отступами. Тем более, что там нет ни {}, ни begin/end. Что ты этим примером сказать хотел в контексте обсуждения —
Re[4]: Только не питон!!!
От: _NN_ www.nemerleweb.com
Дата: 07.04.14 09:08
Оценка:
Здравствуйте, Sheridan, Вы писали:

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


_NN>>Для вас придумали Python with braces: http://www.pythonb.org/


S>Вот это уже лучше. Этот питон можно для обучения использовать.


На самом деле, я с вами не полностью согласен.

Мой опыт говорит о том, что обучить питону с отступами намного проще, чем объяснять людям про правильное расположение скобок и отступов.
Но у каждого опыт свой
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[11]: Слабо.
От: Sheridan Россия  
Дата: 07.04.14 09:18
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Пример как нельзя более подходит для объяснения школьнику преимущества непонятно чего перед отступами. Тем более, что там нет ни {}, ни begin/end. Что ты этим примером сказать хотел в контексте обсуждения —


Пример как нельзя более подходит на самом деле доведения до абсурда чего бы то ни было.
Matrix has you...
Re[5]: Только не питон!!!
От: Sheridan Россия  
Дата: 07.04.14 09:20
Оценка: -1
Здравствуйте, _NN_, Вы писали:

_NN>Мой опыт говорит о том, что обучить питону с отступами намного проще, чем объяснять людям про правильное расположение скобок и отступов.

_NN>Но у каждого опыт свой

Вот насчет правильного расположения отступов как раз в точку — нифига нормально не объяснишь. А скобки можно располагать как хочется.
Matrix has you...
Re[12]: Слабо.
От: Privalov  
Дата: 07.04.14 09:21
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Пример как нельзя более подходит на самом деле доведения до абсурда чего бы то ни было.


И что ты этим примером довел до абсурда?
Re[6]: Только не питон!!!
От: _NN_ www.nemerleweb.com
Дата: 07.04.14 09:35
Оценка:
Здравствуйте, Sheridan, Вы писали:

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


_NN>>Мой опыт говорит о том, что обучить питону с отступами намного проще, чем объяснять людям про правильное расположение скобок и отступов.

_NN>>Но у каждого опыт свой

S>Вот насчет правильного расположения отступов как раз в точку — нифига нормально не объяснишь. А скобки можно располагать как хочется.


А чего там объяснять нажал "таб" — открыл блок.

Вот как раз скобки нужно не забыть закрыть.
А если где-то забыл, то пол дня новички искать будут.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[13]: Слабо.
От: Sheridan Россия  
Дата: 07.04.14 11:02
Оценка:
Здравствуйте, Privalov, Вы писали:

S>>Пример как нельзя более подходит на самом деле доведения до абсурда чего бы то ни было.

P>И что ты этим примером довел до абсурда?

Я показал как правильно доводить до абсурда. У тебя не очень получилось
Matrix has you...
Re[7]: Только не питон!!!
От: Sheridan Россия  
Дата: 07.04.14 11:06
Оценка:
Здравствуйте, _NN_, Вы писали:


S>>Вот насчет правильного расположения отступов как раз в точку — нифига нормально не объяснишь. А скобки можно располагать как хочется.


_NN>А чего там объяснять нажал "таб" — открыл блок.

"Ох, две страницы ветвящегося кода класса... В каком же я блоке?..."
Даже mcedit подсвечивает смежную скобку с ц++, если поставить курсор на скобку.
Питон — только глазами отслеживать.

_NN>Вот как раз скобки нужно не забыть закрыть.

_NN>А если где-то забыл, то пол дня новички искать будут.
Не будут. Компилятор быстро укажет на ошибку.
Matrix has you...
Re[2]: Язык программирования для школьника 7-8 класса
От: Sheridan Россия  
Дата: 07.04.14 11:08
Оценка:
Здравствуйте, Alexey931, Вы писали:

A>Питон уже неоднократно советовали, и это, наверное, правильно. Вряд ли есть еще язык, на котором можно писать в любом стиле.

В питоне с его отступами можно писать только в питон-стиле.
Matrix has you...
Re[6]: Только не питон!!!
От: Lazin Россия http://evgeny-lazin.blogspot.com
Дата: 07.04.14 11:35
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Ну да, очень удобно писать код в консоли.


Зачем в консоли? Еще раз — интерактивный ipython ноутбук в браузере, позволяет редактировать большие фрагменты кода, как в редакторе. Я даже ссылку с примером приложил, ты ее даже открыть не потрудился, видимо.
Re[8]: Питон (+)
От: LuciferArh Россия  
Дата: 07.04.14 12:37
Оценка:
Здравствуйте, netch80, Вы писали:

N>И как это будет работать в графике под современными Windows?


Бог мой, нафига качать такую древность? Если уж хочется легальности (а заодно и кроссплатформенности), то FreePascal. И Lazarus как IDE к нему.
Re[2]: Язык программирования для школьника 7-8 класса
От: Amethyst  
Дата: 07.04.14 13:36
Оценка:
Здравствуйте, Don Reba, Вы писали:

DR>Pure C — простой, близкий к железу язык. Сам в этом возрасте с него начинал. Чай, не детский сад уже, по картинкам учиться.

Любопытно, вот прямо с чистого С ты и начинал учиться будучи школьником? Сильно если так.
С другой стороны, если интерес был именно к железу ... то наверное вариантов немного.
Почему добро всегда побеждает зло? Потому что историю пишут победители.
Re[3]: Язык программирования для школьника 7-8 класса
От: iLikeCookies  
Дата: 07.04.14 13:37
Оценка:
Здравствуйте, Sheridan, Вы писали:

A>>Питон уже неоднократно советовали, и это, наверное, правильно. Вряд ли есть еще язык, на котором можно писать в любом стиле.

S>В питоне с его отступами можно писать только в питон-стиле.

Конечно же, имеются в виду императивный, функциональный и ООП стили.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.