Вопрос новичка = (

Тема в разделе "WASM.HEAP", создана пользователем wakeX, 5 авг 2010.

  1. wakeX

    wakeX New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2010
    Сообщения:
    26
    Ребята , я решил освоить кодинг , точнее ассемблер . Интересует меня , реально ли освоить этот язык на продвинутом уровне за год ? Если да то как построить обучение , сколько времени уделять в день теории/практике ? Просьба не пинать и не стебаться . Заранее спасибо .
     
  2. 7mm

    7mm New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2009
    Сообщения:
    442
    В освоении ассемблера как такового нет никаких сложностей. Сложности возникают когда ассемблер рассматривается применительно к некой архитектуре (x86, ARM, PowerPC, ...) и операционной системе (Windows, Linux).
     
  3. wakeX

    wakeX New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2010
    Сообщения:
    26
    Интересует только операционная система Windows .
     
  4. dZentle_man

    dZentle_man New Member

    Публикаций:
    0
    Регистрация:
    24 авг 2008
    Сообщения:
    414
    Сам по себе язык ассемблера не дает понимания как программировать под ту же винду например. Но дает теоретическое представление о том, как на самом деле работает компьютер, из чего на самом деле состоят операционные системы и приложения к ним.

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

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

    Ассемблер я начинал изучать с уроков на http://cracklab.ru/kid.php , о чем не жалею. Читал книги Юрова и Зубкова. В общем то основы усвоил. Да, где то год и ушел, в свободное время от работы и домашних дел.
     
  5. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    смотря как стараться
    чем больше, тем лучше

    начните, например с уроков Исзелиона http://wasm.ru/publist.php?list=1
     
  6. Enterado

    Enterado New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2008
    Сообщения:
    99
    Зачем оно вам надо? Потому что в пособии а-ля "Как стать юным хацкером" написано, что хацкер в совершенстве владеет ассемблером? Чтобы освоить кодинг прежде всего надо научиться писать программы. Начинать с ассемблера -- всё равно что начинать учить французский с изучения латыни, аргументируя тем, что романские языки пошли от разговорного римского наречия. Оптимальный вариант -- учите кресты (С++). На это уйдёт года три :) Научитесь кодить на плюсах -- остальные распространённые ЯП покажутся детским лепетом.
     
  7. onSide

    onSide New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    476
    3 года на изучение языка? мде..
     
  8. sometime

    sometime Odessa

    Публикаций:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    227
    Адрес:
    sunday
    Enterado
    тут позвольте не согласиться! Начинал с асм, первое куда порвался ДОС, т.к. "чудом" оказалась у меня книга Питера Абеля...Много чего пробовал, немного написал. И след этап был уже неплохой по написанию PIO дрова для реального режима(вроде) - ось писали со знакомым))) Правда потом я полностью ушел от кодинга. К чему вёл - все зависит от того с чего начинать! Если кодить винду - мой совет си, самый блиский к асм, потом будет проще перейти. Разобравшись, хоть немного в основах WinApi, как пользоваться google&msdn вот тогда и приступать к изучению асм. ИМХО!)
     
  9. dZentle_man

    dZentle_man New Member

    Публикаций:
    0
    Регистрация:
    24 авг 2008
    Сообщения:
    414
    ну мне лично знание ассемблера(ну хорошо, основ ассемблера) помогло не "заучивать" другие языки, а понимать их. Равно как и знание английского избавило от необходимости заучивать многое в ассемблере. Но у каждого свои понятия...
     
  10. Enterado

    Enterado New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2008
    Сообщения:
    99
    Что мде...? Выучив русско-английский словарь на 3000 слов вы несомненно овладеете в совершенстве английским и будете писать прозу и поэзию, да? :) "изучить язык" и писать на этом ЯП реальные проекты (утилы-криворучки в расчет не берем) совершенно разные вещи.
     
  11. dZentle_man

    dZentle_man New Member

    Публикаций:
    0
    Регистрация:
    24 авг 2008
    Сообщения:
    414
    Enterado
    ну да, правильно, профессиональное овладение языком в совершенстве требует долгих лет практики. Лет пять если заниматься серьезно. Вы это хотели сказать ТСу? Я с этим согласен.
     
  12. onSide

    onSide New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    476
    dZentle_man
    он это мне говорил)
    Enterado вы путаете знание языка и умение проектировать ПО. Знание языка это практически знание его синтаксиса и возможностей. Для этого достаточно прочитать одну книжку, от создателя)
    Делать хорошие проекты можно на любом языке, и да, тут нужен опыт и мозги. А написание кода это чисто механическая работа.
     
  13. Enterado

    Enterado New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2008
    Сообщения:
    99
    dZentle_man Именно это. Если стоит задача профессионально заниматься программированием. Добавлю еще умение работать с заказчиком и умение работать в команде разработчиков. Если же это просто в виде хобби и/или для приятного времяпровождения, тогда можно начинать по произвольной программе: берется книжка с теорией, примерами кода и упражнениями, читаем, переписываем чужой код, пишем на основе его свой. Насколько упорно будешь стараться -- настолько быстро и освоишь. По асму из русских авторов мне нравился Пирогов.
     
  14. dZentle_man

    dZentle_man New Member

    Публикаций:
    0
    Регистрация:
    24 авг 2008
    Сообщения:
    414
    Ну да, я его какбэ поддержал. Профессионализм как раз в знании синтаксиса до мелочей, узких мест, лазеек, странностей и багов. Прочитав книжку от создателя можно узнать основы, и даже с их помощью выкрутиться практически из любой ситуации, но это еще не профессионализм. Механическая работа может быть долго и уныло, а может быть быстро и качественно.
     
  15. dZentle_man

    dZentle_man New Member

    Публикаций:
    0
    Регистрация:
    24 авг 2008
    Сообщения:
    414
    Ну да, все зависит от того, какая стоит задача. Для программиста профессионализм очень важен, для исследователя второстепенен, более важна широта и глубина кругозора.


    UPD: ну а если хобби, то тут уж вообще все равно что и с чего начинать.
     
  16. Enterado

    Enterado New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2008
    Сообщения:
    99
    onSide
    Ага, прочитайте 1000 страниц Страуструпа и на вас снизойдёт небесная благодать, и вы сможете в своем резюме написать: знание языка программирования си-плюс-плюс! :)))
    Ничего я не путаю.
     
  17. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
  18. dZentle_man

    dZentle_man New Member

    Публикаций:
    0
    Регистрация:
    24 авг 2008
    Сообщения:
    414
    А кто что путает? По-моему ясно сказали, что все зависит от задачи.
     
  19. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    dZentle_man
    не сюда попал, хотел сюда https://wasm.ru/forum/viewtopic.php?id=38181
    я здесь сотру и туда перепощю
     
  20. onSide

    onSide New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    476
    Enterado
    конечно, смогу так писать) Только при этом надо будет добавить кол-во лет опыта, что и будет решать. Чтобы сделать хороший проект надо сначала придумать алгоритм его работы, а потом реализовать средствами нужного языка. Алгоритмы всегда решали. 3 года можно учится правильно применять знания языка, а не сам язык.
    Судя по всему, каждый останется при своем мнении=)