Re[4]: Какой язык начинать учить в 12 лет?
От: bkat  
Дата: 10.01.05 08:33
Оценка: :)
Здравствуйте, Трурль, Вы писали:

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


GIV>>Только не Пролог. Ему же только 12 лет! Вот станет совершеннолетним и пусть сам решает а пока никаких психотропных штучек.

Т>Моему 10, а он уже убежден, что Haskell — самый крутой язык.

Ничего. Вот будет ему 13-14 лет и станет он назло тебе на бейсике программировать.
Тяжелый возраст однако
Re: Какой язык начинать учить в 12 лет?
От: adr Украина  
Дата: 10.01.05 09:40
Оценка:
Здравствуйте, bestix, Вы писали:

B>Доброе время суток!

B>Собственно сабж. Сам программист, вот думаю сына начать обучать. С какого языка посоветуете?
B>С уважением.

Я бы сказал, что чтоит сначала оценить нужен ли ему вообще какой либо язык т.к. если нет личной заинтересованности, то может проявиться отторжение. А с языков стоит начинать строго формальных, не имеющих кучи ньюансов. Вообще самый простой, кроме шуток, Assembler для X86 в режиме Ideal. на нём очень просто программировать и даже прикольно получать результаты (например, программка вывода в последовательный порт — 4 строки не считая заголовка) а результат красиво мигающие светодиодики, если воткнуть их плюсовую ногу на один из [1..8] выходов разъёма, а вторую на 17-ю ногу (общая земля, если память не изменяет). но асму без железа учить смысла нет.

А из высокоуровневых — думаю, что Java. нет проблем с памятью, да и в терминах объектов человеку, не приученому ранее к процедурной парадигме, проще мыслить. Да и изначально вырабатывается верный способ мышления... Если начинать c Java и использовать JBuilder. то сразу привыкнет и к UML диаграмкам и будет явно видеть как каждый шаг его работы отражается в графическом представлении архитектуры проектика. + заодно кросплатформенность и запад почти весь на ней живёт. Вот представь, если пацан к 16 годам будет шарить в EJB + CORBA + писать на Java как на русском — это же бесценный кадр.

Правда в школе ему будет жутко тяжко. Вот представь, как ему вообще потом слушать ту ересь, которую обычно несут преподы по информатике... да и вообще какое нафиг уважение к преподу, который по сравнению с таким пацаном — полный баран. тут скорее всего прийдётся дать на лапу директору, чтобы пацана освободили от курса и не травмировали его психику
Re[2]: Какой язык начинать учить в 12 лет?
От: Dog  
Дата: 10.01.05 10:27
Оценка:
S>Наверное, английский.
Это уже вчерашний день. Учить надо китайский
... << RSDN@Home 1.1.4 beta 3 rev. 241>>
Re: Какой язык начинать учить в 12 лет?
От: anonymous_user  
Дата: 10.01.05 10:56
Оценка: +1
Здравствуйте, bestix, Вы писали:

B>Доброе время суток!

B>Собственно сабж. Сам программист, вот думаю сына начать обучать. С какого языка посоветуете?
B>С уважением.

часто встречал рассуждения, что начинающих надо учить тому то, а потом этому, а потом еще третьему и именно в этом порядке

с точки зрения
1. человека с интеллектуальными способностями выше среднего
2. профессионального разработчика ПО

могу сказать, что если ваш сын соответствует 1, и вы собираетесь развивать его в направлении 2, то с педагогической точки зрения абсолютно безразлично с чего начинать ибо рано или поздно он все равно обойдет все сам и найдет то, что ему больше нравится

а с точки зрения рынка на текущий момент и ближ неск лет и повышения усвояемости наиболее применяемых сегодня и вновь возникающих технологий, то посоветовал бы
1. начать с С++
2. дать обзор программирования под разные платформы и в разных предметных областях
3. задать вопрос — в каком направлении он хочет собственно сам развиваться? — и соответственно обучать новым языкам и технологиям (хотя, если ваш сын все таки выше среднего то дальше он прекрасно справиться без вашей помощи)
Re: Какой язык начинать учить в 12 лет?
От: anonymous_user  
Дата: 10.01.05 11:03
Оценка:
Здравствуйте, bestix, Вы писали:

