На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (31) « Первая ... 24 25 [26] 27 28 ...  30 31  ( Перейти к последнему сообщению )  
> идеальный язык программирования , каким он должен быть?
    Цитата B.V. @
    Я тебе подскажу - VB, куда уж понятней и удобней.

    Там ООП
    МЕЖДУ ПРОЧИМ содраное с С++ почти полностью (привет Биллу)

    а так там больше букаффок

    Добавлено
    Цитата AndNot @
    И как же в С++ добавить "возможности изменения синтаксиса Форта"?

    А как из Си сделали С++ ?
    а из С++ -> Java ?

    Добавлено
    Цитата AndNot @
    На том же асме создавать программы ничуть не труднее чем на любом другом

    Асм - не переносимый язык с одного процессора на другой
    это еще одна причина поменьше им пользоваться

    Си, например, создавали как переносимый ассемблер
    а Java, ПОЛНОСТЬЮ машинно-независимый язык

    Добавлено
    Цитата AndNot @
    Да и библиотек по модификации Форта в Бейсик и Паскаль уже хватает, Си тоже пишется.

    Ну макросами на СИ то же можно многое понаписать
    (а ведь ранее так и делали)
    Сообщение отредактировано: impik777 -
      Цитата impik777 @
      МЕЖДУ ПРОЧИМ содраное с С++ почти полностью (привет Биллу)

      Да нифига. Там модель-то совершенно иная. C++ основан на статической типизации.
      Цитата impik777 @
      а Java, ПОЛНОСТЬЮ машинно-независимый язык

      :no: Java — это язык, зависящий от Java-машины.
        impik777 - сорри - у тя одно голословние - не несущее никакой смысловой нагрузки.
        Где в потверждении высказывания
        Цитата impik777
        Там ООП
        МЕЖДУ ПРОЧИМ содраное с С++ почти полностью

        в примерах - чтоб сравнить???
        чет я самниваюсь что ты к кодингу имеешь какоенить отнашение..
        Цитата

        Асм - не переносимый язык с одного процессора на другой


        асм переносим алгоритмически - так как оперирует в основном логическими командами and/not/or/xor
        операция cmp - присутствует так же у сех процов как и флаги (зеро/перенос/негатив и пр)...
          Цитата mICRo @
          impik777 - сорри - у тя одно голословние - не несущее никакой смысловой нагрузки.
          Где в потверждении высказывания

          содранные енумы
          ExpandedWrap disabled
            Public Enum slpBorderStyles
             
                None = 0
             
                FixedSingle = 1
             
            End Enum


          в описании модуля класса
          ExpandedWrap disabled
            Public WorldName As String
            Public WorldMusic As String
            Public Day As Integer
            Public Month As Integer
            Public Year As Integer
             
            Private monthes(12, 1) As Variant
            Private map(100) As String
            Private coords(100, 4) As Variant
            Private PassToNext As Integer
             
            Private Variables As New Collection
             
             
            Private Sub Init_World_Consts()
            '.....................................
            End Sub
             
            Public Function GetPosMap(X, Y) As String
             
            GetPosMap = Mid(map(Y), X, 1)
             
            End Function



          наследования я тоже встречал
          тока синтаксис ща не помню


          Цитата mICRo @
          асм переносим алгоритмически - так как оперирует в основном логическими командами and/not/or/xor
          операция cmp - присутствует так же у сех процов как и флаги (зеро/перенос/негатив и пр)...


          а как же регистры и всякое такое ?

          Цитата mICRo @
          в примерах - чтоб сравнить???

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

          Цитата mICRo @
          чет я самниваюсь что ты к кодингу имеешь какоенить отнашение..

          я приводил много сырцов на С++ ;)
          на Джаве не привожу, т.к. во многом она очень похожа на С++
          Сообщение отредактировано: impik777 -
            Цитата impik777 @
            наследования я тоже встречал
            тока синтаксис ща не помню

            И множественное наследование там тоже есть?
            Цитата impik777 @
            на Джаве не привожу, т.к. во многом она очень похожа на С++

            ява совсем на похожа на C++
              Цитата mo3r @
              И множественное наследование там тоже есть?

              Если честно, по наследованию, я видел сырцы
              где было одиночное, про множественное не знаю
              но знаю другое, что дядя Билл
              заявил, что сделает в Базике все возможности С++
              особенно это касается версий с 6,0

              Добавлено
              Цитата mo3r @
              ява совсем на похожа на C++

              ну синтаксиса там оч много похожего
              и даже некоторый упрощен
              например интерфейсы
              а идеология проектирования почти совпадает
              не видел особых различий

              да на Джаве шаблонов нет
              и более жесткий контроль типов
              и объекты создаются тока динамически
              и есть сборщик мусора
                Цитата impik777
                а как же регистры и всякое такое ?

                да пофик на регистры и всякое такое. покури исходники какого нить эмулятора (рекомендую сеговский [/B]Gens[B] - весч, три проца эмуляцца (SH4,68x0,Z80) + всякое такое) и всё станет ясня (кто у кого чё содрал).
                  Цитата impik777 @
                  Если честно, по наследованию, я видел сырцы
                  где было одиночное, про множественное не знаю

                  Так одиночное много где есть. А вот именно множественного практически нигде нет. Знаю, что есть в C++, CLOS, про другие не знаю.
                  Цитата impik777 @
                  а идеология проектирования почти совпадает
                  не видел особых различий

                  Идеологии отличаются очень сильно.
                  Цитата impik777 @
                  и более жесткий контроль типов

                  Контроль типов там менее жесткий, именно потому что нет такого сильного статического контроля. Нету enum'ов, шаблонов (жалкое подобие в виде генериков не рассматриваем).
                  Цитата impik777 @
                  и объекты создаются тока динамически
                  и есть сборщик мусора

                  Вот в этом очень много отличий. На C++ можно многие вещи с помощью объектов с автоматическим временем жизни, что значительно упрощает код.
                  Простой пример:
                  ExpandedWrap disabled
                    int read_from_file(const string& filename)
                    {
                      ifstream f(filename);
                      int i;
                      f >> i;
                      return i;
                    }

                  И все. Файл точно будет открыт (или будет кинуто исключение) и точно будет закрыт (а в яве за этим надо следить явно). Этот механизм позволяет перенести как инициализацию, так и деинициализацию в одно место — в место объявления объекта.
                  Или другой пример:
                  ExpandedWrap disabled
                    class GdiObjectChanger
                    {
                    private:
                        HDC dc;
                        HGDIOBJ obj;
                        bool del_obj;
                    public:
                        GdiObjectChanger(HDC dc, HGDIOBJ obj, bool del_obj = true): dc(dc), del_obj(del_obj)
                        {
                            this->obj = SelectObject(dc,obj);
                        }
                        ~GdiObjectChanger()
                        {
                            obj = SelectObject(dc,obj);
                            if (del_obj)
                                DeleteObject(obj);
                        }
                    };
                     
                    class GdiBkModeChanger
                    {
                    public:
                        HDC dc;
                        int bkmode;
                    public:
                        GdiBkModeChanger(HDC dc, int newmode):dc(dc),bkmode(newmode)
                        {
                            bkmode = SetBkMode(dc,bkmode);
                        }
                        ~GdiBkModeChanger()
                        {
                            bkmode = SetBkMode(dc,bkmode);
                        }
                    };
                     
                    class GdiTextColorChanger
                    {
                    private:
                        HDC dc;
                        COLORREF col;
                    public:
                        GdiTextColorChanger(HDC dc, COLORREF col):dc(dc),col(col)
                        {
                            GdiTextColorChanger::col = SetTextColor(dc,GdiTextColorChanger::col);
                        }
                        ~GdiTextColorChanger()
                        {
                            col = SetTextColor(dc,col);
                        }
                    };
                    class DcPreparer
                            {
                            public:
                                DcPreparer(HDC dc);
                            private:
                                GdiTextColorChanger colch;
                                GdiObjectChanger objch;
                                GdiBkModeChanger bkmch;
                                GdiObjectChanger bkgch;
                            };
                     
                    DcPreparer::DcPreparer(HDC dc)
                        :objch(dc,CreateFont(
                                -20,
                                0,
                                0,
                                0,
                                FW_DONTCARE,
                                FALSE,
                                FALSE,
                                FALSE,
                                DEFAULT_CHARSET,
                                OUT_TT_PRECIS,
                                CLIP_DEFAULT_PRECIS,
                                DEFAULT_QUALITY,
                                DEFAULT_PITCH,
                                L"Times New Roman")),
                        colch(dc,RGB(255,63,255)),
                        bkmch(dc,TRANSPARENT),
                        bkgch(dc,CreateSolidBrush(RGB(0,127,0)))
                        {
                        }

                  В итоге мы имеем удобную штуку для использования: если нам надо нарисовать что-то, мы просто создаем объект внутри функции и забываем про него. В итоге код сильно сокращается и упрощается.
                  ExpandedWrap disabled
                    void Scene::draw(HDC dc, int x, int y)
                    {
                        Frame::DcPreparer dcp(dc);
                        for (It i = objects.begin(); i != objects.end(); ++i)
                        {
                            (*i).second->draw(dc,x+(*i).first.x,y+(*i).first.y);
                        }
                    }

                  А в лиспе, благодаря макросам, возможны еще более удобные конструкции подобного рода («обрамляющие» некий кусок кода).
                    Цитата impik777 @
                    Цитата (AndNot @ Сегодня, 15:39)
                    И как же в С++ добавить "возможности изменения синтаксиса Форта"?

                    А как из Си сделали С++ ?
                    а из С++ -> Java ?

                    А что, в С++ можно синтаксис менять? ИМХО ты немного путаешь понятия. Какой в Си, Паскаль и некоторые другие языки, изначально заложен синтаксис, таким он и останется, какие бы ты либы не подключал. Ты можешь написаль парсеры, но это немного другое, и зачем мне иметь С++ чтобы программировать на Паскале :wacko:
                    Цитата impik777 @
                    Асм - не переносимый язык с одного процессора на другой это еще одна причина поменьше им пользоваться

                    Ха-ха-ха, но не смешно, а говорил что асм знаешь. Я когда то переносил программы с КР580ВМ80 на x86(с 8-ми битного на 16-ти), ничего сложного, были конечно тонкости, но это скорее к особенностям архитектуры (в то время, если не знаешь, программы напрямую работали с железом).
                    Цитата impik777 @
                    а как же регистры и всякое такое ?

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

                    :no: Си создавали как замену асму PDP. В нем очень много осталось от того динозавра. Например операция i++ не даст никаких преимуществ на x86. Строки с завершающим нулем не самый лучший вариант для x86. и т.д.
                    Цитата impik777 @
                    Ну макросами на СИ то же можно многое понаписать
                    (а ведь ранее так и делали)

                    А ты не задумывался почему их сейчас не рекомендуют использовать?
                    Цитата impik777 @

                    содранные енумы

                    Если уж на то пошло, то енумы появились задолго до Си ;)
                      Цитата impik777 @
                      да на Джаве шаблонов нет

                      Уже давно есть со времен выхода Java 5
                        Цитата AndNot @
                        По скорости опять же асм, точнее человек

                        Ну, дабы тебе не быть голословным, приглашаю тебя вот в эту тему:
                        Строка->Число
                        и жду от тебя варианта на асме (или форте), "уделывающего" уже предложенные варианты по производительности. Дабы, так сказать, познать человеческий фактор во всей его красе.

                        Цитата AndNot @

                        А что, в С++ можно синтаксис менять?

                        В определенном смысле.
                          Цитата
                          Си создавали как замену асму PDP. В нем очень много осталось от того динозавра

                          хм.. кстати DEC PDP - был (да и остаёться) весьма шикарным процессором с восьмю 16-ти битными регистрами. Помню его по БК0011, с которого начинал азы низкоуровнего-программирования (да и ломания игрух). Восьмеричные машинны коды очень легко читались (без всякого дизасма), и даже порой посещала идея сделать байт код, что ли, используя подобную архитектуру.
                            Цитата Flex Ferrum @
                            и жду от тебя варианта на асме (или форте), "уделывающего" уже предложенные варианты по производительности. Дабы, так сказать, познать человеческий фактор во всей его красе.

                            После завра гляну. Интересно даже будет посмотреть Форт ;)
                            Цитата Flex Ferrum @
                            В определенном смысле.

                            Это ты про что?
                            Цитата mICRo @
                            хм.. кстати DEC PDP - был (да и остаёться) весьма шикарным процессором с восьмю 16-ти битными регистрами.

                            Вот и хрен то что был. Увы :'(
                              Цитата AndNot @
                              Это ты про что?

                              Ну, например про превращение С++ в средство для описания LL-грамматик (boost::spirit), в средство для описания конечных автоматов (boost::statechart), ну и т. п. Знаю, что С++ превращали в Lisp.
                                Цитата linuxfan @
                                Уже давно есть со времен выхода Java 5

                                Там генерики. От шаблонов отличия существенные.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (31) « Первая ... 24 25 [26] 27 28 ...  30 31


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