1989

Основы программирования. Часть 0.

Пост для тех, кто хотел научиться программированию, но не знал с чего начать. Это мой дебют и как пикабушника, и как учителя, так что жду советов и критики)
Основы программирования. Часть 0.
321
Автор поста оценил этот комментарий
Начинать изучение программирования с JS? Серьезно?
Иллюстрация к комментарию
раскрыть ветку (1)
14
Автор поста оценил этот комментарий
А вы предлагаете с Си? Я выбрал JS в первую очередь потому, что он уже есть на компе у каждого пользователя. А еще JS прощает некоторые ошибки новичков, типа забытых точек с запятой. Для изучения других популярных языков нужно ставить дополнительное ПО, а большинству это делать просто лень. А еще статьи будут не про веб-программирование.
показать ответы
43
Автор поста оценил этот комментарий
"А еще JS прощает некоторые ошибки новичков, типа забытых точек с запятой"
Новичкам как раз таки нельзя такие ошибки прощать. Нельзя баловать их такой роскошью.
"Для изучения других популярных языков нужно ставить дополнительное ПО"
Если человек не хочет (или не может xD) поставить IDE, то ему и не надо в программирование.
P.S. Вообще я не понимаю суть подобных постов. Если человек хочет изучать программирование - он сам начнет, сам найдет учебник, сам будет изучать. А если не хочет, то и 1000 подобных постов-уроков не сделают из него программиста. =/ Ну, это мое мнение и оно не претендует на место истины в последней инстанции.
раскрыть ветку (1)
37
Автор поста оценил этот комментарий
"Новичкам как раз таки нельзя такие ошибки прощать"
В принципе вы правы. Но программирование, это в первую очередь умение сформировать алгоритм Я планировал сделать упор именно на продумывании алгоритмов, а не на изучении правил конкретного языка.

"Если человек не хочет (или не может xD) поставить IDE"
Кроме IDE нужно ставить еще интерпретатор/компилятор. А тут можно сразу работать, даже не сворачивая эту страницу. Для многих самое сложное - это перебороть лень и начать заниматься, чему очень поспособствует сокращение необходимых телодвижений.

"А если не хочет, то и 1000 подобных постов-уроков не сделают из него программиста"
Среди моих знакомых много людей, от которых я часто слышу "Программирование это так сложно", "Я бы в жизни не смог(ла) написать программу" и так далее. Я же попытался показать, что программирование не так страшно, как кажется. Возможно у меня получилось плохо, но это уже вам судить)
показать ответы
2
Автор поста оценил этот комментарий
Пост скорее вреден, чем полезен.
Одно из самых важных качество для программиста это умение самостоятельно искать, фильтровать и анализировать информацию. Если человек уже на начальной стадии не может разобраться в том с чего ему начать, то, думаю, лучше поискать другую профессию.
Если ну очень хочется, то сперва научиться работать с информацией.
Это, конечно, не отменяет необходимость всяких школ и курсов, но там должны рассказываться уже достаточно продвинутые темы с большим количеством практики.
Базовые вещи программист просто обязан найти и изучить сам.
раскрыть ветку (1)
5
Автор поста оценил этот комментарий
Если бы все так думали, то о базовых вещах не было бы ВООБЩЕ никакой информации. Ибо каждый автор бы думал: "Зачем я буду писать про базовые вещи? Ведь программист их обязан искать сам".

Алсо, начать - самое сложное в любом деле, не только в программировании.
показать ответы
3
Автор поста оценил этот комментарий
лол.
сидишь тут, читаешь учебники, записываешься на курсы, читаешь хабр, изучаешь библиотеки и низкоуровневые языки, что бы лучше понимать высокоуровневые. Пытаешься осознать наследование...
..
Пикабу.
Обучение программированию.
Длиннопостами.
..

Автор, ты конечно молодец. Но пойми. В итоге от твоей работы - вырастет ещё одно поколение макак. Которые будут знать только "нажал сюда - получил банан".
Когда знать надо - Почему он получил банан.
Слишком большая тема взята. Она не влезет в рамки пикабу.
Даже если по итогам твоих уроков кто то сможет написать копипастом змейку, то самостоятельно, он уже даже не сможет в эту змейку напихать препятсвий.
Не нужно делать уроки по типу - "смотри на меня, делай как я". Это не правильно. Это погубит твоих учеников.
Да и вообще, начинать надо было с байтов, битов и принципов хранения информации. с низкого уровня
раскрыть ветку (1)
5
Автор поста оценил этот комментарий
"Не нужно делать уроки по типу - "смотри на меня, делай как я". Это не правильно. "
Полностью согласен и постараюсь этого избежать)

"начинать надо было с байтов, битов и принципов хранения информации"
Вы одновременно и правы и ошибаетесь. Если бы я вел курсы программирования, то начал бы с низкого уровня, потому что я был бы уверен - те, кто посещает мои курсы ХОТЯТ учиться и им это УЖЕ интересно, а я лишь помощник в этом. Тут же я пытался ЗАИНТЕРЕСОВАТЬ народ и показать, что не так страшен черт, как его малюют. А низкий уровень был бы просто скучен
показать ответы
3
Автор поста оценил этот комментарий
У меня дня три руки не доходили комментарий написать. Я могу разве что написать критику текта (на почту послать можно, а можно еще в аське обсудить) и то с задержкой 2-7 дней :)
Я думала о игре, которую можно на жаваскрипте запилить - игрушка по типу "кликни на появившуюся фигню". Есть такая в реале для детей - небольшим молоточком бьешь по вылазящим из дырочек сусликам (или кому-то другому), после удара суслик прячется и рэндомно появляется в другим месте.
По реализации делаем небольшую таблицу с "сусликами" - картинками, по клику эвент, меняющий картинку на дырку (по ходу идет знакомство с событиями). Далее надо бы сделать, чтобы изначально были "дырки", а не "суслики" и реализовать рэндомные выскакивания сусликов. Потом можно бантиков навесить типа выбора размеров поля итп.
Но моя проблема в том, что я не писала игры на джаваскрипт, не до конца представляю момент, когда одновременно работает js код (в цикле поднимает сусликов) и код событий, когда нужно тыкать на сусликов. Разобраться можно, но лень и сейчас есть другие вещи :) Возможно, в этом моменте сокрыто больше сложностей, чем надо...
раскрыть ветку (1)
3
Автор поста оценил этот комментарий
Огромное вам спасибо) Даже просто критика текста очень поможет)

И за идею спасибо, возможно воспользуюсь ей. Правда реализация скорее всего будет совершенно другой. Дело в том, что мне хотелось максимально избавиться от работы с DOM. Я планировал работу с канвасом, так как это даст больше представления именно о программировании.

