LINUX.ORG.RU

Вышел первый том книги А. В. Столярова «Программирование: введение в профессию»

 , ,


24

11

На официальном сайте А. В. Столярова объявлено о выходе первого тома книги «Программирование: введение в профессию». Первый том, озаглавленный «Азы программирования», включает две части: «Введение» и «Язык Паскаль и начала программирования». Обе части, как и вся книга в целом, ориентированы на использование ОС Unix (в основном Linux); в предисловии автор, обращаясь к «коллегам-преподавателям», заявляет, что книга вряд ли будет им полезна, если командная строка ОС Unix не станет их основным инструментом для повседневной работы с компьютером.

Электронная версия первого тома (PDF) доступна на сайте в открытом доступе.

Книга «Программирование: введение в профессию» примечательна тем, что средства на её написание и издание были собраны через краудфандинговую кампанию. По словам автора, это был единственный вариант, позволяющий написать книгу и предоставить открытый доступ к её электронной версии. Приём пожертвований на сайте А. В. Столярова продолжается, поскольку средств для издания последующих томов к настоящему моменту недостаточно.

Как сообщалось ранее в новостной ленте сайта, второй том книги, который выйдет под заголовком «Низкоуровневое программирование», уже практически готов к печати. В него войдут часть о программировании на языке ассемблера NASM для ОС Unix, а также часть, посвящённая языку Си. Пока неясно, войдёт ли в этот же том часть, рассказывающая о принципах построения операционных систем и о возможностях, доступных на уровне системных вызовов ОС Unix, или же эта часть будет оформлена как отдельный том. Сроки издания второго тома также пока неизвестны, поскольку зависят от дальнейшего хода краудфандинговой кампании.

>>> Подробности

★★★

Проверено: anonymous_incognito ()
Последнее исправление: CYB3R (всего исправлений: 5)

Ответ на: комментарий от ASM

Одно пропущенное слово вставить не догадались? «makefile это нормальная часть исходного текста программы, с которой как минимум можно, а возможно и стоит работать без всяких тяжеловесных IDE»? Вроде очевидная подстановка, более чем, настолько, что я мог такую лакуну и сознательно допустить. Или вы стОит, как стоИт прочитали?

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

не понятно ничего

Кому другому я бы написал «У меня для тебя плохие новости», но тебе напишу прямым текстом:

Смысл его сообщения предельно ясен и однозачен. Здесь так изъясняется большая (и лучшая) половина участников сайта. Учись читать и *понимать* написанное в таком виде, если хочешь читать этот форум и дальше.

Даю подсказку - вверху сообщений стоит ссылка «ответ на комментарий». Она стоит там не для красоты.

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

Смысл его сообщения предельно ясен и однозачен.

Кому?

Здесь так изъясняется большая

Пруфы?

(и лучшая)

В чём?

Учись читать и *понимать* написанное в таком виде

Я лучше спрошу

если хочешь читать этот форум и дальше.

А то что, забанят?

Даю подсказку - вверху сообщений стоит ссылка «ответ на комментарий».

Она мне не помогла

Вы достаточно сыты?

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

Кому?

Всем, кроме тебя, очевидно.

А то что, забанят?

А то пополнишь собою когорту местных «особенностей». Тех, которые настолько писатели, что уже совсем не читатели.

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

Одно пропущенное слово вставить не догадались?

Нет, не догадался. Спасибо за разъяснение.

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

Коды Хаффмана и архивирование были бы действительно важны для начинающего программиста, если бы он постоянно имел дело с оптимально кодированными данными. Не удивительно, что они ни разу не упоминаются в книге. Зато мы видим следующее:

«При работе с современными компьютерами двоичные цифры ( биты ), как правило, объединяются в группы по восемь цифр ...»

"... в узлах которой располагались ферритовые колечки; каждое колечко хранило один бит информации ..."

«наименьшей единицей информации в компьютерной обработке является бит; само слово бит (bit) образовано от английских BInary digiT, то есть «двоичная цифра» ... бит — это количество информации, которое уменьшает неопределённость вдвое.»

и далее идут «поясняющие» рассуждения о распределениях вероятностей, очевидно показывающие, что к двоичным цифрам биты информации никакого отношения не имеют.

Видимо случайно единица измерения информации - она же двоичная цифра, нет? Никаких пояснений по этому поводу я не вижу. Впрочем как нетрудно видеть вы сами путаетесь в показаниях, молчаливо смешивая эти два смысла. Педагогический талант налицо - простые вещи превращаем в кашу.

cawa
()

Кстати на тему каши в голове. Для меня очень долго было магией то, как разгружается компьютер. Везде было написано что-то вроде «При запуске запускается BIOS, а оттуда ОС». Что такое BIOS было всегда загадкой. А по факту это обычная программа лежащая в EEPROM.

А в свете того, что сейчас мир переходит на UEFI, под которую можно даже браузер портануть. Было бы полезно сделать акцент, что все же первой программой запускается именно загрузчик (BIOS, UEFI, u-boot). А уж ОС грузится из него. Это разделы 1.3, в том числе «1.3.5. Резюме.»

Ещё из текста можно сделать вывод, что память бывает либо ROM либо дисковая. Либо постоянная. Иными словами EEPROM не существует.

См. «Память компьютера ни в коем случае не следует путать с дисковыми запоминающими устройствами, где хранятся фай- лы.»

«Некоторые блоки памяти могут физически представлять собой не оперативную, а постоянную память. Такая память не поддерживает операцию записи, то есть изменить её содержимое невозможно, во всяком случае, выполнением операций процессора; с другой стороны, информация, записанная в такую память, не стирается при выключении питания.»

А вот собственно от этого будет заблуждение: «Обычно в постоянную память при изготовлении компьютера записывается некая программа, предназначенная для тестирования аппаратуры компьютера и подготовки его к работе. Эта программа начинает выполняться, когда вы включаете компьютер; её задача — найти, откуда можно загрузить операционную систему, затем загрузить её и отдать ей управление;»

