Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2010, 19:28   #1
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию Проблемы при разработке

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

Ну и риторический вопрос: смирится или же нужно что то делать с инструментарием? Я вот давно подумываю сделать себе что то вроде фреймворка, наподобии .NET-а(для С++) и аналог MFC для ассемблера, но все никак не пойму в чем моя проблема. Ведь когда я писал ОС - все баги были на мне и я их довольно быстро находил. Да и вся разработка шла как по маслу. А вот под Win32 всегда возникают какие то левые проблемы. Код одинаковый, а через пару перезагрузок баги исчезают.

PS: Помогу я себе конечно же сам, мне просто интересно мнение и опыт других людей.
"Тяжело в учении, легко в бою" - А.В. Суворов
Ivan_32 вне форума Ответить с цитированием
Старый 10.04.2010, 19:46   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Когда Вы пишите свою ОС, вы пишите код такой, что идеально вкладывается и структуризируется в вашем мозгу. Win32 - Это результат работы других программистов, и наверняка полное знание API и идеальное понимание его Вы не имеете, соответственно возникают "какие то левые проблемы".
А по теме, если проект серьезно, всегда приходится иметь дело с MSDN, спецификациями других производителей (Twitter, Facebook, Youtube, Flickr и др.), нервы всегда трачу, но обычно после 3-4 часов ступора на месте я бросаю до следующего дня, а там сажусь с новыми силами + то что было вчера уже уложилось в голове, и проблема решается.
BOBAH13 вне форума Ответить с цитированием
Старый 10.04.2010, 20:00   #3
Leo_ня
 
Регистрация: 03.01.2010
Сообщений: 7
По умолчанию

Проблема такая же.

Имею знания, как написать Hello World на FASM.
Спрашивал, с чего начать - советовали Калашникова. Почитал. Совершенно неактуально для Windows. Куча потраченного времени.
Да, я умею использовать регистры процессора, могу использовать озвученные там прерывания, команды. Всё.
Посоветовали туториалы Iczelion'а. Ну и, я научился юзать предложенные там WinAPI, использовать тот каркас программы и всё.
В голове ничего, на практике это не особо поможет. Опять куча потраченного времени.

Теперь советуют сразу переходить к написанию каких-то мелких проектов.
Допустим, я уже имею какое-то понятие. У меня есть IDE RadASM, настроенная на FASM.
Я смогу накидать там в диалог кнопочек и едитов, потом вызвать DialogBoxParam и обрабатывать сообщения.

Вот, то что я знаю. И тут начинаются проблемы.
Откуда я мог узнать, что для того, чтобы "текст в окне был не жирный и стиль кнопок\едитов было XP'шный", мне нужно в ресурсах прописывать манифест? Из гугла? Хорошо, я смог найти это в гугле.

Сейчас я хочу использовать ProgressBar. Но DialogBoxParam не знает о существовании класса "msctls_progress32" и возвращает ошибку CANNOT_FIND_WND_CLASS.
И вот опять я встаю в тупик. Я понятия не имею, почему оно не работает.
Я спрашиваю у друга в аське, ищу в гугле. Ну, друг мне говорит, что нужно вызвать InitCommonControls.

И откуда мне достать эту информацию, кроме как из гугла или попрошайничества в аське и на форумах?
Неужели, чтобы спокойно писать на ассемблере под Windows мне нужно постоянно изобретать велосипеды, гуглить, гуглить, спрашивать у других?
Неужели профессиональные программисты учаться программировать в гугле? Ведь всё это должно быть где-то описано и необязательно на английском языке, который я плохо знаю -_-
Я не могу найти ничего кроме второсортных гайдов и туториалов, где от хеллоуворлда и пары винапи, циклов, функций, переходят к написанию вируса путём копипаста из интернета.

Руки опускаются, хочется забить на всё это. Просто скажите, где вы находите нужную информацию?...
Leo_ня вне форума Ответить с цитированием
Старый 10.04.2010, 21:36   #4
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Опыт, сын ошибок .... Советы неуместны.
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 10.04.2010, 21:55   #5
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Цитата:
Сообщение от Leo_ня
Посоветовали туториалы Iczelion'а. Ну и, я научился юзать предложенные там WinAPI, использовать тот каркас программы и всё.
В голове ничего, на практике это не особо поможет.
Так может потому и не поможет, что в голове ничего не осталось. В тех же туториалах Iczelion'а написано и про InitCommonControls и про ресурсы.
Просто надо не только читать, а сразу читать и делать.

Я когда начинал, у меня были туторы Iczelion'а (уже даже и не помню, откуда) справка по WIN_API из Delphi выдернутая ну и масм со своей пачкой примеров на все случаи жизни и всё (интернета не было). Друзей, которые бы занимались чем-то подобным, тоже не было. А ещё была железяка, которую надо было подружить с COM-портом. Так они и программировались параллельно - контроллер и процессор. А так как Mega писалась на ассемблере, а целые куски кода были, по сути, одинаковы, что для контроллера, что для компа, то, как-то влом было переписывать на C для компьютера. Так и прикипел к ассемблеру.
Отладчиками, дизассемблерами и IDE не пользуюсь. Отношение к отладчикам негативное, опять таки предрассудки с железа остались - врали они тогда. На эмуляторе прогонишь вроде программу, посмотришь - всё классно. Зашиваешь в контроллер, и начинаются чудеса.

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

Цитата:
Сообщение от Leo_ня
Руки опускаются, хочется забить на всё это.
А никто и не говорил, что толжно быть всё просто и на блюдечке.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 10.04.2010, 23:41   #6
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

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

Баги бывают конечно, не без этого, разной степени ужасности

з.ы. Ух, тяжело вам, ассемблерщикам
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 10.04.2010, 23:44   #7
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Цитата:
Парадокс программиста - не делай сегодня то, что завтра на свежую голову сделаешь в два раза быстрее.
Просто мозг во сне баги правит=)
И хватает же ему памяти, что бы сохранить код... да и мощности... Чудо!
Levsha100 вне форума Ответить с цитированием
Старый 12.04.2010, 23:30   #8
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Когда тоже начинал, то мне попались туториалы Рикардо Нарвахи, именно от туда я понял зачем нужны всякие там команды асма и что такое API. Несмотря на то, что хоть эти туториалы не относились к программированию, но для меня они стали отправной точкой. Про туториалы Икзелиона узнал как ни странно относительно недавно, почитал некоторые, которые нужны были мне и по сути всё вытекало из них, смыла читать все не было.
Leo_ня, может ты выбрал не свой язык, а может еще слишком мало опыта в написании прог под Виндоус. Я когда увидел у Икзелиона про RichEdit где было за 1300 строк, то сразу возникла мысль, что человек такого написать не может, ведь почему так много, если на делфи подобное вышло бы на 20 строк. А сейчас кажется, что это не много, а точнее нормально
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 13.04.2010, 12:45   #9
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Если мануалы кажутся бестолковыми - пишите свои! Такими, какими по-вашему они и должны быть. Наверняка найдутся люди с теми же проблемами, и их ваши мануалы спасут.

Когда я неделю разбирался с написанием программ с плагинами на C#, я понял, что нигде нет действительно хороших руководств с объяснениями и примерами. Тогда я написал свой пример. То же относится к статье по WinAPI, которая пошла в журнал, и ещё нескольким starter kit-ам, пылящимся на винте и ждущим свои статей.
ds.Dante вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы при смене ос eros_s Операционные системы общие вопросы 2 05.01.2010 15:26
ClassCastException при разработке плагина igorDanilov Общие вопросы по Java, Java SE, Kotlin 0 14.10.2009 16:11
Проблемы при установке InDy10 Пепел Феникса Компоненты Delphi 2 18.02.2009 16:35
Проблемы при удалении файлов Pavel55 Общие вопросы Delphi 7 10.01.2008 00:45
Реализация объєктно-ориентированого подхода при разработке программы (с использованием нотации Буча) Vikk22 Помощь студентам 3 18.11.2007 19:53