Если хотите, можете посмотреть код моей старой игры на JS
https://www.dropbox.com/s/79h95cizv2srilr/game.zip?dl=0
Правда это скорее платформер, но суть понять можно)

P.S.: Заранее извиняюсь за говнокод
показать ответы
4
Автор поста оценил этот комментарий
"Про приведение типов будет в следующей статье."
Я как раз считаю, что приведение типов нужно рассматривать как минимум очень осторожно. Числа, которые на самом деле строки, которые на самом деле объекты - это мозговыносящая штука.

"Если они взяты из домашнего задания по математике - то это результат, который можно сразу использовать."
Это верно, но домашку уже считают калькуляторами, которые выполняют те же функции, только привычнее :) Хотя да, без калькулятора в программировании никуда.

Я там дальше читала что-то про ООП в следующем уроке... Может все же повременить и дать условия, циклы?.. ООП - штука интересная, но только не в JS. Если при переходе на ООП в классических языках происходит сдвиг по фазе в голове (с пиханием объектов куда не попадя), то в джаваскрипт объекты - это вообще сдвиг по фазе... Или очень в общем их описать. Когда я объясняла что такое ООП - то лучше всего работал отдаленный от программирования пример про мебельную фабрику, которая имея схему (класс) может создавать объекты (стулья) с разными свойствами (породы дерева, обивка). От этого можно плавно перейти к мысли, что все - объекты, стулья - объекты, дома - объекты, которые содержат в себе квартиры - объекты, в которых живут люди - объекты, которые пишут функции-объекты, создают переменные-объекты, и даже 1+1 - это операция над двумя объектами, мухаха! Хм... Что-то я увлеклась...
раскрыть ветку (1)
2
Автор поста оценил этот комментарий
"пример про мебельную фабрику"
Собирался объяснять подобными примерами, правда пока без "фабрики", а только на примерах готовой "мебели". В JS и так даже скалярные значения являются объектами, так что с Классами можно и повременить)
Хотя тут надо еще подумать, что бы описать все максимально понятно...
показать ответы
Автор поста оценил этот комментарий
про онлайн компилятор слышал?
раскрыть ветку (1)
2
Автор поста оценил этот комментарий
Даже приходилось пользоваться)
68
Автор поста оценил этот комментарий
Сколько уже было подобных постов? Сколько еще будет? Дайте ссыль хоть на половину законченную серию постов.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Надеюсь, что эта серия станет счастливым исключением)
показать ответы
0
Автор поста оценил этот комментарий
Подлый паблик вконтакте или все согласовано?
Автор там нигде не указан и ссылок нет.
Иллюстрация к комментарию
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Подлый >:( Я не использования материала, но то, что источник не указан, довольно обидно
1
Автор поста оценил этот комментарий
Скооперируйся с nekonyash и вместе выработайте методику подачи материала:)
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Если она согласна мне помочь, то я за обеими руками)
показать ответы
0
Автор поста оценил этот комментарий
Так и знал, придётся пояснить. Я далеко, как Вы поняли, не аниме wiki, но для меня персонажи делятся на несколько типов: безумных весельчаков, скромных и серьёзных высокомерных(особенно отвращает). По крайней мере, из того, что я видел у меня складываются такие образы.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Что-то вы странное смотрели, раз такие типы запомнились лучше всего :D Просто смотреть все подряд - плохая идея. Велика вероятность наткнуться на шлак или что-нибудь слишком специфическое. А вообще, самый распространенный тип персонажей в аниме - ОЯШ (http://lurkmore.to/index.php?title=%D0%9E%D0%B1%D1%8B%D0%BA%...)

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

И к слову, персонаж в посте - Хатсуне Мику - не из аниме. Вот, если хотите, почитайте: http://lurkmore.to/Мику_Хацуне
показать ответы
3
Автор поста оценил этот комментарий
Что, простите?)
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Только сейчас заметил, что бред написал :(
Конечно же ноль - false, а все остальные числа - true.

Просто в этот момент мыслях было автоматическое приведение типов при сравнении булева с числом, а там не число преобразуется в булево, а наоборот.
true == 3; // false
true == Boolean(3); // true

Спасибо, что указали на ошибку)
показать ответы
Автор поста оценил этот комментарий
Ну вот не знаю. Так сложилось. Не люблю эту рисовку, характеры персонажей, подвисания (или как там это называют).
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Про рисовку ладно, хоть их и огромное количество разных, можно не любить саму концепцию. "Подвисания" тоже можно понять, хотя далеко не во всех аниме оно присутствует. Но характеры персонажей? Вы посмотрели один тайтл и экстраполировали его на всю японскую анимацию?

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

Ну хотя с таким раскладом - у вас останутся только те, кто действительно хочет научиться, кто не будет стесняться спрашивать и рыть информацию самостоятельно.
Надеюсь 1-2 человека действительно заинтересуются)
Во всяком случая, автор, не подумай что я желаю тебе зла, наоборот!
Просто я говорю о своих граблях)
Я начинал учить по постам, статьям, потом по видеоурокам, и только через несколько месяцев понял, что я все ещё на начальном уровне, и в голове моей полная каша и отсутствие желания продолжать. И только когда я начал читать учебники и книги, вся та информация, которую я получил с ютуба и статей, а так же новая инфа из книг, у меня в голове разложилась по полочкам.
Так что, попробуй скачать пару книжек по JS и просто погляди на их оглавление.
Удачи)
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
"важно разбираться в основах"
Я за обоими руками) Просто хотелось, что бы результат был виден сразу же, а то, чего недосказал сейчас, объясню чуть позже.

"голове моей полная каша и отсутствие желания продолжать"
У меня история была почти полностью обратной. Пытался читать книги, но многое не понимал, а самое главное, не мог понять ЗАЧЕМ это нужно и КОГДА ЖЕ я смогу увидеть результат. В итоге забросил все. А чуть позже наткнулся на видеоуроки, где результат был виден уже через 10 минут. А уже через неделю, почти не зная теории, я вовсю практиковался. У меня появилось желание только тогда, когда я увидел результат работы. Я не знал почему и как та или иная функция работает, но я понимал, как ее применить, что бы получить нужный мне результат.

