Re[7]: Ассемблер
От: FR  
Дата: 13.04.06 06:34
Оценка: +1 :)
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, Sinclair, Вы писали:


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

WH>Ну мой дан позволяет отлаживать программу еще до того как она была написана...

Может даже не писать ее, чтобы избежать багов?
Re[10]: Отладчик
От: FR  
Дата: 13.04.06 06:57
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:


СГ>этой информации более чем достаточно, чтобы легко обходиться без отладчика.


Так это и есть отладчик, только кастрированный.
Re: Ассемблер
От: Joker6413  
Дата: 13.04.06 08:48
Оценка:
Здравствуйте, Zigmar, Вы писали:

Z>Тут в в нескольких соседних темах проскакивали мнения на тему того, что мол, ассемблер умер и знать/учить его не нужно. Позволю не согласиться. Писать программы не ассемблере сейчас действительно редко когда нужно — а вот знать обязательно. Сколько раз я уже наблюдал как программист С/С++ оказавшись в дебагере и увидев ассемблерный код впадал в ступор и терял дар речи.


А что он должен был делать?

Z>Не зная ассемблера и как работает процессор, невозможно понять очень многих вещей, включая оптимизацию.


Например каких вещей? Оптимизацию в какой области?

Z>Как объяснить человеку, который не представляет, что такое процессор сколько "стоит" вызов функции, что такое дефрагментация памяти и переключение контекстов.


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

Z>И таких примеров куча.


Ну еще хотя бы 3...

Z>Да, можно программировать не зная основ, вопрос как и зачем?


Согласно требованиям и проектной документации. А основы это — ООП, алгоритмы и знание концепций операционной системы.

Z>Так что, языка высоко уровня это удобно и полезно, но про "корни" тоже забывать не следует. И, кстати, в нормальных учебных заведениях, в обязательном порядке идет курс-другой по микропроцессорам, электронике и ассемблеру.


А реальному процессу разработки учат в "нормальных учебных заведениях"? Имхо приоритеты несравнимы.
Re[3]: Ассемблер
От: Joker6413  
Дата: 13.04.06 08:50
Оценка:
Здравствуйте, Zigmar, Вы писали:

Z>Здравствуйте, Mystic, Вы писали:

M>>Это примеры того, когда ассемблер действительно нужен. Но этим не исчерпывается IT.
Z>Естественно. Это было мнение на тему того, что многие в IT слишком зацикливаются на отдельных парадигмах. Я, например, не раз слышал как люди рассуждали о скорости Java/C#/Python/(...) против C++/C/(...), даже не представляя себе как работает виртуальная машина этих языков.

А для большинства задач имеет смысл изучать как работает виртуальная машина? Ее реализация может меняться каждые полгода. Может лучше фрейморки с applicaton block-ами поизучать?
Re[8]: Ассемблер
От: Kemsky  
Дата: 13.04.06 09:43
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


Знаете, боюсь. Переполнение может случиться. И дан станет отрицательным
Re[4]: Ассемблер
От: prVovik Россия  
Дата: 13.04.06 09:51
Оценка: +1
Здравствуйте, Joker6413, Вы писали:

J>А для большинства задач имеет смысл изучать как работает виртуальная машина? Ее реализация может меняться каждые полгода.

Изучать надо не для задачь, а для программиста
Для общего развития можно даже реализовать простую виртуальную машину.

J>Может лучше фрейморки с applicaton block-ами поизучать?

Одно другое не исключает. Тем более, что изучение какого-нибудь ассемблера — это ТРИВИАЛЬНЫЙ курс, который не сравнится по сложности, например, с курсом по базам данных. При этом, курс ассемблера, несомненно расширит кругозор студента, поможет ему более глубоко и полно понять компьютерную науку. Ведь чем бы он потом не занимался: писал бы SQL запросы, писал бы на JavaScript, или драйверы — всеравно результат его деятельности будет рано или поздно проебразован в последовательность ассемблерных команд, которые выполнит процессор. И я не вижу причин, чтобы скрывать сей факт от студентов, опасаясь за их психологическое здоровье. Ведь это и есть те самые фундаментальные знания, которые должен давать университет. Там же не "Гашишей Кумаров" должны готовить, верно?
лэт ми спик фром май харт
Re[9]: Отладчик
От: busybox  
Дата: 13.04.06 09:54
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH> Ты вобще в комманде работал? Тут как не обороняйся, а если большую часть кода проекта ты в глаза не видел ты не сможешь со 100 процентной уверенностью сказать что сломалось. Може ты чего накосячил, а может и кто-то другой. Болие того этот кто-то другой может уже и не работать над этим проектом, а может и в этой конторе...

WH>А даже если и работает со словами что-то сломалось к другому разработчику не пойдешь. Болие того нужно еще выяснить к какому именно идти.
WH>А самое интересное что в большинстве случаев проще и быстрее самому исправить ошибку в чужом коде. Бывают конечно случае когда приходится пинать автора но они в сильной комманде редки.

В точку!

Да и вообще нигелизм в отношении дебагера на мой взгляд с родни плевкам любителей "нотпада" в сторону студии. Я понимаю что и круглое можно нести, и квадратное — катить, но отрицать прогрессивные (только не надо смеяться) технологии, однозначно облегчающие жизнь в том или оном смысле, — на мой взгляд, — признак шаловливого детства, играющего в известном месте


Любителям обходиться без дебагера очень рекомедую смотреть в сторону М. Фаулера "Рефакторинг: улучшение существующего кода", в особеннсоти методологии самотестирующихся классов


ПС ИМХО дебагер рулит однозначно
Re[9]: Ассемблер
От: Sinclair Россия https://github.com/evilguest/
Дата: 13.04.06 10:30
Оценка:
Здравствуйте, Kemsky, Вы писали:
K>Знаете, боюсь. Переполнение может случиться. И дан станет отрицательным
Не волнуйся. Задолго до переполнения ты сможешь удовлетворять нужды пользователей вообще без программирования и отладки.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[11]: Отладчик
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 13.04.06 12:15
Оценка:
Здравствуйте, FR, Вы писали:

СГ>>этой информации более чем достаточно, чтобы легко обходиться без отладчика.


FR>Так это и есть отладчик, только кастрированный.


Это уже терминология...

В отладчике можно "сидеть". Есть такое словосочетание — "сидеть в отладчике", т.е. выполнять программу по шагам, видеть всю память, все регистры процессора, исполняемые машинные команды. Короче, "сидеть в отладчике" — это самая увлекательная компьютерная игра на свете.

То что я показал в предыдущем сообщении, есть визуализатор "посмертной" информации с гиперссылками на исходный текст. Информация для него добывается с помощью средств метапрограммирования, т.е. никакой такой дебажной или релизной версий программ в Blackbox нет — все программы можно с равным успехом считать как дебажными так и релизными. Метапрограммирование не даёт произвольного доступа к памяти, регистрам процессора, не покажет исполняемые машинные команды и т.п. Этот визуализатор посмертной информации можно использовать в целях отладки программ, но под отладчиком (дебагером) обычно понимают нечто иное.
Re[12]: Отладчик
От: Cyberax Марс  
Дата: 13.04.06 13:13
Оценка:
Сергей Губанов wrote:
> В отладчике можно "сидеть". Есть такое словосочетание — "сидеть в
> отладчике", т.е. выполнять программу по шагам, видеть всю память, все
> регистры процессора, исполняемые машинные команды. Короче, "сидеть в
> отладчике" — это самая увлекательная компьютерная игра на свете.
Да. И намного эффективнее отладочной печати.

> То что я показал в предыдущем сообщении, есть визуализатор "посмертной"

> информации с гиперссылками на исходный текст.
И? У меня это есть для С++ (см.
http://www.codeproject.com/debug/XCrashReportPt4.asp). Заменой отладчика
это не является.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[6]: Ассемблер
От: LaptevVV Россия  
Дата: 13.04.06 14:05
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, WolfHound, Вы писали:

WH>>А нормальные люди в таких случаях берут отладчик, цепляются к программе и тормозят ее. После этого смотрят где и что зациклилось, какие значения у переменный, что в стеке и тп
S>Это от недостатка опыта С ростом експы, разработчики все чаще и успешнее применяют т.н. медитативную отладку. Начиная с определенного дана даже в исходик заглядывать становится необязательно.
Совершенно верно! В бытность свою программером бывалыча при ошибке в программе даже распечатывать не нужно — лезешь сразу в нужное место и находишь там ошибку...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Ассемблер
От: gear nuke  
Дата: 14.04.06 03:32
Оценка:
Здравствуйте, Joker6413, Вы писали:

J>А основы это — ООП, алгоритмы и знание концепций операционной системы.


Основа (или фундамент) — то, на чем строится остальное. Можно ли построить программу, не зная ООП или "концепции" ОС? (как Вам UNIX в качестве примера? ). А можно ли построить программу, не зная, что такое байт?

А как насчёт объяснить смысл выделенного терминами любого ЯВУ ?
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Re: Ассемблер
От: vovik_spb Россия  
Дата: 19.04.06 09:18
Оценка: +1
Следует делать то, что интересно.

Интересно постигать премудрости работы процессора — изучай ассемблер.
Интересно быстро создавать функциональные программы — изучай язык высокого уровня и фреймворки.
Интересно зарабатывать деньги — зарабатывай деньги.
Re[2]: Ассемблер
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.04.06 23:05
Оценка: :)
Здравствуйте, vovik_spb, Вы писали:

_>Интересно постигать премудрости работы процессора — изучай ассемблер.

_>Интересно быстро создавать функциональные программы — изучай язык высокого уровня и фреймворки.
_>Интересно зарабатывать деньги — зарабатывай деньги.

Сори, а если интересно тратить деньги, что делать?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.