Witaj na Forum Linuxiarzy
Zanim zalogujesz się, by pisać na naszym forum, zapoznaj się z kilkoma zasadami savoir-vivre'u w dziale Administracja.
Wiadomości z problemami zamieszczone w wątku "Przywitaj się" oraz wszelkie reklamy na naszym forum będą usuwane.

Dzien Dobry

Zaczęty przez hdot, Czerwiec 09, 2024, 01:23:35 PM

Poprzedni wątek - Następny wątek

hdot

Jestem już emerytem i programowałem wiele procesorów chyba we wszystkich wcześniejszych językach. Używałem UNIX od jego powstania i tym samym Linux nie jest dla mnie zaskoczeniem ale nie mam doświadczenia z dostępnymi w Linux aplikacjami.
Łatwo mnie zgubić używając żargonu (skrótów) używanych w zamkniętym gronie.
Dlatego czasami mogę wydawać się być ignorantem. :)
Od pół roku dyskutuje z doradcami Texas Instruments - jak poprawić driver do audio, który jest mono a powinien być stereo.
Temat praktycznie na 10 minut ale w odpowiedzi mam wszystko ale nie odpowiedz na moje proste pytania łacznie z sugestia co moge jeszcze kupić.
Szczegóły będą w odpowiednim wątku.

linux4ever

#1
Witaj na forum.

Zatem znasz się na assembly i C.

To te pierwsze języki w których tworzyło się oprogramowanie.
"Powiedz mi, a zapomnę, pokaż mi, a zapamiętam, pozwól mi zrobić, a zrozumiem. "-Konfucjusz

hdot

Tak, pisałem wiele translatorow i disasemplerów do róznych procesorów.
Najbardziej podobał mi się język APL   :)

linux4ever

Cytat: hdot w Czerwiec 09, 2024, 02:15:39 PMTak, pisałem wiele translatorow i disasemplerów do róznych procesorów.
Najbardziej podobał mi się język APL   :)

A do czego był ten język i czy znasz ada ?

No i słyszałem też o agol ale nie wiem czy to też do programowania linuksa.
"Powiedz mi, a zapomnę, pokaż mi, a zapamiętam, pozwól mi zrobić, a zrozumiem. "-Konfucjusz

hdot

Jezyk APL był rozwijany kiedy jeszcze nie bylo grafiki,
tak jak jest napisane w  https://pl.wikipedia.org/wiki/APL_(j%C4%99zyk_programowania)
to był jezyk, gdzie trudno było popełnić bład bo kazda sekwencja znaków cos znaczyła (ale to nie znaczy, że wykonywała to co oczekiwalismy). Można powiedziec, ze to był jezyk dla leniwych, ktorzy nie lubili za duzo pisac. Nie było miejsca na komentarze.
ALGOL był językiem bardzo dobrze zdefiniowanym. Polska realizacja ALGOLu znana jako ALGOL1204 była najlepszą. Potrafiła realizowac programy. ktorych nie potrafią najnowsze jezyki. Potrafiła przy wejsciu do nowego bloku z deklarowaną juz  tablicą  zmienic wymiary tej tablicy zachowując juz nadane niektorym elementom wartosci.
W ALGOLU nie można odwoływac się do pointerow. Język C i jrgo następcy powstały na bazie ALGOLU poprzez definiowanie  nowych structur, których w ALGOLU brakowało.

hdot

O istnieniu ADA wiem. ale nie miałem czasu aby się nią zajmować.
Mogę tylko zauważyć, że podobnie jak ALGOL jest dobrze dokumentowana.
Zajmuję sie wieloma zagadnieniami a Linux jest pewną odskocznią.
Strona https://www.henrykdot.com/ ; którą prowadze dla celów edukacyjnych
jest również odskocznią. Zgłoszony wątek ma również cel edukacyjny.
Podjąłem się tematu, którego nikt się nie chciał podjąć :)
W skrócie można go opisać - jak profesjonalnie zwiekszyć moc głośników PC.

Piotr_1988

#6
APL nie "był", gdyż wciąż jest rozwijany - najnowsza wersja APL w dialekcie Dyalog jest z marca 2024 i działa na Linuxie, ale mają kiepską licencję. Na Linuxie działa też wolna implementacja APL w postaci GNU APL (np. tutaj), ale ostatnia wersja jest chyba sprzed 5 lat i jest to raczej uboższy dialekt. Obiema się bawiłem na Linuxie, ale mnie osobiście w końcu nie przekonały.

W ostatnich dniach zacząłem uczyć się zupełnie nowego języka Uiua z rodziny APL: https://www.uiua.org/ Język jest podobny do APL, tylko że nowoczesny, rozwijany ledwie od pół roku. Podobają mi się jego rozwiązania, np. opcjonalna możliwość kompilacji (inne języki z rodziny są zazwyczaj tylko interpretowane), jak również super ułatwienie we wprowadzaniu znaków, gdyż wystarczy napisać skrót literowy, uruchomić interpretator, a ten przeformatuje pliki źródłowe na te specjalne symbole. To jest lepsze rozwiązanie niż w języku J, który zrezygnował z tych znaczków, ale stał się dla mnie nieczytelny. Z wielu względów bardzo dobre jest to, że Uiua jest zaimplementowana w Rust, co np. ułatwia instalację na Linuxach (z kompliacją BQN też z rodziny APL w języku C z milionem zależności lub innych problemów się po iluś próbach poddałem), jak również mogę kod Uiua włączyć bezpośrednio do programów w Rust (tego akurat nie testowałem).

Zaletą tych języków jest niepojęta możliwość ekspresji, jakiej mainstreamowe języki mi nie dają. Wadą jest względna trudność, ale trzeba powiedzieć, że tutorial Uiua na stronie jest akurat przystępny i ogólnie fajnie jest ten język zorganizowany na ten moment.

Odnośnie ekspresyjności Uiua (i innych języków z rodziny APL), ale również początkowej trudności... Tak się składa, że potrzebuję często liczyć średnią liczb. Napisałem sobie kilka dni temu taki programik:

÷⧻⟜/+ ⋕ ↙¯∞ ↘1 &args

Ta jedna linijka to cały kod programu. Czytając kod od prawej do lewej:
(1) pobieramy argumenty z wiersza poleceń
(2) odrzucamy pierwszy argument czyli nazwę pliku
(3) bierzemy wszystkie pozostałe argumenty do nieskończoności
(4) zamieniamy argumenty na liczby
(5) sumujemy wszystkie liczby
(6) dzielimy przez ich ilość dostając średnią arytmetyczną
NixOS  |  Rocky Linux

Zobacz najnowsze wiadomości na forum