![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 3 Всего: 106 |
Earnest, согласен )
...тогда я из того числа, кто скажет разумеется, у stl смои минусы, но есть и плюсы, тем не менее. Видишь, по большому счету не в красоте дело, поддержу ptr: разобрать код можно всегда, вопрос сходится только ко времени, которое приходится убивать на это неблагодарное дело. А вообще, в этом плане я не замечал у нас ни каких институтов: учат в основном как писать код, но совершенно не учат как правильно писать код. Вот буржуи - молодцы, они-то уже давно применяют стереотипы командной разработки. Вот, например Фредерик П.Брукс, со своим "Мифический человеко-месяц" какого года книжка, а сколько было споров по поводу статьи "Серебряной пули нет", и когда!!! 1987год. А сколько еще таких книг: "Экстремальное программиррование", "Рефакторинг"... И все это нацелено главным образом на то, чтобы можно было в конкретно детерминировать работу девелопера, и можно было его заменить или добавить в группу, дабы увеличить профессиональную мощь. Мало того, книгами и статьями дело не обошлось, написали не мало софта "для правильного программирования", те же Small Talk, но там жава. На других языках тоже какие-то есть. Бери, пользуйся. Сейчас и в россии тоже в плане софта есть разработки. Только в обучении специалистов дело похоже так и не движется. Печально. Ввели курсы по защите - круто, а что защищать, писать-то еще не научились. -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Не.. не возьмусь ![]() Ну разве что, если удовольствие от процесса получаешь... Только пусть некоторые (не будем говорить кто, хотя это был слоненок ![]() Так что, если "в рамках приличий" и "остаться друзьями" - спорьте на здоровье. ![]() -------------------- ... |
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Полезность каждый определяет для себя
![]() |
|||
|
||||
bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
Кони люди смешались
![]() Мне кажется, что ответ дан исчерпывающий. Вопрос прозвучал: "Проверка на чётность, MS VC ++ 6.0". Приведены примеры и пояснения. Что касается быстродействия, так вот при использовании unsigned value % 2, этот самый шестой вставляет инструкцию div будь то релиз или дебаг. З.Ы.: Что касается человеко-часов, то боже упаси работать с человеком стучащем без рабору по клаве и набирающем 5000 строк кода за 8 часов. Как правило, такой код восприимчив к окружающей среде и погоде ![]() |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Ага, только код от этого у них лучше не становится. Да возьми хотя бы примеры с codeproject (ну не все подряд, конечно). Или какой-нибудь, не дай господи, код университетской разработки: просто поражаешься иногда контрасту между красотой и мощностью идеи, и убогостью реализации. Но за идею спасибо. А код мы и сами напишем, чего там. Наверное, это просто разными местами мозга делается. ![]() Кстати, насчет стереотипов командной разработки: это только сверху, бантик в виде стандартизации описания и т.д. А внутри - дикие по величине кейсы и прочее. За "красоту" кода не платят, плятят за рабочую программу. -------------------- ... |
|||
|
||||
bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
Золотые слова! ![]() |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Точно, затягивает. Особенно когда перешли к битве за красоту - ну как тут удержаться ![]() Это можно сделать только применяя прогрессивный метод "копи-паст". Говорят, индусы так пишут. И ничего, весь мир у них отоваривается. -------------------- ... |
|||
|
||||
Mayk |
|
||||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Прежде чем пойдёт много буковок, напишу что в исходниках явы встречал компромисный вариант.
вот такой вот примерно
![]() Кстати Эти инструкции не эквивалентны. И они возвращают разный результат для отрицательных чисел.
Многие? Это большая часть из прошлого века вероятно. Вот например есть файл
И вот результат bcc 5.5. Он не сделал div. icl 8.0. Он не сделал div. dmc 8.42. Он не сделал div. cl из VS2003. не сделал div. cl из VC7. не сделал div. флаги оптимизации не были выстановлены вообще. компиляторы - не из самых свежих и лучших, а итог... 0 компиляторов сделали деление для получения mod 2. (больше компиляторов под виндой у меня нет. Брэк. Это уже совсем оффтопик. Это сообщение отредактировал(а) Mayk - 24.7.2006, 17:12 -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||||
|
|||||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 3 Всего: 106 |
Это уже зависит от мастерства. Вот, например сайт цита http://citforum.iubip.ru/SE/project/, где одно время были предложены простые правила, на которые опирается сама идея экстремального программирования. Т.е. суть заключается именно в объектно-ориентированном подходе, а материал изложен очень просто: маленькими правилами, которые если даже просто интуитивно применять, приведут к упорядочиванию проекта, в целом, причем не конкретного, а любого проекта. Это наподобие того, что художником не обязательно рождаться, любого можно научить им быть. Сейчас уже не знаю, не заходил, но раньше там большой раздел был, были разделы паттерного программирования, отдельно расписан каждый паттерн и места, где его можно использовать, что-то типа stl, только не ограниченный фантазией самого девелопера. Добавлено @ 17:27 Mayk, отнюдь - это первые источники, которые я заметил, в которых явно демонстрируется то, что ты здесь правильно изложил, а по сути подтвердил:
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
bel_nikita |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
Mayk, Ну, раз имеешь столько компиляторов под рукой ![]() ![]() Если не влом, еще, вот так, попробуй:
|
||||||
|
|||||||
Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Не везде и не всегда, но здесь чуть хуже. bcc и icl и dmc соптимизировали до and eax, 1 сразу же. visual clы оконфузились. Правда /O2 и /O1 даже вправило им мозги на место, и в асме появился and eax, 1. Здесь div появился только в visual c и ТОЛЬКО при /O1 (/О2 и без /O divов не было) В аттаче сырцы(dmc пришлось пускать через дизасм. для того чтобы легко найти во всём листинге main(), в теле функции были введены константы типа 0x1234 ) Вывод. Оптимизаторы рулят. ЗЫ. А вообще в современных условиях иногда можно не то что %2 писать, но даже по многу раз читать одни и те же файлы с винта - всё равно они кэшируются ОСей =) Присоединённый файл ( Кол-во скачиваний: 3 ) ![]() -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
ZeusAtVingrad |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 12.4.2006 Репутация: нет Всего: нет |
[QUOTE=sergej.z,21.7.2006, 17:42]
"3-е состояние" (высокоимпедансное) означает, что активные устройства (формирующие уровень сигнала на шине) от шины отключены. Какой электрический сигнал в это время будет а шине - одному аллаху известно, но если проц задумает его прочитать, то вполне себе получит какое-то случайное значение. А может быть и не случайное, а заранее определённое - в зависимости от типа логики. Одновременно 0 и 1 - это вообще нонсенс какой-то. Как может быть одновременно 0.5В и 3В? Кто-то всегда победит. У процессорных шин архитектуры IBM PC победит 0. Т.е. если одновременно два устройства выдадут на шину - одно 0, а другое 1, то получится 0 (электрически так получается). Так что как-раз как "микрочип" процессор всегда считает с шины или 0 или 1. Никакого 3-го состояния он не увидит. И тем более "одновременно 0 и 1". Добавлено @ 21:01 Я тут немного в сторону скажу, ничего? ![]()
"3-е состояние" шины (высокоимпедансное) означает, что активные устройства (формирующие уровень сигнала на шине) от неё отключены. Какой электрический сигнал в это время будет на шине - одному аллаху известно, но если проц задумает его прочитать, то вполне себе получит какое-то случайное значение. А может быть и не случайное, а заранее определённое - в зависимости от типа логики. Одновременные 0 и 1 - это вообще нонсенс какой-то. Как может быть одновременно 0.5В и 3В? Кто-то всегда победит. У процессорных шин архитектуры IBM PC победит 0. Т.е. если одновременно два устройства выдадут на шину - одно 0, а другое 1, то получится 0 (электрически так получается). Так что как-раз как "микрочип" процессор всегда считает с шины или 0 или 1. Никакого 3-го состояния он не увидит. И тем более "одновременно 0 и 1". |
||||
|
|||||
sergejzr |
|
||||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Если бы микрочипы работали по принципу "одному аллаху известно" , вряд ли чтото путное получилось бы. Ошибки они очень часты и логикой значение (как Вы правильно сказали) должна быть определено. Поэтому просто true/false В некоторых случаях недостаточно. Поэтому появляются троичнай, четв, итд. логики.
Получается Bus Error. Включается высокоомное сопротивление. Во всяком случе процессор работать "не замечая" ошибки не будет. Конечно процессор - более менее отполировання система. Но если Вам доводилось программить на VHDL Вы понимаете, что послать на бус 1 и 0 одновременно особого труда не составляет и что система работать при этом не будет. И кстати как раз undefined при программировании FPGA учитывается. |
||||
|
|||||
ptr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 1 Всего: 14 |
Вообще же я имел ввиду процессоры, которые основаны не на классической двоичной булевой логике, а на троичной ![]() Это сообщение отредактировал(а) ptr - 26.7.2006, 13:17 -------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Ну вот например NULL Convention Logic использует троичную логику (NULL всегда побеждает).
Мы конечно немного о разных логиках говорим ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |