metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-08-03 11:49 pm

Обучение программированию с нуля.

Последнее время часто возникает такой вопрос: как обучить человека программированию вообще с нуля. Т.е., например, человек умеет работать на компьютере и все, пользователь - с чего начинать, чтобы он смог хоть как-то понять, например, книги по программированию "для начинающих".
Если по хорошему, то начинать, конечно, надо с таненбаума, ассемблера, сишечьки, SICP и прочего такого - но, само собой, за короткое время это не осилишь, да и, честно говоря, когда не видишь практического применения - оно даже с базовыми знаниями нихрена не осиливается. Разве что для сдачи экзамена, когда над душой стоит препод с дубиной.

[identity profile] vit0ld.livejournal.com 2013-08-04 06:16 pm (UTC)(link)
скорее наоборот

[identity profile] vp.livejournal.com 2013-08-04 06:18 pm (UTC)(link)
Обоснуйте?

[identity profile] theiced.livejournal.com 2013-08-04 07:02 pm (UTC)(link)
вариант "разобрался и осознал что оно не нужно" не рассматривается?

[identity profile] theiced.livejournal.com 2013-08-04 07:03 pm (UTC)(link)
ааааааа. аааааааааааааааааааааааа. не не не, я не хочу с вами обсуждать ойти. совсем не хочу.

(Anonymous) 2013-08-04 07:48 pm (UTC)(link)
совсем-совсем с нуля - смотрите "комплект учебных миров". проверено на собственном племяннике %)
PS: там в самом начале вообще ассемлер из трех команд, исполнитель - робот, программирование драг-н-дропом %)

[identity profile] golomeen.livejournal.com 2013-08-04 09:15 pm (UTC)(link)
Блин про ввод обработку и вывод рассказать
А там уже как пойдет. Хочешь ассемблер хочешь сишарп или вообще игровую консоль

[identity profile] metaclass.livejournal.com 2013-08-04 09:24 pm (UTC)(link)
Я так и ответил, в конечном итоге. Присваивание, управляющие конструкции, ввод-вывод, а дальше уже можно и книги читать.

[identity profile] berezovsky.livejournal.com 2013-08-04 10:55 pm (UTC)(link)
Вот ещё пиздатая книжка, "Подружись со мной,компьютер", мне её в детстве Дед Мороз принёс.
https://www.asuswebstorage.com/navigate/s/A02A57AB9F5D4939B70844EE05AF1C8DY (девять метров)

[identity profile] vit0ld.livejournal.com 2013-08-05 03:58 am (UTC)(link)
скорее наоборот, у Си есть преимущества в синтаксисе ( кратость ).
что тут обосновывать?

[identity profile] pascendi.livejournal.com 2013-08-05 06:07 am (UTC)(link)
При таком варианте люди обычно пишут что-то вроде "понял, что лично мне это не нужно" или "понял, что это плохо и не нужно потому, что..." :-)

[identity profile] bydlorus.livejournal.com 2013-08-05 07:10 am (UTC)(link)
Если нужен человек, разбирающийся в компьютерах - то основы архитектуры ЭВМ (АЛУ и пр), ассемблер в рамках "как на самом деле работает ваша программа на оперденном языке" и конечно же основы ОС. Параллельно можно и задачки давать решать - всё равно на каком языке, абы человек не заскучал.

А то потом приходят люди...

[identity profile] vp.livejournal.com 2013-08-05 07:18 am (UTC)(link)
Вот это я и имел ввиду. Я думал, что вы за синтаксис паскаля :)

[identity profile] permea-kra.livejournal.com 2013-08-05 07:51 am (UTC)(link)
Он совершенно отвратителен, если целью ставить производительность. Он очень хорош, если целью ставить быстро наговнякать и посчитать что-то нетяжелое. Я, пользую ghci именно в этом качестве, потому что многие вещи там превращаются в однострочники.

"Взрослые" численные методы вообще не столько про собственно численные методы, сколько про MPI, параллельное программирование и распределенное хранение данных.
Edited 2013-08-05 08:09 (UTC)

[identity profile] permea-kra.livejournal.com 2013-08-05 08:00 am (UTC)(link)
Если с семьей. Для одиночки - вполне нормальный бюджет.

[identity profile] permea-kra.livejournal.com 2013-08-05 08:02 am (UTC)(link)
Угу. А гуй больше писать и не на чем.

[identity profile] vp.livejournal.com 2013-08-05 08:05 am (UTC)(link)
Почему? Qt, PyQt, .net, mono

Дохера и больше развитых средств для гуя.

[identity profile] permea-kra.livejournal.com 2013-08-05 08:13 am (UTC)(link)
питон - это ужас, летящий на крыльях ночи. Нет, в лялихе с ним жить можно, но на винде его установка и настройка неоправданно мучительна. Кроме того, это интерпретируемый язык и сложные интерфейсы в его исполнении недостаточно отзывчивы.
.net/mono - частично несовместимы и имеют свои тараканы.
Остается Qt , который c++ с дурномакрами. Но зато кроссплатформенный. Мазахисты развлекаются с GTK.
Edited 2013-08-05 08:40 (UTC)

[identity profile] theiced.livejournal.com 2013-08-05 08:36 am (UTC)(link)
"обычно" люди тупое говно с хуями вместо моска жрущее ещё больше говна. мне то это зачем?

[identity profile] vp.livejournal.com 2013-08-05 08:43 am (UTC)(link)
Вы неправы по всем пунктам чуть больше чем полностью.

В линуксах питон давным давно ставится в одну строку или вообще является частью дистрибутива. В винде ставится одни единсвенным мелким инсталятором, никакая настройка не требуется. Питон - не интерпретируемый язык, чтоб вы знали. Он с динамической типизацией, да. Но не интерпретируемый.

Дотнет и моно с большего совместимы, никаких тараканов в них не найдено.

Qt вылизан очень сильно.

Короче, все хорошо :)

[identity profile] permea-kra.livejournal.com 2013-08-05 09:06 am (UTC)(link)
>В линуксах питон давным давно ставится в одну строку или вообще является частью дистрибутива.
Это, безусловно, так. Однако сейчас распространены две ветки (2.* и 3.*).
В винде питон ставится одним мелким инсталлятором, да. А вот установка дополнений с бинарными компонентами - это несколько интереснее.

> Питон - не интерпретируемый язык, чтоб вы знали.
Да ну? Т.е. для него вроде как была реализация с копиляцией в бинарный код через хаскель, но основные реализации до сих пор интерпретируемые. (точнее, компилируемые в байт-код)

>Дотнет и моно с большего совместимы, никаких тараканов в них не найдено.
Есть (точнее, были, сейчас достоверно не знаю) мелкие отличия в семантике байт-кода, которые не позволяют толком использовать F# на моно. Наверняка есть что-то еще, но мне в тот момент этого хватило, дальше копать не стал.

Qt - да, вылизан. Но на плюсах с говномакрами. В том и есть мой пойнт: писать кроссплатформенный гуй в общем больше и не на чем.

[identity profile] vp.livejournal.com 2013-08-05 09:09 am (UTC)(link)
Почитайте, как работает питонья PVM виртуальная машина и про байткод. Это ни разу не интерпретатор. Так же работают и жаба и дотнет.





[identity profile] permea-kra.livejournal.com 2013-08-05 09:23 am (UTC)(link)
CPython is bytecode interpreter.
Нет, жаба и дотнет работают не так. В дополнение к bytecode interpreter они имеют JIT. Впрочем, сравнение с жабой символично, поскольку она тоже зачастую радует неотзывчивым интерфейсом.

[identity profile] vit0ld.livejournal.com 2013-08-05 09:27 am (UTC)(link)
есть и JIT:
http://pypy.org

[identity profile] vit0ld.livejournal.com 2013-08-05 09:27 am (UTC)(link)
есть и JIT: PyPy точка орг

Page 5 of 6