Продам - дачу, с. Абашево - 250 000 р. |
Продам - однокомнатную квартиру, бульвар Солнечный, 40 (Жилой дом, 9 эт) - 4 000 000 р. |
Продам - двухкомнатную квартиру, Миначева, поз. 8А (Стройка, 12 эт) - 7 700 000 р. |
Продам - однокомнатную квартиру, Миначева, поз. 8А (Стройка, 12 эт) - 5 350 000 р. |
|
|
Учить ребенка программированию , Нужно ли? С чего начать?
•
SummerRain
|
|
Активный
Сообщений: 1 219
|
Цитата(Amp @ Jun 15 2015, 14:14) Соглашусь с Snowm@n. Эти несколько лет лучше тратить не на борьбу с языком и компилятором, а собственно на написание программ. Когда я начинал изучать, мне тоже казалось частенько, что с компилятором что-то не так или язык не очень. И только я потом понял, что "не очень" был как раз я.
--------------------
Как прекрасен этот миф...
|
|
|
|
•
Amp
|
|
Активный
Сообщений: 2 336
|
Цитата(SummerRain @ Jun 15 2015, 17:19) И только я потом понял, что "не очень" был как раз я. Я это сразу понимал
|
|
|
|
•
SummerRain
|
|
Активный
Сообщений: 1 219
|
Цитата(Amp @ Jun 15 2015, 17:39) Я это сразу понимал А зачем про борьбу с языком и компилятором пишете?
--------------------
Как прекрасен этот миф...
|
|
|
|
•
Amp
|
|
Активный
Сообщений: 2 336
|
Цитата(SummerRain @ Jun 15 2015, 17:45) А зачем про борьбу с языком и компилятором пишете? Потому что язык и экосистема, выстроенная вокруг него, не способствуют быстрому старту. Особенно для человека у которого это первый язык. И вместо написания в удовольствие каких-то своих первых приложений он будет заниматься сбором грабель, что может погубить всякий интерес к этому делу.
|
|
|
|
•
SummerRain
|
|
Активный
Сообщений: 1 219
|
Цитата(Amp @ Jun 15 2015, 21:07) Потому что язык и экосистема, выстроенная вокруг него, не способствуют быстрому старту. Особенно для человека у которого это первый язык. И вместо написания в удовольствие каких-то своих первых приложений он будет заниматься сбором грабель, что может погубить всякий интерес к этому делу. Какова альтернатива?
--------------------
Как прекрасен этот миф...
|
|
|
|
•
ap@chi
|
|
Покинул этот форум 19.02.21
Сообщений: 11 265
|
я понял, что надо было учить Си, когда уже освоил бейсик и bascom, а тепер уже лень пересаживаться с одного на другое
|
|
|
|
•
Amp
|
|
Активный
Сообщений: 2 336
|
Цитата(SummerRain @ Jun 15 2015, 21:53) Python, современный Pascal (FreePascal, Delphi), может быть Lua (в связке c love2d, если хочется игр).
|
|
|
|
•
SummerRain
|
|
Активный
Сообщений: 1 219
|
Цитата(Amp @ Jun 15 2015, 23:33) Python, современный Pascal (FreePascal, Delphi), может быть Lua (в связке c love2d, если хочется игр). Pascal, Delphi уже как раз мертвы. Lua вообще на С написан. А написать "хеллоуворд" или пару других простых программ на С++ не сложнее, чем на питоне.
--------------------
Как прекрасен этот миф...
|
|
|
|
•
SiMM
|
|
Banned
Сообщений: 37 461
Из: «либеральных»«ценностей»
|
Цитата(SummerRain @ Jun 16 2015, 07:42) И? Начинали так вообще все с ассемблера, а тот, в свою очередь, с машинных кодов
--------------------
|
|
|
|
•
SummerRain
|
|
Активный
Сообщений: 1 219
|
Цитата(SiMM @ Jun 16 2015, 09:24) И? Начинали так вообще все с ассемблера, а тот, в свою очередь, с машинных кодов А я и не против ассемблера
--------------------
Как прекрасен этот миф...
|
|
|
|
•
Amp
|
|
Активный
Сообщений: 2 336
|
Цитата(SummerRain @ Jun 16 2015, 07:42) Pascal, Delphi уже как раз мертвы. Так для обучения же берем. Потом можно соскочить на что-то более востребованное. Или на тот же C. Цитата(SummerRain @ Jun 16 2015, 07:42) А написать "хеллоуворд" или пару других простых программ на С++ не сложнее, чем на питоне. Классический плюсовый "Hello, world" - очень неудачный старт. На человека сразу сваливается куча вещей: классы, пространства имен, перегруженные операторы, функции, понятие точки входа в программу, косвенным образом даже указатели.
|
|
|
|
•
SummerRain
|
|
Активный
Сообщений: 1 219
|
Цитата(Amp @ Jun 16 2015, 12:31) Так для обучения же берем. Потом можно соскочить на что-то более востребованное. Или на тот же C. Это с С можно соскочить на паскаль, а тут придётся переучиваться. Цитата(Amp @ Jun 16 2015, 12:31) Классический плюсовый "Hello, world" - очень неудачный старт. На человека сразу сваливается куча вещей: классы, пространства имен, перегруженные операторы, функции, понятие точки входа в программу, косвенным образом даже указатели. Исходный код #include <iostream> void main() { std::cout << "Hello, World!"; } #include <iostream> - подключение модуля для ввода/вывода данных. void main() - главная функция. std::cout << - вывод. Пусть просто запомнит пока эти три вещи без подробностей. Потом уже дойдёт до всего остального. Также как ребёнок учится говорить "мама", "папа", "каша". Он просто запоминает. Ему же не объясняют, что "мама тебя родила", "папа тебя зачал", "каша - это то, что будешь кушать не смотря ни на что первые лет 10 своей жизни". А вы предлагаете, мол, пусть ребенок выучит мартышкин язык, а потом уже научится блеять по-человечьи.
--------------------
Как прекрасен этот миф...
|
|
|
|
•
Amp
|
|
Активный
Сообщений: 2 336
|
Мне кажется, что вы не те цели возлагаете на первый для ребенка язык По мне так на нем (языке) нужно учиться основам алгоритмизации и решению задач. А не заниматься изучением языка ради самого языка с целью использования его в будущей профессиональной деятельности.
|
|
|
|
•
Snowm@n
|
|
O_o
Сообщений: 1 037
|
Цитата(SummerRain @ Jun 10 2015, 10:33) Да он довольно сложный. Но если ребенок занимает программированием, то скорее всего он весьма одарённый. К тому же, чтобы научиться писать хорошо на С++, у него есть несколько лет до того, как он повзрослеет. Эти несколько лет будет полезнее потратить на другие вещи, например на изучение алгоритмов и структур данных, а не осваивать язык, состоящий из костылей чуть менее чем полностью. Цитата(SummerRain @ Jun 10 2015, 10:33) Так про С++ говорили ещё лет 5 назад. Но почему-то на С++ до сих пор пишут сложные программы и игры. У С/С++ есть очень важное достоинство - оптимальное использование ресурсов, и как следствие экономия памяти и высокое быстродействие. Но его недостатков при этом никто не отменял. Да, у него всегда будет своя ниша. Но если вам не требуется максимальное быстродействие например, лезть туда не следует. Только время потеряете. А особенно если вы новичок/начинающий программист. Цитата(SummerRain @ Jun 10 2015, 10:33) А для сборки мусора есть стандартные средства (например, умные указатели, которых в том же новом стандарте тьма тьмущая). Сборка мусора != умные указатели. Умные указатели я могу использовать, а могу не использовать в отличие от сборки мусора. Да и чтобы использовать умные указатели правильно нужно знать не меньше, чем при ручном управлении памятью. Хотите примеров? Иx есть у меня Исходный код func(shared_ptr<A>(new A()),shared_ptr<B>(new B())) // возможна утечка памяти Исходный код class A; class B; class A{... auto_ptr<B> m_b; ...}; class B{... auto_ptr<A> m_a; ...}; // зацикливание при удалении Исходный код class A; class B; class A{... shared_ptr<B> m_b; ...}; class B{... shared_ptr<A> m_a; ...}; // утечка памяти при удалении Цитата(SummerRain @ Jun 10 2015, 10:33) А к синтаксису можно привыкнуть. К тому, что компилятор при малейшей опечатке в шаблонном коде выдает многостраничную простыню привыкнуть довольно сложно В итоге что хочу сказать. Применять С++ можно и нужно, но ни в коем случае не для обучения. На мой взгляд, идеальным выбором будет Python. p.s. Да, ваш HelloWorld стандарту не соотвествует p.p.s. Не надо воспринимать мое сообщение как нападки на C++, я его люблю таким, какой он есть, со всеми недостатками
--------------------
Developer -> Lead Developer -> Lead Architect -> ... ?
|
|
|
|
•
SummerRain
|
|
Активный
Сообщений: 1 219
|
Цитата(Snowm@n @ Jun 17 2015, 20:04) Эти несколько лет будет полезнее потратить на другие вещи, например на изучение алгоритмов и структур данных, а не осваивать язык, состоящий из костылей чуть менее чем полностью. Изучать алгоритмы без применения их в коде - пустая трата времени. Также и со структурами. Как влетит - так вылетит. Теория без практики мертва. Почти полностью состоит из костылей? Да ладно... Цитата(Snowm@n @ Jun 17 2015, 20:04) У С/С++ есть очень важное достоинство - оптимальное использование ресурсов, и как следствие экономия памяти и высокое быстродействие. Но его недостатков при этом никто не отменял. Да, у него всегда будет своя ниша. Но если вам не требуется максимальное быстродействие например, лезть туда не следует. Только время потеряете. А особенно если вы новичок/начинающий программист. Да никто сразу не заставляет кодить на низком уровне. Как раз достоинство языка в том, что можно писать драйвера и можно шлёпать формы (ну тут ясно, что это не pure C++). Цитата(Snowm@n @ Jun 17 2015, 20:04) Сборка мусора != умные указатели. Умные указатели я могу использовать, а могу не использовать в отличие от сборки мусора. Да и чтобы использовать умные указатели правильно нужно знать не меньше, чем при ручном управлении памятью. Согласен. Но на начальном этапе большинство задач можно решать без использования кучи. А если уж выделяешь память, то будь добр - учись убирать за собой Цитата(Snowm@n @ Jun 17 2015, 20:04) Хотите примеров? Иx есть у меня Исходный код func(shared_ptr<A>(new A()),shared_ptr<B>(new B())) // возможна утечка памяти Исходный код class A; class B; class A{... auto_ptr<B> m_b; ...}; class B{... auto_ptr<A> m_a; ...}; // зацикливание при удалении Исходный код class A; class B; class A{... shared_ptr<B> m_b; ...}; class B{... shared_ptr<A> m_a; ...}; // утечка памяти при удалении Про эти примеры можно сказать: "Месье знает толк в извращениях". В первом примере нефиг громоздить инструкции в одну строку. Мелкий программёнок должен знать, что . А надо сначала проверить на std::bad_alloc. И вообще он должен знать, что аргументы функции могут вычисляться в любом порядке. (Пару тысяч страниц увлекательного чтива в виде стандарта как раз пойдут ему на пользу ). Во 2-м и 3-м примере тоже извращение. Чтобы 2 класса ссылались друг на друга... Конечно ваш опыт больше. Вот мне бы хотелось какой-нибудь реальный пример, где такое необходимо. Цитата(Snowm@n @ Jun 17 2015, 20:04) К тому, что компилятор при малейшей опечатке в шаблонном коде выдает многостраничную простыню привыкнуть довольно сложно Не ну не надо торопиться портить шаблонами детство ребёнку. Цитата(Snowm@n @ Jun 17 2015, 20:04) В итоге что хочу сказать. Применять С++ можно и нужно, но ни в коем случае не для обучения. На мой взгляд, идеальным выбором будет Python. не знай, не знай. А если он захочет создать (а он скорее всего захочет) полноценный экзешник. На интерпретируемом языке без сторонних программ... Цитата(Snowm@n @ Jun 17 2015, 20:04) p.s. Да, ваш HelloWorld стандарту не соотвествует Ну я там специально поставил void. А то действительно проблематично будет объяснять int main... return 0. Куда возвращает?
--------------------
Как прекрасен этот миф...
|
|
|
|
|
|
1 чел. читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
|