B>Доброе время суток!

B>Собственно сабж. Сам программист, вот думаю сына начать обучать. С какого языка посоветуете?
B>С уважением.

забыл сказать
перед изучением программирования, дайте ему хотя бы базовый курс технического английского
иначе на пункте 3, когда придется читать много док, могут возникнуть проблемы
Re[3]: Какой язык начинать учить в 12 лет?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 10.01.05 12:07
Оценка: +3
Здравствуйте, GarryIV, Вы писали:

GIV>Только не Пролог. Ему же только 12 лет! Вот станет совершеннолетним и пусть сам решает а пока никаких психотропных штучек.


Ничего в нем психотропного нет. Просто заржавевшие мозги многих программеров не способны так резко развернуться. Кстати, понимание пролога хороший тест на способность воспринимать новое — я видел как гурастые программеры не могли с ним справится. После пары недель изучения они так и не могли писать что то, отличное от полных аналогов примеров.
... << RSDN@Home 1.1.4 beta 3 rev. 272>>
AVK Blog
Re[4]: Какой язык начинать учить в 12 лет?
От: adontz Грузия http://adontz.wordpress.com/
Дата: 10.01.05 12:11
Оценка:
Здравствуйте, AndrewVK, Вы писали:

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


Где-нибудь качается?
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[5]: Какой язык начинать учить в 12 лет?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 10.01.05 12:25
Оценка:
Здравствуйте, adontz, Вы писали:

A>Где-нибудь качается?


Например здесь
... << RSDN@Home 1.1.4 beta 3 rev. 272>>
AVK Blog
Re: Какой язык начинать учить в 12 лет?
От: 0xDEADBEEF Ниоткуда  
Дата: 10.01.05 13:14
Оценка: +1 -1
Hello, bestix!
You wrote on Sun, 09 Jan 2005 13:49:05 GMT:

b> Собственно сабж. Сам программист, вот думаю сына начать обучать. С

b> какого языка посоветуете?

Имхо, такой что:
а) язык с простым и однозначным синтаксисом.
Современный визуальный васик тут точно не покатит.
C/С++ — тоже — слишком много частностей и оговорок.
Хорошие кандидаты — Java, C#, Паскаль/Delphi

б) который позволит увидеть хоть-какой-то-видимый-результат за наименьшее количество шагов
Скорее всего, ребенок захочет получить что-то и получить быстро. Так что, придется использовать какую-то развитую среду программирования, желательно с РАД-промочками,
чтобы процесс создания приложения был "инкрементальным".

в) приложение должно быть как можно более легко переносимым с компьютера на компьютер. Т.к. ребенок рано или поздно решит похвастаться перед сверстниками своими достижениями.

То есть — в идеале — скопировать екзешник на дискету и все.
Никаких JRE, VB Runtime или (тьфу-тьфу) дот-нет-фреймворков.

г) легко позволит использовать компьютер до как можно более низкого уровня.

Конечно, сборка мусора это очень хорошо, но пусть сначала научится работать с памятью "по старинке", а то потом переучиваться будет сложновато. Также, нелишним будет доступ ассемблеру и любому системному АПИ — т.к. рано или поздно ребенок этим заинтересуется.

Чтобы не угробить этот интерес в зародыше, лучше чтобы первые экспенименты он проводил на "родном" языке

Так что, при всей моей любви к C/C++, и прохладном отношении к Паскалю, я бы выбрал
Delphi/Kylix...
Posted via RSDN NNTP Server 1.9
__________
16.There is no cause so right that one cannot find a fool following it.
Re[2]: Какой язык начинать учить в 12 лет?
От: DJ KARIES Россия  
Дата: 10.01.05 16:32
Оценка: 1 (1) +1 :)
Здравствуйте, bkat, Вы писали:

B>Русский, английский, французский.

B>Если есть возможность, то пусть поучит так же какой-нибудь из восточных языков.
B>12 лет — еше пока идеальный возраст для этого и знание этих языков
B>принесет твоему сыну полезней куда больше пользы, чем языки программирования.

B>Уже после 20-ти лет учить иностранные языкеи будет гораздо сложнее чем в 12 лет.

B>А вот с С++ (если это будет для него актуально) он и сам разберется.
Это как с религией. Если покрестить в детстве человека — потом не открестится.
Так что, не надо пудрить детям мозги коммуC++змом. Сами разберутся.
Паскаль в руки, пусть бегины строчит, да слюни на шаблоны пускает...
... << http://dkdens.narod.ru :: http://retroforth.org >>
Re[2]: Какой язык начинать учить в 12 лет?
От: Dog  
Дата: 10.01.05 16:59
Оценка: +3 :)
DEA>Имхо, такой что:
DEA>а) язык с простым и однозначным синтаксисом.
DEA>Современный визуальный васик тут точно не покатит.
DEA>C/С++ — тоже — слишком много частностей и оговорок.
DEA>Хорошие кандидаты — Java, C#, Паскаль/Delphi

DEA>б) который позволит увидеть хоть-какой-то-видимый-результат за наименьшее количество шагов

DEA>Скорее всего, ребенок захочет получить что-то и получить быстро. Так что, придется использовать какую-то развитую среду программирования, желательно с РАД-промочками,
DEA>чтобы процесс создания приложения был "инкрементальным".

DEA>в) приложение должно быть как можно более легко переносимым с компьютера на компьютер. Т.к. ребенок рано или поздно решит похвастаться перед сверстниками своими достижениями.


DEA>То есть — в идеале — скопировать екзешник на дискету и все.

DEA>Никаких JRE, VB Runtime или (тьфу-тьфу) дот-нет-фреймворков.

DEA>г) легко позволит использовать компьютер до как можно более низкого уровня.


DEA>Конечно, сборка мусора это очень хорошо, но пусть сначала научится работать с памятью "по старинке", а то потом переучиваться будет сложновато. Также, нелишним будет доступ ассемблеру и любому системному АПИ — т.к. рано или поздно ребенок этим заинтересуется.


DEA>Чтобы не угробить этот интерес в зародыше, лучше чтобы первые экспенименты он проводил на "родном" языке


DEA>Так что, при всей моей любви к C/C++, и прохладном отношении к Паскалю, я бы выбрал

DEA>Delphi/Kylix...
Странный вывод. При всём том, что вы тут написали, ему прямая дорога в C++.
И не надо колечить ребёнка уродцами борланда, особенно вторым

зы. Кстати у ребёнка то хоть спросили нравится ему это или нет? А то получится ... как всегда.
... << RSDN@Home 1.1.4 beta 3 rev. 241>>
Re: Какой язык начинать учить в 12 лет?
От: iZEN СССР  
Дата: 10.01.05 17:43
Оценка:
Здравствуйте, bestix, Вы писали:

B>Доброе время суток!

B>Собственно сабж. Сам программист, вот думаю сына начать обучать. С какого языка посоветуете?
B>С уважением.

Я думаю, что алгоритмику лучше начать давать в примерах на Pascal (Turbo- и нет — без разницы), здесь можно объяснить нужность типов и типобезопасность. А вот ООП — как дальнейшее расширение понятия типов, динамику и время жизни объектов можно объяснить на Java, здесь уже можно переходить к инструментам разработчика (станкам), показать различные IDE (Eclipse, JBuilder, NetBeans), объяснить, чем они отличаются. Дальше — сервера приложений и способы работы с ними.
Re: Какой язык начинать учить в 12 лет?
От: GlebZ Россия  
Дата: 10.01.05 17:50
Оценка:
Здравствуйте, bestix, Вы писали:

Что ж все предлагают ООП языки. На этом форуме сами не можем разобраться, что есть гуд, а что там и не гуд. Бедный мальчик.

С уважением, Gleb.
Re[3]: Какой язык начинать учить в 12 лет?
От: 0xDEADBEEF Ниоткуда  
Дата: 10.01.05 19:02
Оценка:
Здравствуйте, Dog, Вы писали:

DEA>>Так что, при всей моей любви к C/C++, и прохладном отношении к Паскалю, я бы выбрал

