![]() |
|
Модераторы: bsa |
![]()
|
|
| nurik3 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 21.3.2010 Репутация: нет Всего: нет |
Начал изучать программирование с asemblera. Скачал кучу книг, стал изучать самостоятельно, есесно ничего не понял. Затем попал на wasm.ru, статьи SERRGIO оказались просто гениальными, а вот уроки Iczelionа мне не понятны. Например, попадается слово "класс", а определение этому термину не дается.
А может нужно сначала с Си начать? |
|||
|
||||
| stat007 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 521 Регистрация: 9.10.2008 Репутация: -2 Всего: -4 |
Если ты хочешь писать программы для ОС и всё что связано с Операционной системой, тогда изучай Асемблер. Если же ты хочешь писать визуальные программы, то С++. Начинать с С не обязательно, т.к. С++ это новое поколение языка С, можно сказать его усовершенствование. Так что С++ изучай!
|
|||
|
||||
| DarkProg |
|
|||
![]() Законченный романтик ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1784 Регистрация: 11.3.2009 Где: Земля Репутация: нет Всего: 19 |
"Ну ты блин даёшь" - как сказали в одном замечательном фильме. С какого блин ассемблера начинают программирование, тебе бы в паскале для начала начать, а ты с конца начал, так тебе вообще ничего не будет понятно, я когда начинал уже даже бэйсик за язык не считался а я с него начинал, потом паскаль, потом делфи, а С - это ещё тот язык если с него начнёшь больше бошка болеть будет - начинать надо с простого. -------------------- "И твоя голова всегда в ответе за то куда сядет твой зад..." "Я студент - скажите с какого я ВУЗа..." |
|||
|
||||
| nurik3 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 21.3.2010 Репутация: нет Всего: нет |
Вообще-то я хочу понять, как работает компьютер, вот и начал с ASM. А вот Бейсик изучать не надо, он только мозги портит (писал на нем программки). Ну кто знает asm и Си? Поделитесь с опытом? |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Странно. Я в школе начинал с GWBasic'а и TurboBasic'а - и ничего, основы программирования они мне дали. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| nurik3 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 21.3.2010 Репутация: нет Всего: нет |
Прошу прощения, шутка про Бейсик неудачная, он мне тоже много что дал. Я с ним познакомился на корвете, вот теперь охота все строки нумеровать. После того, как в аsmе встретился с "классами", подумал - это Си. Такое чувство, что они очень похожи. Насколько Си отличается от аcсемблера? Стоит ли браться за аsm, не зная языка высокого уровня? Это сообщение отредактировал(а) nurik3 - 22.3.2010, 00:00 |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Я думаю, всё же сначала логичней освоить язык высокого уровня, чтобы понять "что да как делается". А затем уже посредством ассемблера разбирать, "как это работает".
Добавлено через 1 минуту и 17 секунд
В TurboBasic и QBasic нумеровать ничего уже не надо было. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Лично я изучал так: basic, pascal, asm, C, C++. Могу сказать, что для написания сферических одноклеточных в вакууме, можно начать и с asm. Так как для выполнения простейшей операции придется писать довольно много кода... Поэтому в современном мире ассемблер используется в системном программировании (написание ядер ОС), при создании компиляторов, а также при тонкой оптимизации прикладных библиотек. При этом, на ассемблере редко пишутся функции полностью, чаще делаются просто небольшие вставки кода в текст программы на языке высокого уровня.
|
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
Си и асм, настолько разные вещи, что их лучше не сравнивать.
Для изучения программирования, изучения винды, изучения того "как оно изнутри работает" Си лучше не трогать, а изучать асм. Если изучать С, то вы будете изучать систему типов С, стандартную библиотеку С, и прочие сторонние и ненужные вещи. Применительно к системному программированию, асм ничем не сложнее Си При изучении системы, все программы будут сводиться исключительно к вызову функций АПИ, если использовать invoke, то код на асме будет мало отличаться от аналогичного кода на С
надеюсь не "оконный класс" ;) ? про них надо читать msdn родной поддержки классов в С нет, как и в асме. в С++ классы есть, но это никак не связано с системным программированием. Добавлено через 3 минуты и 18 секунд разумеется прикладные программы на асме не пишут. это возможно, но слишком затратно. на С\С++ прикладные программы тоже не пишут. причина та же. а для низкоуровнего системного программирования, взаимодействия с существующим бинарным кодом - асм нужен. |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
Могу предложить компромисс: писать на Си/Си++ с опцией "компилировать в асм" для того, чтобы разобраться, что там происходит на уровне процессора.
IMHO чем выше язык программирования, тем меньше ошибок. Даже драйвера в windows пишутся на Си++ (сам писал на NuMega) P.S. Про "классы" в асм - приведи в контексте -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| nurik3 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 21.3.2010 Репутация: нет Всего: нет |
Изучая ассемблер по книжке Iczelionа я встретил такие слова: " ... это инициализация класса окна. Класс окна - это не что иное, как наметки или спецификации будущего окна. Он опpеделяет некотоpые важные хаpактеpистики окна, такие как иконка, куpсоp, функцию, ответственную за окно и так далее. Вы создаете окно из класса окна. Это некотоpый соpт концепции ООП ..." (и это все в ASMе !?). Многие пишут, что ассемблер страшен, сложен. Но как работает подпрограмма (работу стека, регистра ebp и т.д.) я освоил на удивление легко, ничего сложного нету. Дж. Либерти в своем учебнике "Освой С++ за 21 день" очень подробно описывает про глобальные и локальные переменные, даже есть такие слова: "будьте начеку". И действительно, можно запутаться. Для четкого понимания решил выучить подробнее, поэтому взялся за ассемблер. Стало все предельно ясно, ну как работает подпрограмма. Но вот новая проблема - "классы" (как понимаю, здесь я путаю "разные" "классы", если так можно выразится). Вот что получается, ассемблер и Си/C++ нужно учить попеременно? Подскажите выбрать правильное направление? Для меня главное, это изучения не языка программирования, а работы компьютера, ОС. Это сообщение отредактировал(а) nurik3 - 22.3.2010, 10:05 |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
про класс окна лучше почитать в MSDN
Если же
то язык программирования (ассемблер или Си) IMHO тут не при чём. Нужны книги именно по архитектуре компьютера и ОС -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| nurik3 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 21.3.2010 Репутация: нет Всего: нет |
Чтоб знать, как работает ОС, думаю понадобится не один год упорных занятий, знание языков программирования и энглиш IMHO нужно. Это сообщение отредактировал(а) nurik3 - 22.3.2010, 13:03 |
||||
|
|||||
| sdukshis |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 23.3.2009 Репутация: нет Всего: 1 |
Ваш выбор можно определить на основе того, что Вы хотите:
- научиться программировать: Pascal (управляющие конструкции, строковые алгоритмы, алгоритмы поиска и сортировки, структуры данных, алгоритмы на графах и т.д.) - понять как работает компьютер: Asm однозначно, после него Вас уже ничего не удивит. (Мои студенты иногда удивляются когда узнают, что переменные, функции, структуры и классы это некие фикции, о которых процессор ничего не знает) - освоить язык промышленного уровня: C (только после того, как научитесь программировать, см. Pascal) - писать программы не рассчитывая понять как они реально работают: С++ (изучаю его уже много лет, и все время узнаю о нем много нового) - освоить язык промышленного уровня, для работы с которым и не надо знать как он работает: Java, C# - прослыть модным прогером: Python, Go - рекурсивно съесть свой мозг : Haskell P.S. Моя история изучения ЯП ... ... / / Haskell->Haskell -> ... / Haskell ->... / / Java -> Rip Asm -> to be continued Haskell -> Haskell - >... / / / QBasic -> Pascal -> C -> C++ -> C++ -> C++ -> C++-> C++ -> C++ -> C++ -> to be continued \ \ \ \ \ \ C# -> Rip Prolog -> Rip \ \ \ Pascal (for academic usage) \ \ C (we all usually gone to the basics) -> to be continued \ lisp -> maybe in future PHP -> Python -> to be continued Это сообщение отредактировал(а) sdukshis - 22.3.2010, 23:33 |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
sdukshis, +1
Почти в точности совпадает с моей историей. Я бы ещё добавил - руководитель группы программистов -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |