|
lqp - Мозг или компутер?
[Recent Entries][Archive][Friends][User Info]
11:46 pm
[Link] |
Мозг или компутер? Голубев в фсбуке предлагает обсуждать статью dkirienko@lj про Питон как язык школьного обучения программированию.
Ну, сам я Питон терпеть не могу и многократно на эту тему высказывался. Питон - ремейк КОБОЛа на современной элементной базе, средоточие многословия и косноязычия, тормознутости, синтаксического выпендрежа и нестабильности. Все возможные пороки языка программирования в одном флаконе.
Однако же тут имеется момент для серьезного разговора. На самом деле, обучение школьников программированию имеет две существенно различные цели: 1) Обучение алгоритмическому мышлению себя самого и 2) Обучение управлению вычислительной машиной.
Одно с другим связано но это существенно разные вещи, и языки для этого требуются разные.
Для обучения алгоритмическому мышлению требуется язык, на который просто и наглядно отображаются алгоритмические приемы и абстракции, чтобы скажем список/стек или map/grep можно было просто взять и задать, не тратя сотни строк кода на их реализацию.
Для обучения же управления машиной нужен язык, программируя на котором ты именно отдаешь приказы машине - конкретной железной машине, со всеми ее архитектурными решениями, техническими ограничениями и особенностями реализации. А не вязнешь в условностях и абстракциях исполняющей системы.
Первое, безусловно, необходимо. Но существует тенденция (у того же обсуждаемого dkirienko@lj, например) абсолютизировать первое и пренебрежительно относиться ко второму. Дескать, алгоритмы - это часть общей культуры, а возня с железяками - это узкопрофесссиональная отрасль, которой пусть занимаются узкие профессионалы. Самое смешное что подобная точка зрения, вопреки тому что говорят ее адепты - это именно что точка зрения профессионального программиста, для которого алгоритмы это огромная светлая область, открытая для бесконечного совершенствования, в то время как всякие ассемблеры, прерывания и битовые маски - это темный чуланчик с инструментами, открываемый по нужде.
Если же мы говорим не о профессиональных высотах, а о базовых понятиях для людей, большая часть которых ни на какое покорение высот не пойдет, тут все по другому. Умение пользоваться дрелью и рубанком не менее, а даже более важно рядовому школьнику, чем умение расчитать форму балки в соответствии с последними достижениями сопромата. Если человек не понимает, не чувствует на собственной шкуре, что сочиненный им сколь угодно абстрактный алгоритм будет выполняться тупой железкой/перемалывателем байтов, если он не имеет хотя бы самого общего представления, в какие именно машинные команды будет транслироваться записанный им супер-высокоуровневый алгоритм - программировать он, можно сказать, не умеет.
|
|
| |
| From: | (Anonymous) |
| Date: | November 24th, 2014 - 07:49 pm |
|---|
| | | (Link) |
|
А вы сами на коболе-то писали?
| From: | lqp |
| Date: | November 24th, 2014 - 07:53 pm |
|---|
| | | (Link) |
|
Приходилось переводить с него небольшие тексты.
| From: | (Anonymous) |
| Date: | November 25th, 2014 - 02:58 am |
|---|
| | | (Link) |
|
COBOL ego HyperCard. U Pythona was taki syntax est I net pretensiy bytt estestvennym yazykom.
map, grep говоришь? Просто задать? И чтобы список и стэк были естественными конструкциями языка? Предлагаешь учить детей perl?
| From: | lqp |
| Date: | November 24th, 2014 - 08:50 pm |
|---|
| | | (Link) |
|
Ну, Я привел примеры, которые были у меня под руками. kouzdra небось вспомнил бы чего помолодежней.
| From: | (Anonymous) |
| Date: | November 24th, 2014 - 09:05 pm |
|---|
| | | (Link) |
|
Шёл Куздра по лесу. Видит: ведро стоит. Сел на него и насрал.
Нет бы стукнуть пяткой в грудь, и сказать "А что, среди авторов языков программирования Ларри единственный лингвист". И лучше учить языку, который придумал лингвист, чем языку, который придумала морской офицер женского пола.
А на чем следует учить? *без подкола вопрос*
| From: | lqp |
| Date: | November 24th, 2014 - 10:02 pm |
|---|
| | | (Link) |
|
Надо иметь больше одного языка. Впрочем их и так больше одного.
Кстати, тот самый Паскаль, на который любят указывать пальцем, на самом деле неплохой компромисс.
| From: | (Anonymous) |
| Date: | November 25th, 2014 - 02:12 am |
|---|
| | вспомнить всё | (Link) |
|
предлагаю СУБД. например КАРАТ.
| From: | ignik |
| Date: | November 25th, 2014 - 04:34 am |
|---|
| | | (Link) |
|
| From: | lqp |
| Date: | November 25th, 2014 - 04:17 pm |
|---|
| | | (Link) |
|
Я не вполне понимаю, в чем его преимущества по сравнению с текущим стандартом Паскалем.
Плюс - есть хеши. Минус - нет ни множеств, ни перечислимых типов, ни нормальных массивов.
Отсутствие возможности обратиться каким-либо образом к железу - явный минус.
| From: | grusha |
| Date: | November 27th, 2014 - 12:22 am |
|---|
| | | (Link) |
|
| From: | (Anonymous) |
| Date: | December 9th, 2014 - 05:47 am |
|---|
| | | (Link) |
|
Неудача гугольские дебилы все просрали. А подавал надежды у Вирта украли же.
| From: | grusha |
| Date: | December 9th, 2014 - 09:42 am |
|---|
| | | (Link) |
|
нахуй иди
| From: | (Anonymous) |
| Date: | December 9th, 2014 - 04:30 pm |
|---|
| | | (Link) |
|
Сочувствую но го все. Сдох. Новый веб язык нахуй никому не нужен а больше ни для чего не годится, многомерных массивов нет, генерикс нет, маршал анмаршал всякий очень неудобен от того что статические типы и главное скорость не впечатляет тоже. Waste of time.
| From: | grusha |
| Date: | December 9th, 2014 - 06:09 pm |
|---|
| | | (Link) |
|
Рассылка ломится от мейлов, не успеваю читать (юзерская рассылка, не девелоперская). Подсадил на него кучу людей. А хипстеры идут нахуй.
| From: | (Anonymous) |
| Date: | December 11th, 2014 - 02:49 am |
|---|
| | | (Link) |
|
Опоздали немного. Впрочем в совке бывает разное пидо с кучей людей сектантов.
| From: | grusha |
| Date: | December 11th, 2014 - 02:56 am |
|---|
| | | (Link) |
|
| From: | (Anonymous) |
| Date: | December 11th, 2014 - 05:47 am |
|---|
| | | (Link) |
|
В совке где по английски не читают. Multidimensional arrays in Go. It's time. В той же группе. Воз и ныне там пидоры понимают только свой веб для программирования го не годится пока пока.
| From: | grusha |
| Date: | December 11th, 2014 - 11:15 am |
|---|
| | | (Link) |
|
Какой нахуй свой веб? Про веб здесь вспоминаешь только ты. Люди дизайнили язык головой а не жопой, и сто раз подумают прежде чем добавлять какую-то фичу. Потому язык и не превращается в помойку. В той же рассылке можешь найти мегатонны хипстерского скулежа про "добавьте то, добавьте се, я знаю как лучше". Про дженерики в особенности. В частности, прежде чем скулить про многомерные массивы, тебе следовало бы почитать про различие между массивами и слайсами. А также задуматься, почему это различие существует и задефинировано на уровне спецификации языка.
Пока хипстеры скулят, серьезные дяди с удовольствием юзают Гоу там, где раньше были вынуждены юзать либо Си (который прекрасен, но слишком низкоуровнев и небезопасен), либо одно из современных мейнстримных говен со всеми его уебанствами.
Про goroutines вообще молчу, хипстеры в это не могут.
| From: | grusha |
| Date: | December 11th, 2014 - 11:28 am |
|---|
| | | (Link) |
|
Bryan Turley 1/15/13 We just need a new buzzword around go. Go has Specifics <-- new buzzword that means nothing as most buzzwords do. Use Go's Specifics.
Kevin Gillette 1/15/13 "Go Specifics give you the fine-grained control you need to solve the problems of today!"
On Monday, January 14, 2013 7:40:14 PM UTC-7, bryanturley wrote:
We just need a new buzzword around go. Go has Specifics <-- new buzzword that means nothing as most buzzwords do. Use Go's Specifics.
Bryan Turley 1/15/13
On Monday, January 14, 2013 8:55:33 PM UTC-6, Kevin Gillette wrote:
"Go Specifics give you the fine-grained control you need to solve the problems of today!"
EXACTLY ;
| From: | (Anonymous) |
| Date: | December 12th, 2014 - 03:57 am |
|---|
| | | (Link) |
|
Шпана шпана. Пороть их некому.
| From: | (Anonymous) |
| Date: | December 12th, 2014 - 03:52 am |
|---|
| | | (Link) |
|
Да наоборот все. Вы новичок поздно пришли. Сначала был дизайн который потом не смогли осилить. Где netchan? Про различие между массивами и слайсами надо читать в том треде там реально классик программирования пытался вразумить веб шпану но не преуспел. Вы не знаете просто кто есть кто от молодости и пидишничества совкового.
| From: | grusha |
| Date: | December 12th, 2014 - 11:06 am |
|---|
| | | (Link) |
|
Хуеб. Сказочки не надо рассказывать. Академические дрочеры также идут нахуй. Язык это инструмент инженеров. Которые работают с программно-аппаратными комплексами в реальном мире с его реальными проблемами, а не со сферическими конями. Ссылку на тред про слайсы в студию. Ну и, возможно, академическая школота и не знает кто такие Томпсон, Пайк, Кокс, но мы их хорошо знаем.
| From: | (Anonymous) |
| Date: | December 13th, 2014 - 02:41 am |
|---|
| | | (Link) |
|
nikakikh akademicheskikh drocherov wy opyat oblajalis. Generaly engneeringa menno chto. Pike slil kak indiiskii office-wallah, "there was no open ticket", pora na pensiyu.
| From: | (Anonymous) |
| Date: | December 13th, 2014 - 02:45 am |
|---|
| | | (Link) |
|
Woobsche ya kazhetsya tut sporyu s ukraincem maloletnim! lol
| From: | grusha |
| Date: | December 13th, 2014 - 09:52 pm |
|---|
| | | (Link) |
|
Здесь нет никакого спора. Здесь есть посылание нахуй академхипстера (предположительно еще и ватника), с последовательным уточнением направления.
| From: | (Anonymous) |
| Date: | December 16th, 2014 - 05:58 am |
|---|
| | | (Link) |
|
Была попытка ликбеза да но с Украинцами такие не проходят
| From: | grusha |
| Date: | December 16th, 2014 - 10:11 am |
|---|
| | | (Link) |
|
Доооо. Ссылочка-то где, ебанашка?
| From: | grusha |
| Date: | December 13th, 2014 - 09:37 pm |
|---|
| | | (Link) |
|
Ссылка на тред про слайсы будет, или как? Заплетающийся язык это так себе способ слива.
Упомянутый прошлогодний тред Multidimensional arrays for Go. It's time. - читал я тогда начало треда, помню. Сейчас просмотрел весь тред. Что мы там имеем: чувак числодробильщик сказал "хочу фичу". Чуваку стали пояснять, что "язык общего назначения" и "свалка фич" это не одно и то же, что никто ему ничего не должен, и что для начала ему следует толком описать, какой именно дизайн ему нужен. В ходе дискуссии чувак признал, что да, он не представляет толком, какой дизайн там должен быть. К дискуссии присоединились и другие чуваки, заинтересованные в фиче. Завершилась дискуссия ничем: не смогли чуваки определиться, что им нужно.
| From: | (Anonymous) |
| Date: | December 14th, 2014 - 08:28 pm |
|---|
| | | (Link) |
|
Дурачок иди учись неуч.
| From: | grusha |
| Date: | December 15th, 2014 - 12:56 am |
|---|
| | | (Link) |
|
Сливаемся, да? Обосрался и в кусты? Ссылку можно не ждать, я так понимаю.
| From: | (Anonymous) |
| Date: | December 16th, 2014 - 05:57 am |
|---|
| | | (Link) |
|
Хоп хоп кто не скачет тот москаль
| From: | (Anonymous) |
| Date: | December 12th, 2014 - 03:56 am |
|---|
| | | (Link) |
|
Да в том и проблема что серьезные люди слишком там все стали. Деловые. Отчего получился очередной веб язык. Серьезнее пхп вообще ничего нет только микрософт екчченчь.
| From: | (Anonymous) |
| Date: | December 11th, 2014 - 05:40 am |
|---|
| | | (Link) |
|
Множества и ассоциативные массивы это одно и то же. Единственный косяк илуны и ужасный что нет длины массива и слайсы невозможны потому что внутри массивов ассоциативные и с дырками. К железу в Луне как раз легко там же сишные функции интерфейсятся.
Но ваш пойнт про архитектуры мне нравится. Типа как узнать про то зачем proper tail recurs ion если не принимать во внимание ограниченость памяти, стека у процесса.
| From: | lqp |
| Date: | December 11th, 2014 - 08:25 am |
|---|
| | | (Link) |
|
К железу в Луне как раз легко там же сишные функции интерфейсятся. Не стандартизовано, а значит для массовой школы не годится. Школьные учителя мыслят в терминах методичек, сборников задач и обучающих плакатов.
| From: | (Anonymous) |
| Date: | December 12th, 2014 - 04:00 am |
|---|
| | | (Link) |
|
Так само железо не стандартизовано. Зато Луну можно запустить практически везде хоть внутри фпга то есть адаптировать к любому имеющемуся железу.
| From: | (Anonymous) |
| Date: | December 21st, 2014 - 10:21 pm |
|---|
| | | (Link) |
|
Кстати говоря по Луа есть прекрасный учебник автора Роберто Иерусалимского. С задачами и примерами. Наличие правильного учебника это редкость только старые вещи типа среды юникс АВК и Си могли таким отличаться больше не делают. Все загажено орейлии говном всякими кукбуками и лернинг перл для чайников.
питон зашибись. слишком много внимания этим языкам
| From: | (Anonymous) |
| Date: | December 11th, 2014 - 05:42 am |
|---|
| | | (Link) |
|
Да уж зашибись пока не воткнешься в производительность а оно случается неизбежно.
| From: | (Anonymous) |
| Date: | November 25th, 2014 - 03:49 pm |
|---|
| | | (Link) |
|
Питон это хороший язык, уж всяко лучше Перла.
| From: | lqp |
| Date: | November 25th, 2014 - 04:38 pm |
|---|
| | | (Link) |
|
Ну, кому и кобыла невеста.
Питон, собственно, имеет ровно одно преимущество перед Перлом - отсутствие префиксов у переменных. Во всех прочих отношениях сравнение будет для Питона весьма плачевным.
| From: | (Anonymous) |
| Date: | November 26th, 2014 - 04:35 am |
|---|
| | | (Link) |
|
питон имеет крайне ценное преимущество в виде удобных библиотек для научных расчетов и построения графиков. весьма полезное в образовательных целях свойство. не говоря уж об image analysis и прочих мелочах.
| From: | lqp |
| Date: | November 26th, 2014 - 06:41 am |
|---|
| | | (Link) |
|
Вообще-то по сравнени. со CPAN-ом говорить о наличии у Питона каких бы то ни было библиотек довольно смехотворно.
Что же касается NumPy\SciPy, который Вы очевидно имеете в виду, так это довольно криворукая калька с перловского PDL, реализующая лишь малую часть функциональности последнего.
| From: | (Anonymous) |
| Date: | November 26th, 2014 - 03:05 pm |
|---|
| | | (Link) |
|
давайте так: что может убедить человека переписать проект, выполненный на питоне/numpy/scipy, в perl/PDL? или перейти на перл?
| From: | lqp |
| Date: | November 28th, 2014 - 10:07 pm |
|---|
| | | (Link) |
|
Ну, на практике основная причина, побуждающая переходить на Perl - это CPAN. Не потому что прочие причины плохи, а потому что CPAN кроет любые другие причины как, гм.
Но тут не забывать - что для других языков, и в частность для того же Питона, ничего подобного CPANу нет отнюдь не случайно
| From: | (Anonymous) |
| Date: | December 9th, 2014 - 05:51 am |
|---|
| | | (Link) |
|
Как раз большая проблема что у всех языков есть и по нескольку. У r cran у Питона пайпай и анаконда и актив. У октаве октавефорж. Все это создает кошмар для си темного администрирования.
Лучше чтобы не было, вот в ФОРТРАНе никакой херни блас лапак почти часть языка.
| From: | lqp |
| Date: | December 11th, 2014 - 08:36 am |
|---|
| | | (Link) |
|
Как раз большая проблема что у всех языков есть и по нескольку. Ну так у перла не несколько, а один. И не на сотню пакетов (как эти несколько), а на тридцать тысяч.
| From: | (Anonymous) |
| Date: | December 12th, 2014 - 04:05 am |
|---|
| | | (Link) |
|
6102 cran причем они фокусировны на статистике тогда как у перла всякая веб хрень. То есть еще неизвестно.
| From: | (Anonymous) |
| Date: | November 27th, 2014 - 08:01 pm |
|---|
| | | (Link) |
|
http://avva.livejournal.com/2826126.html?thread=112322190
| From: | (Anonymous) |
| Date: | December 11th, 2014 - 05:43 am |
|---|
| | | (Link) |
|
Воробей дуралей носит туфли как репей
| From: | (Anonymous) |
| Date: | December 9th, 2014 - 05:52 am |
|---|
| | | (Link) |
|
Ну да а есть ли в перле лист компрехензии слайсы итд?
| From: | lqp |
| Date: | December 11th, 2014 - 08:59 am |
|---|
| | | (Link) |
|
Есть общий механизм обращения к любому подмножеству списка по его номерам @B=@A[1..5,9,12]; или по значениям @B= grep $_>10,@A;
некоторые _специальные_ случаи получаются слегка более громоздко чем в питоне (например если нужен каждый третий элемент массива - в питоне на этот счет заготовлен отдельный шорткат, в перле придется конструировать выражение)
В PDL все так же как в питоне, вплоть до нотации.
| From: | (Anonymous) |
| Date: | December 12th, 2014 - 04:13 am |
|---|
| | | (Link) |
|
В питоне можно сделать автоматическую итерацию и редукцию листа в одном выражении , с некоторых пор. Насколько я знаю в перле надо будет крутить циклы для этого.
| From: | lqp |
| Date: | December 13th, 2014 - 09:40 am |
|---|
| | | (Link) |
|
Што-што?
| From: | (Anonymous) |
| Date: | December 14th, 2014 - 08:32 pm |
|---|
| | | (Link) |
|
Sum([ x for x in range (10) if mod x/3 > 0]) такие штуки наверное можно сделать через регексп в перле да?
Генераторов в перле вроде тоже нету в питоне и луа есть.
| From: | lqp |
| Date: | December 14th, 2014 - 08:48 pm |
|---|
| | | (Link) |
|
map/grep тащемто упоминаются прямо в том каменте, на который вы отвечаете. Они являются частью языка с, как минимум, 1993 года. Суммирование элементов списка - это стандартный (идущий в поставке Перла с незапамятных времен) модуль List::Util
| From: | (Anonymous) |
| Date: | December 16th, 2014 - 05:56 am |
|---|
| | | (Link) |
|
It just looks soooo gross man!
| From: | (Anonymous) |
| Date: | December 16th, 2014 - 05:59 am |
|---|
| | | (Link) |
|
В смысле забыть перл так приятно что не надо всего этого изврата.
| From: | lqp |
| Date: | December 16th, 2014 - 02:13 pm |
|---|
| | | (Link) |
|
Ну, как бы вам сказать. Если человек абсолютно прозрачному, лаконичному и традиционному функциональному синтаксису Перла предпочитает вырвиглазную псевдоимперативщину Питона - то до Перла он действительно не дорос.
| From: | (Anonymous) |
| Date: | December 19th, 2014 - 08:29 am |
|---|
| | | (Link) |
|
Зато питон с нумпаем похож на фортран90 а перл уж слишком элегантный. На старости лет устаешь.
| From: | lqp |
| Date: | December 22nd, 2014 - 03:40 pm |
|---|
| | | (Link) |
|
Ну это смотря что делать. Если школоту учить Helloworld писать, то может питон с нумпаем и красивше выходит. А вот если у тебя реальные задачи....
map/grep можно стыковать в одной строке хоть десять штук без ущерба для удобочитаемости. А вот эту фигню с псевдоциклами даже две штуки поставить, так разнесет.....
| From: | (Anonymous) |
| Date: | December 25th, 2014 - 01:09 am |
|---|
| | | (Link) |
|
Приближает ли перл к пониманию машин ого железа спорный вопрос.
Основное преимущество Питона - enforced readability. У Паскаля оно тоже есть. Я, собственно, вырос паскалистом, но по причине отсутствия удобных современных реализаций паскаля без закидонов из восьмидесятых (как минимум на тот момент) перешёл на питон.
Чем хуже читается язык, тем меньше я на нём могу. На regexp - не могу вовсе.
| From: | lqp |
| Date: | December 11th, 2014 - 11:37 pm |
|---|
| | | (Link) |
|
Как бы это сказать поаккуратнее. readability оно ведь сильно зависит от того, какой у читателя словарный запас.
Если мы оперируем только теми конструкциями алгоритмов/данных, которые имеются в Паскале/Си, то для нас _любой_ язык, равномощный Перлу будет сложен для чтения, независимо от его синтаксиса. Не потому что он неправильно строчки форматирует, а потому что эти строчки, как бы они не форматировались, оперируют концепциями, незнакомыми/малознакомыми читателю.
Регэксы тут хороший пример. Вполне можно заменить и нотацию на более наглядную. В Perl6 это сделано, и бэкпортировано через какой-то там модуль. Поможет это удобочитаемости? Ну разве что самую чуточку - проблема то не в нотации, а в самой логике регулярных выражений, которая резко отличается от всего обычного императивного/функционального/декларативного.
Проблема в том, что когда нечитаемость накладывается на новую логику, вместе проблема становится уже просто нерешаемой.
Я посмотрю регэксы perl6, конечно. Но на перле нечитаема даже чистая императивщина, если не выпрямлять автору руки кувалдой именно на этот предмет. А Питон добавляет функциональщину, ничуть не уменьшая читабельность.
| From: | lqp |
| Date: | December 13th, 2014 - 07:25 am |
|---|
| | | (Link) |
|
Тонкость в том, что даже если какая-то фича языка конкретным программистом не используется - в языке-то она все равно остается и на синтаксис влияет.
Скажем, можно пользоваться перловскими списками исключительно как паскалевскими массивами: доступ по индексу, однотипные данные etc. Но это будет гораздо менее удобочитаемо чем в паскале. Потому чо на самом деле - это списки и синтаксис заточен именно под обращение с ними как со списками.
Да, что касается управления машиной, по-моему для него лучше подошёл бы ретрокомпьютинг. Вроде MSX. И я бы делал это факультативом.
Современные машины не особо предназначены для того, чтобы ими непосредственно управляли - более того, имеется тенденция к виртуализации, когда даже ОС не видит аппаратуру, а только гипервизор. Уж не говоря о мобильных платформах.
А вот MSX - дело другое. Аппаратные спрайты чего стоили!
| From: | (Anonymous) |
| Date: | December 12th, 2014 - 04:16 am |
|---|
| | | (Link) |
|
Наоборот тенденция к виртуализации показывает какую хочешь аппаратуру. Дает больше возможностей ее изучать даже в отсутствии железа.
| From: | (Anonymous) |
| Date: | December 12th, 2014 - 05:19 am |
|---|
| | | (Link) |
|
Перевести обучение с Паскаля на Си о чем там говорится в комментариях это довольно таки безумная идея. Понятно что в МГУ там сливки сливок. В американских университетах это провалились они сейчас массово учат жабу как первый язык. |
|