-
41. Data: 2011-04-01 23:03:25
Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
Od: Michal <n...@d...not.mail.me.or.i.will.kill.you>
On Fri, 01 Apr 2011 10:18:25 -0500
A.L. <l...@a...com> wrote:
> Byla mowa nie o nauczaniu w zawodowej szkole programistow, a na
> uczelni wyzeszej. To dwie zupelnie rozne rzeczy. Na uniwersytetach nie
> ksztalci sie programistow.
Not tak na uniwersytetach uczy sie jezykow programowania nie po to aby programowac.
Pozniej tacy nie programojacy najlepsi-na-swiecie-absolwenci-albo-i-doktury-jezyko
w-programowania
mowia innym na grupach dyskusyjnych jak maja programowac.
Michal
-
42. Data: 2011-04-02 00:53:23
Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
Od: Andrzej Jarzabek <a...@g...com>
On Thu, 31 Mar 2011 19:31:06 -0700 (PDT), Mariusz
Marszałkowski<m...@g...com> wrote:
> Duzo zalezy od tego jak ten programista potem ma wykorzystywac
> swoje umiejetnosci. Jesli ktos ma byc tylko klepaczem aplikacji w
javie +
> sql to po co mu zawracac glowe programowaniem czysto
> procueduralnym, albo asemblerem? Nie lepiej jak od razu uczyc go jak
> to sie robi w Javie i obiektowo?
Wydaje mi się, w kontekście pisania programów w Javie, że trudno może
być sensownie wytłumaczyć, co to są klasy, interfejsy, dziedziczenie
i jak tego używać komuś, kto nie wie, co to zmienna, typ danych,
struktura, funkcja, pętla.
-
43. Data: 2011-04-02 01:31:50
Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
Od: Norbert <n...@r...no>
Dnia Sat, 02 Apr 2011 00:49:08 +0200, Michoo napisał(a):
>>> Moduly w Javie?... Gdzie?
>>
>> A nie ma? Być może zmyliło mnie słowo kluczowe "import". ;)
> Import to takie "using (namespace)".
>
> Moduły to bardziej jar, które niestety mają spore ograniczenia.
A taka "prawdziwa" modulowosc to czym sie objawia konkertnie?
--
pozdrawiam
Norbert
-
44. Data: 2011-04-02 05:08:53
Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
Od: p...@p...onet.pl
> >>> Moduly w Javie?... Gdzie?
> >> A nie ma? Być może zmyliło mnie słowo kluczowe "import". ;)
> > Import to takie "using (namespace)".
> >
> > Moduły to bardziej jar, które niestety mają spore ograniczenia.
> A taka "prawdziwa" modulowosc to czym sie objawia konkertnie?
> pozdrawiam
> Norbert
podstawowa roznica (w uzywaniu modulow w stosunku do uzywania obiektow)
jest chyba taka ze nie ma, nie uzywa sie alloc ani new - przynajmniej po stronie
klienta (nie wiem jak z init ale tez chyba nie) za to najprawdopodobniej mozna
uzywac dynamic bind
druga roznica jest pewnie taka ze obiekty osadza sie
w bardziej ograniczonych scopeach (defakto obiekt teoretycznie
nie widzi nic poza ew np jednym wskaznikiem na parenta)
natomiast o ograniczonej strukturze widzialnosci miedzy modulami
mozna pomyslec ale zaczyma sie od drugiej strony tk
nowy modul widza wszyscy
o ile java zmusza zeby kazdy kod instancjonowac
i nim sie go uzyje wywolywac new - to niewazne
ze definicje mozna wrzucic do oddzielnej paczki - mozliwy
jest wtedy dziwny mix 90% obiektowki z pseudomodulowa
nakladka ale czysta modulowosc (w sensie link and call)
nie wystepuje - tak to widze
fir
to widze
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
-
45. Data: 2011-04-02 05:25:43
Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
Od: p...@p...onet.pl
mozna jeszcze powiedziec (co sie niewatpliwie zapewne spodoba ludziom
z tej grupy) ze obiekty sa lokalne (uzywasz klonow) a moduly globalne -
linkujesz do instancji
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
-
46. Data: 2011-04-02 12:51:02
Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
Od: p...@p...onet.pl
> mozna jeszcze powiedziec (co sie niewatpliwie zapewne spodoba ludziom
> z tej grupy) ze obiekty sa lokalne (uzywasz klonow) a moduly globalne -
> linkujesz do instancji
[tak sie przeziebilem ze ledwie zyje a sporo kodu
w weekend do zrobienia]
Mozna powiedziec wiecej -z tego ze obiekty
sa klonami wynika ze c++owcy jawowcy c-sharpowcy
sa szturmowcami imperium bo imperium mialo
armie klonow i nimi sie poslugiwalo, natomiast
modulowcy to rebelianci i Jedi - bo modul kojarzy
sie z cartridge'm osmiobitowcami i demoscena a
tamci byli na pewno jedi [delphi->jedi jedi->Yoda]
(kenobi)
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
-
47. Data: 2011-04-03 09:35:51
Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
Od: p...@p...onet.pl
KLONERZY...
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
-
48. Data: 2011-04-04 10:38:11
Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
Od: Sebastian Kaliszewski <s...@r...this.informa.and.that.pl>
Norbert wrote:
> Dnia Sat, 02 Apr 2011 00:49:08 +0200, Michoo napisał(a):
>
>>>> Moduly w Javie?... Gdzie?
>>> A nie ma? Być może zmyliło mnie słowo kluczowe "import". ;)
>> Import to takie "using (namespace)".
>>
>> Moduły to bardziej jar, które niestety mają spore ograniczenia.
>
> A taka "prawdziwa" modulowosc to czym sie objawia konkertnie?
>
Zobacz sobie jak wygląda rozwiązanie modułów (unit-ów) w Object Pascalu i
jego poprzednikach jeszcze nie-object (dialekty Pascala wywodzące się
jeszcze z Trubopascala (bodaj 3.0 lub nawet mniej.zero). Dziś to FPC i
Delphi (daję ten przykład, bo stosunkowo wiele osób miało/ma styczność,
łatwo dobrać się do opisów, dokumentacji, literatury i to bez barier
językowych -- co niektórym rzecz ułatwia[*]).
unit cośtam;
interface ....
implementation ....
Na poziomie języka przyzwoity moduł ma dobrze określany interfejs i jest
dobrze oddzielony od reszty kodu, tzn. z reszty kodu może sam z z
siebie[**] korzystać tylko poprzez interfejsy innych modułów.
To co nie jest udostępnione w interfejsie nie jest dostępne dla kodu spoza
modułu (za wyjątkiem jakiś spyficznych tricków, ale nie zajmujemy ani nie
interesujemy się tu rzeźbiarstwem). To jest podobne do tego, co znamy z OO
z klasami (jest OO bez klas, gdzie jest już mniej podobne) ale do "nieco"
czego innego służy i generalnie na innym poziomie struktury kodu działa.
Stąd zarówno rozwiązania z C++ z jednej strony (przestrzenie nazw i
jednostki kompilacji) jak i z Javy z drugiej (pakiety i jednostki
kompilacji ograniczone do jednej publicznej klasy) to tylko
fragmentaryczne, niekompletne kawałki.
Mam nadzieję, że nieco wyjaśniłem
pzdr
\SK
[*] - nieznajomość angielskiego to dla "człowieka programowania"
upośledzenie, ale w dzisiejszych czasach robimy ułatwienia dla
niepełnosprawnych :)
[**] - poza korzystaniem "sam z siebie" może jeszcze korzystać z kodu
przekazanego z zewnątrz explicite w czasie działania (runtime), czy to w
postaci parametrów wywołań czy to wewnątrz przekazywanych (bezpośrednio
lub pośrednio) struktur.
--
"Never underestimate the power of human stupidity" -- L. Lang
--
http://www.tajga.org -- (some photos from my travels)
-
49. Data: 2011-04-04 10:57:22
Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
Od: Sebastian Kaliszewski <s...@r...this.informa.and.that.pl>
Maciej Sobczak wrote:
> On 29 Mar, 18:58, A.L. <l...@a...com> wrote:
>
>> jeden z najlepszych amerykanskich uniwersytetow, Carnegie-Mellon
>> oglosil ze pzrestaje uczyc programwoania obiektowego na wstepnych
>> kursach programwoania
>
> Nie przestaje uczyć, tylko usuwa z wymaganego zbioru i to tylko z
> "introductory course". Uczy nadal, co sam nawet zacytowałeś.
>
> Poza tym chyba trochę się ktoś rozpędził w interpretacjach. Wywalenie
> OO bo jest niemodularne (albo raczej: nie mają związku z
> modularnością) to debilizm.
Nie, to zauważenie faktu, że ludzie jednego o drugiego nie odróżniają i im
się miesza. Popatrz choćby na ten wątek i pytanie o to, co to właściwie
jest programowanie modularne.
> To nie OO jest niemodularne, tylko pewne
> jego realizacje takie są. W szczególności Java, C++ też. Samo OO nic
> do modularności nie ma.
Tak, samo OO nic do modularności nie ma.
>
> Sam w innym poście napisałeś, że są języki, w których pojęcia "klasy"
> i "modułu" są rozdzielone (chociaż nie do końca są ortogonalne). W
> takim razie, zamiast wywalać OO jako cały paradygmat i w ten sposób
> wylewać dziecko z kąpielą należało raczej zmienić język na taki, w
> którym OO i modularność ze sobą nie kolidują.
>
> Czyli chaos. Nie przejmowałbym się tym i pewnie to chwilowa anomalia.
>
Taka "chwilowa anomalia" obowiązuje np. na UW od n lat (jeszcze kiedy ja
studiowałem to najpierw był wstęp do programowania, potem metody
programowania, potem algorytmy i struktury danych i dopiero potem (IV
semestr) było programowanie obiektowe (równolegle z nim była analiza
algorytmów i programowanie współbieżne). A w wersji "+funkcyjne" od ok 10
-- grupa zaczynających studentów u których "metodą sprawdzianu" stwierdzi
się wystarczające opanowanie podstaw programowania imperatywnego (cóż, od
początku ery PC wielu rozpoczynających studia ma już doświadczenie w
programowaniu), wstęp do programowania uczony jest w oparciu o języki
funkcyjne (żeby się studenci nie nudzili, żeby im się zwykle bardzo
błędnie[*] nie wydawało, że wszystko wiedzą).
[*] znam wielu takich, którym się wydawało że doskonale programują,
przestawali uważać, i potem był szok że oblali wstęp do programowania --
zwykkle w II terminie już im jakoś szło (a oblanie WP w obu terminach
oznacza zakończenie kariery jako studenta informatyki -- z tego warunku
się nie przewiduje (poza przypadkami szczególnymi, typu problemy
zdrowotne, zdarzenia losowe, itp) -- pozostaje zwykle możliwość przejścia
na matematykę.
>> "Object-oriented programming is eliminated entirely from the
>> introductory curriculum,
>
> Przecież "introductory curriculum" to nie całe studia.
Oczywiście.
>
> Tłumaczenie: studenci i tak nauczą się wszystkiego, tylko w innej
> kolejności.
Co jest bardzo istotne. Działanie uczenia nie jest przemienne :)
> Czyli proszę się rozejść, nie ma na co patrzeć.
Udajesz że, czy nie rozumiesz? :)
pzdr
\SK
--
"Never underestimate the power of human stupidity" -- L. Lang
--
http://www.tajga.org -- (some photos from my travels)
-
50. Data: 2011-04-04 11:02:11
Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
Od: Sebastian Kaliszewski <s...@r...this.informa.and.that.pl>
Mariusz Marszałkowski wrote:
> On 30 Mar, 14:52, A.L. <l...@a...com> wrote:
>
>> P.S. A tak na marginesie, to jeszcze raz sie zgodze z koncepcja ze OO
>> nie jest tematem na POCZATKOWE nauczanie
> Duzo zalezy od tego jak ten programista potem ma wykorzystywac swoje
> umiejetnosci. Jesli ktos ma byc tylko klepaczem aplikacji w javie +
> sql to
> po co mu zawracac glowe programowaniem czysto procueduralnym, albo
> asemblerem? Nie lepiej jak od razu uczyc go jak to sie robi w Javie i
> obiektowo?
Bo takie nauczanie to nie jest zadanie uniwersytetu. W ogóle!
To może być zadanie dla jakiejś pomaturalnej szkoły klepaczy w Javie, co
najwyżej.
pzdr
\SK
--
"Never underestimate the power of human stupidity" -- L. Lang
--
http://www.tajga.org -- (some photos from my travels)