Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wydajność programisty
Forum PHP.pl > Inne > Hydepark
Stron: 1, 2
erix
Cytat
Studia oferują zwykle szeroki, aczkolwiek dość płytki wachlarz informacji. To od studenta zależy, które z dziedzin zechce poznać bardziej, a z którymi pożegna się na etapie "aha, coś takiego istnieje i działa miej więcej tak". Dzięki temu programista napotykając w przyszłości na problem nieco odstający od tego, czym zajmuje się na codzień - będzie miał szansę "przypomnieć" sobie o istnieniu innych rozwiązań, które mógł (nawet pobieżnie) poznać. Tym studia różnią się od szkoleń z konkretnych zagadnień czy prywatnych korepetycji. Są kierowane do dość szerokiej grupy (uczących się samodzielnie) odbiorców.

Ale jak to wytłumaczyć większości, która myśli, że jak pójdą na studia, to później są za@exclamation.gif@&#^stym produktem, któremu praca się należy bez żadnego interesowania się tym, co poza uczelnią...?
Orzeszekk
Cytat(Niktoś @ 6.01.2012, 01:16:08 ) *
Trochę się mylisz - chodziło mi że są dziedziny,które mogą się przydać.W fizyce optyka-przy grafice,wektory-tego nie muszę chyba tłumaczyć,dynamika-trajektorie ruchu itp. ,ale po co obliczanie prędkości kosmicznych,po co dziedziny fizyki jądrowej-to jest tylko nabijanie łba,rzeczami które w rzeczywistości nigdy się nie przydadzą.

Jak powstaje glina-chyba tak,by określić jakość gliny,z niej wypalane są cegły, dobra cegła to solidne fundamenty.


boli mnie to ze w Polsce sie nie stosuje na studiach zasady Demeter.

Polska: jestem inzynierem budowlanym -> projektuje domy -> ktos je buduje -> buduje je np z cegieł -> cegły są wytwarzane -> wytwarzane sa z gliny -> musze znac parametry gliny -> poznaje historie ziemi, geografie, to jak glina powstaje w ziemi, jakie zwierzęta zyja na tych terenach... zabrakło godzin lekcyjnych na to zeby nauczyc sie odczytywac parametry z tabelki. semestr sie skonczyl, na 2 zajeciach byla odróbka, cos odpadło bo byly swieta no i nie zdazylismy. trudno.

Dania: jestem inzynierem budowlanym->projektuje domy wiec musze znac wytrzymalosc materialow ktorych chce uzyc->biore tabele z parametrami cegły, odczytuje z niej parametry i ich uzywam.

i mozecie sie smiac że dunscy są głupi bo nie wiedzą jak powstaje glina a my wiemy, ale fakt faktem oni sa lepiej przygotowani.
To jest taki nasz polski zart, taki sam jak to ze polki sa najpiekniejsze na swiecie a pudzian najsilniejszy w mma.
I za granicą śmieją sie z nas tak jak my z nich. Dla nich jest smieszne ze inzynier budowlany musi wiedziec jak powstaje glina w ziemi.
(w ogóle wolna amerykanka, dla nich jest smieszne ubranie garnituru na egzamin biggrin.gif )

to tak jak my sie uczylismy assemblera HLA, po to by zastosowac go na DSM, i w koncu nie zdazylismy napisac niczego na DSM bo zabraklo godzin lekcyjnych. Ile studentów ma w domu DSM/AVR, ile jest zainteresowanych kupnem go by sie zapoznac, a ile by sie zapoznalo gdybysmy to zrobili na zajeciach?

nie wiem czy byles na studiach czy przerwales je bo nie moglem sie doczytać w wątku, powiem ci tak: na pierwszym semestrze była algebra liniowa, jeden z najbardziej prze...banych przedmiotow z jakim sie spotkalem na studiach, przedmiot w terminie zaliczylo moze jakies 20% osob, 30% przejechalo na warunkach i wyrównawczych, reszta odeszła z uczelni.

Mielismy liczby zespolone, macierze, wektory, przeksztalcenia liniowe (funkcje które przekształcają macierz w macierz), przestrzenie liniowe (juz nie pamietam co to bylo), i inne cuda...

i powiem ci tak: w matematyce wektor to jest taki dziwny twór którego zapisujesz za pomocą jakis dziwnych niezrozumialych kompletnie nieintuicyjnych literek. Im bardziej skomplikujesz ten zapis, tym jestes bardziej kozacki i wykształcony.

W informatyce wektor to: array(jeden element, drugi element, trzeci element), new Array(3), array [0..2] of integer, int[3], new Vector<T> ()
wybierz sobie ten ktory ci sie bardziej podoba. Im bardziej uproscisz ten zapis i uczynisz go czytelnym tym jestes lepszy.
jak chcesz miec macierz to dodaj sobie dodatkowy rząd macierzy zebys miał dwuwymiarową.

przekształcenie liniowe ktore w php jest prosciutką funkcja 2 instrukcje, zrozumiala nawet dla przedszkolaka, w zapisie matematycznym bedzie rownie prosta do odczytania jak list twojej dziewczyny do jej gacha zaszyfrowany AES-256, przy odszyfrowywaniu go kalkulatorem i kartką i własną głową. niestety. takie sa brutalne fakty. Duzo z tej matmy którą oblewamy, jest w swiecie informatyki przedstawiona w banalny sposób.

drugi przyklad ktorym zdisowalem ostatnio magistra na cwiczeniach.
http://pl.wikipedia.org/wiki/Model_relacyjny
http://pl.wikipedia.org/wiki/Teoria_mnogości

to tez bylo na studiach. Przeczytaj sobie to, to jest zapis tego co sie dzieje w relacyjnych bazach danych od strony matematyki.
Mój magister to umie.

Tylko ze magister srednio czai SQLa, aspekty zwiazane z predkoscia, konstruowanie zapytan i korzystanie z tych danych. A ja umiem.
Jak myslisz kto jest lepszy?

Ok dobra, ktos moze powiedziec ze magister. A komu zapłacą za posiadanie tej wiedzy? jemu czy mnie? mnie za to ze zrobie serwis korzystajacy z db, czy jemu za to ze im rozpisze na kartce relacje jakie zajdą? W naturze czlowieka jest sie uczyc to co mu sie przydaje, a zapominac to co jest mu do przezycia zbędne...
Niktoś
Cytat
Ale jak to wytłumaczyć większości, która myśli, że jak pójdą na studia, to później są za@exclamation.gif@&#^stym produktem, któremu praca się należy bez żadnego interesowania się tym, co poza uczelnią...?

Bo kiedyś tak było, człowiek po średnim dawniej miał zapewnioną pracę w biurze.Dzisiaj średnie,to to samo co podstawówka ,a wyższe to co średnie.Pracy w biurach nie ma ,bo przychodzi obcy kapitał ,który obsadza stanowiska kierownicze własnymi ludźmi spoza granicy Polski.Tak więc Inteligencja polska zmuszona jest ,zejść pięterko niżej.

Dzisiaj wyższa uczelnia niczego nie zapewnia już nie liczy się jak kiedyś to było, tym bardziej nie liczy się w innych krajach.Jest ona po to by podnieść twoje libido.
Uczy myśleć ,ale w jaki sposób -archaiczny, odbiegający od dzisiejszej rzeczywistości ,uczą teorii z ubiegłej dekady ,bo brak jest technologii ,jest na niskim poziomie biorąc pod uwagę całokształt.A co mądrzejszy Polak ,który by potrafił jakąkolwiek wiedzę przesłać zostaje wyłapywany przez międzynarodowe koncerny i tam pracuje za dużo ,dużo większe pieniądze.
Orzeszekk
@erix a nie prosciej jest przyjac do wiadomosci ze trzeba cachowac bo pamiec jest wolna a dysk ma czas dostepu do danych, zamiast rozkminiac jak elektrony plyna po sciezkach i prowadzic wlasne obserwacje zeby na koncu odkryc ze koło jest okrąłe? smile.gif

nie jestem za zawężeniem studiów informatycznych do programowania. jestem programistą (a przynajmniej w ten kierunek celuje), a ostatnio mnie zycie zmusilo i ogarnałem sobie fotoszopa na wystarczajacym do www poziomie. wiadomo ze szanujacy sie progamista powinien umiec złożyc sobie kompa, wybrac laptopa, narysowac cos w PSie czy gimpie, zlozyc film w sony vegasie, znac pare jezykow programowania i paradygmatów aby wiedział co traci, znac sie na sieciach i bazach danych, wypadało by by umial zlutowac jakis prosty układ lub przejsciowke jak mu sie nie bedzie chcialo leciec do sklepu po gotowy kabel.. smile.gif