У нас просто фломастеры разные, вот и все)
Удачи и вам)
показать ответы
0
Выборгский гриб
Автор поста оценил этот комментарий
@SazereS, подписался! Надеюсь хоть что-нибудь для себя пойму.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Спасибо)
Сразу же поправлю: "проанализировал и понял что сравнивается кол-во символов в строке". Это не так. Сравнивается именно содержимое строки. То есть строки "раз" и "два" будут считаться разными, хоть количество символов в них и одинаковое.
И удачи в обучении)
показать ответы
0
Автор поста оценил этот комментарий
@SazereS, ну когда уже следующий пост??()
раскрыть ветку (1)
Автор поста оценил этот комментарий
Почти дописан
Ждите в начале недели)
0
Автор поста оценил этот комментарий
Посмотрю. Может, угодный для меня жанр найдётся )
раскрыть ветку (1)
Автор поста оценил этот комментарий
Чисто из интереса, а вы какие жанры в фильмах/сериалах предпочитаете?
показать ответы
0
Автор поста оценил этот комментарий
Не-а. В детстве была кассета с унесёнными призраками )
раскрыть ветку (1)
Автор поста оценил этот комментарий
Значит вам есть чем заняться) Я серьезно, посмотрите побольше его творчества вне зависимости от года выпуска! Если вам Унесенные понравились, то и остальное равнодушным не оставит)
показать ответы
0
Автор поста оценил этот комментарий
Лол. Я думал задумка в том что бы каждые день-два проходить по части, не перенапрягаясь, и не теряя интерес. Думаю через 2 недели энтузиазм большинства пропадёт. Простых статей в инете хватает.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Я бы с удовольствием выпускал по статье через день, но у меня просто нет столько свободного времени. А сейчас вообще на работе завал. Если смогу выпустить раньше - конечно выпущу, но пока дефицит времени слишком большой =(
Автор поста оценил этот комментарий
Когда будет 2 пост? Что бы кто не говорил, а это интереснее большинства постов на пикабу.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Если через 2 недели поста не будет пинайте меня в комментах)
показать ответы
1
Автор поста оценил этот комментарий
Задача блок схем научить вас правильно представлять ход программ. Да, уже с кодом на 200+ строк блок схема не очень, но для начала их надо рисовать. Тебе ещё учиться и учиться, а ты сейчас плодишь индусов.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Я немного о другом говорил. Преподаватель заставлял нас перерисовывать блок-схемы вообще не объясняя зачем они нужны.

Это сейчас я понимаю, что такое блок-схема и зачем она нужна. А тогда для меня это было абсолютно бесполезно.
1
DELETED
Автор поста оценил этот комментарий
Сколько уже раз было начинание на пикабу про программирование ....
раскрыть ветку (1)
Автор поста оценил этот комментарий
Сколько уже раз в комментариях к этому посту говорили про начинание на пикабу про программирование...
показать ответы
Автор поста оценил этот комментарий
Я тебя разочарую: сколько помню арифметику, нет та деления в столбик. Деление "ручками" моя бабушка называла "Лодочкой" (она учила меня этому лет в 6), еще слышал наименование "уголком", но "в столбик" только сложение-вычитание-умножение... В первом классе Бабуля научила меня "лодочкой" даже квадратный корень извлекать... Кто это сейчас умеет? А я в 16 от нефиг делать дошел до сотого разряда корня из 2х...;-)
раскрыть ветку (1)
Автор поста оценил этот комментарий
Ну не знаю, у меня в школе то, что вы видимо называете "уголком", называли "в столбик")
показать ответы
Автор поста оценил этот комментарий
По мне так, надо было акцентировать внимание на отличие оператора присваивания (=) от оператора сравнения (==), а то начнут писать if (a = b) и не будут понимать, что здесь ***** творится. Ну и может стоило добавить в конец небольшую шпаргалочку по операторам, что то в духе:
<, >, == - true если левый операнд меньше/больше/равен правому
... ну и так далее. Хотя не уверен насчет этого, может это даже бы и повредило.

Ну и обязательно надо делать что-то интересное читателю, чтоб не заскучал.
раскрыть ветку (1)
Автор поста оценил этот комментарий
"акцентировать внимание на отличие оператора присваивания"
Хотел это сделать, но забыл, пока писал :( Заметил это и еще пару очепяток уже после того, как выложил пост

На счет шпаргалки - возможно будет полезно, подумаю))

"надо делать что-то интересное читателю"
Это самое сложное) Хотя пара идей есть)
0
Автор поста оценил этот комментарий
не совсем так, bool - это 1 байт памяти, аналогично byte, 0-255 , при этом 0 - false , все что не 0 - true
Далее
typedef false 0
typedef true 1
По этому когда ты булевой переменной присваиваешь true ты присваиваешь по сути byte"вой переменной единицу.
соответственно 1 == true
раскрыть ветку (1)
Автор поста оценил этот комментарий
Немного дополню: в JS integer сильнее чем boolean, поэтому в строчке true == 3 не тройка приведется к булеву значению, а true превратится в число - единицу. Соответственно,
true == 3; // false
показать ответы
Автор поста оценил этот комментарий
JS - вароориентированое программирование, это ж ужас какой то, понять тип переменной можно только после танца с бубном.
я вот где то в комментах видел, 3 == "3" // true
вот как это понять?О_О слаботипизированые языки это канешна жесть.
Хотя все извращаються как хотят, я вот жду, что кто нибудь цыкл статей по программированию валидный вложит, тогда я смогу чуваку который хочет но не может разобраться в программировании подсунуть цыкл и сказать "учи бро" , помню в свое время думал, что программировать это так сложно. Сначала перед 1м курсом института, потом перед первым рабочим днем.
Кстати, может больше инфы про ИДЕ на котором можно это дело разробатывать и тестировать?
Ты ж не пишешь на хроме или в блакноте.
раскрыть ветку (1)
Автор поста оценил этот комментарий
"понять тип переменной можно только после танца с бубном. "
После typeof a :D

"слаботипизированые языки это канешна жесть"
Согласен, поэтому в следующей статье подробно постараюсь разобрать типизацию.

"Кстати, может больше инфы про ИДЕ на котором можно это дело разробатывать и тестировать?"
В этой статье упор был на быстрый старт, поэтому никаких IDE) А вот далее придется ставить SublimeText или аналоги и работать в них.
показать ответы
вообще Javaнутый
Автор поста оценил этот комментарий
Ждём новую волну javascript программистов на фрилансе ;(
раскрыть ветку (1)
Автор поста оценил этот комментарий
Это вряд ли. По плану, после основ языка будет просто страничка с канвасом, на котором мы будем пытаться сделать простенькую игру. Такие программисты на фрилансе мало кому нужны)
Автор поста оценил этот комментарий
Пункт " А что я узнаю за весь цикл постов" читал с кровью из глаз..
раскрыть ветку (1)
Автор поста оценил этот комментарий
Извиняюсь за оформление, опыта маловато :(
Автор поста оценил этот комментарий
Что за персонаж в посте?
раскрыть ветку (1)
Автор поста оценил этот комментарий
Хатсуне Мику, а точнее ее чиби-версия. В тегах есть)
показать ответы
Автор поста оценил этот комментарий
На рабочем компе только EE. могу на нем начать? ctrl+ shift+ j не работает. а пока лови Плюс!
раскрыть ветку (1)
Автор поста оценил этот комментарий
Попробуйте нажать F12 и внизу выбрать вкладку "Консоль"
DELETED
Автор поста оценил этот комментарий
Ну что? Где следующая часть?
раскрыть ветку (1)
Автор поста оценил этот комментарий
Почти дописана, в начале недели будет пост)
1
Автор поста оценил этот комментарий
Когда-нибудь я наберусь смелости посмотреть аниме) Пока мне нравится только одно - унесённые призраками.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Только умоляю, не начинайте с длинносененов типа наруты, блича и иже с ними. Лучше выберите любимый жанр и посмотрите один из топовых тайтлов в этом жанре :)

