Имя:    Пароль:      Помнить меня       
Unsorted   ~  Software  ~  Development and Design  ~  Ассемблер Литература
На страницу «  1, 2, 3  »
XAMyT
Сообщение  13 Авг 2007, 23:34  Ссылка : Ответить с цитатой
Возраст: 36 Пол: Мужской 
C нами с 18.10.2005
Репутация: 172.8

Начать лучше с Delphi Смайлик А после и С.
В начало
Профиль : Личное Сообщение
seb
Сообщение  15 Авг 2007, 0:03  Ссылка : Ответить с цитатой
Возраст: 44 Пол: Мужской  Доверенный пользователь
C нами с 05.04.2005
Репутация: 121.1

switch писал(а):
seb, с чего посоветуешь начать ?
я ж написал - с изучения той _аппаратной_ архитектуры, которая тебя интересует. если тебе интересует ibm pc совместимые компьютеры типа того который у тебя дома - изучай его, из чего он состоит (что такое материнская плата, процессор, память и т.д.), как работает (как передаются данные между устройствами, что такое шина и т.д.)
switch писал(а):
Просто хотел самостоятельно изучать программирование, а что знаю, так это на школьном уровне - бэсик да паскаль, и то не в совершенстве. Думал начать с Срр, посоветовали как раз с ассемблера, мол понять как, откуда, почему.
я начинал в школе с алгоритмов которые схемами, всякими квадратиками, ромбиками рисуются + бейсик и чуть чуть Pascal. Одновременно читал книжку про операционную систему (DOS), про её команды, что такое файл, каталог, архиватор и т.д.

Раз уж взялся писать оффтопик, позволю себе небольшое лирическое отступление. Расскажу о своём самом большом потрясении. Дело было на уроке информатики в школе, там при загрузке компа появлялось меню: 1) Basic 2) Pascal 3) DOS и вот я как-то ради интереса выбрал пункт 2 - Pascal - что это такое я себе представлял смутно, если вообще представлял Улыбочка ну загрузилось IDE Turbo Pascal'я и я стал тупо лазить по меню, нажимать всякие пункты и смотреть что происходит. И вот в одном из меню я увидел пункт "Скомпилировать в EXE файл". всё. меня поразила молния ! Улыбочка именно увидев его я понял для чего собственно я всё изучал (блоксхемы, basic) - "Так вот откуда берутся ПРОГРАММЫ !!!" я был поражён ! Оказывается можно написать программу на языке программирования и получится EXE файл который сможет делать все те штуки которые делают другие программы из exe файлов ! Улыбочка Basic был заброшен, потому что у него в меню не было "Скомпилировать в EXE файл", и я стал изучать Pascal Улыбочка

Потом как не странно была книжка "Программирование на ассемблере для MS DOS" %) потому что меня страшно заинтересовало что же это за файлы то такие exe и com, как они устроены внутри и почему работают ? + продолжал изучать Pascal.

Но это уже всё не имеет отношения к теме так как тема то про ассемблер. да ? Улыбочка

ps: для чего я всё это написал ? а вот для чего - Занимайся тем что тебя больше всего интересует, если тебя интересует именно программирование - изучай математику, потому что программирование - это алгоритмы и математика. Обязательно прочитай Д. Кнут "Искусство программирования". Да, ассемблер здесь совсем не причём. Улыбочка

_____________________________
IRC WeNet #programming
jid: seb2000@jabber.ru
В начало
Профиль : Фотоальбом : Личное Сообщение : JabberID
Quintessence
Сообщение  30 Авг 2007, 22:07  Ссылка : Ответить с цитатой
Пол: Мужской 
C нами с 04.02.2005
Репутация: 93.4

Начать изучать программирования с асма? Я в шоке! Зачем вообще изучать асм? Только ради личного инетреса, ну или если ты уже кодишь как-нибудь контроллеры, но тогда ты его и так должен к этому моменту знать, да и знать надо не асм а этот самый контроллер.

Языки программирования не изучают. Изучают процессоры, фрэймворки, библиотеки в зависмости от языка. Ну и алгоритмы (если вдруг решил стать программистом-математиком).

Если видишь программирование своей профессией - изучай ООП и базы данных, не надо терять время на ассемблер. Бери VB - попробуй алгоритмы и задачки из книжек, потом попробуй прикрутить к этому инетрфейс. Дальше берешься за основы архитектуры БД и T-SQL. Потом переезжаешь на C# или Java и начинаешь вникать в ООП и Паттерны, параллельно изучая фреймворк, ну а дальше самому будет понятно, что тебе в жизни надо. Учти только, что с нуля очень долго и тяжело.

Цитата:
изучай математику, потому что программирование - это алгоритмы и математика

Так было 20 лет назад, сейчас программирование это на 100% не математика и на 90% не алгоритмы.

_____________________________
Think negative
В начало
Профиль : Блог : Личное Сообщение
splav
Сообщение  30 Авг 2007, 22:29  Ссылка : Ответить с цитатой
Возраст: 35 Пол: Мужской  Доверенный пользователь
C нами с 22.01.2006
Репутация: 256.8

Quintessence, я кроме системного программирования другие подвиды таковым не считаю.

А системного программисту с ассемблером очень полезно быть знакомым. + как минимум надо знать основные структуры данных и алгоритмы работы с ними. Пока за 5 лет активного творчества ни разу не столкнулся ни с C#, ни с паттернами, ни даже с STL. В основном java и С + asm. Иногда С++, где это удобнее.

Как говорил наш преподаватель ИВТ и теории алгоритмов - сейчас пытаются заставить писать программы не программистов и ни к чему хорошему это привести не может.
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : JabberID : ICQ
MinDeR
Сообщение  30 Авг 2007, 22:35  Ссылка : Ответить с цитатой
Возраст: 36 Пол: Мужской 
C нами с 08.01.2006
Репутация: 128.1

Прочитал топик и выскажу своё мнение.

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

Я считаю, что начать лучше с языка уровня оболочки, это достаточно легко, можно увидеть результат и не заморачиваться с отладной...тупой скриптовый язык...
Мне лично нравится shell...достаточно просто, незатейливо и всегда есть команда man shell Улыбочка))

Потом можно переходить со спокойной душой на C...Ибо замечательный язык, не такой уж сложный и использовать можно где угодно Улыбочка

Я поклонник юниксов, поэтому такой вот набор получается. Ибо будущее за open source. Подмигивание
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : Сайт : ICQ
Quintessence
Сообщение  30 Авг 2007, 22:59  Ссылка : Ответить с цитатой
Пол: Мужской 
C нами с 04.02.2005
Репутация: 93.4

Цитата:
я кроме системного программирования другие подвиды таковым не считаю.
Весело Потрясающий шовинизм, а я то думал, что подобное нашей профессии не свойственно.

Цитата:
Как говорил наш преподаватель ИВТ и теории алгоритмов - сейчас пытаются заставить писать программы не программистов и ни к чему хорошему это привести не может.


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

Цитата:
Пока за 5 лет активного творчества ни разу не столкнулся ни с C#, ни с паттернами, ни даже с STL. В основном java и С + asm. Иногда С++, где это удобнее.

Зачем вам java тогда? Какой смысл в этом высказывании? - Современные языки и продвинутые методики ООП - это для лошков, которые не умеют писать алгоритмы? Функциональное программирование, тогда вообще для грудных детей, да? И прикладное ПО - это игрушки для секретарш и они сами для себя его пишут.

_____________________________
Think negative
В начало
Профиль : Блог : Личное Сообщение
seb
Сообщение  30 Авг 2007, 23:46  Ссылка : Ответить с цитатой
Возраст: 44 Пол: Мужской  Доверенный пользователь
C нами с 05.04.2005
Репутация: 121.1

Quintessence писал(а):
Цитата:
изучай математику, потому что программирование - это алгоритмы и математика

Так было 20 лет назад, сейчас программирование это на 100% не математика и на 90% не алгоритмы.
Это прекрасно ! Чем больше людей будут так считать, тем меньше будет конкуренция и выше зарплаты у настоящих программистов ! Улыбочка

информатика - это не то, чем занимаются в школе (и большинстве вузов) на уроке информатики. информатика - это наука и в ней есть например такие разделы как:
  • Криптография
  • Теория графов
  • Математическая логика
  • Теория автоматов
  • Теория сложности вычислений
  • Поиск данных
как во всём этом разобраться и понять не разбираясь в математике ? И это не какие-то теоретические науки, с ними постоянно сталкиваешся. Например наипростейшая база данных учёта выданых IP адресов. Содержит список сетей и список подсетей в них которые заняты. Возникла задача построить список не занятых, а свободных подсетей и опля ! Как понять, можно вычислить этот список по формуле или придётся заниматься перебором вариантов ? "Теория сложности вычислений" Улыбочка А ведь это абсолютнейше прикладная задача по автоматизации учёта...

_____________________________
IRC WeNet #programming
jid: seb2000@jabber.ru
В начало
Профиль : Фотоальбом : Личное Сообщение : JabberID
Рыся
Сообщение  31 Авг 2007, 0:10  Ссылка : Ответить с цитатой
Пол: Мужской  Доверенный пользователь
C нами с 15.04.2005
Репутация: 133.2

Шовинизм проявляется тогда, когда начинают считать какой-то язык лучше остальных. Увы, видимо на сегодняшний день универсального языка применимого во всех задачах просто не существует. Уверенность в том, что ассемблер (или любой другой язык) не нужен, потому что текущие задачи неплохо решаются в рамках используемого языка весьма поверхностна.
Язык, библиотеки, фреймворки, среды разработки — это всего лишь молоток, гвозди и пиломатериалы. Их надо уметь применять. Собственно от того, что именно планируется построить и выбираются те или иные инструменты и способы ведения работ. Да, можно с уверенностью сказать что сейчас всё больше строят типичные панельные конструкции, но ещё никто не отменял специфические разработки, хотя их в разы меньше. Но для того чтобы строить хоть что-то адекватное в любом стиле надо быть, как минимум, знакомым с остальными.
Общая тенденция такова, что программирование сейчас не искусство (исскуство и бизнес плохо совместимые вещи), а обычное ремесло (а вот управлять ремеслом прямая задача бизнеса). Поэтому проще набирать десяток таджиков, которые умеют просто и надёжно пользоваться готовыми инструментами, чем возиться с "самородками" (прямой переход количества в качество).
Впрочем, анология со строительством здесь несколько неполна. Решение типичной задачи программирования это некий экстремум функций времени, затрат и соответствия требованиям заказчика.

Удивила фраза "алгоритмы не нужны", это при том что подавляющее большинство применямых языков — алгоритмические, какое-то странное противоречие. Алгоритм в данном случае это формальное описание поведения программы, будь то управление базами данных, пользовательские интерфейсы, математические расчёты. Язык программирования это способ записи формальной алгоритмической логики в виде "понятном" исполнительной системе (компьютеру). Проще всего представить что мы разговариваем на русском, а компьютер на японском, а наш язык программирования — английский, который понимаем и мы и компьютер. Мы переводим свой формальный алгоритм на русском в английский (собственно формализуем запись в рамках выбранного языка), который компилятор переводит на японский. И от того, насколько мы знаем английский (собственно сам язык, базовые конструкции), правописание (базовые методики, парадигмы), его историю и литературный фонд (библиотеки, опыт разработчиков, алгоритмы) и зависит наша производительность (умолчим о том, насколько хорошо и точно английский переводится в японский). Будет ли лишним знать при этом японский (ассемблер)? Даже если и не общаться на нём с компьютером мы всегда будем приблизительно представлять во что превращаются фразы на английском, который ему весьма и весьма неродственен. Это сложный вопрос и зависит от того, что именно человек хочет получать от своей работы — только деньги или только удовольствие или и деньги и удовольствие. Более того, некоторые конструкции ассемблера (японского языка) имеют больший коэффициент эффективности и невыразимы в рамках нашего "промежуточного" языка. При универсализации мы всегда теряем в гибкости.

По моему скромному мнению, различия между современными языками и средами разработки достаточно условны (конечно в рамках решаемых задач). Более того, практически все языки обросли необходимыми инструментами, аналогичными другим языкам. Например, если нам потребуется заменить в сотне-другой текстовых файлов букву "ё" на "йо" (шутки ради над ближним своим) то быстрее всего это у нас получится на каком нибудь скрипт-языке или спец-утилите (например на perl, tcl, awk или sed это решается в одну-две строки), при условии, конечно, что мы умеем ей пользоваться. Ни быстродействие, ни интерфейс нас в этом случае не сильно волнует. Однако, если мы решим сделать это продуктом для пользователя придётся задуматься о выборе языка, удобства дальнейшей сопровождаемости кода, полноте и эргономичности интерфейса и т.п. вещах. Но какой бы язык мы не выбрали, алгоритм по своей сути не изменится. От общей постановки "заменить в тексте все 'ё' на 'йо'" мы перейдём к более формальной записи алгоритма: "взять следующий символ из входного потока. если это 'ё' поместить в выходной поток 'йо' иначе поместить символ без имзенинй". На этом этапе мы уже начнём мыслить в рамках известных нам методик и языков (уже вводятся понятия "символ", который имеет какое-то машинное представление, поток — как некая (не)управляемая последовательность "символов" и т.д.).

Некоторое время назад я наивно предполагал, что программирование сводится к знанию языка и среды разработки. Увы, теперь, оглядываясь назад, я понимаю — это заблуждение. Это необходимая и важная часть, но не решающая. Решающей является теоретическая база, знание именно общих методик, умения формализовать задачи, понимать "откуда растут ноги".

Впрочем, о теории программирования и без меня написано много мудрых и толстых книг (отдельная тема — отладка, хороших книг в разы меньше, но по статистике отладка самый продолжительный и затратный этап разработки продукта — "о сколько нам открытий чудных" Смайлик). За сим резюмирую — чем больше языков и сред разработки ты знаешь, тем проще тебе мыслить в рамках любого друго языка — все они в какой-то мере родственны (ну прямая аналогия с естественными языками). Знание ассемблера, да и вообще понимание работы процессора и компьютера в целом, виртуальной машины, базовых функций ОС — это то, что отличает рядового таджика с мастерком от архитектора/проектировщика (который тоже умеет работать руками, но предпочитает головой Смайлик).

_____________________________
Время не существует, у него нет физического носителя в природе. Его выдумал человек, чтобы измерять скорость.
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : E-mail : JabberID
Барада
Сообщение  31 Авг 2007, 0:25  Ссылка : Ответить с цитатой
Возраст: 39 Пол: Мужской 
C нами с 10.08.2005
Репутация: 6.9

Цитата:
Так было 20 лет назад, сейчас программирование это на 100% не математика и на 90% не алгоритмы.

/me аплодирует стоя.
От каментов Quintessence писаем кефиром всем #Programming
В начало
Профиль : Фотоальбом : Личное Сообщение
splav
Сообщение  31 Авг 2007, 11:19  Ссылка : Ответить с цитатой
Возраст: 35 Пол: Мужской  Доверенный пользователь
C нами с 22.01.2006
Репутация: 256.8

Quintessence, этот человек уже долгое время работает системным программистом (java в основном) в московском IT отделении одного международного банка + ведёт курсы в школе при этом отделении.

P.S. А кто по вашему эти фреймворки пишет? И на чем они написаны?

P.P.S. я не говорил что C#, java, ООП и прочее пустые навороты. Та же COM. Всё это довольно мощные инструменты и не более. Надо уметь выбирать нужный исходя из времени разработки с его помощью при приемлемом результате. Многие мощные технологии страдают медлительностью и перерасходом ресурсов! Для управления апполоном хватало мощностей современного инженерного калькулятора. Если бы его программу писали на java или C# - посмотрим хватило ли бы мощностей.

Так что все инструменты надо использовать по обстоятельствам. Не буду же писать код в 5 инструкций ассемблера писать на скриптовом языке в боевой программе? Кстати замена "ё" на "йо" требует не многим больше Улыбочка
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : JabberID : ICQ
deema
Сообщение  31 Авг 2007, 11:52  Ссылка : Ответить с цитатой
Пол: Мужской 
C нами с 12.01.2007
Репутация: 103

splav писал(а):
...P.S. А кто по вашему эти фреймворки пишет? И на чем они написаны?...


Встряну в разговор.... .NET на C++ написан, а не на ассемблере.
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение
splav
Сообщение  31 Авг 2007, 12:08  Ссылка : Ответить с цитатой
Возраст: 35 Пол: Мужской  Доверенный пользователь
C нами с 22.01.2006
Репутация: 256.8

deema, а половина библиотек VS C++ если глянуть - чистый ассемблер.
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : JabberID : ICQ
deema
Сообщение  31 Авг 2007, 12:19  Ссылка : Ответить с цитатой
Пол: Мужской 
C нами с 12.01.2007
Репутация: 103

splav, библиотеки да. Да и то я думаю только потому, что все эти библиотеки в большинстве своем писались довольно давно.
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение
inkognit
Сообщение  31 Авг 2007, 12:20  Ссылка : Ответить с цитатой
Возраст: 33 Пол: Мужской 
C нами с 30.04.2006
Репутация: 77.5

splav писал(а):
deema, а половина библиотек VS C++ если глянуть - чистый ассемблер.

Не аргумент. Библиотеки и компиляторы всех языков так или иначе ссылаются на асм.

_____________________________
Дайте в руки мне баян, я порву его совсем.
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : E-mail
splav
Сообщение  31 Авг 2007, 12:27  Ссылка : Ответить с цитатой
Возраст: 35 Пол: Мужской  Доверенный пользователь
C нами с 22.01.2006
Репутация: 256.8

inkognit, pascal написан на pascal Улыбочка

Даже если так - значит без ассемблера не бывает программ.
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : JabberID : ICQ
Показать сообщения:   
На страницу «  1, 2, 3  »

Unsorted   ~  Software  ~  Development and Design  ~  Ассемблер

Ответить на тему

Перейти:  





Powered by phpBB   © Unsorted Team  support@unsorted.me  promo@unsorted.me  Полезные скрипты