TWÓJ KOKPIT
0
FORUM Wioska Gungan w Lesie Ewoków

Twórcy przyznają: Unix i język C to żart

Onoma 2017-11-25 17:29:35

Onoma

avek

Rejestracja: 2007-12-06

Ostatnia wizyta: 2024-01-06

Skąd: Dołuje

-TWÓRCY PRZYZNAJA: UNIX I JEZYK C TO ZART
W oswiadczeniu, które zbilo z tropu przemysl komputerowy, Ken Thompson, Dennis Ritchie i Brian Kernigham przyznali, ze stworzone przez nich system operacyjny Unix i jezyk programowania C to wyrafinowany psikus, utrzymywany przy zyciu przez ponad 20 lat. W swojej mowie na ostatnim UnixWorld Software Development Forum, Thompson wyjawil, co nastepuje:
"W 1969, AT&T przerwalo wlasnie prace nad projektem GE/Honeywell/AT&T Multics. Brian i ja zaczelismy wlasnie prace z wczesnym wydaniem Pascala od szwajcarskich laboratoriów ETH profesora Niklausa Wirtha, i bylismy pod wrazeniem jego eleganckiej prostoty i wydajnosci. Dennis skonczyl wlasnie lekture wydanego przez Paszkwil Narodowy "Bored of the Rings", parodii trylogii Tolkiena "Wladca Pierscieni".
Zdecydowalismy, ze stworzymy w ramach psoty parodie srodowiska Multics i Pascala. Dennis i ja bylismy odpowiedzialni za srodowisko operacyjne. Obejrzelismy Multicsa i zaprojektowalismy nowy OS na jak najbardziej zlozony i enigmatyczny, jak to tylko mozliwe, zeby zmaksymalizowac poziom frustracji uzytkowników i nazwalismy go Unix (co jest parodia "Multics"), zaraz obok bardziej ryzykowanych odniesien. Wcisnelismy nowicjuszom lapidarny jezyk powloki, mówiac, ze to oszczedza im pisania.
Dennis i Brian pracowali nad `A`, znieksztalcona wersja Pascala. `A` wygladalo w duzym stopniu jak Pascal, ale wynioslo notacje bezposredniego zarzadzania pamiecia (której Wirth sie pozbyl) do rangi centralnej koncepcji wewnatrz jezyka programowania. To byl wklad Dennisa, i to on faktycznie ukul pojecie "wskaznika", jako niewinnie brzmiacej nazwy dla prawdziwie zlowrogiego konstruktu.
Do Briana nalezy pomysl nieposiadania absolutnie zadnej specyfikacji I/O: to zapewnilo, ze co najmniej 50% typowego programu uzytkowego bedzie musialo byc przepisane przy zmianach w sprzecie. To Brian byl równiez odpowiedzialny za ukazanie tego braku I/O jako zalety: pozwalalo to nam opisywac jezyk jako "prawdziwie przenosny".
Gdy zdalismy sobie sprawe, ze inni faktycznie zaczeli tworzyc rzeczywiste programy w A, usunelismy wymóg sprawdzania typów argumentów funkcji.
Pózniej, dodalismy notacje, która nazwalismy "rzutowaniem": to pozwalalo programiscie traktowac inta tak, jakby byla to 50-kilobajtowa struktura zdefiniowana przez uzytkownika. Gdy odkrylismy, ze niektórzy programisci po prostu nie uzywali wskazników, wyeliminowalismy mozliwosc przekazywania struktur do funkcji, wymuszajac uzywanie wskazników przy nawet najprostszych zastosowaniach.
Sprzedalismy to, jak i wiele innych cech, jako uwydatnienia dla jezyka. W ten sposób, nasz zart wyewoluowal w B, BCPL, i w koncu C. Zatrzymalismy sie, gdy otrzymalismy kompilacje bez ostrzezen przy nastepujacej skladni:
for (;P("\n"),R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);
W pewnej chwili zartowalismy, ze sprzedamy to Sowietom, zeby cofnac ich postep w informatyce o 20 albo i wiecej lat.
Na nieszczescie, AT&T i inne korporacje w Stanach zaczely faktycznie uzywac Unixa i C. Uznalismy, ze lepiej siedziec cicho, zakladajac, ze to tylko przejsciowe. W rzeczywistosci, amerykanskim korporacjom potrzeba bylo 20 lat doswiadczenia, aby zaczac tworzyc uzyteczne aplikacje przy uzyciu tej technologicznej parodii z lat `60.
Bylismy pod wrazeniem przebieglosci typowego programisty Unixa i C. Tak naprawde, Brian, Dennis i ja nigdy nie podjelismy próby napisania zarobkowej aplikacji w tym srodowisku. Czulismy sie naprawde winni z powodu chaosu, dezorientacji i prawdziwie niesamowitych projektów programistycznych, bedacych skutkiem naszego glupiego kawalu sprzed tak dawna."
Dennis Ritchie powiedzial:
"Tym, co naprawde nas rozwalilo (wlasnie, gdy zaczela wchodzic ADA), bylo to, ze Bjarne Stroustrup zalapal nasz zart. On to rozszerzyl do postaci jeszcze wiekszej parodii, Smalltalka. Tak jak nas, spotkala go niespodzianka, gdy nikt nie widzial powodu do smiechu. Dodal wiec wielodziedziczenie, wirtualne klasy bazowe, i w koncu … szablony. Bezskutecznie. Mamy teraz kompilatory, które potrafia kompilowac 100.000 linijek na sekunde, ale musza mielic pliki naglówkowe przez 25 minut, zeby dostac sie do wlasciwej czesci helloworlda."
Wieksi uzytkownicy i dostawcy Unixa i C, w tym AT&T, Microsoft, Hewlett-Packard, GTE, NCR i DEC, odmówili komentarza nt. tego oswiadczenia. Przedstawiciele Borland International, czolowego dostawcy narzedzi do programowania zorientowanego obiektowo, w tym Turbo Pascala i C++, zadeklarowali, ze podejrzewali to od paru lat.
Po prawdzie, notorycznie spózniony Quattro Pro dla Windowsa byl z poczatku napisany w C++. CEO Borlanda, Del Yocam, stwierdzil: "Powiedziano mi, ze po dwóch i pól roku programowania i masowych odejsciach programistów, napisalismy cala rzecz w Turbo Pascalu w ciagu trzech miesiecy. Mozemy jasno powiedziec, ze Turbo Pascal uratowal wtedy nasze tylki". Inny przedstawiciel Borlanda powiedzial, ze beda kontynuowac rozwijanie swoich produktów opartych na Pascalu i wstrzymuja dalsze wysilki przy rozwijaniu C i C++.
Profesor Wirth z instytutu ETH, ojciec jezyków programowania Pascal, Modula 2 i Oberon, stwierdzil tajemniczo, ze "P. T. Barnum mial racje". Nie udzielil dalszego komentarza.

LINK
  • Re: Twórcy przyznają: Unix i język C to żart

    Darth Ponda 2017-11-25 18:24:57

    Darth Ponda

    avek

    Rejestracja: 2014-02-15

    Ostatnia wizyta: 2024-11-19

    Skąd: Olsztyn

    Ale przecież każdy, kto kiedykolwiek miał styczność z C lub Unixem wie, że to jeden wielki żart...

    LINK
    • Re: Twórcy przyznają: Unix i język C to żart

      darth_numbers 2017-11-25 19:00:34

      darth_numbers

      avek

      Rejestracja: 2004-08-03

      Ostatnia wizyta: 2024-11-22

      Skąd:

      Dla mnie osobiście Java to jakiś makabryczny kawał ale co ja tam wiem

      LINK
      • Re: Twórcy przyznają: Unix i język C to żart

        Darth Ponda 2017-11-26 19:39:36

        Darth Ponda

        avek

        Rejestracja: 2014-02-15

        Ostatnia wizyta: 2024-11-19

        Skąd: Olsztyn

        Java lepsza. I Pascal...

        LINK
        • Re: Twórcy przyznają: Unix i język C to żart

          darth_numbers 2017-11-26 22:44:05

          darth_numbers

          avek

          Rejestracja: 2004-08-03

          Ostatnia wizyta: 2024-11-22

          Skąd:

          Darth Ponda napisał:
          Java lepsza.
          -----------------------
          Ale lepsza od czego i do czego, to jest pytanie.

          I Pascal...
          -----------------------
          Stara miłość nie rdzewieje, jak to mówią, he he

          LINK
          • Re: Twórcy przyznają: Unix i język C to żart

            Darth Ponda 2017-11-27 12:23:20

            Darth Ponda

            avek

            Rejestracja: 2014-02-15

            Ostatnia wizyta: 2024-11-19

            Skąd: Olsztyn

            Względem C? Chyba we wszystkim...
            A Pascla jest dla mnie nową

            LINK
            • Re: Twórcy przyznają: Unix i język C to żart

              darth_numbers 2017-11-27 20:18:23

              darth_numbers

              avek

              Rejestracja: 2004-08-03

              Ostatnia wizyta: 2024-11-22

              Skąd:

              Darth Ponda napisał:
              Względem C? Chyba we wszystkim...
              -----------------------
              A szybkość? W malutkich i średnich programach C/C++ jest chyba nie do pobicia przez inne języki wysokiego poziomu. Gry, dema, os-dev? Java działa na maszynie wirtualnej, więc z samej definicji będzie wielkim, ciężkim klockiem.

              A Pascla jest dla mnie nową
              -----------------------
              Pascal dla zastosowań amatorskich, hobbystycznych, dla zabawy w domu jest chyba najlepszą rzeczą pod słońcem (może jeszcze Python?). Zastosowań przemsyłowych chyba za wiele nie ma... poza Skypem, którego podobno napisali w Delphi.

              LINK
              • Re: Twórcy przyznają: Unix i język C to żart

                Darth Ponda 2017-11-28 16:07:10

                Darth Ponda

                avek

                Rejestracja: 2014-02-15

                Ostatnia wizyta: 2024-11-19

                Skąd: Olsztyn

                O tak, Python! Python lepszy od Pascala
                Co się tyczyc C - to bardzo prosty język. Tam niemal wszystko musisz pisać od zera, dopiero kolejne jego warianty (C++, C#) pozwoliły na robienie czegoś bardziej skomplikowanego od zliczania elementów bez pisania ściany tekstu. Dlatego C jest dobry do nauki podstaw programowania, C++ to bardziej zaawansowany poziom, ale jak ktoś chce naprawdę się pogawić to co najwyżej w C#, i to z dodatkowymi bibliotekami, a poza tym to już trzeba przeskoczyć na taką Javę chociażby.

                LINK
                • Re: Twórcy przyznają: Unix i język C to żart

                  darth_numbers 2017-11-28 20:27:17

                  darth_numbers

                  avek

                  Rejestracja: 2004-08-03

                  Ostatnia wizyta: 2024-11-22

                  Skąd:

                  Darth Ponda napisał:
                  O tak, Python! Python lepszy od Pascala
                  -----------------------

                  Prawdę mówiąc, to nie wiem, bo go zupełnie nie znam, powtarzam tylko co tam słyszałem od Uczonych w Piśmie


                  Co się tyczyc C - to bardzo prosty język. Tam niemal wszystko musisz pisać od zera, dopiero kolejne jego warianty (C++, C#) pozwoliły na robienie czegoś bardziej skomplikowanego od zliczania elementów bez pisania ściany tekstu. Dlatego C jest dobry do nauki podstaw programowania, C++ to bardziej zaawansowany poziom, ale jak ktoś chce naprawdę się pogawić to co najwyżej w C#, i to z dodatkowymi bibliotekami, a poza tym to już trzeba przeskoczyć na taką Javę chociażby.
                  -----------------------

                  Czy C jest dobry do nauki podstaw programowania? Wg mnie zupełnie nie. Moim zdaniem, do nauki podstaw programowania języki pochodne od C w ogóle się nie nadają. Kiedyś było takie powiedzenie, "Używając C, bardzo łatwo jest strzelić sobie w stopę. W C++ jest to trudniejsze, ale gdy jednak to zrobisz, urywa Ci od razu całą nogę". Trudno byłoby to lepiej powiedzieć!
                  Kiedyś do nauczania podstaw programowania numerem jeden był Pascal. Teraz to podobno Python. Wg mnie najlepszy dla zupełnie początkujących jest Racket/Scheme. To takie cudo z grupy tzw języków funkcyjnych, z najlepiej chyba napisaną książką "towarzyszącą" pod tytułem How To Design Programs (www.htdp.org)
                  C faktycznie jest prosty, ale nie jest prostacki, ani prymitywny. W C da się zrobić wszystko, ludzie piszą gry, dema, os. W ogóle moim zdaniem, te bardziej zaawansowane języki zorientowane obiektowo czy wielo-paradygmatowe komplikują jedynie sprawy, a nie ułatwiają. Podejście obiektowe powstało przecież dla celów modelowania i symulacyjnych, no i projektowania wielkich, złożonych systemów. Do domowej zabawy naprawdę w zupełności wystarczy stary, dobry C (DOOM był napisany w C i asemblerze!). Albo Pascal

                  LINK
                  • Re: Twórcy przyznają: Unix i język C to żart

                    Darth Ponda 2017-11-29 12:39:51

                    Darth Ponda

                    avek

                    Rejestracja: 2014-02-15

                    Ostatnia wizyta: 2024-11-19

                    Skąd: Olsztyn

                    Nie do konca dobrze sie wyraziłem.
                    C jest dobry żeby pokazać, jak wyglada profesjonalne programowanie na najniższym poziomie, gdzie sam musisz wszystko napisad i nie ma nic "w domysle". Inne języki są już bardziej zaawansowane, ale też można by to w nich zrobić. Jest też dobrze opisany w wielu źrodłach, istnieje mnóstwo dodatkowych bibliotek do niego i jego pochodnych pozwalające łatwo robić calkiem nowe rzeczy. Jak pisałeś, na C można robić wszystko, pod C# działa przecież Windows i Unity. No i C uczy dokładności jak żaden inny jezyk. 😛
                    Niemniej jednak jesli nie ma się odpowiednich bibliotek - a niektóre przecież zajmuja mnóstwo miejsca, poza tym trzeba się ich jeszcze chociaż w wiekszości wyuczyć - C jest niezwykle frustrujący przy robieniu czegoś bardziej skomplikowanego, i tu przewagę zdobywają inne języki.
                    Moja teza o niższości C nie była jednak do końca uzasadniona.

                    LINK
  • Re: Twórcy przyznają: Unix i język C to żart

    darth_numbers 2017-11-25 18:59:25

    darth_numbers

    avek

    Rejestracja: 2004-08-03

    Ostatnia wizyta: 2024-11-22

    Skąd:

    Stare ale ciągle śmieszne

    LINK
  • Web

    Mossar 2017-11-25 20:25:20

    Mossar

    avek

    Rejestracja: 2015-06-12

    Ostatnia wizyta: 2024-11-17

    Skąd:

    Żart to jest w technologiach webowych a szczegolnie frontendu. Andrzej Prelegent rzuca na jakiejs konferencji jakas nowa technologia, powiedzmy RevanJS. Pokazuje odrealniony przyklad kodu ktory wyglada tak czysto, tak pieknie. Rzuca sie na to 8/10 frontendowców. Po 6 miesiacach wszyscy zastanawiaja sie dlaczego to działa tak źle. Andrzej Prelegent pisze na Twitterze: "Forget about RevanJS. It`s time for JSONSolo, programming was never so easy!"

    LINK
    • Re: Web

      darth_numbers 2017-11-26 22:52:05

      darth_numbers

      avek

      Rejestracja: 2004-08-03

      Ostatnia wizyta: 2024-11-22

      Skąd:

      Technologie webowe to dla mnie terra incognita. Poważnie jest tak źle? Jak to wszystko przekłada się na koszty developmentu i kulturę pracy?
      BTW wszystkie nowe narzędzia i technologie wyglądają pięknie w prezentacjach marketingowych bo sprytnie omijane są ich słabości i ograniczenia. Dopiero po jakimś czasie wychodzi na wierzch, jakie to G... (tzn kumaci i Uczeni w Piśmie wiedzą to od samego początku, ale hurraentuzjaści zawsze ich zakrzyczą )

      LINK
      • Re: Web

        Mossar 2017-11-26 23:43:55

        Mossar

        avek

        Rejestracja: 2015-06-12

        Ostatnia wizyta: 2024-11-17

        Skąd:

        Na pewno nie jest nudno. Ale nie chciałbym być właścicielem firmy tworzącej produkty o dużym nacisku na frontend. Jest od gromna technologii do wszystkiego. Wykreowały się takie główne dwa frameworki: Angular i React, ale są setki narzędzi działających wokół.

        Kultura pracy nieustannie się polepsza, bo odeszliśmy od plików HTML z wstrzykiwanym kodem PHP, z którego ciężko cokolwiek zrozumieć i jednego pliku style.css z 10000 linii stylów. Teraz wszystko jest zgrupowane w zamknięte komponenty wielokrotnego użytku, język Javascript rozwinął się do takiego stopnia, że ma klasy, typy zmiennych, domknięcia, poprawione this, a style przypisuje się bezpośrednio do komponentu i mają one zmienne, funkcje, itd.

        Inna kwestia to development. Z 2.5 roku temu miałem jakiś prosty projekt mobilny, mogłem zadecydować jakiej technologii użyć (byłem rok po rozpoczęciu praktyk) i wybrałem MeteorJS. Framework o tak wysokim poziomie abstrakcji, że bardzo szybko zderzyłem się ze ścianą. Nieduża ilosć (ok. 100) kursów ładowała mi się z jakiegoś powodu 10 sekund. Ciężko było to w jakikolwiek sposób przetestować, bo oczywiście nowy sexy flexy framework, więc bazę miał też nietypową i koniec końców projekt umarł. Na szczęście umarł z powodów biznesowych, więc mój "błąd" nie ujrzał światła dziennego.

        Teraz po prawie 4 latach pracy już zupełnie inaczej na to patrzę. Raczej decyduje się na pewne rozwiązania (jeśli można takimi nazwać rozwiązania frontendowe, który mają czas życia max 5 lat), takie, w których mamy już jakieś doświadczenie. A jeśli już z czymś eksperymentujemy to na jakiś modułach aplikacji, które nie są aż tak wrażliwe. Tak czy inaczej, nawet jeśli masz bardziej bezpiecznie podejście do technologii to i tak poruszasz się po cienkiej linii, bo frontend jak żadna inna działka programowania rozwija się tak dynamicznie i nieprzewidywalnie, że ciężko ocenić czy to co wybierasz za rok wyewoluuje w zupełnie co innego.

        LINK
        • Re: Web

          darth_numbers 2017-11-27 20:22:36

          darth_numbers

          avek

          Rejestracja: 2004-08-03

          Ostatnia wizyta: 2024-11-22

          Skąd:

          Ja na tym się kompletnie nie znam. Programowanie to dla mnie lekkie hobby, coś jakby łamigłówka od czasu do czasu. W pracy raz na kwartał napiszę jakieś malutkie makro składające się z jednej pętli, tak więc programowaniem tego nie można nazwać. Nie poszedłem w ten przemysł, tylko chwilę rozważałem karierę programisty, ale to było 25 lat temu

          LINK

ABY DODAĆ POST MUSISZ SIĘ ZALOGOWAĆ:

  REJESTRACJA RESET HASŁA
Loading..