GRY-Online.pl --> Archiwum Forum

Podstawy programowania a znajomosc matematyki

08.08.2008
13:31
[1]

Mydełko_FA [ Pretorianin ]

Podstawy programowania a znajomosc matematyki

Czy musze byc super, hiper, geniusz z matematyki aby nauczyc sie podstaw programowania ?
Jestem humanista, ale nie jest powiedziane ze humanista musi byc przywiazany sztywnie do swojej dziedziny.
Jednak nie chce sie porywac z motyka na slonce. Jest sens w ogole zaczynac ? Jestem totalny laik. Z matmy nie bylem beztalenciem, ale nie przykladalem sie a w matmie z tego co pamietam w LO podstawa to byly cwiczenia, cwiczenia i jeszcze raz cwiczenia.

Od czego zaczac ? Basic ? Czy od razu C++ ? Moze jakis inny jezyk ?

Nudzi mi sie i zamiast marnowac czas na grach pouczylbym sie czegos dzieki czemu moge potrenowac swoj umysl.

08.08.2008
13:37
[2]

maviozo [ Man with a movie camera ]

Przede wszystkim logiczne myślenie. Oraz pisanie wzorów które w pętlach wykonują takie obliczenia jak trzeba.

Ja zaczynałem od JS (który składnię ma zbliżoną do C)
Ale specem nie jestem, próbowałem sobie coś pisać, uczyć się samemu z jakichś lekcji ściągniętych z netu. Doszedłem do 14 lekcji (z 33). Zatrzymałem się na wskaźnikach. Może nie dlatego, że nie umiałem z nich korzystać, moje odwieczne pytanie brzmiało "po co"?;) A potem pojawiły się inne zajęcia i tak przeminęło.

08.08.2008
13:38
[3]

cotton_eye_joe [ maniaq ]

nie, znajomosc matematyki nie jest wymagana (chyba ze chcesz pisac matematyczne aplikacje). bardziej logiczne myslenie i "wyobraznia informatyczna"

08.08.2008
13:43
[4]

Raf [ Pretorianin ]

Hmmm, najrozsądniej byłoby zacząć od C, żeby właśnie opanować idę wskaźników i zarządzania pamięcią.

Jednak jak rozumiem nie zamierzasz z programowaniem wiązać swojej kariery;) stąd możesz sobie zacząć od Javy lub C#. Są to zarządzanie języki, w których pisze się bardzo przyjemnie i dość szybko można mieć jakiś efekt;) Do obu możesz pobrać darmowe IDE, więc też nie ma problemu.

A co do matematyki, to przydaje się, ale jak potrafisz logicznie myśleć to podstawy opanujesz :)

08.08.2008
13:46
smile
[5]

darek_dragon [ 42 ]

Nie. Wystarczy znajomość podstaw logiki i trochę precyzyjnego myślenia. Nawet humaniści powinni sobie poradzić ;)

Ja osobiście polecam każdemu nauczyć się programowania od C. Wiele języków ma składnię stworzoną na jego podstawie - m.in. C++, Java, ECMAScript (czyli wszelkie JavaScripty, ActionScripty, itp.), PHP. No i jeżeli opanujesz dobrze C, to większość następnych języków będzie ci się wydawała prosta :)

W internecie znajdziesz sporo tutoriali (szczególnie, jeśli nieobcy ci język angielski), ale oczywiście najlepiej przejść się do księgarni i kupić dobrą książkę.

08.08.2008
13:53
[6]

wysiak [ Senator ]

maviozo -->
"Zatrzymałem się na wskaźnikach. Może nie dlatego, że nie umiałem z nich korzystać, moje odwieczne pytanie brzmiało "po co"?;)"
Domyslam sie, ze pisales o C++, nie o Javascrypcie?:) To swiadczy tylko dobrze o tobie, bo C++ z zalozenia powstal jako jezyk trudny, ciezki do zrozumienia i pelen wyjatkow, a te wszelkie pointery, referencje, sa tam tylko po to, by go maksymalnie skomplikowac:>

Zaczac najlepiej od C lub Pascala (tudziez Delphi), wzglednie Javy:)

08.08.2008
13:56
[7]

legrooch [ MPO Squad Member ]

bo C++ z zalozenia powstal jako jezyk trudny, ciezki do zrozumienia i pelen wyjatkow, a te wszelkie pointery, referencje, sa tam tylko po to, by go maksymalnie skomplikowac:>

Tru, true :) Po cholerę deklarować konstruktory itp, skoro można bardziej cywilizowanie Dispose'ować w normalnych językach? :)

08.08.2008
13:57
[8]

maviozo [ Man with a movie camera ]

wysiak->oczywiście że pisałem o C++ bo w JS w ogóle nie ma czegoś takiego:)

08.08.2008
13:58
[9]

Chudy The Barbarian [ Senator ]

Też wysiadłem na wskaźnikach przy nauce C++ . W Symfonii jednak nie jest tak świetnie wszystko objaśnione :/

08.08.2008
14:01
[10]

RockyX [ Konsul ]

Może wskaźniki, pamięć dynamicznie alokowana i inne "pierdoły" są trudne do zrozumienia, ale w niektórych przypadkach ZNACZNIE ułatwiają pracę. Wiem z własnego doświadczenia.