Кстати, а другие произведения Миядзаки вы смотрели? Типа Бродячего замка Хаула или Навсикаи из долины ветров?
показать ответы
0
Автор поста оценил этот комментарий
шикарный будет урок, видимо.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Вы можете написать свой пост с сишарпом и наследованиями, показать пример, так сказать)
показать ответы
2
Автор поста оценил этот комментарий
ООП на примере JS? #comment_44241259
раскрыть ветку (1)
Автор поста оценил этот комментарий
Показать, что такое класс, объект и свойство объекта можно и на примере JS. А вот наследование это да, в JS с ним проблемы.
показать ответы
0
Автор поста оценил этот комментарий
А пока, вот вам веселый код:
$('a:contains("SazereS")').siblings('.com_down').each(function() {this.click();})
Как раз на JS.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Пофиксил:
$('a:contains("SazereS")').siblings('.com_up').each(function() {this.click();})

А так, хоть бы на Vanilla JS написали бы, а то JQuery... Прям обидно за вас стало(
показать ответы
Автор поста оценил этот комментарий
А учить не правильно, гораздо легче чем учить правильно. Я не писал на JS, но как я понял объявление переменной через var позволяет запихнуть туда что угодно, как ты объяснишь новичку переполнение или вообще смысл переменной? Почему ты начал объяснять действия со строками не объяснив что они из себя представляют? Зачем сразу говорить про булевые переменные если, как сказано выше, не понятно что такое var?

Как сказал @za4me сжечь, сжечь тебя и пост, чтоб другим не повадно было.
раскрыть ветку (1)
Автор поста оценил этот комментарий
"как ты объяснишь новичку переполнение"
А как новичок сможет столкнуться с переполнением? Смысл переменной в сохранением данных для дальнейшего использования и в обезличивании данных, и об этом я упоминал.

"не объяснив что они из себя представляют?"
Массив чаров они из себя представляют, но что бы это объяснить, надо сначала рассказать про то, что такое массив. И я про это расскажу, но в одном из следующих постов.
Выборгский гриб
Автор поста оценил этот комментарий
О! Опять нюансы. Вот что нужно понимать что бы знать такие нюансы? Общее определение строковых параметров или особенности их определения в конкретном языке?
раскрыть ветку (1)
Автор поста оценил этот комментарий
Тут дело не в строчках) Оператор сравнения сравнивает значения, вне зависимости от того, какого типа эти значения. Если значения разных типов, то JS попытается привести их к одному.
То есть, если сравнить число 3 и строчку, содержащую только число 3, то результатом будет истина. Пара примеров:

3 == "3"; // true
"5" > 18; //false

И вот это как раз нюансы) Подробнее про это я расскажу в следующем уроке)
показать ответы
0
Автор поста оценил этот комментарий
SazereS, братюня, когда второй выпуск?
раскрыть ветку (1)
Автор поста оценил этот комментарий
Уже пилю, как только закончу, так сразу и будет пост)
показать ответы
2
Автор поста оценил этот комментарий
По-читал Ваши комментарии. Я хотел задать вопрос:
Вы вообще что и на чём писали?
Мне чтобы Вас лучше понять. А то к Вам гигантское количество претензий.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Писал сайтики на PHP, на нем же написал два фреймворка, баловался с Unity3D, писал игры на JS+Canvas+NodeJS+Socket.IO, есть стартап на C# (клиент) и PHP (сервер), написал несколько дипломов на Delphi (не себе), развлекался чатиками на С++, Delphi, JS и так далее, немного ковырял питон и руби.

Сейчас работаю бэкендером (PHP) в одном стартапе.

Конкретно по JSб вот игра, написанная за две пары, когда я еще в шараге был https://www.dropbox.com/s/79h95cizv2srilr/game.zip?dl=0

Претензии это хорошо) С тем условием, естественно, что они к месту

И почитал пишется вместе) Сорри, просто глаза режет
показать ответы
Автор поста оценил этот комментарий
Подозреваю что это были курсы Евгения Попова "JavaScript и Jquery"?)
Моя ситуация описывается просто.
Научился по принципу макаки. Возомнил что уже много чего могу и умею.
ой! Ошибка? не работает? и что бы понять в чем причина надо возвращаться в начало справочника и учить типы данных? да ну нафиг! какие типы данных! какие биты и байты. у меня же вот.. менюшки уже двигаются. И рыцарь бегает с мечом на канвасе)
Зато уже после изучения основ, оказалось что,
jquery почти что не нужен.
Канвас - тоже не нужен.
и я прекрасно могу обойтись без этого, и мне даже легче и удобней)
раскрыть ветку (1)
Автор поста оценил этот комментарий
Неа) JS-ом я занялся гораздо позже, а начинал с PHP. Кстати, курсы Попова я тоже видел, но... do while..? для данных из базы? серьезно? Жесть там конечно та еще.

Ошибки были естественно, но гуглить я умел а читать любил) Поэтому пробелы в теории быстро восполнялись)

"jquery почти что не нужен"
Тоже согласен. А во время обучения JQ вообще зло
Автор поста оценил этот комментарий
если я не ошибаюсь 0 = выкл (false) а 1 = вкл (true)
раскрыть ветку (1)
Автор поста оценил этот комментарий
Все верно) При приведении числа к булевому значению JS единицу превращает в true, а все остальные числа - в false
показать ответы
DELETED
Автор поста оценил этот комментарий
Не ты первый, не ты последний учитель программирования на пикабу. Тот кто хочет научится программировать - научится, и такие посты ему не нужны.

p.s. Тему в топку.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Я понимаю, что это ваше личное мнение, но: "Не ты первый, не ты последний учитель математики в начальной школе. Тот, кто хочет научиться считать - научится, и такие уроки ему не нужны".