DEA>>Delphi/Kylix...
Dog>Странный вывод. При всём том, что вы тут написали, ему прямая дорога в C++.
Это так кажется.
А на самом деле все упирается в... строки (как ни странно).
Для того чтобы использовать строки с C++, в случае C-style строк придется обьяснить что такое массивы. А это лучше обьяснять на немного других примерах. Если же использовать C++-style строки, то придется обьяснить что такое обьекты и шаблоны — хотя бы в общих чертах. А также, чем отличается хранения обьектов на стеке и на freestore. Это, опять-таки лучше обьяснять на других примерах.

И еще один аспект проблемы. Диагностики компилятора. Борландовский паскаль по умолчанию настраивается на выдачу только одной ошибки и стопорит компиляцию. Что для новичка есть несомненный плюс.

Сишные же компиляторы любят обругать настолько длинно и витиевато, что у новичка ум за разум зайдет.
Я уж не говорю про диагностику в случае какого-нибудь косяка в шаблонах... В оcобенности если использовать boost

Dog>И не надо колечить ребёнка уродцами борланда, особенно вторым

Вам хочется начать holy war?
Если да, то вы выиграли — можете заказывать бюст на родине.

Dog>зы. Кстати у ребёнка то хоть спросили нравится ему это или нет? А то получится ... как всегда.

Это надо папу Бестикса спрашивать
__________
16.There is no cause so right that one cannot find a fool following it.
Re[3]: Какой язык начинать учить в 12 лет?
От: SWW Россия  
Дата: 10.01.05 19:08
Оценка:
Здравствуйте, Dog, Вы писали:

S>>Наверное, английский.

Dog>Это уже вчерашний день. Учить надо китайский

Пессимист, что ли? Учить надо автомат Калашникова!
Re: А сам с какого начинал?
От: SWW Россия  
Дата: 10.01.05 19:18
Оценка:
Лично я начинал с ассемблера 8080. Это, конечно, не пример для подражания — просто тогда я был аппаратчиком. А первый язык высокого, не побоюсь этого слова, уровня был С по Кернигану-Ритчи. И до сих пор я считаю, что это лучший учебник по программированию.
Re[4]: Какой язык начинать учить в 12 лет?
От: Павел Кузнецов  
Дата: 10.01.05 19:19
Оценка: +3
0xDEADBEEF,

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

> А на самом деле все упирается в... строки (как ни странно).

> Для того чтобы использовать строки с C++, в случае C-style строк придется обьяснить что такое массивы. А это лучше обьяснять на немного других примерах. Если же использовать C++-style строки, то придется обьяснить что такое обьекты и шаблоны — хотя бы в общих чертах. А также, чем отличается хранения обьектов на стеке и на freestore.

Это не совсем так. Новичку совершенно все равно, что запоминать: string или std::string. Использование std::string в простых случаях ничем не отличается от использования string в языках, где этот тип является "встроенным". Про шаблоны, пространства имен, объекты, разницу между локальным размещением объектов и размещением на куче можно при этом не объяснять:
#include <string>

int main()
{
   std::string s1 = "test1";
   std::string s2 = "test2";
   std::string s3 = s1 + s2;
   return s3.size();
}


> И еще один аспект проблемы. Диагностики компилятора. Борландовский паскаль по умолчанию настраивается на выдачу только одной ошибки и стопорит компиляцию. Что для новичка есть несомненный плюс. Сишные же компиляторы любят обругать настолько длинно и витиевато, что у новичка ум за разум зайдет.


Да, здесь согласен, диагностика должна быть хорошей. Но, имхо, есть возможность использовать компиляторы с хорошей диагностикой:
#include <string>

int main()
{
   std::string s1 = "test1";
   std::string s2 = "test2";
   std::string s2 = 0.25;
   std::string s3 = s1 + s2;
   return s3.size();
}


D:\Users\pkuznetsov\test\string_errors>como -c test.cpp
Comeau C/C++ 4.3.3 (Oct 25 2003 12:02:26) for MS_WINDOWS_x86
Copyright 1988-2003 Comeau Computing.  All rights reserved.
MODE:strict warnings C++

