куда делся асм?

Discussion in 'WASM.HEAP' started by cupuyc, Nov 28, 2009.

  1. varnie

    varnie New Member

    Blog Posts:
    0
    Joined:
    Jan 2, 2005
    Messages:
    1,785
    CyberManiac
    высказывание веет юношеским максимализмом. т.е. дядька Страуструп был дураком видимо, раз ввёл template metaprogramming как одну из важнейших концепций С++? языку уже свыше 20 лет, и тут появляется CyberManiac и делится со всем миром своими целомудренными измышлениями! оказывается, шаблоны то и не нужны!!! вам не нужны -- не используйте. только мне очень интересно будет узнать, как вы будете переизобретать свой велосипед каждый раз, сталкиваясь хотя бы с необходимостью иметь std::vector<T>.

    пишите еще сто лет на асме и радуйтесь жизни.
     
  2. varnie

    varnie New Member

    Blog Posts:
    0
    Joined:
    Jan 2, 2005
    Messages:
    1,785
    забыл дописать.
    W4FhLF,
    поддерживаю.
     
  3. Rockphorr

    Rockphorr Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 9, 2004
    Messages:
    2,625
    Location:
    Russia
    Имхо умение написать свою мысль так чтобы компилятор "переварил" нужным обрзом и отличает программинг от цитата по Геату
     
  4. Rockphorr

    Rockphorr Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 9, 2004
    Messages:
    2,625
    Location:
    Russia
    *Греату - упс :dntknw:
     
  5. Rockphorr

    Rockphorr Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 9, 2004
    Messages:
    2,625
    Location:
    Russia
    короче ушли от темы - куда делся асм - ну у меня в моем проекте его грамм 100 у керо грамм 500 у микл___ грам 500 ....
     
  6. NeuronViking

    NeuronViking New Member

    Blog Posts:
    0
    Joined:
    Oct 29, 2004
    Messages:
    476
    Location:
    где-то в Сиднее
    varnie
    - вот ето вот убожество нахера? хотя бы один пример когда без этого гуана нельзя прожить...

    CyberManiac
    нащет шаблонов поддерживаю!
     
  7. W4FhLF

    W4FhLF New Member

    Blog Posts:
    0
    Joined:
    Dec 3, 2006
    Messages:
    1,050
    NeuronViking, назови нам недостатки vector<T>.

    CyberManiac, а к тебе просьба показать реализацию на "правильном" Delphi простого ассоциативного контейнера по типу std::map<K, V>.
     
  8. wasm_test

    wasm_test wasm test user

    Blog Posts:
    0
    Joined:
    Nov 24, 2006
    Messages:
    5,582
    Rockphorr
    А что, у микл__ он обязательно с орфографической ошибкой?(

    А вообще, подлизываться плохо, да) Хоть и так завуалированно
     
  9. varnie

    varnie New Member

    Blog Posts:
    0
    Joined:
    Jan 2, 2005
    Messages:
    1,785
    NeuronViking
    помоему на васме неразрешается материться. это так, к слову.
    во-первых, это не убожество. W4FhLF верно сделал вам замечание. т.ч. ждем ответа на его вопрос от вас.
    во-вторых, можно прожить вообще без С++ (и без делфи, и паскаля, и ассемблера, итд). можно писать все в машинных кодах:)
    если ваша самоцель - свести ограничения в удобстве к максимуму -- пишите в машинных кодах;)

    расскажите нам, что вы подразумеваете под "нельзя прожить"?
     
  10. cupuyc

    cupuyc New Member

    Blog Posts:
    0
    Joined:
    Apr 2, 2009
    Messages:
    763
    со связными списками довольно часто приходится работать. а как без них?
    что касается примера. недавно писал xml парсер. вот тебе и пример: CXmlParserT<t_base_char>. а как тут без шаблонов? писать 2 одинкаовых парсера: один на utf8, другой на utf16?
     
  11. spa

    spa Active Member

    Blog Posts:
    0
    Joined:
    Mar 9, 2005
    Messages:
    2,240
    стрелка пирса :derisive:

    Про вектор это так вообще жесть, каждый раз самому реализовывать что ли? короче тут ТТ
     
  12. CyberManiac

    CyberManiac New Member

    Blog Posts:
    0
    Joined:
    Sep 2, 2003
    Messages:
    2,473
    Location:
    Russia
    W4FhLF
    Это, наверное, чудо, но я не из тех, кто индексирует массивы структурами о дюжине полей, а потом хэширует их до усрачки. Я для соответствующих целей обхожусь банальнейшим TStringList. Ибо всё гениальное должно быть просто.
     
  13. NeuronViking

    NeuronViking New Member

    Blog Posts:
    0
    Joined:
    Oct 29, 2004
    Messages:
    476
    Location:
    где-то в Сиднее
    W4FhLF
    varnie
    слив защитан ребята =)
     
  14. Phuntik

    Phuntik New Member

    Blog Posts:
    0
    Joined:
    Feb 4, 2008
    Messages:
    318
    NeuronViking
    Ты серьёзно будешь каждый раз реализовывать вектор для каждого нового типа? Или обойдёшься банальным массивом типа double array1[], int array[] ? А как же всякие удобства, предоставляемые векторами?
    /* Спрашиваю, потому что имею интерес. Опыт в C++ у меня небольшой, хотелось бы перенять немного опыта профессионала */
     
  15. Phuntik

    Phuntik New Member

    Blog Posts:
    0
    Joined:
    Feb 4, 2008
    Messages:
    318
    NeuronViking
    Ты серьёзно будешь каждый раз реализовывать вектор для каждого нового типа? Или обойдёшься банальным массивом типа double array1[], int array[] ? А как же всякие удобства, предоставляемые векторами?
    /* Спрашиваю, потому что имею интерес. Опыт в C++ у меня небольшой, хотелось бы перенять немного опыта профессионала */
     
  16. Booster

    Booster New Member

    Blog Posts:
    0
    Joined:
    Nov 26, 2004
    Messages:
    4,860
    NeuronViking
    Если ничего не смылите в обобщённом программировании, то не суйте своё имхо.
     
  17. _basmp_

    _basmp_ New Member

    Blog Posts:
    0
    Joined:
    Jul 10, 2005
    Messages:
    2,939
    W4FhLF
    за дельфу не скажу, не пользую. однако и на питоне, и на луа это будет просто {}
    те переменная, в том числе могущая сама быть и элементом и ключом другого контейнера, "a" типа ассоциативный контейнер (словарь/хэш таблица) будет задаваться как
    a = {}

    можно провести начальную инициализацию. можно наполнить элементами, в том числе и разного типа, включая и функции, и классы. можно потом элементарно перечислять/сортировать/прочие операции(в том числе и юзер дефайнутые) все это и по значению и по ключу. можно узнавать тип элемента итд

    varnie
    темплатам до метапрограмминга, как до луны пешком. да и не было это важнейшей концепцией. так, расширение препроцессора.
    темплаты очень долго не использовались или использовались осторожно, тк реализация их была от кривой до посредственной. только счас боле-мене. и то это надо проверить. вполне может оказаться, что "да счас такие мощные процы! да счас такая емкая и дешевая память! да дешевле им купить новый комп, чем мне подумать лишних 5 минут!"
    кроме того я не уверен, что это вообще изобретение страуструпа. параллельно и одновременно с С++ в беллабс появилось еще несколько лангов (из них 2 - кокса) и в них тоже есть темплаты. не исключено, что это было просто требованием политики компании
     
  18. W4FhLF

    W4FhLF New Member

    Blog Posts:
    0
    Joined:
    Dec 3, 2006
    Messages:
    1,050
    Если ассоциативный массив для тебя чудо, то могу лишь посоветовать купить книгу по алгоритмам и не позориться.

    Для соответствующих? Ты меня удивляешь:)
    Статический TStringList это частный случай вектора: std::vector<std::string>, а std::map контейнер совсем другого типа. Причём универсальный. Что-то твои знания ассемблера тебе не помогли в освоении простых и гениальных структур данных под названием сбалансированные деревья и хеш-таблицы, на основе которых и строятся ассоциативные контейнеры.
    Отсюда два вывода:
    1. Ты никогда не решал задач сложнее чем "загрузить из файла список, заменить символ, записать в другой файл"
    2. Ты их решал неоптимальным образом. И знание ассемблера тебя на правильный путь почему-то не наставили. :)

    Знание фундаментальных структур данных и алгоритмов отличает кодера от программиста.
     
  19. W4FhLF

    W4FhLF New Member

    Blog Posts:
    0
    Joined:
    Dec 3, 2006
    Messages:
    1,050
    _basmp_
    Lua немного другого поля ягода. Всё-таки рассматривается прежде всего как скриптовый движок.
    А в Python'e вообще очень много завязано на ассоциативные массивы. Методы классов, например, хранятся в хеш-таблицах. В общем там это native тип. Но вопрос был не в этом, я про делфи специально упомянул. Уже неважно, я и так всё вижу:)

    Дело не в том, что как до луны пешком, а в том, что очень сложно получается и поэтому часто неоправданно. Но, например концепцию обобщённого программирования, шаблоны реализуют в полной мере и наоборот упрощают жизнь.

    А говорить, что это расширение препроцессора может только человек не очень хорошо (или очень нехорошо) разбирающийся в этом, без обид. Попробуй вычислить факториал числа в compile-time с помощью макросов или написать простой паттерн типа Abstract Factory. Поймёшь в чём разница.

    Точнее pair<string, string>.
     
  20. maksim_

    maksim_ New Member

    Blog Posts:
    0
    Joined:
    Jul 15, 2009
    Messages:
    263
    _basmp_
    Code (Text):
    1. "да счас такие мощные процы! да счас такая емкая и дешевая память! да дешевле им купить новый комп, чем мне подумать лишних 5 минут!"
    а при чём тут проц? задачка, например, такая: нужно сделать разбор синтаксиса (выделить ключевые слова) в строке. строка может быть utf-8, может utf-16, а может и utf-32. будешь всё писать на дефайнах? а если нужно юзать одновременно несколько кодировок? или будешь в каждой функции задавать тип кодировки? какой здесь ещё выход кроме шаблонов?