Autor Wątek: [Rozkminka] Jakim językiem programowania powinno się traktować początkujących.  (Przeczytany 18986 razy)

Offline Kos

  • Użytkownik
    • kos.gd

  • +2
# Kwiecień 04, 2015, 23:04:42
Reguły GC są znane, więc żadnego "nieokreślonego" czasu tu nie ma.
Jest określony pod warunkiem że wiesz wszystko o stanie programu w danym momencie. Mało praktyczny ten determinizm. :)

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Xion

  • Moderator
    • xion.log

  • +1
# Kwiecień 04, 2015, 23:57:21
Cytuj
Nie są to destruktory, a funkcjonalność "odwijania stosu" jest realizowana przez IDiposable
Aha. Mówisz że odwijanie stosu realizowane jest poprzez interfejs implementowany przez klasę obiektu alokowanego na stercie? Sounds legit.

Offline Xender

  • Użytkownik

  • +1
# Kwiecień 05, 2015, 01:19:58
Jest określony pod warunkiem że wiesz wszystko o stanie programu w danym momencie. Mało praktyczny ten determinizm. :)
I to "stan programu" w szerokim sensie, bo razem z całym środowiskiem wykonania...

Np. całkiem logiczne byłoby wykonywanie GC w momencie, gdy proces z VM dostanie od OS sygnał, że kończy się pamięć.
Na ile byłoby to praktyczne, efektywne i na ile rzeczywiście się to praktykuje, to inna sprawa.


Czyżby więc aluzja do demona Laplace'a? ;)

Offline draghan

  • Użytkownik

# Kwiecień 13, 2015, 09:32:42
Jeszcze dopowiem słówko w temacie. :)
Popytałem wśród znajomych z roku, którzy dopiero się z programowaniem zetknęli na studiach. A tutaj na pierwszym semestrze uczyli nas Pythona, teraz na drugim lecimy z C.

Wszyscy jak jeden mąż twierdzą, że Python to była strata czasu i że C jest logiczniejsze i łatwiejsze w nauce, nawet pomimo wielu kruczków i niewygód, w porównaniu do Pythona.

Mi też Python nie przypadł do gustu, ale ja swoje gusta wyrobiłem już dawno temu i moja opinia była tu trochę "nieczysta".
Ale ta opinia większości może też wynikać z faktu, że Pythona mieliśmy prowadzonego jakoś tak chaotycznie, tak w moim mniemaniu, zaś z C jedziemy już jakoś porządniej.

Offline Xender

  • Użytkownik

# Kwiecień 13, 2015, 10:52:06
Ale ta opinia większości może też wynikać z faktu, że Pythona mieliśmy prowadzonego jakoś tak chaotycznie, tak w moim mniemaniu, zaś z C jedziemy już jakoś porządniej.
Czyżby większość studentów nie wybijała się ponad to, co powie wykładowca?

Offline draghan

  • Użytkownik

# Kwiecień 14, 2015, 00:00:31
Cytuj
Czyżby większość studentów nie wybijała się ponad to, co powie wykładowca?
Wiesz, jeśli ktoś prowadzi nieinteresujący wykład na temat którego nigdy wcześniej nie dotykałeś i średnio Cię to obchodzi, to się nie dziwię. ;) Ja sam, chociaż programowaniem się interesuję, w Pythona się nie zagłębiałem, poza zaimplementowaniem w aplikacji C++ możliwości oskryptowania pewnych rzeczy w Pythonie, ale to już nie moja w tym była broszka. :P
« Ostatnia zmiana: Kwiecień 14, 2015, 00:02:35 wysłana przez draghan »

Offline wozix

  • Użytkownik

  • +1
# Kwiecień 24, 2015, 13:52:39
Wiesz, jeśli ktoś prowadzi nieinteresujący wykład na temat którego nigdy wcześniej nie dotykałeś i średnio Cię to obchodzi, to się nie dziwię. ;) Ja sam, chociaż programowaniem się interesuję, w Pythona się nie zagłębiałem, poza zaimplementowaniem w aplikacji C++ możliwości oskryptowania pewnych rzeczy w Pythonie, ale to już nie moja w tym była broszka. :P
Ogólnie wykłady na studiach są z reguły mało ciekawe. Ewentualnie człowiek się tylko nadenerwuje, że np. listy są omawiane przed wskaźnikami, albo języki programowania podlegają zasadzie Brzytwy Ockhama, więc są w nich tylko najpotrzebniejsze mechanizmy (no chyba, że chodzi o goto, które powoduje raka i bezrobocie, a jego jedyną funkcją jest to, żeby programiści starej daty źle się nie czuli).

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

  • +3