Учиться самому гораздо сложнее, чем учится с учителем. Даже если это просто чувак с развлекательного портала. Учиться по книгам хорошо, не спорю, но автору книги вопрос не задашь и непонятный момент не прояснишь.
показать ответы
Автор поста оценил этот комментарий
Подпишусь. Буду читать. Я сам пока Питон изучаю, но буду и тебя параллельно читать. Единственное пожелание - давай ДЗ. Иногда самому себе трудно придумать интересную задачку, а без практики, как ты и сказал, все херня.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Вы правы, отсутствие ДЗ - моя недоработка... В следующий раз обязательно учту)
показать ответы
1
Автор поста оценил этот комментарий
>>Читать учат с алфавита, писать программы с простейших мат. операций
алфавит учат, опираясь на "устные" знания. кто плохо говорит - ни за что не выучит алфавит. а "устного" вы ничего не дали.
>>Уже писал на эту тему. Что бы развить интерес к программированию нужно минимизировать количество действий между прочтением поста и готовым результатом.
готовый результат я, конечно, выпишу. от вашего поста можно только делать подобное. вы после себя не оставляете потенциала к развитию. вы учите переписывать, а не писать.
>>Цитирую: "Зачастую, результат какого-либо вычисления надо сохранить для последующего использования. В этом нам помогут переменные. Переменные – это ячейки памяти, куда мы можем сохранить любые данные"
кхм. мы же пишем для тех, кто в "этих ваших компуктирах" не смыслят (без обид, ребят)? поясняйте за ячейки памяти. данная привязка не очевидна, а значит - непонятна.
>>увольняю
строковые значения? а "значения типа строка" не благозвучнее звучит, не?
>>булевы функции основы программирования?
ORLY? а я то думаю, ммм...
они поясняются чуть ли не в первых порядках, если включаем сюда и информатику
>>На пользователей пикабу, которым не лень открыть консоль.
если человеку не лень открыть консоль, но лень скачивать IDE, НО ОН ХОЧЕТ В ПОГРОМИСТЫ (именно в погромисты), то, может, ему туда и не стоит соваться?
>>Развить интерес к программированию и показать, что не так страшен черт...
а чёрт-таки достаточно страшен, ибо "нон пенис канина" всё-таки. не пуком ромашки сбивать.
если начать с "браузера", процентов 60 в нем и останутся. не серьёзно вы подошли, это и огорчает.
>>Прям таки совсем никаких?
именно ваш подход - никаких и не даст. скорее всего, совсем.
>>В шараге мне сказали, что 80% информации студент должен узнавать сам. Собственно, вот и результат :)
да. только как и писал уже, вы не оставляете потенциала к развитию. если бы были более прозорливы, у вас бы не было тонны заминусованных коментов, да и я бы этот разговор не вёл. вы к нам из ВЕБа, так и вернитесь в ВЕБ.
>>Для того, что бы "Развить интерес к программированию и показать, что не так страшен черт..."
вы показываете не то, как "не страшен чёрт", а говорите "чёрт совсем не страшен!" и показываете нам козу.
и трачу на Вас время, надеясь, что дойдёт. отпирайтесь сколько влезет, только качество ВАШЕГО обучения скорее всего не изменится в ближайшие пару месяцев. моего посыла вы не увидели. жаль. да и потом, кому действительно нужно - есть хабр.
а вы тут не нужны
раскрыть ветку (1)
Автор поста оценил этот комментарий
""устного" вы ничего не дали"
То есть вы думаете, что посетители пикабу не умеют считать?

"вы после себя не оставляете потенциала к развитию"
Что вы вообще имеете ввиду под "потенциалом"?
"вы учите переписывать, а не писать"
Прописи учат тому же. И диктанты.

"поясняйте за ячейки памяти. данная привязка не очевидна, а значит - непонятна."
Тут вы, скорее всего правы. Постараюсь исправиться :)

"не благозвучнее звучит, не?"
Благозвучность - субъективное понятие. По мне так нет, не благозвучнее.

"может, ему туда и не стоит соваться?"
Как же вы туда сунулись? А может не стоило? Мало ли, погромистом бы стали? А вдруг?

"если начать с "браузера", процентов 60 в нем и останутся"
А если начать с Делфи/C++, то 80% будут программировать мышкой (эт я в сторону Embarcadero и иже с ними, если что). На таких в шараге насмотрелся, спасибо.

"у вас бы не было тонны заминусованных коментов"
Тут чел выкладывал скриптик забавный - он все мои комменты на странице минусит. Вот люди и тестят.

"вы к нам из ВЕБа, так и вернитесь в ВЕБ."
Чем это вам веб не угодил? Мы между прочим с вами в вебе и находимся сейчас. И вот вам цитата от другого комментатора: "Веб-программирование - это прежде всего программирование, затем веб, и только в последнюю очередь PHP+MySQL или что там у вас еще. Иначе говоря, знание конкретного языка программирования и умение пользоваться конкретными технологиями - самые последние вещи в арсенале программиста, точно также как знание приборной панели конкретного автомобиля - самое последнее, что нужно для вождения. Оно конечно нужно, но опытный водитель может разобраться с новой моделью на ходу. Можно годами учить какая стрелочка что показывает, но так вы никуда и не уедете. Изучение же кучи скучных околокомпьютерных теорий и наук, вроде как никак не связанных с вожделенным "написанием сайтов", требует не одного года и знания того, чему учили в школе. А тут обычно бэда."

"качество ВАШЕГО обучения скорее всего не изменится в ближайшие пару месяцев"
Не буду ничего писать - и через пару лет не изменится.

"кому действительно нужно - есть хабр."
Хабр для новичка штука сложная. Статей для начинающих почти совсем нет.

"а мне вы тут, на моем личном пикабу, не нужны"
пофиксил :3
показать ответы
0
Автор поста оценил этот комментарий
Ну алёёё, уже неделя прошла, где новые посты?
раскрыть ветку (1)
Автор поста оценил этот комментарий
Спасибо за напоминание) Начал уже писать, просто планировал раз в две недели, да еще и на работе сейчас завал. Но пилю, не беспокойтесь)
1
Автор поста оценил этот комментарий
Что бы развить интерес к программированию нужно минимизировать количество действий между прочтением поста и готовым результатом.

Т.е. нужно убить еще больше порог вхождения?

Хотелось бы процитировать с просторов интернета.

>>>* Набивание программ на клавиатуре - это только видимая верхушка айсберга, основная же работа программиста состоит в построении моделей и алгоритмов и остается невидимой, потому что происходит в голове. Ебилд же привык воспринимать окружающий мир сквозь призму телевизора и если чего-то не видит, считает что этого и нет ваще. Успехофф.