ale jestem za zawężeniem studiów informatycznych na mojej uczelni do informatyki smile.gif porzuceniu tego co dawno odeszło w zapomnienie na rzecz tego co jest na topie. inne dziedziny tak zrobiły, i nie uczymy sie w szkole liczyc na abakusie tylko pierwiastki obliczamy kalkulatorami lub z tabel.

uczenie ludzi wszystkiego na zasadzie "moze im sie kiedys przyda" to błędne podejscie. Uwazam ze powinno sie wymagac od ludzi idacych na informatyke zeby byli zainteresowani tym co studiują i zeby nie poznawac podstaw podstaw tylko rzeczy ciekawe.
a nie, dac jeden przedmiot informatyczny na dwa elektryczne, nauczyc przyszlych programistów i sieciowców jak sie liczy całki i oblicza napiecia w ukladach elektrycznych pradu przemiennego (na kartce). pokaz mi osobe ktora projektuje uklady i robi to recznie bez zadnych softwarowych wspomagaczy.

Nawet elektroniki bym wrogiem nie był jesli by bylo to na zasadzie - macie avrke, multiplekser, klawiaturke, wyswietlacz, jakis termistor, zrobcie na tym wielozadaniowy termometr - tu jest sala z lutownicami, bierzecie laptopy, lutujecie uklady, testujecie je piszecie dokumentacje i maja działać.
a jest na zasadzie: rozpisz uklad, policz całki, dostajesz 3 i do widzenia. nawet nigdy nie zobaczysz efektow swojej pracy. gdy jakims cudem twoja praca bedzie miala wiecej z elektronika niz z programisty, lutownice bedziesz mial nadal pierwszy raz w ręce.

niech uczą szerokiego zakresu rzeczy, płytko, ale niech nie ucza rzeczy zbędnych i do tego w zły sposób! chocby to ze niektorzy wykladowcy nie udostepniaja wykładów dla ludzi ktorzy nie maja czasu jezdzic na uczelnie bo sie zajmuja czyms pozytecznym zamiast cieszyc sie przedluzonym dziecinstwem, tylko robią beszczelnie listy i zanizaja oceny niechodzącym albo dowalaja im trudniejsze pytania, zmuszajac ich do chodzenia na swoj gowniany wykład zakrawa o smiech i pomste do nieba smile.gif

obliczanie liczb zespolonych nigdy mi sie nie przyda nawet gdybym z nich korzystal kiedys. wejde na wikipedie, zobacze wzory, utworze sobie typ liczbaZespolona i poprzeciazam operatory. nie musze tego umiec liczyc na kartce. po to sa matematycy aby powyliczac mi te wzory a ja je sobie przepisze do dowolnego jezyka i bede korzystal. W koncu matematyke stosowana i niestosowana konczy co roku minimum 200-300 osob w kazdym wojewodzkim miescie. za wolno i za duzo bledow sie popelnia liczac recznie.
i dlatego nie rozumiem dlaczego pozegnanych zostało 70 ludzi ktorzy 3 lata temu rozpoczeli studiowac informatyke w lublinie.

co do pracy- kolega byl niedawno w chinach i twierdzi ze tam firmy zatrudniaja białych bez studiów (bo bialym ze studiami by musieli jeszcze wiecej zaplacic) po to by nic nie robili tylko udawali na spotkaniach ze tam pracują. w ten sposob biały zarobi, firma korzysta bo inni mysla ze jest bogata jak zatrudnia bialych i warto z nia robic interesy, a biedni chinczycy odwalaja czarną robotę.

tak jak juz pisałem to jeszcze nie te czasy ze mozna sobie olac studia i wykazac sie tylko wiedzą, mimo wszystko bedzie to dziura w zyciorysie pomimo duzej wiedzy jezeli ktos chce pracowac w korporacji czy ogolnie u kogos zamiast zalozyc wlasne asseco.
tym bardziej ze nie kazdy jest biznesmenem, i nie kazdemu interesy wychodza dobrze, niektorzy po prostu chca robic to w czym sa dobrzy i do czego zostali stworzeni i dostac za to odpowiednie pieniadze.

a po za tym studia to fajny okres, duzo fajnych znajomosci no i za jedna rzecz moge pollubowi dziękować - wysłała mnie na erasmusa z tragiczna ocena z angielskiego i srednia 3.2 nie robiac wiekszych problemów, co bylo chyba najwiekszym prezentem w moim dotychczasowym zyciu i pozwolilo mi sie troche dowiedziec o moich marzeniach, perspektywach, o tym kim chce byc w moim zyciu i zweryfikowac swoje podejscie do zycia.

Pojechac z wrocławia na pewno nie byłoby tak łatwo chociaz tam moze matma&elektra attack nie zanizylby mi tak sredniej bo ze wszystkiego co zwiazane z infa nie mialem nizej niz 4 nigdy zadnej oceny..

nie jade po studiach ogolnie tylko o wiedzy ktora tam dostajemy i niestety musimy zaliczyc - dlaczego ona mija sie z celem skoro mozna zrobic tak by byla przydatna? ludzie by sie uczyli o tym co im sie przyda, i mieli by na to ochote, zamiast "musze to g..o zaliczyc na 3 i bedzie spokoj".
to jak wylewanie benzyny do rowu bo nie miesci sie w karnistry, zamiast dokupic karnistry. tak sie marnuje zapał ludzki smile.gif

wez pod uwage tez ze jak szedłem na studia to wiedzialem tylko tyle ze jedna z moich pasji jest informatyka, komputery i w szczegolnosci programowanie... nie wiedzialem ze zostane zarzucony szitem, bylem pod wpływem rodziców którym nie miesciłoby sie w bańce że syn moze nie pojsc na studia - tak tak, oni urodzili sie w PRLU, wtedy miec studia bylo rowne tyle co teraz miec 20 letnie doswiadczenie w branzy, a teraz na 3 roku nie oplaca sie rzucic studiów, zmarnować tej góry wydanego hajsu na dojazdy, naukę i wszystkie inne koszty ze studiami związane? jak myslisz co mnie jeszcze na studiach w lublinie trzyma? ta swiadomosc ze mam 5 semestr i jak poczekam z emigracją rok to mi papierek nie przepadnie..
Niktoś
@Up
Dlatego uważam,że uczelnie prywatne są lepsze, mają lepsze zaplecze, a wykładowcy także ciebie dokładniej słuchają i nie traktują jak trzodę którą trzeba przetrzewić lub bezmyślnie coś tam im wyłożyć.
Wolałbym wybrać takie studia ,które dają papierek bez orzełka ,ale które przekazują konkretną wiedzę ,niż te z orzełkiem ,które uczą o wszystkim i o niczym.

Mówiąc o Archaiczności polskiego naucznia-czy wzory matematyczne nie da rady byłoby się uczyć w połączeniu z turbo pascalem np.żeby przekształcić wzór matematyczny na zrozumiały dla komputera kod,
Myślę ,że takie nauczanie w przypadku informatyki ,byłoby o wiele skuteczniejsze ,niż wypisywanie wszystkiego na kartce.Żyjemy w erze komputerów, a szkolnictwo w erze papirusu i taka jest prawda.
Orzeszekk
Cytat(Niktoś @ 6.01.2012, 02:20:35 ) *
@Up
Dlatego uważam,że uczelnie prywatne są lepsze, mają lepsze zaplecze, a wykładowcy także ciebie dokładniej słuchają i nie traktują jak trzodę którą trzeba przetrzewić lub bezmyślnie coś tam im wyłożyć.
Wolałbym wybrać takie studia ,które dają papierek bez orzełka ,ale które przekazują konkretną wiedzę ,niż te z orzełkiem ,które uczą o wszystkim i o niczym.


no niby tak, z drugiej strony na tym etapie swiadomosci w polsce dyplom prywatnej uczelni robi za papier toaletowy.

