Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Wybór języka i inne pytania ? Lisp, Oz lub Ocaml

0ceanborn 01 Cze 2012 18:17 1105 3
  • #1 01 Cze 2012 18:17
    0ceanborn
    Warunkowo odblokowany

    Witam.

    Od razu mówię, jestem laikiem, a chciałbym się nauczyć programować.
    W tym widzę przyszłość tym bardziej że mam kilka pomysłów do realizacji.
    Wszelkie porady, sugestie, komentarze mile widziane.

    1.Na początek chcę troszkę poznać raczej tylko teoretycznie asembler.
    Chodzi mi o to by zrozumieć jak działa procesor, ale nie chcę tracić na to zbyt wiele czasu. Potem chciałbym poznać C by programować mikrokontrolery.
    Skoro C++ to rozszerzenie C to Chciałbym też poznać ten język tym bardziej, że mikrokontrolery też go obsługują.
    2.Druga rzecz ale to też osobny temat - to programowanie stron internetowych, a więc java i/lub python lub coś innego.
    3.Docelowo chciałbym nauczyć się jednego z tych języków wieloparadygmatowych Lisp (LispWorks 6.0), Oz, Ocaml.
    Co wybrać ?
    Czy ktoś z was pisał już w tych językach ?
    Czy jest to proste ?
    Jakie są dostępne środowiska programistyczne - najlepiej darmowe ?
    Czy są łatwe w obsłudze ?

    Chciałbym łączyć teorię z praktyką, przeczytać coś w książce i zaraz napisać to na komputerze. Skoro są to języki wieloparadygmatowe więc teoretycznie można z ich pomocą zrobić to co w C (programowanie imperatywne). Wiem, że są typy i inne niuanse.
    Czy pisanie programów w C i języku wieloparadygmatowym bardzo się różni ?
    Jakie są różnice ?
    Czy łatwo jest przejść z C lub javy na nie wykorzystując początkowo tylko programowanie imeratywne ?
    Czy łatwo jest łączyć te języki z C (programowanie hybrydowe) ?


    P.S. Prosze o odpowiedzi merytoryczne i na temat. Pomoc wynagrodzę przesłaniem punktów jak tylko mi odblokują przesyłanie.

    0 3
  • #2 01 Cze 2012 22:36
    McMonster
    Poziom 32  

    Temat był już wałkowany wielokrotnie, z miejsca chciałbym tylko odradzić te wieloparadygmatowe języki, przynajmniej na początek (i Oz w ogóle). Jak już poznasz podstawy programowania jako takiego i poczujesz potrzebę, to wtedy będzie sens zainteresowanie się innymi językami. Plany ambitne, ale obawiam się, że za bardzo, zgubisz się pod natłokiem tego, co musiałbyś przyswoić.

    Generalnie zadałeś takie pytania, na które nie można szczerze i jednocześnie zwięźle odpowiedzieć, dużo jest kwestią preferencji i docelowych zastosowań. Skoro chcesz programować mikrokontrolery, zacznij od C na pecetach. Jako środowisko polecam Eclipse (fakt obsługi wielu języków może przy tak ambitnych planach być zaletą), darmowy. Przy czym obsługa większości środowisk się nie różni zbytnio, większość działa tak samo i ma podobny interfejs, zwykle z przytłaczającą liczbą guzików i pozycji w menu, ale na początek wystarczy zlokalizować nowy, zapisz, otwórz, skompiluj/uruchom, debuguj. ;)

    Na razie zapomnij też o słowie paradygmat, spędza ono sen z oczu studentom informatyki z doświadczeniem programistycznym nawet, a co dopiero początkującemu.

    0
  • #3 02 Cze 2012 12:50
    0ceanborn
    Warunkowo odblokowany

    Ja i tak i tak wcześniej czy później będę się uczył przynajmniej jednego z tych języków :
    Lisp Ocaml Oz

    Choćby nie wiem ile osób mi to odradzało to tylko kwestia czasu.
    Zasadnicze pytanie jest który z nich wybrać ?
    Poza tym mam nadzieję że znajdzie się ktoś, kto już próbował swoich sił w tym temacie i doradzi mi co i jak.

    0
  • #4 02 Cze 2012 16:28
    McMonster
    Poziom 32  

    Skoro taka decyzja, to z góry odrzuciłbym z tych trzech Oza. Ten język został stworzony bardziej do celów edukacyjnych, programowanie w nim ze względu na składnię i zasypanie ekranu nawiasami klamrowymi jest mordęgą. Nie widziałem też i nie słyszałem o jakimkolwiek poważnym projekcie napisanym w tym języku. Spodziewam też się, że dostępna baza przykładowego kodu i użytecznych bibliotek też będzie mała, a kiedy ostatnio miałem z nim kontakt jakieś 2-3 lata temu na studiach, to interpretery miały nawet problem z uruchomieniem się na 64-bitowych maszynach (czyt. nie działały w ogóle).

    Lisp to jeden z najstarszych języków programowania, osobiście nie miałem okazji go używać, ale wciąż jest wiele żywych implementacji i odmian. Być może trapi go podobny problem, co Oza w kwestii składni, czyli niekończące się ciągi nawiasów (wspomnę przy okazji popularny żart internetowy z czasów jego największej popularności). O szczegółach musiałby się jednak ktoś inny wypowiedzieć.

    OCamla używałem i osobiście bardzo polubiłem, ale nie miałem nigdy okazji w nim napisać nic większego i poważnego. Kompiluje się do dość wydajnych plików wykonywalnych. Ma prostą i przejrzystą składnię, doskonały dla ludzi zajmujących się dużo matematyką. Osobiście poleciłbym właśnie OCamla.

    Ale w każdym razie czeka cię ciężka i dość niekonwencjonalna droga do pokonania, szczególnie że będziesz musiał zboczyć nieco w celu nauki C do programowania mikrokontrolerów.

    0