Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Asembler или Си? Что изучать? 
:(
    Опции темы
nurik3
Дата 21.3.2010, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 21.3.2010

Репутация: нет
Всего: нет



Начал изучать программирование с asemblera. Скачал кучу книг, стал изучать самостоятельно, есесно ничего не понял. Затем попал на wasm.ru, статьи SERRGIO оказались просто гениальными, а вот уроки Iczelionа мне не понятны. Например, попадается слово "класс", а определение этому термину не дается. 
А может нужно сначала с Си начать?
PM MAIL   Вверх
stat007
Дата 21.3.2010, 21:27 (ссылка)    | (голосов:9) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 521
Регистрация: 9.10.2008

Репутация: -2
Всего: -4



Если ты хочешь писать программы для ОС и всё что связано с Операционной системой, тогда изучай Асемблер. Если же ты хочешь писать визуальные программы, то С++. Начинать с С не обязательно, т.к. С++ это новое поколение языка С, можно сказать его усовершенствование. Так что С++ изучай! smile 
PM MAIL   Вверх
DarkProg
Дата 21.3.2010, 21:28 (ссылка) |   (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Законченный романтик
***


Профиль
Группа: Завсегдатай
Сообщений: 1784
Регистрация: 11.3.2009
Где: Земля

Репутация: нет
Всего: 19



Цитата(nurik3 @  21.3.2010,  21:07 Найти цитируемый пост)
А может нужно сначала с Си начать? 

"Ну ты блин даёшь" - как сказали в одном замечательном фильме.
С какого блин ассемблера начинают программирование, тебе бы в паскале для начала начать, а ты с конца начал, так тебе вообще ничего не будет понятно, я когда начинал уже даже бэйсик за язык не считался а я с него начинал, потом паскаль, потом делфи, а С - это ещё тот язык если с него начнёшь больше бошка болеть будет - начинать надо с простого.


--------------------
"И твоя голова всегда в ответе за то куда сядет твой зад..."

"Я студент - скажите с какого я ВУЗа..."

 smile  smile  smile 
PM MAIL   Вверх
nurik3
Дата 21.3.2010, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 21.3.2010

Репутация: нет
Всего: нет



Цитата(DarkProg @ 21.3.2010,  21:28)
Цитата(nurik3 @  21.3.2010,  21:07 Найти цитируемый пост)
А может нужно сначала с Си начать? 

"Ну ты блин даёшь" - как сказали в одном замечательном фильме.
С какого блин ассемблера начинают программирование, тебе бы в паскале для начала начать, а ты с конца начал, так тебе вообще ничего не будет понятно, я когда начинал уже даже бэйсик за язык не считался а я с него начинал, потом паскаль, потом делфи, а С - это ещё тот язык если с него начнёшь больше бошка болеть будет - начинать надо с простого.

Вообще-то я хочу понять, как работает компьютер, вот и начал с ASM. А вот Бейсик изучать не надо, он только мозги портит (писал на нем программки). 
Ну кто знает asm  и Си? Поделитесь с опытом? 

PM MAIL   Вверх
Данкинг
Дата 21.3.2010, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Цитата(nurik3 @  21.3.2010,  22:31 Найти цитируемый пост)
А вот Бейсик изучать не надо, он только мозги портит (писал на нем программки). 

Странно. Я в школе начинал с GWBasic'а и TurboBasic'а - и ничего, основы программирования они мне дали.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
nurik3
Дата 21.3.2010, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 21.3.2010

Репутация: нет
Всего: нет



Цитата(Данкинг @ 21.3.2010,  22:34)
Цитата(nurik3 @  21.3.2010,  22:31 Найти цитируемый пост)
А вот Бейсик изучать не надо, он только мозги портит (писал на нем программки). 

Странно. Я в школе начинал с GWBasic'а и TurboBasic'а - и ничего, основы программирования они мне дали.

Прошу прощения, шутка про Бейсик неудачная, он мне тоже много что дал. Я с ним познакомился  на корвете, вот теперь охота все строки нумеровать. 
После того, как в аsmе встретился с "классами", подумал - это Си.  Такое чувство, что они очень похожи. Насколько Си отличается от аcсемблера? Стоит ли браться за аsm, не зная языка высокого уровня?

Это сообщение отредактировал(а) nurik3 - 22.3.2010, 00:00
PM MAIL   Вверх
Данкинг
Дата 22.3.2010, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Я думаю, всё же сначала логичней освоить язык высокого уровня, чтобы понять "что да как делается". А затем уже посредством ассемблера разбирать, "как это работает". smile

Добавлено через 1 минуту и 17 секунд
Цитата(nurik3 @  21.3.2010,  23:53 Найти цитируемый пост)
Я с ним познакомился  на корвете, вот теперь охота все строки нумеровать. 

В TurboBasic и QBasic нумеровать ничего уже не надо было. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
bsa
Дата 22.3.2010, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Лично я изучал так: basic, pascal, asm, C, C++. Могу сказать, что для написания сферических одноклеточных в вакууме, можно начать и с asm. Так как для выполнения простейшей операции придется писать довольно много кода... Поэтому в современном мире ассемблер используется в системном программировании (написание ядер ОС), при создании компиляторов, а также при тонкой оптимизации прикладных библиотек. При этом, на ассемблере редко пишутся функции полностью, чаще делаются просто небольшие вставки кода в текст программы на языке высокого уровня.
PM   Вверх
GoldFinch
Дата 22.3.2010, 00:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



Си и асм, настолько разные вещи, что их лучше не сравнивать.
Для изучения программирования, изучения винды, изучения того "как оно изнутри работает" Си лучше не трогать, а изучать асм.
Если изучать С, то вы будете изучать систему типов С, стандартную библиотеку С, и прочие сторонние и ненужные вещи.

Применительно к системному программированию, асм ничем не сложнее Си
При изучении системы, все программы будут сводиться исключительно к вызову функций АПИ, 
если использовать invoke, то код на асме будет мало отличаться от аналогичного кода на С

Цитата(nurik3 @  21.3.2010,  21:07 Найти цитируемый пост)
Например, попадается слово "класс", а определение этому термину не дается.

надеюсь не "оконный класс" ;) ? про них надо читать msdn
родной поддержки классов в С нет, как и в асме.
в С++ классы есть, но это никак не связано с системным программированием.

Добавлено через 3 минуты и 18 секунд
разумеется прикладные программы на асме не пишут. это возможно, но слишком затратно.
на С\С++ прикладные программы тоже не пишут. причина та же.
а для низкоуровнего системного программирования, взаимодействия с существующим бинарным кодом - асм нужен.
PM MAIL ICQ   Вверх
borisbn
Дата 22.3.2010, 07:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Могу предложить компромисс: писать на Си/Си++ с опцией "компилировать в асм" для того, чтобы разобраться, что там происходит на уровне процессора.
IMHO чем выше язык программирования, тем меньше ошибок. Даже драйвера в windows пишутся на Си++ (сам писал на NuMega)
P.S. Про "классы" в асм - приведи в контексте


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
nurik3
Дата 22.3.2010, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 21.3.2010

Репутация: нет
Всего: нет



Цитата(borisbn @ 22.3.2010,  07:37)
Могу предложить компромисс: писать на Си/Си++ с опцией "компилировать в асм" для того, чтобы разобраться, что там происходит на уровне процессора.
IMHO чем выше язык программирования, тем меньше ошибок. Даже драйвера в windows пишутся на Си++ (сам писал на NuMega)
P.S. Про "классы" в асм - приведи в контексте

Изучая ассемблер по книжке Iczelionа я встретил такие слова:
" ...  это инициализация класса окна. Класс окна - это не что иное, как наметки или спецификации будущего окна. Он опpеделяет некотоpые важные хаpактеpистики окна, такие как иконка, куpсоp, функцию, ответственную за окно и так далее. Вы создаете окно из класса окна. Это некотоpый соpт концепции ООП  ..." 
(и это все в ASMе !?).

Многие пишут, что ассемблер страшен, сложен. Но как работает подпрограмма (работу стека, регистра ebp и т.д.) я освоил на удивление легко, ничего сложного нету. 
  Дж. Либерти в своем учебнике "Освой С++ за 21 день" очень подробно описывает про глобальные и локальные переменные, даже есть такие слова: "будьте начеку". И действительно, можно запутаться. Для четкого понимания решил выучить подробнее, поэтому взялся за ассемблер. Стало все предельно ясно, ну как работает подпрограмма.
 Но вот новая проблема - "классы" (как понимаю, здесь я путаю "разные" "классы", если так можно выразится). 
Вот что получается, ассемблер и Си/C++ нужно учить попеременно? 
Подскажите выбрать правильное направление? 
Для меня главное, это изучения не языка программирования, а работы компьютера, ОС. 

Это сообщение отредактировал(а) nurik3 - 22.3.2010, 10:05
PM MAIL   Вверх
borisbn
Дата 22.3.2010, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



про класс окна лучше почитать в MSDN
Если же
Цитата(nurik3 @  22.3.2010,  10:03 Найти цитируемый пост)
Для меня главное, это изучения не языка программирования, а работы компьютера, ОС

то язык программирования (ассемблер или Си) IMHO тут не при чём. Нужны книги именно по архитектуре компьютера и ОС



--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
nurik3
Дата 22.3.2010, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 21.3.2010

Репутация: нет
Всего: нет



Цитата(borisbn @ 22.3.2010,  10:57)
про класс окна лучше почитать в MSDN
Если же
Цитата(nurik3 @  22.3.2010,  10:03 Найти цитируемый пост)
Для меня главное, это изучения не языка программирования, а работы компьютера, ОС

то язык программирования (ассемблер или Си) IMHO тут не при чём. Нужны книги именно по архитектуре компьютера и ОС

Чтоб знать, как работает ОС, думаю понадобится не один год упорных занятий, знание языков программирования и энглиш IMHO нужно.

Это сообщение отредактировал(а) nurik3 - 22.3.2010, 13:03
PM MAIL   Вверх
sdukshis
Дата 22.3.2010, 23:20 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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
PM MAIL   Вверх
borisbn
Дата 23.3.2010, 07:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



sdukshis, +1 smile
Почти в точности совпадает с моей историей. 
Я бы ещё добавил
- руководитель группы программистов smile


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
NightmareZ
Дата 23.3.2010, 07:36 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


[хакер]
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 10.8.2006

Репутация: 0
Всего: 13



Цитата(GoldFinch @  22.3.2010,  00:52 Найти цитируемый пост)
на С\С++ прикладные программы тоже не пишут. причина та же.


Ржунимагу. Надо же такую ересь сморозить. На C/C++ написаны горы прикладных программ.... я даже не знаю, с чего начать.... ну, первое, что в голову приходит....

GIMP, растровый графический редактор. Написан на C:
user posted image

Среда рабочего стола KDE. Написана на C++:
user posted image

Photoshop. Растровый графический редаторк. Написан на C:
user posted image

Pidgin. Чат-клиент. Написан на C:
user posted image

Продолжать можно до одурения.

Это сообщение отредактировал(а) NightmareZ - 23.3.2010, 07:56


--------------------
NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш
Ely-Art.ru - наша маленькая домашняя арт-студия
mugcraft.ru - кружки на любой вкус
PM WWW ICQ Skype GTalk AOL YIM   Вверх
nurik3
Дата 23.3.2010, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 21.3.2010

Репутация: нет
Всего: нет



Спасибо за сообщение (и за дерево), все очень понятно.
 
   У меня  вопрос к вам (sdukshis) как преподавателю, скорее просьба. Понимаете, есть много советов, ссылок, сайтов, форумов, хороших и нехороших книг, все это льется из интернета как из ведра вода на голову, можно и захлебнутся. Можете дать советы (ссылки, учебники), как все это систематизировать, нужна методика изучения, некий учебный план, что очень важно и не обязательно в изучении. Имеется ввиду не к одному языку программирования, а вообще, ко всему, что относится под понятие быть специалистом по ИБ.
   Сам я взялся сначала за Си, через пару дней схватился за ассемблер, потом опять за Си, а теперь ищу книгу Pascal Н.Культина. Почему Культина, а потому что где-то на форуме кто-то написал, что это самая самая, при этом я без понятия, правда это или нет. 
  Наверно, все это неправильно, правильно пойти в институт, но надо еще школу закончить.

Это сообщение отредактировал(а) nurik3 - 23.3.2010, 07:49
PM MAIL   Вверх
NightmareZ
Дата 23.3.2010, 07:58 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


[хакер]
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 10.8.2006

Репутация: 0
Всего: 13



Цитата(nurik3 @  23.3.2010,  07:38 Найти цитируемый пост)
а потому что где-то на форуме кто-то написал


Дык, может, сначала нужно головой пользоваться научиться, а не верить тому, что на заборе пишут?

Добавлено через 5 минут
Цитата(sdukshis @  22.3.2010,  23:20 Найти цитируемый пост)
 - научиться программировать: Pascal (управляющие конструкции, строковые алгоритмы, алгоритмы поиска и сортировки, структуры данных, алгоритмы на графах и т.д.)


Цитата(sdukshis @  22.3.2010,  23:20 Найти цитируемый пост)
- писать программы не рассчитывая понять как они реально работают: С++ (изучаю его уже много лет, и все время узнаю о нем много нового)


Цитата(sdukshis @  22.3.2010,  23:20 Найти цитируемый пост)
- освоить язык промышленного уровня, для работы с которым и не надо знать как он работает: Java, C#


Преподаватели такие преподаватели. Я всё больше убеждаюсь, что у нас чаще всего идут преподавать люди, которые на программистском поприще ничего добиться не смогли.


--------------------
NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш
Ely-Art.ru - наша маленькая домашняя арт-студия
mugcraft.ru - кружки на любой вкус
PM WWW ICQ Skype GTalk AOL YIM   Вверх
nurik3
Дата 23.3.2010, 09:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 21.3.2010

Репутация: нет
Всего: нет



Цитата

Дык, может, сначала нужно головой пользоваться научиться, а не верить тому, что на заборе пишут?

я писал:
 ...а потому что где-то на форуме кто-то написал, что это самая самая, при этом я без понятия, правда это или нет...

Ну а вы сами что думаете про Культина, хорош он как автор книг
Цитата

Если ты хочешь писать программы для ОС и всё что связано с Операционной системой, тогда изучай Асемблер. Если же ты хочешь писать визуальные программы, то С++

вот эту цитату можно покритиковать
PM MAIL   Вверх
NightmareZ
Дата 23.3.2010, 09:02 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


[хакер]
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 10.8.2006

Репутация: 0
Всего: 13



Цитата(nurik3 @  23.3.2010,  09:01 Найти цитируемый пост)
Ну а вы сами что думаете про Культина, хорош он как автор книг


Понятия не имею, кто это такой.


--------------------
NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш
Ely-Art.ru - наша маленькая домашняя арт-студия
mugcraft.ru - кружки на любой вкус
PM WWW ICQ Skype GTalk AOL YIM   Вверх
GoldFinch
Дата 23.3.2010, 09:11 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



Цитата(NightmareZ @  23.3.2010,  07:36 Найти цитируемый пост)
Надо же такую ересь сморозить. На C/C++ написаны горы прикладных программ....

ключевое слово - "написаны"
на асмах было написано еще больше программ чем на С++, т.к. асм был когда С++ еще небыло
а на питоне написано совсем немного прикладных программ, по сравнению с С\С++ т.к. питону всего 10 лет
а на Go, по сравнению с С\С++, вообще почти ничего не написано

и какой вывод? что прикладные программы сегодня пишут на асме, реже на С\С++, а Go вообще не подходит для написания прикладных программ?

сегодня пишут прикладной софт на С++, только под те платформы где кроме С++ ничего нет,
и те кто кроме С++ ничего не знает.

> Photoshop. Растровый графический редаторк. Написан на C:
на С или на С++ ? неужели Adobe разработали GIL, и не юзают ее? 
PM MAIL ICQ   Вверх
nurik3
Дата 23.3.2010, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 21.3.2010

Репутация: нет
Всего: нет



Да тема не о том, что на чем писали, пишут, будут писать.
Я хотел бы выучить и asm, и Си, и С++ . Понимаю, труд не из легких.
Вот bsa  выучил сначала asm, потом Си/С++, borisbn, sdukshis Си/С++, потом asm. 
Есть ли разница, что сперва? 
("без разницы, все зависит от желания, трудолюбия, способности" - про это ненадо)


Это сообщение отредактировал(а) nurik3 - 23.3.2010, 11:08
PM MAIL   Вверх
GoldFinch
Дата 23.3.2010, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



nurik3, 
а тебе все это зачем?
если писать программы - питон, или для программ с GUI - C#
если писать malware и прочие низкоуровневые системные вещи - однозначно асм, С\С++ для этого не нужен

PM MAIL ICQ   Вверх
azesmcar
Дата 23.3.2010, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



nurik3

Учи то, за что платят, программирование это не искусство а ремесло.
PM   Вверх
nurik3
Дата 23.3.2010, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 21.3.2010

Репутация: нет
Всего: нет



Цитата
Учи то, за что платят, программирование это не искусство а ремесло.

если писать malware и прочие низкоуровневые системные вещи - однозначно асм, С\С++ для этого не нужен

А что, программистам, знающим asm и Си не платят?
Разве на Си нельзя писать низкоуровневые системные вещи?


Это сообщение отредактировал(а) nurik3 - 23.3.2010, 12:36
PM MAIL   Вверх
azesmcar
Дата 23.3.2010, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



nurik3

только не надо соединять цитаты разных людей.

Цитата(nurik3 @  23.3.2010,  12:33 Найти цитируемый пост)
Неужели программистам, знающим asm и Си не платят?

ты меня спрашиваешь? посмотри вакансии в своем городе. В основном сейчас все переходят на .NET. Вакансий на Си (а тем более на ассемблер) очень мало. Открой любой job portal и посмотри.

PM   Вверх
bsa
Дата 23.3.2010, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



nurik3, ядра ОС пишут на Си со вставками ассемблера. Чисто на ассемблере пишут ну ОЧЕНЬ мало кода. Так как поддерживать его ОЧЕНЬ сложно. Особенно, при переносе на другую архитектуру - придется полностью переписывать (набор команд ассемблера зависит от процессора). Си в этом плане проще, так как если код не содержит ошибок, то перенос будет безболезненным.
Поэтому, забудь о ассемблере! О нем ты должен будешь вспомнить только тогда, когда выбранным тобой языком высокого уровня возникшую проблему будет не решить.
С и С++ по хорошему, тоже изучать не стоит, пока ты не поймешь, что такое программирование вообще и с чем его едят. Лучше начинать с бейсика. Он простой и линейный. Когда его возможностей будет недостаточно, можно перейти на паскаль, там возможностей больше, но он менее запутанный, чем С и, тем более, С++.
Или сразу собрался заняться системным программированием?
PM   Вверх
GoldFinch
Дата 23.3.2010, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



bsa, все же лучше начинать не с умерших бейсика и паскаля, а с чего нибудь более живого, на чем можно решать реальные задачи, если не для работы, то "для дома, для семьи"
PM MAIL ICQ   Вверх
W4FhLF
Дата 23.3.2010, 13:21 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



Такое ощущение, что автор выбирает жену, а не ЯП. smile 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
nurik3
Дата 23.3.2010, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 21.3.2010

Репутация: нет
Всего: нет



Цитата

Или сразу собрался заняться системным программированием? 

Спасибо за действенное сообщение, бейсик учил, про паскаль ничего не знаю, берусь за него, хотя бы для знакомства.
Вот про системное программирование, есть желание, независимо от того, платят, не платят, просто интересно. Когда начал учить asm, было нетрудно, а главное интересно, без всяких зубрежек.  
Цитата

посмотри вакансии в своем городе. В основном сейчас все переходят на .NET. Вакансий на Си (а тем более на ассемблер) очень мало

Ну а специалисты в области безопасности и защиты информации никому не нужны?
Как противодействовать кражам, вирусам всяким? Им (специалистам) не надо знать asm, Си?

Добавлено через 5 минут и 39 секунд
Цитата(W4FhLF @ 23.3.2010,  13:21)
Такое ощущение, что автор выбирает жену, а не ЯП. smile

Я давно все выбрал, сразу три жены:  asm, Си, C++. Только с какой начать брачную ночь? А может с тремя сразу?
PM MAIL   Вверх
azesmcar
Дата 23.3.2010, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(nurik3 @  23.3.2010,  13:28 Найти цитируемый пост)
Как противодействовать кражам, вирусам всяким? Им (специалистам) не надо знать asm, Си?

ну уж точно не с помощью ассемблера smile кражи - это вообще из области безопасности веб технологий.

Цитата(nurik3 @  23.3.2010,  13:28 Найти цитируемый пост)
Ну а специалисты в области безопасности и защиты информации никому не нужны?

а причем тут программирование?

хочешь учить Си - учи, ради бога, учи ассемблер, потом Си, потом можешь выучить еще что нибудь...лет эдак через 20, когда выйдет .NET 85.3 перейдешь на него и найдешь может быть найдешь работу. Повторяю, языки и технологии выбирают исходя не из личных предпочтений а из соображений востребованности. На 2000 вакансий C# приходится одна вакансия на ассемблер. Удачи smile 

Это сообщение отредактировал(а) azesmcar - 23.3.2010, 13:42
PM   Вверх
GoldFinch
Дата 23.3.2010, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



для системного программирования не надо уметь писать на С\С++
(хотя очень полезно уметь читать исходники на С\С++)

так что лучше начать с асма
PM MAIL ICQ   Вверх
Genady
Дата 23.3.2010, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 25.6.2009

Репутация: нет
Всего: нет



Я тоже начал программировать на Ассемблере, причём на debug, ну не было у меня компайлера и линкера под рукой, желание научиться программировать - было настолько сильным, а ассемблер можно было изучать на люмбом компе, вот с него родного я и начал - и не сколько об этом не жалею,знания полученные мной благодаря ассемблеру - для меня очень ценны, а всё началось с простой програмки в 94_м, на курсе техников P.C. То была програмка Scan, заинтересовался - что, как, для чего, начал с нуля, в итоге например - написал програмку для вычисления суммы арифметической прогрессии с вводом с клавиатуры параметров и выводом на экран - результата, программка также сообщала о переполнении регистров и - и завершала свою работу в таком случае, а также сообщала об ошибке ввода данных, кроме того - программка работала в двух режимах по умолчанию или по режиму заданному специальной командой с клавиатуры, когда всё это заработало - радовался как ребёнок, если учесть что написана она была на как я написал выше на дебаге, и литературы под рукой у меня не было, и интернета что бы спросить - тоже, разве что помогло знание железа и назначение интерапторов.Некоторые продвинутые техники PC с помощью дебага - пишут маленькие програмки для диагностики и проверки узлов PC.

Это сообщение отредактировал(а) Genady - 23.3.2010, 14:48
PM MAIL   Вверх
nurik3
Дата 23.3.2010, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 21.3.2010

Репутация: нет
Всего: нет



Цитата

Повторяю, языки и технологии выбирают исходя не из личных предпочтений а из соображений востребованности
Многие тысячи людей занимаются такими вещами, как программирование, объединяются в группы, находят друзей, врагов, тратят все свое драгоценное время, кучу денег, зубрят такую науку, где высшмат отдыхает, и толкают их на это личные предпочтения.
В чем плохого, что я изучаю asm или Си, мне это нравится и плевать, найду я работу по теме или нет. А то что специалист, работающий в сфере безопасности и не знает asm - это минус, хотя и не обязательно знать этот язык.

Это сообщение отредактировал(а) nurik3 - 23.3.2010, 14:52
PM MAIL   Вверх
azesmcar
Дата 23.3.2010, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(nurik3 @  23.3.2010,  14:46 Найти цитируемый пост)
В чем плохого, что я изучаю asm или Си, мне это нравится и плевать, найду я работу по теме или нет. 

С этого бы и начинал, тогда в чем вопрос? Учи то, что нравится.. как угодно и что угодно и может ... когда нибудь, лет через 500, когда сожгут все картины в Эрмитаже и в позолоченных рамках там будут висеть не картины а коды, написанные на ассемблере, мои прапраправнуки пройдут мимо и скажут - вот, этот код написал nurik3, смотрите какой зачетный jmp smile 

Это сообщение отредактировал(а) azesmcar - 23.3.2010, 14:52
PM   Вверх
nurik3
Дата 23.3.2010, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 21.3.2010

Репутация: нет
Всего: нет



Цитата(azesmcar @ 23.3.2010,  14:52)
Цитата(nurik3 @  23.3.2010,  14:46 Найти цитируемый пост)
В чем плохого, что я изучаю asm или Си, мне это нравится и плевать, найду я работу по теме или нет. 

С этого бы и начинал, тогда в чем вопрос? Учи то, что нравится.. как угодно и что угодно и может ... когда нибудь, лет через 500, когда сожгут все картины в Эрмитаже и в позолоченных рамках там будут висеть не картины а коды, написанные на ассемблере, мои прапраправнуки пройдут мимо и скажут - вот, этот код написал nurik3, смотрите какой зачетный jmp smile

И я этому буду рад, хоть кто-то про меня вспомнит.
Ну а вы сами знаете Си и asm, как по вашему, что сначала лучше учить asm или си?
PM MAIL   Вверх
azesmcar
Дата 23.3.2010, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(nurik3 @  23.3.2010,  14:59 Найти цитируемый пост)
И я этому буду рад, хоть кто-то про меня вспомнит.

Только не забудь, большинство великих художников так и не признали при жизни и умерли они в нищете smile 
Деньги надо зарабатывать, а для души учи хоть BrainFuck, когда будет работа и стабильный доход.

Цитата(nurik3 @  23.3.2010,  14:59 Найти цитируемый пост)
Ну а вы сами знаете Си и asm

asm я учил очень давно и сейчас уже практически ничего не помню.

Цитата(nurik3 @  23.3.2010,  14:59 Найти цитируемый пост)
как по вашему, что сначала лучше учить asm или си? 

Си. Мое мнение - надо начинать с высокого к низкому, так легче для понимания.
PM   Вверх
W4FhLF
Дата 23.3.2010, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



Для кайфа лучше asm. Я помню как меня втыкало когда я писал опкоды и отлаживал программы в ольге. smile Вот недавно делал оптимизацию некоторых мат. функций на SSE, снова почувстсовал. Т.е. просто доставляет. 

Если же хочешь "работать" на результат, то юзай С. 

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

Просто будь готов рано или поздно попрощаться со всей этой романтикой и осознать, что программирование это ремесло (с) azesmcar и ты должен будешь решать реальные задачи в короткие сроки и эффективно. 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
GoldFinch
Дата 23.3.2010, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



Цитата(W4FhLF @  23.3.2010,  15:08 Найти цитируемый пост)
Реализуй, например, кодирование файла в base64 и его отправку по сети 

Код

import socket
from base64 import b64encode

s = socket((socket.AF_INET, socket.SOCK_STREAM)
s.connect('somehost', 8000)
s.sendall(b64encode(open('file.ext').read()))

для таких задач не подходит ни асм, ни С.
на С++ может получиться более менее приличный код, но всеравно питон лучше)
PM MAIL ICQ   Вверх
nurik3
Дата 23.3.2010, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 21.3.2010

Репутация: нет
Всего: нет



Цитата
Только не забудь, большинство великих художников так и не признали при жизни и умерли они в нищете 
Деньги надо зарабатывать, а для души учи хоть BrainFuck, когда будет работа и стабильный доход.
asm я учил очень давно и сейчас уже практически ничего не помню.
Си. Мое мнение - надо начинать с высокого к низкому, так легче для понимания.
 Спасибо за искренние ответы, приму во внимание.
Что сначала: Си или asm, asm ли Си, однозначного ответа никогда не будет.
Осознания романтики и ремесла пока нету. Думаю, тему можно закрывать, спасибо всем. 
 А где кнопка "сказать спасибо"?

Это сообщение отредактировал(а) nurik3 - 23.3.2010, 15:32
PM MAIL   Вверх
azesmcar
Дата 23.3.2010, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(nurik3 @  23.3.2010,  15:30 Найти цитируемый пост)
Что сначала: Си или asm, asm ли Си, однозначного ответа никогда не будет.

смотри по ощущениям, если ассемблер понимаешь - то учи ассемблер. По идее обучаться надо в хронологическом порядке, но в случае с программированием чем дальше тем проще. Я бы не смог начать с ассемблера, когда я только начинал, я даже не знал что такое операционная система, какой уж там ассемблер и двоичный код. Это также зависит от твоего уровня.
PM   Вверх
W4FhLF
Дата 23.3.2010, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



Цитата(GoldFinch @  23.3.2010,  15:30 Найти цитируемый пост)
для таких задач не подходит ни асм, ни С.


Цель ведь научиться, а не решить задачу в кратчайшие сроки.


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
nurik3
Дата 23.3.2010, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 21.3.2010

Репутация: нет
Всего: нет



Цитата

По идее обучаться надо в хронологическом порядке, но в случае с программированием чем дальше тем проще
Вот я об этом и хочу узнать, конкретнее про хронологический порядок. Желание есть, а если учиться как попало, так и желание можно загубить. Вот просил sdukshisа про методику, систему обучения, а он че-то не ответил.


Это сообщение отредактировал(а) nurik3 - 23.3.2010, 16:52
PM MAIL   Вверх
sdukshis
Дата 23.3.2010, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 23.3.2009

Репутация: нет
Всего: 1



Цитата(NightmareZ @ 23.3.2010,  07:58)
Преподаватели такие преподаватели. Я всё больше убеждаюсь, что у нас чаще всего идут преподавать люди, которые на программистском поприще ничего добиться не смогли.

Почти в точку. Только я не программист, а математик.

Программирование это моё хобби, и небольшой заработок.

Добавлено @ 17:24
Цитата(nurik3 @ 23.3.2010,  15:54)
 Вот просил sdukshisа про методику, систему обучения, а он че-то не ответил.

Методик целая куча, вот только хороших я не знаю.

К сожалению по изучению программирования нет одной книжки которую просто прочел и порядок (3-х томник Кнута я в расчет не беру, поскольку не встречал людей, которые прочли бы его до конца).

Вот по изучению языков программирования такие книжки есть, например:
1) Pascal - Н.Вирт: Систематическое программирование
2) C - Кернига, Ритчи: Язык С.

Я предвижу сильную критику, но я бы рекомендовал эмпирический способ обучения, т.е:
Берем "хорошую" книжку, например [1] или [2], и просто начинаем копировать и компилировать все примеры из неё. Потом начинаете вносить в них легкие изменения, потом берете любой задачник по программированию и начинаете решать от туда задачи.

Если после этого вы прочувствуете, что такое написание маленьких программ, то можете уже заняться программированием (классические алгоритмы, методы решения алгоритмических задач, структуры данных и т.д.).

После чего уже выбираете языки, которые Вам интересны и начинаете их изучение и практическое использование.

Если после всего этого, Вам покажется мало, то значит Вы на правильном пути, и путь этот Вы уже выберите сами..

Это сообщение отредактировал(а) sdukshis - 23.3.2010, 17:28
PM MAIL   Вверх
bsa
Дата 25.3.2010, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196




M
bsa
оффтопик перенес во флейм

PM   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1867 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.