wyzsza szkola mniemanologii stosowanej i zonglowania ryzem jest stawiana na rowni z jakas tam uczelnia ktora by sprobowala cos nauczyc ludzi. A np w takich stanach taki Stanf
ord czy Harvard ktorego absolwentami są np Zuckerberg czy Gates i mnóswo noblistów, to uczelnie prywatne i są poważane i szanowane. tak jak sobie ogladalem social network to tez bym sobie chcial tak studiowac jak on, nawet jezeli to fikcja filmowa. ide na jeden wyklad sieci. ide na drugi wyklad - kryptografia. ide na trzeci wyklad - algorytmy. ide na czwarty wyklad - k...a, na tych studiach jest wszystko co mnie interesuje smile.gif szok.

a jaki jest kon kazdy widzi: ide na wyklad 1.. wychodze po godzinie bo szkoda baterii w komórce psuc no i w pewnym wieku granie sie nudzi. jak bede siedzial i czytał sobie cos na komórce np dokumentacje jakiegos fw czy czegokolwiek innego co żądali na 3 rozmowach o prace wstecz, to typ sobie zanotuje ze sie bawie komorka na wykladzie i bedzie mnie gnebil pozniej przy zaliczeniu haha.gif. jak mu powiem ze to co mam na komorce bardziej mi sie przyda to sie typ tylko zdenerwuje bo on tego nie przyjmie do wiadomosci ze informatyk poradzi sobie bez obliczania calki podwójnej spod pierwiastka który jest podniesiony do n-tej potegi i logartym jeszcze z tego (na kartce). gwoli scislosci jest jeden ciekawy wyklad w tym semestrze ale nie oplaca mi sie robic 60 km w obie strony i marnowac na to dodatkowe 4h (busy+miejskie+czekanie na przystankach+1km z buta) zeby przyjechac na uczelnie posiedziec sobie 2 godziny. szkoda ze nie jest gdzies wcisniety miedzy cwiczenia.

a o tej japonsko-polskiej szkole słyszałem, że to wyśmienita uczelnia. tylko pewnie wyśmienicie kosztuje czesne smile.gif

@niktos - tak jak mowisz jest na metodach numerycznych. masz np zaimplementowac transformate fouriera w dowolnym języku.
albo obliczanie wielomianów ortogonalnych. albo liczenie całki numerycznie różnymi metodami. W danii uczyli w ten sposob algebry liniowej - zamiast liczyc suche wektory na papierze, od razu sie pisze programy z ich uzyciem.

tylko ze z metodami numerycznymi jest taki psikus, ze dostajesz wzory i teorie, a jak tą transformate fouriera wyliczyc to musisz sobie jeszcze rozwiązać parę całeczek na karteczce smile.gif i dopiero zaimplementowac. więc nie jest zdaj zakuj zapomnij zapij z tą matmą, tylko na studiach jest caly czas tworzone sztuczne zapotrzebowanie na nią.

wiec skoro każdy po studiach umie zaimplementowac transformate fouriera samemu (bo jest uzywana w jpg), to dlaczego nie znam nikogo kto by pisał własny kodek JPG? smile.gif Dlaczego MATLAB zamiast mieć własne implementacje tych metod numerycznych korzysta z gotowej biblioteki maths costam? smile.gif no chyba ze to tworcy matlaba wypuscili ta biblioteke, ale o tym informacji nie bylo - szukajac rozkminionych wzorów na tr. fouriera natknalem sie na wzmianke ze jest swietna biblioteka do tego w C, a rekomendacja bylo ze korzysta z niej matlab.

biggrin.gif Free Paper Compiler lub Turbo Kartka jak kto woli, a powoli zblizamy sie do wydania Kartki++, oraz Jartki, Kartki.NET, PyKartki, no i powstaje nasz nowy język opracowywany przez nas KartkaScript biggrin.gif
Niktoś
Cytat
drugiej strony na tym etapie swiadomosci w polsce dyplom prywatnej uczelni robi za papier toaletowy

To musisz zastanowić się ,czy uczyć się dla papiera czy dla wiedzy.Pracodawca zada przy rozmowie kwalifikacyjnej pytanie ściśle związaną z informatyką ,"czy pan umie zrobić...",albo "co to jest..." ,to powiesz ja mam papier?
Na uczelni prywatnej ,może akurat byś to miał,wszakrze muszą czymś zainteresować osobę która będzie potencjalnym klientem takiej uczelni.Dla nich to pieniądz,dla Ciebie możliwość poznania czegoś więcej i w sposób niestandardowy jaki nie odbywa się na państwowych uczelniach.

Ps.Ubawiłęm się ,paperCompiler haha.gif
Orzeszekk
Cytat(Niktoś @ 6.01.2012, 02:54:32 ) *
To musisz zastanowić się ,czy uczyć się dla papiera czy dla wiedzy.Pracodawca zada przy rozmowie kwalifikacyjnej pytanie ściśle związaną z informatyką ,"czy pan umie zrobić...",albo "co to jest..." ,to powiesz ja mam papier?
Na uczelni prywatnej ,może akurat byś to miał,wszakrze muszą czymś zainteresować osobę która będzie potencjalnym klientem takiej uczelni.Dla nich to pieniądz,dla Ciebie możliwość poznania czegoś więcej i w sposób niestandardowy jaki nie odbywa się na państwowych uczelniach.

czy sie stoi czy sie lezy tysiac zlotyc sie nalezy na panstwowym smile.gif przynajmniej wiadomo ze nasz dziekan nie jest podły tylko jest równym gosciem i nie zostawił kolegów ze studiów z elektrotechniki bez pracy, tylko pozatrudnial ich na informatyce snitch.gif snitch.gif reka reke myje serce dla serca bije polska w swiecie przekrętem stoi biggrin.gif

w elektrotechnice postęp jest niewielki w jednostce czasu, w informatyce ogromny. prawo moora działa i nie ma litosci.
taki profesor po studiach elektrotechnicznych moze tego nie rozumiec. a jeden to z tej swojej poźółkłej kartki juz ledwo moze przepisywac swoje algorytmy bo tak mu sie zniszczyla przez te wszystkie lata w ktorych przepisywał kredą na tablice quicksorta. ale jest kierownikiem katedry i nie mozna go nikim zastąpić.

moja dziewczyna spotkala sie na swojej uczelni (wydzial mechaniczny, slaska) z sytuacja, gdzie profesorowi jako prezent urodzinowy zorganizowali konferencję, a ich, studentów jakos tam zachecili czy zmusili jakas tam grozba obnizenia oceny przez wykładowce do pojscia na tą konferencje i słuchania tego bełkotu a w zamian nie odbył się wykład o tej godzinie haha.gif

no niestety - tak długo jak w polsce uczelnia panstwowa bedzie panstwem w panstwie a wykladowca wysoko stał nad studentem ktory nie moze nic powiedziec bo sie narazi i wykladowca go udupi to na publicznych tak edukacja bedzie wygladala. w danii wyglada to tak ze jestes klientem uczelni, przychodzisz tam po to by sie czegos nauczyc, student=wykladowca(zwracasz sie na ty, jak w firmie miedzy pracownikami), a wykladowca nie jest od tego by sobie zrobic wyklad po swojemu po najmniejszej linii oporu od x lat to samo, tylko sa stawiane mu pewne wymagania, odbywaja sie ankiety wsrod uczniow jak mozna polepszyc zajecia by bardziej dostosowac je do potrzeb i wymagan studentów, wykladowca powinien zrobic wszystko by ci pomóc, a nie na odczepnego. Takie podejscie likwiduje wsrod studentów zdanie o wykladowcach "p....lony h...j znowu mnie ud....ił dziad j...any". na miejscu nie moglem zrozumiec ze tak to dziala.

jak po powrocie opowiedzialem to znajomym z uczelni to stwierdzili ze to dziwne, i zachowanie studentow wobec wykladowcow jest chamskie, i studia nie moglyby tak wygladac. sam bym nie uwierzyl jak bym nie zobaczył. to wygladalo jak nasze kółka naukowe gdzie prowadzący jest studentem o pare lat starszym, a nie pracownikiem uczelni.

