Добрый день. Я хочу научиться программированию, но база отсутствует. Программирование интересует на ассемблере. Помогите пожалуйста с поиском материала для изучения. Очень хочется научиться! =)
Комментарии
И еще вопрос, где найти Винду 7 профессиональную? Чтоб без лишнего.
Начните с бейсика, а когда освоите базовые концепции программирования - забудьте его как страшный сон и приступайте к изучению С++ и библиотеки Qt.
"Ассемблер на примерах!" Рудольфа Марека - отличная книга. Там есть куча сопутствующей информации и примеры как под Винду, так и под Линукс. Книга, что очень важно для начинающего, тоненькая и с массой листингов, которые довольно хорошо разобраны, никаких дебрей и выноса мозгов. Я в своё время зачитала её до дыр и это реально помогло разобраться, влюбиться в асм и, как побочный результат, сдать все лабораторные вовремя.
Калашников "Ассемблер - это просто" - неплохая, но, вероятно, в силу того, что у меня она была только в электронном виде, я её дальше основ не осилила. Кроме того, она целиком посвящена ассемблеру под Виндоус.
И... имхо, нафиг-нафиг в качестве первого языка хвататься за С или С++ - лучше хоть чуть-чуть тот же ненавистный Паскаль потерзать с недельку, или Бэйсик. Особенно, если некого терзать вопросами, а вопросов будет много. Та же Java - попроще. Но по поводу перехода с неё на С ничего сказать не могу - сама перехожу в обратную сторону и, похоже, насовсем.
Ой, не зарекайтесь. Всякие Java и C# приходит и уходят, а С/С++ остаётся всегда. Потому что компилятор всегда быстрее и надёжнее интерпретаторов и виртуальных машин.
Тем более, что С++ и библиотеки для него активно развиваются. Qt5, например, совсем скоро будет нативно собираться под Андроид.
1) сначала пройдите "введение в программирование" в виде вот этой игрушки (самый сложный уровень - предпоследний). это даст вам два главных понятия программирования: последовательность операций и вложенные вызовы процедур.
2) ассемблер можно изучать сразу, он довольно прост. правда, придётся усвоить сложные для новичка понятия: что такое стек и как хранятся целые числа.
3) на своём дальнейшем пути программиста ни за что не беритесь за изучение си или си++ и всячески избегайте их в пользу других языков. си придуман для удобства написания компилятора на древних машинах, а не для удобства программиста. более предпочтительный аналогичный язык - паскаль. на крайний случай лучше учите джаву, а не си - почти те же яйца (похож на си по синтаксису), но в целом более гуманный инструмент, да и спрос на джава-программистов не меньше чем на сишников. но самый сахар в программировании - это языки с динамической типизацией. но чтобы оценить их мощь, нужно знать хотя бы один обычный язык (паскаль, бейсик, си)
4) кроме императивных языков программирования (все перечисленные выше - именно такие) есть ещё функциональные языки. они как подозрительные грибы - торкают сильно, но на любителя. пока вам пробовать их не надо.
P.S. я один из тех кто начал изучать программирование с асма, не считая бейсика в школе (никакущего уровня) и батников под дос.. ничего в этом сложного совершенно нет т.к. изучаешь все равно с нуля, а языки высокого уровня, также как и принципы программирования, в корне не похожи на асм
он более дружественен, более понятен, учит правильно оформлять код (уважение к программистам что будут разбирать твой код после тебя), лёгок к обучению, основан на очень хороших дзенах:
и вообще, это классный язык программирования