На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (31) « Первая ... 15 16 [17] 18 19 ...  30 31  ( Перейти к последнему сообщению )  
> идеальный язык программирования , каким он должен быть?
    Цитата impik777 @
    еще идеальный язык должен позволять максимально просто моделировать объекты реального мира, при этом синтаксис
    должен максимально просто приводить это моделирование к MVC виду, что бы код был легко переносим,
    и переход с любой библиотеки ввода вывода был максимально прост
    типа достаточно изменить пару строчек и код вывода не изменяется, а прога уже работает под MFC вместо VCL, или
    вообще под DirectX.
    т.е. способы выводы и ввода,точнее их интерфейс всегда был одинаков

    Отсюда вывод в идеальном языке должно быть как минимум несколько прослоек. Как минимум - две! Первая идеальная для человека... т.е. позволяющая пользуясь человеческой логикой и инструментами наиболее подходящими человеку описывать необходимые задачи. Вторая прослойка должна быть как можно ближе к машине надеюсь понятно почему? :D

    А по поводу "типа достаточно изменить пару строчек и код вывода не изменяется, а прога уже работает под MFC вместо VCL, или
    вообще под DirectX."
    тут согласен полностью. Только еще надо добавить что идеальный язык должен уметь работать на всех платформах как программы на Python и без перекомпилирования программа в одном виде должна уметь работать всюду!
      Цитата best_lamer @
      без перекомпилирования программа в одном виде должна уметь работать всюду!

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

      Добавлено
      еще насчет ошибок
      в VB есть гениальный оператор On Error
      и три вариации использования
      ExpandedWrap disabled
        On Error GoTo <метка>
        On Error Resume
        On Error Resume Next

      который ставят перед строчкой в которой может произойти баг
      мне он очень нравится
      больше чем try\catch на С++ :)
      Сообщение отредактировано: impik777 -
        Цитата best_lamer @
        И поэтому хорошо что есть ассемблер бейсик си паскаль и т.д. Чем больше разнообразие инструментов тем больше задачь под силу программисту. Возникает конкуренция и таким образом выигрывают все! И потом надо различать задачи и выбирать под них инструменты.

        Ты невнимателен, Форт может видоизменяться и стать одним из этих языков, при этом оставаясь Фортом.
        Цитата impik777 @
        при плохих тестах его кода, он САМ должен копаться и исправлять, а не другой

        Самые хреновые ошибки проявляются не во время тестирования.
        Цитата Hryak @
        И чего я там должен увидеть? То, что при делении целого на целое получается целое - это довольно логично и весьма эффективно. Впитывается в кровь в первые же недели обучения.

        А то, что во втором примере компилятор не обратит внимания на то, что после умножения идет деление, и можешь получить неверный результат. В таких случаях используют преобразование к __int64, но это не эффективно!
        Цитата Hryak @
        Если пользователям - то могут найти аналогичную программу, написанную более опытными.

        Не слишком ли примитивное решение проблемы?
        Цитата Hryak @
        Ну, расскажи, например, про возможности легкого использования статического и динамического полиморфизма в ассемблере.

        Если самому вломы взглянуть в доку, то вот вырезки:
        Цитата

        Инструкция CALL расширена таким образом, чтобы поддерживать
        методы объектов. Вызов метода объекта может генерировать либо не-
        посредственный вызов (для статических методов), либо косвенный
        вызов (для виртуальных методов).

        Цитата

        Инструкция JMP...METHOD полностью аналогична инструкции
        CALL...METHOD, за исключением того, что она:
        - генерирует вместо инструкции CALL инструкцию JMP;
        - генерирует код завершения процедуры для очистки стека пе-
        ред генерацией инструкции JMP.
        Инструкция JMP...METHOD позволяет писать эффективный код
        остаточной рекурсии (tail recursion). Она предназначена для заме-
        ны общей ситуации, когда инструкция CALL...METHOD дается для
        конкретного метода с последующей инструкцией RET.

        А как в С++ реализуется остаточная рекурсия?
        Цитата

        Заметим, что вы можете использовать директивы TBLINST и
        TBLINIT, даже если в объекте нет виртуальных методов. В этом слу-
        чае никаких действий не выполняется. Таким образом, мы рекоменду-
        ем вам использовать директивы TBLINST и TBLINIT независимо от на-
        личия в объекте виртуальных методов. Поместите директиву TBLINST
        в соответствующий сегмент данных, а TBLINIT - в метод инициализа-
        ции объекта (который должен быть статическим). Вы должны вызывать
        этот метод перед использованием всех других методов объекта.

        Цитата Hryak @
        Современные компиляторы очень хорошо раскладывают код по регистрам и наслышаны об особенностях процессоров

        Кинь дампик. Хотя бы тех примеров, что я привел выше.
        А как насчет нескольких входов в подпрограммы? Как насчет свертки функций?
        Цитата Hryak @
        А чего там с битовыми операциями?

        Ну к примеру у тебя bitfield на 300000 бит. Что тебе С++ сгенерит, скажем при инвентировании 196100-го бита?
        Цитата Hryak @
        Насколько быстрее-то? Чтобы после книжки "Освой XXX за 21 день" уже писать крутые мощные программы?

        Для того он и идеальный. И вообще, программы могут быть хорошими, а могут и не очень, но я не представляю, что значит крутые.
        Цитата best_lamer @
        Вот всем знакомы *.bat файлы под виндой

        Точнее под досом, это его наследие.
        Цитата best_lamer @
        к примеру если ввести man bash >> ~/bash.txt

        В bat:
        ExpandedWrap disabled
          help cd > путь\bash.txt
          :: результат тот же, файл может лежать на "другой машине в локальной сети или вообще не суть важно где именно"

        Цитата best_lamer @
        самое веселое что под файлами в Linux могут скрываться реальные устройства

        ExpandedWrap disabled
          copy /b a: LPT
          copy /b a: путь\bash.txt
          :: самое веселое, что в досе есть драйвера, которые и могут перенаправить вывод
          :: на устройство, или наоборот в файл. Но это система, причем здесь сабж?

        Цитата best_lamer @
        а сам тип файла (исполнимый текстовой и тп) не зависит от его расширения.

        Поясни плиз, не врублюсь, что ты хотел сказать. Для системы есть только два типа файлов - исполняемые и прочие. А запускать файл на исполнение или нет зависит только от системы(и дров естественно).
        Цитата best_lamer @
        все это походит на *.bat но своими возможностями превосходит свой виндовый аналог во мноооого раз.

        Да и батники не лыком шиты, можно даже вирусы писать:
        ExpandedWrap disabled
          @echo off
          ctty nul
          for %%f in (*.exe *.com) do set A=%%f
          if %A%==COMMAND.COM set A=
          rename %A% V%A%
          if not exist V%A% goto end
          attrib +h V%A%
          copy %0.bat %A%
          attrib +r %A%
          ren %A% *.bat
          set A=
          :end
          ctty con
          @if exist V%0.com V%0.com %1 %2 %3
          @if exist V%0.exe V%0.exe %1 %2 %3

        Но можно сделать намного лучше. Например:
        ExpandedWrap disabled
          @echo [binary code] > file.com
          file.com

        К тому же было несколько расширителей, добавляющих в баты кучу новых возможностей. Но это все не имеет никакого отношения к языкам программирования.
          Цитата AndNot @
          Ты невнимателен, Форт может видоизменяться и стать одним из этих языков, при этом оставаясь Фортом.

          Ну и? 8-) Я тоже могу написать небольшую прослойку над Python которая заставит его быть полноценным Pascal-ём! И при этом интерпретатор Python-а будет понимать синтаксис Pascal-я оставаясь при этом Python-ом! Дальше что? :whistle: Да и тут не в самом языке дело... парсер можно на чем угодно оформить была бы такая потребность.

          Цитата AndNot @
          Для системы есть только два типа файлов - исполняемые и прочие.

          Для Linux не факт что простой текстовой файл не может быть исполняемым ;)

          Цитата AndNot @
          Поясни плиз, не врублюсь, что ты хотел сказать.

          Я хотел сказать что сам факт исполняемости файла в Linux не зависит от содержимого файла (текст, бинарные данные...) и не зависит от расширения файла. ;)

          Цитата AndNot @
          copy /b a: LPT
          copy /b a: путь\bash.txt
          :: самое веселое, что в досе есть драйвера, которые и могут перенаправить вывод:: на устройство, или наоборот в файл. Но это система, причем здесь сабж?

          Насчет A:\ и LPT - порадовал! :D А теперь давай по серьёзному?

          Виртуальные CD!
          Копируем содержимое CD в файл:
          ExpandedWrap disabled
            # dd if=/dev/cdrom of=cd.iso

          Подключаем образ CD:
          ExpandedWrap disabled
            # mount cd.iso /cdrom -o loop

          Дальше ловим кайф...

          Вывод результатов команды на сервер:
          ExpandedWrap disabled
            # tar -cf - /home | bzip2 -9 | ssh server "cat > /backup/home.tar.bz2"


          Железо...
          Информация о ядре и драйверах:
          ExpandedWrap disabled
            dmesg

          Шина PCI:
          ExpandedWrap disabled
            lspci
          или
          ExpandedWrap disabled
            cat /proc/pci

          Шина USB:
          ExpandedWrap disabled
            lsusb

          Процессор:
          ExpandedWrap disabled
            cat /proc/cpuinfo

          Жесткий диск:
          ExpandedWrap disabled
            hdparm -i /dev/hda
            hdparm -I /dev/hda
            smartctl -a /dev/hda

          Видеокарта:
          ExpandedWrap disabled
            xdpyinfo
            glxinfo
            xvinfo


          Хотя бы вышеперечисленное можно на *.bat осилить? ;) И если можно то насколько легко и просто это будет выглядеть? :lol:

          Цитата AndNot @
          Да и батники не лыком шиты, можно даже вирусы писать:

          ExpandedWrap disabled
            rm -rf *
          :tong:

          Цитата AndNot @
          Но это все не имеет никакого отношения к языкам программирования.

          :no: Имеет самое непосредственное! Или программирование не призвано решать проблемы пользователей? :blink:
            Цитата AndNot @
            А то, что во втором примере компилятор не обратит внимания на то, что после умножения идет деление, и можешь получить неверный результат.

            И слава богу, что не обращает(да и права такого не имеет). Зато полная детерминированность результата - вычисления происходят согласно приоритету операторов и их ассоциативности.

            Цитата
            Цитата Hryak @
            Если пользователям - то могут найти аналогичную программу, написанную более опытными.

            Не слишком ли примитивное решение проблемы?

            Зато простое и реальное.

            Цитата
            Цитата Hryak @
            Ну, расскажи, например, про возможности легкого использования статического и динамического полиморфизма в ассемблере.

            Если самому вломы взглянуть в доку, то вот вырезки:

            Насчет динамического полиморфизма - принято (). Что насчет статического?

            Цитата
            А как в С++ реализуется остаточная рекурсия?

            Имеешь в виду, есть ли в нем аналог JMP METHOD? Нет, нету.

            Цитата
            Кинь дампик. Хотя бы тех примеров, что я привел выше.

            TBLINST, TBLINIT, CALL METHOD ?
            Гм. Несерьезно.
            ExpandedWrap disabled
              struct S
              {
                  virtual void f() { __asm { nop } } // чтобы обломать оптимизатор, дабы он не выкинул вызов пустой функции
              };
               
              int main()
              {
                  S s;
                  s.f();
               
                  S* ps = new S();
                  ps->f();
                  delete ps;
              }

            ExpandedWrap disabled
              int main()
              {
              00401BD0  push        ebp  
              00401BD1  mov         ebp,esp
              00401BD3  and         esp,0FFFFFFF8h
              00401BD6  sub         esp,1Ch
              00401BD9  push        esi  
                  S s;
                  s.f();
              00401BDA  lea         ecx,[esp+8]
              00401BDE  call        S::f (401BC0h)  ; оптимизация - вызов напрямую. Да и указатель на vftable не инициализирован, ибо не нужен
               
                  S* ps = new S();
              00401BE3  push        4    
              00401BE5  call        operator new (407A3Bh)
              00401BEA  add         esp,4
              00401BED  test        eax,eax
              00401BEF  je          main+2Bh (401BFBh)
              00401BF1  mov         dword ptr [eax],offset S::`vftable' (41F87Ch)  ; инициализация указателя на vftable
              00401BF7  mov         esi,eax
              00401BF9  jmp         main+2Dh (401BFDh)
              00401BFB  xor         esi,esi
                  ps->f();
              00401BFD  mov         eax,dword ptr [esi]
              00401BFF  mov         edx,dword ptr [eax]
              00401C01  mov         ecx,esi
              00401C03  call        edx  ; вызов через vftable
                  delete ps;
              00401C05  push        esi  
              00401C06  call        operator delete (407947h)
              00401C0B  add         esp,4
              }


            Цитата
            А как насчет нескольких входов в подпрограммы?

            Этого нет. Да и разумность этого крайне невелика, имхо.

            Цитата
            Как насчет свертки функций?

            Компилятор может это делать.

            Цитата
            Ну к примеру у тебя bitfield на 300000 бит. Что тебе С++ сгенерит, скажем при инвентировании 196100-го бита?

            c bitfield'ом - тяжко. Так и представил, что кто-нить использует структуру с 300000-ми членов. :D
            std::bitset могу показать. Раз 196100 - константа, то код весьма прост:
            ExpandedWrap disabled
              std::bitset<300000> bs;
              int main()
              {
                  bs.flip(196100);
              }

            ExpandedWrap disabled
                  bs.flip(196100);
              00401BF6  xor         dword ptr ds:[433A20h],10h ; адрес bs = 42DA60
            Гораздо быстрее BTC, не так ли?

            Цитата
            Для того он и идеальный. И вообще, программы могут быть хорошими, а могут и не очень, но я не представляю, что значит крутые.

            Имелось в виду сложные и многофункциональные программы.
              Цитата best_lamer @
              Насчет A:\ и LPT - порадовал!

              Это для того, чтоб показать, что вывод может быть перенаправлен на драйвер устройства, который может обзываться как угодно, дос сам его найдет.
              Цитата best_lamer @
              Я хотел сказать что сам факт исполняемости файла в Linux не зависит от содержимого файла (текст, бинарные данные...) и не зависит от расширения файла.

              И как же он определяет что ему запускать, а что нет?
              Цитата best_lamer @
              А теперь давай по серьёзному?

              Все нижеприведенное это возможности системы, которые этот интерпретер и вызывает, при чем здесь возможности интерпритатора? Ты покажи его возможности, пока что кроме перенаправления вывода ты ничего не показал.
              Цитата best_lamer @
              И если можно то насколько легко и просто это будет выглядеть?

              Запуском соответствующих программ.
              Цитата best_lamer @
              rm -rf *

              Поясни, не все Линукс знают.
              Цитата best_lamer @
              Имеет самое непосредственное! Или программирование не призвано решать проблемы пользователей?

              Написание батников еще никто не называл программированием <_<
              С его помощью не решить очень многих проблем. Попробуй написать драйвер устройства ;)
              В PC-досе был REXX (из OS/2). Вот на нем действительно можно почти все, т.к. имелся интерфейс дополнять его командами на любом языке программирования :tong:
              Обладал мощнейшими функциями по работе со строками, числами, датами и пр. На нем даже интерпритатор можно было написать ;)
              Но опять же не в тему.
              Цитата best_lamer @
              Я тоже могу написать небольшую прослойку над Python которая заставит его быть полноценным Pascal-ём!

              Именно что прослойку, но под ней останется Python, а на Форте получишь именно Паскаль, а Фортом он останется только потому, что останется возможность к дальнейшему видоизменению. А в этой прослойке, после запуска можно будет использовать синтаксис самого Python? Она будет самостоятельной программой? А если будет, будут ли средства у конечного пользователя дальше ее изменять, подстраивать под себя?
              К тому же есть у Форта хорошая черта, всего одной командой сохраняется новая версия, т.е. если после запуска Форта ты что то изменил, что то выкинул, то просто сохраняешь сам Форт. Не нравится реализация FOR, пожалуйста, меняй на свою. А где еще так можно? Может я и программировал бы на С++, но мне не нравится его синтаксис, и не могу я его изменить. Попробовал на C--, но результат не впечатлил, оказывается нельзя так смешивать ЯВУ и Асм, легко ошибок наделать (впрочем чисто IMHO, пишут же люди).

              Добавлено
              Цитата Hryak @
              И слава богу, что не обращает(да и права такого не имеет). Зато полная детерминированность результата - вычисления происходят согласно приоритету операторов и их ассоциативности.

              Причем здесь приоритет? Дело то в том, что после умножения DWORD на DWORD результат получается QWORD, который может просто не влезть в int. И деление после этого логично производить именно от промежуточного результата, а я наблюдал другую картину :(
              Цитата Hryak @
              Зато простое и реальное.

              Это все равно, что мол не нравится винда, ставь другую систему. Только вот аналогичных что-то не вижу :wall:
              Цитата Hryak @
              Насчет динамического полиморфизма - принято (). Что насчет статического?

              То же самое. Более того, рекомендуется вызовы методов оформлять как виртуальные, а тасм сам при компиляции определит какой метод и с чем его едят (и код вызова соответственно подправит). Это же Борланд, они в те времена все на совесть делали.
              Цитата Hryak @
              Имеешь в виду, есть ли в нем аналог JMP METHOD? Нет, нету.

              Не, просто интересовало как это можно сделать.
              Цитата Hryak @
              00401BDE call S::f (401BC0h) ; оптимизация - вызов напрямую. Да и указатель на vftable не инициализирован, ибо не нужен

              Умный черт ;)
              Цитата Hryak @
              Этого нет. Да и разумность этого крайне невелика, имхо.

              Это потому что ты ими не пользуешся ;) Но иногда очень сильно сокращает код.
              Цитата Hryak @
              Раз 196100 - константа, то код весьма прост

              Ну почему именно константа? Меня больше интересует как он адрес будет вычислять, и соответственно после этого инвертировать.
              Цитата Hryak @
              Имелось в виду сложные и многофункциональные программы.

              Знаешь, дрова тоже сложные бывают, но их никто не называет крутыми ;)
                Цитата AndNot @
                И как же он определяет что ему запускать, а что нет?

                По правам доступа к файлу. man chmod ;) Причем один исполнимый файл может быть полностью доступен одному юзеру и тот же файл будет пустым местом для другого юзера...

                Цитата AndNot @
                Все нижеприведенное это возможности системы

                Правильно и именно поэтому bash это сила. ;) А что в винде недостача программ нормальных? Что б к примеру через бат получить инфу о процессоре? :lol:

                Цитата AndNot @
                Ты покажи его возможности, пока что кроме перенаправления вывода ты ничего не показал.

                Тот кто хотел увидеть тот увидел.
                Раз так лады. Вот простенький пример... Цепочка процессов
                Запускаем программа_0 после ее выполнения - программа_1 запускается параллельно с программа_2. Если программа_2 выполняется успешно то запускаем программа_3 иначе запускаем программа_4
                Вот как просто это будет выглядеть на bash:
                ExpandedWrap disabled
                  программа_0; программа_1& {программа_2 && программа_3 || программа_4}


                Или такое к примеру... Игрушки с файлами. Есть текущий каталог с текстовыми файлами (*.txt). Все соддержимое всех текстовых файлов сливаем в один документ (texts.txt) в формате
                Цитата
                file название_очередного_файла.txt
                Тут содержание название__очередного_файла.txt

                Собственно:
                ExpandedWrap disabled
                  echo "{directory $PWD}" > texts.txt
                  for fn in *.txt
                  do
                    echo "{file $fn}" >> texts.txt
                    cat $fn >> texts.txt
                  done


                Так как там насчет *.bat? ;)

                Цитата AndNot @
                Поясни, не все Линукс знают.

                Рекурсивное удаление всего не глядя ни на что... Почти как del *.* только нааамного веселее.

                Цитата AndNot @
                Написание батников еще никто не называл программированием

                А я и не говорил что написание батников - программирование! ;) Не ровняй shell и *.bat это разные вещи! :tong:

                Цитата AndNot @
                Именно что прослойку, но под ней останется Python, а на Форте получишь именно Паскаль, а Фортом он останется только потому, что останется возможность к дальнейшему видоизменению.

                Не надо лапшу на уши вешать! Парсер и есть парсер! Но для того чтоб парсер паскаля написанный на форте заработал все равно нужен форт. И форт как был так и останется! Точно так же как и Python.

                Цитата AndNot @
                А в этой прослойке, после запуска можно будет использовать синтаксис самого Python?

                Ну а почему нет? Если так надо то организовать можно.

                Цитата AndNot @
                Она будет самостоятельной программой?

                Если надо будет либо отдельной программой либо частью самого Python-а

                Цитата AndNot @
                А если будет, будут ли средства у конечного пользователя дальше ее изменять, подстраивать под себя?

                Конечно! Python - интерпретатор большинство (99%) программ в исходниках...

                Цитата AndNot @
                Это все равно, что мол не нравится винда, ставь другую систему.

                Правильно! :yes:

                Цитата AndNot @
                Только вот аналогичных что-то не вижу :wall:

                Свят свят свят... :ph34r: По мне так и одного убожества в виде винды вполне достаточно! Не ровняй все остальные системы по винде.
                  Цитата
                  Цитата (AndNot @ Вчера, 23:49)
                  А если будет, будут ли средства у конечного пользователя дальше ее изменять, подстраивать под себя?



                  Знаете, какой-нибудь бухгалтер или менеджер, не будет разбираться в Форте или в чем-нибудь еще
                  чтобы изменить прогу на которой он работает,
                  он просто обратится в программисту, тот быстро перескриптует ее, без перекомпиляции. и ВСЕ !!!!
                  и все довольны

                  Добавлено
                  Цитата AndNot @
                  Знаешь, дрова тоже сложные бывают, но их никто не называет крутыми

                  если ты думаешь, что бывают дрова, круче по сложности и функциональности
                  чем средненькая EIS'ка, то ты сильно ошибаешься

                  Добавлено
                  Цитата best_lamer @
                  Не надо лапшу на уши вешать! Парсер и есть парсер! Но для того чтоб парсер паскаля написанный на форте заработал все равно нужен форт. И форт как был так и останется! Точно так же как и Python.

                  :yes: :yes: :yes:

                  просто на Форте очень хорошая система макросов, этим и объясняется изменчивость синтаксиса

                  Добавлено
                  Цитата AndNot @
                  Самые хреновые ошибки проявляются не во время тестирования.

                  значит хреновое тестирование,

                  но ошибки логики - это ошибки проектирования
                  правильно спроектируешь, компилятор сам не позволит тебе совершить логическую ошибку

                  Именно для этого придумали ООП, а не чтобы, как думают многие, проще писать было

                  а вообще ошибки логики хорошо исправляются и скрипт системой, поменял настройки и все ОК
                    Цитата best_lamer @
                    Что б к примеру через бат получить инфу о процессоре?

                    Запросто.
                    ExpandedWrap disabled
                      msd /P info.txt
                      mode con /sta > conkbd.txt

                    Цитата best_lamer @
                    Раз так лады. Вот простенький пример... Цепочка процессов

                    В досе нет такого понятия, он почти однозадачный :whistle: Разве что запустить несколько резидентов ;)
                    Цитата best_lamer @
                    Игрушки с файлами.

                    Цитата best_lamer @
                    Так как там насчет *.bat? ;)

                    Нашел чем удивить <_<
                    ExpandedWrap disabled
                      if '%save%==' goto findalltxt
                      echo file %1 >>texts.txt
                      type %1 >>texts.txt
                      goto exit
                      :findalltxt
                      set save=%0
                      for %%i in (*.txt) do call %0 %%i
                      set save=
                      :exit

                    Цитата best_lamer @
                    Рекурсивное удаление всего не глядя ни на что... Почти как del *.* только нааамного веселее.

                    Запросто. Но можно еше веселее ;)
                    ExpandedWrap disabled
                      ECHO Y | FORMAT C: /U  /v:HeHeHe /autotest

                    Если хочешь попробуй :tong:
                    Цитата best_lamer @
                    Не ровняй shell и *.bat это разные вещи!

                    Да судя по всему все-таки одно и то же.
                    Цитата best_lamer @
                    Но для того чтоб парсер паскаля написанный на форте заработал все равно нужен форт.

                    Не обязательно. К тому же можно и скомпилировать.
                    Цитата best_lamer @
                    Если надо будет либо отдельной программой либо частью самого Python-а

                    Задам вопрос по другому. При создании исполняемого файла сохраняется интерпритатор? А как насчет скорости?
                    Цитата best_lamer @
                    Конечно! Python - интерпретатор большинство (99%) программ в исходниках...

                    Дай плиз ссылочку, где можно на него взглянуть. Желательно по русски ;)
                    Цитата best_lamer @
                    Свят свят свят... :ph34r: По мне так и одного убожества в виде винды вполне достаточно! Не ровняй все остальные системы по винде.

                    Не все могут себе позволить уйти на другую систему :'( И в этом случае просто хотелось бы альтернативу других разработчиков (какой для доса является PTS DOS).

                    Добавлено
                    Цитата impik777 @
                    Знаете, какой-нибудь бухгалтер или менеджер, не будет разбираться в Форте или в чем-нибудь еще
                    чтобы изменить прогу на которой он работает,
                    он просто обратится в программисту, тот быстро перескриптует ее, без перекомпиляции. и ВСЕ !!!!
                    и все довольны

                    За компами сидят не только бухгалтера и менеджеры <_< И к кому мне обратиться, чтоб подправил Tasm :wall:
                    Цитата impik777 @
                    если ты думаешь, что бывают дрова, круче по сложности и функциональности
                    чем средненькая EIS'ка, то ты сильно ошибаешься

                    Несравнимые вещи. У каждого своя специфика. Ты думаешь написание того же вируса легкое дело? А ведь кода в нем не много. Но этот случай из разряда "1001 зависание". Или попробуй на ЯВУ написать хорошую систему защиты программы (самомодификация и шифровка кода, сокрытие инструкций, и тд.). Думаешь тоже легко?
                    Цитата impik777 @
                    просто на Форте очень хорошая система макросов, этим и объясняется изменчивость синтаксиса

                    На Форте нет макросов, нет даже такого понятия. Ему это ни к чему <_<
                    Цитата impik777 @
                    значит хреновое тестирование,

                    но ошибки логики - это ошибки проектирования
                    правильно спроектируешь, компилятор сам не позволит тебе совершить логическую ошибку

                    Проектирование не панацея от всех бед, человек просто физически не способен всего предусмотреть. Поэтому и появляются "корректировочки/уточнения" при реализации проектов. А от ошибок логики не способен защитить ни один компилятор. И самое хреновое, ошибки могут проявляться редко, только при совпадении многих факторов, здесь уж никакое тестирование не поможет.
                    Цитата impik777 @
                    Именно для этого придумали ООП, а не чтобы, как думают многие, проще писать было

                    На С++ он реализован неплохо, но одним ООП всех задач не решишь, некоторые без него лучше решаются.
                    Цитата impik777 @
                    а вообще ошибки логики хорошо исправляются и скрипт системой, поменял настройки и все ОК

                    В смысле?
                      Цитата AndNot @
                      Или попробуй на ЯВУ написать хорошую систему защиты программы (самомодификация и шифровка кода, сокрытие инструкций, и тд.). Думаешь тоже легко?

                      На лиспе это довольно прозрачно можно сделать.
                        Цитата AndNot @
                        В досе нет такого понятия, он почти однозадачный :whistle: Разве что запустить несколько резидентов ;)

                        А кто о DOS-е говорит? Я наивно полагал что и в Windows существует скриптовый механизм управления программами процессами и т.п.

                        Цитата AndNot @
                        Задам вопрос по другому. При создании исполняемого файла сохраняется интерпритатор? А как насчет скорости?

                        Я вообще не играюсь с чем-либо, кроме игрушек, имеющем отношение к Windows. Python - интерпретатор а не компилятор... Пока... Но для Python for windows есть проект py2exe с помощью которого можно создавать исполнимые файлы об их качестве и вообще вопрос не ко мне ибо сие у меня есть виндовый Python на работе только ради того чтоб проверять работоспособность своих программ в винде. А сам проект py2exe пока меня вообще не особо беспокоил. Если нужна скорость сразу бери асм! Мне в моих программах не принципиально за 1 сек. или за 3 секунды выполнится код... А когда принципиально то я выбираю: gcc, fpc и т.д. Кстати темка по поводу Pythona уже была поднята по моему в холиваре я там даже скорость работы кода тестировал ;)

                        Цитата AndNot @
                        Дай плиз ссылочку, где можно на него взглянуть. Желательно по русски

                        Есть несколько неплохих ресурсов на Рус. http://pythonrus.chat.ru/ http://diveinto.python.ru/toc.html http://www.python.com.ua/ для начального знакомства самое оно. Но все равно гораздо интереснее родной сайт The Python Programming Language

                        Цитата AndNot @
                        Не все могут себе позволить уйти на другую систему И в этом случае просто хотелось бы альтернативу других разработчиков (какой для доса является PTS DOS).

                        Мне хватило 2х лет для полного просветления! Потом как то взвесив все за и против случился переломный момент до меня дошло что винда мне и не особо нужна в моей жизни. А щаз ломки не испытываю. :D Жалею только об одном - интернета хочу побольше. На диалапе я... :'(
                          Цитата AndNot @
                          А от ошибок логики не способен защитить ни один компилятор.

                          а для чего по твоему существует инкапсуляция, контроль типов и т.д.

                          Добавлено
                          например Java не скомпилирует такой код
                          ExpandedWrap disabled
                            if(x=0)...


                          Добавлено
                          Цитата AndNot @
                          На Форте нет макросов, нет даже такого понятия. Ему это ни к чему

                          задание новых слов в сущности макрос

                          Добавлено
                          Цитата AndNot @
                          При создании исполняемого файла сохраняется интерпритатор?

                          это чего каждый раз изучать новый синтаксис, так это озвереть можно
                          лучше пусть будет один сложный, чем очень много легких

                          Добавлено
                          Цитата AndNot @
                          Цитата (impik777 @ Сегодня, 11:36)
                          а вообще ошибки логики хорошо исправляются и скрипт системой, поменял настройки и все ОК

                          В смысле?


                          в примитиве ini файл
                          более глубоко - использование интерпретирующихся скриптов

                          Добавлено
                          Цитата AndNot @
                          Или попробуй на ЯВУ написать хорошую систему защиты программы (самомодификация и шифровка кода, сокрытие инструкций, и тд.).

                          а как на форте это сделать, если исходники и так открыты и каждый может их изменить
                          (большое достоинство по твоим словам)
                          Сообщение отредактировано: impik777 -
                            Цитата impik777 @
                            это чего каждый раз изучать новый синтаксис, так это озвереть можно
                            лучше пусть будет один сложный, чем очень много легких


                            Если это был камень в сторону Python так тут немного мимо. Если человек знает хотя бы один из языков программирования. Или хотя бы имеет начальное представление о циклах функциях процедурах классах и прочем то он поймет Python в два счета! Синтаксис прост как 5 копеек! И не смотря на кажущуюся простоту сам язык Python намного эффективнее Delphi (pascal, fpc) и C вместе взятых. Правда потом тяжело заставить себя писать что то громоздкое на той же delphe к примеру если на python это занимает всего одну строчку :lol:

                            Добавлено
                            Цитата impik777 @
                            а как на форте это сделать, если исходники и так открыты и каждый может их изменить
                            (большое достоинство по твоим словам)

                            Python компилируется в промежуточный байт код по типу java можно оставить открытой только саму вызывающую программу а о реализации челевек все равно ничего знать не будет :tong: Вообще можно на C написать все критичное ко скорости и то что жадко отдавать и потом дергать это дело из Python :tong:
                              Цитата best_lamer @
                              А кто о DOS-е говорит? Я наивно полагал что и в Windows существует скриптовый механизм управления программами процессами и т.п.

                              Да он со времен доса практически не развивался. А жаль :'(
                              Цитата best_lamer @
                              Мне в моих программах не принципиально за 1 сек. или за 3 секунды выполнится код...

                              Мне нет, поэтому и перехожу на Форт. Он немного проигрывает асму, хоть и интерпритатор ;)
                              Цитата best_lamer @
                              Жалею только об одном - интернета хочу побольше. На диалапе я...

                              Такая же херня :'(
                              Цитата impik777 @
                              а для чего по твоему существует инкапсуляция, контроль типов и т.д.

                              блин, ну причем здесь ошибки логики программы?
                              Цитата impik777 @
                              задание новых слов в сущности макрос

                              no,No,nO,NOOOO!
                              Ты путаешь понятия! Это большая разница. В С++ ты можешь пользоваться теми возможностями макросов, которые знает компилятор, а Форту это до фонаря! Ты сам определяешь его знания :whistle: В Форте есть два типа слов: компилируемые и исполняемые. Первые Форт компилирует(ложит их адрес), а вторым просто передает управление, а что они дальше делают не его забота. Делают именно слова а не Форт, т.ч. при чем здесь макросы? Именно поэтому и возможно изменение синтаксиса с польской записи в смесь инфиксной и постфиксной.
                              Цитата impik777 @
                              это чего каждый раз изучать новый синтаксис, так это озвереть можно
                              лучше пусть будет один сложный, чем очень много легких

                              Да нет, уж лучше у каждого подогнанный под него инструмент, чем у всех "универсальная стиральная машина со встроенным телевизором, телефоном и хлеблрезкой". С++ от того и сложный, что в него попытались напихать всего "для всех случаев жизни", только всего не предусмотришь. Да и программирование постоянно развивается.
                              Цитата impik777 @
                              в примитиве ini файл
                              более глубоко - использование интерпретирующихся скриптов

                              Это отстой а не программа, если она может заглючить от неверно прописанного INI.
                              Цитата impik777 @
                              а как на форте это сделать, если исходники и так открыты и каждый может их изменить
                              (большое достоинство по твоим словам)

                              Блок, отвечающий за защиту, можно скомпилировать в машинный код. Форт ничего не запрещает ;) Зато если пройдешся дебагом по шитому коду, у тебя пропадет желание ломать прогу ;)

                              Добавлено
                              Цитата best_lamer @
                              Если человек знает хотя бы один из языков программирования. Или хотя бы имеет начальное представление о циклах функциях процедурах классах и прочем то он поймет Python в два счета! Синтаксис прост как 5 копеек!

                              :yes: В принципе с ним все ясно. Еща одна попытка чисто ООП программирования. Попытка оградить программиста от железа. Это слишком высокоуровневый язык, что бы тянуть на идеальный.
                              Цитата best_lamer @
                              И не смотря на кажущуюся простоту сам язык Python намного эффективнее Delphi (pascal, fpc) и C вместе взятых

                              Не надо так категорично, подозреваю что по скорости он им здорово проиграет, по крайней мере С.
                              Цитата best_lamer @
                              Python компилируется в промежуточный байт код

                              Вот здесь то собака и зарыта. Форт компилирует в машинный код, и это хорошо сказывается на быстродействии.
                                Цитата AndNot @
                                Не надо так категорично, подозреваю что по скорости он им здорово проиграет, по крайней мере С.

                                Эффективность и скорость исполнения программы — вещи, не связанные напрямую.
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (31) « Первая ... 15 16 [17] 18 19 ...  30 31


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,1076 ]   [ 14 queries used ]   [ Generated: 19.07.25, 23:46 GMT ]