dziwna jest mozliwosc korzystania na egzaminie pisemnym z angielskiego laptopa z wifi legalnie (w denmarku) smile.gif Dla mnie jest dziwna - a oni moze dostosowuja swoj egzamin do rzeczywistych warunkow w ktorych sie wiedzy uzywa zamiast tworzyc sztuczne kartkowe srodowisko. Nawet nie przyszlo mi do głowy zeby sciagac gotowca od kogos czy pytac sie na gadu kto mi to rozwiąże - raz wszedlem na gramatyke i 2 razy na słownik. bo tlumacz tlumaczac tekst pisemnie tez ma do dyspozycji te pomoce. a moze bysmy sie wiecej nauczyli angielskiego na zajeciach jakby zamiast kuc na pamiec 200 czasownikow nieregularnych, po prostu bysmy na mase uzywali tego jezyka - np nakaz rozmawiania po angielsku na zajeciach miedzy sobą.

zreszta zeby sie ktos nie obrazil - mowiac polskie uczelnie mam na mysli tą na ktorej studiuje.. nie mam pojecia jak jest w innych miastach, mowie co widze.. moze u was jest lepiej i dlatego to co pisze wydaje niektorym dziwne i bezsensowne.

No to chodze na uczelnie i ucze sie dla papieru na trójki, a po godzinach staram sie orientowac co jest na topie i rozszerzac wiedzę (poza kodowaniem tego co juz zacząłem)
chyba lepiej sie nie da zrobić na obecną chwilę?smile.gif
prowseed
Zaczne od Danii: Moj dobry znajomy wyjechal tam wlasnie na erasmusa w sierpniu, niedawno rozmawialismy i mowil, ze przez caly semestr uzyl tylko jednego wzoru- na przeciwprostokatna w trojkacie. Nie wie co liczyl, cos wpisal do komputera, jakis wynik wyszedl. Wynik jest wiec wszyscy sie ciesza. Tylko widzisz, dobrze by bylo, gdybys jeszcze z wlasnego doswiadczenia wiedzial, czy ten wynik moze byc w ogole realny, czy w danych warunkach da sie go ulepszyc, co na to wplywa...?

Cytat(Orzeszekk @ 6.01.2012, 01:52:11 ) *
Polska: jestem inzynierem budowlanym -> projektuje domy -> ktos je buduje -> buduje je np z cegieł -> cegły są wytwarzane -> wytwarzane sa z gliny -> musze znac parametry gliny -> poznaje historie ziemi, geografie, to jak glina powstaje w ziemi, jakie zwierzęta zyja na tych terenach... zabrakło godzin lekcyjnych na to zeby nauczyc sie odczytywac parametry z tabelki. semestr sie skonczyl, na 2 zajeciach byla odróbka, cos odpadło bo byly swieta no i nie zdazylismy. trudno.

Dania: jestem inzynierem budowlanym->projektuje domy wiec musze znac wytrzymalosc materialow ktorych chce uzyc->biore tabele z parametrami cegły, odczytuje z niej parametry i ich uzywam.

Tylko zrozum jedno: w przyszlosci mozesz byc inzynierem i budowac domy, mozesz byc inzynierem specjalizyjacym sie w posadawianu fundamentow, wtedy okreslenie nosnosci gruntu zalezy od Twoich umiejetnosci badawczych az w koncu mozesz byc inzynierem pracujacym w zakladzie prefabrykacji takiej cegly, ktory ustala sklad i mieszanke... Jak sie tego na studiach nie nauczysz, to ciekawe kiedy? Nie zapominaj tez o tym, ze nie studiujesz programowania, tylko informatyke. Mam starego wykladowce od hydrauliki, ktory swego czasu troche pisal w LISP'ie i Fortran'ie i smial sie z nas, ze teraz wszystko mamy podane na tacy i jak jest jakis problem to google/wikipedia. Ze nie chce nam sie zaglebiac wiedzy bo i tak wszystko sie znajdzie...


Cytat(Orzeszekk @ 6.01.2012, 02:06:18 ) *
co do pracy- kolega byl niedawno w chinach i twierdzi ze tam firmy zatrudniaja białych bez studiów (bo bialym ze studiami by musieli jeszcze wiecej zaplacic) po to by nic nie robili tylko udawali na spotkaniach ze tam pracują. w ten sposob biały zarobi, firma korzysta bo inni mysla ze jest bogata jak zatrudnia bialych i warto z nia robic interesy, a biedni chinczycy odwalaja czarną robotę.

Biedni chinczycy... Niedawno robilem strone dla firmy, ktora zakupila maszyny z chin w tym samym czasie. Przyjechal chinczyk na miesiac pokazac jak te maszyny dzialaja i prezes poprosil go o zostanie jeszcze jeden miesiac bo pracownicy nie do konca ogarniaja zasady programowania tej maszyny, na co chinczyk odpowiedzial: ok, ale za 10 tysiecy bo za mniej mi sie nie oplaca. Najwyzsza oferta to bylo $6k, wiec chinczyk sobie pojechal do chin.
erix
Cytat
@erix a nie prosciej jest przyjac do wiadomosci ze trzeba cachowac bo pamiec jest wolna a dysk ma czas dostepu do danych, zamiast rozkminiac jak elektrony plyna po sciezkach i prowadzic wlasne obserwacje zeby na koncu odkryc ze koło jest okrąłe?

Nie, ponieważ nie posiadasz nieskończonych zasobów pamięci. Poza tym, jeśli chodzi o np. assemblera, to jak sobie wyobrażasz debugowanie binarek bez wiedzy o tym, jak działa adresowanie pamięci? Tak, w przypadku PHP również się przydaje np. ktrace. Nie chciałbym mieć w zespole programisty z klapkami na oczach. tongue.gif

Cytat
ale jestem za zawężeniem studiów informatycznych na mojej uczelni do informatyki porzuceniu tego co dawno odeszło w zapomnienie na rzecz tego co jest na topie. inne dziedziny tak zrobiły, i nie uczymy sie w szkole liczyc na abakusie tylko pierwiastki obliczamy kalkulatorami lub z tabel.

Ale informatyka-programowanie, to nie jest programowanie aplikacji www. W jaki inny sposób uczelnia ma przygotować ludzi do tworzenia np. aplikacji pomiarowych? Chcesz to zrobić bez wiedzy o analizie matematycznej, np. pola funkcji? W jaki sposób absolwenci mają pisać engine'y graficzne nie mając zielonego pojęcia o macierzach?

Cytat
obliczanie liczb zespolonych nigdy mi sie nie przyda nawet gdybym z nich korzystal kiedys. wejde na wikipedie, zobacze wzory, utworze sobie typ liczbaZespolona i poprzeciazam operatory. nie musze tego umiec liczyc na kartce. po to sa matematycy aby powyliczac mi te wzory a ja je sobie przepisze do dowolnego jezyka i bede korzystal. W koncu matematyke stosowana i niestosowana konczy co roku minimum 200-300 osob w kazdym wojewodzkim miescie. za wolno i za duzo bledow sie popelnia liczac recznie.
i dlatego nie rozumiem dlaczego pozegnanych zostało 70 ludzi ktorzy 3 lata temu rozpoczeli studiowac informatyke w lublinie.

Patrz: wyżej. Wybacz, ale patrzysz w naprawdę ograniczony sposób. Idąc dalej tym tropem, szkolnictwo wyższe osiągnie poziom USA, gdzie w przypadku braku prądu i kalkulatora jest problem z pisemnym dodaniem liczb trzycyfrowych.

Cytat
@Up
Dlatego uważam,że uczelnie prywatne są lepsze, mają lepsze zaplecze, a wykładowcy także ciebie dokładniej słuchają i nie traktują jak trzodę którą trzeba przetrzewić lub bezmyślnie coś tam im wyłożyć.
Wolałbym wybrać takie studia ,które dają papierek bez orzełka ,ale które przekazują konkretną wiedzę ,niż te z orzełkiem ,które uczą o wszystkim i o niczym.

Krótka piłka - tam są bardziej szczegółowe specjalizacje, tyle w temacie.

Cytat
a jaki jest kon kazdy widzi: ide na wyklad 1.. wychodze po godzinie bo szkoda baterii w komórce psuc no i w pewnym wieku granie sie nudzi. jak bede siedzial i czytał sobie cos na komórce np dokumentacje jakiegos fw czy czegokolwiek innego co żądali na 3 rozmowach o prace wstecz, to typ sobie zanotuje ze sie bawie komorka na wykladzie i bedzie mnie gnebil pozniej przy zaliczeniu . jak mu powiem ze to co mam na komorce bardziej mi sie przyda to sie typ tylko zdenerwuje bo on tego nie przyjmie do wiadomosci ze informatyk poradzi sobie bez obliczania calki podwójnej spod pierwiastka który jest podniesiony do n-tej potegi i logartym jeszcze z tego (na kartce). gwoli scislosci jest jeden ciekawy wyklad w tym semestrze ale nie oplaca mi sie robic 60 km w obie strony i marnowac na to dodatkowe 4h (busy+miejskie+czekanie na przystankach+1km z buta) zeby przyjechac na uczelnie posiedziec sobie 2 godziny. szkoda ze nie jest gdzies wcisniety miedzy cwiczenia.

