Про языки программирования

Тема в разделе "WASM.HEAP", создана пользователем EvilsInterrupt, 23 окт 2008.

  1. scf

    scf Member

    Публикаций:
    0
    Регистрация:
    12 сен 2005
    Сообщения:
    386
    Дельфи - это очень хорошая библиотека (VCL) и худший из популярных ООП-язык(Object Pascal)
    Основные минусы языка(для меня) - это полное отсутствие механизмов управления временем жизни объектов/памятью и убогий синтаксис указателей, который сильно осложняет работу с динамическими массивами.
    Еще можно припомнить длинные begin/end и обязательное объявление переменных в начале процедуры.
    С++.... это просто самый мощный язык с самой плохой библиотекой.

    Почему-то в универах преподают дельфи, поэтому если взять среднестатестического ламера, который знает только один язык программирования (и тот плохо), то этим языком будет именно дельфи ;)
     
  2. scf

    scf Member

    Публикаций:
    0
    Регистрация:
    12 сен 2005
    Сообщения:
    386
    Booster
    Почти всегда это означает баги в программе!
     
  3. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    scf
    Далеко не всегда, самое большое кол-во багов в ms компиляторе связанно именно с оптимизацией. Я ещё могу понять когда не работает в релизе, а в дебаге работает, но с оптимизацией другое дело.
     
  4. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    SII
    Не любой, тот единственный которым пользуюсь я, быдлокод не порождает, это однозначно.
     
  5. _proteus

    _proteus Member

    Публикаций:
    0
    Регистрация:
    25 мар 2008
    Сообщения:
    192
    Адрес:
    Казань
    А почему все принялись обсуждать именно дельфи и си плюс плюс? Почему-то в тени остался популярный в америке бейсик. Ява как-то вскользь упоминулась, хотя ИМХО у неё большое будущее. Кстати, не задумывались, почему М$ выпускает оболочки и для явы, и для сей, и для васика, но обходит вниманием паскаль с дельфёй, в то время, как у борланда с ними любовь на вечные времена?
     
  6. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Ты ошибаешся. Если не изменяет память, ты как-то говорил, что занимаешся веб-разработкой. Там сильно очищается дух человеческий?

    А еще тут не работает поиск и аттачи - не все то правильно что есть на форуме.

    Некоторые вобще на дотнете пишут, вот где истинное зло.

    На делфи можно сделать все, что можно сделать на С/С++.
    Тем более, я например не особый любитель ООП и мне пофиг там всякие дженерики и множественные наследования...
    Но на делфи дружественнее синтаксис. В С сплошные шифровки.
    --i++ извратный синтаксис.

    Угу, МсРем например?

    Для меня не составляет проблемы понять исходник практически на любом распространенном языке. Пишу восновном на Делфи, иногда на ассемблере. Просто С не дает мне ничего такого, из за чего нужно выбрать его. ИМХО, каждое выбор имеет причины, лично я не вижу причин писать на С.

    Это VCL, не самая между прочим плохая ГУИ библиотека. Ты пореверси QT-ные 10-мегабайтные екзешники )

    Ну вот например тестовый пример, аналог утилиты bin2db из пакета msam32. Маленькая утилита, написана на Делфи, с графическим интерфейсом, поддержкой параметров коммандной строки. Екзешник весит < 9 кБ.
    http://slil.ru/26267422

    ПС. Плюсы Делфи не в названии (с)
     
  7. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    _proteus
    Известное дело - раздел сфер влияния, МС - Бейсик, Борланд - Пася. Этот раздел произошёл очень давно, когда Си ещё не был в большом почёте. Типо договорились конкуренты, которые предполагали, что эти два языка будут самыми продвигаемыми, а вышло не так -)
     
  8. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    K10
    Вот например код из начала твоего тестового примера:
    Код (Text):
    1. 0040208A:
    2.     [...]
    3.     mov eax,bin2pas.00402064
    4.     call bin2pas.0040103C
    5.     [...]
    6. 0040103C:
    7.     ret
    :lol: )))
     
  9. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    K10
    Для тебя может так, я же тоже скажу о Дельфи. Кто нас расcудит? А причины почему я перешёл на С++, я тебе скажу: Visual Studio + поддержка М$ + MSDN + DirectX + дефакто стандарт в Unix. У дельфи ниша: БД + VCL(формошлёпство), хотя подпирает .Net.
     
  10. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Clerk
    Это вызов функции _InitExe. В этой функции размещается инициализация RTL. Т.к. здесь RTL не используется то функция _InitExe выглядит как
    Код (Text):
    1. procedure _InitExe;
    2. asm
    3. end;
    что и генерирует соответствующий код
     
  11. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    K10
    Еслибы после неё небыло вызова кернелапи, я бы подумал что это для определения дельтасмещения. Тут это мусор. А та процедура размером 0x1B6 - ужос.. Но это только пример. Если взять более сложную программу, то это будет хоть и рабочий, но гуанокод.
     
  12. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    K10
    О! А мне нравится прямо очень. Одна из причин почему пас когдато бросил (дельфой еще и не пахло)

    как ответ по синтаксису могу предложить ':=' в почти каждой строке.

    Booster
    Как бы немного не так было. Когда появилось дельфи - война между бор и мс за лучший С/С++ компилер была в смерть, а реклама с обоих сторон и пропаганда С++ разве только на спичечных коробках не печаталась. Пас стал не модным. Дельфи было ответом на МС ВБ и удачной попыткой реанимировать пас с обжектами 7 (? давно было). Почему МС так любит и продвигает васик и совсем не любит пас, имхо, объясняется только особенностями образования хозяина фирмы. Как относятся сами разрабы васика к нему - видно из качества продукта.

    Booster
    С и юних родились у одних отцов, в одном месте и полностью зависели друг от друга. Распросранялись вместе ибо никак. И все оси, что забазировались на юних, те практически все, получили в наследство С и связаность с С.


    PS Уважаемые товарищи или [гГ]оспода или кореша или пацыки или (впишите сами) пасовцы, напишите пож, краткую инструкцию как в блэкбоксе сделать монолитный ехе-шник с только моей прогой и, желательно, без дефолтного мэйн окна, но с моим изначально шовнутым диалогом. Ато по стандартной инструкции у меня не выходит (выкидывает окно в сеточку и в логе ошибку), а без этого применибельность бб под вопросом. А ведь он 1000 очков вперед делфям дает.


    внедорожники. Подходящих серийно не выпускается.
    Брюнетки, но не усатые и умеющие держать себя в руках (но не циклящиеся на этом).
    лимбо
     
  13. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Clerk
    Я же написал, что это вызов _InitExe, после чего идет код, в begin...end.
    Т.е.
    Код (Text):
    1. begin
    2. // Здесь вызывается _InitExe
    3. hInstance:=GetModuleHandle(nil); // Вызов "кернелапи"(что это?)
    4. ...
    5. end.
    Что соверешенно прозрачно компилируется в
    Код (Text):
    1. 004020A3  |. E8 94EFFFFF    CALL bin2pas.0040103C
    2. 004020A8  |. 6A 00          PUSH 0                                   ; /pModule = NULL
    3. 004020AA  |. E8 E5EFFFFF    CALL <JMP.&kernel32.GetModuleHandleA>    ; \GetModuleHandleA
    4. 004020AF  |. A3 0C404000    MOV DWORD PTR DS:[40400C],EAX
    И чем тебе не понравилась процедура "размером 0x1B6"?

    Обьясни тогда мне бестолковому, что есть гуанокод?
    Аргументы типа "это можно на fasm написать гораздо лучше" не принимаются...
     
  14. x0man

    x0man New Member

    Публикаций:
    0
    Регистрация:
    23 мар 2008
    Сообщения:
    358
    Анегдотики :)
     
  15. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Сразу видно - человек не имеет представления о предмете, а пересказывает чьи-то слова.

    Это популярное заблуждение, что Дельфи(Паскаль) не подерживает адресную арифметику с указателями. Работа с указателями ничуть не сложнее чем в С.
     
  16. gazlan

    gazlan Member

    Публикаций:
    0
    Регистрация:
    22 май 2005
    Сообщения:
    414
    Точнее, задумывалось как его убийца (VB Killer) - Front-End для баз Oracle (отсюда и выбор названия - от дельфийского оракула).
    Не знаю, как _оно_ выглядит "в натуре", но несколько сот отреверсированных дельфийских .EXE/.DLL выработали стойкий рвотный рефлекс на это слово.
     
  17. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    Booster
    Ну так надо его создать. Не одним же сишникам хочется задавать банальные вопросы.
     
  18. Aquila

    Aquila Самурай дзена

    Публикаций:
    0
    Регистрация:
    30 авг 2002
    Сообщения:
    1.467
    Адрес:
    Russia, Moscow
    Нет. Я занимаюсь этим за деньги.
     
  19. keYMax

    keYMax New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2003
    Сообщения:
    276
    Адрес:
    Новоуральск
    За год коданья на Делфе я отупел окончательно. Эти бесконечные begin end и уж самое бесящее :=
    Вместо набивания алгоритма я постоянно занимался поиском компонент подходящих к задаче и их прикручиванием, а особенно разборками почему они не встают в иде чтобы можно было их использовать. Причем дирик постоянно занимался тем же самым :lol: и при этом мнил себя крутым кодером. Так что, я рад что бросил это гуано.

    Васм для низкоуровненго программирования. С,С++ можно тоже тут обсуждать, но вот Делфями портить этот ресурс не нужно.
     
  20. skomarov

    skomarov New Member

    Публикаций:
    0
    Регистрация:
    14 май 2008
    Сообщения:
    389
    Aquila
    Причина в человеке, а не в инструменте.