The team of CODERS
Высказывайте своё мнение.
Всё возможно.
Всё зависит только от нас,нет ничего невозможного!! ))
2_udaff_ ОФФТОП: У вас в Самаре есть институт иностранных языков?
насколько я знаю,нет...
Ты слышал о таком понятии как программирование в малом и программирование в большом?
слышалА,ну я про программирование в малом понятии
Если он задал рефакторинг в C++ в качестве задачи, то это как раз программирование в большом.
У меня несколько иное представление о программировании в большом.
Как и любой проект, этот должен сочетать в себе, как работу по общей архитектуре, так и по реализации конкретных алгоритмов.
Другое дело, что сам продукт направлен на автоматизацию программирования в большем (хотя, это тоже спорно).
А по поводу предложенной задачи, то ты мог заметить, что она была представленна с некоторой долей скептицизма и отражает реальную необходимость. Даже попытки работы в этой области могут многому научить. Кроме того, а вдруг здесь присутствуют таланты.
Предложения создания новой полноценной ОС или языка программирования выглядят здесь более реальными?
Я написал программу, которая разбирает одну довольно простую структуру на части. Там несколько десятков конечных автоматов и более 20000 команд на Visual C.
А можно по-подробнее о сути задачи и методе решения? Желательно с исходными текстами.
Задача непростая, но на пару порядков проще, чем предложенная мною ранее.
2_udaff_ ОФФТОП: У вас в Самаре есть институт иностранных языков?
Причем тут это? Нет кажется.
О программировании в малом и большом я читал в университете в одной очень старой книге.
Это совсем другое. Но я теоретические вещи очень слабо запоминаю. Еще хорошо, что Vanila_Ice слышала об этом, она надеюсь объяснит и тебе и мне.
Не в том проблема.
1.Есть мнение, что с 5го этажа можно только выброситься, но сместа не можно скочить даже на второй.
В твоем задании, для молодых программистов, первым этажом могло бы быть написание имитатора-дебагера какого-то программируемого микрокалькулятора на языке Flash.
2.Постановка задачи по моему понятию это: Я хотел бы, чтобы вы написали программу, которая пройдет по исходнику С++ и
1.
заменит на
if(x==y)
{
z = 3;
}
...
68.
{
z = 6x + y;
a = 3*i + z;
}
заменит на
z = 6x + y;
for(int16 i = 0; i < n; i++)
{
a = 3*i + z;
}
...
:) :) :)
Эту программу я писал по заказу одной фирмы и она входит в их CRM систему. Sorry. Я только вспомнил его, чтоб охарактеризовать необходимый объем работы.
:devil: я VaniLa_Sky,во-первых,а во-вторых,слышала-это не значит,что я полностью разбираюсь в этом!!
Кстати, просматривая форум, несколько раз наткнулся на вопросы о том, как установить на один компьютер несколько операционных систем с разными типами ФС. Чем не задача, создать универсальный загрузчик, который позволяет держать на одном HDD более четырех разделов, путем динамического изменения Partition Table?
Задача непростая, но на пару порядков проще, чем предложенная мною ранее.
А ты думаешь нет такого загрузчика?
Кстати, просматривая форум, несколько раз наткнулся на вопросы о том, как установить на один компьютер несколько операционных систем с разными типами ФС. Чем не задача, создать универсальный загрузчик, который позволяет держать на одном HDD более четырех разделов, путем динамического изменения Partition Table?
Задача непростая, но на пару порядков проще, чем предложенная мною ранее.
Зачем занова изобретать велосипед?
В твоем задании, для молодых программистов, первым этажом могло бы быть написание имитатора-дебагера какого-то программируемого микрокалькулятора на языке Flash.
Стоп! Я не собирался никому давать "домашнее задание". Ребята хотели реальную проблему для реального проекта. Как говорится, за что боролись...
Хотя, согласен, что перегнул палку, но вроде бы как исправился, предложив задачу по-проще, а? :)
Ну и смотри, мы с тобой про XP поговорили, про стили, рефакторинг, может, кого и заинтересует эта область.
Зачем занова изобретать велосипед?
Ой, какой неправильный подход!
Тогда остается одно из двух: либо отказаться от программирования и любой другой креативной области деятельности, либо изобретать что-то совершенно новое, например, антигравитационные двигатели, искуственный разум, двусвязный список... :D
Ты путаешь два понятия: "изобретать" и "реализовывать". У тебя хватит пальцев, чтоб пересчитать всех производителей и все модели производимых велосипедов? :D
Ой, какой неправильный подход!
Тогда остается одно из двух: либо отказаться от программирования и любой другой креативной области деятельности, либо изобретать что-то совершенно новое, например, антигравитационные двигатели, искуственный разум, двусвязный список... :D
Ты путаешь два понятия: "изобретать" и "реализовывать". У тебя хватит пальцев, чтоб пересчитать всех производителей и все модели производимых велосипедов? :D
Согласен. Но я не об этом. Представим ситуацию.
Linux - ОСь с открытым исходным кодом. Скажем какой-то программист решил внести изменения в ядро. Что он будет делать? Писать занова? Нет.
Он будет модернизировать ядро. Но он не будет писать его с нуля. Здесь скорее всего будет то - же самое...Будет иметь место небольшая модернизация готового "продукта".. (сорри за образность)
Вообще-то Тебе можно верить?
И почему такая расстроенная?
Я же был уверенный, что Ты наряду со всеми программистами, которых я встречал не слышала об этих понятиях. И просто пошутил.
" нельзя же всегда быть такими серьёзными..." это не Твои слава?
Я уже спрашивал, что вообще-то Тебе можно верить? :)
Верить мне можно!
Я не расстроенная,тебе показалось))
На самом деле я не программист,я только учусь!И на этот форум пришла только из-за того,чтобы узнать информацию и по возможности пообщаться со знающими в этой области людьми!
Да,правильно,"нельзя всегда быть такими серьёзными",но и шутить надо с умом!! ;)
Вот ещё что...ты,наверное,намного старше меня,поэтому знаешь больше меня о программировании,но я только интересуюсь этим.
И тем более каждый по-разному понимает эти понятия,о которых ты спрашивал!!
А кем хочешь стать? Программистом или программисткой? (можешь не отвечать)
Спасибо за комплимент.
Программирование в малом. Есть программа. Несколько сот команд. И если программист имеет время, характер, желание, то заставит эту программу работать правильно, даже напротив человеческой и/или математической логики.
Программирование в большом. Есть другие задачи. Целые системы. И если программист не находится хотя бы на уровне этой задачи, что исправляя одну ошибку он вносит 2, 3 новых и этому процессу нет конца. (типа глухо как в танке)
Я имел ввиду, что рефакторинг, это довольно большая задача, много взаимодействующих процессов, и если в коллективе нет хотя бы одного человека, кто уже участвовал в решении таких задачах, то маловероятно, что этот коллектив с этой задачей справится.
Браво!!:} А можно узнать сколько тебе лет? (ради интереса)... Я всё-таки отвечу-на программиста...если ещё поступлю)) сначала экзамены все надо сдать!
Согласен. Но я не об этом. Представим ситуацию.
Linux - ОСь с открытым исходным кодом. Скажем какой-то программист решил внести изменения в ядро. Что он будет делать? Писать занова? Нет.
Он будет модернизировать ядро. Но он не будет писать его с нуля. Здесь скорее всего будет то - же самое...Будет иметь место небольшая модернизация готового "продукта".. (сорри за образность)
Правильно. Так очень часто делается. К примеру в исходниках W2k очень много мест подозрительно схожих с исходниками BSD.
В данном случае за основу можно взять GRUB.
Но многое придется переписать, многое изменить.
Для того, что бы что-то изменить под себя нужно понять код написанный другим.
Что касается загрузчика ОС, таких программ имеет смысл написать хотя бы для того, чтоб овладеть серьезными понятиями. Но снова же, чтоб за нее взяться нужно хорошо знать ОС, Win32 API, Native API
В этой задаче не понадобится (IMHO) глубокие знания Win32 и Native API.
Из Win32 надо, пожалуй только CreateFile("\\\\.\\PhysicalDrive") для NT, CreateFile("\\\\.\\vwin32") и int13, int21 для W9x.
Плюс еще интерфейс пользователя (GUI).
А Native совсем не нужен, все должно быть сработано ещё до его загрузки.
Вот знания форматов различных ФС понадобятся, как и знания загрузчиков (первичных и вторичных).
Та ты вообще малышка. Я думал, что студентка. Ответ отправил через email. ОЧЕНЬ серьезные люди не люблят личные переписки на форуме.
Я,наверное,самый несерьёзный человек на этом форуме):angel: уж простите,такая вот я!!написал бы лучше приватную мессагу))
а за малышку =>P(
Правильно. Так очень часто делается. К примеру в исходниках W2k очень много мест подозрительно схожих с исходниками BSD.
В данном случае за основу можно взять GRUB.
Но многое придется переписать, многое изменить.
Для того, что бы что-то изменить под себя нужно понять код написанный другим.
В этой задаче не понадобится (IMHO) глубокие знания Win32 и Native API.
Из Win32 надо, пожалуй только CreateFile("\\\\.\\PhysicalDrive") для NT, CreateFile("\\\\.\\vwin32") и int13, int21 для W9x.
Плюс еще интерфейс пользователя (GUI).
А Native совсем не нужен, все должно быть сработано ещё до его загрузки.
Вот знания форматов различных ФС понадобятся, как и знания загрузчиков (первичных и вторичных).
ъ
А что исходники винтуекея опубликовали?
ъ
А что исходники винтуекея опубликовали?
Дайте ссылку.
Дайте ссылку.
Если хорошо помню, пару месяцев тому назад было выставлено где-то 600 мб исходного кода Win2000 в инет хакерами. Но этот сайт прикрыли.