Этого треда уже нет.
Это копия, сохраненная 20 июля 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
23 Кб, 501x375
Ёбаные дети, или обучение школьников программированию #770057 В конец треда | Веб
Доброго времени суток. Через несколько дней я поеду в детский лагерь преподавать детям программирование.

В первый раз я абсолютно всем возрастам давал C#, надеясь, что смогу нормально объяснить. Но наиболее мелким ублюдкам это было абсолютно неинтересно и они либо поливали от меня, либо приходили чисто гонять в каесик. Более старших, впрочем, удалось как-то заинтересовать. Во второй раз младшей аудитории я давал Scratch. Он зашёл на ура, но я не смог растянуть курс даже на 4 дня короткой смены, потому что в большинстве фич дети разобрались в первый же день. Старшим я всё так же давал Си шарп, но в этот раз было как-то более уныло.

Сейчас мне снова предстоит курс почти в три недели длиной, и мне нужны ваши советы. У нас есть 2 возрастных категории: условно 8-13 лет и 13-16. Вторым я хочу попробовать дать Питон, потому что его часто называют хорошим языком для школьников, к тому же можно будет подрубить какой-нибудь pygame и делать привлекательные для этих ублюдков приложения. Проблема лишь в том, что я сам его абсолютно не знаю и даже не представляю, откуда мне самому его выучить, так что буду благодарен любой литературе, особенно с уклоном в детей.

С первой группой всё ещё сложнее. Скретч я оставлю, он всем нравится, но на 3 недели его никак не растянуть. Пока есть мысля докинуть в нему Лого. Похож на Скретч, но надо писать код ручками, а не просто собирать блоки. Но тут тоже не очень однозначно. Можно дать Скретч первым, потому что он понятнее, но в Лого меньше функционала. Можно дать Лого первым, но детям будет сложно сразу вкатываться в письменный код. Я пока склоняюсь к среднему стулу: объяснить фичу на Скретче, чтобы они там блоки поцепляли, а на следующем занятии то же самое делаем руками в Лого, и так далее. Но даже так я не уверен, хватит ли мне материала на 3 недели. Что ещё можно предложить детям? Под конец начать им скармливать понемногу того же Питона? Или есть что-нибудь ещё интересное и подходящее под задачи?

Буду благодарен за любые пособия и советы
#2 #770061
>>770057 (OP)
приезжай ко мне в лагерь, я те питона покажу.
#3 #770063
>>770057 (OP)
Няшки там есть? скинь фоточки позязя
#4 #770065
А как же черепашка?
Попробуй старшим дать пхп. Размажешь все это аштиэмэлем - уже нежели на 2 выйдет. Хотя я не знаю какая обучаемость в нынешних детей.
И еще, погугли про bot war robot wars, есть вероятность что зайдет.
>>770067>>770248
#5 #770067
>>770065
Так Лого и есть ЧЕРЕПАШКА
А в пыхе я полный хуй, ни разу не работал, да и дизайнер из меня неоче, дети хуйню наверстают. Раньше был там препод HTML, охуенный мужик, но он шарил
#6 #770068
Нагугли книжку типа СИПЛЮСПЛЮС ДЛЯ САМЫХ МАЛЕНЬКИХ и учи их.
#7 #770070
Уже даже младшие детские сады и ясли учат программирование, куда уж нам в 30 вкатываться.
>>775328>>780091
#9 #770082
>>770076
Блджад, а заебись тема, мелких засранцев как раз увлечёт. Спасибо!
58 Кб, 600x600
#10 #770096
>>770057 (OP)
Питон неудачный вариант для обучения. Язык сложный, возможностей мало. Сейчас каждая макака учит пистон, а потом не знает что делать с ним. Лучше попробуй Haskell. Язык легкий и понятный даже школьнику. Если никогда не занимался программированием, то начинать лучше всего с Haskell - после него другие языки учатся быстрее.
По книгам, что бы подготовится. Если есть хоть немного знаний программирования, читай это: http://www.ozon.ru/context/detail/id/30425643/ Если совсем новичок, пойдет эта книга: http://www.ozon.ru/context/detail/id/28346038/ Ну и куча онлайн-учебников. Вот, например: https://anton-k.github.io/ru-haskell-book/book/home.html Хороший учебник, всё расписано подробно. Сам по нему учился. Рекомендую.
#11 #770143
>>770057 (OP)
Тебе осталось несколько дней до отбытия в лагерь, а ты сам 0 в том что собираешься преподавать, классический пример образования в рашке. Просто съеби.
>>770527
#12 #770248
>>770065
Core wars годная.
#13 #770311
>>770057 (OP)
А почему не QBasic или Turbo-pascal? Выебнуться решил?
#14 #770351
>>770311
он ещё не понял что ломает жизнь детям. большая часть алгоритмических книжек на паскале, а этот пидорас питону всех учит.
#15 #770380
Лучше моды для майнкрафта делайте.
>>773315
#16 #770392
>>770057 (OP)

>Через несколько дней


>хочу попробовать дать Питон


>я сам его абсолютно не знаю


>Через несколько дней

>>770527
#17 #770410
Учи структурам данных и алгоритмам, реализуй их на языке_нейм. Расстянуть можно хоть на год
#18 #770413
>>770351
охуеть как сложно понять паскаль
#19 #770450
>>770057 (OP)

>младшей аудитории я давал Scratch. Он зашёл на ура


Прикольная штука. Зашел на сайт mit, а там коты летают. Именно так должен выглядеть ЯП!
>>770452>>770455
#20 #770452
>>770450
Хотя нет. Это срань только что крашнуло браузер лол.
>>770518
#21 #770455
>>770450
Нет, все-таки охуительная штука.
#22 #770518
>>770452
а вот когда у меня сайт крашит браузер, я пишу угарные письма и получаю пермобан, за честность, иначе макаки так и не поймут.
#23 #770527
>>770143
>>770392
Имплаинг я не смогу за неделю+во время преподавания разобраться в том же питоне
>>770351
Паскалю их и в школке научат
>>770311

>QBasic


Ты хочешь детей вообще сломать как программистов?
>>770533
#24 #770533
>>770527

>Ты хочешь детей вообще сломать как программистов?


Да, думаю надо учить детей, что программирование это копание в говне. Так туда пойдут только самые отбитые чуханы, которым туда и дорога, а нормальные люди выберут другую отрасль.
#25 #770577
>>770057 (OP)
Посмотри etoys. Кажется, он более полноценный, чем скретч.

>C#


>уныло


Конечно им, блять, уныло, ёбаный ты задрот. Дети программировать пришли, а не в абстрактные фабрики и прочий жаваподобный ооп-мусор пердолиться.

Для тех, что постарше, могу посоветовать смолтолк вместо питона. По простоте и выразительности он сравним с питоном, но удобство и интересность разработки намного выше за счет поддержки т.н. интерактивного программирования. Возможность пощупать, исправить работающую систему - громадный плюс. Особенно при обучении.
>>770580>>770587
#26 #770580
>>770577
Ну и плюс в сквике из коробки идут библиотеки для работы и с графонием, и со звуком.
#27 #770587
>>770057 (OP)
>>770577
Алсо, можно попробовать elm: горячая замена кода есть, frp есть, грофен есть, работает в браузере и язык не такой задротский, как хаскел. Можешь, например, доработать марио http://debug.elm-lang.org/edit/Mario.elm и показать детям. Если их заинтересуешь и если они понимают физику 5х-6х классов,
то они тебе за вечер напердолят свой крузис.
#28 #770604
GameBlox - то ли ребрендинг, то ли эволюция скратча. Нереальный двигатель - блюпринты возякать мышкой. Blitz3D - сделать свой крузис, да без такого-то графона. 3DRad (гамак и прочие фпскреэйторы) - таскай@ассеты.
Ну и научи их задачи решать, а не языку. Расскажи, как моды делать, напишите вместе какую-нибудь игру, юзерскрипты для сайтиков (можно сделать бота для браузерки), научи их игры крякать, в ядре линукса покопайтесь, объясни, как за бородой ухаживать.
#29 #770715
>>770749
#30 #770718
>>770057 (OP)
Возьми что-нибудь игроделательное. Unity3D, game maker, love2d, dark basic, в /gd посоветуйся. Можно к майнкрафту моды пилить.
>>770748
#31 #770740
>>770096
сук ждал эту пасту
#32 #770746
>>770057 (OP)

> Но наиболее мелким ублюдкам это было абсолютно неинтересно и они либо поливали от меня, либо приходили чисто гонять в каесик.


Надо было Unity изучать, писать игори.

> Во второй раз младшей аудитории я давал Scratch.


Это совсем для маленьких, до 12 лет. Или для тян.
#33 #770747
>>770311 >>770351
Вы троллите или реально дебилы?
#34 #770748
>>770718

> game maker


Двачую, многие в детстве начинали с него (кроме совсем олдфагов, заставших DOS или Spectrum).
Unity сложнее, но интереснее.
#35 #770749
>>770715

> ОП, попробуй Ruby.


RPGMaker можно (там Ruby используется в качестве скриптового языка), но это на любителя.
>>779983
#36 #770750
Добавлю еще Бейсики. Для игорь это Blitz3D и Dark Basic.
#37 #770752
>>770096
Говорят, легче начинать именно с функциональных языков (Haskell или Lisp), т.к. они ближе к человеческому мышлению, а сложными кажутся только тем, кто выебал свой мозг императивной парадигмой.
#38 #770762
>>770752
ебать дебил.

я так и представляю, как мыслит человек
постирать(включить стиральную машину (
Наполнить машину вещами(взять вещи из таза),
засыпать порошок(вес вещей),
выбрать режим (мягкая стирка, 50 градусов)
))

вместо
Стирка:
1. возьмите вещи из таза и загрузите их в барабан
2. засыпьте порошок по весу стираемого белья
3. установите режим мягкая стирка, 50 градусов
4. включите стиральную машину.

Не, ну хуй знает, конечно, но второй вариант явно ближе к тому, как мыслит человек. В функциональщине все шиворот навыворот. Человек мыслит порядком действий, а не функциями.
>>770771
#39 #770768
>>770752
Действительно, обоснуй. Почему функциональные языки считаются простыми?

Да, там ошибки отлавливать легче и параллелятся лучше, но именно с точки зрения восприятия я хуй знает.
Простых для понимания языков походу не существует, лол. С одной стороны у нас скобочки, с другой у нас 28 классов для поддержки правильной иерархии. Заебись, чё
#40 #770771
>>770762
Еще один даун с промытыми мозгами. Человек мыслит вещами (объектами) и связями между ними (функциями).

Стирка - это функция, определяемая последовательностью действий, принимающая аргументы (грязные вещи) и выдающая результат (те же вещи, только чистые).

Императивный стиль тяжел для понимания начинающим. Сколько школьников на уроках информатики осваивало запись X = X + 2? Это надо именно насиловать мозг, чтобы мыслить не вещами, а некими изменяемыми "коробками". Потому что память у человека ассоциатиативна и иммутабельна, а у машины - последовательна и мутабельна.
>>770815
#41 #770774
>>770768
В Excel и Mathematica, например (инструментах для непрограммистов) используется функциональный стиль. Потому что формулы человек понимает лучше, чем скрипты и переменные.
#42 #770777
>>770768

> С одной стороны у нас скобочки


В Лого нет никаких скобок (хотя это и не совсем функциональный язык, смешанный как Лисп).
#43 #770792
Game Maker. Нахуй скретч
#44 #770815
>>770771
>>770771
ты сейчас описал объектное программирование, а не функциональное
Функциональное мышление - это когда
Мне нужно постирать
чтобы постирать, мне нужно включить машину
для того, чтобы включить машину, мне нужно положить вещи из таза в барабан, нужно установить режим мягкая стирка 50градусов, нужно засыпать порошок в резервуар, чтобы положить порошок, мне нужно отмерить его по весу вещей.

вот это и есть функциональное мышление.

Императивное же определяет некую последовательность действий, которую тебе нужно выполнить для достижения результата.
Естественно, структурное программирование позволяет выделить функции и упростить последовательность действий и, даже, при желании, привести все, что ты хочешь к первому варианту.
>>770884
#45 #770823
>>770768

> одной стороны у нас скобочки


Как что то плохое. Скобки гораздо легче читаются, чем рабипитоновская поебень.
#46 #770873
>>770752
Императивное мышление:
Собрать всё бельё в тазик.
Пока в тазике есть грязные вещи, загружать их в стиралку.
Засыпать в стиралку порошок.
Закрыть дверцу.
Задать программу.
Функциональное мышление:
Отобразить пустой тазик в тазик полный грязных вещей (создав по пути новый тазик (старый можно оставить посреди комнаты - сборщик мусора (мамка) о нём позаботится)).
Создать новую стиральную машину с грязными вещами внутри.
Создать ещё одну с грязными вещами и стиральным порошком внутри.
Плоско отобразить стиралку, полученную на последнем шаге, в стиралку с заложенной программой.

>они ближе к человеческому мышлению


Действительно, ближе, а я и не замечал как-то даже.
#47 #770884
>>770815
А параметры у функции не последовательно вычисляются, наркоман? Императивное - работает с изменяемой средой. Человек в голове строит модели (объекты) и функции/формулы, описывающие зависимости между ними. Ему важно, что нужно сделать для достижения результата, а не как. Ту же последовательность действий человек может забыть, может перепутать ветви при возможности выбора, но сам набор необходимых команд обычно запоминает.

>>770873

> Отобразить пустой тазик в тазик полный грязных вещей


> Создать новую стиральную машину с грязными вещами внутри.


> Создать ещё одну с грязными вещами и стиральным порошком внутри.


> Плоско отобразить стиралку, полученную на последнем шаге, в стиралку с заложенной программой.


Прикинь, у тебя мозг именно так и работает. Вспомни, как люди складывают/перемножают числа и подумай, почему они с трудом перемножают в уме даже трехзначные числа, но легко распознают цифры на бумаге, а компьютер - наоборот.
>>770967>>771441
#48 #770967
>>770884

>параметры у функции не последовательно вычисляются


При call-by-value последовательно, при call-by-name нет.
>>771008
#49 #771008
>>770967

> call-by-name


Как там, в 1960-м?
>>771021
#50 #771021
>>771008
Охуевший?

> Even though by default Scala is call-by-value, it can also do call-by-name.[10] Today's .NET languages can simulate call-by-name using delegates or Expression<T> parameters. The latter results in an abstract syntax tree being given to the function. Eiffel provides agents, which represents an operation to be evaluated when needed



В call-by-need такакя же хуйня - а это и Haskell, И R, и Lazy<T> в шарпиках
#51 #771092
>>770057 (OP)
Блеать, а как же божественный ТУРБО ПАСЦАЛЬ?! Нас что, зря дрочили им в универе? Диды преподавали и ты преподавай!
>>771124
110 Кб, 824x768
#52 #771124
>>771092
Только Sinclair Basic, только черно-белый телевизор. Ньюфажина тот, кто череп не рисовал.
#53 #771126
Попробуй мелким blueprints кодинг на Unreal Engine
#54 #771135
Лолирую с того, как крестухи пишут вычисление производных. Когда функциональный господин напишет функцию, возвращающую функцию-производную, крестопитух возвращает значение производной в точке, чем самым ограничивая область применения функции вычисления производной.
>>783094
#55 #771172
Хм, а может, мне старшим задротам вообще дать Gamemaker Studio и пусть хуярят себе аниме-РПГ, а мелким дать пообмазываться Скретчем, а потом дать погонять Human Resource Machine и Code Combat? Все эти уёбки любят геймз же
>>771340
1189 Кб, 1920x1080
#56 #771247
>>770057 (OP)
Human resource machine самое то для ублюдков.
>>771283
#57 #771283
>>771247
Уже советовали, лол.
#58 #771340
>>771172

>аниме-РПГ


Плодить анимублядей?
#59 #771441
>>770884

>А параметры у функции не последовательно вычисляются, наркоман?


Параметры функции могут вообще не вычисляться, наркоман
#63 #772545
>>770096
Это прикол какой-то? Сейчас выбираю, с чего начать и учебники по Хаскелю больше всего нравятся. Другое дело, что загуглил и о языке пишут абсолютно противоположное.
>>772597>>772703
#64 #772597
>>772545
Да не годится он для детей, ибо графику (как самый наглядный и подстегивающий интерес результат) на нем без штанги не попрограммируешь, а списки чисел складывать и факториалы считать слишком уныло.
Бери, как я уже говорил, smalltalk, elm или что-нибудь другое с быстрой обратной связью, простое и доступное.
>>783108
66 Кб, 994x559
#66 #772690
>>772686
Мартин отклеился.
#67 #772695
>>772686
Ууух, сколько семантического шума! Хороший сиплюсплюс у хаскелистов получился
#68 #772703
>>772545
Никаких приколов. Хаскель - идеальный язык для детей и тех, кто не шарит в программировании и думает, с чего бы начать. Там всё для новичков сделано, сам посуди:
- учебники по Хаскелю - это книжки с картинаками: http://learnyouahaskell.com/ Сравни с каким-нибудь заумным талмудом по Джаве http://www.mindview.net/Books/TIJ/ - даже хуй поймёшь как его скачать.
- ghci - приложение, которое позволяет набрать программу на Хаскелле и сразу запустить её. Ага, попробуй сделать то же самое в Джаве. Даже если скачаешь и установишь крутую IDE вроде IntelliJ Idea, тебе всё равно надо знать, что такое JDK, как его скачать и установить, как настроить проект в этом приложении, где 100500 менюшек. Опытный программист на Джаве это быстро сделает, но он на то и опытный программит, он знает, куда жать, а новичек хуй разберется.
- Стандартная прелюдия: https://hackage.haskell.org/package/base-4.9.0.0/docs/Prelude.html - модуль, который по умолчанию импортируется в хаскель-программу, и в котором есть всё, что нужно новичку. Т.е. если тебе нужно написать программу, которая что-нибудь спрашивает у пользователя, что-то вычисляет и что-то пишет в файл или на консоль, в прелюдии это всё уже есть, не надо думать, какие модули подключить, просто пиши программу и не парься. Просто сравни хелловорлды на Хаскелле и Джаве. Хаскель:
[code]main = putStrLn "Hello, World!"[/code]
Единственное, что тут нужно знать, что main - это специальная функция, которая вызывается при запуске твоей программы. Ну она и называется "main" - типа главная функция. А дальше просто положить-стринг-строку и сама строка "Hello, World!". А теперь Джава:
[code]
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
[/code]
И тут сразу зоопарк вопросов. А что значит class (нужно знать ООП)? А что значит public (нужно знать области видимости)? А что значит static (нужно знать, чем class-methods отличаются от object-methods)? А что есть void? Ну и сам метод println в объекте out модуля System, это всё нужно знать.
- Единый репозиторий. Когда-нибудь ты превратишься из новичка в программиста, которому нужно решать практические задачи. И у программиста нет времени, чтобы писать всё самому на функциях стандартной прелюдии, ему нужно взять уже написанные библиотеки, связать их между собой и получить готовую программу. У тут Хаскеля есть https://hackage.haskell.org/packages с полным списком библиотек, всеми версиями, исходниками и документацией. Всё в вебе, ты можешь просто щекнуть мышкой и посмотреть любой исходник, или посмотреть, насколько популярна библиотека, как часто её скачивают. Также есть https://www.stackage.org, где есть тулза для сборки Хаскель-программ и самые свежие билд-планы, т.е. указания, какие версии библиотек с какими дружат. Разумеется, всё это работает автоматически, тебе не надо заморачиваться за версии, ты просто пишешь stack build и выгружается подобранный мейнтернерами стека план, в котором указаны совместимые между собой версии библиотек и твоя программа собирается. А что есть в той же Джаве? Есть http://www.apache.org . Есть https://spring.io . Есть еще хуй пойми что. Есть еще Maven, в котором ты должен прописать все репозитории и используемые версии. В итоге всё это из говна и палок как-то собирётся. Но только в том случае, если ты сам в этом зоопарке нихуёво шаришь и сделал всё правильно.

Резюмируя: Хаскель - это простой, заточенный под новичков язык, с простой инфраструктурой, где всё максимально автоматизировано и сделано под людей.

Постскриптум: А вот некоторые говорят, что Хаскель - это сложный язык. А вот в Хаскеле есть экзистенциальная типизация, охуеть заумное слово! А еще в Хаскелле есть генерализованные алгебраические типы, охуеть как сложно, высшая алгебра прямо! А я вот вас спрошу, а есть ли она там? Ну напишите мне эту самую программу с экзистенциальной типизацие, ну, ну?! И тут сразу рученки тянуться вхуячить {-# LANGUAGE Rank2Types #-} {-# LANGUAGE TypeFamilies #-} и тому подобное. И здесь я соглашусь, в Хаскелле полно расшений, и многие из них заумные, потому что супер-крутому программисту нужны заумные расширения языка, иначе ему просто не хватит выразительных средств. В Хаскелле эти средства есть. Но по умолчанию они все отключены. А супер-крутой программист включает только то, что ему надо. В итоге, сложный ли Хаскель? Да нет, нихуя не сложный, он напротив очень прострой по сравнению с той же Скалой, потому что все выебоны в нём по умолчанию выключены и включаются вручную, когда они нужны. Т.е. когда какой-нибудь выебонщик что-то хуячит, он явно указывает, какие сложные фишки языка надо включить, в итоге каждый модуль содержит минимально-необходимое количество сложных фишек, все остальные попросту отрублены.
#68 #772703
>>772545
Никаких приколов. Хаскель - идеальный язык для детей и тех, кто не шарит в программировании и думает, с чего бы начать. Там всё для новичков сделано, сам посуди:
- учебники по Хаскелю - это книжки с картинаками: http://learnyouahaskell.com/ Сравни с каким-нибудь заумным талмудом по Джаве http://www.mindview.net/Books/TIJ/ - даже хуй поймёшь как его скачать.
- ghci - приложение, которое позволяет набрать программу на Хаскелле и сразу запустить её. Ага, попробуй сделать то же самое в Джаве. Даже если скачаешь и установишь крутую IDE вроде IntelliJ Idea, тебе всё равно надо знать, что такое JDK, как его скачать и установить, как настроить проект в этом приложении, где 100500 менюшек. Опытный программист на Джаве это быстро сделает, но он на то и опытный программит, он знает, куда жать, а новичек хуй разберется.
- Стандартная прелюдия: https://hackage.haskell.org/package/base-4.9.0.0/docs/Prelude.html - модуль, который по умолчанию импортируется в хаскель-программу, и в котором есть всё, что нужно новичку. Т.е. если тебе нужно написать программу, которая что-нибудь спрашивает у пользователя, что-то вычисляет и что-то пишет в файл или на консоль, в прелюдии это всё уже есть, не надо думать, какие модули подключить, просто пиши программу и не парься. Просто сравни хелловорлды на Хаскелле и Джаве. Хаскель:
[code]main = putStrLn "Hello, World!"[/code]
Единственное, что тут нужно знать, что main - это специальная функция, которая вызывается при запуске твоей программы. Ну она и называется "main" - типа главная функция. А дальше просто положить-стринг-строку и сама строка "Hello, World!". А теперь Джава:
[code]
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
[/code]
И тут сразу зоопарк вопросов. А что значит class (нужно знать ООП)? А что значит public (нужно знать области видимости)? А что значит static (нужно знать, чем class-methods отличаются от object-methods)? А что есть void? Ну и сам метод println в объекте out модуля System, это всё нужно знать.
- Единый репозиторий. Когда-нибудь ты превратишься из новичка в программиста, которому нужно решать практические задачи. И у программиста нет времени, чтобы писать всё самому на функциях стандартной прелюдии, ему нужно взять уже написанные библиотеки, связать их между собой и получить готовую программу. У тут Хаскеля есть https://hackage.haskell.org/packages с полным списком библиотек, всеми версиями, исходниками и документацией. Всё в вебе, ты можешь просто щекнуть мышкой и посмотреть любой исходник, или посмотреть, насколько популярна библиотека, как часто её скачивают. Также есть https://www.stackage.org, где есть тулза для сборки Хаскель-программ и самые свежие билд-планы, т.е. указания, какие версии библиотек с какими дружат. Разумеется, всё это работает автоматически, тебе не надо заморачиваться за версии, ты просто пишешь stack build и выгружается подобранный мейнтернерами стека план, в котором указаны совместимые между собой версии библиотек и твоя программа собирается. А что есть в той же Джаве? Есть http://www.apache.org . Есть https://spring.io . Есть еще хуй пойми что. Есть еще Maven, в котором ты должен прописать все репозитории и используемые версии. В итоге всё это из говна и палок как-то собирётся. Но только в том случае, если ты сам в этом зоопарке нихуёво шаришь и сделал всё правильно.

Резюмируя: Хаскель - это простой, заточенный под новичков язык, с простой инфраструктурой, где всё максимально автоматизировано и сделано под людей.

Постскриптум: А вот некоторые говорят, что Хаскель - это сложный язык. А вот в Хаскеле есть экзистенциальная типизация, охуеть заумное слово! А еще в Хаскелле есть генерализованные алгебраические типы, охуеть как сложно, высшая алгебра прямо! А я вот вас спрошу, а есть ли она там? Ну напишите мне эту самую программу с экзистенциальной типизацие, ну, ну?! И тут сразу рученки тянуться вхуячить {-# LANGUAGE Rank2Types #-} {-# LANGUAGE TypeFamilies #-} и тому подобное. И здесь я соглашусь, в Хаскелле полно расшений, и многие из них заумные, потому что супер-крутому программисту нужны заумные расширения языка, иначе ему просто не хватит выразительных средств. В Хаскелле эти средства есть. Но по умолчанию они все отключены. А супер-крутой программист включает только то, что ему надо. В итоге, сложный ли Хаскель? Да нет, нихуя не сложный, он напротив очень прострой по сравнению с той же Скалой, потому что все выебоны в нём по умолчанию выключены и включаются вручную, когда они нужны. Т.е. когда какой-нибудь выебонщик что-то хуячит, он явно указывает, какие сложные фишки языка надо включить, в итоге каждый модуль содержит минимально-необходимое количество сложных фишек, все остальные попросту отрублены.
>>772738
#69 #772720
Детям постарше можно попробовать дать Kotlin. Он прост в понимании, достаточно лаконичен, мощный.
>>772723
#70 #772723
>>772720
Есть хоть одна причина форсить это говно среди зоопрака аналогичных говн?
>>772732
#71 #772732
>>772723

> есть хоть одна причина


Говорю же: он прост для вкатывания и освоения основ программирования. Я предложил его как вариант для старших школьников. Никто не заставляет на нём работать.

> зоопарк аналогичных говн


Например?
>>772739>>772746
#72 #772738
>>772703

>А вот некоторые говорят, что Хаскель - это сложный язык.


И правильно говорят. Хаскель прост ровно до тех пор, пока ты считаешь факториалы, реальный же код писать невозможно из-за тех самых супер-программистов, которым так и не терпится хоть куда-нибудь воткнуть крутой йобаморфизм, о котором они только что узнали. В итоге 90% библиотек - неоправданно переусложненный шлак с зашкаливающим количеством сущностей (лишних в основном) на строчку кода либо просто сырые недоделки. Я одно время угорал по хаскелю, но меня заебало часами червить документацию очередной решающей тривиальную проблему библиотечки, чтобы разобраться в заумных изъёбствах её автора.
>>773135>>773151
#73 #772739
>>772732
Котлин прост для жаба-программистов, а не для вкатывания.
#74 #772742
>>770057 (OP)
Scheme. Точнее, Racket. Для обеих возрастных групп. Там тебе и графическая поебень и все, что захочешь. Со старшими можешь и сикп порешать, если там не лагерь дцпшников. Только не засирай неокрепшие умы ООП ссаниной, прошу. И парашу со сломанным скоупингом aka питон давать не смей.
>>772744
#75 #772744
>>772742

>Там тебе и графическая поебень


Насколько я помню, она была то ли сырая, то ли жутко медленная, то ли просто ебанутая. В общем, непригодная для использования.
>>772748
380 Кб, 1996x1996
#76 #772746
>>772732
А в котлине есть что-то уровня https://github.com/scalaz/scalaz ? А то дети не заинтересуются.
>>772845
#77 #772748
>>772744
А, вспомнил! FrTime была сырая, хуйня для графена медленная и с не самым удобным api (могли бы и edsl запилить, ведь ракета так для этого подходит), ну а ебанутой, видимо, была сама ракета.
>>772752
#78 #772752
>>772748

>ну а ебанутой, видимо, была сама ракета


Уж не знаю. Когда смотрел? Может допилили с тех пор. Глянь еще раз. Для твоих целей, по моему, лучше не найти.
Олсо, подумай насчет Go.
>>772753>>773000
#79 #772753
>>772752
Я не ОП, а тот анон, что советовал ему элм или смолтолк
#80 #772845
>>772746
Ты собрался этим детей заинтересовывать? Рофлишь?
>>772847>>773559
#81 #772847
>>772845
Я тоже считаю что shapeless лучше
#82 #772925
>>770057 (OP)
лучшие ЯП для обучения это:
Logo (https://goo.gl/5Lql3Y) - тут мы учимся рассуждать, юзать рекурсию, программировать мультиагентные системы (https://goo.gl/ZjLSyl)

Scratch (https://goo.gl/VInUxk) - продолжение идеи Logo, только ещё и EventDriven.

Oz (https://goo.gl/xBcDdv) и его реализация Mozart - приучает к нормальному восприятию конкурентного dataflow программированию.

В общем-то ещё можно показать смолток.
#83 #772951
>>770873
Лол, императивный дебилоид решил блеснуть знаниями.
Все твои последовательные тумба-юмба инструкции "Взять копьё; Убить мамонта; Съесть мясо" - это как раз противоестественная хуита для специально выведенных компьютерных опущенцов байтоёбов, мыслящих как машина. Заметь, ни в математике, ни в физике такой примитивной хуйни нет, потому что человек мыслит абстрактно, и только червь-байтоёб мыслит командами.

И в мышлении нормального человека не будет никаких низкоуровневых "создать", "удалить", "пока", "старая версия", "сборщик мусора". И кстати, персистентные структуры как раз естественны, ведь прибавив к 1 ещё 1, ты не уничтожаешь единицу, она по прежнему продолжает существовать. Это только в мире процедурных опущей с их i++ колдунствами, переменная это не переменная в нормальном смысле, а специальная коробочка куда что-то можно положить, потом забрать, потом положить что-то ещё. И не будет всего этого убогого перекладывания кирпичиков, а будет просто контейнерный тип, одна свертка и отображение. Потому что это обобщенные понятия, которые работают везде, не важно что нужно делать, постирать бельё, собрать результаты двух парсеров, или посчитать сумму двух сигналов. Этому учат с самого детства на уроках алгебры. Поиск закономерностей это и есть важнейшая часть человеческого обучения. И только отмороженный инженегр-аутист, ничему не учится, так и продолжая перекладывать какашки с места на место своими инструкциями.
>>772956>>772976
#84 #772956
>>772951

>для специально выведенных компьютерных опущенцов байтоёбов, мыслящих как машина


Почему тогда в кулинарных рецептах тоже императивный стиль? Домохозяйки -- байтоёбы?
>>772975>>772988
#85 #772975
>>772956
Процесс готовки по рецепту тут как раз аналогичен выполнению последовательности инструкций процессором. А вот процесс придумывания нового блюда как раз подключает декларативное мышление и использование известных закономерностей (x зависит от y и z по таким то правилам). А написание уже готового рецепта - это компиляция нормальных декларативных рассуждений в набор команд для тупого исполнителя.
#86 #772976
>>772951

>Все твои последовательные тумба-юмба инструкции "Взять копьё; Убить мамонта; Съесть мясо" - это как раз противоестественная хуита для специально выведенных компьютерных опущенцов байтоёбов


Просто ты, дружок, забыл уже, как чему-то учился. На самом деле, это печально. Сие значит, что ты в развитии остановился очень давно. Не важно, умственный ли скилл ты учишь, или физический, но делается это именно так. И лишь после определённых часов практики тьы можешь, наконец, "мыслить абстрактно", когда ты настолько до автоматизма задрочил мелкие действия, что это для тебя "пойти в магазин", а не "выйти на лестницу, согнуть ногу, перенести вес... и так далее".
>>772989
#87 #772988
>>772956
Там не императивный, тащемта. Определяются лишь зависимости между шагами, а как и когда их выполнять - решает он сам исполнитель.

>Очистить чеснок |> порубить мелко |> обжарить |> добавить (мясо |> промыть |> нарезать)


Где |> имеет тип a -> (a -> b) -> b
>>773001
#88 #772989
>>772976
Т.е. ты думаешь, чтобы прийти к понятию числа 3, нужно сначала сначала увидеть три камня, и три яблока и три ещё чего нибудь? А так просто умозрительно это сделать никак? И чтобы прийти к понятию вычитания нужно сначала взять три яблока и одно съесть чтоб стало два? Вообще я не специалист по обучению, может действительно ребёнок первое время учится исключительно восходящим путём. Но ведь потом он накапливает достаточно закономерностей, потом учит математику, логику, другие точные науки. И дальше не обязательно каждую вещь сначала делать, чтобы потом выводить общение. А наоборот сначала изучить общие правила и потом уже по Top-Down применять их на чем то конкретном. В общем-то этому в вузиках и учат.
>>772992>>772997
#89 #772992
>>772989

>В общем-то этому в вузиках и учат.


Учат, да только императивное быдло там нчиего понять не способно и поэтому механически заучивает действия, которые приводят к сдаче контрольных и переходу с курса на курс. Тупые, жрущие говно быдлостуденты.
#90 #772997
>>772989

>три камня, и три яблока и три ещё чего нибудь? А так просто умозрительно это сделать никак?


Именно так. Число само по себе - не число чего-то, а число в отрыве от этого чего-то, даже концепция количества - это абстракция, обобщение.
К интуитивному понятию любой абстракции обычно приходят через опыт работы с частными случаями, которые - как становится в какой-то момент понятно - могут быть обобщены и абстрагированы в какое-то понятие более высокого уровня.
Математики в своих книжках и статьях сразу выплескивают на читателя определение абстракции, из чего у неподготовленного читателя может сложиться впечатление что это естественный путь. Но это не так, сами же математики, если им нужно работать с какой-то незнакомой им областью, после ознакомления с определениями аккое-то время (иногда довольно большое) отводят себе именно на выработку интуиции о понятиях этой области - это можно делать разными способами, например порешать какие-то задачки из нее, подоказывать теоремы - все это сводится к тому чтобы покрутить в руках (голове) разные частные проявления тех абстракций, которые им нужны.
С монадами, паттернами, и многими другими абстракциями в программировании, например, хорошее, годное их понимание приходит после того как человек с десяток раз напрограммировал разные варианты чего-то очень похожего, и ВНЕЗАПНО обнаружил что блджад, да я что-то почти такое, только в полосочку уже писал несколько раз - после этого он задумывается о том чем же именно оно было похоже между собой и выделяет абстракцию.
#91 #773000
>>772752

>Олсо, подумай насчет Go.


Когда мне было 15 лет, и я ездил в лагерь вожатый всё время как-бы невзначай крутился возле компа, и всё спрашивал, почему ты не передаёшь указатель на структуру, почему передаешь саму структуру? первый раз я не ответил, так он начал стучать по столу, и орать, что ты там итерируешь, почему у тебя потребление памяти превышает 14 килобайт? начал материться, и говорить, что вообще на Си переведёт всю группу, будем вручную память очищать, алсо, вожатый ругался, если я передаю аргумент не как указатель , причём не просто при объявлении метода структуры, а везде, мотивировал это тем, что памяти меньше нужно, и сам потом мне говорил: вот я объявлю функцию и и передаю ей указатель, и ты так делай!
однажды я программировать сел, и слышу, вожатый где-то у двери встал в отдалении, ну я скомпилировал всё, и на пол накарачики присел, а там щель очень широкая снизу у двери, ну я в щель и смотрю, а там вожатый на карачиках сидит и в щель смотрит, и мне говорит: ты чё? ебанутый? чё ты там делаешь?
вожатый кстати всё время какие-то методы у структур объявляет, чтобы писать было удобдно, пишет по 5 программ в день, а потом говорит, что пальцы жжёт, и ещё монады любит. пиздец короче!
реальная история. я не тролль
#92 #773001
>>772988
Готовить по рецепту == проходить монаду?
>>773003
#93 #773003
>>773001
Где ты монаду увидел? Обычная апликация функций
>>773007
#94 #773007
>>773003
Я везде вижу монады. Они мне даже снятся иногда.
>>773009>>773015
#95 #773009
>>773007
Пробовал подрочить на монаду? Есть правило 34 с монадами?
#96 #773015
>>773007
Зачем тогда спрашиваешь про готовку, если и без меня там видишь монады?
#97 #773135
>>772738

>В итоге 90% библиотек - неоправданно переусложненный шлак с зашкаливающим количеством сущностей (лишних в основном)


Если 90% библиотек - неоправданно переусложненный шлак с зашкаливающим количеством сущностей тебе не составит труда назвать, скажем 20 таких библиотек из перечисленных тут https://hackage.haskell.org/packages/ нескольких тысяч, а так же объяснить, какие именно сущности в них лишние? Не то, чтобы я не доверял твоему экспертному мнению, но просто если ты такие вещи пишешь, тебе наверное очень легко будет ответить на мой вопрос, о великий гуру Хаскеля.
>>773180
#98 #773138
>>770873
Но у тебя две императивные программы написаны. И та и другая у тебя - последовательности действий, видимо ты еще не освоил функциональное мышление.
>>773864
#99 #773151
>>772738

>неоправданно переусложненный


Оправданно. Попробуй сделать все то же самое, но значительно проще. Сложней сделать несложно - Scala тому пример.

Но действительно

> Once you manged to grok the basic stuff about Typeclasses, Functors, Applicative, Monads, Monad Transformers, different notions of recursion, a minimal understanding of how lazyness can be quite tricky, the multitude of different ways of how errors and exceptions are handled in various libraries, and perhaps basic STM, Haskell has a tendency to become even more complex. If you want to do efficient IO and prevent space leaks, you have to learn about Iteratees, Enumerators and Enumeratees. If you wish to create GUIs in a bearable manner, its imperative that you learn about FRP and Arrows eventually. Then there's the innumerable amount of language extensions to Haskell of the GHC flavor, each of which comes with only scarce documentation and examples, but with a lot of theory (Fundeps, Type families, Existential types, GADTs). But there's more: Comonads, Kleisli Arrows and probably things I haven't even heard about. The whole point being: If you want to be able to handle 'real world stuff' in Haskell, its not enough to stay 'mostly pure' and use StateT, unfortunately. I like Haskell - I shudder when I think of C, C++ and Java - but at this point in time I find it overwhelming

>>773160
#100 #773160
>>773151

>Попробуй сделать все то же самое, но значительно проще.


Дело в том, что то же самое иначе не сделаешь. Упрощать нужно не реализацию, а сам дизайн библиотеки. Точнее, не упрощать, а полностью переделывать с нуля.
>>773168>>773180
#101 #773168
>>773160
Как именно ты предлагаешь все переделать? Излагай.
>>773177
#102 #773177
>>773168
Все. Так я прям всё и брошу, начну шерстить хакейдж, займусь перепроектировкой библиотек и всё ради ублажения праздного интереса анона, который ещё и, возможно, сектант и меня попросту не услышит.
>>773187>>773203
1216 Кб, 470x470
#103 #773180
>>773160
Почему ты продолжаешь набрасывать делая вид, что не заметил мой вопрос >>773135 ? Он слишком неудобный?
>>773190
106 Кб, 960x720
#104 #773187
>>773177
Тебе не надо ничего шерстить, ты сказал, что там "90% библиотек - неоправданно переусложненный шлак с зашкаливающим количеством сущностей (лишних в основном)". Раз ты так сказал, ты очевидно, уже прошерстил весь хакейдж, или по крайней мере большую его часть, поэтому тебе не составит труда привести пример, допустим 20 библиотек и лишних сущностей в них. Есть, конечно, еще один вариант - ты просто пиздабол, который пиздит о чём понятия не имеет, но ты ведь не такой, правда?
>>773203
#105 #773190
>>773180
Потому что с того времени прошло года три-четыре, экосистема хаскеля уже давно позабылась, не говоря уже об архитектурных изъебствах отдельных библиотек.
>>773196>>773198
#106 #773192
>>770076
Так она короткая, если не дебил, то часа за 3 можно пройти.

Хотя если чисто давать там по одной миссии в день, то сойдет.
801 Кб, 2560x1920
#107 #773196
>>773190
Но ведь ты ведь не на экзамене с ручкой и читым листком бумаги, чтобы оправдываться перед профессором в духе "я знаю ответ, но забыл!" Тебе достаточно зайти на http://hackage.haskell.org/packages/ и открыть несколько популярных библиотек. Там ведь 90% библиотек - неоправданно переусложненный шлак с зашкаливающим количеством сущностей, поэтому найти их не составит для тебя труда. Если, конечно, ты вообще что-то знаешь о языке.
>>773203
#108 #773198
>>773190
Ну по памяти в двух словах можешь рассказать, в чем заключались архитектурные изъебаства отдельных библиотек.
>>773203
#109 #773203
>>773187
У тебя там ВРЁТИ что ли? Предлагаю тебе самому провести эксперимент: выбери какую-нибудь простую задачу (будь то пара содомирующихся фигурок на черном экране, работа с базой данных или ещё что-то) и реши её на хаскеле и каком-нибудь другом, более подходящем языке, а затем сравни затраченные усилия.
>>773196
-> >>773177
>>773198
Сравни хотя бы ямпу в хаскеле и реакт (или как он там назывался) в окамле.
>>773311
268 Кб, 1250x720
#110 #773311
>>773203

>У тебя там ВРЁТИ что ли?


Нет, просто было интересно, можешь ли чем-нибудь подтвердить свой наброс. Ну не можешь, так не можешь.

>Предлагаю тебе самому провести эксперимент


Проводил уже неоднократно.

>Сравни хотя бы ямпу в хаскеле и реакт


Давай сравним.
>>773359
#111 #773315
#112 #773359
>>773311
Ну сравни, потом расскажешь. Можешь ещё потом для сравнения взять frp из elm и racket.
>>773416
#113 #773378
тред не читал
помню была какая то игра с блоками, наверно вроде скретча
составляешь из них алгоритм, если правильно - высирает тебе письменное решение на таком-то ЯП
#114 #773383
Помню, была игра, где пишешь ИИ для танчиков и они потом пиздятся с чужими танчиками. Сейчас может найду, скиньте ссылку, если знаете.
#115 #773416
>>773359
Но зачем мне их сравнивать, ведь это ты спизданул что "90% библиотек - неоправданно переусложненный шлак с зашкаливающим количеством сущностей (лишних в основном)", а теперь пытаешься увильнуть от ответсвенности.
>>773442>>773443
#116 #773442
>>773416
Зачем? Не знаю, зачем тебе это. Ты же, наверное, не просто так прилип как банный лист к жопе и уже второй день отлипнуть не можешь. Доказывать я тебе ничего не собираюсь, потому что 1) мне лень снова ковырять библиотеки, вникать в документацию, потом ещё тебе всё по полочкам раскладывать, ведь сам ты, как выяснилось, провести анализ и сравнение не можешь, несмотря на свою заинтересованность, 2) есть подозрение, что эти усилия будут напрасны ввиду твоей фанатичности, о которой намекают твои хвалебные оды хаскелю.
Так что, хочешь докопаться до истины - валяй: сравнивай библиотеки, подсчитывай сущности, оценивай трудозатраты на изучение документации, что хочешь, то и делай, но сам. Ну а я выводы для себя уже давно сделал.
Ну или просто забудь и продолжай свою пропагандистскую форумную деятельность, пока не разочаруешься в своем предмете обожания после первого более-менее реального проекта.
>>773450
#117 #773443
>>773416
я не он

> If error handling is so great in Haskell, then why am I putting it under the complaints section? Well, it turns out that not everyone seems to think it’s as great as I make it out to be because people seem to keep writing Haskell APIs that throw exceptions!


> Despite what some purists would have you believe, Haskell has exceptions, and they are not uncommon. Lots of things can throw exceptions, some of which are probably reasonable. Failing to connect to a database is a pretty catastrophic error, so it seems fair that it would throw. On the other hand, inserting a duplicate record is pretty normal operation, so it seems like that should not throw.


> It’s also probably worth noting that exceptions in Haskell can be thrown from anywhere, even pure code, but can only be caught within the IO monad. This is especially scary, but I’ve seen it happen in actual libraries out in the wild, even ones that the entire Haskell ecosystem is built on. One of the crowning examples of this is the text package, which provides a function called decodeUtf8 to convert bytestrings into text. Its type is very simple:


> decodeUtf8 :: ByteString -> Text


> But wait, what if the bytestring is not actually a valid UTF–8 string?


>A couple weeks later, we found that providing this function with invalid data was returning HTTP 500 errors. Why? Our error handling was meticulous! Well, the answer was a decodeUtf8 call, hidden inside of the JWT library. This is especially egregious, given that the API it exposed returned a Maybe anyway!


https://lexi-lambda.github.io/blog/2016/06/12/four-months-with-haskell/
>>773463
#118 #773450
>>773442

>не просто так прилип как банный лист к жопе


Тебя за язык никто не тянул. Ты сделал заявление, думаю многим читателям было бы интересно, стоят ли за ним реальные знания, или это просто пук в воду. Получается, что пук в воду.

>Доказывать я тебе ничего не собираюсь, потому что


Ты не знаешь языка и библиотек, вот единственная причина.
>>773473
#119 #773463
>>773443
И что именно это доказывает?
>>773568
#120 #773473
>>773450
Значит, ты решил выбрать второй вариант. Я так и думал.
>>773475
#121 #773475
>>773473
Нет, я решил проверить, есть ли за твоим заявлением реальные факты, или это просто наброс. Выяснилось, что просто наброс.
#122 #773559
>>772845
Что может быть интереснее, чем функциональное программирование?
>>773563
#123 #773563
>>773559
Пони
>>773567
#124 #773567
>>773563
Это для престарелых педерастов, а не для детей
>>773573
#125 #773568
>>773463
Не доказывает, показывает. Проблему с хаскельными библиотеками по имени "дохуя эксепшнов вылазит где не плюнь".
33 Кб, 250x223
#126 #773573
>>773567
Ты завязывай с монадами, здоровье не резиновое.
>>773646
190 Кб, 720x960
#127 #773646
#128 #773847
>>770057 (OP)
http://pythontutor.ru если будешь давать ублюдкам ЗМИЯ, http://informatics.mccme.ru тут можно глянуть обучение на олимпиадных задачках, ботанам понравится.
#129 #773864
>>773138
let tazik = put_to pustoi_tazik @@ List.filter (fun belie -> belie.gryaznoe) vse_belie in
let stiralka = put_to pustaya_stiralka @@ dostat'_iz tazik in
let stiralka1 = add_poroshok stiralka poroshok in
...
?
>>773964
#130 #773964
>>773864
проиграл
это питон?
>>774524
#131 #774524
>>773964
Окамл
#132 #774759
>>770057 (OP)
https://racket-lang.org/
http://docs.racket-lang.org/quick/
Попробуй racket. Как раз для этого и создавался.
Кармак рекомендует, его огрызок мелкий на нем пишет.
#133 #774792
Пиздец, так в итоге в 21 стоит с Хаскеля начинать?
>>774852
#134 #774852
>>774792
Ебанулся что ли?
>>774855
#135 #774855
>>774852
Почему ебанулся?
>>774859>>774862
#136 #774859
>>774855
Потому что дети на нем ничего, кроме факториалов, написать не смогут.
>>774877
#137 #774862
>>774855
OP, ETO TY?
>>774877
#138 #774877
>>774859
При чем здесь дети? Я для себя хотел выбрать первый язык, а тут, хотя тема про увлечение детей программированием, на эту тему жаркие споры.

>>774862
NET. POCHEMU VY SPRASHIVAETE?
>>774880
#139 #774880
>>774877
Ну для себя можешь и хаскель взять, а можешь и общелисп какой. Да хоть даже смолтолк
>>774881>>774887
#140 #774881
>>774880
Или даже форт, или ребол/ред
#141 #774887
>>774880
Выше писали, мол, "язык X портит восприятие". Вообще, часто читал, что люди последующие ЯП изучали в контексте первого. Другое дело, что тут были хорошие, как мне показалось, аргументы в пользу Хаскеля, а противник не смог ничего конкретного противопоставить. Потому и уточнил.
#142 #774889
>>774887
С хаскелем ты не найдешь для себя вводной в программирование литературы как минимум.
>>774907>>774910
#143 #774891
>>774887
В MIT, кажется, были вводные курсы на ocaml. Можешь их поискать.
Ну и сам язык, окамл, получше будет в плане практичности.
>>774910
#144 #774907
>>774889

>вводной в программирование литературы


http://www.ozon.ru/context/detail/id/28346038/ объясняются все принципы программирования с самого начала.
#145 #774908
>>774887
Это не тот язык, которым среднестатестического долбоеба 8-16 лет обучишь за 3 недели, тем более поддерживая интерес.
#146 #774910
>>774889
Хотел начать с "Learn You a Haskell for Great Good!". В введении с оговоркой написано, что можно и первой книгой по программированию брать. Или лучше Lisp (Common?) тогда?

>>774891
Именно вводные не смог найти.
>>774927
#147 #774927
>>774910
http://ocaml.org/learn/teaching-ocaml.html
Там куча разных курсов.
#148 #775136
>>770873
Конкатенативный стиль:
Бельё в тазик собрать
Из тазика в машину загрузить
Порошок в стиралку засыпать
Стиралки дверцу закрыть
Стиралки программу задать
И всё это кратко, и даже вполне функционально.

Вот, держи: http://kittenlang.org/
>>775141
#149 #775141
>>775136
Kitten в моем /pr

слезы радости

В тацитном стиле напиши
>>775165
#150 #775165
>>775141
Лучше в явном стиле J напишу:
задать&программу закрыть&дверцу засыпать&порошок стиралку загрузить тазик собрать бельё
>>775173
0 Кб, 59x90
#151 #775172
1) Скрипты в Ёксели им покажи. Как вывести MessageBox с надписью "ты хуй", как в списке из 1000 фамилий сделать первую букву везде заглавной, как ячейки на всём листе шахматной доской раскрасить. Включи фантазию.
2) Если лагерь технарской направленности, притащи Ардуину со светодиодами. Заставь светодиоды светофором мигать, это строчек в 10-20 делается. На двухстрочный ЛСД-дисплей тоже може ардуиной "ты хуй" вывести и в корпус от какого-нибудь школьного дерьмометра засунуть.
>>775175
#153 #775175
>>775172

>Скрипты в Ёксели им покажи


Потом Prolog
Потом Datalog
Потом их не возьмут в лухософт
#154 #775192
>>770057 (OP)
Важнее не какой язык, я что писать.
Если даёшь C#, то показывай Unity. Можешь дать Java и учить делать плагины к майнкрафту. JS опять же может хорошо зайти, если делать игры.
>>775356
#155 #775328
>>770070
А мне похуй, я вкатываюсь. И ты так делай
#156 #775339
Просто положи им сикп книгу на стол, асам уйди. Все, все что от тебя зависело, считай зделано.
#157 #775356
>>775192
Язык тоже важен. От него зависит, сколько лишних сущностей нужно изучить, чтобы начать писать, насколько велика будет задержка обратной с программистом связи и т.д., и т.п.
#158 #775401
>>770057 (OP)

>Что ещё можно предложить детям?


http://www.apple.com/swift/playgrounds/
>>775403
117 Кб, 804x604
#159 #775403
>>775401
Cамое то для сраных детей. Если денег на айпады нет, то можно какие-нибудь колоботы и аналоги поискать.
>>779973
#160 #779883
Не засирайте детям мозги, ASM и/или C.
Топовая база для любого движения.
>>779971>>780006
#161 #779971
>>779883
Этому говну полезному пусть в вузиках обучаются. Сейчас дать им просто алгоритмизирование зойдачек уже достаточно.
#162 #779973
>>775403
А на соснолях есть что-нибудь подобное?
>>779976
#163 #779976
>>779973
Чот представил прогроммирование на геймпаде.
>>779977
#164 #779977
>>779976
Так там же все блоки визуальные, текст набирать не надо.
>>779978
#165 #779978
>>779977
Ну это само собой, но я то представил не визуальное.
#166 #779983
>>770749
Уже js.
>>780002
#167 #780002
>>779983
Уже сами японцы не хотят писать на Руби. Хотя годный был язык, и детей на нем вполне можно было обучать, как раньше на Бейсике. Что сейчас осталось, только Питон и Го?
>>780454
#168 #780006
>>779883
Си, увы, нет. Возьмем самый простейшую программу:
#include <stdio.h>
int main(int argc, char* argv[])
{
printf("Hello World!\n");
return 0;
}
Детям придется объяснять:
1. Что такое заголовочные файлы и препроцессор.
2. Что такое типы данных.
3. Что такое массивы и указатели.
4. Что такое спецсимволы.
5. Что такое функции и возвращаемые значения.
Сомневаюсь, что кто-то осилит все это на первом уроке.
>>780012
#169 #780012
>>780006
#include <stdio.h>
main:
printf("Hello world");

>просто вставьте эту строку и пока о ней забудьте

>>780022
#170 #780022
>>780012
Там всю программу придется забывать, кроме одной строки. И вообще, непонятная магия ("это тебе знать пока не нужно") - не лучший способ обучения программированию. Программист должен знать, как работает каждая его строчка, чтобы с легкостью вносить изменения и править баги. Иначе получаются быдлокодеры, которые не могут на собеседовании рассказать, как в Java устроен HashMap и чем он отличается от TreeMap.
Дети тем более будут задавать вопросы, они очень любопытны. В итоге придется объяснять все.
>>780030
#171 #780030
>>780022
А пацаны в гарварде-то и не знают. Пожалуйста, не пиши больше хуйни в этот раздел.
>>780033
#172 #780033
>>780030
В гарварде учатся школьники, не умеющие программировать? Пожалуйста, не пиши больше хуйни в этот раздел.
>>780034>>780041
#173 #780034
>>780033
Алсо, курс из MIT для начинающих именно на Python:
https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-8
Внезапно, и в Гарварде тоже:
https://www.summer.harvard.edu/courses/introduction-programming-python/33562
Про C же ничего найти не удалось. Так что не придумывай и не пиши хуйню.
#174 #780038
>>770057 (OP)
Язык не важен, важны задачи.

Узнай что итм интересно, и делайте это.
#175 #780041
>>780033
Студенты, которые компьютера могли в глаза до курса не видеть. Кушай https://www.edx.org/course/introduction-computer-science-harvardx-cs50x
>>780352
#176 #780091
>>770070
Если две извилины есть, то можно за пару лет в программирование вкатится, конечно суперзвездой не станешь, но вполне сможешь реализовать свои проекты. Так что 30 это еще совсем не поздно
#177 #780096
>>770096
Питон один из самых легких языков. Возможностей мало, хех да на нем почти все задачи решать можно.
>>781063
sage #178 #780352
>>780041
Там так и сказано в первой лекции?

>просто вставьте эту строку и пока о ней забудьте


Сомневаюсь, что профессора в Гарварде такие же долбоебы, как ты.
>>780923
#179 #780454
>>780002

>раби


>годный


end
end
end
end
>>780498>>780570
#180 #780498
>>780454

> был


> как раньше на Бейсике

#181 #780570
>>780454
Вообще-то в руби есть еще и {}
#182 #780923
>>780352
Да, именно так и сказано. "Потом мы до этого доберёмся". И это во второй лекции. Или ты про неумение в компьютеры? Это-таки в первой.
>>780939
#183 #780939
>>780923
Понятно, профессор типа Вирта попиливает бабло. Вот в MIT такой хуйни нет, там учат на Питоне.
#184 #780954
>>770057 (OP)

>ёбаные дети


>мелким ублюдкам


ОП, я вижу, ты не испытываешь особой симпатии к ЦВЕТАМ ЖИЗНИ. Нахуй в лагерь-то тогда идти? Зарплаты вроде небольшие, так что я думал что туда идейные идут.
>>781188>>781328
sage #185 #781063
>>780096

> да на нем почти все задачи решать можно.


Почти абсолютно на любой языке можно решить любые задачи.
#186 #781188
>>780954

> ОП, я вижу, ты не испытываешь особой симпатии к ЦВЕТАМ ЖИЗНИ.


Он не педофил же, чтобы любить мелких уродливых карликов.
#187 #781328
>>780954

>я думал что туда идейные идут


Нет, самые никчемные, те кто не могут просто выучить плюсы и переехать в деес.
#188 #781625
ЗКаны, мне очень доставило как вы расписываете парадигмы на примере стиральной мышины. Все очень понятно. А можете аналогичным образом описать как работают указатели и куча?
#189 #781699
>>781625
Туч - На острие педагогики!
#190 #781826
>>781625

>указатели


Попиши на асме недельку, там ничего сложного нет.

>куча


Здесь-то тебе что может быть непонятно?
>>781836
#191 #781836
>>781826
В теории, вроде, понятно. А на практике - нет.

Насчет асма - даже хз с чего начать, я же ООП-макака.
#193 #783076
>>781625

> указатели


Переменная, которая содержит адрес в памяти (по сути число), по которому лежит объект

> куча


Шмат памяти, отведённый под динамическую аллокацию.
#194 #783087

>личинки пидорашек


>Кодинг


Тут все очевидно. ТУРБО ПОЦКАЛЬ и ДЕЛФИ
#195 #783094
>>771135

>Функциональный господин


Функциональный господин посасывает хуй в говношараге без работы)))))) Пока успешные жава/сишарпо/крестогоспода уже студентиками-джуниорами получают 1к долларов)))))) Ботан, ты будешь своей мамке рассказывать какой ты погромист, мы то все тут знаем что ты нищий лох в свитере без будущего))))))
#196 #783103
>>783094

>кресты


>работа

>>783126
#197 #783104
>>783094
А вот и байтоеб
>>783126
#198 #783108
>>772597

>графику (как самый наглядный и подстегивающий интерес результат) на нем без штанги не попрограммируешь


Да ладно-ка. https://cdsmith.wordpress.com/2011/08/16/haskell-for-kids-week-1/
#199 #783126
>>783104
Нищий лох, не бомби))))
>>783103

>Функциональная параша


>Работа


Ох уж эти проекции нищенки))) И да, я джавабог
109 Кб, 1000x808
#200 #783130
>>783263
#201 #783131
>>783126

>джавабог


>джава


ХХАХАХАХАХАХАХАЗЫХВЪЫХАХЪВХЗАЪХАЗВЪХАБ ЛЯТЬ ЪАВЪХАЪХАХАХХХAUHAUHAUHAUHAUHAUHAUHAUHAUHAUHAUHHAHUAHUAHUAHAHAHAHAHAHAHAHAHHAHAHHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAHAHHAHHHHHHHHHHHHHHHAHAHAHAHAH BLYAAA AHAHAHAH
#202 #783142
>>770057 (OP)

>и мне нужны ваши советы



Мелких Scratch-ем обмазывай, а со старшими на Python с прикрученным pygame игрули пиши.

А можешь поступить ещё проще - и тех, и других ардуиной со всеми прибамбасами обмажь: с псевдо недо-C, с моторчиками, с "роботами", которые два раза в ладоши хлопаешь, а они два оборота колёсами делают...
#203 #783259
>>783126
Бог Питух штоле?
#204 #783263
>>783130
Это джаваэлита на пиках?
>>783341
#205 #783276
>>781625

> указатели


На коробке написано ЧЕЙ МАТЬ ИПАТЬ. Я открываю коробку, достаю бумажку, читаю там адрес твоей мамаши и иду по нему к ней в спальню. В это время подходит хаскелобог и кладет другую бумажку, где написан адрес мамаши жабопетушка. На следующий день я прихожу, достаю бумажку и иду по указанному адресу. Бумажка - указатель, коробка - переменная типа указатель, мамаша-шлюха - содержимое по указателю.

> куча


Есть полка с кучей таких бумажек. Специально обученный раб-хохол по звонку достает из кучи первую попавшуюся бумажку и кладет в указанную ему коробку (коробок может быть несколько). Затем прихожу я или хаскелобог и см. выше. Когда мамаша выебана, мы звоним хохлу, и он убирает бумажки обратно.
Если внезапно на полке кончаются бумажки, то это ошибка, и хохол получает пизды.
>>783339
#206 #783287
Учи с мелкими JS,это будет надолго.
Если что, https://code.org/educate/applab
#207 #783332
>>770057 (OP)
Учи их лучше настраивать окружение, уметь в линупс, работать с терминалом. Затем вводи в алгоритмы и структуры данных.
#208 #783339
>>783276
Все так, кроме >первую попавшуюся бумажку
Надо так: первую бумажку с конца.
>>783449
194 Кб, 785x589
#209 #783341
>>783263
Niet. Вот джаваэлита.
#210 #783357
>>783126
О, вот и пхпжавамакаки подтянулись.
#211 #783366
>>783094

> в свитере без будущего


Свитер без будущего - это сильно. Это, если можно так выразиться, квинтэссенция, соль и мудрость в одной ебаной фразе - свитер без будущего. Теперь я знаю, как называются эти пидорасы, которые вытирая сопли о свои свитера, доказывают как охуительно быть бедным интеллектуалом и собирать для музея спектрумы и прочие калькуляторы. Ты открыл мне глаза, блядь.
>>783409
#212 #783409
>>783366
В свитере со спектрумом и калькулятором это же байтоёбы - полная противоположность функциональщикам.
>>783459>>783515
#213 #783449
>>783339

> Надо так: первую бумажку с конца.


Это стек (или очередь, если первая бумажка с начала). Куча обычно реализуется как список свободных бумажек (областей памяти), и раб-хохол возвращает некоторые из них в ответ на команду выделения памяти.
#214 #783459
>>783409
Лисп же был на спектруме.
#215 #783515
>>783409
Функциональщики это, по сути, те же байтоебы в худшей их ипостаси - профитов в производительности нет, а страдание осталось.
Тред утонул или удален.
Это копия, сохраненная 20 июля 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски