А на мехмате учат СИ!?

Автор темы Vlasov Alexey 
03.06.2003 13:46
Vlasov Alexey
А на мехмате учат СИ!?
Что, правда что ли, еще и зачеты по СИ сдавать придется? Не может быть. А я так надеялся, что выбор языка доверят самому студенту ;(

Может быть, проги все-таки можно сдавать на другом языке?. У меня патологическая ненависть к HLL(кроме PHP, потому как он лучше всего, по моему субъективному мнению, подходит для веб-программирования).
Хотя, конечно, СИ - middle-leveled language, насколько мне известно.

И сколько весь этот ужас творится будет? Сколько семестров? Сколько курсов ?!!

Нет, я предпочитаю ассемблер, 2,5 года программирования на нем не проходят бесследно. На СИ я прогал, когда мне было лет 13, сразу после Бэйсика ;)

А асм проходить будем???

С уважением, будущий первокурсник, бывший абитуриент Власов Алексей.
03.06.2003 14:16
ASM и С
Если ты математик:
Писать придется на Си+мы писали одну прогу на asm(У нас был Богачев)
03.06.2003 14:23
Программированию на мехмате не учат! (+)
Программированию на мехмате не учат! Если под программированием понимать - науку программировать (алгоритмы, проектирование, планирование, тестирование, ...) и конкретные языки программировани (и технологии и базы данных,....). Если повезет то может семинарист чего-нибудь поучит порассказывает, или лектор по "ЭВМ" будет рассказывать про программирование или даже про Java (Борисенко на первом потоке раньше читал такие лекции). Но это все как правило исключение. Хочешь программировать? Учись сам, помогать не будут!

На 1-2 курсе будут семинары по "программированию", надо писать задачи на С/С++ и сдавать семинаристу. Задачи зависят от семинариста. На 3-4 курсе "вычислительный практикум", задачи по численным методам (это когда всякие интергралы и матрицы считать). В свое время практикум проходил на VAX-ах, это терминальные машины 30 летней давности... Исходники программ написанные дома приходилось набирать там ручками (несклько тысяч строк). Поскольку связи с внешним миром у Ваксов не было... Языки те же. Может отличаться сильно от семинариста к семинаристу. Систематичекого подхода не было и нет...

И не будет на мехате в ближайшее время нормального программирования. Как мне сказал в свое время мой Научрук - это не предусмотрено программой обучения, и впихнуть какой-то новый в курс - невозможно. Так что надейтесь что вам попадется нормальный семинарист по "ЭВМ" и у него будет что-то интересное и полезное.
03.06.2003 15:29
А в чем проблемы?
Если ты прогал на сишнике уже в 13, то какие проблемы могут возникнуть при написании задач сейчас???
Но вообще надо заметить, что асемблер конечно быстрее си, но возможностей в нем чуточку меньше.



Заходите, 1 курс, 2 поток:
http://www.mmat.narod.ru/
03.06.2003 16:32
Точнее, не учат насильно
Цитата

Программированию на мехмате не учат! Если под программированием понимать - науку программировать
На обязательных курсах - не учат. Никто не мешает ходить на спецкурсы, где про те же алгоритмы расскажут...
Цитата

В свое время практикум проходил на VAX-ах, это терминальные машины 30 летней давности
Насколько я понимаю, сейчас ваксов нет. Их заменили на нормальный класс с персоналками с линуксом. И дисководы там работают почти везде :)
03.06.2003 17:03
Список программистких курсов за прошедший год в студию!
Список программистких курсов за прошедший год в студию! В мое время программистки полезных курсов было всего несколько штук:
Базы данных - Кумскова!
Что-то по Java - Кумскова
Курс по Corba
Лекции по ЭВМ - Борисенко
Машинная Графика
Ситуация изменилась в лучшую сторону?
03.06.2003 17:18
А разве мало?
По-моему, ваш список несколько противоречит тезису о том, что программированию на мехмате не учат :) Потом, ещё есть семинар Шеня, Верещагина и Ромащенко, который тоже вполне программистский...
03.06.2003 21:37
Vlasov Alexey
Асемблер конечно быстрее си, но возможностей в нем в нем чуточку меньше???
Не понял, что значит возможностей меньше. Любой компилируемый язык всегда переводится в исполняемый код, который по сути дела и есть асм. Так что, абсолютно не факт.

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

А программирование - суть составление алгоритмов, а их реализация - это уже дело кодера. И вообще, на каком языке Кнут представлял свои алгоритмы в Искусстве Программирования? Правильно - Mix, что близко к асму.

"Ассемблер всегда будет актуален. С его помощью можно добиться минимального размера программ и наилучшей чистоты исходного кода"
Randell Hyde - Art of Assembler - webster.cs.ucr.edu

Так что, учите, люди, асм, и тогда программирование для вас никогда не станет просто профессией, а останется любимым хобби ;)
03.06.2003 23:04
Maxim A. Babenko
Увы
Цитата

Aldanur писал(а) :
Насколько я понимаю, сейчас ваксов нет. Их заменили на нормальный класс с персоналками с линуксом. И дисководы там работают почти везде :)
Увы, неверно понимаете :-) По крайней мере нынешнему 4 курсу (и мне, в частности) общаться с ними проходилось. Только вряд ли это так страшно. Если предварительно набрать и отладить прогу на чем-нибудь нормальном, а потом принести распечатку в дисплейный класс, то набрать можно за час, ну плюс еще полчаса на отладку и прочее. Лично мое общение с HP за год свелось к трем таким посещениям.
[Сразу замечу, что все засисит от препода, с некоторыми такой фокус не пройдет.]

Вряд ли размер этой программы превысит строк 700, -- это для обычных кафедр, возможно на вычмате дают нечто более сложное.
04.06.2003 00:16
xelenka
А что значит
фокус не пройдет?
То есть некоторые требуют, чтобы человек там и писал?
Мы, насколько мне помнится, вообще приходили туда... ну не совсем когда хотели, но не обязательно, когда там наш препод был. Своему только сдавали, но он не спрашивал, придумывали сидя прямо там или все-таки дома.
04.06.2003 00:41
Maxim A. Babenko
А вот что
Цитата

То есть некоторые требуют, чтобы человек там и писал?
Ну да бог знает, может в группах г-на Лапшина так и происходит, я не знаю :-) А написал так потому, чтобы потом не было разочарования у тех, котому это еще только предстоит. Вы к таковым, не относитесь, думаю? :-)

А вообще же идея сидеть и писать прогу там, на мой взгляд, абсолютно бредовая. По крайней мере минутная компиляция программы -- это нормально.
04.06.2003 00:52
Maxim A. Babenko
Именно так
Цитата

Не понял, что значит возможностей меньше.
Буквально то и означает -- возможностей закончить написание программы (замечу: программы, а не отдельного фрагмента) несоизмеримо меньше.

Цитата

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

Вообще же стандартной является связка "C и asm", иногда "C++ и asm", поэтому не помешает освоить и эти языки.

Цитата

А программирование - суть составление алгоритмов, а их реализация - это уже дело кодера.
Вроде бы за свою жизнь мне немало пришлось заниматься "составлением алгоритмов", но мысль записывать их на асме что-то в голову не приходила :-)

Цитата

И вообще, на каком языке Кнут представлял свои алгоритмы в Искусстве Программирования? Правильно - Mix, что близко к асму.
Кнут -- безусловно классика, как Эвклид, например :-) В его время это было позволительно.

Цитата

"Ассемблер всегда будет актуален. С его помощью можно добиться минимального размера программ и наилучшей чистоты исходного кода"
Randell Hyde - Art of Assembler - webster.cs.ucr.edu
Эта фраза кажется вырванной из контекста. Кроме того непонятно, в какой именно области computer science специализируется вышеупомянутый Randell Hyde.
04.06.2003 02:16
xelenka
правильно думаете
не отношусь.

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

На мой взгляд - тоже :)))
04.06.2003 10:04
Не путайте теплое с мягким:)
Когда-то на мехмате было два класса (13-17 и 13-18, если не ошибаюсь) с терминалками, подключенными к VAX с OpenVMS. Когда я на первом курсе увидел на дисплее в сообщении при инициализации (c) 1984, мне стало весело и страшно. Кстати, их убрали только в 2002 году.
Четвертому курсу приходится писать практикум на HP Apollo под HP-UX. Этот дисплейный класс располагается на ВМК. Так что вы, видимо, все же работали на HP.

Между прочим, а есть ли здесь люди, помнящие DOOM на VAX, использоавший "трехмерную текстовую графику" ?:) Мои безусловные респекты создателям:)
04.06.2003 10:07
Vlasov Alexey
RE: Именно так
-- В его время это было позволительно.

Насколько мне известно, написание 4 и 5 томов продолжается и по сей день, а MIX планируется заменить на MMIX, так что его время все еще не кончилось ;)

-- Вообще же стандартной является связка "C и asm", иногда "C++ и asm", поэтому не помешает освоить и эти языки.

Си я уже осваивал, и в связке тоже писал, но чем больше я это делал, тем больше становилось асма и тем меньше СИ.

Вы сами писали на чистом асме? Давайте даже не говорить про пакет MASM32, с помощью которого написание программ под Windows становится таким же простым делом, как и на С++. Потому как в WinApi самые нужные функции уже есть ;)
У нас есть TASM. Все функции, которые включены в стандартные СИшные библиотеки при надобности реально переписать. Может быть, это и reinventing the wheel, но это намного больше поможет научиться понимать, что такое программы, и почему компьютер все же работает ;)

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

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

-- Кроме того, непонятно, в какой именно области computer science специализируется вышеупомянутый Randell Hyde.

Randall Hyde was a lecturer at UC Riverside between 1989 and 2000 and Cal Poly between 1988 and 1993. He taught a variety of Computer Science courses including, as you can probably imagine, assembly language programming. Randy had written a couple of assembly language books prior to his stint as an instructor, including Using 6502 Assembly Language and The MASM 6.0 Bible. He was not particularly satisfied with the college textbooks for 80x86 assembly language when he first started teaching, so he created a set of lecture notes for his courses at Cal Poly that he entitled How to Program the IBM PC Using 8088 Assembly Language. Over the next decade, this set of lecture notes morphed into what is now entitled The Art of Assembly Language Programming

Art of Assembly - де-факто лучшая книга для обучения ассемблеру, она, конечно, больше подходит для newbie/beginner программистов, а intermediate/advanced программистам можно посоветовать следующий список:

Michael Abrash - Zen of Code Optimization
Michael Abrash - Zen of Graphics Programming
Michael Abrash - Graphics Programming Black Book
- лучшие книги по программированию для VGA, да и просто по машинной графике.

John Robbins - Debugging Applications

Matt Pietrek - Windows 95 System Programming Secrets
Barry Kauler - WINDOWS ASSEMBLY LANGUAGE & SYSTEMS PROGRAMMING
Jeffrey Richter - Programming Applications for Microsoft Windows
PC Underground : Assembly Language: The True Language of Programmers

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

Советую также прочесть Great Debate by Randell Hyde, которая и рассматривает достоинства и недостатки, как первого, написание программ на HLL, так и второго, написание программ на асме.

Комментарии, контр-доводы, многоуважаемый оппонент?
04.06.2003 18:12
:-)
Цитата

Насколько мне известно, написание 4 и 5 томов продолжается и по сей день, а MIX планируется заменить на MMIX, так что его время все еще не кончилось ;)
Тут поспорить сложно, но скорее говорит о нежелании переписывать уже существующий код или причуде автора :-) Хорошо еще что из известных теоретиков больше никто не разделяет его увлечения.

Цитата

Си я уже осваивал, и в связке тоже писал, но чем больше я это делал, тем больше становилось асма и тем меньше СИ.
Тогда советую продолжать осваивать дальше :-)

Цитата

Вы сами писали на чистом асме?
Да.

[рассуждение про masmы и tasmы поскипано]

Цитата

Я никогда не говорил, что собираюсь избрать своей профессией программирование. Для человека, который зарабатывает себе на жизнь написанием программ, ассемблер редко актуален. Но, пока программирование все еще хобби, получать от этого дела нужно удовольствие, а процесс оптимизации, который наиболее полно может быть реализован именно на асме, - по-настоящему серьезная задачка для мозгов.
Ну раз Вам так нравится.. :-) О вкусах не спорят.
Еще хочется обрадовать: на мехмате у Вас будет возможность реализовать мозговые способности в более естественных областях науки.

Цитата

Randall Hyde was a lecturer at UC Riverside between 1989 and 2000 and Cal Poly between 1988 and 1993. He taught a variety of Computer Science courses including, as you can probably imagine, assembly language programming.
Исчерпывающее объяснение: "varieny of courses" :-) Правильно ли я понимаю, что это уважаемый человек не занимается теоретической computer science?

Цитата

Art of Assembly - де-факто лучшая книга для обучения ассемблеру
Ну бог с ней, пусть лучшая, вопрос в том, что этим языком нельзя ограничиваться, если хотите хоть в какой-то степени приблизиться к практическому программированию (а ведь речь идет именно о нем, не так ли?)

Цитата

Советую также прочесть Great Debate by Randell Hyde, которая и рассматривает достоинства и недостатки, как первого, написание программ на HLL, так и второго, написание программ на асме.

Спасибо за совет, конечно, но мне есть чем заняться, помимо чтения этих книг :-)

Вообще же данная дискуссия, думаю, бессодержательна. Уверен, что сейчас Вас сложно переубедить, что Вы говорите много ерунды. Также уверен, что через несколько лет Вы измените свою точку зрения.
04.06.2003 18:15
В точку
Цитата

Четвертому курсу приходится писать практикум на HP Apollo под HP-UX. Этот дисплейный класс располагается на ВМК. Так что вы, видимо, все же работали на HP.
Так и есть, это, конечно, вам уже не VAX, но далеко и не linux. Просто я хотел прокомментировать фразу
Цитата

Их заменили на нормальный класс с персоналками с линуксом. И дисководы там работают почти везде

04.06.2003 19:11
Ну если так рассуждать...
Цитата

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



Заходите, 1 курс, 2 поток:
http://www.mmat.narod.ru/
05.06.2003 01:31
Ночь
С таким интересом к пограммированию...
... почему бы вам было не пойти на ВМиК?..
05.06.2003 12:26
Vlasov Alexey
RE: С таким интересом к программированию...
Ну, интересный вопрос. У меня еще все впереди. На МехМат я поступил в Марте, а на ВМиК в апреле, так что до зачисления у меня еще есть время решить. Только вот в абитуриентском форуме все рекоммендуют идти именно на мехмат ;)

Соображения?
Извините, только зарегистрированные пользователи могут публиковать сообщения в этом форуме.

Кликните здесь, чтобы войти