* Веб-программирование - это прежде всего программирование, затем веб, и только в последнюю очередь PHP+MySQL или что там у вас еще. Иначе говоря, знание конкретного языка программирования и умение пользоваться конкретными технологиями - самые последние вещи в арсенале программиста, точно также как знание приборной панели конкретного автомобиля - самое последнее, что нужно для вождения. Оно конечно нужно, но опытный водитель может разобраться с новой моделью на ходу. Можно годами учить какая стрелочка что показывает, но так вы никуда и не уедете. Изучение же кучи скучных околокомпьютерных теорий и наук, вроде как никак не связанных с вожделенным "написанием сайтов", требует не одного года и знания того, чему учили в школе. А тут обычно бэда.

* Британские ученые доказали, что определенная часть людей почему-то не способна научиться программированию вообще, посему могут расслабиться и даже не пытаться. В чем причина неизвестно, может быть в ДНК, в строении мозга или болезнях детства. Скорее всего, в пристрастии к формальной логике. Можно начать диссертацию по психологии или там истории с вброса "мы все возвращаясь домой включаем телевизор" и дальше спокойно сотни страниц развивать этот бред. Ученый совет может такое и проглотит, а вот программа, основанная на ошибочном допущении, работать не будет или будет, но коряво, даже если ошибка там всего одна. Если ошибка лежит в самой основе программы, то переделывать придется все. Причем исправление ошибок занимает до половины времени разработки, а иногда и больше, что требует некоторого эээ терпения.

раскрыть ветку (1)
Автор поста оценил этот комментарий
"Т.е. нужно убить еще больше порог вхождения?"
"развить интерес" != "убить порог"
Не путайте :)

С остальным, в принципе, согласен. Кстати, не совсем понимаю, к чему вы сюда веб-программирование приплели? Вы же говорили, что читали мои комментарии. А я ясно говорил, что HTML5 API будет затронуто минимально - только выбор канваса по айди, а дальше будем на канвасе рисовать чековечков, управлять ими с клавиатуры, учить их прыгать и так далее.
1
Автор поста оценил этот комментарий
Вот без обид, а с чего ты вдруг решил, что ты можешь кого-то научить?
Что, авторы десятков книг не могли сделать что-то, что можешь ты?
Ты можешь ответить на вопросы лучше гугла и стэковерфлоу вместе взятых?

Вспоминаются мои уроки информатики в школе, классе в восьмом, когда ничего еще не зная о синтаксисе и базовых понятиях ЯП, мы рисовали блок схемы с условиями, ветвлениями, циклами, счетчиками, изучали булеву алгебру (конъюнкция/дизъюнкция и т. д.), решали с ее помощью задачи, а уже потом начинали быдлокодить на бейсике.

А ты стал строить дом с крыши - не лучшая идея.

Лучше бы рассказал основные парадигмы, какие ЯП существуют, зачем они нужны и почему их так много.
раскрыть ветку (1)
Автор поста оценил этот комментарий
А кто сказал, что я совершу невозможное или буду лучшим?

"мы рисовали блок схемы с условиями, ветвлениями, циклами, счетчиками"
Мы тоже это делали, но до ЯП дело не дошло. Да и зачем нужны эти схемы нам не объяснили :(

"Лучше бы рассказал основные парадигмы, какие ЯП существуют, зачем они нужны и почему их так много."
Не зная хотя-бы одного ЯП бесполезно изучать парадигмы. Это даже не с крыши строить, а с покупки мебели.
показать ответы
Автор поста оценил этот комментарий
Зачем сразу Си? Вы пробовали гуглить списки ЯП? Есть тонны языков созданнных специально для новичков и для обучения. К тому же JS несмотря на свою простоту имеет один существенный недостаток - он более чем весь состоит из нюансов, новичок как бы не старался всё равно будет косячить и метаться по граблям.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Перед тем, как учить кого-то языку, надо знать его самому. С JS я достаточно хорошо знаком, а вот с тем же Питоном, например, только "на вы". А еще, языки, созданные специально для новичков, редко имеют практическое применение и по ним очень мало информации.
показать ответы
Автор поста оценил этот комментарий
Угу... А если показывать примеры ООП, то человек замучается переключаться между окнами. Мне то пофиг у меня 2 экрана )))
раскрыть ветку (1)
Автор поста оценил этот комментарий
Ну, ООП в JS довольно специфическое :D А переключаться между IDE и браузером все равно придется) По плану ООП будет затронуто уже в следующем уроке и разжевано в последующих.
показать ответы
2
Автор поста оценил этот комментарий
претензии именно к посту:
1) я увидел баловство, а программирования я не увидел, т.к. программирование есть создание программы. "что такое программа? кто ее выполняет? а главное, КАК?" - на эти вопросы ответа нет. а в "вводной" быть должны.
2) "какой-то?" цели? не какой-то, а ОПРЕДЕЛЁННОЙ. стыдно не знать принципов программирования.
3) программировать в браузере - стыд вам. для удобства есть среды программирования. Возьмите лазурус, если на то пошло - ТурбоПаскаль с ништяками и бесплатен.
4) в "переменных" я вообще ничего не понял. "какие они бывают? да что вообще такое - переменная и нахрена она нам?" и какого пня Вы до этого не рассказали нам о операторах? промах
5) "строковые значения"? увольте
6) булевы эначения? так сразу? а про булевы функции и логические операторы не хотите рассказать, не?
претензии к "циклу":
1) на кого ориентирован цикл? какой уровень подготовки?
какую цель Вы ставите? какой цели вы хотите добиться?
2) такое начало с JS не даст НИКАКИХ навыков. ассемблер и тот ловчей будет для обучения программированию (есть на много лучше языки).
имхо, для обучения ловчее паскаля и С пока ничего не придумали. записал бы сюда Python, но он слишком... "добр" к ученику, а такого позволять на первых парах нельзя.

Это только начало. После прочтения у Меня остались неприятные впечатления. КРАЙНЕ неприятные. Пожалуйста, откажитесь от "преподавания", вернитесь через года три-четыре. Сейчас Вам слишком рано: подача материала отрывистая, цели вы не видите, к чему идёте - или не знаете сами, или не можете определиться. Пока вываливаете кашу. Если Вам верить, то образовывались Вы сами (оно и видно), скорее всего по "интернет-самоучителям". Похвально, похвально, что опробовали себя в большом количестве сфер. Но вижу Я в Вас ВЕБщика.
Писать такие посты вам рановато.
У меня ещё один вопрос: зачем вы начали-то?
раскрыть ветку (1)
Автор поста оценил этот комментарий
"программирование есть создание программы"
Читать учат с алфавита, писать программы с простейших мат. операций

