LINUX.ORG.RU
Ответ на: комментарий от OldFatMan

Хорошо, но тут мы возвращаемся к вопросу: как донести до школоты, что надо вначале осилить дискрет, а потом только писать хелловорлд?

netcat ★★
() автор топика
Ответ на: комментарий от netcat

А я не знаю. Я слаб в методиках обучения. Да и с школьниками почти не имел дела. А когда имел дело, то критерий у меня был такой: если хочет знать и рвётся из штанов, то я помогу, чем могу, расскажу и покажу, что знаю. Если особого рвения не видно, то до свидания.

Может, стоит показать пару хелловордов, а потом как-то сформулировать идею: «а если хотите писать более сложные и интересные программы, то для этого надо сейчас немного отвлечься от кода и кое-что подтянуть в теории». Только преподнести это более элегантно и привлекательно, у меня так не получается. Тут уже педагогическое мастерство требуется.

И в дальнейшем не долбить голой теорией, а проецировать эту самую теорию на практику. Имхо, это возможно (подробнее сейчас не готов сказать). Может, методики такого подхода к обучению в инете поискать.

OldFatMan
()
Ответ на: комментарий от OldFatMan

вещества

Черт, уже читаю и вижу это

for x ⋲ M do
    P(x)
end

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

M = ["Привет", "OldFatMan", "и", "anonymous"]

for x in M:
    print(x)
netcat ★★
() автор топика
Ответ на: комментарий от wbrer

Ну в этом направлении одного энтузиазма хватит. Тут главное увлечь. А там и грамота, вместе с учениками, придёт.

До того как она придет он уже многим мозги поломает. Пусть сначала подучится) Начинание хорошее, но его надо правильно реализовать, а не так как у нас это обычно делается. Сама по себе хорошая идея без реализации ничего не стоят.

anonymous
()
Ответ на: комментарий от netcat

netcat

Моя цель - дать представление о принципах программирования, работе с системами автосборки(CMake) и контроля версий(git).

угу. это обычный школьный дебилизм - изучать интегрирование/тригонометрию с теми, кто не осилил арифметику. Кому это надо-то? Изучите bash, и хватит. Кому надо - сами осилят CMake & Git (кстати, почему не ртуть? она проще. Хотя тоже не нужна).

drBatty ★★
()
Ответ на: комментарий от ms-dos32

НЕущербный язык легко применяется не только как визуальная рисовалка всяких окошек

Формочки рисуют в IDE/Builder'e а не в языке. Хоть научись понятия отличать. А так - учебник по WinAPI в зубы, если уж мелкомягкий фреймворк совсем никак не понимаешь. Ну а так по теме - напиши мне на ASM (что может быть более полноценно чем он?!) скажем систему документооборота в течении недели. С клиентом и сервером, полноценным гуем, полной докой. Желательно, чтобы она при этом поддерживала гибкую настройку. Выдерживать должна нагрузки. Иметь систему резервного копирования, откатов и прочий фарш. Интерфейс красивый, оконный. Через неделю буду рад почить листинги.

Ты путаешь BASIC ,PureBasic и VB, которые различаются между собой кардинально (сам писал на всех трех).

Я ничего не путаю и в отличие от тебя застал времена еще того самого бейсика. А то, что они делались под разные задачи....ну так об этом писал:) И да, неужели, реализации одного языка, которые имеют дцать лет разницы различаются! Америку открыл. Пойми одну вещь: есть разработанный достаточно давно язык Basic, который изначально разрабатывался как инструмент обучения программированию. Из-за своей простоты (в том числе синтаксической) он вызвал интерес и стал развиваться. Над базовым синтаксисом начали делать «надстройки» из новых фишек и библиотек. Делали это разные конторы. Естественно продукт на выходе отличался. Ну это как Smalltalk-80, Cincon Visual Works, Squeak! и скажем IBM Visual Age. Поверь, отличаться они будут хотя бы набором классов. Ну или более простой для тебя пример - Pascal, FreePascal и Object Pascal. Ну можно вспомнить Oberon и Oberon-2. Рефал и Рефал-5, Рефал-5 и прочие...Языки развиваются, появляются новые реализации. Языки одной группы принято называть «семейством языка Х», а его конкретные реализации «диалектом» (пусть грубо, но смысл попытался передать).