Dla chcącego nic trudnego. Jeśli chcesz wykorzystać ten czas dojazdów, to wykorzystasz. A na wykładach nieraz zdarzało mi się kodzić na kompie i prowadzący nie robili z tego powodu problemów. Mam Ci mówić, jak się studiuje? tongue.gif

Cytat
wiec skoro każdy po studiach umie zaimplementowac transformate fouriera samemu (bo jest uzywana w jpg), to dlaczego nie znam nikogo kto by pisał własny kodek JPG? Dlaczego MATLAB zamiast mieć własne implementacje tych metod numerycznych korzysta z gotowej biblioteki maths costam? no chyba ze to tworcy matlaba wypuscili ta biblioteke, ale o tym informacji nie bylo - szukajac rozkminionych wzorów na tr. fouriera natknalem sie na wzmianke ze jest swietna biblioteka do tego w C, a rekomendacja bylo ze korzysta z niej matlab.

No niestety, wielkie korporacje robią użytek z uczelni, aby przywiązać ich do swojego softu. Przykład z mojego podwórka - programowanie sterowników ABB pod oprogramowaniem Freelance. Zestaw kosztuje jakieś kilkadziesiąt tysięcy, a praktycznie to samo można osiągnąć z użyciem gcc-avr i kości wartej 12zł. Ew. na Arduino za góra 200zł z shieldem do Ethernetu. Nadal 200x taniej. tongue.gif

Orzeszekk
ale tak jak juz pisalem nie jestem za tym by ograniczac wiedze na informatyce do programowania tylko do informatyki.

zespol piszacy aplikacje programowe wg mnie na pewno nie bedzie sie skladal tylko z jednego członka - skoro nawet proste www ludzie robia czesto w 3 osoby: grafik/phpowiec/seo i naganiacz klientow. pewnie bedzie to jakis inzynier tych pomiarów, inzynier oprogramowania, elektronik i ktos jeszcze i kazdy zajmie sie swoja działką.

moze kiedys bedziemy pisac program statystyczny, albo ekonomiczny np ksiegowosc ? w takim razie powinnismy nauczyc sie calej ekonomii i statystyki. a moze keidys bedizemy pisac symulator dla nasa? no to nauczmy sie calej astronomii i teorii jak wyslac czlowieka w kosmos... a moze symulator samochodu? no to potrzebujemy dokladnej wiedzy o fizyce bryly sztywnej ruchomej i innych cudów.
a moze zycie nas rzuci do IAEA i bedziemy szykowac symulator najnowszego reaktora ACR? ziuuup.. dzien dobry nazywam sie dziekan x, i poprowadze z wami zajęcia z fizyki jądrowej i podstaw budowy reaktorow na wypadek gdybyscie kiedys musieli pisac program do symulacji reaktora.

wiem jak dziala adresowanie, znam assemblera, i zeby to rozumiec wcale nie jest mi potrzebne wiedziec jak elektrony płyną miedzy tranzystorami w pamięci, ani z czego moja pamiec jest zbudowana.

napisalem ze trzeba cachowac bo pamiec jest wolna - w sensie ze powoli dziala.
nie debuguje binarek, nie jestem masochistą. po to mam xdebug zeby sobie debugowac jak czlowiek. mysle ze programy ktore wymagaja przerobek w assemblerze to bardzo ale to bardzo specyficzna dziedzina, mniej niz 1% z nas jej liźnie. co za tym idzie nie powinno jej byc na studiach, bo juz sie umowilismy ze maja byc ogóły a nie szczegóły.

jedyna okazja gdzie mialbym okazje debugowac binarke to bylo pisanie softu na avr, ale nie mialem przystawki do debugowania zeby ja do mikroprocka podłączyć.

ile z nas bedzie pisalo graficzne enginy? pomijajac juz fakt ze nic w kierunku graficznych enginow nie zrobilismy, tylko nap...lamy czysto abstrakcyjne całki...
przeciez jak temu jednemu %1 bedzie cos takiego kiedys potrzebne to usadzie, posiedzi nad tym tydzien i zapoozna sie z potrzebna mu teoria.. skoro na studiach studiowal sam to chyba nie zapomnial jak sie to robi? informatyk uczy sie przez cale zycie. zreszta jak ja sie bawilem pisaniem bardzo prostego silnika graficznego to nie znalem wcale algebry liniowej i wcale mi to nie przeszkadzalo, gdyz zapis informatyczny tych wszystkich wektorow i macierzy jest duzo bardziej intuicyjny niz prowadzenie dzialan na wzorach matematycznych.

przyklad z kalkulatorem jest kompletnie nietrafiony. idac tym tokiem myslenia powinienes umiec rozpalic ognisko za pomocą krzemienia i umiec sobie upolowac jelenia na obiad uprzednio wystrugawszy sobie kolec z kamienia bo moze kiedys zdarzy sie blackout, wojna atomowa w wyniku ktorej masarnie przestana istniec. amerykance dobrze robia, maja googla i kalkulatory za 1zl w sklepie to po co maja sie meczyc? jak google stanie sie platny a chinczycy zamkna granice to naucza sie liczyc z powrotem recznie. czlowiek pozbywa sie organow ktorych nie uzywa i sa mu niepotrzebne, to strategia przezycia, dzieki temu nasza cywilizacja zaszla tak daleko, tak samo jest z wiedzą.

@erix niedlugo w moim laptopie padnie pewnie dysk twardy od korzystania z niego podczas jazdy busem po dziurawej drodze.
beszczelnie na cwiczeniach z elektrotechniki potrafie wyciagnac laptopa pod lawka i dłubac sobie cos. miedzy zajeciami na okienkach zawsze mam lapka ze soba i cos robie. Chyba nie musisz mi mowic ?biggrin.gif
Adi32
Cytat(Niktoś @ 6.01.2012, 00:44:24 ) *
Ale patrze na forum to są nawet oferty 3-4k dla programistów php ,to dlaczego Pracujecie za 1600?
Oferty młodszego programisty za 2-2.5k c# widziałem-a i tak wyśmiewane były.Tak więc Panowie ,albo wy macie klapki na oczach ,albo Ci przemysłowcy co wam tyle dają.
Mogę tylko powiedzieć godzicie się na to.

Cytat(prowseed)
Wybacz za dygresję, ale sam sobie taką firmę wybrałeś... Co więcej, jak sam zauważyłeś (a może tylko ja zauważyłem w Twoich słowach), jest nisza, a to chyba dobrze. Trochę mnie poruszyła Twoja wiadomość- tak jakby w całym Lublinie byli sami nieudacznicy którzy tworzą strony w programie Word97. Faktycznie, sporo zdolnych ludzi emigruje, ale znam też wielu którzy zostali i dobrze sobie radzą. To, czego nie lubię, to budowanie stereotypów, a to właśnie tutaj się dzieje. To takie nieeleganckie, nie uważasz?


W moim przypadku sam sobie firmy nie wybrałem - firma wybrała mnie. Z wykształcenia jestem elektronikiem, marne miałem szanse na znalezienie pracy jako programista bez niczego ot tak dlatego znalazłem staż. Staż się skończył a mi zaoferowali pracę właśnie za 1600zł więc cóż miałem uczynić? Nie znajdę pracy z niespełna rocznym doświadczeniem zawodowym w Lublinie...

Jest ciężko rodzinę z tego utrzymać ale liczę że się poprawi, poza tym lubię swoją pracę, nie jestem klepaczem kodu - robię najbardziej skomplikowane skrypty a jak mam do klepania kod to mogę zrzucić na praktykantów (nie robię tego często).

Nie chciałem żeby z mojego posta wynikało, że w Lublinie są sami nieudacznicy, powierzchownie opisałem sytuację dlatego tak zabrzmiało - nie chciałem się bez powodu rozwijać ale na prawdę nie jest tu za ciekawie.

Też wolałbym zostać w moim mieście i dobrze sobie radzić, po co emigrować jak nie ma potrzeby? Ale właśnie potrzeba jest... Pisał ktoś że ofert jest wiele - 3000zł itd ale na każde takie ogłoszenie przypada wielu programistów. Pewnie, że chciałbym lepiej płatną pracę ale z niespełna rocznym doświadczeniem zawodowym mam marne szanse.
Orzeszekk
Cytat(Adi32 @ 6.01.2012, 16:27:24 ) *
W moim przypadku sam sobie firmy nie wybrałem - firma wybrała mnie. Z wykształcenia jestem elektronikiem, marne miałem szanse na znalezienie pracy jako programista bez niczego ot tak dlatego znalazłem staż. Staż się skończył a mi zaoferowali pracę właśnie za 1600zł więc cóż miałem uczynić? Nie znajdę pracy z niespełna rocznym doświadczeniem zawodowym w Lublinie...

Jest ciężko rodzinę z tego utrzymać ale liczę że się poprawi, poza tym lubię swoją pracę, nie jestem klepaczem kodu - robię najbardziej skomplikowane skrypty a jak mam do klepania kod to mogę zrzucić na praktykantów (nie robię tego często).

Nie chciałem żeby z mojego posta wynikało, że w Lublinie są sami nieudacznicy, powierzchownie opisałem sytuację dlatego tak zabrzmiało - nie chciałem się bez powodu rozwijać ale na prawdę nie jest tu za ciekawie.

Też wolałbym zostać w moim mieście i dobrze sobie radzić, po co emigrować jak nie ma potrzeby? Ale właśnie potrzeba jest... Pisał ktoś że ofert jest wiele - 3000zł itd ale na każde takie ogłoszenie przypada wielu programistów. Pewnie, że chciałbym lepiej płatną pracę ale z niespełna rocznym doświadczeniem zawodowym mam marne szanse.


jak liczylismy oferty kiedys to na 3 oferty dla programisty w lublinie jest 30 we wroclawiu albo w gliwicach
erix
Cytat
ile z nas bedzie pisalo graficzne enginy? pomijajac juz fakt ze nic w kierunku graficznych enginow nie zrobilismy, tylko nap...lamy czysto abstrakcyjne całki...
przeciez jak temu jednemu %1 bedzie cos takiego kiedys potrzebne to usadzie, posiedzi nad tym tydzien i zapoozna sie z potrzebna mu teoria.. skoro na studiach studiowal sam to chyba nie zapomnial jak sie to robi? informatyk uczy sie przez cale zycie. zreszta jak ja sie bawilem pisaniem bardzo prostego silnika graficznego to nie znalem wcale algebry liniowej i wcale mi to nie przeszkadzalo, gdyz zapis informatyczny tych wszystkich wektorow i macierzy jest duzo bardziej intuicyjny niz prowadzenie dzialan na wzorach matematycznych.

To w takim razie niczego niech nie uczą, bo to się nikomu nie przyda, bo jeden będzie wolał X, drugi Y.

Nie mam zamiaru się z Tobą kłócić; ja Ci opowiadam, jak wygląda wszystko z mojej perspektywy i o ile na samym początku drogi też się sprzeczałem w podobny sposób, co Ty teraz, to po jakichś 7 lat doświadczenia z PHP mogę z czystym sumieniem stwierdzić, że część z tego wszystkiego się przyda.
Orzeszekk
Nom, proste smile.gif bo w koncu wyjdzie nam flamewar a nie o to chodzi. i tak sie juz dowiedzialem tego czego chcialem wiec temat sie wyczerpał.
nasty
Orzeszekk, a teraz to juz zaczynasz troszke bez sensu mowic jesli chodzi o zbednosc wiedzy o podstwacha jakie rzadza komputerem. Erix ma racje w tym wypadku.
Programowanie to nie tylko www i nie tylko $controller->redirect('/login');

Uświadomie Ci na prostym przykładzie w jak wielkim jesteś błędzie i jak mało możesz zajść w świecie programowania bez solidnych fundamentów - właśnie tych nudnych wykładów.
Rzuć okiem na ten kawałek kodu:

Kod
#include <string>
#include <iostream>

#include <Windows.h>

int* data;
const int data_size = 100000000;
const int plevel = 4;

struct padded_counts {
    int count;
    char padding[60];
};

int counts[plevel];
padded_counts pcount[plevel];

DWORD __stdcall thread_logic1(void* arg)
{
    int thnum = reinterpret_cast<int>(arg);
    int chunk_size = data_size / plevel;
    int start = chunk_size * thnum;
    int end = start + chunk_size - 1;
    counts[thnum] = 0;
    
    for(int i = start; i < end; i++)
        if(data[i] < 10)
            ++counts[thnum];

    return 0;
}


DWORD __stdcall thread_logic2(void* arg)
{
    int thnum = reinterpret_cast<int>(arg);
    int chunk_size = data_size / plevel;
    int start = chunk_size * thnum;
    int end = start + chunk_size - 1;
    pcount[thnum].count = 0;
    
    for(int i = start; i < end; i++)
        if(data[i] < 10)
            ++(pcount[thnum].count);

    return 0;
}

void prepare_data()
{
    data = new int[data_size];
    std::cout << "Preparing data..." << std::endl;
    for(size_t i = 0; i < data_size; i++)
        data[i] = rand()%1000;
    std::cout << "Data ready" << std::endl;
}

double one()
{
    LARGE_INTEGER start, end, freq;
    HANDLE threadsHandles[plevel];
    double tm = 0;

    QueryPerformanceFrequency(&freq);

    memset(counts, 0, plevel * sizeof(int));
    QueryPerformanceCounter(&start);
    
    for(int i = 0; i < plevel; i++)
        threadsHandles[i] = CreateThread(NULL, 0, thread_logic1, reinterpret_cast<void*>(i), 0, NULL);
    WaitForMultipleObjects(plevel, threadsHandles, TRUE, INFINITE);
    
    QueryPerformanceCounter(&end);
    tm = ((double)(end.QuadPart - start.QuadPart) / ((double)freq.QuadPart / 1000));
    std::cout << tm << " milliseconds." << std::endl;
    
    for(int i = 0; i < plevel; i++)
        std::cout << "counts[" << i << "]: " << counts[i] << std::endl;
    return tm;
}

double two()
{
    LARGE_INTEGER start, end, freq;
    double tm = 0;
    HANDLE threadsHandles[plevel];

    QueryPerformanceFrequency(&freq);

    memset(counts, 0, plevel * sizeof(int));
    QueryPerformanceCounter(&start);
    
    for(int i = 0; i < plevel; i++)
        threadsHandles[i] = CreateThread(NULL, 0, thread_logic2, reinterpret_cast<void*>(i), 0, NULL);
    WaitForMultipleObjects(plevel, threadsHandles, TRUE, INFINITE);
    
    QueryPerformanceCounter(&end);
    tm = ((double)(end.QuadPart - start.QuadPart) / ((double)freq.QuadPart / 1000));
    std::cout << tm << " milliseconds." << std::endl;
    
    for(int i = 0; i < plevel; i++)
        std::cout << "counts[" << i << "]: " << pcount[i].count << std::endl;
    return tm;
}

int main(int argc, char* argv[])
{
    prepare_data();
    
    double one_sum = 0, two_sum = 0;
    for(int i = 0; i < 100; i++)
        one_sum += one();
    for(int i = 0; i < 100; i++)
        two_sum += two();

    std::cout << "one: " << one_sum / 100 << std::endl;
    std::cout << "two: " << two_sum / 100 << std::endl;
    return 0;
}


Czemu w przypadku drugiego wariantu implementacji two/thread_logic2 wydajnosc wzrasta srednio o 15%-25% wzgledem one/thread_logic1 na procesorach intel-a?
Bez tej wiedzy o ktorej mowisz, nigdy nie zrozumiesz tego. Co oznacza, ze nigdy nie bedziesz potrafil porzadnie zoptymalizowac jakikolwiek algorytm...
rzymek01
Zapewne, jak wskazuje zmienna padded, zmienna jest przesunięta do całkowitych wielokrotności liczby 32, (być może w innych przypadkach jest 64),
tak aby ilość nietrafionych żądań procesora była jak najmniejsza, bo procesor zawsze pobiera cały wiersz (np. te 32B )

ale nigdy w życiu nie dowiedziałbym się tego z wykładu*, tylko z książki

*tak sądzę, patrząc obecnie na poziom (1 sem), ale nie miałem jeszcze architektury to w sumie nie mogę tak powiedzieć, bo może akurat będzie biggrin.gif
ixpack
Cytat(nasty @ 8.01.2012, 06:18:34 ) *
Czemu w przypadku drugiego wariantu implementacji two/thread_logic2 wydajnosc wzrasta srednio o 15%-25% wzgledem one/thread_logic1 na procesorach intel-a?
Bez tej wiedzy o ktorej mowisz, nigdy nie zrozumiesz tego. Co oznacza, ze nigdy nie bedziesz potrafil porzadnie zoptymalizowac jakikolwiek algorytm...

Sam to wymyśliłeś, czy przepisane z jakichś zadań wink.gif
nasty
Cytat(rzymek01 @ 8.01.2012, 11:28:41 ) *
Zapewne, jak wskazuje zmienna padded, zmienna jest przesunięta do całkowitych wielokrotności liczby 32, (być może w innych przypadkach jest 64),
tak aby ilość nietrafionych żądań procesora była jak najmniejsza, bo procesor zawsze pobiera cały wiersz (np. te 32B )

ale nigdy w życiu nie dowiedziałbym się tego z wykładu*, tylko z książki

*tak sądzę, patrząc obecnie na poziom (1 sem), ale nie miałem jeszcze architektury to w sumie nie mogę tak powiedzieć, bo może akurat będzie biggrin.gif


Blisko ale nie do końca wink.gif

Tutaj ta optymalizacja sprowadza się do tego jak zbudowane jest cache L1, L2 i L3 w procesorach intel-a.
Każdy procesor ma swoją prywatną pamięć cache L1 - jej rozmiar jest zależny od procesora, ale na moim komputerze jest ona wielkości 64KB, 32KB na instrukcje i 32KB na dane. Te 32KB na dane są podzielone na coś co się nazywa cache line i jest to wielkości 64 bajtów. Cache L2 jest współdzielona pomiędzy sąsiadującymi procesorami "chipmate" a L3 wspólna dla wszystkich procesorów. Działa w taki sposób, że dane najpierw są czytane do cache L3 a potem do L2 aż w końcu do L1.

Jak procesor stara się odczytać jakiś adres pamięci który został wcześniej załadowany do L2, to sprawdza dwie rzeczy:
1. czy ta wartość jest załadowana do L1? - jeśli nie to ją ładuję.
2. jeśli jest załadowana, to sprawdza czy inny procesor nie załadował tej samej pamięci i jej nie zmodyfikował. Jeśli ten test wyjdzie pozytywnie, to oznacza, że oba procesory muszą się synchronizować, zwrócić najnowszą wartość do L2 i ponownie ją załadować do L1.
jak wcześniej wspomniałem, L1 operuje na jednostkach zwanych cache line - 64 bajty, czyli zmiana jakiegokolwiek obszaru w tym całym cache line, powoduje, że cały line jest traktowany jako zmieniony i musi się ponownie synchronizować.
Teraz.. w przypadku kiedy wszystko jest zapisane w tablicy int[4] - to całkowity rozmiar tej struktury jest 4 x4 = 16 bytów i gdy którykolwiek z wątków na którymkolwiek procesorze zmienia jakąkolwiek wartość na tej tablicy to całe 64 bajty są do "wymiany" i temu każda zmiana wartości powoduje to, że musimy synchronizować L1 z L2 za każdym razem, co oznacza zapisywanie 64 bajtów, i wczytywanie od nowa na każdym z procesorów.

padded_count ma 60 elementowy char tam, zeby suma jednego elementu tej struktury byla 64 (char:60 + 4 na inta) bajtowa, wtedy każdy element okupuje inny cache line, i zmiany na tych elementach dla każdego procesora nie wpływają na inne procesory.

To jest nic innego jak AK i model CTA i dwuwarstwowy model pamięci: tu.

Tak więc - studia są potrzebne informatykom. A jesli nie studia, to przynajmniej we własnym zakresie przerobić materiał ze studiów ;-)

Cytat
Sam to wymyśliłeś, czy przepisane z jakichś zadań?

To akurat z doświadczenia. Mieliśmy kiedyś podobny problem w pracy z takim jednym mechanizmem kolejkowania który musiał działać ultra-szybko. Gdyby jednak nie to, że byłem świadom tego jak działają te pamięci procesora to nawet bym nie wiedział o istnieniu tej metody optymalizacji. A świadomość tego bierze się z wykładów / lektury smile.gif
Na blogach nikt nie piszę o "interesujących" rzeczach smile.gif
ixpack
Cytat(nasty @ 8.01.2012, 10:55:39 ) *
Tak więc - studia są potrzebne informatykom. A jesli nie studia, to przynajmniej we własnym zakresie przerobić materiał ze studiów ;-)

Dobre.
Jabol
Cytat(Orzeszekk @ 6.01.2012, 02:40:13 ) *
tylko ze z metodami numerycznymi jest taki psikus, ze dostajesz wzory i teorie, a jak tą transformate fouriera wyliczyc to musisz sobie jeszcze rozwiązać parę całeczek na karteczce smile.gif i dopiero zaimplementowac. więc nie jest zdaj zakuj zapomnij zapij z tą matmą, tylko na studiach jest caly czas tworzone sztuczne zapotrzebowanie na nią.

wiec skoro każdy po studiach umie zaimplementowac transformate fouriera samemu (bo jest uzywana w jpg), to dlaczego nie znam nikogo kto by pisał własny kodek JPG? smile.gif Dlaczego MATLAB zamiast mieć własne implementacje tych metod numerycznych korzysta z gotowej biblioteki maths costam? smile.gif no chyba ze to tworcy matlaba wypuscili ta biblioteke, ale o tym informacji nie bylo - szukajac rozkminionych wzorów na tr. fouriera natknalem sie na wzmianke ze jest swietna biblioteka do tego w C, a rekomendacja bylo ze korzysta z niej matlab.

Po pierwsze JPG nie korzysta z FFT. Skoro te Twoje studia takie szerokie i ogólne powinieneś wiedzieć. Po drugie a co jeżeli byś chciał zmodyfikować JPG pod własne potrzeby?

Przyznam, że implementacja FFT to troszkę strata czasu. Ale kto wie, może kiedyś będziesz pisał własny kodek i przyda Ci się jakaś inna transformacja, która nie jest nigdzie zaimplementowana a doświadczenia z pisania FFT pomogłyby Ci zaimplementować ją optymalniej?

Na studiach nie implementuje się czegoś po to by wiedzieć jak to zaimplementować, tylko po to by wiedzieć jak implementować i obchodzić się z podobnymi problemami. My na przykład implementowaliśmy JPG i dzięki temu wiem gdzie są słabe punkty JPG, jak sprawdzić czy ten standard w ogóle przyda się przy kodowaniu takich a nie innych grafik a jeżeli to jak napisać inny optymalny kodek. Nie myśl tylko o tym co robisz, ale też o tym, jakie to ma znaczenie i jakie z tego możesz wyciągnąć wnioski.

O algebrze liniowej oraz analizie nawet nie będę wspominał, bo gdy zaczniesz programować problemy obchodzę się z prawdziwymi danymi ze świata (grafika, dźwięk) po prostu nie ma wyjścia - musisz umieć je opisać z nimi pracować i wież mi lub nie, nie ma lepszego sposobu opisu niż matematyczny z wektorami, matrycami, całkami i różniczkami.
Orzeszekk
ee tam.

Jak bede musial przerobic jpg pod swoje potrzeby to co mi szkodzi zglebic dopiero wtedy temat? wątpie by kiedykolwiek taka potrzeba się zresztą pojawiła. ale skoro czy na studiach czy po za nimi uczysz sie sam to i wtedy i wtedy powinienes dac rade.
jesli faktycznie trafie do az tak niskopoziomowej pracy, to na pewno zgłębie temat, mozesz byc tego pewien smile.gif

co do fouriera masz racje, pomylilo mi sie z dct. transformaty fouriera uzywal jakis inny popularny algorytm ktorego juz nie pamietam.
a ze na zajeciach byla transformata fouriera to skojarzylo mi sie to z jpg. i nawet poimplementowaliśmy smile.gif

