Всем привет! Я хочу стать разработчиком ПО или игрушек. Я поступил в МГТУ Станкин на ИНТЕХ(программное обеспечние выч. техники). Буду учиться 5 лет.Расскажите че там будут учить в вузе? Какие языки программирования? И хватит ли того что там учат? Что бы потом устроиться разработчиком куда нить в Акеелу, яндекс, майл,каспер???
И вообще МГТУ станкин хороший вуз для программиста?
P.S. Я пока знаю VB,QB,HTML,немного c++
11 августа 2009 в 1:01
в каком смысле "ни один язык не работает с битами"?
вот вам прога на си
char mass[]="qwfqwfqwqwedfqwfqwfw";
char res[24];
int nb=0; // сколько битов в буфере сейчас
int j=0;//;// собственно сколько взято из входного буфера байт
int tmp=0;// временный буфер
for(i=0;i<24;i++)
{if (nb<7) // подкачать в буфер данные из входа
{tmp<<=8;
tmp+=mass[j];
j++;
nb+=8;
}
res[i]=tmp>>(nb-7);
tmp=tmp&0xff-(res[i]<<(nb-7));
nb-=7;
}
мог напортачить и о оптимизации не думал но в целом идея ясна, теже операции получиния битом можно через модули от деления получать и писать хоть в пхп. собственно говоря мы так в баше писали для переделки битов скрипты.
10 августа 2009 в 21:01
Вотъ, вотъ, и я об этом. Пусть этим заиметься компилятор.
(Для других отмечу, что на порядок это значит в 10 раз больше, на два порядка это в 100 раз и т.д.).
Ну, да, #60, я в этой группе, более полугода, ничего нового в ней с тех пор не появилось. Да и безсмысленное по идее задание. Но сама мсыля, о том чо НИ ОДИН ЯЗЫК НЕ РАБОТАЕТ С битами…
10 августа 2009 в 21:00
Займитесь оптимизацией если хотите. Не вижу смысла в этом, поскольку времени уйдет на порядок больше чем на написание кода
Зачем мне членство в ещё одной группе которую я никогда посещать не буду? (видели наверняка людей со списками в несколько тысяч групп?)
10 августа 2009 в 20:01
Да, вижу глубокую проработку асма, но не вижу Вас в в членах группы. Будем ли профилировать код ?
10 августа 2009 в 19:02
[code]
START:
lea EDI, sstr
lea ESI, nstr
conv7as8:
mov smask, 1
mov iter2, 0
mov last , 0
useless:
shl last, CL
mov AL, BYTE PTR [EDI]
mov DL, AL
mov CL, iter2
shr AL, 1
shr AL, CL
orAL, last
mov BYTE PTR [ESI], AL
mov AL, smask
xor CL, 7 ;CL = iter
and DL, AL;the rest of byte
mov last, DL ;shift - later
shl smask, 1
inc smask
inc ESI
inc EDI
inc iter2
dec CL
jnz useless
mov BYTE PTR [ESI], DL
inc ESI
cmp BYTE PTR [EDI], 0
jnz conv7as8
ret
[/code]
Както так
10 августа 2009 в 15:01
А нет ли у кого желания пощелкать задачку для вступления в эту группу ?
//vkontakte.ru/club735645
Там почти все админы вконтакта.
10 августа 2009 в 14:01
А еще есть С–, который я мельком упоминал. Позволяет нивелировать код, и в то же время уйти от ненужных ручных оптимизаций.
10 августа 2009 в 14:00
Насчет Асм вставок, это да. Когда то сам юнит для работы с мышкой под досом (через прерывания) переделывал не то чтоб Асм вставками, inline вставлял, и машинные коды. Мне ж там не пролог не эпилог не нужен. Все это вместе с вызовом процедуры будет занимать больше чем само ее тело.
Прямо в видеопамять писал. Ну так быстрее…
А потом пришел дядя Билли, и сказал да будет MSDN, и стало так. И увидели все что это хорошо
В MenuetOS есть игры на асме, но тама почти все не так как у людей. Да весит это все мало, что с графической оболочкой влазит на дискету. Но оптимизировать там никто и не думает и работает это все как то убого.
10 августа 2009 в 13:02
на см4 лод ранер был совершенно точно помню, и у нас уже на 86 тетрис был на асме самопальный.
зачем всё писать на ассемблере, ну пусть с опроса клавиаруты вы сэкономите целую миллисекунду, на фоне реакции пользователя разници нет, а скорость разработки, лёгкость поддержки переносимость всё лучше если стандартнойфункцией языка высокого уровня делать.
а вот вставки асмовские в алгоритмы встраивать иногда имеет смысл, и иногда очень большой. хорошую графику и другие модели на асме до ума доводят… ну если задача поставлена правильно.
конкретно я допустим столкнулся с задачей выполнения некоторых скриптов в реальном времени, в результате анализатор пришлось на асме писать из си просто на вызов функций время уходило так что strcmp пришлось макросами заменять и ещё списочек улучшений включая оптимизацию цикла, сейчас уже все не помню, но каждое выгадывало приличненько так времени. в результате там файл в 2000 строк транслировался за 3мс вместо 400.
10 августа 2009 в 11:04
Глянь первый пост, чел два бейсика знает. Ну ладно бы Дельфи. Пусть переходит постепенно.
ЗЫ, А мона глянуть на какую нибудь толковую игрушку на ассемблере ?
10 августа 2009 в 11:03
то что вы поставили "не всегда" это только в случае кривых рук программиста, ведь если человек специалист то у него всегда на асме программа будет работать не медленнее чем на си,
а кривопалого рассматривать некорректно, он может и на си написать программу которая будет считать медленнее чем на пхп.
10 августа 2009 в 9:00
Цитата из моего поста
"Кст, не всегда они будут работать быстрее чем их Си аналоги."
Вот это "не всегда" я поставил специально. Есть все таки и такие кто будет профилировать прогу, и такты высчитывать. Но это только для релиза. Вот демо-мейкеры, это сила…
10 августа 2009 в 8:04
Алиев ˜”*°•ShooshpanchiK•°*”˜ Дамир
теорема: любую откомпелилрованную си программу с любыми настройками оптимизации можно написать на асме работающую не медленне и обладающую не большим размером экзешника.
доказательство: допустим что си программа откомпилирована, тогда натравим на экзешник дезасемблер, получаем код ассемблера который компилируется в точно такой же бинарник. т.е. всё множество бинарников что может получиться при написании на си являетсят лишь подмножеством программ котоыре можно написать на ассемблере.
доказательство завершено.
то что вы не знаете как работает спаривание, от тогоне умеете правильно расставлять операторы, и результирующий код на асме у вас в результате работает медленнее чем сишный после компиляции – не значит что этого не знают другие. есть специальный программы профилировщики, есть руки программиста и тесты тесты тесты, когда цикл выполняется очень много раз или в теле драйвера борьба(у правильных программистов) идёт за каждый такт и считают и спаривания и размер строки кеша процессора и много других умных слов.
10 августа 2009 в 8:03
Ну народ! Кто сказал "ущербных контроллеров"? На асме вирусняк пишется. А под дисасмом проги ломают. Поэтому он обязателен к изучению! Развели полемику тут.
9 августа 2009 в 16:04
"ушел читать "умную" книжку Б. Керниган Д.Риччи Язык программирования С".." Всем спасибо за советы!
9 августа 2009 в 15:04
Переставив две инструкции на асме, можно выиграть в тактах. За счет спаривания. В то время как компилатор сам это сможет сделать.
Те кто мало знаком с Си, а пишет на асме, низачто не развернут цикл. А тута уже не такты а разы в скорости. Один NOP в нем уже собъет весь точно выверенный код.
Другое дело что иногда ассемблерщики выходят за рамки процедурного программирования. Можно выиграть и в скорости и в размере. Но такая прога порой малопонятна даже самому автору.
9 августа 2009 в 15:03
И? К чему это нагромождение терминов?
Соображения элементарные – поскольку любой код компилируется в ассемблерный (ну грубо говоря), в пределе скорость выполнения допустим си-кода >= скорости выполнения ассемблерного. Если говорить на пальцах – я _как минимум_ всегда могу скомпилить сишный код, посмотреть что там получилось и написать в точности такой же.
Другое дело что людям мало работающим с ассемблером и не занимающимся оптимицазией, приблизится к этому пределу малореально.
9 августа 2009 в 14:04
#43 Слышали про спаривание инструкций ? Пусть этой оптимизацией занимается компилятор, пусть он сам разворачивает циклы при необходимости, пусть он сам выравнивает адреса на четную границу ( при необходимости). Посмотрите на проект MenuetOS, это чистейший фасм, скорость его работы оставляет желать лутьшего.
Вот тута почитаете, поимете о чем я
//www.wasm.ru/print.php?article=1010011
//www.insidepro.com/kk/231/231r.shtml
#44, да не обновляется, она и у второго не обновляется. А с тех пор как эти базы стали незаконными они вовсе не выходят.
9 августа 2009 в 14:02
#42
Базу в екзешнике??? а база не обновляется в таком случае ? и морально устаревшая ?))
9 августа 2009 в 14:01
У нас по деревне ходят два телефонных справочника, размер первого более 12 Мб, размер второго около 1 Мб. При этом второй гораздо функциональнее и шустрее. Хранит базу в своем же ЕХЕшнике, не мусорит файлами и записями в реестр. Вот образец хорошего тона.
9 августа 2009 в 14:01
#40
Если у вас программы на асме работают медленнее чем аналоги на си, то вы просто не умеете на нем писать, действительно за это лучше не браться.))
Врядли он поможет сильно в геймдеве, разве что при оптимизации.
9 августа 2009 в 14:00
Не думаю, что сейчас актуально писать проги, чтобы были минимальные по размеру экзешники. Если вы только не занимаетесь программированием ущербных контроллеров, например. Сейчас наиболее актуальная тема для громоздких приложений – скорость вычислений.
А вообще чему научила жЫзнь, дык это тому, что все необходимое для дальнейшей работы нужно изучать самому. В ВУЗе дают только основы или метод изучения. Главное – смелее и напористее.
9 августа 2009 в 13:03
Если нужно будет писать проги минимальные по размеру, то и асм пригодится. Кст, не всегда они будут работать быстрее чем их Си аналоги. Думаю для игр то он не пригодится. Даже помешает. Хорошие игры должны быть шустрые и переносимые (ИМХО).
Насчет высокого среднего уровня нинаю, я бы такую линейку выстроил:
Asm -> C– -> C -> C++ -> C#
Если первые позволяют работать с железом, то далее идет более абстрактный уровень. Когда программисту не надо думать о железе и писать просто прогу, которая будет работать почти везде.
9 августа 2009 в 13:01
Всем большое спасибо ! решил пока начать с Си и продолжать учиться на ИНТЕХе)!!! Ребят а стоит ли учить Яву и ассемблер????
Я слышал чтоязык Си- язык среденго уровня которыйчто то среднее между ассемблером и языком выского уровня..
8 августа 2009 в 23:05
Расул #GP Фазлыев
Странно.. я вот ни разу не путался с << и >>
Хз.. А чем они ваc именно сбивают с толку?
8 августа 2009 в 23:02
А мне наоборот легче было в cout и cin:)) А сам путался в printf и scanf)) Тут уж дело привычки..
8 августа 2009 в 23:01
Андерсон sumIN Сумин, поздравляю.
Давольно не просто поступить на ИНТЕХ, хотя вполне реально. Я помню не набрал 5 балов на ИНТЕХ Предложили другую кафедру, но я поступил в другое место.
Тебе сейчас главное с первой сессии не вылететь, а не забивать голову что бы отдельно изучить.
Я думаю вузы, любые, дают только базу и прививают к усердности. А остальное – всё сам.
Как я помню, там на первых курсах, с C++ начинали.
Вуз хороший, видел много объявлений, где требовались на работу люди, и была приписка, что студенты Станкина(ну и ещё там пару ведущих) имеют преимущество.
Так же там часто бывают "Ярмарки вакансий". Но на дне открытых дверей, рассказывающий напугал очень маленькими зарплатами.
8 августа 2009 в 23:01
Я заметил, что C как-то удобнее, чем C++. А в cout и cin я долго путался. Сбивают с толку операторы сдвига << и >>.
8 августа 2009 в 21:03
to:Алиев ˜”*°•ShooshpanchiK•°*”˜ Дамир
Напишите ваше #29 сообщение на linux.org.ru – там объяснять, что где какие шансы имеет =)
8 августа 2009 в 21:03
Чем отличается?
С++ можно рассматривать как расширение С
В С++ добавлено собственно само ООП, шаблоны, stl, включая iostream (cin, cout на замену printf scanf) и ещё некоторые менее масштабные вещи (типа ключева слово, например const, и т.д.)
Под "писал на чистом С" обычно подрузамевают, что писали без классов.
8 августа 2009 в 19:04
"На самом деле C++ – это тот же C, но с некоторыми удобными упрощениями."
написаносамом начале. о чем тогда спор ?)
8 августа 2009 в 19:03
я только пример привел )
ведь Дельфи построен на основе Паскаля, так же само С++ на основе Си.
8 августа 2009 в 19:03
//psi-logic.narod.ru/pro/diffs.htm
//ru.wikibooks.org/wiki/Си%2B%2B
//www.google.ru
8 августа 2009 в 19:02
А мож сразу C# а ? Платформа .NET имеет большие шансы.
Насчет Delphi и Pascal не соглашусь, меж ними разница не такая.
8 августа 2009 в 19:01
С++ отличается от Си так же само как Delphi от Pascal
8 августа 2009 в 19:00
Спасибо за комментарий) А Сильно отличается С от С++? Есть опыт ООП..поэтому язык СИ не так интересен как С++
8 августа 2009 в 17:05
выучи язык BrainFuck и все, в основном на нем пишут крутые игрушки, а Си всякие мусор на самом деле
8 августа 2009 в 17:05
#24
То что в ВУЗе дают основу, так это везде так, в каждом ВУЗе только базовые знания дают, и развивают логику и правила написания алгоритма.
далее студент идет по своей тропе, или учится уже по книжкам и развивается дальше, или топчется на месте и в итоге идет работать консультантом в какой нибудь компьютерный магазин)
8 августа 2009 в 17:04
О! Станкиновец )))
Как человек закончивший этот вуз могу сказать следующее:
1) Ни в коем случае не запускай учебу на первом курсе! На первой сессии там вылетают 30% учащихся…
2) Станкин (как впрочем и любой другой вуз) в первую очередь учит учиться и дает основы многих предметов (подчеркиваю, основы)
Вуз в целом не плохой, но если учить только то, что дают там, будет маловато. Советую, изучать что-нить самостоятельно, тот же си по книгам можно более углубленно изучать.
Если есть вопросы по поводу вуза, пиши в личку
8 августа 2009 в 17:02
загрузили мальчишку))))))) словечками))) еще испугается!
Андерсон sumIN Сумин, НЕ ДРЕЙФЬ!!!!! МЫ С ТОБОЙ!
8 августа 2009 в 17:02
Указатель на массив, массив указателей. Указатель на указатель на массив указателей. РЕКУРСИЯ %) Итератор !
__________________________________
Царь Великий, князь всея RU.C
8 августа 2009 в 15:05
#19 а это смотря на каком языке и как что определено.
SomeFunc(); вернет результат функции. А остальное от переменной Х зависит. Смотря как она определена.
#20 Да, это UB, но компилятор об этом не скажет. Самое смешное что и Бейсик и Паскаль проглотят аналогичный код и скажут 10.
PHP и JavaS?1?ript скажут 13, а Си скажет по разному(13/14), в зависимости от опции. Такого много, и описать их все. Насчет стандарта нинаю, но другие да, не рекомендуют. Так же не рекомендуют и Goto, но с исключениями…
8 августа 2009 в 15:04
#11
я не говорил , что нельзя. написать игру можно на JS трехмерку будет извращением писать
я говорил про серьезные игры, а не флешевые или браузерные
8 августа 2009 в 15:04
int x = 5;
x = ++x + ++x;
Данный код и его аналоги дают разный результат в разных языках, от 10 до 14
8 августа 2009 в 15:04
#16 неправилый вопрос какой-то – ни то, ни то. Не?
8 августа 2009 в 15:04
#18 по "правилам" С++ нельзя делать неопределенные конструкции, это в ИСО написано – 14886, кажется.
8 августа 2009 в 15:03
Да, чел, забудь бейсик. Я сначала на паскале научился, потом переходить на Си было трудновато, лучше б я сразу Си изучал. До сих пор парюсь с указателями передаваемыми функциям. Вот скажи что будет в Х:
x = SomeFunc;
Адрес функции или ее результат ?
8 августа 2009 в 15:02
#10Хочешь сказать на скриптовых языках не написать игру !? )))
ты наверное слышал про ActionScript !? или нет !?
8 августа 2009 в 15:02
неговоря уже про VB
8 августа 2009 в 15:02
ух как много) короч изучать с++ а асемблер ))))верняк для начала? и забыть языки визуал васик!
8 августа 2009 в 15:02
В Герберте Шилдте написано, что образованный программист С++ должен знать С…
Кстати для игр еще lua модно вроде как, но это прикладное…
<offtop>Brainfuck rules</offtop>
8 августа 2009 в 15:02
ВАСИК как страшный сон забыть навсегда
И перед С++ полезно все-таки С почитать…
В общем, юзай Шилдта =)
8 августа 2009 в 15:01
#8 lol ))) это я думаю уже по желанию )
8 августа 2009 в 15:01
#6
а причем здесь JS ? это скриптовый язык который никак не присутсвтует в написании 3D играх. или я ошибаюсь ?
8 августа 2009 в 15:00
Ясно а в универе че изучают на информ.факе?
8 августа 2009 в 15:00
Ага, не забудь еще выучить Fortran, Cobol, Pascal. Brainfuck обязательно!
8 августа 2009 в 14:05
Ага, C++, Java, C#, JavaS?1?ript и т. д.
8 августа 2009 в 14:03
Си пропускать нельзя . так как это почти основа всех языков высокого уровня =)
8 августа 2009 в 14:00
Тоесть лучше изучать язык си, а не с++? Просто я уже знаком с ООП. думаю можно пропустить C . …А такие языки как Visual Basic,Javaне нужны?
8 августа 2009 в 13:05
Чтобы освоить Андре ЛаМот'а нужно хорошо дружить с языком "С"
Так что начал бы с "Б. Керниган Д.Риччи Язык программирования С"
8 августа 2009 в 13:04
Читай книги – Андре Ламот
"Программирование игр для Windows", затем
"Программирование трехмерных игр для Windows"
признанная классика
А програмить тебя научат на работе (когда пойдёшь в стажёры).