По гамбасу: Gambas is a free development environment based on a Basic interpreter with object extensions, a bit like Visual Basic™ (but it is NOT a clone !).[копипаста с оф.сайта - читай их а не вики]

По VB, с твоей любимой вики: 1) Язык Visual Basic унаследовал дух, стиль и отчасти синтаксис своего предка — языка Бейсик, у которого есть немало диалектов. -> 2) май 1991 — выпущен Visual Basic 1.0 для Microsoft Windows. За основу языка был взят синтаксис QBasic, а новшеством, принесшим затем языку огромную популярность, явился принцип связи языка и графического интерфейса. Этот принцип был разработан Аланом Купером (Alan Cooper) и реализован в прототипе Tripod (также известном как Ruby). Первый Visual Basic был интерпретатором. -> 3)QBasic — диалект языка программирования Бейсик (BASIC), разработанный компанией Microsoft, а также среда разработки, позволяющая писать, запускать и отлаживать программы на этом языке.

Про pure: ну а где я отрицал, что Pure является наследником Basic? Перечитай мой коммент, я говорил о диалектах Basic'a.

anonymous
()
Ответ на: комментарий от ms-dos32

Такое, конечно, есть, но одной схожести VB с бейсиком недостаточно, чтобы использовать VB для компиляции программы на бейсике.

Проблем не возникало когда компилил проги для QBasic. Может у тебя руки не оттуда, но это уже выяснили на второй по моему странице. А 100% совместимости со всеми диалектами нет ни одного языка.

Этот язык существует лишь на одной платформе, используется только для граф.

Эм....Что в твоем понимании графика? Oberon тоже в системном программировании не используют вменяемые люди, а на perl без веществ не пишут ОС. Но это не повод их называть недоязыками. А платформозависимость...Язык делался для определенных коммерческих целей, почему программиста под вынь должна волновать прога, которую вменяемый (не под веществами) человек не будет пускать под *nix?! Не путай коммерческий продукт и со свободным. Чего же ты не придираешься к софту от Android, что он не запускается под всеми платформами? А ведь он чаще всего на Цпп или жабе. Ну и та же асма тоже часто платформо-зависима. Скажешь тот же MASM так уж плох?

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

Прости за грубость, но блин ты дерево. Ты сам сказал ДИАЛЕКТ! У него может отличаться стандартная библиотека как минимум. Как максимум - другие операторы, которые введены в следствие развития языка. Т.е. совместимость синтаксиса в диалекте далеко не всегда 100%-ая. Ты, рожденный дубом и ставший баобом, использовал тоже диалект (VB). Ты бы еще сказал, что CL это не Lisp так как он более развит чем первая версия Lisp'a.

Видимо, ты знаешь, как правильно применять вб, да еще и на лоре, другие бы послали на винфак, но нет, таких упоротых, как ты, сующих всюду свое вб как панацею надо держать в зоопарке-пантеоне, для вечной кормежки. Уровень ненависти 0%.

Где я совал VB как панацею? Я только сказал, что он тьюрингово-полный и может вполне себе хорошо решать те задачи, для которых и был создан и развивается по сей день. Ну и если он полон, то никто не запрещает писать на нем что угодно. Пойми - «можно написать» и «удобно писать» разные задачи - отличаются именно первым словом (КО!). Не веришь? Напиши на упомянутом не раз ASM систему документооборота на вроде Directum ну или клон 1С. Написать можно? Можно! А удобно? Примерно как делать дырки в брюках перфоратором. Если у тебя мозга не хватило, чтобы в простые проги вузовские расковырять и посмотреть как оно на самом деле работает...то что сказать...твой предел html и какой нибудь Парсер студии Лебедева. Ну или приводимый ранее HiAsm

P.S. У меня еда закончилась.

Ты пока и так прекрасно питаешься за счет ограниченности интелекта. Твой слив засчитан.

anonymous
()
Ответ на: вещества от netcat

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

anonymous
()
Ответ на: комментарий от ms-dos32

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

anonymous
()
Ответ на: комментарий от anonymous