Т.е. выходит что BIOS/UEFI хранится в ПЗУ, и не имеет возможности к перезаписи.

Если уж вы описываете про память, транзисторы и историю, то упомяните перепрограммируемую память, в том числе стирающуюся УФ, одноразовой записи (запись при повышенном напряжении), перепрограммируемую и тп. А то человек будет смотреть на USB Flash и не понимать что это такое, пытаться услышать там звук крутящегося диска....

В свете того, что, сейчас модно отправлять компьютер в «сон», было бы полезно указать почему именно ROM теряет информацию при отключении питания. Чтобы студенты понимали, что выключить питание можно только частично...

ASM ★★
()

Читал-читал, обещал себе не отвечать (и вообще никогда не влезать в срачетопики), но увы... Отвечу всем и сразу

Уважаемый коллега Croco (ничего, что я к вам так? В нашем учебном заведении было принято обращаться друг к другу «коллега», несмотря на возраст), без сомнения, усилия, которые вы затратили на сей труд, заслуживают уважения. Без сомнения, свою позицию стоит отстаивать, иначе не имеет смысла иметь позицию вообще. Но, может, имеет смысл делать это менее категорично, не размахивая направо и налево своим 16-годовым опытом? Я как бэ имею что возразить. У нас, например, на нашей отдельно взятой кафедре, с нашим отдельно взятым ППС, в отдельно взятый исторический момент замена паскаля на си на первом курсе дала очень положительные результаты. На фоне общего упадка качества контингента нам удавалось ко второму курсу выращивать людей, которые достаточно свободно в массе своей обращаются с указателями. Ещё раз повторяю, в наших отдельно взятых условиях. Я уже 3 года не преподаю, мои коллеги тоже ушли кто на нормальную работу, кто в другой вуз, так что как оно сейчас (особенно с учётом дальнейшей деградации контингента) - не знаю. Но при мне и остаток специалистов, и новые бакалавры после первого курса показывали себя очень хорошо в азах программирования. Без паскаля. А ещё объяснять неспособность обучить человека чему-то словами «он пришёл к нам и не умеет программировать» - неправильно. Если бы человек умел программировать - зачем бы он пошёл в вуз? Хотя я с вами согласен, что тех немногих уже умных, которые поступают в вузы, учить - только калечить, с остальными, увы, придётся мучиться, выполняя свой долг, «других студентов у меня для вас нет»

Уважаемый представитель индустрии ASM, без сомнения, тесты, VCS и прочие финтифлюшки важны для процесса. Но, как вам уже неоднократно было сказано, нельзя кормить студента сразу с 5 ложек. Вы признали, что не знаете, как научить человека, так хоть послушайте чужой опыт (впрочем, имеете полное право не согласиться, я вас не пытаюсь убедить в неправоте). Я вёл 5 курсов, среди которых были и связанные с програмированием. По моему опыту, студент должен пройти через все исторические шаги (хорошо, через почти все, через основные вехи), чтобы получился зайчаток специалиста. Иначе получается послушник веры тестов и IDE, «а чо я должен всё запоминать», «мне студия автокомплит не сделала» и иже с ними. Я на первом курсе сдавал экзамен по паскалю на бумажке и по сей день этому рад (нет, не стокгольмский синдром). Это дало мне возможность (1) умозрительно писать и отлаживать код и (2) понимать, где IDE может сэкономить моё время, а где она может его только отнять впустую. Кроме того, я могу писать программы в блокноте, пользуясь только манами, что в ряде случаев даёт мне преимущество перед людьми, которые этого не умеют. Судя по тому, что студенты, которых среди прочих учил и выпускал я, достаточно успешны в профессиональной отрасли (среди тех, кто стал работать по специальности, конечно), я (и мои коллеги) если не прав, то нахожусь на пути к истине. Ступенчато, по шагам, показывая проблемы и объясняя, как додумались эти проблемы решать

hc
()

Слишком много текста получилось, разобью на 2 сообщения

Куча людей, которые ратуют за нужды индустрии (не буду перечислять все ники, кроме того, там ещё 2 или 3 анонимуса затесались), опять же, да, конечная задача вуза - выпустить человека, полезного индустрии. Но есть одно «но» - в каком качестев человек должен быть полезен? Как code monkey? Так это не задача вуза. Какую технологию, какой язык, какой фреймворк надо учить, чтобы по выходу стать полезным для индустрии сразу (особенно учитывая то, что пачка фреймворков и языком появляется и умирает каждый месяц). Разгадка в том, что вуз не учит заколачивать гвозди молотком. И канделябром заколачивать тоже не учит. Вуз учит (должен учить) примерно так:

  • есть задача скрепления двух предметов между собой;
  • для решения этой задачи люди придумали среди прочего гвоздь, работа которого основана на силе трения;
  • чтобы применить гвоздь, надо воспользоваться неким тяжёлым и прочным предметом, причём тяжесть предмета надо выбрать так, а прочность - так, заколотить гвоздь куском замороженного масла не получится;
  • например, возьмём молоток (который тоже бывает разным), молоток работает так-то;
  • все возьмите молоток (Иванов и Петров могут сразу взять кувалду, они уже себе гвоздь в ногу молотком заколотили и знают, как это) и повторяйте за мной;
  • теперь вот вам два произвольных предмета и коробка гвоздей - выберите подходящий инструмент и, применяя уже освоенный метод, скрепите эти два предмета гвоздями.

