Обява

Свий
Няма добавени обяви.

Езици за програмиране. Добър ли е Фортрана?

Свий
X
 
  • Филтър
  • Час
  • Покажи
Изчисти всичко
нови мнения

  • Езици за програмиране. Добър ли е Фортрана?

    И какво му е лошо на Фортрана? Почти оптималният език за тежки тъкмо нелинейни системи. Макар че на Ц е по-мързеливо. А освен това на разни асемблери, и вярно за извращение и веселба - и на машинен код. А има и една друга шашма - Форт. На нея лесно стават бързите самообучаващи се системи за решаване на недефинирани задачи. Машинките се държат като хитър котарак, голямо куче и маймуна едновременно. Във всеки случай - несравнимо по-разумно от заобикалящите ме в момента. Хм. Хора. Да кажем.
    А първата за работа, на първите Епъл ІІ, беше да смята факториел. С логаритмичната линийка беше все пак по-бавно Май беше на Бейсик.

  • #2
    Много лоши неща има Фортрана Стефане. Например това че там можеш да завъртиш цикъл който примерно да свърши при условие

    X=10

    Е да но ако случайно при разните сметки които формират променливата Х не се съобразиш и той стане да кажем с начална стойност 1.2 и така влезе в цикъла той ще се върти безкрайно... За изненада на програмиста.

    Фортрана е недобре дефиниран език. Всяка променлива може да всякакви стойности. Освен това няма никаква модулност което което автоматично довежда до невъзможността да се правят сложни и
    развити системи. Фортрана става само и единствено за тежки но прости сметки... Прости като конструкция...

    За добре дефиниран и перфектно модулен език може да се говори относно Паскал и най-вече наследника му АДА. Но те не се наложиха. Защо това е вече дълга тема...
    VPetrov.photography

    Коментар


    • #3
      Никога не съм чувал някой да се учуди на зациклила програма)) Това беше като кихането в грипа - не може без него. Ако не е зациклила на първото пускане това предизвикваше паника - да не би изобщо да не е работила бе, кво става тука???))
      ПЛ-а и Ц-то бяха достатъчно структурирани. И капризни. Пък хората си бяха събрали кашони с подпрограми на Фортран, никой не се стряскаше много.
      Е, тия бяха ориентирани изобщо към изкуствения интелект. Само че в това време компютрите станаха бързи, дребни и евтини, и цялата работа се отплесна към брутално ускоряване на тъпи модели. Вместо да се прецизират аналитично по-добри модели. Или поне някой да се сети за хоризонталните структури, които управляват например насекомите. Така увеличената скорост на смятане направи за пореден път лоша услуга на науката. Компютрите в крайна сметка се оказаха враг на прогреса. Още по-лошото е, че големите теоретици на кибернетиката не знаят дали от тук нататък има полезен ход.

      Коментар


      • #4
        Венци, ама той Фортран-а е измислен от математици за математици-логистици
        Между другото сме правили експеримент Фортран срещу Паскал в решаване на система нелинейни частни диференциални уравнения. И ... резултата беше 8ч. (Фортран) срещу 3 дена (Паслкал). За това със сигурност има вина и MicroVAX-a с VMS обаче ... както и да го оптимизирахме по добри резултати не постигнахме.

        Коментар


        • #5
          Това, за което говори Венци е, че ФОРТРАНът е език с loose type, т.е. "лабав тип" на променливите. Така се нарежда в категорията на скриптовите езици, независимо, че се компилира. Вярно, че в компилатора има ключ, който да налага strict type, ама вече е все тая - изложил се е. Език, който няма декларации, ами направо дефиниции е опасна работа за по-сериозни приложения.

          Освен горния съществен недостатък идва и голямата брадва - указателите се появяват чак при ФОРТРАН 90, т.е. дотогава това е ултра ограничен език за разни математически ориентирани задачи.

          Асемблери, машинен код и т.н. - все специализирани езици за елементарни и некомплексни системи, при силно ограничени ресурси. Интересно е, но това е повече в сферата на електрониката, отколкото на програмирането.
          Последно редактирано от Obersturmbahnfuehrer; 05-02-07, 22:16.

          Коментар


          • #6
            Да. Така и тръгна работата от началото на 80-те. Универсални еднопроцесорни машини за общи задачи. Могат каквото могат, и нищо - като хората.
            Стигаше да се оставят нискоресурсните процесори за малки задачи, да се навържат в хоризонтални мрежи и днес работата щеше да изглежда другояче. Е, сигурно тлъстите невменяеми тинейджъри нямаше да съществуват заради отсъствие на интернет бардаци, но футболът и роботиката щяха да са стотина години пред сегашното положение на нещата. И какво ли не друго.
            И сигурно щеше да има поне един по-малко с вечно микро и вечно софт.

            Коментар


            • #7
              Не е толкова романтично просто за съжаление... Твоя компютър например е с доста по големи възможности от няколко информационни центрове от не толкова далечното минало но я пробвай да свършиш нещо много "яко" с него...
              VPetrov.photography

              Коментар


              • #8
                Fortran

                Това че Фортрана е език за сметки е доказвано много пъти и с най-различни експерименти. Аз лично съм го пробвал с едни системи за смятане на аберации в оптични системи ( Абе става дума за мерници).
                Там Фортрана беше в пъти по бърз от Паскала .
                Но Фортрана изискваше една по-различна нагласа в прорамистите отколкото сега. В момента програмистите са повече дизайнери. А едно време бяха нещо като магесниците от книгите на Прачет. Баеха над едни перфокарти, котката им пикаеше върху стари перфоленти и т.н.
                Ех спомени.
                Аз си го харесвам фортрана, все пак първата ми заплата беше за програма писна на фортран и изпълнена на ЕС1020 с 7диска * 7 МБ всеки.
                По повод машините преди време с носталгия си спомням как сисадмина си топлеше баничката върху центрания процесор на машината и си правихме антени от дискове.
                Стига бе толкова ли съм одъртял.......
                Колкото и коне да има под капака, важното е магарето зад волана
                NULLA TENACI INVIA EST VIA

                Коментар


                • #9
                  Така е за бързината никой не спори. То при компилаторите казуса е ясен, колкото по езика е от ниско ниво толкова по-бърз е кода който е резултат. Затова най-бързи ставаха програмите на асемблер. Между другото асемблера е също език от високо ниво. Най-първичния си е машинния който много хора бъркат с асемблер. И понеже е много трудно да се пише на машинен език директно е измислен асемблера. За първите простички програми и драйвери е бил ОК. С течение на времето нещата се усложниха и се появиха такива езици като Фортрана. Понеже и те бързо се изчерпаха като възможности за сложни системи се появиха ново поколение и така...
                  VPetrov.photography

                  Коментар


                  • #10
                    Ех спомени

                    Абсолютно вярно. Просто Фортрана си изживя времето. Не пригоден за сегашните изисквания към програмирането и интерфейса.
                    Просто ме гони носталгията понякога.

                    Но има и нещо друго. Имаше езици, който можеха да се развият, но не успяха и изчезнаха. Например АДА, ПРОЛОГ, ЛИСП
                    Макар че и сега има системи за писане на ПРОЛОГ, нямат сериозно популярност.
                    Колкото и коне да има под капака, важното е магарето зад волана
                    NULLA TENACI INVIA EST VIA

                    Коментар


                    • #11
                      Така е. И в програмирането както и в другите области не винаги най-доброто взима връх. Без да се обиждат JAVA и C хората но ако се направи един сериозен анализ на потенциала на езиците ще се види че и двата са много далече от АДА например. ЛИСП и ПРОЛОГ пък са тотално различни и като замисъл и като концепция и наистина е жалко че се изоставиха... Както каза Обера в една друга тема обикновения манлихер лесно бие самурайския меч... Но самурайския меч е нещо друго....
                      VPetrov.photography

                      Коментар


                      • #12
                        Хардуера напредна доста и вече не е необходимо кода да е на 100% Оптимален и ефикасен за да се изпълни задачата в "реално" време, т.е. фокусът се измества от оптималност на кода към оптималност на Програмирането, т.е. от машинен код, асемблер, през Фортран, паскал, към С++, С#, че и към изцяло графични, "драг анд дроп" системи за генериране на код - безкрайно не оптимален код, но Супер бързо се създават нови приложения, лесно се променят, и не само Автора може да разбере за какво става въпрос (Особено ценно след като въпросният автор е напуснал фирмата за която е писал).

                        След това въведение, мога само да кажа че е най-добър е този език който програмиста (дизаинер...) познава и с който най-лесно той може да реши Конкретната задача, по най-бързият начин!

                        Коментар


                        • #13
                          Бе, тук стана Симпозиум на ветераните прогромисти. Явно аз съм доста по-млад от болшинството тук.

                          За всички носталгично настроени ще кажа, че не много отдавна съм писал на ФОРТРАН90 в т.нар. Mixed Language Programming среда на Visual Studio. Пишеш си програмата на Visual C++ и като опреш до някакви изчисления, викаш фортранската процедура като спазваш интерфейса и работата спи. Е, преди тов трябва да си поиграеш с настройките на препроцесора и на компилатора, ама веднъж се прави. Всичко това при условие, че математическите библиотеки на С++ не ти вършат работа или вече имаш фортранския код, или си леко носталгично настроен. Това с мешаните езици не е нищо ново и още в С можеш да вмъкваш асемблерски код, така че няма нищо страшно.

                          Обаче това, което можеш да направиш на VC++, просто забрави да мъчиш с ФОРТРАН или нещо подобно. Групана на ранните процедурни езици е един малък гърч, когато кодът набъбне. Пък някой друг да разбере кво е писал предишният е малък подвиг. Таман започнеш да вдяваш какво става и последват няколко бързи GOTO из целия код и умираш прав.

                          В момента има такъв излишък на изчислителна мощ и в най-баналния домашен компютър, че голямата оптимизация изобщо не е оправдана откъм развойните разходи. Сега всеки иска системата му да е готова утре или най-късно вдруги ден. Изобщо не го интересува колко товари процесора. Важното е възможно най-бързо да започне да му върши работа. Докато някой се плюнчи да цъка на КОБОЛ, заданието вече няма да е актуално. Пък като почти всеки иска разпределена среда - забравяш за всякаква носталгия. Затова в момента най-актуални са средите за Rapid Application Development.

                          Венци, ти пък къде слагаш в един кюп Java-та и С-то?

                          Коментар


                          • #14
                            Е хайде сега виж една съвременна развойна среда за Java и C пък ми кажи че има голяма разлика... Като идеология имам в предвид...
                            За ветераните програмисти си прав със сигурност поне за мен, първата си програма на бейсик съм писал далечната 1982... Все пак съм 65 набор...

                            За GO TO също си прав. Няма уважаващ себе си структурен език който да допуска подобни преходи...

                            Всъщност при АДА едно от големите предимства беше възможността кода да е разделен на черни кутии входа и изхода на които е предварително определен и в зададени параметри/граници...
                            VPetrov.photography

                            Коментар


                            • #15
                              Между Java и С има таман няколко фундаментални разлики. Развойната среда мяза на нещо като за С++, ама средата е просто едно средство и не е критерии за езика.

                              В интерес на истината GOTO има в много повече езици, отколкото изглежда. Даже и в С го има, ама то е капан за студентите да се хванат да го ползват и да им пишат двойка на проекта. Принципът е, че ползването на GOTO може да бъде замено с нещо човешко, а ако не може, значи си проектирал програмата неправилно.

                              Коментар

                              Активност за темата

                              Свий

                              В момента има 1 потребители онлайн. 0 потребители и 1 гости.

                              Най-много потребители онлайн 8,787 в 16:37 на 21-06-23.

                              Зареждам...
                              X