singlepost

Помогите определиться нач.программисту << На главную или назад  

Всем привет! Я хочу стать разработчиком ПО или игрушек. Я поступил в МГТУ Станкин на ИНТЕХ(программное обеспечние выч. техники). Буду учиться 5 лет.Расскажите че там будут учить в вузе? Какие языки программирования? И хватит ли того что там учат? Что бы потом устроиться разработчиком куда нить в Акеелу, яндекс, майл,каспер???

И вообще МГТУ станкин хороший вуз для программиста?

P.S. Я пока знаю VB,QB,HTML,немного c++

117 ответов в теме “Помогите определиться нач.программисту”

  1. 61
    Нгамдкхе Кверос ответил:

    в каком смысле "ни один язык не работает с битами"?

    вот вам прога на си

    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;
    }
    мог напортачить и о оптимизации не думал но в целом идея ясна, теже операции получиния битом можно через модули от деления получать и писать хоть в пхп. собственно говоря мы так в баше писали для переделки битов скрипты.

  2. 60
    Дамир Алиев ответил:

    Вотъ, вотъ, и я об этом. Пусть этим заиметься компилятор.
    (Для других отмечу, что на порядок это значит в 10 раз больше, на два порядка это в 100 раз и т.д.).

    Ну, да, #60, я в этой группе, более полугода, ничего нового в ней с тех пор не появилось. Да и безсмысленное по идее задание. Но сама мсыля, о том чо НИ ОДИН ЯЗЫК НЕ РАБОТАЕТ С битами…

  3. 59
    Vitaly Martynovich ответил:

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

  4. 58
    Дамир Алиев ответил:

    Да, вижу глубокую проработку асма, но не вижу Вас в в членах группы. Будем ли профилировать код ?

  5. 57
    Vitaly Martynovich ответил:

    [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]
    Както так

  6. 56
    Дамир Алиев ответил:

    А нет ли у кого желания пощелкать задачку для вступления в эту группу ?
    //vkontakte.ru/club735645

    Там почти все админы вконтакта.

  7. 55
    Дамир Алиев ответил:

    А еще есть С–, который я мельком упоминал. Позволяет нивелировать код, и в то же время уйти от ненужных ручных оптимизаций.

  8. 54
    Дамир Алиев ответил:

    Насчет Асм вставок, это да. Когда то сам юнит для работы с мышкой под досом (через прерывания) переделывал не то чтоб Асм вставками, inline вставлял, и машинные коды. Мне ж там не пролог не эпилог не нужен. Все это вместе с вызовом процедуры будет занимать больше чем само ее тело.
    Прямо в видеопамять писал. Ну так быстрее…
    А потом пришел дядя Билли, и сказал да будет MSDN, и стало так. И увидели все что это хорошо :)

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

  9. 53
    Нгамдкхе Кверос ответил:

    на см4 лод ранер был :-) совершенно точно помню, и у нас уже на 86 тетрис был на асме самопальный.

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

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

    конкретно я допустим столкнулся с задачей выполнения некоторых скриптов в реальном времени, в результате анализатор пришлось на асме писать из си просто на вызов функций время уходило так что strcmp пришлось макросами заменять и ещё списочек улучшений включая оптимизацию цикла, сейчас уже все не помню, но каждое выгадывало приличненько так времени. в результате там файл в 2000 строк транслировался за 3мс вместо 400.

  10. 52
    Дамир Алиев ответил:

    Глянь первый пост, чел два бейсика знает. Ну ладно бы Дельфи. Пусть переходит постепенно.

    ЗЫ, А мона глянуть на какую нибудь толковую игрушку на ассемблере ?

  11. 51
    Нгамдкхе Кверос ответил:

    то что вы поставили "не всегда" это только в случае кривых рук программиста, ведь если человек специалист то у него всегда на асме программа будет работать не медленнее чем на си,
    а кривопалого рассматривать некорректно, он может и на си написать программу которая будет считать медленнее чем на пхп.

  12. 50
    Дамир Алиев ответил:

    Цитата из моего поста
    "Кст, не всегда они будут работать быстрее чем их Си аналоги."

    Вот это "не всегда" я поставил специально. Есть все таки и такие кто будет профилировать прогу, и такты высчитывать. Но это только для релиза. Вот демо-мейкеры, это сила…

  13. 49
    Нгамдкхе Кверос ответил:

    Алиев ˜”*°•ShooshpanchiK•°*”˜ Дамир

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

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

  14. 48
    Женя Кутекин ответил:

    Ну народ! Кто сказал "ущербных контроллеров"? На асме вирусняк пишется. А под дисасмом проги ломают. Поэтому он обязателен к изучению! Развели полемику тут.

  15. 47
    Андерссен Сумин ответил:

    "ушел читать "умную" книжку Б. Керниган Д.Риччи Язык программирования С".." Всем спасибо за советы!

  16. 46
    Дамир Алиев ответил:

    Переставив две инструкции на асме, можно выиграть в тактах. За счет спаривания. В то время как компилатор сам это сможет сделать.

    Те кто мало знаком с Си, а пишет на асме, низачто не развернут цикл. А тута уже не такты а разы в скорости. Один NOP в нем уже собъет весь точно выверенный код.

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

  17. 45
    Vitaly Martynovich ответил:

    И? К чему это нагромождение терминов?
    Соображения элементарные – поскольку любой код компилируется в ассемблерный (ну грубо говоря), в пределе скорость выполнения допустим си-кода >= скорости выполнения ассемблерного. Если говорить на пальцах – я _как минимум_ всегда могу скомпилить сишный код, посмотреть что там получилось и написать в точности такой же.
    Другое дело что людям мало работающим с ассемблером и не занимающимся оптимицазией, приблизится к этому пределу малореально.

  18. 44
    Дамир Алиев ответил:

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

    Вот тута почитаете, поимете о чем я
    //www.wasm.ru/print.php?article=1010011
    //www.insidepro.com/kk/231/231r.shtml

    #44, да не обновляется, она и у второго не обновляется. А с тех пор как эти базы стали незаконными они вовсе не выходят.

  19. 43
    Руслан Матковский ответил:

    #42
    Базу в екзешнике??? а база не обновляется в таком случае ? и морально устаревшая ?))

  20. 42
    Дамир Алиев ответил:

    У нас по деревне ходят два телефонных справочника, размер первого более 12 Мб, размер второго около 1 Мб. При этом второй гораздо функциональнее и шустрее. Хранит базу в своем же ЕХЕшнике, не мусорит файлами и записями в реестр. Вот образец хорошего тона.

  21. 41
    Vitaly Martynovich ответил:

    #40
    Если у вас программы на асме работают медленнее чем аналоги на си, то вы просто не умеете на нем писать, действительно за это лучше не браться.))
    Врядли он поможет сильно в геймдеве, разве что при оптимизации.

  22. 40
    Иван Афанасьев ответил:

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

    А вообще чему научила жЫзнь, дык это тому, что все необходимое для дальнейшей работы нужно изучать самому. В ВУЗе дают только основы или метод изучения. Главное – смелее и напористее.

  23. 39
    Дамир Алиев ответил:

    Если нужно будет писать проги минимальные по размеру, то и асм пригодится. Кст, не всегда они будут работать быстрее чем их Си аналоги. Думаю для игр то он не пригодится. Даже помешает. Хорошие игры должны быть шустрые и переносимые (ИМХО).

    Насчет высокого среднего уровня нинаю, я бы такую линейку выстроил:

    Asm -> C– -> C -> C++ -> C#

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

  24. 38
    Андерссен Сумин ответил:

    Всем большое спасибо ! решил пока начать с Си и продолжать учиться на ИНТЕХе)!!! Ребят а стоит ли учить Яву и ассемблер????

    Я слышал чтоязык Си- язык среденго уровня которыйчто то среднее между ассемблером и языком выского уровня..

  25. 37
    Женя Кутекин ответил:

    Расул #GP Фазлыев
    Странно.. я вот ни разу не путался с << и >>
    Хз.. А чем они ваc именно сбивают с толку?

  26. 36
    Сергей Романов ответил:

    А мне наоборот легче было в cout и cin:)) А сам путался в printf и scanf)) Тут уж дело привычки..

  27. 35
    Алексей Смирнов ответил:

    Андерсон sumIN Сумин, поздравляю.
    Давольно не просто поступить на ИНТЕХ, хотя вполне реально. Я помню не набрал 5 балов на ИНТЕХ Предложили другую кафедру, но я поступил в другое место.
    Тебе сейчас главное с первой сессии не вылететь, а не забивать голову что бы отдельно изучить.
    Я думаю вузы, любые, дают только базу и прививают к усердности. А остальное – всё сам.
    Как я помню, там на первых курсах, с C++ начинали.
    Вуз хороший, видел много объявлений, где требовались на работу люди, и была приписка, что студенты Станкина(ну и ещё там пару ведущих) имеют преимущество.
    Так же там часто бывают "Ярмарки вакансий". Но на дне открытых дверей, рассказывающий напугал очень маленькими зарплатами.

  28. 34
    Расул Фазлыев ответил:

    Я заметил, что C как-то удобнее, чем C++. А в cout и cin я долго путался. Сбивают с толку операторы сдвига << и >>.

  29. 33
    Евгений Нижибицкий ответил:

    to:Алиев ˜”*°•ShooshpanchiK•°*”˜ Дамир
    Напишите ваше #29 сообщение на linux.org.ru – там объяснять, что где какие шансы имеет =)

  30. 32
    Женя Кутекин ответил:

    Чем отличается?
    С++ можно рассматривать как расширение С
    В С++ добавлено собственно само ООП, шаблоны, stl, включая iostream (cin, cout на замену printf scanf) и ещё некоторые менее масштабные вещи (типа ключева слово, например const, и т.д.)

    Под "писал на чистом С" обычно подрузамевают, что писали без классов.

  31. 31
    Руслан Матковский ответил:

    "На самом деле C++ – это тот же C, но с некоторыми удобными упрощениями."
    написаносамом начале. о чем тогда спор ?)

  32. 30
    Руслан Матковский ответил:

    я только пример привел )
    ведь Дельфи построен на основе Паскаля, так же само С++ на основе Си.

  33. 29
    Дамир Алиев ответил:

    //psi-logic.narod.ru/pro/diffs.htm
    //ru.wikibooks.org/wiki/Си%2B%2B

    //www.google.ru

  34. 28
    Дамир Алиев ответил:

    А мож сразу C# а ? Платформа .NET имеет большие шансы.

    Насчет Delphi и Pascal не соглашусь, меж ними разница не такая.

  35. 27
    Руслан Матковский ответил:

    С++ отличается от Си так же само как Delphi от Pascal

  36. 26
    Андерссен Сумин ответил:

    Спасибо за комментарий) А Сильно отличается С от С++? Есть опыт ООП..поэтому язык СИ не так интересен как С++

  37. 25
    Олег Тарасов ответил:

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

  38. 24
    Руслан Матковский ответил:

    #24
    То что в ВУЗе дают основу, так это везде так, в каждом ВУЗе только базовые знания дают, и развивают логику и правила написания алгоритма.
    далее студент идет по своей тропе, или учится уже по книжкам и развивается дальше, или топчется на месте и в итоге идет работать консультантом в какой нибудь компьютерный магазин)

  39. 23
    Марина Гаврилина ответил:

    О! Станкиновец )))
    Как человек закончивший этот вуз могу сказать следующее:
    1) Ни в коем случае не запускай учебу на первом курсе! На первой сессии там вылетают 30% учащихся…
    2) Станкин (как впрочем и любой другой вуз) в первую очередь учит учиться и дает основы многих предметов (подчеркиваю, основы)
    Вуз в целом не плохой, но если учить только то, что дают там, будет маловато. Советую, изучать что-нить самостоятельно, тот же си по книгам можно более углубленно изучать.
    Если есть вопросы по поводу вуза, пиши в личку :)

  40. 22
    Маша Masha ответил:

    загрузили мальчишку))))))) словечками))) еще испугается!
    Андерсон sumIN Сумин, НЕ ДРЕЙФЬ!!!!! МЫ С ТОБОЙ!

  41. 21
    Дамир Алиев ответил:

    Указатель на массив, массив указателей. Указатель на указатель на массив указателей. РЕКУРСИЯ %) Итератор !

    __________________________________
    Царь Великий, князь всея RU.C

  42. 20
    Дамир Алиев ответил:

    #19 а это смотря на каком языке и как что определено.
    SomeFunc(); вернет результат функции. А остальное от переменной Х зависит. Смотря как она определена.

    #20 Да, это UB, но компилятор об этом не скажет. Самое смешное что и Бейсик и Паскаль проглотят аналогичный код и скажут 10.

    PHP и JavaS?1?ript скажут 13, а Си скажет по разному(13/14), в зависимости от опции. Такого много, и описать их все. Насчет стандарта нинаю, но другие да, не рекомендуют. Так же не рекомендуют и Goto, но с исключениями…

  43. 19
    Руслан Матковский ответил:

    #11
    я не говорил , что нельзя. написать игру можно на JS трехмерку будет извращением писать :)
    я говорил про серьезные игры, а не флешевые или браузерные ;)

  44. 18
    Дамир Алиев ответил:

    int x = 5;
    x = ++x + ++x;

    Данный код и его аналоги дают разный результат в разных языках, от 10 до 14 :)

  45. 17
    Евгений Нижибицкий ответил:

    #16 неправилый вопрос какой-то – ни то, ни то. Не?

  46. 16
    Евгений Нижибицкий ответил:

    #18 по "правилам" С++ нельзя делать неопределенные конструкции, это в ИСО написано – 14886, кажется.

  47. 15
    Дамир Алиев ответил:

    Да, чел, забудь бейсик. Я сначала на паскале научился, потом переходить на Си было трудновато, лучше б я сразу Си изучал. До сих пор парюсь с указателями передаваемыми функциям. Вот скажи что будет в Х:
    x = SomeFunc;
    Адрес функции или ее результат ?

  48. 14
    Эльдар Кирилов ответил:

    #10Хочешь сказать на скриптовых языках не написать игру !? ;) )))
    ты наверное слышал про ActionScript !? или нет !?

  49. 13
    Эльдар Кирилов ответил:

    неговоря уже про VB ;)

  50. 12
    Андерссен Сумин ответил:

    ух как много) короч изучать с++ а асемблер ))))верняк для начала? и забыть языки визуал васик!

  51. 11
    Евгений Нижибицкий ответил:

    В Герберте Шилдте написано, что образованный программист С++ должен знать С…

    Кстати для игр еще lua модно вроде как, но это прикладное…

    <offtop>Brainfuck rules</offtop>

  52. 10
    Евгений Нижибицкий ответил:

    ВАСИК как страшный сон забыть навсегда

    И перед С++ полезно все-таки С почитать…

    В общем, юзай Шилдта =)

  53. 9
    Руслан Матковский ответил:

    #8 lol ))) это я думаю уже по желанию )

  54. 8
    Руслан Матковский ответил:

    #6
    а причем здесь JS ? это скриптовый язык который никак не присутсвтует в написании 3D играх. или я ошибаюсь ?

  55. 7
    Андерссен Сумин ответил:

    Ясно а в универе че изучают на информ.факе?

  56. 6
    Андрей Лимаев ответил:

    Ага, не забудь еще выучить Fortran, Cobol, Pascal. Brainfuck обязательно!

  57. 5
    Расул Фазлыев ответил:

    Ага, C++, Java, C#, JavaS?1?ript и т. д.

  58. 4
    Руслан Матковский ответил:

    Си пропускать нельзя . так как это почти основа всех языков высокого уровня =)

  59. 3
    Андерссен Сумин ответил:

    Тоесть лучше изучать язык си, а не с++? Просто я уже знаком с ООП. думаю можно пропустить C . …А такие языки как Visual Basic,Javaне нужны?

  60. 2
    Cyber Max ответил:

    Чтобы освоить Андре ЛаМот'а нужно хорошо дружить с языком "С"

    Так что начал бы с "Б. Керниган Д.Риччи Язык программирования С"

  61. 1
    Женя Кутекин ответил:

    Читай книги – Андре Ламот
    "Программирование игр для Windows", затем
    "Программирование трехмерных игр для Windows"
    признанная классика

    А програмить тебя научат на работе (когда пойдёшь в стажёры).

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.