08.08.2008
14:04
[11]

maviozo [ Man with a movie camera ]

Rocky->po coś jednak je robili...:) dla takiego "bałaganiarza" jak ja, któremu po js bardzo trudno się przyzwyczaić do stawiania średników na końcu linii....są one jakoś niepotrzebne;)

08.08.2008
14:09
[12]

cotton_eye_joe [ maniaq ]

Też wysiadłem na wskaźnikach przy nauce C++ .

tak samo. java mi sie nawet podobala, bo tam nie ma tych glupot (a w zasadzie podobno wszystko to sa pointery), ale na szczescie nie zwiazalem sie z nia na dluzej

08.08.2008
14:18
[13]

Raf [ Pretorianin ]

cotton_eye_joe ->
"Też wysiadłem na wskaźnikach przy nauce C++ .
tak samo. java mi sie nawet podobala, bo tam nie ma tych glupot (a w zasadzie podobno wszystko to sa pointery), ale na szczescie nie zwiazalem sie z nia na dluzej"

Co dowodzi dlaczego trzeba zaczynać od C ;)

08.08.2008
14:20
[14]

RockyX [ Konsul ]

Skoro wydają ci się niepotrzebne, nikt nie rozkazuje ci ich używać. :P Po nauczeniu się teorii, także przez długi czas wydawały mi się niezrozumiałe i bezużyteczne. Jednak przy rozwiązywaniu pewnego problemu podczas programowania nieco bardziej zaawansowanej aplikacji, pomyślałem sobie: "W tym miejscu bardzo przydałby mi się wskaźnik...", więc używania tego typu narzędzi nauczyłem się "na gorąco". Być może z tobą będzie podobnie, jak ze mną.

Póki co, jeśli wydaje ci się, że poradzisz sobie bez nich - zapomnij o nich. ;P

08.08.2008
14:21
[15]

wysiak [ Senator ]

Raf --> Zaczynac od C, a pozniej przejsc na jakies sensowne, 'rynkowe' jezyki, C++ nie dotykajac nawet kijem:)

08.08.2008
14:24
[16]

Lutz [ Senator ]

pewne rzeczy czysto matematyczne sa bardzo potrzebne, na szczescie sa to gimnazjalne podstawy.

ja osobiscie polecam action script 3.0 bardzo nowoczesny jezyk i bedziesz mial prace od reki, jezeli sie okaze, ze to bylo to co chcesz robic.

08.08.2008
14:30
[17]

Raf [ Pretorianin ]

Wysiak -> Hehe ;) Oczywiście, jak ktoś lubi się męczyć to niech sobie pisze w C++, ale jak ktoś szanuje swój czas, to już nie za bardzo ;p

Ja tu nie chce nikogo denerwować, ale bez wskaźników to nawet zwykłej listy się nie napisze;) Bo oczywiście w standardzie nie ma wbudowanych struktur danych ;)

08.08.2008
14:33
[18]

Mydełko_FA [ Pretorianin ]

Lutz>>> Nie no na prace nawet nie licze bo bede mial czysto humanistyczne wyksztalcenie i zadnych papierkow zwiazanych z programowaniem. Na polibudzie nie zaczne drugiego kierunku bo wyzsza matma i fizyka wydaje mi sie nie do przejscia.

Chce sie jednak na troche oderwac od ustaw, polityki i podobnych pierdol. Od takie przewietrzenie umyslu. Pisac moge godzinami wiec wybor padl na programowanie.

08.08.2008
14:52
[19]

graf_0 [ Nożownik ]

Mydełko - moim zdaniem programowanie bardziej niż matematykę przypomina język obcy - uczysz się wyrażania myśli i pomysłów w inny sposób. W pewnym momencie zauważasz że brakuje ci jakiegoś słowa, albo masz braki w gramatyce i naukę Języka programowania rozwijasz.

Tak to wygląda przy rozwiązywaniu zadań i zabaw teoretycznych. Bo przy praktycznym - "produkcyjnym" środowisku sposób programowania się zmienia. Bardziej niż wyrażenie myśli przypomina to szukanie sensu w tym co wcześniej powiedział jakiś obcokrajowiec :)

08.08.2008
14:55
[20]

Sky Angel [ Konsul ]

Dla przykładu podam, że mam kumpla który teraz jest już chyba w 4 technikum na infie, z maty pisał komisa rok temu, a z np. programowania miał 6... więc nie ma rzeczy niemożliwych;d

08.08.2008
14:57
smile
[21]

maviozo [ Man with a movie camera ]

Nie do końca, bo to co dla Ciebie w obu językach jest jasne, dla tej cholernej pętli już nie jest...

08.08.2008
15:08
[22]

Lutz [ Senator ]

bo umiejetnosc konstruowania algorytmu jest duzo wazniejsza od znajomosci konkretnego jezyka programowania. Majac podstawy i potrafiac zrozumiec pewne naczelne zasady jakimi rzadzi sie programowanie. Praktycznie nie ma jezyka ktorego nie mozna sie nauczyc w ciagu dwoch tygodni.

najwiecej problemow z reguly jest z dodatkowymi bibliotekami, interfejsami obslugi IO itp.

08.08.2008
15:23
smile
[23]

maviozo [ Man with a movie camera ]