# Kwiecień 24, 2015, 14:09:22
Cytuj
(no chyba, że chodzi o goto, które powoduje raka i bezrobocie, a jego jedyną funkcją jest to, żeby programiści starej daty źle się nie czuli)
Taak... no bo każdy przecież wie że z podwójnie zagnieżdżonej pętli wychodzi się przez throw/catch. ;) ;) ;)

Offline Xender

  • Użytkownik

  • +2
# Kwiecień 24, 2015, 15:13:56
(no chyba, że chodzi o goto, które powoduje raka i bezrobocie, a jego jedyną funkcją jest to, żeby programiści starej daty źle się nie czuli).
Jeśli coś, to brak goto w niektórych językach jest po to, żeby zieloni (lub po prostu kiepscy) programiści nie popełniali potworków.
To jak zabrać stolarzowi piłę i dać nóż do masła, żeby się nie pokaleczył.

Do mędrków próbujących "udowodnić", że goto jest niepotrzebne poprzez podanie przykładu, że zagnieżdżone pętla można próbować refaktorować do osobnej funkcji:
Czasem można, czasem nie można. Jednak niczego to nie dowodzi, przykładem można zaprzeczyć tylko kwantyfikator duży ("goto zawsze jest fajne/potrzebne"), a nie mały ("goto bywa fajne/przydatne").
Więc jak ktoś chce pogadać o goto, to niech wysili się bardziej.

P.S. Pozdrawiam Javę, "ładnie" się mnoży liczby przez a*b i macierze przez a.mul(b).
Nie można się skaleczyć... :P

Offline Karol

  • Użytkownik

  • +1
# Kwiecień 24, 2015, 15:32:49
Taak... no bo każdy przecież wie że z podwójnie zagnieżdżonej pętli wychodzi się przez throw/catch. ;) ;) ;)
A co z break 2;?

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

  • +1
# Kwiecień 24, 2015, 16:03:35
A co z break 2;?
Ano to:
    error C0000: expected ';' before numeric constant

Offline wozix

  • Użytkownik

  • +1
# Kwiecień 24, 2015, 16:22:25
O break zapomniałem. Zamiast breaka trzeba zrobić dodatkowa zmienna, ktora ma skipowac cale wykonanie pętli. Sprawdzone i polecane przez opiekuna kierunku informatyka na WATcie. Co do podwójnej pętli, to "na pewno da sie tego uniknąć, wiec ma Pan zle podejście". Od tamtego czasu unikam wykładów ;)

Offline Karol

  • Użytkownik

  • +1
# Kwiecień 24, 2015, 16:26:52
Ano to:
    error C0000: expected ';' before numeric constant

Jakiś biedny język ;)

Offline BrunonDEV

  • Użytkownik
    • Construgia -- RPG

  • +1
# Kwiecień 24, 2015, 16:36:25
Cytuj
O break zapomniałem. Zamiast breaka trzeba zrobić dodatkowa zmienna, ktora ma skipowac cale wykonanie pętli. Sprawdzone i polecane przez opiekuna kierunku informatyka na WATcie. Co do podwójnej pętli, to "na pewno da sie tego uniknąć, wiec ma Pan zle podejście". Od tamtego czasu unikam wykładów ;)

Dobry sposób. ;)

Jednakże goto czasami się przydaje; przykład, mój The Construgert (obie części) i generowanie pokoi. ;)

Hm, offtop się zrobił. Więc może spróbuję uratować temat...

Jak myślicie, jaki język skryptowy (oraz framework) jest dobry na początek? Ruby, JavaScript, ...? Mam na myśli Web. ;)

Offline Xender

  • Użytkownik

  • +1
# Kwiecień 24, 2015, 16:39:08
O break zapomniałem. Zamiast breaka trzeba zrobić dodatkowa zmienna, ktora ma skipowac cale wykonanie pętli.
Mam nadzieję, że ironizujesz...

A co z break 2;?
Jak lubisz, to fajnie. Obok goto. Nie zamiast, bo to działa na jeden specyficzny przypadek użycia.
Jak chcesz udowodnić, że goto jest złe, to próbuj na przypadkach, których nie pokrywają rozszerzone wersje break/continue.

Można się spierać, czy "goto considered harmful", czy "'goto considered harmful' considered harmful", ale ja bym powiedział:
"not implementing goto considered harmful".
Nie dawanie komuś narzędzia to wkraczanie w jego kompetencje.

Hm, offtop się zrobił. Więc może spróbuję uratować temat...

Jak myślicie, jaki język skryptowy (oraz framework) jest dobry na początek? Ruby, JavaScript, ...? Mam na myśli Web. ;)
Po prawdzie, to ten temat został założony z perspektywą wykolejenia... :P

Mi się podoba Python i Flask.
Czy jest najlepszy na początek - nie wiem.

A po stronie przeglądarki to za dużego wyboru nie masz.
Albo JS albo coś kompilowanego do JS, ale żeby przy tym drugim nie odwalić kaszany, i tak w JS musisz się łapać.