""какой-то?" цели? не какой-то, а ОПРЕДЕЛЁННОЙ"
Тут вы правы, мысль неверно сформулирована, действительно мой недосмотр

"программировать в браузере - стыд вам. для удобства есть среды программирования"
Уже писал на эту тему. Что бы развить интерес к программированию нужно минимизировать количество действий между прочтением поста и готовым результатом.

"что вообще такое - переменная и нахрена она нам?"
Цитирую: "Зачастую, результат какого-либо вычисления надо сохранить для последующего использования. В этом нам помогут переменные. Переменные – это ячейки памяти, куда мы можем сохранить любые данные"
Кстати, понятие переменной проходят в школе на уроках математики.

"увольте"
Увольняю

"булевы эначения? так сразу?"
Булевы значения - основа программирования, поэтому да, прям сразу
"про булевы функции и логические операторы не хотите рассказать"
Всему свое время

"на кого ориентирован цикл? какой уровень подготовки?"
На пользователей пикабу, которым не лень открыть консоль.
"какую цель Вы ставите? какой цели вы хотите добиться?"
Развить интерес к программированию и показать, что не так страшен черт...

"такое начало с JS не даст НИКАКИХ навыков"
Прям таки совсем никаких?

"образовывались Вы сами"
В шараге мне сказали, что 80% информации студент должен узнавать сам. Собственно, вот и результат :)

"Но вижу Я в Вас ВЕБщика"
Как будто работать в вебе это что-то плохое. Последние полгода работаю бэкенедром, так что, наверное, вы правильно видите.

"У меня ещё один вопрос: зачем вы начали-то?"
Для того, что бы "Развить интерес к программированию и показать, что не так страшен черт..."
показать ответы
2
DELETED
Автор поста оценил этот комментарий
я не про конструктор объектов пример привел, а то что мы объект сложили с числом и получили число, я не привожу в примеры паттерны и сложные алгоритмы тут простое сложение данных разных типов, а на выходе мы получаем не совсем то что думаем получить. для новичков сложение объекта и инта должно падать с ошибкой, а не выдавать результат как будто складывали два инта, js сложный язык с кучей подводных камней, и основная моя претензия что знакомство с программированием начинается с него
раскрыть ветку (1)
Автор поста оценил этот комментарий
А какой язык по вашему простой и не содержит подводных камней?
0
Автор поста оценил этот комментарий
C нетерпением жду как ты будешь объяснять вот такие вот моменты:

typeof null;
typeof function(){}

NaN === NaN;
NaN == NaN;

function Counter(){ this.count = 0; setTimeout(function(){ this.count++ }, '1000');} start = new Counter()

for (var key in animals) { setTimeout(function(){ console.log(key) }, '5000') }

Пока хватит )))
раскрыть ветку (1)
Автор поста оценил этот комментарий
typeof null: null - указатель на NULL в машинном коде, а typeof считает указатели объектом. Разработчики не скрывают, что это баг в JS.

typeof function(){} - не понимаю, что тут объяснять

NaN никогда ничему не равен, даже самому себе. Надо просто запомнить как аксиому.

function Counter(){ this.count = 0; setTimeout(function(){ this.count++ }, '1000');} start = new Counter()
this внутри таймаута или интервала - ссылка на этот самый таймаут/интервал. Тут просто нужно использовать bind.

for (var key in animals) { setTimeout(function(){ console.log(key) }, '5000') }
К тому времени, как сработает console.log(key) значение key будет отличатся от его значения на момент создания таймаута.

Честно говоря, не совсем понимаю к чему эти вопросы. Проверить мои знания? Даже если бы я этого не знал, нагуглил бы за пару минут. Показать, что начинать учиться с JS неправильно, так как в нем много подводных камней? В любом языке они есть. Например, писал проектик на C#, и вот для меня было еще каким камнем то, что конкатенация строк вызывала утечку памяти, и на некоторых компах прога, которая в обычных условиях потребляет не больше 30Мб оперативы, жрала все восемьсот. Вот это был камень. А то, что привели вы - так, нюансы. А последний пример можно вообще на множестве языков повторить.
показать ответы
3
DELETED
Автор поста оценил этот комментарий
"Про приведение типов будет в следующей статье."
Расскажешь почему [] + [] == ''; {} + {} -> NaN; {} + [] == 0; '' + {} == "[object Object]", а {} + '' == 0 и кучу других приколюх?)
раскрыть ветку (1)
Автор поста оценил этот комментарий
А вам в первом классе рассказывали про сложение бесконечностей?
показать ответы
5
Автор поста оценил этот комментарий
потому что у программистов пригорело.
вот у меня конкретно пригорело.
потому что основы программирования это не "var a=3;".
Вот вы сейчас это запомнили, но не поняли.
Узнали как сделать что то. Но что сделали не поняли.
Вам даже не рассказали что
var a=3;
и
a=3;
это две разные вещи. Совершенно разные. Абсолютно разные. И может произойти катастрофа, если вы не будете знать чем они отличаются друг от друга.
И именно после таких курсов люди сидят и жалуются - почему этот сайт, так медленно загружается!?
раскрыть ветку (1)
Автор поста оценил этот комментарий
"Вам даже не рассказали что"
Естественно. А что я должен был сказать? "Если мы будем использовать необъявленные переменные, то они запишутся в глобальный объект window в качестве свойства"?

В следующем посте я собирался затронуть и эту тему. Просто всему свое время)
показать ответы
DELETED
Автор поста оценил этот комментарий
сто лет сижу на пикабу, зарегистрировался только сейчас, чтоб подписаться на уроки от SazereS
так что твори еще, не слушай никого
раскрыть ветку (1)
Автор поста оценил этот комментарий
Спасибо на добром слове) Еще раз попрошу пинать меня время от времени, что бы я не тормозил) А то я тот еще л
показать ответы
4
DELETED
Автор поста оценил этот комментарий
ды я к тому что такие приколюхи в js повсюду, одно только a = new Object(1); a + 1 == 2; уже взорвет мозг новичку, а ООП реализуемое на прототипах взорвет мозг и тому кто программит, но с js сталкивался только в для создания рюшечек в jq
раскрыть ветку (1)
Автор поста оценил этот комментарий
А квантовая теория поля взрывает мозг не только школьникам. Давайте не будем в школе преподавать физику. Свои приколюхи есть в любом языке, просто в некоторых они не так явно видны.
a = new Object(1) вполне понятная вещь, если знать, как работает конструктор объектов.