Stare, ale pasuje jak ulał:

Żona informatyka wysyła go po zakupy.
- Kup parówki, a jak będą jajka, to kup dziesięć.
Chłopina po wejściu do sklepu pyta:
- Czy są jajka?
- Tak - odpowiada sprzedawca.
- To poproszę dziesięć parówek.

08.08.2008
15:30
[24]

Katane [ Rainwalker ]

C jest moze i dobre na poczatek, ale istnieje ryzyko, ze odepchnie cie jego niskopoziomowosc (jak na jezyk wyoskopoziomowy). Osobiscie mysle, ze zaczecie od Javy/C# nie jest wcale zlym pomyslem - o ile motywuje cie np. zrobienie prostej aplikacji okienkowej w pol godziny :)

Wysiak --> C++ jest nadal mocno "rynkowy".

Raf --> Bo oczywiście w standardzie nie ma wbudowanych struktur danych ;)

STL nie jest w standardzie?

Smieszy troche ogolne polecanie C i odradzanie C++ np. ze wzgledu na wskazniki - przeciez w tym pierwszym nie da sie programowac bez uzycia pointerow.

08.08.2008
18:00
[25]

Raf [ Pretorianin ]

Katane -> Mówiąc o standardzie bardziej miałem na myśli ANSI C (w którym, z tego co pamiętam, nie ma gotowych bibliotek tego rodzaju), niż C++ ;)

Tzn. ja nie odradzałbym c++ ze względu na wskaźniki (których ideę trzeba jednak znać, aby dobrze poruszać się w innych językach programowania), a ze względu na "dzisiejszą" toporność obiektowości C++.

Jak ktoś chce się uczyć języka obiektowego, to jednak polecałbym C# albo Jave (nie należę do grona osób, które uparcie dowodzą wyższości jednego, nad drugim;) ).

08.08.2008
18:54
[26]

Katane [ Rainwalker ]

Mówiąc o standardzie bardziej miałem na myśli ANSI C (w którym, z tego co pamiętam, nie ma gotowych bibliotek tego rodzaju), niż C++ ;)

A, to sorry, nie doczytalem :D

Dodam jeszcze, ze wg mnie warto zajac sie od razu jezykiem obiektowym - wlasciwie to jedyne podejscie do programowania stosowane obecnie w szeroko pojetym biznesie.

08.08.2008
19:00
[27]

Lutz [ Senator ]

Katane, wlasnie dlatego wspomnialem wczesniej o AS3.0 to moim zdaniem bardzo mocna rzecz.

08.08.2008
23:47
[28]

Raf [ Pretorianin ]

Katane -> W sumie to i ja nie najlepiej się wyraziłem;)

A ja jednak zalecałbym spokojne podejście. Najpierw poznać czym jest programowanie strukturalne, bo jakoś nie wyobrażam sobie, że ktoś nie rozumiejący czym są struktury danych i funkcje zrozumie idę obiektów i metod (nie mówiąc już o polimorfizmie, interfejsach itp.).

Co do AS 3.0 to nie wiem jak wygląda, ale kiedyś miałem "przyjemność" bawić się którąś wersją i ta jego obiektowość była jakaś taka dziwna i naciągana ;p

09.08.2008
00:15
[29]

[dRaXer] [ Konsul ]

A i ja się o coś tutaj zapytam, może nawet odpowiedź dostanę. :)

wysiak: Zaczynac od C, a pozniej przejsc na jakies sensowne, 'rynkowe' jezyki.

Jakie są na dzień dzisiejszy 'rynkowe' języki?

09.08.2008
00:52
[30]

maVes [ Generaďż˝ ]

Czy musze byc super, hiper, geniusz z matematyki aby nauczyc sie podstaw programowania ?
- Nie musisz. Matma przydaje się w programowaniu, ale bez niej można się spokojnie obejść.

Jednak nie chce sie porywac z motyka na slonce. Jest sens w ogole zaczynac ?
- Wydaje mi się, że warto spróbować. A nuż cię to wciągnie na dłużej :)

Od czego zaczac ? Basic ? Czy od razu C++ ? Moze jakis inny jezyk ?
- To pytanie często pojawia się na innych forach. Niestety, nie ma na nie uniwersalnej odpowiedzi. Wszystko zależy od tego, co i w jakim czasie chcesz osiągnąć.

09.08.2008
01:00
[31]

albz74 [ Legend ]

Oczywiście , że może być Basic. Jedyne, czego wymaga od użytkownika to logiczne myślenie. I prawie wszystko jest obudowane bibliotekami - to, co w VB obsługuje się jedną metodą w C czasami wymaga napisania kilkunastu linii kodu.

Oczywiście , nie jest tak wydajny jak inne, bardziej skomplikowane języki, ale do nauczenia podstaw programowania w zupełności wystarczy.

09.08.2008
01:13
[32]

legrooch [ MPO Squad Member ]