он начинает переходить на оскорбления собеседника

Заметьте, я вас напрямую не оскорблял, кроме того, мне абсолютно насрать на происходящее. Это же linux.org.ru :)

ms-dos32
()
Ответ на: комментарий от netcat

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

anonymous
()
Ответ на: комментарий от ms-dos32

А ты думаешь, что твои потуги трогают меня? По крайней мере пока ты не станешь уважаем как тот же Н. Вирт я не вижу смысла прислушиваться к восклицанием очередного быдлокодера. Кстати. В твоем случае - при уличении несостоятельности в «запугивании» переход от грубости к учтивости (обращение в третьем лице), есть тоже нормальная реакция.

anonymous
()
Ответ на: комментарий от anonymous

Я не могу понять - анонимус, который срется с ms-dos32 и анонимус, который оставил мне список литературы - это одно и то же лицо или нет?

netcat ★★
() автор топика
Ответ на: комментарий от netcat

В этом и вся прелесть ЛОРа, но да - одно и то же. Надо же себя как-то развлекать, вот ms-dos32 подвернулся :-D

anonymous
()
Ответ на: комментарий от anonymous

Я же тебя покормил - тебе мало что-ли?

netcat ★★
() автор топика
Ответ на: комментарий от anonymous

Надо же себя как-то развлекать, вот ms-dos32 подвернулся

А я вот даже толком не понимаю, про что вы срётесь-то? :)

В общем, понятно, что про васик, но имхо, не стоит оно того. Хотя если ради развлечения только, то и про васик сойдёт, на нынешнее безрыбье. :)

OldFatMan
()
Ответ на: комментарий от anonymous

Да это не учтивость, это идиотизм. Кончай сажать бэдблоки на фионе

ms-dos32
()
Ответ на: комментарий от OldFatMan

Нех делать. Тааак. «Из студентов, изучавших Basic практически невозможно сделать настоящих программистов. Они умственно искалечены и оболванены без всякой надежда на исцеление.» Так, не?

netcat ★★
() автор топика
Ответ на: комментарий от netcat

Так.

Сравним с оригиналом:

«It is practically impossible to teach good programming style to students that have had prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.»

Вроде, всё совпадает. :) Да начнётся срач! Точнее: продолжится.

OldFatMan
()
Ответ на: комментарий от netcat

Как бы еще не попасть под удары банхаммера.

Это за что же?!! О_О

Всё же по теме: программирование, обучение, ЯП vs basic - ничего легальнее для этого форума и выдумать невозможно. :)

OldFatMan
()
Ответ на: комментарий от OldFatMan

Ах так? Ну тогда эталон толстоты:

On Wed, 5 Sep 2007, Dmitry Kakurin wrote:
> 
> When I first looked at Git source code two things struck me as odd:
> 1. Pure C as opposed to Visual Basic. No idea why. Please don't talk about portability,
> it's BS.

*YOU* are full of bullshit.

Visual Basic is a horrible language. It's made more horrible by the fact that a lot 
of substandard programmers use it, to the point where it's much much 
easier to generate total and utter crap with it. Quite frankly, even if 
the choice of C were to do *nothing* but keep the Visual Basic programmers out, 
that in itself would be a huge reason to use C.

In other words: the choice of C is the only sane choice. I know Miles 
Bader jokingly said "to piss you off", but it's actually true. I've come 
to the conclusion that any programmer that would prefer the project to be 
in Visual Basic over C is likely a programmer that I really *would* prefer to piss 
off, so that he doesn't come and screw up any project I'm involved with.

Visual Basic leads to really really bad design choices. You invariably start using 
the "nice" library features of the language like STL and Boost and other 
total and utter crap, that may "help" you program, but causes:

 - infinite amounts of pain when they don't work (and anybody who tells me 
   that STL and especially Boost are stable and portable is just so full 
   of BS that it's not even funny)

 - inefficient abstracted programming models where two years down the road 
   you notice that some abstraction wasn't very efficient, but now all 
   your code depends on all the nice object models around it, and you 
   cannot fix it without rewriting your app.