Все это, естественно, надо объяснять, но не все надо объяснять сразу. Обучение должно идти от легкого к сложному, а не наоборот. Физику же вы начинаете изучать с простых формул, вроде V=S/t, а не с бозонов Хиггса или гравитонов.
показать ответы
Автор поста оценил этот комментарий
Ну чувак, серьезно. Эти посты по программированию создаются тут за год по несколько раз, и я ни разу не увидел в горячем продолжение от этого же автора, потому что никому оно не нужно. Кто захотел - тот взял книжку и научился. Тем более в длиннопосте такую тему не расписать, на это уйдет очень много времени и сил, а так же необходимо умение это все четко и предельно ясно преподнести новичку.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Возможно я как раз один из таких... А может и нет... Не узнаю пока не попробую)
28
Автор поста оценил этот комментарий
Автор, ты если хоть пишешь про язык то учи правильно.
Если обучаться по твоему посту, то у человека возникнет вопрос при выполнении следующего кода:
a = 1; b = true;console.log(a==b);

Почему выводится true? ведь переменные разные?

А по факту:
- товарищи желаете научится программировать читайте книги.
- При обучении ставьте себе какую либо цель (написать какую либо программу), простым копипастом Вы ничего не усвоите.
- Прежде чем начинать обучение, выберите язык. Язык выбираете в зависимости от платформы под какую будете разрабатывать (Desktop / Mobile / Web)
- 99% ответов на ошибки в вашем коде есть на stackoverflow (Английский не знаешь? Надо выучить, часто тех документация только на англ.)
раскрыть ветку (1)
Автор поста оценил этот комментарий
Да, в этом посте я не упоминал про приведение типов, так как собирался рассказать об этом в следующем.

С остальным полностью согласен. Кстати, статья в виде картинки имеет свои плюсы - из нее нельзя скопировать текст, так что все придется писать самому :)
показать ответы
Автор поста оценил этот комментарий
Спасибо, все выполнил и подписался. Похоже именно ты дал мне толчек к началу изучения!
П.С. Не забрасывай нас, мы верим в тебя :)
раскрыть ветку (1)
Автор поста оценил этот комментарий
Спасибо вам) Заходите к нам еще)
Автор поста оценил этот комментарий
Обязательно аниме пихать?
раскрыть ветку (1)
6
Автор поста оценил этот комментарий
Если вы найдете аниме с этим персонажем я куплю вам тортик :3
показать ответы
17
Автор поста оценил этот комментарий
"Я планировал сделать упор именно на продумывании алгоритмов, а не на изучении правил конкретного языка"
Есть игры, обучающие продумыванию алгоритмов, например: http://code.org/learn
В первом посте есть только один пункт, который может заинтересовать в обучении - мы напишем игру. Когда-нибудь. Может быть... Дальше игры нет, сплошная математика, какие-то абстрактные понятия. Например типы. Их можно потрогать, увидеть? Нет. А почему "3" + 5 = "35", а не 8? В строго типизированных языках можно хотя бы сказать, что компилятор тупой как пробка и сам не может отличить числа от строки, но тут-то он вроде и умный, что во многих случаях как-то сам разбирается, а с другой стороны все такой же тупой. Булевы значения для многих вообще вынос мозга. Вроде всего два значения, но почему 5>3 - это некоторое true, над которым еще можно совершать операции - это недоступное для совсем новичков знания. Зато if (5>3) значительно легче понять - это конкретное действие: если 5 больше 3, то что-то сделать.
Для базового уровня стоит отходить от абстракций и больше ориентироваться на какие-то действия. Черт возьми, меня отец в начальных классах учил рисовать на визуалбэйсике. Рисовать, черт возьми - может показаться, что это не самое лучшее применение программирования, но оно как-то меня зацепило. Я делала линейные программки, которые просто проводят линии из одной точки в другую и складываются в картинку. А потом отец спросил, хочу ли я оживить картинку и на следующий день я уже умело орудовала переменными, условиями, циклами, потому что я видела результат. А просто подсчитать 3+4 - это абстракция, а не результат.
PS. Оформление нравится, а по содержанию - походит на обычный учебник :(
раскрыть ветку (1)
5
Автор поста оценил этот комментарий
"Например типы"
Про приведение типов будет в следующей статье. Изначально хотел запихнуть в эту, но подумал, что в плане обучения лучше малый объем статей, которые при этом выходят часто, чем огромный объем текста, продолжение к которому выходит раз в пол года.

"Зато if (5>3) значительно легче понять - это конкретное действие: если 5 больше 3, то что-то сделать."
Тут вы скорее всего правы и в большинстве обучающих материалов так оно и дается, но мне захотелось попробовать по-другому.

"А просто подсчитать 3+4 - это абстракция, а не результат".
Вы одновременно и правы и ошибаетесь. Все зависит от того, что это за числа. Если они взяты из головы, то да, это абстракция. Если они взяты из домашнего задания по математике - то это результат, который можно сразу использовать.

"Оформление нравится"
Спасибо)

"походит на обычный учебник"
В конце-концов это и есть учебник) В любом случае спасибо за здравую критику)
показать ответы
0
Автор поста оценил этот комментарий
Ждем продолжения.
раскрыть ветку (1)
5
Автор поста оценил этот комментарий
Будет) И не стесняйтесь пинать меня, если буду сильно тормозить)
показать ответы
Автор поста оценил этот комментарий
что забьемся?
раскрыть ветку (1)
3
Автор поста оценил этот комментарий
С вас аниме, с нас тортик)
показать ответы
1
DELETED
Автор поста оценил этот комментарий
http://pikabu.ru/story/c_dlya_nachinayushchikh_chast_1_vvede...
Он тоже обещал научить меня программировать! Я верил ему! А он... все они одинаковые...

Ты хоть не подведи.
раскрыть ветку (1)
2
Автор поста оценил этот комментарий
Если меня долго не будет слышно не стесняйтесь пнуть и напомнить)
показать ответы
Автор поста оценил этот комментарий
Как часто делать посты собираешься?)
раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Надеюсь раз в пару недель. Главное, что бы лень меня не победила) Если в течении двух недель меня не будет слышно - пните)
Автор поста оценил этот комментарий
Чего дополнять, boolean true - это 00000001 в битовом представлении, integer(Int32) 3 это 00000000 00000000 00000000 00000011 в битовом представлении. На самом деле никаких символов и логических переменных не сущствует на низком уровне, есть только 0 и 1.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Я с этим не спорил) Просто уточнил правила автоматического приведения типов в JS при сравнении
1
Автор поста оценил этот комментарий
Лучше в следующем уроке помочь читателю написать простенькую программку с условиями :) Осталось только придумать программку...
раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Это самое сложное)))
Хотя пара идей у меня есть)
показать ответы
3
Автор поста оценил этот комментарий
Мику? В посте о программировании? Что-то новое.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Ну, она тоже по-своему программа :D
показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества