PS на самом деле это давно известный факт. Не просто так бейсик с паскалём/дельфи придуманы. Хотя, для education я бы использовал питон. С одной стороны не сильно сложный, с другой стороны вполне серьёзный.
Вирта может слушать только тот, кто не читал ни одной его программы в его книге.
Посмотрите "Структуры данных + алгоритмы = программы", как он там пишет -- куски кода у него не разбиты должным образом на функции, и результат занимает пару страниц книги.
Весь мир таков, что стесняться нечего. Сегодня, например, вижу: летит бабочка. Головка крошечная, безмозглая. Крыльями - бяк, бяк - дура дурой! Это зрелище на меня так подействовало, что я взял да научил одну из фрейлин писать на сях.
Ему просто завидно, что его паскали да обероны помирают. Уже даже для обучения перестают использовать, на яву все переключаются. Вот и решил дедушка поскрипеть креслом-качалкой, да напомнить какой он хороший дизайнер языков.
+1 к пистону. Заодно отступы научатся делать. Вот бы еще кто язык придумал, где за необрамление пробелами +, -, = и т. д. (((((лисперы, молчать!))))) компилятор удушал бы незадачливого первокура шнурком от клавиатуры.
Не надо путать Java, которая по чёткости логики приближается к виртовским языкам, со всякими сями с плюсами или без, вязкая логика которых оставляет послевкусие как после общения с каким-нибудь бандитом или хроническим алкоголиком даже после просто взгляда на исходники. Все сишники - это банда латентных хронических бандитов-алкоголиков :-)
Над правильными словами о потребностях программистов-непрофессионалов и о школьной специфики тоже ржал, болезный? Ну да тебе можно, ты фатально приплюснут. Над такими, как ты, смеяться грешно.
А ведь про свойственную сишникам "трудноискоренимую привычку программировать методом тыка, сидя в пошаговом отладчике" они очень правильно сказали! Чувствую, сейчас вони будет...
Только сегодня с сыном обсуждали его вузовский проект на Паскале.
Он утверждал, что в турбо-Паскале нет функций для работы с временем
(я ему, естественно, не поверил). Придя на работу прогуууглил и не нашёл :(
> а, ведь эти фанатики Вирта не такие уж и безобидные :(
Вот уж ни разу не являюсь фанатом Вирта и его языков. Я просто признаю печальную действительность - любые первые языки, кроме паскалеподобных (лучше всего Оберон из них) или Схемы программистов калечат. Это показывает мой многолетний опыт - каждый, кто начинал с Си, C++, бейсика, неизбежно имеет кучку опасных глюков и вредных привычек, которые очень сложно из них выбить.
> Действительно, во всех ВУЗах студенты учатся на-латыне (ака Паскале)
Во первых, латынь рулит. Во вторых, к сожалению, далеко не везде учат на Паскале. Некоторых безбожно калечат.
> Он утверждал, что в турбо-Паскале нет функций для работы с временем
(я ему, естественно, не поверил).
И что? Учить надо вообще на пустом языке, с самым минимумом библиотек. Когда библиотек много, то очень легко скатиться в быдлокодинг в похапе-стиле. Виртовский Оберон тут как нельзя лучше подходит (за это его и любят так в том же Оксфорде, например). Если же в ученическом проекте потребовались функции для работы с системным таймером - то, значит, препод дурак. Да и употребление турбо-паскакаля тоже выдает в преподе дурака.
>И что? Учить надо вообще на пустом языке, с самым минимумом библиотек.
Жду того благодатного времени когда на выпускном в школах ребятня будет весело сверкать красными глазами после написания интерпретатора scheme по sicp.
На фига? В школах пусть вообще кошечек и зайчиков на Лого рисуют. SICP - для второго курса технических ВУЗов и университетов; первый курс может и по HTDP учиться, а непрофильные пусть учатся на Обероне и основанных на нем оксфордских методиках.
все аргументы "апологетов" типичнейший FUD(http://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt)
даже приводят строку кода с словами "На Си Вы можете написать",
а на Паскале - нет. Ну и что, дурак он и на Паскале может такое написать!
И этим занимаются так называемые академики от программирования!
Валера, смешной ты человек. То, о чем говорят практики - это опыт. Вот ты, например - ты очень плохой программист. В тебе сишные привычки видны за версту, торчат из тебя заячьими ушами. Ты даже не в состоянии понять, чем они плохи, настолько сдвинуты у тебя мозги не в ту сторону.
> . Вот ты, например - ты очень плохой программист
не надо 3.14...
не знаю кто пишет, но я Практик и за свою жизнь переписал
мульон строчек кода. При этом я, как солдат - делаю, то что мне
приказано. Писал код и для баз данных, и для железа (встроенные системы), про графику/ROOT я и не говорю, сети, image processing,
сейчас вот занимаюсь video (DirectShow) + mulicast UDP
медицинская физика ... etc .etc.
> сдвинуты у тебя мозги не в ту сторону
насмотрелся я в своей жизни на так называемых теоретиков.
от них самый большой вред/бред!
>Обучение программированию с помощью Си эквивалентно
Ути-ути, торсионщики! Ути-ути проект информатика-21. Баблосы пилят - щепки летят. Никогда не понимал причем тут язык программирования. Есть парадигма (совокупность религионзных убеждений), есть платформа (совокупность различных компонентов "на все случаи жизни") и собственно язык.
Так давайте определимся на что из вышеперечисленных будет доминировать в процессе обучения.
Конечно хорошо, посасывая фкусный грант, обсирать существующий строй и порядок, да еще держа в кармане фиг^W дисклеймер. А ты, $%^, попробуй создать среду разработки в конторе где руководство не понимает целесообразность и необходимость наличия в штате должности разработчика. Сразу кинешься к (сверх)высокоуровневым тулкитам, жесткой необходимости повторного использования, и методикам экстримального программирования.
Да не зависит "быдлокодинг" от "высоты" уровня и используемого тулкита. Быдлокодинг, это когда разработчик, столкнувшись с "пробемой" пытается ее решить "в лоб", вместо того чтобы подумать, посмотреть на нее под другим углом, он колбасит, колбасит и колбасит. Кривой, глючный, необслуживаемый, не переносимый, не используемый повторно код.
Вместо того, чтобы выискивать соломинки в чужих глазах, нужно сначала повытаскивать бревна из своих. И разобраться в своем грязном белье. Начать хотя бы с того факта, что преподаватели не владеют материалом хотя бы на теоретическом уровне, не говоря уж и о практике. И язык тут никаким боком.
> но я Практик и за свою жизнь переписал мульон строчек кода.
Да паршивый ты практик, паршивый. Как и подавляющее большинство твоей корешни, включая и непосредственно Рене Брюна. Вы все - восторженные дилетанты, дорвавшиеся с истовостью неофитов до новой игрушки - ООП, и умудрившиеся довести всё до полного маразма. ROOT ваш - просто кладезь маразмокода, его построчно можно постить на daily wtf, тех самых твоих мульонов строк хватит на многие столетия лулзов.
> насмотрелся я в своей жизни на так называемых теоретиков.
Да где б ты их мог видеть, смешной ты человечек? Их у вас не водится. Так же как и нормальных, серьезных практиков. Вы дилетанты, вынужденные заниматься не своим делом. Не по вам программирование.
Так что, пожалуйста, воздержись от озвучивания собственных суждений, твое дилетантское мнение весьма опасно для неподготовленной публики.
P.S.: disclaimer: на Паскале и ему подобных я не пишу и никогда не писал. Мой основной язык разработки - С++.
> Никогда не понимал причем тут язык программирования
Язык - знаковая система. Нельзя отрицать влияние внутренней логики и идеологии первого языка на формирование мышления программиста. Одну и ту же парадигму в языках можно выразить по разному.
> Быдлокодинг, это когда разработчик, столкнувшись с "пробемой" пытается ее решить "в лоб", вместо того чтобы подумать, посмотреть на нее под другим углом, он колбасит, колбасит и колбасит
Наличие библиотек, компонентов и т.п. как раз и способствует формированию такого мышления - типа, попробуем ка вколотить кувалдой этот кубик в круглое отверстие, раз уж он частитчно выполняет нужную нам функцию.
> Начать хотя бы с того факта, что преподаватели не владеют материалом хотя бы на теоретическом уровне, не говоря уж и о практике
Об этом там тоже пишут. Пишут о необходимости разработки как можно более простого и тупого, стандартного начального курса, который оттарабанить ученикам мог бы даже самый замшелый мозгом школьный учителишко.
>Нельзя отрицать влияние внутренней логики и идеологии первого языка на формирование мышления программиста.
Черт. Первым моим языком был Visual Basic, что же мне теперь утопиться с позором? Правда я тогда был "вьюношем неразумным" и мало что понимал :)
>Одну и ту же парадигму в языках можно выразить по разному.
Значит нужно работать со многими языками программирования. И с разными парадигмами.
>Наличие библиотек, компонентов и т.п. как раз и способствует формированию такого мышления
Наличие библиотек вервыую очередь приводит к формированию устойчивых API, реализацию которых проставляют различные производители. А все остальное - побочные эффекты.
И лично для меня именно наличие таких API определяет конечную юзабельность какого-либо решения.
>оторый оттарабанить ученикам мог бы даже самый замшелый мозгом школьный учителишко
Дохлый номер. Если препод не практик - пустая трата учебных часов.
Вообще моя голубая мечта - разработать курс "СОВРЕМЕННЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ", где максимально сжато и с максимальным количеством ссылок на какие-то устойчивые сущности (стандарты, RFC, рекоммендации, статьи, книги) будет даваться обзор современных технологий примерно в такой форме: краткое описание, мотивация, примеры использования, родственные технологии. Но пока это только мечты.
> Да где б ты их мог видеть, смешной ты человечек? Их у вас не водится.
естственно в ЦЕРНе. Надо пожить в этом зоопарке изнутри.
В то время, как там работал перед глазами промелькали
так называемые проекты-теоретиков-от_программирования -
это, когда подбирается компания таких, вот как авторы
"этого труда", с организуют "мыльный пузырь".
Всё научно обосновывают, выбивают деньги, бедных студентов,
совещания, воркшопы в экзотических местах и пр.
Потом через лет 5 обнаруживается, что этот проект никому
не нужен. Всё как-то тихо закругляется, а коллектив плавно
переливается в другие аналогичные "предприятия".
Люди спокойно доживают до пожизненного контракта
(это когда получаешь 150Кевро/год, со всякими льготами,
и тебя уволить никто не может, даже если ты вааащеее ничего
не делаешь).
При этом эти люди, мастера подковерной борьбы, обычно,
поливают грязью людей, кто действительно что-то умеет делать.
Я говорю - такая практика в ЦЕРНе существует десятки лет.
Из-за того, что проект до выхода в свет не доходит - обычные
пользователи, даже и не подозревают о его существовании.
И таких примеров наберу с десяток - один пузырь под названием
GRID чего стоит.
> естственно в ЦЕРНе. Надо пожить в этом зоопарке изнутри.
Знаю я этот зоопарк, очень хорошо знаю.
> проекты-теоретиков-от_программирования
Нет их там. Это Рене Брюн - горе-теоретик, двинувшийся на неправильном понимании ООП. Ни один настоящий, известный теоретик никогда никаких дел с CERN и вообще с HEP не имел, к сожалению. Разве что один Стивен Вольфрам.
> Я говорю - такая практика в ЦЕРНе существует десятки лет.
Ну так, ROOT - прекрасный тому пример.
> один пузырь под названием GRID чего стоит.
Ну не дурак ли? GRID вообще не проект, а всего лишь идеология.
> GRID вообще не проект, а всего лишь идеология.
а, это называется "придираться к словам" :)
Читай, не проект, а "очердной мыльный пузырь"-
сколько строк исписано, сколько денег потрачено ...
По сабжу. Ребята заслоняются авторитетом Вирта,
а тот и рад. Хоть в какой-то "Верхней Мальте с ракетами" о
нём ещё помнят. Почему-то ни чего подобного не встречал
в англоязычных источниках. Никаких идиотских требований, как
"полный переход на Компонентный Паскаль во всех базовых
курсах информатики/программирования завешить
к 1 сентября 2008 г. с помошью приказов Минобрнауки. "
Вчитайтесь в это!
>Куда уж тут много языков - тут бы один, попроще и построже в головы вбить.
А зачем чего-то вбивать? Если говорить о школе, то владение слепым десятипальцевым методом печати и умение _грамотно_ создавать документы в ворде, принесет намного больше пользы в последующей жизни (в т.ч. и в ВУЗовской), чем вызубренная таблица истинности ф-ции AND :)
Обучение программированию (кстати, что это такое?) должно осуществляться по факультативному принципу, и возможно на сторонних "мощностях".
Как я понимаю, под "обучением программированию" здесь понимается обучение основам алгоритмизации. Все-таки ни о какой декомпозиции предметной области речи здесь не идет, равно как о проектировании и моделировании :P.
> Читай, не проект, а "очердной мыльный пузырь"- сколько строк исписано, сколько денег потрачено ...
И результат весьма неплох, пусть и не соответствует ожидаемому. Многие институты-участники в процессе развития идеи GRID наконец получили приемлимого качества доступ в интернет, уже за одно это проекту спасибо сказать надо.
> По сабжу. Ребята заслоняются авторитетом Вирта, а тот и рад. Хоть в какой-то "Верхней Мальте с ракетами" о нём ещё помнят.
Ага, Оксфорд тогда вообще Новая Гвинея без ракет? А там ещё как помнят, на Обероне весь курс строят.
> Почему-то ни чего подобного не встречал в англоязычных источниках.
Читать не выборочно надо, не только то, где славословия сиплюсплюсам поют.
> Никаких идиотских требований, как "полный переход на Компонентный Паскаль во всех базовых курсах информатики/программирования завешить к 1 сентября 2008 г. с помошью приказов Минобрнауки. "
А у них и ситуация со средней школой не настолько паршива, так же как и ситуация с преподаванием основ программирования студентам непрофильных специальностей. Еще раз - текст надо воспринимать в контексте (который там, кстати, очень четко описан), а не с позиций сиплюсплюсного сноба, который пару очень узкоспецифичных проектишек выполнил и теперь считает себя мегапрофессионалом и надмозгом. Задача поставлена конкретно, и в рамках такой постановки вывод о необходимости жестких мер вполне логичен.
Затем, что основы программирования в современном мире нужны всем специальностям.
> Если говорить о школе, то владение слепым десятипальцевым методом печати и умение _грамотно_ создавать документы в ворде, принесет намного больше пользы в последующей жизни (в т.ч. и в ВУЗовской), чем вызубренная таблица истинности ф-ции AND :)
Неверно. Способность мыслить алгоритмически необходима даже тем, кто потом ни разу в жизни компьютера не увидит.
> Обучение программированию (кстати, что это такое?) должно осуществляться по факультативному принципу,
Неверно. Особенно в ВУЗах.
> здесь понимается обучение основам алгоритмизации
Именно так.
> Все-таки ни о какой декомпозиции предметной области речи здесь не идет, равно как о проектировании и моделировании :P
> Еще раз - текст надо воспринимать в контексте (который там, кстати, очень четко описан)
я его воспринимаю контексте моего утреннего разговора с сыном
(по пути на работу), который учится на факультете информационных
технологий, и которому необходимо выполнить семетровую работу
на Паскале, что я, лично, воспринимаю, как бесполезную трату
времени.
Я вижу для него множество других практичных(не абстрактных) задач,
действительно необходимых для его последующей жизни и
непосредственно для моей теперешней работы, которые необходимо
реализовать на Си/Си++ (btw, он тоже на этой работе и уже
получает оффициальную зарплату больше, чем старший научный сотрудник
физик высоких энергий).
Совершенно случайно появление этого поста совпало
с этим разгогвором.
> Ага, Оксфорд тогда вообще Новая Гвинея без ракет?
вот только не надо это(Оксфорд) воспринимать ,
как истину в последней инстанции. Знаю, что такое Оксфорд
Оксфорд, Оксфорду рознь. Да, может, это уже не тот Оксфорд?
припоминается мне, что великий и ужасный профессор там
тоже тусовался :)
Надо. Поскольку он (Оксфорд) преимущественно гуманитарный, к computer science никакого особого отношения не имеет, то есть, они как раз знают, как учить непрофильников. Как программистов надо учить - это уже вопрос совершенно отдельный и тут он не обсуждается вообще.
> который учится на факультете информационных
технологий
В топку. Тут (и в обсуждаемой статье) говорится о преподавании основ программирования тем, кто не будет никогда программировать профессионально.
Кстати, если это в России, то, можете поверить, ЛЮБОЙ "факультет информационных технологий" - редкостное дерьмо. Что, не осилил он пойти на какой либо православный кошерный мехмат?!? Зачем тому, кто хочет учиться программировать, идти на "факультет информационных технологий", где заведомо ничему полезному никогда научить не смогут.
> выполнить семетровую работу на Паскале, что я, лично, воспринимаю, как бесполезную трату времени.
Плохой ты человек, однако. Никакая творческая, самостоятельная работа в принципе не может быть "бесполезной". Даже на брейнфаке, а уж на паскале и подавно. Умение решать задачи в условиях жестких ограничений на выбор инструментария для каждого программиста обязательно.
> практичных(не абстрактных) задач, действительно необходимых для его последующей жизни
При таком подходе к жизни его надо было в ПТУ отдавать. Там бы его надрессировали на конкретные решения конкретных практичных задач. К высшему же образованию подобные идиотские рассуждения неприменимы.
> btw, он тоже на этой работе и уже получает оффициальную зарплату больше, чем старший научный сотрудник физик высоких энергий
Ну и на кой ему, кодеру, "высшее" образование? ПТУ как раз для таких и существуют.
> Совершенно случайно появление этого поста совпало с этим разгогвором.
Совершенно закономерно тов. Онучин, как всегда, выскзался не по теме и выставил себя не в лучшем свете.
> Никакая творческая, самостоятельная работа в принципе не может быть "бесполезной"
С этим согласен.
Добавлю, то, что он сделал за лето на моей работе - я могу этим гордится.
необходимо использовать современнные языки, технологии,
а не жить в прошлом тысячилетии.
Было бы неплохо если бы он за семестр проштудировал rfcs, изучил бы
http://www.tcpipguide.com/free/t_toc.htm
а не тратил бы своё время кодируя на пещерном языке.
> тов. Онучин, как всегда, выскзался не по теме
я высказался по-теме :
1. паскаль не нужен, потому что реликтовый язык
2. авторы проекта "паскаль в ВУЗы",
- как минимум "теоретики от программирования",
которые приводят в свою пользу аргументы только типа сабжа и рельным
программированием никогда не занимались
- прикрываются авторитетом Вирта , что Не хорошо
- сам проект крайне вреден и агрессивность его продвижения в массы пугает
- есть подозрение, что это очередное отмывание и распил бабла
> необходимо использовать современнные языки, технологии, а не жить в прошлом тысячилетии.
И это пишет любитель C++! Как там брёвнышко, не давит?
Что реально необходимо - так это уметь решать задачи. Любые. С любыми, сколь угодно жесткими ограничениями. Я так подозреваю, людям вашего склада ума это недоступно в принципе.
> Было бы неплохо если бы он за семестр проштудировал rfcs
Ну я ж говорю - в ПТУ! И зубрить, зубрить, зубрить.
> а не тратил бы своё время кодируя на пещерном языке.
Да, Валерий, лечиться вам уже поздно. Скажу только, что те, кто тратит время на решение абстрактных сложных задач на "пещерных" и вообще эзотерических языках, потом работают в Гуглах и Микрософтах, или же создают собственные компании, найдя новое и неожиданное решение старой проблеме, а те, кто истошно дрючит C++ и зубрит всякие идиотские частности вроде TCP/IP (на что у нормальных, умных людей есть справочники) - те всегда остаются на вторых ролях, на подхвате. И всегда делают то, что прикажут. То, что прикажут умные и образованные, тратившие своё время на "пещерные" языки.
Если выбирать между программистом, знающим Паскаль и латынь, и "программистом", надрюченным на C++ и считающим себя "практиком", я выберу первого. Он более обучаем, он умнее.