[dRaXer] ==> coś .NETowego (VB, C#), Java

Oczywiście , nie jest tak wydajny jak inne, bardziej skomplikowane języki, ale do nauczenia podstaw programowania w zupełności wystarczy.
Oczywiście o ile programista bardziej skomplikowanego języka nie spierdzieli wydajnościowo odpowiednika gotowej funkcji w np VB.NET. A z tym bywa bardzo ciężko. Elementy .NETu są już tak zoptymalizowane, że ciężko osiągnąć coś wydajniejszego w "bardziej skomplikowanych językach". A to potrafi naprawdę pojedyńcza grupa ludzi na świecie.

Najlepsze przykłady to różnego rodzaju tablice/listy/słowniki bądź przeszukiwanie pełnotekstowe sporych fragmentów danych.

09.08.2008
01:33
[33]

Raf [ Pretorianin ]

legrooch -> Dokładnie, tym bardziej, że bardzo często od wydajności samej aplikacji liczy się bardziej czas w jakim można ją napisać.

Jeśli w dodatku piszemy w .NET, to sam język ma jeszcze mniejsze znaczenie, gdyż kod i tak jest kompilowany do kodu pośredniego, który to dopiero jest wykonywany.

09.08.2008
01:40
smile
[34]

legrooch [ MPO Squad Member ]

Raf ==> true :) Plus bogactwo przestrzeni, tworzenie własnych biblitoek, pełna obiektowość prosta jak konstrukcja cepa, szybkość tworzenia kodu, wydajność, wsparcie i dokumentacja dają u mnie .NETowi pierwsze miejsce w językach. No i oczywiście kasa, jaką można stłuc na nim (darmowe środowiska do użytku komercyjnego - Express)

I pieprz się pan teraz ze wskaźnikami i konstruktorami, jak na następny dzień ma być program gotowy :)

09.08.2008
01:46
smile
[35]

Raf [ Pretorianin ]

legrooch -> Dokładnie:) Choć inni mogliby to powiedzieć o Java'e ;) Więc jednym słowem można stwierdzić, że współczesne, zarządzane języki to duży krok naprzód w porównaniu do C++ ;)

09.08.2008
01:48
[36]

legrooch [ MPO Squad Member ]

Raf ==> Java ma dwa minusy - wymagany JRE do zainstalowania oraz wydajność. Tu .NET jest do przodu (integracja z systemami od czasu SP2 dla XP). To, że wychodzą kolejne wersje to inan sprawa :)

09.08.2008
01:52
[37]

Raf [ Pretorianin ]

legrooch -> (żeby nie było, ja pisze w .NET;p) ale dla neta musisz zainstalować framework'a, więc wychodzi na jedno. Co do wydajności, to jakoś nie czuję się na siłach, żeby to porównywać;) Mogę jedynie zgadywać, że pewnie samo GUI w .NET (przez lepszą integrację z windows'em) jest szybsze.

Pewnie zaraz się pojawią głosy, że Jave można uruchomić na innych systemach, co rzeczywiście jest zaletą, pytanie tylko ile systemów naprawdę tego potrzebuje;p

09.08.2008
04:48
[38]

Loczek [ El Loco Boracho ]

Możecie polecić jakąś dobrą książke do javy? Znam podstawy C++ i jeszcze z LO - Pascala :)

z góy dziękuje

09.08.2008
07:31
[39]

Moby7777 [ Generaďż˝ ]

Do Javy to chyba najlepiej wybrać Thinking in Java Bruce'a Eckela.

09.08.2008
08:26
smile
[40]

Regis [ ]

Ja bym rozwazyl jeszcze ta ksiazke:



Pierwszy tom tylko przejrzalem (wygladal ok), ale 'techniki zaawansowane' mam na polce i jest naprawde bardzo dobrze napisana, wiec pierwsza czesc pewnie tez jest dobra.

09.08.2008
08:35
[41]

Belert [ Senator ]

skoro tak piszecie to czemu w firmach sa zatrudniani inzynierowie i placa im ciezka kase a nie goscie po liceum z opanowanym c++, w sumie z tego co piszecie to mogliby byc nawet po gimnazjum

09.08.2008
11:03
[42]

Katane [ Rainwalker ]

Ksiazka ktora polecil Regis jest bardzo dobra, wg mnie duzo lepszy wybor niz Eckel.

09.08.2008
11:24
[43]

legrooch [ MPO Squad Member ]

Raf ==> Jak napisałem wyżej - .NET 1.0 masz od XP SP2 w górę. 2.0 jest w SP3. Czego chcieć więcej? Aktualnego systemu? :)

Co do innych systemów - mamy przecież Mono :) Więc w czym problem? :)

09.08.2008
11:35
smile
[44]

malyb89 [ 281-330-8004 ]

mały off

ludzie, o czym wy gadacie ?

09.08.2008
11:41
[45]

-imperator- [ ! ]

co do C++, to polecam oczywiście Symfonie C++ J. Grębosza - da się ją czytac chociażby dla rozrywki:)

i jeszcze jeden fajny tekst, mówienie ze java jest super bo działa na wielu platformach to jak twierdzenie, że seks analny jest super bo działa na każdej płci :)

09.08.2008
12:11
[46]

Lukxxx [ Generaďż˝ ]

A moim zdaniem logika i algebra w stopniu średnio zaawansowanym są mocno wskazane

09.08.2008
12:37
[47]

Novus [ Generaďż˝ ]

generalnie, matematyka wyższa jest wartością samą w sobie, wiec warto sie uczyc:) Ale polecam znajomość logiki matematycznej do nauki programowania. Tylko nie "logike" "Ziembinskiego" - totalny crap.

09.08.2008
12:43
[48]

Cainoor [ Mów mi wuju ]

Moim zdaniem osoby będące bardzo dobre z matematyki mają znacznie większą szanse zostać wybitnymi programistami. Np. najlepszy chyba kierunek informatyczny w Polsce, to połączenie informatyki i matematyki, czyli Jednoczesne Studia Informatyczno-Matematyczne na Wydziale Matematyki, Informatyki i Mechaniki UW.

09.08.2008
14:10
[49]

Raf [ Pretorianin ]

legrooch -> Hehe;) Żeby wszystko tak pięknie wyglądało:)

Belert -> Ponieważ programowanie, to dopiero początek:) Istnieje coś takiego jak metodyki wytwarzania oprogramowania, wzorce projektowe, zarządzanie projektem i wiele innych, które sprawiają, że jesteś w stanie napisać program, który ktoś będzie używał w "biznesie".

-imperator- -> Jakoś związku nie widzę...

Cainoor -> Fakt, ludzie po matematyce na pewno są świetni w bardzo szeroko ujętym temacie "pisania algorytmów". Ale czy są świetni na przykład w zarządzaniu projektami, to już można by dyskutować.

09.08.2008
14:21
smile
[50]

Regis [ ]

Cainoor --> "Np. najlepszy chyba kierunek informatyczny w Polsce,"

Wedle jakich kryteriow? Sredniej pensji absolwenta? ;) Bo przyznam szczerze, ze ja bym sie nie odwazyl porownywac rzeczy, ktorych sie zadnymi wymiernymi wskaznikami praktycznie porownac nie da ;)

A matematyke warto umiec, bo uczy ona pewnego sposobu myslenia i patrzenia na problemy (i logicznego myslenia w ogole). Ale znam sporo osob, ktore studiuja informatyke na najbardziej 'matematycznym' wydziale na PWr (WPPT) i wcale nie widac po nich tego, zeby matematyka im pomagala ;) Ogolnie rzecz biorac - nie generalizowalbym :P

09.08.2008
16:11
[51]

Belert [ Senator ]

moze to jest tak ze to cale wyksztalcenie potrzebne jest do tego zeby program byl zoptymalizowany.a nie tak jak nasze rodzime niektore produkcje vide Chrome.

09.08.2008
16:25
smile
[52]

Regis [ ]

Belert --> Biorąc pod uwagę, że trafiałem na wykładowców (na szczescie tylko dwoch), którzy WYMAGALI ode mnie umieszczania w programie pustych pętli, które nie robiły nic procz aktualizowania jakiegos fake'owego paska postepu, zeby program "Ladnie wygladal i pokazywal ze cos robi", to wcale bym nie byl tego taki pewien ;)

09.08.2008
18:40
[53]

legrooch [ MPO Squad Member ]

Raf => Środowiska klientów klasy średniej są już na ogół zarządzane administracyjnie i łatane po całości. Wiąże się to i z .NET Frameworkiem :) Może wyrażę to inaczej - znajdziesz ładne pareset procent więcej maszyn z .NETem (choćby ze względu na karty ATI) niż z JRE :)

Belert ==> Chrome jak na silnik pisany w Javie by bardzo zoptymalizowany. Uwierz na słowo :)

09.08.2008
19:06
[54]

Cainoor [ Mów mi wuju ]

Raf ---> Nikt o zdrowych zmysłach nie wymaga od programisty umiejętności zarządzania projektami.

Regis ---> Np. pod względem liczby wygranych konkursów informatyczno/matematycznych? Studenci UW z tego wydziału na całym świecie zdobywają nagrody i zajmują czołowe miejsca. Jak najbardziej da się porównywać najlepsze kierunki w Polsce pod tym względem. Jeśli chodzi o algorytmy, optymalizacje, wydajność, to dzięki dobrej znajomości wyższej matematyki można sprostać nawet bardzo wysokim wymaganiom stawianym przed programistami.

09.08.2008
19:27
[55]

legrooch [ MPO Squad Member ]

Cainoor ==> Project Manager powinien posiadać obydwie cechy :)

09.08.2008
19:52
[56]

Cainoor [ Mów mi wuju ]

legrooch - Hmm, nie do końca się z tym zgadzam. Zarządzanie projektami nie wymaga w mojej opinii znajomości programowania. Chociaż z drugiej strony uważam, że taka wiedza może być czasami bardzo pomocna :-)

09.08.2008
19:58
[57]

legrooch [ MPO Squad Member ]

Project Manager związany z projektami developerskimi bez znajomości programowania będzie guzik wiedzieć co i jak chlopaki robią, ile czasu się opieprzają, ile jest potrzebne na zmiany itd :)

09.08.2008
20:03
[58]

Raf [ Pretorianin ]

legrooch -> Pewnie tak:) Ale nie zapominajmy jedna jeszcze o "aplikacjach internetowych", które też się w javie pisze. Przy czym tak jak już pisałem, ja nie jestem fanatykiem żadnego z tych języków - oba mają swoje wady i zalety:)

Cainoor -> No tu to już bym polemizował. Zwróć uwagę na lekkie metodyki wytwarzania oprogramowania (XP, Scrum i ich pochodne). Dodatkowo często jednak lider zespołu programistów jest też project managerem.

Belert -> Nie oszukujmy się, przy typowych programach biznesowych optymalizacja nie ma takiego znaczenia i nikt nie będzie na to poświęcał zbyt dużych pieniędzy, bo tak naprawdę nie jest to potrzebne. W grach ma to znaczenie, ale gdzie indziej już nie tak bardzo.

09.08.2008
20:16
smile
[59]

Cainoor [ Mów mi wuju ]

Wg mnie wszystko zależy od wielkości projektu. Zgadzam się, że przy małych projektach, często to programiści sami sobą zarządzają, lub szef sam był kiedyś programistą i mając pod sobą kilka osób może efektywnie nimi zarządzać. Jednak przy dużych projektach, gdzie struktura zespołu wdrożeniowego jest hierarchią składającą się z wielu poziomów, to jako project manager im wyżej jesteś, tym mniej musisz wiedzieć o programowaniu. Więcej wymaga się czy to tzw. umiejętności miękkich, czy też typowej wiedzy z obszaru zarządzania projektami (do zadań takiej osoby należą kontakty z klientami, z firmawmi podwykonawczymi, planowanie harmonogramu, budżetu, musi posiadać zdolności motywacyjne itp.). Estymaty co do tego co ile ma trwać opierasz albo na własnym doświadczeniu, albo na doświadczeniu innych, albo zbierasz od swoich podwładnych, którzy z kolei zbierają od swoich. Chociaż rzadko ktoś pyta o zdanie programistów. W fazie projektu tzw. pre-release, gdy definiuje się plan wdrożenia, często udział biorą analitycy, ewentualnie projektanci. Programiści nigdy. Oczywiście w momencie, gdzie system jest już wdrożony, a planowane są jakieś rozszerzenia, to właśnie programiści decydują o tym co w ile zrobią. Jednak i wtedy project manager zbierze od nich informacje i albo ją zaakceptuje, albo wyjmie pare sobót z życiorysu biednym developerem skracając czas na wdrożenie o połowę ;-)

ps. Pisząc o programistach, mam na myśli faktycznie programistów. Takich co to znają każdą bilbioteke w .NET i Javie, ale już o metodyce RUP więdzą tyle, że znają rozwinęcie.

Moje motto: wąska specjalizacja kluczem do sukcesu :-)

Raf
"Nie oszukujmy się, przy typowych programach biznesowych optymalizacja nie ma takiego znaczenia i nikt nie będzie na to poświęcał zbyt dużych pieniędzy, bo tak naprawdę nie jest to potrzebne. W grach ma to znaczenie, ale gdzie indziej już nie tak bardzo. "

- Wg mnie jest zupełnie odwrotnie. Systemy obsługujące miliony użytkowników bez dobrej optymalizacji nie miałby racji bytu. A takie systemy spotykasz na każdym kroku. Czy to w bankach, czy też wyszukując tanie bilety samolotowe. Jeśli w grze będzie tzw. "przycięcie", to ktoś zaklnie pod nosem i tyle. Natomiast wyobrażasz sobie firmę, w której użytkownicy systemu nie mogą z niego korzystać, bo rejestracja tranzakcji trwa dłużej niż sekunde? Jej konkurencyjnośc spada na łeb, na szyje. (chociaż było też pare firm growych, które upadły wcześniej wypuściwszy bubla;-)

09.08.2008
20:27
[60]

legrooch [ MPO Squad Member ]

Cainoor ==> Jeżeli firma wymaga postępowania zgodnego z polityką jakości, MFC czy Prince2, to dotyczy to każdego. Nieważne, czy operuje on na kodzie w notatniku, czy jest programistą analitykiem.

09.08.2008
22:44
[61]

wysiak [ Senator ]

"Moje motto: wąska specjalizacja kluczem do sukcesu :-)"
Wielka pomylka, szczegolnie jesli chodzi o sukces jako programista. Choc oczywiscie kazdy moze co innego rozumiec przez 'sukces'.. W koncu do dzisiaj po co wiekszych firmach kreca sie brodacze w powyciaganych swetrach, jako jedyni wiedzacy cokolwiek o zaistalowanym 20 lat wczesniej systemie, ktorego kazdy inny boi sie w ogole dotknac, bo nie wie zupelnie jak ani dlaczego to dziala, nie mowiac o planach zastapienia go czyms innym.. Dzieki czemu 'waski specjalista' ma robote do emerytury..:>

Natomiast WSZYSCY szeroko pojeci programisci, ktorych kiedykolwiek poznalem - i ktorych moglbym nazwac dobrymi - znaja wiele systemow, jezykow programowania itp, a ich wspolna cecha jest PRZEDE WSZYSTKIM stale uczenie sie nowych rzeczy, z ktorymi sie stykaja, a nie hermetyczne zamykanie sie w swojej 'specjalizacji'.

A, i oczywiscie dobry projekt manager musi miec przynajmniej ogolne pojecie o tym, co robi kazdy czlonek zespolu, lub musi rozumiec, co opowiadaja mu team leaderzy (ktorzy musza juz doskonale wiedziec co kazdy z ich teamu robi). A im wiecej rozumie, tym lepszym jest projekt managerem.

10.08.2008
00:44
[62]

Raf [ Pretorianin ]

Cainoor
"Systemy obsługujące miliony użytkowników bez dobrej optymalizacji nie miałby racji bytu. A takie systemy spotykasz na każdym kroku. Czy to w bankach, czy też wyszukując tanie bilety samolotowe. Jeśli w grze będzie tzw. "przycięcie", to ktoś zaklnie pod nosem i tyle. Natomiast wyobrażasz sobie firmę, w której użytkownicy systemu nie mogą z niego korzystać, bo rejestracja tranzakcji trwa dłużej niż sekunde?"

Wyobrażam sobie. bo takich systemów jest pełno i ludzie ich używają z powodu braku innych rozwiązań (oczywiście istnieją dziedziny, które wymagają niezawodności, ale wówczas proces tworzenia takiego oprogramowania jest zupełnie inny.) Dodatkowo jak tak się rozejrzysz, to aż tak wiele systemów obsługujących miliony użytkowników nie ma, a jak są to spora ich część jest napisana w pradawnych językach;p

Dalej mówiąc o optymalizacji, zauważ że obecne zarządzane języki bardzo odciążają programistę, dodatkowo sporo poprawić może dobry kompilator.

Co do wąskiej specjalizacji to zgadzam się z Wysiem, że dobry programista powinien mieć wiele różnych doświadczeń i raczej stale pogłębiać swoją wiedzę, niż specjalizować się w jednym systemie. Dzisiaj jest w "modzie" język A, za 5 lat będzie B, a dobry programista powinien znać się na inżynierii oprogramowania, gdyż język jest tylko środkiem a nie celem.

Co do samego PM'a to jednak musi mieć wiedzę z zakresu wytwarzania oprogramowania.

Btw. Co do RUP, to uważam, że jest to całkowity przerost formy nad treścią i osobiście nie spotkałem się z firmą, która by to stosowała, gdyż więcej chyba by musieli płacić za pisanie dokumentów niż samego programu. Osobiście jestem zwolennikiem bardziej zwinnych metodyk (być może w naprawdę dużych projektach się nie sprawdzają - ale tu doświadczenie nie ma).

10.08.2008
11:11
[63]

Cainoor [ Mów mi wuju ]

legrooch
"Jeżeli firma wymaga postępowania zgodnego z polityką jakości, MFC czy Prince2, to dotyczy to każdego. Nieważne, czy operuje on na kodzie w notatniku, czy jest programistą analitykiem."
- Zgubiłem wątek. Co "dotyczy to każdego"? :-)

wysiak
""Moje motto: wąska specjalizacja kluczem do sukcesu :-)"
Wielka pomylka, szczegolnie jesli chodzi o sukces jako programista. Choc oczywiscie kazdy moze co innego rozumiec przez 'sukces'..
"
- Tu bardziej chodziło o inne znaczenie słów "wąska specjalizacja". Chodziło mi o nie mieszanie ról, jaką pełnią programiści w trakcie trwania projektu z innymi rolami (analityk, projektant, manager, tester itp.). O ile w mniejszych projektach programista może być jednocześnie wszystkim naraz, o tyle przy większych wymagane są umiejętności pozyskane właśnie w skutek specjalizacji w danej roli.

Poruszyłeś wysiu kwestię specjalizacji programisty w wąskim obszarze (czy to Java, czy np .NET) i pod tym względem także uważam, że dla potrzeb projektu taka specjalizacja może przynieść więcej korzyści. Bardzo trudno być specjalistą w kilku obszarach jednocześnie.

"A, i oczywiscie dobry projekt manager musi miec przynajmniej ogolne pojecie o tym, co robi kazdy czlonek zespolu, lub musi rozumiec, co opowiadaja mu team leaderzy (ktorzy musza juz doskonale wiedziec co kazdy z ich teamu robi). A im wiecej rozumie, tym lepszym jest projekt managerem."
- Jak najbardziej się z tym zgadzam. Uważam, że lepszym managerem projektów informatycznych będzie osoba po studiach technicznych, która dodatkowo zaliczyła np. MBA, niż ktoś po samym zarządzaniu. Jednak dyskusja wyszła od zdania, że project manager powinien posiadać umiejętności programistyczne, a wg mnie nie jest to niezbędne do prowadzenia nawet bardzo dużych projektów IT. Pytanie oczywiście co rozumiem pod pojęciem "umiejętności programistyczne". Dla mnie to coś więcej niż proste wykształcenie teoretyczne pobrane na studiach.

Raf
"Wyobrażam sobie. bo takich systemów jest pełno i ludzie ich używają z powodu braku innych rozwiązań (oczywiście istnieją dziedziny, które wymagają niezawodności, ale wówczas proces tworzenia takiego oprogramowania jest zupełnie inny.) Dodatkowo jak tak się rozejrzysz, to aż tak wiele systemów obsługujących miliony użytkowników nie ma, a jak są to spora ich część jest napisana w pradawnych językach;p"
- Systemy, które mają spełniać wymagania co do niezawodności (np. 99,99% uptime) projektowane są zazwyczaj przez ludzi o bardzo dużej wiedzy matematycznej, gdzie wymagane jest opisanie językiem matematycznym całego procesu rzeczywistego działania systemu, by potem można było to przełożyć zarówno na architekture techniczną, jak i software. Być może mam trochę zakrzywiony obraz takich złożonych systemów informatycznych (co do ich liczby), ale lwia część mojego doświadczenia została nabyta przy pracy z korporacjami. Praktycznie każda ma wdrożone skomplikowane systemy informatyczne, które mają wysokie wymagania co do liczby obsługiwanych użytkowników jednocześnie i czasu niezawodnej pracy (np. firmy telekomunikacyjne).
I teraz wyobraźmy sobie, że projektant takiego systemu przewidzał odpowiednio krótki czas odpowiedzi dla jednego z procesów i to jest właśnie zadanie programisty, żeby je spełnić. Bez znajomości matematyki może być ciężko, właśnie dlatego, że cała analiza algorytmów, programowanie współbieżne, systemy rozproszone, czy czasu rzeczywistego tak naprawde oparte są na matematyce. Co prawda chodzi mi bardziej o matematyczne myślenie, niż faktyczna wiedza na poziomie doktorów. Przyznam się, że w moim mniemaniu matematyka to królowa wszelkich nauk, a tych technicznych to już w szczególności :-)

Btw. Zgadzam się z Twoim twierdzeniem "że obecne zarządzane języki bardzo odciążają prograistę". Co i rusz pojawiają się nowe rzeczy ułatwiające życie programisty. I tak powinno być. Dzięki temu programista może skoncentrować się na czymś innym. Wąska specjalizacja ;-)

"Co do wąskiej specjalizacji to zgadzam się z Wysiem, że dobry programista powinien mieć wiele różnych doświadczeń i raczej stale pogłębiać swoją wiedzę, niż specjalizować się w jednym systemie. Dzisiaj jest w "modzie" język A, za 5 lat będzie B, a dobry programista powinien znać się na inżynierii oprogramowania, gdyż język jest tylko środkiem a nie celem."
- Możesz przeczytać ten fragment, który skierowałem do wysia. Na koniec dodam, że wg mnie bardzo cięzko jest być ekspertem w wielu dziedzinach naraz. Konkretyzując: dla projektu pisanego w języku A liczy się przydatność programisty pod tym właśnie względem i osoba mająca 5 lat doświadczenia w języku A, będzie miała zapewne większą wartość dodaną niż osoba, która to doświadczenie ma podzielone na 2.5 w A, 2.5 w B :-)

"Btw. Co do RUP, to uważam, że jest to całkowity przerost formy nad treścią i osobiście nie spotkałem się z firmą, która by to stosowała..."
- Ja znam. Np. IBM ;-) Jednak zgadzam się, że jest tam wiele procesów dla mnie zupełnie zbędnych. Na rynku jest trochę więcej metodyk, dodatkowo warto czasami być elastycznym i sztywno się pewnych wytycznych nie trzymać.

10.08.2008
11:15
smile
[64]

legrooch [ MPO Squad Member ]

Cainoor ==>Nevermind :) Zapędziłem się wczoraj na bani trochę :) Co innego zrozumiałem :)

10.08.2008
11:18
smile
[65]

Cainoor [ Mów mi wuju ]

Lol :-D Ja teraz na kacusiu na spokojnie klece odpowiedź i tak sobie myślałem... o co mu kurna chodzi :P

10.08.2008
12:31
smile
[66]

Raf [ Pretorianin ]

Cainoor
Ja znam. Np. IBM ;-)
Taaa, IBM to promuje jako właściciel Rationala, ale to prawie akademicki przykład;p Innych jakoś u mnie brak;)

10.08.2008
13:44
[67]

slowik [ NightInGale ]

ja standardowo polece python'a (jezyk swietny na sam poczatek oferujacy kilka paradygmatow programownia) znacznie przyjemniejszy od java i .net :)

dorzuce do tego lisp'a w ktorym pisza humanisci - opiera sie na funkcyjnym paradygmacie programownaia ktory jest dla mnie nie do konca jeszcze jasny ale jest bardzo wydajny i podobno swietnie sie w tym pisze

swoja droga pascal powinien zniknac ze sceny programowania dawno temu jesli ktos lubi jezyki o silnej typizacji polecam ada95 :)

10.08.2008
14:36
smile
[68]

legrooch [ MPO Squad Member ]

Cainoor ==> Ja prawie od dwóch tygodni mam pępkowe cały czas :)

11.08.2008
10:33
smile
[69]

Cainoor [ Mów mi wuju ]

legrooch - Oo, gratulacje! Wypijemy zdrówko na spotkaniu :-)

14.08.2008
23:21
[70]

Loczek [ El Loco Boracho ]

A jakiś podręcznik do c# ktoś moze polecic? :)

15.08.2008
19:47
[71]

Loczek [ El Loco Boracho ]

up

15.08.2008
19:55
[72]

Sir Skull [ Charr Shaman ]

Loczek --> Korzystaj z msdn, nic więcej nie potrzebujesz.

15.08.2008
20:07
smile
[73]

Regis [ ]

Loczek --> Ja polecam na start tę pozycję:



Ja też lubię mieć coś papierowego pod ręką, a ta książka zawiera wszystko co najistotniejsze - składnia, trochę o wątkach, wyjątkach, kolekcjach itp. Takie małe kompendium podstaw. A potem już tylko MSDN.

© 2000-2024 GRY-OnLine S.A.