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