Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Abu Antos' ([info]syarzhuk)
@ 2005-04-12 10:28:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
On Measuring Programmer Productivity
Шмат хто мерае прадукцыйнасьць праграміста радкамі новага коду ў адзінку часу. А я сваю вымяраю радкамі чужога коду, якога стала меней :) Учога рэфактарнуў адзін модуль з 3200 да 2600 радкоў і хаджу давольны. Асабліва мяне бянтэжыць татальная няўмеласьць народу працаваць з лёгікай; толькі што перапісаў такое вычварэньне:
if (blnOne = True) and (blnTwo = True) then
   blnBoth = True
Else
   blnBoth = False
End If
на
blnBoth = blnOne and blnTwo


(Добавить комментарий)


[info]ded_mitya@lj
2005-04-12 12:39 (ссылка)
Код на каком языке?

(Ответить) (Ветвь дискуссии)


[info]syarzhuk@lj
2005-04-12 12:48 (ссылка)
VB, но какая разница? Real programmers can write FORTRAN code in any language :)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ded_mitya@lj
2005-04-12 13:36 (ссылка)
Да я из познавательных соображений.

2. Real men need only command line.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]syarzhuk@lj
2005-04-12 14:20 (ссылка)
Неправда ваша, діду!
Real men don't need a keyboard - they program by using logical switches

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]setska@lj
2005-04-13 04:32 (ссылка)
Image

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]syarzhuk@lj
2005-04-13 07:21 (ссылка)
Image

(Ответить) (Уровень выше)


[info]syarzhuk@lj
2005-04-13 07:22 (ссылка)
What do you mean IDE? We had to code in ones and zeroes! And there were days when we were short of ones...

(Ответить) (Уровень выше)


[info]ygam@lj
2005-04-13 16:37 (ссылка)
Image

(Ответить) (Уровень выше)


[info]ygam@lj
2005-04-12 17:10 (ссылка)
Сейчас смотрел на огромный файл, в котором как минимум 5 раз встречался паттерн:

if (!m_vec.empty())
{
std::vector<CPtr<T>>::iterator iter = m_vec.begin();
for (; iter!=m_vec.end(); iter++)
{
...
}
}


это все равно, что


if (b!=0)
a += b;

(Ответить) (Ветвь дискуссии)


[info]syarzhuk@lj
2005-04-12 18:42 (ссылка)
ага, мало ли что случится, если попробовать поитерировать по пустому вектору

(Ответить) (Уровень выше)


[info]meshko@lj
2005-04-12 18:50 (ссылка)
Последнее, наверное, может быть вполне осмысленным: если b почти всегда 0 и "jz" намного дешевле, чем "add".

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]syarzhuk@lj
2005-04-12 22:24 (ссылка)
Бля, как я люблю эту школу программирования, где внимательно подсчитают, что jz на два процессорных цикла, чем add, но при этом наваяют такие юзверьские интерфейсы, что уходят годы на то, чтобы в них разобраться.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]meshko@lj
2005-04-12 22:37 (ссылка)
Я, батенька, инженер, и Кнута читал. Преждевременная оптимизация -- почти так же приятно, как преждевременная эякуляция.
Я это просто так написал, для поддрежания разговора.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]syarzhuk@lj
2005-04-12 22:46 (ссылка)
- Скажите, Наташа, вас никогда не били мокрым веслом по голой пизде?
- Поручик, да как вы смеете!
- А что? Я просто так спросил, разговор поддержать...

(Ответить) (Уровень выше) (Ветвь дискуссии)

ну да
[info]meshko@lj
2005-04-12 22:51 (ссылка)
Это в общем была цитата.

(Ответить) (Уровень выше)


[info]ygam@lj
2005-04-13 16:35 (ссылка)
Я тоже вспомнил этот анекдот, но из соображений приличия не стал его немедленно выкладывать в журнал.

(Ответить) (Уровень выше)


[info]ygam@lj
2005-04-12 22:38 (ссылка)
http://library.n0i.net/hardware/i8086opcodes/

JZ:

Clocks Size
Operands 808x 286 386 486 Bytes

label: jump 18 8+m 9+m 8 2
no jump 6 4 5 5


ADD:

Clocks Size
Operands 808x 286 386 486 Bytes

reg,reg 3 2 2 1 2
mem,reg 16+EA 7 7 3 2-4 (W88=24+EA)
reg,mem 9+EA 7 6 2 2-4 (W88=13+EA)
reg,immed 4 3 2 1 3-4
mem,immed 17+EA 7 7 3 3-6 (W88=23+EA)
accum,immed 4 3 2 1 2-3

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]meshko@lj
2005-04-12 22:40 (ссылка)
Гы, здорово. Ну я же написал "если", я в ассемблере, мягко говоря, не силён.

(Ответить) (Уровень выше)


[info]syarzhuk@lj
2005-04-12 22:45 (ссылка)
Вот почему я не желаю лезть в хардвер :)

(Ответить) (Уровень выше)


[info]zmila@lj
2005-04-13 03:55 (ссылка)
чалавек прыйшоў у Басік з Жавы. адназначна :))


if ( Boolean.TRUE.equals( bSome ) )
{
...
}


даўнгрэйднуўся чувак.

(Ответить) (Ветвь дискуссии)


[info]syarzhuk@lj
2005-04-13 07:23 (ссылка)
А што, у Жабе нельга напісаць if (bSome) { ... }?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]zmila@lj
2005-04-13 08:49 (ссылка)
ёсьць прымітыўны тып boolean (як і int) зь якім можна наўпрост маніпуляваць
і ёсьць кляс java.lang.Boolean (як і Integer) - абгортка для boolean, але які можна пакласьці ў калекцыю, сэрыялізаваць, канвэртаваць у/з String, ідп.

if ( Boolean.TRUE.equals( bSome ) )
можна запісаць яшчэ як
if ( bSome.booleanValue() )
або
if ( null != something && something instanceof Boolean && ((Boolean)something).booleanValue() )
// для параноідаў :)

(Ответить) (Уровень выше)


[info]gladiolux@lj
2005-04-13 11:24 (ссылка)
Когда я был молодой, я нашел в коде выражение pow(2, 0) и гордо его упростил. Теперь я старше, я понимаю, что оптимизатор сделал бы то же самое, только без гордости... Так вырабатывается конфуцианское отношение к жизни.

(Ответить) (Ветвь дискуссии)


[info]ygam@lj
2005-04-13 16:36 (ссылка)
Вы, наверное, имели в виду "буддистское".

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]syarzhuk@lj
2005-04-13 18:22 (ссылка)
Даосское. Если достаточно долго сидеть, тупо глядя на код и ничего не делая, то увидишь, как новая версия компилятора соптимизирует то, что собирался соптимизировать руками.
http://www.livejournal.com/users/syarzhuk/310081.html

(Ответить) (Уровень выше)