"test.cpp", line 7: error: "s2" has already been declared in the current scope
     std::string s2 = 0.25;
                 ^

"test.cpp", line 7: error: no suitable constructor exists to convert from
           "double" to "std::basic_string<char, std::char_traits<char>,
           std::allocator<char>>"
     std::string s2 = 0.25;
                      ^


D:\Users\pkuznetsov\test\string_errors>g++ -c test.cpp
test.cpp: In function `int main()':
test.cpp:7: redeclaration of `std::string s2'
test.cpp:6: `std::string s2' previously declared here
test.cpp:7: declaration of `std::string s2'
test.cpp:6: conflicts with previous declaration `std::string s2'
test.cpp:7: conversion from `double' to non-scalar type `
    std::basic_string<char, std::char_traits<char>, std::allocator<char> >'
    requested


> Я уж не говорю про диагностику в случае какого-нибудь косяка в шаблонах... В оcобенности если использовать boost


Не надо использовать эти возможности на ранних этапах обучения.
Posted via RSDN NNTP Server 1.9
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[5]: Какой язык начинать учить в 12 лет?
От: 0xDEADBEEF Ниоткуда  
Дата: 10.01.05 20:17
Оценка:
Здравствуйте, Павел Кузнецов, Вы писали:

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


Совой об пень или пнем об сову — какая разница?

>> Если же использовать C++-style строки, то придется обьяснить что такое обьекты и шаблоны

ПК>Это не совсем так. Новичку совершенно все равно, что запоминать: string или std::string.

...Если рассмотреть строчку "std::string s2 = 0.25;" Сразу возникнет вопрос "а почему это не сработало".
Тут хошь не хошь, а придется обьяснять про обьекты и конструктора. Ученик же, полистав справку по обьекту и его конструкторам увидит там помимо всего прочего заклинания типа "template<class InputIterator>", "const X&" у него появится еще одна куча вопросов про template, const и загадочный знак "&" или (тьфу-тьфу) про еще более загадочный знак "*".

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

Короче, для того чтобы "офигение" новичка не превысило критической массы, ему придется все разжевывать и стараться держать от языкового справочника на как можно более далеком расстоянии. Что не есть гуд с точки зрения привития навыков РТФМить.

Хотя, если взять на вооружение толковую книжку для начинающих, "кривую обучения" может быть и удастся как-то выровнять...

>> И еще один аспект проблемы. Диагностики компилятора.

ПК>Да, здесь согласен, диагностика должна быть хорошей.

Вполне согласен что диагностика в como и g++ более или менее читабельна.
Но проблема состоит еще и в том, что данные компиляторы не поставляются с развитой средой программирования, которая тоже ой как нужна. И способов подключения их к развитой среде програмирования, насколько мне известно, нету.
__________
16.There is no cause so right that one cannot find a fool following it.
Re[5]: Какой язык начинать учить в 12 лет?
От: Astaroth Россия  
Дата: 10.01.05 20:36
Оценка:
Здравствуйте, Павел Кузнецов, Вы писали:

ПК>Про шаблоны, пространства имен, объекты, разницу между локальным размещением объектов и размещением на куче можно при этом не объяснять:


Не забудьте, что придётся объяснить, почему не работает такой код:

std::string a = "hw";
std::string b;
b = "ggg" + a;
WinAmp играет: (умолк пока)
http://livejournal.com/users/breqwas
Re[2]: А сам с какого начинал?
От: Astaroth Россия  
Дата: 10.01.05 20:37
Оценка:
Здравствуйте, SWW, Вы писали:

SWW>Лично я начинал с ассемблера 8080. Это, конечно, не пример для подражания — просто тогда я был аппаратчиком. А первый язык высокого, не побоюсь этого слова, уровня был С по Кернигану-Ритчи. И до сих пор я считаю, что это лучший учебник по программированию.


Язык С (не С++) со времён К&Р немного изменился. Там синтаксис маленько архаичный, AFAIR.
WinAmp играет: (умолк пока)
http://livejournal.com/users/breqwas
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.