Дзюндзя ([info]syarzhuk) wrote,
@ 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



(Post a new comment)

(Reply from suspended user)

[info]syarzhuk
2005-04-12 03:48 pm UTC (link)
VB, но какая разница? Real programmers can write FORTRAN code in any language :)

(Reply to this) (Parent)(Thread)

(Reply from suspended user)

[info]syarzhuk
2005-04-12 05:20 pm UTC (link)
Неправда ваша, діду!
Real men don't need a keyboard - they program by using logical switches

(Reply to this) (Parent)(Thread)


[info]setska
2005-04-13 07:32 am UTC (link)

(Reply to this) (Parent)(Thread)


[info]syarzhuk
2005-04-13 10:21 am UTC (link)

(Reply to this) (Parent)


[info]syarzhuk
2005-04-13 10:22 am UTC (link)
What do you mean IDE? We had to code in ones and zeroes! And there were days when we were short of ones...

(Reply to this) (Parent)


[info]ygam
2005-04-13 07:37 pm UTC (link)

(Reply to this) (Parent)


[info]ygam
2005-04-12 08:10 pm UTC (link)
Сейчас смотрел на огромный файл, в котором как минимум 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;

(Reply to this) (Thread)


[info]syarzhuk
2005-04-12 09:42 pm UTC (link)
ага, мало ли что случится, если попробовать поитерировать по пустому вектору

(Reply to this) (Parent)


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

(Reply to this) (Parent)(Thread)


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

(Reply to this) (Parent)(Thread)


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

(Reply to this) (Parent)(Thread)


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

(Reply to this) (Parent)(Thread)

ну да
[info]meshko
2005-04-13 01:51 am UTC (link)
Это в общем была цитата.

(Reply to this) (Parent)


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

(Reply to this) (Parent)


[info]ygam
2005-04-13 01:38 am UTC (link)
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

(Reply to this) (Parent)(Thread)


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

(Reply to this) (Parent)


[info]syarzhuk
2005-04-13 01:45 am UTC (link)
Вот почему я не желаю лезть в хардвер :)

(Reply to this) (Parent)


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


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


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

(Reply to this) (Thread)


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

(Reply to this) (Parent)(Thread)


[info]zmila
2005-04-13 11:49 am UTC (link)
ёсьць прымітыўны тып 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() )
// для параноідаў :)

(Reply to this) (Parent)


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

(Reply to this) (Thread)


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

(Reply to this) (Parent)(Thread)


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

(Reply to this) (Parent)


Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…