|
|
|
|
|
для: cheops
(16.10.2009 в 14:41)
| | Ну незнаю, на дневном я учился на кораблестроителя.
После пяти лет обучения, работая в соответствующей конторе, я вполне мог построить танкер или сухогруз.
Учился в основном по-книжкам, на лекции влом ходить было. | |
|
|
|
|
|
|
|
для: Borec
(16.10.2009 в 13:17)
| | >>Да им то какая разница... им заботы нет об устройстве жизни прикладного программиста. >>Им интересно решение их собственных задач. Им нужен уверенный в своих силах
>>разработчик, которого не пугала бы сама постановка задачи.
>А где эту хрень изучить можно ? Да и вообще, где что либо можно изучить ?
Уверенность в собственных силах? Это только опытом можно добиться. Почитать конечно можно кое-что, но просто чтение ничего не даст. Нужны победы в области, где вам требуется уверенность - по другому её не заработать.
>А сами вы знаете Ассемблер ? Ну вы, например, МК ?
Немножко знаю. Но я плохой ассемблерист вот в каком плане. В кикбоксинге, каратисты в основном бьют ногами, а боксеры руками. Вот и я в ассемблере вызываю функции Си, операционной системы - в общем всячески мухлюю с точки зрения ассемблериста, который все пишет сам от начала до конца. Из-за этого я могу работать быстро, но программа получается все равно, что на Си - т.е. проще на нём и писать.
> Кстати да, в вашей книжке по Си++ все
>здорово и прикольно, одно не понятно, нафига это надо ?
Да, это проблема. В книгу невозможно поместить все. Есть книги для обучения, есть методологические книги, есть практические. Когда создается книга - она преследует одну цель (много целей она преследовать не может - иначе получится плохая книга). Мы не ставили целью объяснить область действия и возможности C++ - это другую книгу нужно писать, ориентированную на человека, который C++ знает.
>Поидее все книжки в жизни использовал так, не читал от корки до корки,а юзал как
>справочник, когда задача уже поставлена.
Не всегда это оправдано - некоторые книги нужно серьезно прорабатывать, читая много раз, так, чтобы некоторые моменты помнились наизусть и уходили на уровне второй сигнальной системы. Это вот с чем связано: некоторые знания требуют других знаний, чтобы их усвоить, они у вас должны быть уже в голове - получится воспользоваться справочником. Это относится и к языка программирования - библиотеку вы можете не запоминать и пользоваться книгой, как справочником, чтобы пользоваться языком - его придется выучить, даже не зазубрить, а внедрить в сознание гораздо глубже, чем дает зубрежка.
> Ну учиться конечно лучше на учебных задачах, во время учебы в ВУЗ, благо чего-чего, а
>времени там навалом.
Что-то не помню, чтобы в ВУЗе было времени навлом :))), на самом деле ВУЗовские задачки не плохие, но реальности они учат не очень хорошо. Если ориентироваться на профессиональную область - лучше как раз сразу браться за реальную задачу - она вам раскачиваться не даст и потребует значительных знаний. Потом, когда знания будут вам попадаться на глаза - вы к ним будете с гораздо большим интересом и вниманием относиться. ВУЗовские задачи такой мощной мотивации лишены. | |
|
|
|
|
|
|
|
для: cheops
(16.10.2009 в 14:26)
| | >Человек должен заниматься всем. Да, великим НЛП-специалистом или гениальным музыкантом и художником каждый не станет - для этого талант нужен. Однако, заставить металлическую хреновину работать как нужно - это под силу большинству.
Да вы что ! На этож тьма времени уйдет ! Откуда оно у работающего человека ? | |
|
|
|
|
|
|
|
для: Borec
(16.10.2009 в 13:19)
| | >Какие задачи решали ? Как все получалось ?
В основном проба на вкус, нужно мне это и если нужно какие задачи можно решать с его помощью. Где-то на форуме PHP валяется, например, Windows-калькулятор, который весит меньше 10Кб - вроде Windows-программа (кнопки, поле ввода), а весит всего ничего. Очень эффектно, но что-то большее будет просто напичкано всевозможными ошибками.
>Выж химик, я не к тому, что химик освоить чего-то не может, а к тому, что для изучения такой
>замысловатой бяки как ассемблер надо практику хорошую и свободное процессорное врямя
>в мозгах.
Ну собственно я себя химиком никогда не ощущал и не привязывался к специальности: все, тут я буду жить до старости. Нет, химия - это один из аспектов жизни и никогда я на неё серьезно не ставил. Всегда резервировал время для того, чтобы пошуровать в соседних или далеких от текущей областях. Да и химик я был немного странный - мы были расчетчиками, т.е. больше имели дело с компьютерами, программами. Часто приходилось очень интенсивно и с колес врубаться в программные комплексы и языки программирования. Я и сейчас быстрее вычислю потенциальный барьер какой-нибудь реакции, промоделирую спектр, чем поставлю синтез. Т.е. изначально была у меня ориентация на языки программирования, тем более по негласному штатному расписанию я выполнял функции программиста начиная со второго курса университета.
Человек должен заниматься всем. Да, великим НЛП-специалистом или гениальным музыкантом и художником каждый не станет - для этого талант нужен. Однако, заставить металлическую хреновину работать как нужно - это под силу большинству. | |
|
|
|
|
|
|
|
для: cheops
(16.10.2009 в 13:09)
| | >Я сошел с дистанции ещё раньше, работал только с tasm и masm (в основном с последним). Нет коммерческих перспектив: да, очень маленькие программы, но привязка к процессору, время разработки, сложность и требование высокой квалификации практически исключает пересечение ассемблера и денег. Последнее означает, отсутствие интересных и востребованных задач, позволяющих профессионально развиваться дальше в отрасли.
Какие задачи решали ? Как все получалось ?
Выж химик, я не к тому, что химик освоить чего-то не может, а к тому, что для изучения такой замысловатой бяки как ассемблер надо практику хорошую и свободное процессорное врямя в мозгах. | |
|
|
|
|
|
|
|
для: cheops
(16.10.2009 в 13:01)
| | >Да им то какая разница... им заботы нет об устройстве жизни прикладного программиста. Им интересно решение их собственных задач. Им нужен уверенный в своих силах разработчик, которого не пугала бы сама постановка задачи.
А где эту хрень изучить можно ? Да и вообще, где что либо можно изучить ?
>PS Тем более осваивая Си волей неволей приходится залазить в системную область, даже если в душе прирожденный прикладник. Это плата за скорость и эффективность. Хотите срезать угол - будте готовы за это заплатить сложностью.
А сами вы знаете Ассемблер ? Ну вы, например, МК ? Кстати да, в вашей книжке по Си++ все здорово и прикольно, одно не понятно, нафига это надо ?
Поидее все книжки в жизни использовал так, не читал от корки до корки,а юзал как справочник, когда задача уже поставлена. Ну учиться конечно лучше на учебных задачах, во время учебы в ВУЗ, благо чего-чего, а времени там навалом. | |
|
|
|
|
|
|
|
для: exp
(16.10.2009 в 12:58)
| | Я сошел с дистанции ещё раньше, работал только с tasm и masm (в основном с последним). Нет коммерческих перспектив: да, очень маленькие программы, но привязка к процессору, время разработки, сложность и требование высокой квалификации практически исключает пересечение ассемблера и денег. Последнее означает, отсутствие интересных и востребованных задач, позволяющих профессионально развиваться дальше в отрасли. | |
|
|
|
|
|
|
|
для: Borec
(16.10.2009 в 12:17)
| | >Почемуй-та они правильно делают ? Откуда простому прикладному программисту про такое
>знать ?
Да им то какая разница... им заботы нет об устройстве жизни прикладного программиста. Им интересно решение их собственных задач. Им нужен уверенный в своих силах разработчик, которого не пугала бы сама постановка задачи.
PS Тем более осваивая Си волей неволей приходится залазить в системную область, даже если в душе прирожденный прикладник. Это плата за скорость и эффективность. Хотите срезать угол - будте готовы за это заплатить сложностью. | |
|
|
|
|
|
|
|
для: Borec
(16.10.2009 в 10:34)
| | я
, немного изучал :)
Ничего такого особенного правда не написал на нём , но немного понял саму структуру программ под вин32с ,и ещё меньше под DOS и KolibriOS.
Сначала долго думал какой компилятор выбрать , пробовал примеры на tasm nasm masm fasm, ругался на то что так всё усложнили тем что языков ASM так много.
Потом немного уже лучше усвоив что-то из masm , выбрал всётаки fasm, как более на мой взгляд продвинутый, но с меньшим колличеством кода программ и примеров написанных на нём, и с некоторыми недочётами , некоторые из которых уже исправили пока я отладчиком их вылавливал , и ознакамливался с ними :)
Компиляторы ASM это макроассемблеры как их называют, по сути инструмент для того чтобы написать байткод таким каким нужно, но в символах а не в байтах, и ещё предлагается использовать и создавать кучу макросов, чтобы не переписывать одно и то-же много раз.
В fasm язык для создания макросов более на мой взгляд улучшеный, поэтому fasm мне ближе
После ЯВУ (языков высокого уровня) , приходит острая необходимость (как и в Cи тоже) стараться что-то систематизировать, складывать-раскладывать по полочкам по файлам, давать в разных программах одинаковые имена переменным, и вообще стараться как можно меньше держать в голове. А я только ещё начал с простейшего на мой взгляд, с GUI-приложений под вин32 (почти не отличается от того-же на Си, если ещё и точку входа в Си-программе изменить), и всякие mmx, для работы с double-цифрами вообще ещё слабо себе представляю как использовать.
Ещё неплохо-бы найти отладчик или дизассемблер показывающий листинг таким каким он мог-бы быть для fasm, но там не так много отличий , чтобы не понять что в листинге, если программа своя.
Зато после того теперь как немного чего-нибудь попробую сделать на ASM , в другом языке потом резко забывается то что после вызовов функций и утверждений нужно ставить точку с запятой :) но пару дней ошибок немного опять приучают.
Но это я даже и не пытался пользоваться ассемблерами с AT&T-синтаксисом , а только с INTEL-синтаксисом. AT&T (для меня сложнее возможно потому что я его не знаю) обычно в linux-компиляторах для компиляции исполняемых ELF-файлов, как часть GCC (gnu коллекция компиляторов), для многих микро-процессоров типа motorola тоже вроде AT&T является традиционным , всегда имеет значение только байткод, и без разницы на чём написано, если компилятор не дописывает от себя лишнее. иногда даже уже неважно дописывается-ли что-то ненужное или нет
Но это лично у меня сложилось такое впечатление ,) и оно ненавязчивое
// upd
разобраться с типами и с указателями в ассемблере намного проще
там имеет значение только сколько байт что занимает.
В Си на четыре байта названий типа int, HANDLE, ...... целая куча | |
|
|
|
|
|
|
|
для: Borec
(16.10.2009 в 12:17)
| | >Только ответ "нафига это нужно" лежит в понимании принципов компьютерных вычислений и
>работы ПК вообще, это принципы ассемблера, или я не прав ?
Не совсем, скорее принципы компьютерных вычислений лежат в основе ассемблера. Да, в книгах по ассемблеру они рассматриваются наиболее подробно, так как там без них вообще край. Однако, ассемблер - это в первую очередь процессор и его архитектура - вы работаете с процессором напрямую. Изменить положение диаграммы, открыть рот, всосать воздух, закрыть рот, разместить газ в лёгких, произвести газообмен, изменить положение диафрагмы, открыть рот, выпустить воздух, закрыть рот. На Си вам все равно какой у вас процессор, файловая система, а иногда даже операционная система - вы просто говорите: дышать, при этом широко открывать рот.
Что нужно знать в Си? Как числа бинарные устроены и как в них отдельные биты менять - это кондовая информатика. То что данные и код внавалку лежат в памяти и программе все равно, на что адресу имеет все, начиная с переменной, заканчивая функцией или драйвером? Можно, конечно, почитать первую главу книги по ассемблеру, можно не по ассемблеру. Только не совсем корректно утверждать, что это ассемблер - для работы на ассемблере это тоже нужно и даже больше, чем на Си. Это просто основы информатики, организации бинарных чисел и архитектура компьютера. Есть множество книг посвященных этим вопросам, но лучше их читать после изучения Си, иначе просто закопаетесь, а для простой и легкой проверки не будет инструмента. В поисках руды лучше землю копать лопатой, чем руками в поисках лопаты. | |
|
|
| |
|