На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (31) « Первая ... 6 7 [8] 9 10 ...  30 31  ( Перейти к последнему сообщению )  
> идеальный язык программирования , каким он должен быть?
    Цитата gnus @
    согласись, недалекому юзеру, пользующему твой пакет, понятней будет, скажем, сабрутина PowMatrix(M,p), чем какое-нибудь M^p

    Тогда почему в matlab используется имеено M^p, а не PowMatrix? Может, математикам все-таки удобнее читать M^p?
      нормальные математики не будут писать матсофт. им хвати готовых пакетов (типа матлаб).

      а если надо (типа задач оптимизации), то обычно обращаются к программистам.

      и вобще, может это и был неудачный пример, но вполне жизненный. обычно людям понятнее слова PowMatrix, чем "эм галочка пэ".

      но это сугубо мое мнение, я не претендую на его объективность. просто пытаюсь аргументировать
        Цитата wormball @

        Мне стандартный форт не нравится в основном тем, что там всё пишется большими буквами,

        В СП-форт
        REQUIRE CASE-INS lib\ext\caseins.f
        получишь регисртонезависимость
        Цитата

        а также тем, что он слишком большой (СП-форт 3 мегабайта) и, как следствие, мало доступен прямому изучению.

        Где там 3 мегабайта? Исходные тексты системы занимают
        340K . Католог \src в spf4-017.rar

        Цитата

        Также на мой взгляд в стандарте много архаизмов (например, поддержка блоков).

        И блоков там нет.

        Цитата

        Плюс я не встретил нормальной библиотеки для работы с плавающей точкой (возможно, мало искал).

        spf4.exe REQUIRE F. lib\include\float2.f 6E 7E F/ F.

        В процессе восприятия исходного текста Форт может
        менять синтаксис и семантику впроть до превращения себя
        в любой язык программирования. Такми образом новую
        форт-систему имеет смысл писать только ради упражнения.
        Сообщение отредактировано: mak4444 -
          Hello All!
          Интересно было наблюдать, но вот вспомнился случай давнишний.
          Попалась мне прога, делала что-то ну очень интересное, а размер был смешной :o
          Решил ее просмотреть (я не знал что она на Форте скомпилирована), но когда попробовал под TD, у меня чуть крыша не съехала от шитого кода (месяц после этого не пил, ну неделю уж точно :) Так, что Форт, помимо всего прочего - это хорошее средство от любителей рипать чужой код!
          Цитата mak4444 @
          В процессе восприятия исходного текста Форт может
          менять синтаксис и семантику впроть до превращения себя
          в любой язык программирования.

          В этом главное достоинство Форта, программист может изменять сам язык, а не только библиотеки (других таких просто нет), причем даже по ходу выполнения программы (это ли не полный полиморфизм?).
          Цитата mak4444 @
          В процессе восприятия исходного текста Форт может
          Такми образом новую
          форт-систему имеет смысл писать только ради упражнения

          Это действительно изобретать не надо, но вот новый язык на базе Форта создать можно, только вот добавлять в Форт практически и нечего, все уже есть :)
          Кстати, я вот слышал, что в СССР создавали компьютеры, для которых родным языком был не асм, а именно Форт (т.е. два стэка и т.д). Кто нить знает что-нибудь об этом подробнее? (желательно в PM).
          Сообщение отредактировано: AndNot -
            Цитата arcsupport @
            Цитата
            Идеальный язык программирования - Русский матерный :lool:
            На самом деле, идеальным яп м.б. только для узкого класса задач

            Нейролингвистическое программирование, слышали? :lool:
              Цитата AndNot @

              Это действительно изобретать не надо, но вот новый язык на базе Форта создать можно, только вот добавлять в Форт практически и нечего, все уже есть :)


              Если-бы это было так, то его-бы все и использовали. Т.к. неограниченная расширяемость, вообще лишает его
              неустранимых недостатков. Я думаю, на данном этапе в Форте следует реализовать синтаксис обычных языков.
              Начиная с Си и Паскаля. Байсиков уже целая пачка. Си сделал я (не совсем) http://fpauk.narod.ru/cinf13.rar
              Паскаль только начал.
              У Форта экономическая проблема http://fforum.winglion.ru/viewtopic.php?p=1229&highlight=#1229

              Цитата AndNot

              Кстати, я вот слышал, что в СССР создавали компьютеры, для которых родным языком был не асм, а именно Форт (т.е. два стэка и т.д). Кто нить знает что-нибудь об этом подробнее? (желательно в PM).


              http://fforum.winglion.ru/viewforum.php?f=3 ребята делают на плисах.
              Еще: http://www.ultratechnology.com/
                Хелло Олл!
                Цитата mak4444 @
                Если-бы это было так, то его-бы все и использовали.

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

                Было бы неплохо, учитывая то, что вместе с ,к примеру Pascal, получишь еще и возможность Форта к дальнейшему видоизменению.
                Цитата mak4444 @

                Начиная с Си и Паскаля. Байсиков уже целая пачка. Си сделал я (не совсем) http://fpauk.narod.ru/cinf13.rar
                Паскаль только начал.

                В GP Forth есть програмка "pas.frt", которая выполняет перевод PAS->FRT и наооборот. Правда паскаль несколько ограничен :( Но мне понравилось :D Будь добр, когда закончишь, кинь ссылку откуда скачать.
                И спасибо за ссылки :yes: Сейчас загляну.
                PS: К возникшему спору о C++ и Форте (взял из книги Баранова):
                А кто сможет на C++ сделать такое ;)
                ExpandedWrap disabled
                            > 2  2  *   . ( умножаем 2*2 и выводим результат на экран)
                            4 ОК          ( естественно получаем 4 )
                            > :  2  3  ;  ( ;-)
                             ОК
                            > 2  2  *  .  ( снова выполняем умножение 2*2 )
                            9 ОК          ( получили 9 :-()
                            > FORGET  2   ( забываем переопределение )
                             ОК
                            > 2  2  *  .  ( и снова умножаем 2*2 )
                            4 ОК          ( опять получаем 4 )

                А в школе учили, что 2*2 всегда равно 4 :D :D :D :D
                LPS:Нашел интересную статейку о Форте из журнала Ifected Voice (был такой у наших вирмейкеров). Кто заинтересовался, могу подкинуть ;)
                  Язык,в котором сам алгоритм имел бы право добавлять,удалять,модифицировать строки кода в самом алгоритме.
                  Причем чтоб замещающие строки/выражения/операторы не были константными.
                  Иными словами:

                  ExpandedWrap disabled
                    var
                      i: Byte;
                      a: Integer;
                      b: Integer;
                      y: TVariable; //тип переменная
                     
                    begin
                    1:  .....
                    2:  .....
                    3:  .....
                    4:  i: = 6;
                    5:  y.Set(b);
                    6:  if x<>4 then
                          begin
                    7:      x := 0;
                    8:      Place(i) "if y<>6 then"
                    9:      y.Set(a);
                    10:     Remove(9,10);
                          end;


                  оператор Place(i: Word) - заменяет сроку,номер которой указан в скобках.
                  Set указал компилятору,что ныне переменная y указывает на указанную в скобке переменную;
                  (в С++ это кажется называется ссылкой,к примеру int @a = r)
                  Remove(a: array of Word) удаляет строки с перечисленными номерами.
                  итд итп.
                  Самообучающийся.
                  Однако это чревато возниконовению грандиозных ошибок времени выполнения.Зато безгрпнично гибкий.

                  Бред? Да бред.
                  Но и ООП было бредом когда-то.
                  "Воображение,важнее знания". © А.Эйнштейн.
                  Сообщение отредактировано: Водолей -
                    Э-э... А если я добавлю пару строк в твою программу? Тогда Place сменит не ту строку. Логичнее была бы замена по метке.
                      Цитата Водолей @
                      Язык,в котором сам алгоритм имел бы право добавлять,удалять,модифицировать строки кода в самом алгоритме.
                      Причем чтоб замещающие строки/выражения/операторы не были константными.

                      Есть такой язык -- лисп. Только там не строки, но сути это не меняет.
                        Цитата Водолей @
                        Язык,в котором сам алгоритм имел бы право добавлять,удалять,модифицировать строки кода в самом алгоритме.

                        Цитата mo3r @
                        Есть такой язык -- лисп.

                        Python!

                        Добавлено
                        mo3r собственно Python ничем не хуже Lisp ;)
                        Python for Lisp Programmers
                          Значит не один я такой умный. :D
                            Цитата Водолей @
                            Язык,в котором сам алгоритм имел бы право добавлять,удалять,модифицировать строки кода в самом алгоритме.
                            Причем чтоб замещающие строки/выражения/операторы не были константными.

                            Форт, кстати говоря. Можно подавать любую строку из программы на вход компилятора, не говоря уже о том, чтобы изменять файлы с исходниками.

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

                            ООП на Форте я пока что не видел (может быть, плохо искал) и пока что не придумал, как нормально организовать. Наверное, было бы полезно.

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

                            У того же Броуди наглядно показывается, что при отказе от специфического синтаксиса Форта и попытках подражания синтаксисам других языков сильно затрудняется процесс видоизменения языка.
                              Сейчас какой год?

                              Все что можно было хорошего создать уже создали.
                              У же есть язык D, продолжение C. Может его попробуете.

                              http://www.digitalmars.com/d/overview.html
                              http://www.xakep.ru/post/32779/default.asp
                              http://soft.compulenta.ru//17521/?phrase_id=4396837
                              http://xen.rwx.ru/coding/42.1

                              И вот еще про IDE http://okante.narod.ru/D/
                              Сообщение отредактировано: SOLON7 -
                                Цитата AndNot
                                Я думаю, что Форт значительно опередил свое время, а когда оказался востребован, о нем уже подзабыли.


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

                                Цитата

                                В GP Forth есть програмка "pas.frt", которая выполняет перевод PAS->FRT и наооборот. Правда паскаль несколько ограничен


                                Есть еще http://www.complang.tuwien.ac.at/forth/Gray5.zip

                                Цитата wormball

                                ООП на Форте я пока что не видел (может быть, плохо искал) и пока что не придумал, как нормально организовать. Наверное, было бы полезно.


                                Вообже-то навалом http://www.google.com/search?hl=en&q=forth+oop

                                Самая простая реализация, по моему, эта http://onestepback.org/articles/poly/forth.html
                                Сообщение отредактировано: mak4444 -
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (31) « Первая ... 6 7 [8] 9 10 ...  30 31


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0484 ]   [ 15 queries used ]   [ Generated: 18.07.25, 13:41 GMT ]