In other words, the only way to do good, efficient, and system-level and 
portable Visual Basic ends up to limit yourself to all the things that are 
basically available in C. And limiting your project to C means that people 
don't screw that up, and also means that you get a lot of programmers that 
do actually understand low-level issues and don't screw things up with any 
idiotic "object model" crap.

So I'm sorry, but for something like git, where efficiency was a primary 
objective, the "advantages" of Visual Basic is just a huge mistake. The fact that 
we also piss off people who cannot see that is just a big additional 
advantage.

If you want a VCS that is written in Visual Basic, go play with Monotone. Really. 
They use a "real database". They use "nice object-oriented libraries". 
They use "nice Visual Basic abstractions". And quite frankly, as a result of all 
these design decisions that sound so appealing to some CS people, the end 
result is a horrible and unmaintainable mess.

But I'm sure you'd like it more than git.

			Linus

netcat ★★
() автор топика
Ответ на: комментарий от netcat

Нет, это реакция, которую он от меня ожидает, если я правильно понял.

ms-dos32
()
Ответ на: комментарий от netcat

Прочитай копипасту внимательно.

А надо? :) Я по Ъ-вски первый и последний абзац по диагонали пробежал и подумал, что это очередной тролль-сеанс Линуса.

OldFatMan
()
Ответ на: комментарий от netcat

Ну таки прочитал. И всё же это довольно-таки стандартный троллинг Линуса в защиту С и против VB «и прочего ООП». Ты имеешь в виду ЦПП (вместо VB), потому что упомянуты STL и Boost? Ну и это не новость, это вполне в духе Линуса. И про любителей VB(ООП), которых он «piss off» - тоже не впервой.

И тогда [вброс]:

А чо, Линус правильно говорит.

[/вброс]

PS: А может, я ещё что-нибудь должен был вывести из твоей копипасты? :)

OldFatMan
()
Ответ на: комментарий от anonymous

Выносите поциента: он не оскорбляет, он указывает на очевидные вещи.

ms-dos32
()
Ответ на: комментарий от OldFatMan

Да, должен. В оригинальной копипасте был c++. Я просто прошелся по ней вышеуказанной командой.

netcat ★★
() автор топика
Ответ на: комментарий от OldFatMan

Чем больше читаю Новикова, тем больше удивляюсь. Я этим фиг знает сколько времени пользуюсь

x = [x for x in range(1, 10)]
И это математика?

netcat ★★
() автор топика
Ответ на: Вещества от netcat

Гуляй-ка ты читать про машину Тьюринга, про тезис Черча-Тьюринга, про категории и системы типов и в конце концов про subtyping. Есть в дискретке и про императивное программирование, и про ООП, и про много чего еще, о чем ты в жизни ни разу не слышал, но без чего к программированию близко подпускать нельзя.

anonymous
()
Ответ на: комментарий от netcat

Это ФП, который, как ты сам заметил, относится к математике.

dave ★★★★★
()
Ответ на: комментарий от OldFatMan

И да, есть одна проблема. Я-то Новикова изучу полностью(честно-честно), но на прочтение всего курса школоте уйдет слишком много времени. Что можно относительно безболезненно обойти вниманием?

netcat ★★
() автор топика
Ответ на: комментарий от mopsene

>Паскаль, С, Ассемблер

Мне Ассемблер проще дался...

luke ★★★★★
()
Ответ на: комментарий от netcat

И это математика?

Не сомневайся. И это математика.

Я же тебе говорил, что при чтении ты достаточно часто будешь удивляться: «о, а вот этим я пользовался, но особо не задумывался над сутью», «о, а вот как надо было, а я велосипедил», «о, а вот ответ на тот старый вопрос» и т.д.

OldFatMan
()
Ответ на: комментарий от netcat

Ой, сложный вопрос. Вот я бы ничего не стал обходить вниманием. У Новикова всё достаточно компактно изложено - 300 страниц - это очень немного.

Ну разве что для самого первого знакомства можно бы не зарываться в алгебраические структуры (глава 2) и в кодирование (глава 6). Это имхо. Возможно, более опытные товарищи меня поправят, но я бы рекомендовал именно этим темам уделить минимум внимания (но это только для вводного курса).

OldFatMan
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.