Написание этого "опуса" побуждает мой опыт и программиста и преподавателя. Здесь уже много говорилось о "знаниях" студентов. Я, в данном случае, не хочу говорить о самих студентов это особый разговор для другой темы. Меня
волнует, как преподается программирование. Я не хочу сказать, что преподаватели плохие. Преподаватели разные, как и в любом институте и это хорошо. Мне не нравится, прежде всего, чему учат, т.е. попросту говоря учебные планы. Конечно, программирование в массовом порядке преподают не так давно и стандарты и учебные планы и, я бы сказал еще традиции преподавания, не устоялись. Проблема в Паскале. На мой взгляд, преподавание Турбо Паскаля губит многих студентов на корню. Я попытаюсь объяснить, в чем здесь проблема. На мой взгляд, в технологии программирования, чем и следует овладеть студенту, присутствуют следующие компоненты: алгоритм, язык программирования, среда программирования, технология разработки ПО, среда выполнения (обычно ОС). Так вот, по моему глубокому убеждению, на какие бы курсы не было разбито преподавание программирования, любой курс должен преподаваться как курс программирования. Другими словами, среда программирования, например Windows не может изучаться иначе как через само программирование. Кроме этого, в каждом курсе программирования должны присутствовать все компоненты программирования. Если бы это удалось сделать, то, мне кажется, мы бы сдвинули обучение программированию с нулевой (или отрицательной) точки. Что же происходит с Турбо Паскалем. Он изучается очень подробно, два семестра. Теперь вдумайтесь в следующее: нигде и никто уже давно не пишет прикладные программы на Турбо Паскале 7.0. Почему? А потому-то этот продукт был предназначен для программирования в операционной системе MS DOS. Но этой системы уже нет в природе - Windows только эмулирует ее, чтобы дать возможность запускать программы 15-летней давности. И вот бедные студенты два семестра программируют на ТурбоПаскале, совсем не понимая, что они программируют в MS DOS и не зная какое это отношение имеет к Windows. Более того, они изучают даже те темы, которые уж никак нельзя пристегнуть к Windows - графику, файлы и т.п. И вот проучившись два семестра, не понявший, где он программировал студент, переходит к Delphi, и начинает программировать уже в Windows, до конца так и поняв, что это такое. При этом с самой ОС он опять не взаимодействует, но это уже другой разговор. Возникает вопрос - зачем нужен Турбо Паскаль? Если мы принимаем, что преподавать алгоритмы надо в отрыве от всего остального, почему не взять, например, какую-нибудь программу для дошкольников - управлять какой-нибудь лягушкой или кенгуренком. Результат будет точно тот же самый, но без введения студента в заблуждение, так как он здесь прекрасно поймет, что программирует не в Windows. Если кто-то мне скажет, что паскаль помогает затем программировать на Дельфи. Но, во-первых, Дельфи не должен быть самоцелью, а во-вторых, почему бы тогда не начать сразу на Дельфи и писать в начале разные алгоритмы в простых консольных программах. Ребята, забудьте про ТурбоПаскаль 7.0. Нет его, давно умер. Я этот вопрос уже давно ставлю на факультете, но пока переубедить коллег мне не удается. |
Rik
Я не прошу ваши программы показывать. Я вот о чем. Если человек говорит, что вот на Паскале что-то лучше выразить, чем на С, так вот пример в студию. Вот и все. А все эти космичесие агентства - это все слова. Эта ветка для тех, кто программирует, так вот этим и надо оперировать. А то вы с Unname'ом, как отражения друг друга. Добавлено спустя 51 секунду: Правил Кодда чуть больше. Добавлено спустя 9 минут 28 секунд: Раз уж пошел такой разговор, приведу пример, то что в голову сейчас пришло. В Паскале есть оператор цикла for, который очень примитивен. Имеет чисто учебное приложение. Мне нравится как это реализовано на С. На С это очен мощный и гибкий оператор. Но я не знаю, может быть на Обероне это сделано как-то по другому. Вот о чем можно было бы поговорить и поспорить. Я имею в виду конкретику. |
Vladislav_133
вы со вторым Виртом повежливее, плиз ) _________________ Скажи мне чей Крым, и я скажу кто ты. |
Leon писал(а): а какой все-таки вердикт - умер паскаль или нет?Нет не умер... Он многих ещё переживет... |
Прошу прощения, погорячился. _________________ http://asm.shadrinsk.net |
Vladislav_133 писал(а): Rik
Я не прошу ваши программы показывать. Я вот о чем. Если человек говорит, что вот на Паскале что-то лучше выразить, чем на С, так вот пример в студию. Вот и все. А все эти космичесие агентства - это все слова. Эта ветка для тех, кто программирует, так вот этим и надо оперировать. А то вы с Unname'ом, как отражения друг друга. Добавлено спустя 51 секунду: Правил Кодда чуть больше. Добавлено спустя 9 минут 28 секунд: Раз уж пошел такой разговор, приведу пример, то что в голову сейчас пришло. В Паскале есть оператор цикла for, который очень примитивен. Имеет чисто учебное приложение. Мне нравится как это реализовано на С. На С это очен мощный и гибкий оператор. Но я не знаю, может быть на Обероне это сделано как-то по другому. Вот о чем можно было бы поговорить и поспорить. Я имею в виду конкретику. ![]() ![]() Vladislav_133 писал(а):
Эта ветка для тех, кто программирует ![]() Последний раз редактировалось: Rik (2010.08.15 08:15.00), всего редактировалось 6 раз(а) |
цикл for даже в 1с не юзают особо. обходитсо легко. _________________ Скажи мне чей Крым, и я скажу кто ты. |
Рассуждения на тему умер ли паскаль и какой язык лучше бессмысленны без определенной точки отчета. То есть что мы понимаем под "умер" и что значит лучше. Лучше для кого? Для программиста? Для пользователя программ? Для того кто эти программы оплачивает? А может для менеджера проекта? С какой точки зрения вы оцениваете это лучше и относительно решения какого рода задач?
Си всегда будет быстрее ПХП, но написание веб-сайта на си это личное безумство, за которое никто не будет платить - слишком уж долго и затратно. С другой стороны конечно возможно написать программу-роутер на ПХП, но она по совместительству окажется шейпером и это тоже никому не нужно. Красивость же и удобство конструкций языка вообще мало кого интересуют в реальном мире разработки ПО. С моей точки зрения язык хорош тогда, когда соотношение скорости разработки и производительности приложения наиболее эффективно для решаемых приложением задач. |
Петрович писал(а):
Красивость же и удобство конструкций языка вообще мало кого интересуют в реальном мире разработки ПО. С моей точки зрения язык хорош тогда, когда соотношение скорости разработки и производительности приложения наиболее эффективно для решаемых приложением задач. +1 |
спор ни о чем? Зато такой активный _________________ Скажи мне чей Крым, и я скажу кто ты. |
vladislav писал(а):
Ребята, забудьте про ТурбоПаскаль 7.0. Нет его, давно умер. Я этот вопрос уже давно ставлю на факультете, но пока переубедить коллег мне не удается. Всё верно, поддерживаю, удивительно что его всё еще используют даже в целях обучения... |
Rik
он и создавался только для обучения. Паскаль. _________________ Скажи мне чей Крым, и я скажу кто ты. |
Rik
говорить о том, что "я пишу программы на языке XXXX и зарабатываю на этом деньги, поэтому язык не умер" не совсем корректно. это говорит лишь о том, что он для тебя не умер ![]() заказчику по большей части ваще пофиг на чем и как пишет исполнитель _________________ Ин дер гросен фамилие нихт клювен клац-клац ![]() |
andy ice писал(а): Rik
говорить о том, что "я пишу программы на языке XXXX и зарабатываю на этом деньги, поэтому язык не умер" не совсем корректно. это говорит лишь о том, что он для тебя не умер ![]() заказчику по большей части ваще пофиг на чем и как пишет исполнитель Наверно так, что тут сделаешь, остается только вздохнуть глубоко... Пользователи Delphi и фанаты ещё есть, но уже не столько сколько было раньше, даже не столько как пару лет назад ещё... ![]() |
OLEGA писал(а): Rik писал(а): Паскаль-системы в этих жестких условиях чувствуют себя как рыба в воде. Явы, Си, Бейсики и Питоны - нет. Кроме как накопипастить че имеем из собственных мнений? Вы сами лично много микроконтроллеров запрограмили? На каких языках писали? Я пишу слегка на пикбэйсике для пиков 16-го и 18-го семейства. Осилил за сутки-двое. Задачи, поставленые руководством решил в минимальные сроки. Ничего не глючит, все работает стабильно, причем "родные" языки asm и Cxx. Фчем моя ошипка? Все зависит от рук. И от МОЗГА. При чем здесь платформа, язык и компиляторы.... и сцуко правительство Франции, тысяча чертей!? ЗЫЖ На срок службы микроконтроллеров дается чуть ли не пожизненная гарантия, а на cpu х86 и другие гарантия сколько? . нет ну бейсик это уже чересчур... бОльшая часть ресурсов именно на этот бейсик и уйдет. Все-таки найдите время освоить адекватные программные средства, для пиков кстати ассемблер очень приятный, до MSP 430 конечно не дотягивает по удобству, там все сделано по аналогии с PDP11, но вполне и вполне ничего )) Ну ФОРТ более сложен в освоении это вещь архиудобная но требует много времени на освоение, конкретно под пики си советовать не буду, слишком не оптимизирована платформа. А вот если Вы перейдете на AVR ATtiny, при той же цене вполне моджно писать на сях. лучше правда не на стандартном компиляторе от AVR, видел я его ассемблер года три назхад. Порджал когда он на структуру case of и на блоок IF-ОВ ВЫДАЛ СОВЕРШЕННО РАЗНЫЕ ВАРИАНТЫ )), avrgcc вот вполне неплох. F@TuM писал(а): Dio писал(а): У нас один парнишка, всю жизнь учившийся на Ленинскую стипендию, на защите спрятался за доску и начал выражаться насчёт "маленького зеленого синуса". Бывает, чо.помню историю. на подготовительных курсах, вроде, для поступления в пед "один парнишка"(имя не будем упоминать, назовем его "noname"), по своему обыкновению, решил поразить всех своим интеллектом. Была задача - обычное задание из ЛР. ситуация примерно следующая: noname: да че тут решать?! я ее на си на раз решу! Препод: решайте noname(поковырялся минут 10): что-то я не помню тут, давайте на паскале решу. Препод: решайте noname снова поковырялся какое-то время - результат тот же... ...на бейсике в итоге написал. Если это камень в мой огород, то было дело, но несколько переврано. Было на медальном собеседовании. 2004 год. При беседе я сказал, что пишу на Си, в то время я им уже вполне терпимов владел. Vladislav_133 при этих словах как то встрепенулся и предложил мне написать выданное задание на сях, я посомтрел на обидившиеся остальных, кто проходил медальнео собеседование и решил не выеживаться и написал как и сотальные на паскале. Собеседование прошел, впрочем как и в прошел в Екатеринбурге, где рубили целенаправленно. Про бейсик и забывчиваость эти выдумки уже на вашей совести. Rik писал(а):
Простите на счет глючить (Unname и ты тоже), погорячился. Вы поняли меня так, что я кроме паскаля ничего не признаю и призываю всех всё бросить и кинуться на паскаль... Я считаю что у каждого языка своя сфера применения. Я не кидаюсь на тот-же оберон, т.к. Delphi мне подходит больше... Я не противник С и не считаю его хуже паскаля и других языков, если бы я писал драйвера для OC - я бы тоже взял родной язык этой ОС на которой она написана. Но то что я накопипастил про сферу применения оберона - реальный факт. Паскали сильно не дооценивают и хоронят раньше времени (я имею ввиду современные разработки паскаль семейства)... Ну как язык выбора что-то современное обероно или модула подобное вполне себе вариант. но все-таки его ниша осталась в 80х-90х... В то время кстати схоронили много интересных языков. если речь идет о моде, то я думаю следующие лет 5 будут под флагом функционального программирвоание, диалекты LISP, прежде всего Scheme, и hascell уже прорываются в массы. Да и на Perl6 стоит обратить внимания, уникальнейшая вещь, уже теукущей реализации хватит очень на долго, а сколько у разрабов еще в планах... Хотя все-таки люблю я именно Perl5... И это все-таки вы не зхнакомы с Си, это совершенное не то же самое что С++... Петрович писал(а):
Си всегда будет быстрее ПХП, но написание веб-сайта на си это личное безумство, за которое никто не будет платить - слишком уж долго и затратно. С другой стороны конечно возможно написать программу-роутер на ПХП, но она по совместительству окажется шейпером и это тоже никому не нужно. Красивость же и удобство конструкций языка вообще мало кого интересуют в реальном мире разработки ПО. С моей точки зрения язык хорош тогда, когда соотношение скорости разработки и производительности приложения наиболее эффективно для решаемых приложением задач. Чего только люди не придумают, чтобы не использовать perl Если серьезно то единственное почему перл не используют в корпоративном секторе - отсутствие возможности сохранить исполняемый файл в откомпилированном виде. хотя с появлением parrot и его развитием этот недостаток будет устранен. Vladislav_133 Я думаю, стоит для сравнений выделить отдельную тему и в ней воздержаться от споров. а для сравнения, раз уж я коснулся Perl вот такую вещь приведу. В нем при переходе от скалярного к списочному контексту есть несколько интересных вещей. например если мы массиву присвоим список то ошибки никакой нет. @a=(1,2,3); Все прекрасно присваивается. Более того в списочном контексте массив преобразуется в список автоматом. Поэтому для добавления в массив новых элементов достаточно сделать так: @a=(1,@a,10); в массив a добавится элемент с индексом 0 равный 1 и с послежним по значению индексом равный 10. Можно добавить таким макаром элемент и в середину массива, сдвинув все его дальнейшие элементы по индексу на единицу. например $index_point>@a-1 or @a=(@a[0..$index_point],100,@a[++$index_point..-1]); Хотя можно это же сделать через спец переменные. $#a хранит индекс последжнего элемента, измением значение этой переменной - изменим число элементов массива. как подобное реализуется на Си? Ну и раз уж полша такая пьянка на PHP ? _________________ Не к добру на Руси шорох, Что-то с ветра дымком тянет! Знать, не весь отсырел порох, Да не всем подслащен пряник |
Что-то как то все неприлично затихло... _________________ Не к добру на Руси шорох, Что-то с ветра дымком тянет! Знать, не весь отсырел порох, Да не всем подслащен пряник |
unname
ты победил _________________ Скажи мне чей Крым, и я скажу кто ты. |
а что ты хотел услышать? ну есть что-то в каком-то языке, что записывается короткой записью. и что?
попробуй потом эти иероглифы поддерживать в корпоративной среде, а потом говори что якобы только из-за невозможности компиляции не используют. и по смыслу темы совсем не в тему, имхо. _________________ Ин дер гросен фамилие нихт клювен клац-клац ![]() |
Все благоговейно внимают |
andy ice
Т.е. ты не можешь прочитать одну строку от комментированного кода без всяких выкрутасов? _________________ Не к добру на Руси шорох, Что-то с ветра дымком тянет! Знать, не весь отсырел порох, Да не всем подслащен пряник |
unname
да не об этом речь, я же сказал - ну коротко пишется, но это же не уникально, а читабельность никакая совсем. и еще перечитай первый пост, этот винегрет ну никак не укладывается в обучение _________________ Ин дер гросен фамилие нихт клювен клац-клац ![]() |
andy ice
Тема давно уже отошла от СТ но не вышла за рамки раздела. Судя по твоему высказыванию ты просто не понимаешь что написано, я не видел подобных механизмов в других языках. Тем более этот код по моему более чем читаем. _________________ Не к добру на Руси шорох, Что-то с ветра дымком тянет! Знать, не весь отсырел порох, Да не всем подслащен пряник |
unname писал(а): Тем более этот код по моему более чем читаем.Китайцы иероглифы вон в лёгкую разбирают... . _________________ Йа - водоросль. |
Ты не понимаешь о чем говоришь.
Еще раз по буквам: чем меньше human readable, тем дороже поддержка. А то, что ты не видел подобных механизмов не значит, что их нет. Список в массив? Массив в список? Вставка в середину массива? Это всё не уникально в других языках, только еще и внятно и читабельно. msdn лучше расскажет http://msdn.microsoft.com/en-us/library/system.collections.aspx http://msdn.microsoft.com/en-us/library/system.collections.generic.aspx и тп _________________ Ин дер гросен фамилие нихт клювен клац-клац ![]() Последний раз редактировалось: andy ice (2010.08.17 08:01.16), всего редактировалось 1 раз |
andy ice
Ну покажите исходник аналогичных вещей. _________________ Не к добру на Руси шорох, Что-то с ветра дымком тянет! Знать, не весь отсырел порох, Да не всем подслащен пряник |
Напиши в читабельном виде, я не собираюсь закорючки перловые разбирать. Или алгоритмически напиши, постановку короче сделай, хотя ты уже "делал"
Добавлено спустя 3 минуты 46 секунд: а хотя, зачем пример, список доступных методов я щитаю вполне достаточно показать: http://msdn.microsoft.com/en-us/library/d9hw1as6.aspx _________________ Ин дер гросен фамилие нихт клювен клац-клац ![]() |
unname а причем здесь Perl, тут по моему про паскаль. или они у нас синонимы? ![]() |
Ну и покажи их применение, я могу написать ту же строку в кратком виде на перле, тогда и будут закорючки.
Если не можешь осилить одну строку с подробным комментарием - это уже диагноз. Добавлено спустя 10 минут 23 секунды: xapac я продолжаю линию, заданную Vladislav_133 _________________ Не к добру на Руси шорох, Что-то с ветра дымком тянет! Знать, не весь отсырел порох, Да не всем подслащен пряник |
Тогда по поводу закорючек.
Давайте будем все вместе писать программы, чтобы было как можно не понятней, зато в одну строчку!!! Как в старом анекдоте: for(;P("\n"),R-;P("""))for(e=C;e-;P("_"+(*u++/ ![]() |
unname
я тебе дал последний урл, там список методов с листами, твой пример рядом с этим списком - куцый обгрызок. а то, что я не хочу забивать себе голову закорючками - так это уж моё дело, и не тебе решать надо мне это или нет. _________________ Ин дер гросен фамилие нихт клювен клац-клац ![]() |
Если вам кажется, что вы решили свою проблему с помощью регулярных выражений, то возможно у вас теперь две проблемы. Это про закорючки.
Теперь касаемо языка. Вставка в середину списка это прекрасно. Мне любопытно каков принцип построения списка и какое количество операций нужно, чтобы вставить элемент в середину списка. С точки зрения внутреннего устройства, а не программиста. В качестве примера возьмем Java. LinkedList - эффективен для последовательного перебора. Очень медленный произвольный доступ (n где n число элементов). Вставка элемента в любое место быстрая так как нет нужды перераспределять элементы (1 операция). ArrayList - обычный список-массив. Быстрый произвольный доступ по индексу (1 операция). Вставка чего-либо в середину столь же затратна как для любого массива (порядка n/2 операций). Ваша оценка работы списка в перле и механизмы его работы? |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы можете скачивать файлы |