tak dla sprostowania, na studiach nie bylo nic zwiazanego z JPG. Nie padlo nawet takie haslo - teraz opowiemy sobie o tym jak dziala algorytm kompresujacy JPG. jakby był, to by było fajnie. Ale za to umiem (umiałem) obsługiwać oscyloskop smile.gif To było na studiach.

z tego co mi wiadomo i co przeczytalem nawet na tym forum od jego "bossów" to optymalizuje sie głównie złożoność obliczeniową, dając fory na to ile trwają poszczególne instrukcje. No, ale, różni są ludzie. Znam takich co twierdzą że java, C# i python są kompletnie bezuzyteczne bo nie są kompilowane natywnie. Zalezy co kto lubi - tworzyc funkcjonalnosc albo babrac sie w assemblerze zeby sie wykonalo 5% szybciej.

wiedza ktora byla na "nudnych wykladach" w zaden sposob nie pomaga rozwiazac zagadki z C++ zaproponowaną przez nasty smile.gif na pewno nie na moich. zresztą odpowiedź już padła więc nie rozwiązuję. Nie przepadam za C++ i nawet nie chce mi sie na to patrzeć biggrin.gif
Tamten wykład jest z MIT. Jak masz /miales takie rzeczy na studiach to albo trafiles na dobra uczelnie albo na dobrego profesora.
thek
Nie zapominajmy, że gdy mowa o JPG to DCT tyczy się tylko podstawowego algorytmu. Gdy sięgamy do jpeg2000 zapomnijcie o niej, a skoczcie ku falkom, czyli wavelet wink.gif
melkorm
@nasty Może i masz rację, ale spójrzmy na `problem` uczelni trochę z innej strony.

Mianowicie, większość moich zajęć wyglądała w sposób taki iż wykładany był nam pewien zakres materiału i nic poza tym - tak zwane 4xZ Zakuć, Zdać, Zapić i Zapomnieć smile.gif I to mnie najbardziej boli - ok elementarna wiedza - spoko, czyli jakieś starsze rzeczy na których wzorują się nowsze (jak przykład z FFT) ale moim zdaniem do tego powinno być dorzucone jak szukać informacji po co i jak ją wykorzystać, tak na prawdę po studiach (nie mówię że wszystkich) zostawia się nas z pewną wiedzą i tylko wiedzą, praktycznie z żadnymi umiejętnościami wykorzystania i poszerzania zdobytej wiedzy. Brak w całym programie nauczania czegoś co by pchało tych małych głodnych i biednych studenciaków do poszerzania wiedzy zdobytej na uczelni bo teraz przy takim sposobie nauczania jest to niemożliwe bo trzeba wykuć zadany materiał i tyle.

@nasty, co do Twojego przykładu jeszcze, szczerze wiedzę która przedstawiłeś powiedzmy że mam i zostałem tego nauczony na ASK - ale szczerze, gdybym miał taki problem i tak bym szukał rozwiązania bo to że taki przypadek akurat miałem omówiony na studiach to jest jak raz tysiąc studentów.
rzymek01
@nasty, dzięki za szczegółowe wyjaśnienie,
z tego co przedstawiłeś od razu wynika również dlaczego 2x2GHz != 4GHz smile.gif

a spotkałem się z tym sposobem w jednej z książek, gdzie implementowane było własne zarządzanie pamięcią w c++, tzw. pule pamięci, pod kątem gry
athabus
@melkorm - ze studiami jest zazwyczaj tak, że będąc na nich najmniej spodziewasz się co Ci się może w życiu przydać. Ja np. kończyłem studia ekonomiczne i najśmieszniejsze jest to, że obecnie najbardziej przydają mi się te przedmioty, które kiedyś uważałem za poboczne - np. podstawy prawa, logistyka etc.
Kiedyś dyskutowałem na ten temat z kolegą, czy warto było się kształcić, czy trzeba było od razu otwierać firmę. Co prawda nadal uważam, że studia w moim przypadku były błędem, ale powiedział mi on, coś co po przemyśleniu ma sens - na studiach liźniesz wiele dziedzin pobieżnie i w razie czego wiesz gdzie mniej więcej szukać. W sumie ma w tym wiele racji. Często wiem rzeczy, których ludzie normalnie nie wiedzą mimo, że prowadzą firmy od lat. Nawet jeśli nie znam zagadnienia dogłębnie to zawsze coś tam dzwoni i wiem gdzie szukać.

Odnosząc to do studiów informatycznych myślę, że jest tak samo. Często uznaje się, że lepiej uczyć się w domu, ale ucząc się w domu nie natrafisz na pewne zagadnienia bo nie będą one dla Ciebie interesujące - potem okaże się, że jednak mogłyby Ci wiele ułatwić. Ja np. jestem informatycznym samoukiem i mimo, że coś tam potrafię sklecić, to często widzę, że mam braki w elementarnych podstawach. O ile jeszcze w php to nie stanowi wielkiego problemu, to przy innych językach mogłoby być niewesoło.
nasty
Niech ktoś doda na forum opcje dodawanie plusów/minusow dla danej odpowiedzi smile.gif
Bo np. athabusowi dalbym plusa teraz wink.gif

Cytat(rzymek01 @ 9.01.2012, 18:13:36 ) *
@nasty, dzięki za szczegółowe wyjaśnienie,
z tego co przedstawiłeś od razu wynika również dlaczego 2x2GHz != 4GHz smile.gif

a spotkałem się z tym sposobem w jednej z książek, gdzie implementowane było własne zarządzanie pamięcią w c++, tzw. pule pamięci, pod kątem gry

A 2x2GHz != 4GHz z powodu prawa Amdahl-a smile.gif
Orzeszekk
mysle ze w trakcie tej dyskusji bardzo odbieglismy od jej tematu smile.gif

na poczatku dyskusja byla czy studia gdzie zamiast informatyki uczysz sie jakiegos szajsu a te studia sie nazywaja informatyka, są cos warte, dyskutowalismy o tym szajsie. z czasem zeszlismy na temat czy w ogole studia z informatyki (te dobre) są potrzebne. i to jest błąd tongue.gif

ja np poszedlem sobie wczoraj na wyklad z inzynieri oprogramowania, i sie dowiedzialem w jaki sposob silniki bazy danych składuja dane na dysku smile.gif to akurat mi sie przyda na pewno i pan profesor udzielil mi specjalnego wyjasnienia z racji ze nie bylem na poprzednich wykladach. (nie to zebym byl leniwy, ale jak jestem pozwalniany z cwiczen na poniedzialek i wtorek, wykladow poza io ciekawych nie ma, to instynkt samozachowawczy podpowiada by sie nie wyrywac w swiat w poniedzialek i wtorek.)

co mi sie nie podobalo? 1. zrobił listę. robienie tych list i faworyzowanie osob chodzacych na wyklady nie jest niczym fajnym.
2. nie podoba mi sie to ze takich przedmiotow jak ten, na ktore warto pojsc jest zazwyczaj jeden na semestr. bo chociaz cwiczenia z tego przedmiotu sa bardzo slabe to wyklad jest ok. co prawda na IO sie spodziewalem czego innego, zastanawiam sie co bedziemy robic na bazach danych na nastepnym semestrze skoro na IO byly same bazy, ale i tak ok tongue.gif
gdyby wszystkie podobnie wygladaly to bym chodzil na wszystkie. bo posiedziec i posluchac to fajna rzecz, dostac wiedze na tacy.

a oni nie dosc ze robią takich przedmiotow mało, to zazwyczaj je dadzą w jakiś idiotyczny termin, np pon 8:00 biggrin.gif
thek
Na bazach będziesz miał pewnie to co ja miałem, czyli wyjaśnianie co jak działa i różnice pomiedzy przykładowo różnymi rodzajami złączeń, o uprawnieniach, perspektywach (aka widokach), potem pewnie wejdziecie głebiej i się zaczną wyzwalacze, procedury i tak dalej. Coś, co w pracy webmastera na pewno sie przydaje smile.gif Ja trochę żałuję, że siedziałem mocno w pierwszej części, za to triggery i inne mechanizmy sobie olałem. W pracy znajomość tych mniej powszechnych mechanizmów się przydaje. Funkcja po stronie silnika bazy jest bowiem znacznie wydajniejsza niż kombinowanie po stronie skryptu z: zapytanie->obróbka skryptem->ponowne zapytanie obrobionymi danymi. Zwłaszcza gdy baza danych i serwer aplikacji są na różnych hostach.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.