можно ли быть нормальным программистом, не зная C++,стоит ли учитьC++?

Тема в разделе "LANGS.C", создана пользователем chainick, 16 фев 2012.

  1. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    _DEN_, а разве существуют такие задачи, для которых "голосуй за С++, иначе гражданская война и революция"? Причём исключительно потому, что этот язык такой чудесный, а не потому что фирма X сделала SDK исключительно под отдельно взятый компилятор собственного производства? Помнится, когда фирма X не имела монополии, драйвера писали на чём ни попадя, от Фортрана до Бейсика, а войны и революции так и не случилось.
     
  2. shchetinin

    shchetinin Member

    Публикаций:
    0
    Регистрация:
    27 май 2011
    Сообщения:
    715
    _DEN_
    Опять лолите ?
    да вообщето симантика С# как бы намекает на отличное совместительность с lockless programming. Так что о чем еще с вами можно беседу вести ?
    Это и есть грамотность , а воовсе не тЬся (это писЬмо ).

    П.С. Предлогаю _DEN_ переименивать в L0lA ( красиво? ).
     
  3. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    shchetinin
    > симантика
    > Предлогаю

    > отличное совместительность
    ...

    Хотелось бы взглянуть на реализацию твоей lock free очереди на C#, на ее, так сказать, отличное совместительность.
     
  4. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    CyberManiac
    Конечно же нет. Конечно же, каждый волен писать что угодно на чем угодно. Вообще на самой верхушке рынка все эти наши задротства и холивары всем до лампочки. На рынке все по-другому: быстрее решил задачу -> быстрее выкатил продукт на рынок -> первым отхватил инвесторов и подмял под себя сегмент рынка -> сам выжил, а конкурентов выгнал. Вот и все. А то, что программеру на с++ пришлось потратить на этот С++ 10 лет - это пофиг. Главное - чтобы отрезок времени между решением выйти на рынок с определенным продуктом и его фактическим выходом был как можно короче. Никто не будет ждать пока программер обучится С++ - компания просто наймет уже обученного раба :) Поэтому затраты на обучение С++ являются личной проблемой программиста, а не затратами компании. Такой программист сможет решить некоторые задачи более эффективно чем любой другой, и поэтому он более привлекателен как наемный рабочий. Так что сложность в обучении - это наши личные ниггерские проблемы :)
     
  5. shchetinin

    shchetinin Member

    Публикаций:
    0
    Регистрация:
    27 май 2011
    Сообщения:
    715
    _DEN_
    Не мой код вы не одужаете( вы грамоте не обучины ), давайте что то по проще , например
    http://www.codeproject.com/Articles/23317/Lock-Free-Queue-implementation-in-C-and-C
     
  6. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    shchetinin
    Эту нигро-очередь я видел когда ты еще самостоятельно не мог на горшок взобраться. Почитал бы хоть камменты прежде чем приводить ее в пример.
     
  7. shchetinin

    shchetinin Member

    Публикаций:
    0
    Регистрация:
    27 май 2011
    Сообщения:
    715
    _DEN_
    Эти поделки c lockless только для школоты как дебил контроль.

    Код (Text):
    1. class LocklessQueue<T>
    2. {
    3. class Item
    4. {
    5. public Item Next;
    6. int _pos, _count;
    7. readonly T[] _values;
    8. public Item(int capacity)
    9. {
    10. _pos = _count = 0;
    11. _values = new T[capacity];
    12. Next = null;
    13. }
    14. public bool IsValid { get { return _pos < _count; } }
    15. public bool PutValue(T value)
    16. {
    17. if (_count < _values.Length)
    18. {
    19. _values[_count++] = value;
    20. return true;
    21. }
    22. return false;
    23. }
    24. public T TakeValue()
    25. {
    26. int ix = _pos++;
    27. T value = _values[ix];
    28. _values[ix] = default(T);
    29. return value;
    30. }
    31. }
    32.  
    33. readonly int _allocSize;
    34. Item _first;
    35. Item _last;
    36.  
    37. public LocklessQueue(int allocSize)
    38. {
    39. _allocSize = Math.Max(1, allocSize);
    40. _first = _last = new Item(_allocSize);
    41. }
    42.  
    43. public bool IsEmpty
    44. {
    45. get
    46. {
    47. while (!_first.IsValid && _first.Next != null)
    48. _first = _first.Next;
    49. return false == _first.IsValid;
    50. }
    51. }
    52.  
    53. public void Enqueue(T value)
    54. {
    55. if (!_last.PutValue(value))
    56. {
    57. Item i = new Item(_allocSize);
    58. i.PutValue(value);
    59. _last.Next = i;
    60. _last = i;
    61. }
    62. }
    63.  
    64. public T Dequeue()
    65. {
    66. while (!_first.IsValid && _first.Next != null)
    67. _first = _first.Next;
    68.  
    69. if (!_first.IsValid)
    70. throw new InvalidOperationException();//queue is empty
    71.  
    72. return _first.TakeValue();
    73. }
    74. }
    И оно будет работать ...


    А вот продемострируй свое умения разделить SwapChain::present2(); на Frame с минимальными потерями ... Как оргонизуем Оконные фреймы и прочие отходы , Контейнер какого типа юзать придется?
     
  8. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    _DEN_
    А программеру тоже пофиг. Он прочёл "Изучи С++ за 21 день", закидал всех понтами на собеседовании - забавно, но собеседование проходится так же, как сдаётся история в ВУЗе - просто несёшь любую херь с непробиваемым апломбом не прерываясь и не давая думать над потоком сознания - и опаньки. А то, что потом придётся пользоваться поделками "за 21 день" - это, типа, проблемы юзера, главное бабло с него вперёд стрясти. Только почему-то в конце всегда получается ж0па.
     
  9. sn0w

    sn0w Active Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    956
    смотря какие задачи решать.. хотя впрочем практически везде можно заюзать C/CPP, начиная от кода ядра и кончая управляемым кодом, ну и плюс кроссплатформенные няшки типа Qt.

    надо сказать, лично мое мнение - c/cpp наиболее гибкие и практичные языки, если хорошо их знать, то конечный программный продукт зависит только от глубины фантазии разработчика. кроме того одновременное знание си и асма дает очень четкое представление о самом си и его особенностях и т.о. дает практически безграничные возможности в системном кодинге, отладке, реверсе етц.

    пы сы: а нормальным это как? перпендикулярно к поверхности/плоскости? )) или всеже профессиональным прогером имеется ввиду? можно, я думаю. главное хорошо знать и понимать что как работает и как взаимосвязано. хотя еще немаловажен аспект командной разработки - если проект, над которым работает 10 человек писан на сях, то сам понимаешь, что тебе там делать..
     
  10. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    shchetinin
    ...с одним единственным потоком.
     
  11. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    CyberManiac
    Ты забываешь про естественный отбор на рынке. В краткосрочной перспективе с точки зрения личных интересов программера это, может быть, и прокатит. А в долгосрочной - компания окажется позади остальных, и, как следствие, свое место под солнцем не займет.
     
  12. shchetinin

    shchetinin Member

    Публикаций:
    0
    Регистрация:
    27 май 2011
    Сообщения:
    715
  13. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    _DEN_
    Я не "забываю". Я сознательно отрёкся.

    Сейчас будет срывание покровов: никуда она нахрен не денется и всё займёт. Просто потому, что все остальные будут иметь дело точно с такими же "программистами за 21 день" и уровень г0вна в сообщающихся сосудах будет абсолютно одинаковый. Можно, конечно, вообразить, что некая компания возьмётся набирать "элит0" и типа резко вырвется вперёд, однако на самом деле она наберёт толпу социопатов, которые с немалой вероятностью посрутся на тему, кто из них труЪ элит0, а кто погулять вышел. Плюс в этом зоопарке творческих личностей регулярно кто-то будет уходить в запой-декрет-астрал со всеми вытекающими. И в итоге получится, что лучше иметь сто пролетариев, чем десять элитариев, ибо первые хоть что-то родят. А чтобы г0вно продавалось, давно уже придумали рекламщиков и маркетолухов, которые владеют разными колдунствами, пор0бощающими моск потенциального покупателя. У кого колдунство круче, тот и на коне.
     
  14. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    наверно почти невозможный вариант, когда я поддержу даже _DEN_-а. выбор стоит в зависимости от задачи, но С++ надо хоть немного, но понимать. это один из основных языков.
    а вот # можно и забыть. на яфонах и андроидах она не представлена, а это самый интересный рынок на сегодня
     
  15. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    shchetinin
    /me забился под подушку и тихо плачет.

    CyberManiac
    Не забывай, что помимо программистов за 21 день есть и более качественные специалисты. И вот они-то и составят конкуренцию. И вот они-то и выгонят тех, кто за 21 день. Не на 100% конечно, т.к. еще решает много всякий вещей, типа менеджмента, продаж, рекламы, попадания в потребности рынка, и т.д. Но в общей массе при прочих равных условиях специалисты сделают компанию чуточку более конкуретноспособной, чем программеры за 21 день, и этой чуточки будет достаточно.
     
  16. shchetinin

    shchetinin Member

    Публикаций:
    0
    Регистрация:
    27 май 2011
    Сообщения:
    715
    Вы как я понял из тех которые за 21 день С++ изучили.
    Сконцентрируйтесь , соберитесь и изучите хоть чутку мат. части. А то ведь так и останитесь без грамотным.
     
  17. chainick

    chainick New Member

    Публикаций:
    0
    Регистрация:
    31 янв 2012
    Сообщения:
    61
  18. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    _DEN_
    Сейчас уже и так перепроизводство программистов - примерно как юристов и экономистов несколько ранее. При том, что задачи на 99% так и остались обезьяньи - бухгалтерия, веб-цодинг и прочая прикладуха. В таком контексте достаточно нанять десять 21-дневников и одного архитектора, который им будет раздавать, кто какую форму лабает. Для каких-нибудь космонавтских приложений может быть и набирают суперпрофессионалов, но an mass от программиста даже умение делать множественное наследование не требуется. Я, кстати, за 10 лет не видел ни одной программы, в которой бы оно использовалось.

    Какому-то чуваку нобелевку дали за доказательство того, что при некоторой стратегии на рынке выигрывает не лучший, а худший продукт. Причём не он один оказался такой умный - он эту систему только открыл, а создали её много ранее. Так что современный рынок - это "битва ацтоев", в котором качество продукта играет далеко не первую роль.
     
  19. Malfoy

    Malfoy New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2012
    Сообщения:
    698
    _DEN_
    У меня к вам есть только один вопрос. Какого вы делаете на аверлабе, ведь это форум по низкоуровневым задачам. Куда не глянь, всюду асм. Причём тут ваш скрипт, уходите на соответствующие форумы, где обсуждают всякую погань на пэхопэ, си етц. Накой мне с моими руткитами впали ваши классы и прочая мозговыносящая хрень ??
     
  20. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Надо вам изучать путь к Дао.
    Думаю можно начать отсюда.
    http://pritchi.ru/id_4026

    Молодой человек пришел к Мастеру и сказал:
    -Мастер, за сколько я могу научиться драться по вашей системе.
    Мастер подумал и сказал - По моей системе будешь тренироваться по часу в день и через 10 лет станешь мастером.
    - Я если я буду очень стараться, усиленно тренироваться по 2 часа в день.
    Хм, - мастер посмотрел на него - тогда за 20 лет.
    - А если я изо всех сил буду стараться, положу на это все свои силы и буду тренироваться по 8 часов в день, и днем и вечером и ночью буду тренироваться!
    Ооо, - протянул мастер - тогда тебе и всей жизни может не хватить.