Вот, только после этого можно открыть тайну, что гвозди применимы не везде, что ещё есть шурупы, болты и клей, и что вообще можно изготавливать детали произвольной формы без необходимости крепления. Вот тогда станет понятно. А можно научить пользоваться модным розовым молоточком с держателем гвоздей или вообще электрическим гвоздемётом, при этом совершенно не объясняя, а почему именно так. И вот выходит такой выпускник гвоздезабивательного вуза, радостный обладатель корочки «умеет забивать гвозди гвоздемётом», а в том месте, куда он работать устроился, через месяц перешли на ЖД-костыли и кувалдометры огромного размера. А чувак и не знал, что кувалдометром махать надо, он привык кнопку нажимать. А в полях, оказывается, и электричества-то нет. Короче, я к чему: вуз не учит технологии какой-то конкретной, вуз использует технологии, языки, фреймворки, операционные системы, среды программирования в качестве иллюстрации. Конечно, стараются выбирать наиболее популярные и/или наиболее полезные технологии, но это не всегда возможно, а иногда просто вредно. Ну мог я людей на распределённых системах сходу учить мапредьюсу и устанавливать хадуп, а толку-то, если при первой же проблеме люди не будут знать, почему пробелма возникла и что с ней делать?

И ещё куча людей, которые кричат что-то обидное про преподавателей и про авторов литературы, к вам обращаюсь в последнюю очередь. Я не буду спорить, есть плохие преподаватели. Я не буду спорить, есть плохая литература. Я не буду спорить, есть плохие вузы. Но вот момент, который вы массово забываете - есть плохие студенты. Плохие студенты берутся из разных мест: учились в плохой школе (пожалуй, вторая по популярности причина), обманули/дали взятку на ЕГЭ, просто случайно повезло, просто бездельники по жизни, прячутся от армии в вузе (пожалуй, первая по популярности причина) и так далее. Но эти плохие студенты мало того, что сами не хотят учиться, как бы преподаватель ни напрягался, они ещё и другим мешают учиться, распространяя дух уныния, безделия и так далее. Меня такие студенты очень не любили, а я взаимно не любил их. К сожалению, у нас был слишком лояльный деканат, у меня были кадры, которые сдавали курсовую ПОСЛЕ сдачи госэкзамена, поэтому мне не удалось устранить от процесса людей, которые в этом процессе не заинтересованы. Однако у таких студентов была нелёгка жизнь, и я считаю, что это правильно. Учёба - это не «я рот открыл, а галушки туда сами запрыгивают», учёба - это тяжёлый труд. И преподавание - это тяжёлый труд, кроме того, очень плохо оплачиваемый и отнимающий огромное количество времени. Я не буду плакаться, уже все слёзы успел выплакать, но это всё - серьёзный барьер для людей, которые могут и хотят преподавать, но в вузы не пойдут, потому что ценят себя и своё время. Короче, никогда не надо забывать, что (а) у монеты две стороны и (б) студент всю картину не видит, однако смеет строить какие-то выводы, основываясь на неполном понимании ситуации

А вообще, устроили базар. Ну вышла ещё одна книжка. Ну хорошо, пусть будет. Автор получил + в статистику и, возможно, чуть-чуть денег (хотя, скорее всего, автор в глубоком минусе). Студенты получили ещё одно учебное пособие, возможно, кому-то оно поможет. Во всяком случае, хуже не будет. А вы уже накинулись, ни дня не преподавая в вузе, советовать, как и что надо было написать. Есть что добавить/изменить - формулируйте грамотно и отправляйте автору. Нечего - значит, надо прикрыть рот и пофлудить где-нибудь ещё. Возьму на себя смелость утверждать, что большинство отписавшихся в этой теме (в том числе и я) книгу не то, что не прочитали, а даже не открывали

У меня всё, я кончил

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

В большинстве, вы всё правильно написали.

А вы уже накинулись, ни дня не преподавая в вузе, советовать, как и что надо было написать. Есть что добавить/изменить - формулируйте грамотно и отправляйте автору. Нечего - значит, надо прикрыть рот и пофлудить где-нибудь ещё. Возьму на себя смелость утверждать, что большинство отписавшихся в этой теме (в том числе и я) книгу не то, что не прочитали, а даже не открывали

Тут я с Вами немного не соглашусь. Автор вывалил новость о том, что книга была издана. Лично я это понимаю как «коллеги, я тут книгу написал, оцените». Кто-то (ну это нормально для ЛОР) сказал что не читал, но осуждаю.

Остальные потратили своё время на то, чтобы прочитать всю или часть это книги, а потом ещё начали тратить своё время, чтобы указать автору на то, что его некоторые утверждения являются либо бездоказательными, либо абсурдными, либо двусмысленными. Вместо того, чтобы обсудить и разобраться в этом, автор ушёл в глухую оборону, аргументы которой заканчиваются тем, что у меня опыт, или вы тупой и ничего не понимаете (хотя нигде в книге не написано, что читать её должны только умники). Вот и получается, что заинтересованные в это книге люди пытаются всеми возможными средствами (играя в умных, тупых, добрых и злых) доказать ему, что он неправ.

Уважаемый представитель индустрии ASM, без сомнения, тесты, VCS и прочие финтифлюшки важны для процесса. Но, как вам уже неоднократно было сказано, нельзя кормить студента сразу с 5 ложек.

Тут дело в другом, автор в книге 14 листов рассказывает историю ЭВМ. Около 5 листов историю UNIX. Около 8 листов общие принципы работы ЭВМ. 48!! листов о том как работать в UNIX системе. Ему говорят, добавьте пару листов о том, что есть git, а он говорит, что это слишком сложно для студента.

Аналогично с тестами. Автор рассказывает 200 листов про математику, 200 листов про программирование. Причём не просто, что такое if, а рассматривает, не тривиальные алгоритмы, которые написав студент наверняка сделает ошибку и будет тратить время на её поиск и отладку. А потом, в конце книге как бы говорит: а вы студенты дураки, если не писали тесты когда отлаживались.

hc, в общем случае, я с вами соглашусь, но в частном случае, если смотреть на конкретную книгу, ваши утверждения мне кажутся абсурдными.

Есть что добавить/изменить - формулируйте грамотно и отправляйте автору.

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

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

просто бездельники по жизни, прячутся от армии в вузе

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

В ВУЗ-е, насколько я понял, по любому предмету есть норматив, если студент отказывается учится, нужно просто спросить его на экзамене, если он знает минимальный норматив то пропустить, если не знает, то отправить на перездачу (и в конечном счёте отчислить). При отчислении он освободит место другим людям, которые может поглупее, но хотят учиться.

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

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

А ещё более забавная штука в том, что если бы всё было по «нормативам», то (как я писал в предыдущем сообщении) немало студентов были бы отпущены на улицу. Проблема в том, что финансирование подушевое => вуз не заинтересован в отчислении студентов. Мне ясно дали понять, что я могу сколько угодно ставить двойки и не закрывать сессии, но никто этих людей выгонять не будет. Однажды у меня был случай с двумя уж очень наглыми студентами, которые считали, что им всё может сойти с рук. У них не было ни одного шанса сдать зачёт или экзамен, и они его не сдали. Однако в последний момент оказалось, что они работают с одним большим человеком, а потому подписи в ведомости напротив их фамилий магическим образом появились. Я тогда обиделся, но не ушёл, а надо было бы уйти. Позднее я снова создал этим студентам проблемы на другом предмете, но и там они как-то ускользнули

И есть даже ещё более забавная штука. Да, студенты уходят и теоретиески должны освобождать места для тех, кто хочет перевестись с контракта на бюджет или просто с других кафедр. Но вот же ж фигня-то какая - за 5 лет учёбы, 3 года преподавания и 3 года просто поддерживания нормальных человеческих отношений с коллективом я не помню ни одного перевода. Так что места-то освобождаются, но занимать их то ли не дают, то ли никто не торопится

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

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

С тестами в книжке есть засада. История ЭВМ и ОС - это часть курса, который называется «введение в специальность», и потому, коли уж книжка так и озаглавлена, вполне легитимно изложена. Вопрос о том, правильно ли озаглавлена книжка и какая у неё цель и аудитория, оставляю на совести автора. Надо ли давать n страниц на это или m - опять же на усмотрение автора, ибо только автору известно, насколько подробно и глубоко в историю тот хочет углубиться, чтобы донести свою мысль до читателя. Например, на курсе ИБ я начинал рассказ с сигнальных костров, весьма быстро, впрочем, переходя к современным средствам передачи информации.

Может ли студент-первокурсник успешно обучаться дальше, не имея хотя бы отдалённого представления об истории вычислительной техники? Пожалуй, нет. Может ли студент-первокурсник успешно обучаться дальше, не имея хотя бы отдалённого представления о тестах и VCS, а также вообще обо всех средствах групповой работы? Пожалуй, да, ибо он узнает это чуть позже, а именно тогда, когда попробовав работать без этих средств в команде, студент огребёт проблем и конфликтов. И вот тут появляется волшебный преподаватель и говорит, что рвать волосы на стремительно седеющей голове не надо, ибо есть тесты и репозитории. И всё заходит как по маслу. Вот, например, учебный план, который у нас на кафедре был - https://drive.google.com/file/d/0B1dCjT8_c7Fgb1Q0MUJkZDFKdFU (я один из авторов, готов ловить гнилые помидоры). Средства групповой работы давались на 6 семестре, если не ошибаюсь, в рамках большого курса, посвящённого программной инженерии как таковой. Но к этому моменту студент осваивал алгоритмы, структуры данных, хотя бы один язык (Си в нашем случае), получал достаточно сведений об аппаратуре и даже успевал побиться головой об ассемблер, и вот после всего этого студент получал сведения о том, как и чем живёт индустрия разработки ПО. А потом, сверху, ещё и получал сведения о жизненном цикле систем (в широком смысле этого слова) в рамках курса системной инженерии, но на тот момент вдобавок к программированию студент осваивал сети и ОС, то есть мог представлять в голове сложный программно-аппаратный комплекс. И то этот план работал неидеально, но работал, особенно в условиях «прицепных» кафедр, которым мы обязаны были отдать часть курсов и которые к программированию и системам имели отношение чуть более, чем никакое, и в условиях клинической нехватки часов. Если бы мы давали тесты на 1-2 семестре (ещё вопрос, в какой курс надо было бы их запихать), мы бы и этого не достигли

Надеюсь, вопрос о том, когда и что давать, я осветил достаточно полно, со ссылками на документацию и личный опыт

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

Но, может, имеет смысл делать это менее категорично, не размахивая направо и налево своим 16-годовым опытом? Я как бэ имею что возразить. У нас, например, на нашей отдельно взятой кафедре, с нашим отдельно взятым ППС, в отдельно взятый исторический момент замена паскаля на си на первом курсе дала очень положительные результаты.

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

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

в большинстве случаев объясняется избранными способами контроля полученных навыков; попросту говоря, они не с указателями обращаться умеют, а зачёты и экзамены сдавать — и делать это так, чтобы создать впечатление, что они что-то там умеют. Увы. В обратном меня можно убедить только примерно как того Фому — показав мне группу студентов, про которых предполагается, что они раньше не программировали, потом их учили сразу на Си, и они сейчас нормально обращаются с указателями. Побеседовав с каждым из них с глазу на глаз и убедившись, что они действительно понимают, что делают, я признаю свою неправоту, но не раньше. Пока я такого нигде и никогда не видел и на основании своего опыта уверен, что так не бывает.

Пока я вижу, как на нашем «экспериментальном» первом потоке, где как раз вот это вот делается, в начале первого курса преподаватели вынуждены смешивать C и C++ ради cin/cout — только затем, чтобы избежать пресловутого амперсанда в scanf'е.

Ну и ещё:

конечная задача вуза - выпустить человека, полезного индустрии

Лично для меня индустрия — этап пройденный (был, видел, бабло зарабатывал, стало скучно, ушёл в академическую среду, ни разу не пожалел за минувшие с тех пор 13 лет), и о пользе для индустрии я думаю в последнюю очередь. Основной продукт университетского обучения — учёные и преподаватели; инженеры — продукт побочный, хотя и полезный.

Ну а «профессиональное высшее образование» — это миф. Профессию в ВУЗе не дают и дать не могут. Только кругозор и эластичность мозга.

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

К сожалению, удовольствия личной беседы доставить не могу как минимум из-за географической разницы между МГУ и ЮУрГУ :-) Да и нет меня там, так что я не настаиваю, корни категоричности в этом вопросе мне понятны, как и приемлемый способ опровержения

Сам лично из академической среды сбежал. Нищета, отсутствие нормальных задач (ну не теоретик я, а прикладник, диссер писал про энергосбережение, но не написал, уехал), общая беспросветность, мудаки и ленивые сволочи на каждом шагу, ложь и воровство, ужасная кастовость. Фу. Может, в Москве/МГУ не так, но в моём случае именно так было

Ну а насчёт профессии не соглашусь. Ну, понятно, что вы думаете об аббревиатуре ВПО, но однако ж она существует. Хочу задать встречный вопрос: а где и как тогда надо готовить инженеров? Система ПТУ, далее если бы она существовала, не рассчитана на выпуск инженеров, у которых на науку не стоит

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

Основной продукт университетского обучения — учёные и преподаватели; инженеры — продукт побочный, хотя и полезный.

То есть, по-вашему, функция системы высшего образования - самовоспроизводство? Зачем каждый год выпускать несколько сотен преподавателей и учёных? И как тогда выпускать инженеров?

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

Про академическую среду — ну, я имел «удовольствие» некоторое время проработать в ВУЗе третьего эшелона (зарабатывал звание) — оттуда я бы тоже сбежал, если бы там было моё основное место работы. Так что вполне вас понимаю, даже одобряю — всё вы правильно сделали.

а где и как тогда надо готовить инженеров

Прямо-таки за всех инженеров, наверное, всё-таки не скажу, а программисты делают себя сами, и это единственный способ.

Кстати, для самоучек моя книжка как раз и предназначена. Тут почему-то в обсуждении предполагают, что она написана для студентов (кто-то ещё уточняет, что для первокурсников) — ну так это не так. Она даже не учебник. Я пишу для тех, кто хочет сам стать программистом.

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

То есть, по-вашему, функция системы высшего образования - самовоспроизводство?

Почему «само"воспроизводство? Учёные нужны не только в ВУЗах, есть ещё разнообразные научные организации.

Зачем каждый год выпускать несколько сотен преподавателей и учёных?

Их не получится несколько сотен. Там отбраковка очень высокая, у нас вот на курсе 340 человек, из них пара десятков на что-то серьёзное годится, а во что-то серьёзное превращается в итоге и того меньше. Из остальных на выходе получается человек с университетским образованием, что тоже неплохо. Я даже больше скажу, этих вот „слишком много“ быть не может.

И как тогда выпускать инженеров?

Никак. Человек, имеющий высшее образование, может сам себя сделать инженером, если захочет, или его сделают коллеги по работе, если он найдёт тех, кто на готов взять себе стажёра (обычно с этим проблем нет, умных людей везде не хватает). В некоторых случаях инженером себя может сделать человек, не имеющий высшего образования (редко, но бывает, особенно в IT). Во многих случаях человек, имеющий высшее образование, инженером не становится.

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

А, теперь я понял. Ну да, согласен, человек с университетским образованием при некоторых обстоятельствах [1] эквивалентен инженеру, при некоторых [2] - учёному, при некоторых [3] - преподавателю. А при некоторых - так и остаться просто человеком с образованием. Но вот можно ли в одном месте и на одном отрезке времени в 4 года (берём только бакалавриват, магистратура для продолжающих косить от армии и для тех, у кого на науку стоит) совместить обстоятельства, при которых одновременно [1], [2] и [3] происходит - вопрос

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

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

Человек с университетским образованием всегда полезен, даже если он работает сейлзом в магазине, он и это сделает правильнее, чем кто-то другой. Но вот инженера вы в ВУЗе не сделаете. Ну невозможно это. И не надо пыжиться, особенно если учесть, что среди преподавателей как раз инженеров-то почти что и нет. «Бывшие» есть (вроде меня), и их как-то мало.

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

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

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

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

Сейчас все называются просто «бакалавры» и «магистры». А учить совсем уж «абстрактному» (в смысле не имеющему отношения к реальности) не получится, поскольку его для этого нужно придумать. Научить инженера можно на производстве. Обычно это получается из хорошо соображающего и обученного тем самым абстрактным понятиям человека. Есть, конечно, всякие базовые кафедры на заводах, но и они не решают проблему.

Vudod ★★★★★
()
Последнее исправление: Vudod (всего исправлений: 1)
Ответ на: комментарий от hc

Но нельзя же человека учить без вектора

Почему без вектора? Просто этот вектор не может быть привязан к прагматическим специальностям («профессиям»), поскольку прагматика — это ремесло, а ремесло в учебных заведениях не передаётся, только в мастерской.

А так, по-моему, всё более-менее понятно. Вот у нас в МГУ специальности — «математик», «физик», «химик», «астроном», «биолог», «физиолог»... У нас на ВМК зачем-то дописывают через запятую «системный программист», imho зря это делают, большинство наших выпускников вообще не программисты, и уж точно не системные, а которые программисты — те в любом случае сами научились.

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

Сейчас все называются просто «бакалавры» и «магистры».

Специальность в дипломе указывается, тут вы погорячились.

А учить совсем уж «абстрактному» (в смысле не имеющему отношения к реальности) не получится, поскольку его для этого нужно придумать

Уже придумали. Математика называется.

Научить инженера можно на производстве. Обычно это получается из хорошо соображающего и обученного тем самым абстрактным понятиям человека.

Воооооот :-)

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

Так что не могу согласиться, что инженера сделать нельзя.

Уже давным-давно во всем мире существует накатанная методология производства инженеров, которая включает в себя серьезный проект на последнем году обучения (часто совместный с индустрией), и зачастую стажировку (internship) в компании-лидере-своей-области, или даже в госструктурах / армии.

И в области компьютерных наук тоже понемногу произошло разделение на Computer Science и Software Engineering. Другое дело, что SE оформился, как дисциплина, относительно недавно, и в большинстве случаев преподается специалистами по CS. Но процесс пошел.

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

Но процесс пошел.

Не знаю, куда он пошёл. Когда очередной профессор заявляет, что он тут читает лекции из области Software Engineering, я первым делом ненавязчиво интересуюсь, какой у него личный опыт коммерческого программирования. Почему-то таковой обычно оказывается нулевым.

Смешно это, вот что.

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

А что конкретно вы понимаете под коммерческим программированием? Программирование проприетарного ПО под собственническими лицензиями за деньги? Лично я бы предпочел вообще не иметь такого опыта.

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

Кхм, не хотел траливалить, но: когда очередной доцент заявляет, что он associate professor, то обычно я первым делом очень навязчиво спрашиваю, какой у него h-index. :)

На самом деле, достаточное количество преподавателей SE работали в индустрии, делали пост-док или internship во время Ph.D. во всяких MS / Google / IBM Research (где сами писали код), консультируют компании, имеют свои стартапы и т.д. Не говоря уже о совместном с индустрией попиле грантов, что подразумевает, как минимум, руководство серьезными проектами. И на традиционных инженерных кафедрах (EE, например) ситуация аналогична.

SE, как дисциплина, еще не окончательно оформилась — например, мало где есть программа Ph.D. in SE. Но есть — например, в CMU. Так что процесс пошел.

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

У нас было всё по-крестьянски, без степеней - никто из оригинальных авторов концепции преподавания Software Engineering у нас на кафедре не защитился, хотя попытки были. Один на данный момент - практикующий успешный «коммерческий» программист, второй - практикующий успешный программист, только не знаю, насколько коммерческий, третий ушёл в системную инженерию. Я себя программистом не считаю, хотя код пишу, но и к преподаванию Software Engineering непричастен :)

У нас просто по-другому не прожить. Или ты зарабатываешь деньги на том, что рассказываешь (и рассказываешь в основном потому, что знаешь эту область хорошо и полон альтруистического энтузиазма), или ты прозябаешь в нищете на 5000 руб. преподавательской ставки

С остальными дисциплинами также. Чувак, читающий Hardware Engineering - практикующий и ОЧЕНЬ популярный в городе разработчик электроники. Я, не буду скромничать, был (и есть, только в другом месте) достаточно популярен как Systems Engineer (и читал, соответственно, сети и ОС). Женщина, читающая БД, сама в прошлом разрабатывала коммерческие (и реально много где внедрённые в городе) медицинские системы. Ну и так далее. В общем-то, по-другому инженера и не вырастить, согласен

У нас, правда, перекос был в другую сторону. Инженерией все знают, как зарабатывать, и, соответственно, знают, как её рассказывать, а вот в научном плане, увы, несостоятельны. Но когда я уходил, не стояло задачи продвинуть науку, стояла задача выжить :) Вот и выживали как могли

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

Ну как бэ процесс достаточно давно идёт, больше 10 лет уже [0]. Ну и можно одним глазом на АПКИТ [1] посмотреть, чтобы понимать, что сейчас отрасль хочет

[0] http://www.acm.org/education/curricula-recommendations
[1] http://www.apkit.ru/committees/education/meetings/standarts.php

hc
()
Последнее исправление: hc (всего исправлений: 2)
Ответ на: комментарий от liberte

когда очередной доцент заявляет, что он associate professor

Ну, я в таком случае ненавязчиво хотел бы поинтересоваться, каков, с вашей точки зрения, адекватный перевод терминов «ассистент» и «доцент» на английский. Я всю жизнь считал, что assistant prof. и associate prof. — это как раз оно и есть (и full prof. для нашего «профессора»), но вполне могу ошибаться.

достаточное количество

Ну такие есть, да, но чтобы их было достаточное количество — это, я бы сказал, вряд ли. Ну хотя, конечно, тут вопрос «достаточное для чего».

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

А что конкретно вы понимаете под коммерческим программированием?

Программирование за деньги в коммерческой компании. Лицензия здесь в большинстве случаев иррелевантна и обусловлена косностью менеджмента, а так, чтобы «предпочитать не иметь опыта» — IMHO это должно касаться только разработки «коробочного» софта, такого, который в магазинах в коробках продаётся. Вот это — реальное зло, оно живёт только за счёт копирастии; но этого «реального зла» не так много. Для заказного софта лицензия просто не имеет значения.

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

Точного соответствия нет, конечно, потому что и у них не всё одинаково. Но наиболее адекватный перевод такой: teaching assistant --- это ассистент (без степени), assistant prof. --- это доцент (уже имеет Ph.D. в большинстве случаев), associate prof. --- это профессор в нашем понимании (в Германии нужно habilitation, чтобы занимать такую позицию), у него могут быть аспиранты (даже много), full prof. --- это зав. кафедрой, поскольку он профессор чего-то (причём единственный в своём роде), т.е. по нашему зав. кафедрою чего-то, он может подписывать разные бумажки для своих сотрудников (не только аспирантов) как начальник.

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

http://www.apkit.ru/committees/education/meetings/standarts.php

Очень занятная литература. Судя по документу к 3-тий категории отнесли людей работающих в одиночку, которые не пишут тесты но оформляют код правильно и заносят свои изменения в систему контроля версий. Иными словами, если человек говорит, что программисты в основном работают в одиночку, то его должность «Младший программист» или «техник-программист».

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

Вам так важно оставить последнее слово за собой?

Ну хочется либо подтвердить свою точку зрения, либо опровергнуть. Документ поставил точку, лично для меня. Тесты действительно не нужно делать в первом томе, а вот про git упомянуть очень желательно.

ASM ★★
()
Последнее исправление: ASM (всего исправлений: 1)
Ответ на: комментарий от Croco

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

Точного перевода нет, но доцент соответствует шкале Lecturer — Senior Lecturer — Associate Professor. Assistant Professor и Full Professor не везде есть, но если есть должность Full Professor, то российский профессор это Full Professor, конечно. Assistant Professor (если есть) везде означает что-то другое, это может быть даже Teaching Assistant (который и есть российский ассистент, наверное).

Здесь дело, скорее, в другом. Associate Professor это человек с tenure, то есть обязательно ученый с очень хорошим списком публикаций, мирового уровня, известный зарубежным коллегам и постоянно публикующийся. Эту должность просто так не дают, если речь не о какой-то шараге с политическими махинациями.

Вот продвижение от Lecturer к Senior Lecturer и от Professor к Full Professor это скорее дело времени, хотя тоже есть формальные требования к публикациям.

Предупреждая возможные вопросы: Lecturer это не российский преподаватель, у него обязательно должен быть Ph.D. Ну и понятно, что иногда есть небольшие отличия в терминологии и в шкале — например, Reader в Британии это, по сути, Associate Professor.

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

Ну такие есть, да, но чтобы их было достаточное количество — это, я бы сказал, вряд ли. Ну хотя, конечно, тут вопрос «достаточное для чего».

Достаточное для того, чтобы быть экспертом в соответствующей области исследований и преподавания факультативов, наверное. Погуглите CV известных специалистов в любой области SE (комп. безопасность, например) — практически у всех есть опыт в индустрии.

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

Лицензия здесь в большинстве случаев иррелевантна и обусловлена косностью менеджмента, а так, чтобы «предпочитать не иметь опыта» — IMHO это должно касаться только разработки «коробочного» софта, такого, который в магазинах в коробках продаётся. Вот это — реальное зло, оно живёт только за счёт копирастии; но этого «реального зла» не так много. Для заказного софта лицензия просто не имеет значения.

Для меня как раз лицензия стоит на первом месте, а коробочность или некоробочность совершенно иррелевантна. Попробую объяснить.

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

Вообще, вся беда этих копирастических лицензий не в том, что «нет халявы, хотим чтобы софт был бесплатный». А в том, что этот софт будет иметь владельца, который может им как угодно вертеть и выставлять самые разные, порой абсурдные огранчения, запрещать вносить изменения в софт в т.ч. чтобы убрать специально добавленные ограничения (например не более чем 10 входящих TCP соединений, а чтобы больше - покупайте PRO версию). Впрочем, это все уже написано Столлманом.

SZT ★★★★★
()
Последнее исправление: SZT (всего исправлений: 2)
Ответ на: комментарий от liberte

Full Professor, то российский профессор это Full Professor, конечно.

Неправд это. У них full professor --- это профессор чего-то, т.е. по нашему --- это зав. кафедрою чего-то. Он имеет право подписи и, как правило, формально закреплённых за ним подчинённых. А вот associate professor --- это как раз просто преподаватель/учёный высокого уровня, но не начальник, аналог нашего профессора.

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

Далеко не везде у завкафедрой вообще есть особый научный статус. В моей альма-матер он вообще менялся каждые пару лет, по принципу ротации. Понятие Full Professor слишком сильно варьируется (но не так сильно, как Assistant Professor), и не везде есть, поэтому попытки дать точные определения довольно бессмысленны.

И к уровню преподавания должность Associate Professor имеет мало отношения. Иногда создают аналогичные должности именно для преподавателей — вроде, в Канаде были подобные инициативы.

liberte
()
Последнее исправление: liberte (всего исправлений: 1)
Ответ на: комментарий от Croco

большинство наших выпускников вообще не программисты, и уж точно не системные, а которые программисты — те в любом случае сами научились

Некоторые например не могут осилить не-блевотное оформление сайтов, ну куда им до программирования?

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от SZT

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

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

Код, написанный на заказ, попросту как тот неуловимый Джо — нафиг никому не нужен, потому я и говорю, что лицензия на него мне до фонаря.

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

associate prof. --- это профессор в нашем понимании (в Германии нужно habilitation, чтобы занимать такую позицию), у него могут быть аспиранты (даже много),

Ну у меня есть аспиранты, не могу сказать что много, но и не один. Формально в России для руководства аспирантами достаточно как раз быть доцентом. То есть можно им и не быть (просто иметь степень), но тогда надо каждый раз оформлять разрешение на научное руководство, тоже в принципе несложно, но отличие есть.

(в Германии нужно habilitation, чтобы занимать такую позицию)

Если я правильно понимаю, что такое habilitation, то это примерно как наша докторская; ну, тогда да, я ещё до этого уровня не вырос :-)

Но вот assistant prof. — по-моему всё-таки не вполне адекватный перевод для нашего «доцента», поскольку у нас, чтобы стать доцентом, нужно (а) быть кандидатом наук и (б) иметь годовой опыт чтения лекционного курса, включённого в основную программу (спецкурсы не считаются). У меня странное ощущение, что assistant prof. обычно не читает основные курсы, хотя могу и ошибаться.

Croco ★★★
() автор топика

Забавно наблюдать, как вы разглагольствуете о «копирастах», но выкладываете книгу под несвободной лицензией, причём, судя по всему, не понимаете, почему она неcвободна.

дальше vector’а и list’а обучение никогда не заходит (как раз эти два контейнера, пожалуй, самые бесполезные из всего STL)

Дальше читать не стал, выкинул к чёрту.
Не знаю, чем вы там занимались в промышленном программировании, но эта отрасль довольно часто ставит на место любителей высказывать категоричные мнения. Случайно не поэтому сбежали обратно в уютный академический мирок? Кто-нибудь уделал вашу систему сборки на plain makefiles с помощью чего-нибудь типа cmake? Или указал реальную цену вашим знаниям по C++?

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

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

но выкладываете книгу под несвободной лицензией, причём, судя по всему, не понимаете, почему она неcвободна.

Я прекрасно знаю, почему моя лицензия не является свободной, и никогда не утверждал, что она свободная, даже наоборот: http://www.stolyarov.info/license.html (читать до конца текста лицензии, там подробно этот момент освещён).

Дальше читать не стал, выкинул к чёрту.

А чего припёрся тогда, умник? Мог бы и не начинать читать. Из 7,5 миллиардов людей на голубом шарике мою книгу прочитает от силы тысяча, одним больше, одним меньше — меня это волновать должно?

уделал вашу систему сборки на plain makefiles с помощью чего-нибудь типа cmake?

Когда я в 2003 году ушёл из индустрии, cmake ещё не было. Зато пару лет назад я пытался запаковать свежий mysql в пакет для Openwall Linux, убил без толку пару дней, в итоге был вынужден откатиться на версию mysql, в которой ещё не использовался cmake. Кто мне ответит за эти бездарно протоптанные два дня?

Мораль проста: для меня создатели cmake и те, кто им пользуется — личные враги, они у меня отняли кусок жизни. Пусть и небольшой, но и жизнь довольно коротка.

подобный экстремизм - это уже слишком.

Это не экстремизм, это профессиональный опыт. Конечно, те, кто никогда не пробовал писать на C++ без контейнеров, в наше идиотическое время в принципе не могут себе представить, как это так, но, должен сказать, их мнение меня не волнует, ибо обусловлено исключительно невежеством. Среди моих учеников, то есть тех, кого я учил программировать, в том числе и на C++, есть достаточное количество тех, кто рассматривает C++ как «Си с классами», не используя его стандартную библиотеку, и неплохо себя при этом чувствуют в индустрии. Ну а я оттуда сбежал, чтобы на джаве не программировать :) По правде говоря, потом стало лень возвращаться, вот и не вернулся.

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

http://www.stolyarov.info/license.html

Позволю себе процитировать некоторые фрагменты оттуда:

Как известно, Ричард Столлман определяет свободное программное обеспечение как такое, которое гарантирует четыре фундаментальные свободы: (0) свободу использования в любых целях, (1) свободу изучать и модифицировать, (2) свободу распространять копии и (3) свободу улучшать программу и распространять её улучшенные варианты.
Я глубоко убеждён, что последняя из этих свобод не может быть применена к литературным произведениям, включая и учебные пособия. Право на неизменность литературного произведения — это личное неимущественное право автора, которое само по себе не ущемляет ничьей свободы.

А я глубоко убежден, что не имеет значения, что это за информация(компьютерная программа, графический файл, чье-то литературное произведение), в любом случае любые запреты на модификацию любой информации с любой целью, будь то с целью последующего ее распространения или тайного хранения у себя измененной копии, являются абсурдными и попросту противоречащими здравому смыслу. Вот представьте что есть у меня обычный такой механический жесткий диск, в нем нолики и единички кодируются доменами (намагниченными областями) и мне какой-то хрен с горы заявляет что я не имею права хранить у себя на своем жестком диске определенную информацию, т.е. определенную последовательность намагниченных областей на поверхности блинов, и не могу передавать кому-либо информацию о том, каким же образом у меня там эти магнитные домены намагничены. Это примерно как если б кто-то мне указывал, какие слова и словосочетания я не имею права писать НА СВОЕЙ БУМАГЕ, и еще будет мне указывать, что я не могу эту бумагу с написанным на нем словом и словосочетанием передавать кому-либо, озвучивать в слух написанное на ней и тому подобное.

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

SZT ★★★★★
()

Что касается языка Pascal. Было бы крайне интересно узнать, что будет с «мозгом студентов», если в качестве первого языка изучать D. А потом уже спускаться с небес на землю C, assembler. Тут прозвучало много призывов использовать Python в начале, а про D как-то все забыли, а тем временем Александреску в печали.

Я как человек не имевший практического опыты написания под Pascal и D и работы с новичками, в целом из книги автора и книг про D сделал вывод, что D даже более адаптирован к новичку чем Pascal. В то же время языки примерно одинаково непопулярны. Но в плюс D, что синтаксис D очень близок к C.

Было бы интересно узнать мнение хоть кого-нибудь кто хоть немного в теме...

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

Я считаю что в паскале нет ничего настолько особенного, чтобы начинать знакомство с программированием именно с него. У меня был опыт «объяснения» людям смысла этих самых указателей через Си, в т.ч. всяких там callback-ов, функций которые принимают указатель на функцию и возвращают указатель на функцию, принимающую в качестве аргументов указатель на функцию и возвращающую указатель на функцию, и тому подобных страшных на первый взгляд вещей, и знаете что? Я это успешно мог объяснять людям, которые вообще до этого ни с какими указателями нигде не сталкивались, правда кое-какой опыт программирования у ни все же был, например на питоне или каком-нибудь дельфи/паскале, но про указатели они вообще ничего не знали.

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

SZT ★★★★★
()
Последнее исправление: SZT (всего исправлений: 1)
Ответ на: комментарий от SZT

А я глубоко убежден, что не имеет значения,

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

Всё, расширяю свой мораторий на SZT тоже. Магнитофон не переспорить, да я и не хотел.

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

Ну как знаете. И вам тоже всего хорошего

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