Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Programowanie - od czego zacząć?
Forum PHP.pl > Inne > Hydepark
Kamil(ek)
Doszedłem do wniosku, że czas zacząć się uczyć także jakieś mniej 'webowskiego' języka programowania smile.gif . Jaki na początek nadaje się do tego najbardziej? Dużo osób mówi mi, żeby od Pascala - że najłatwiej na nim zacząć pracę, bo przejrzysty i łatwiej będzie przejść na 'głębokie wody' itp. następni, że od Delphi bo bardziej rozbudowany niż Pascal, a jeszcze inni, że nie ma sensu bawić się poprzednimi tylko od razu wziąć się za C++.

Od jakiego wg Was powinienem zacząć?

Aha, jak narazie to znam HTML'a, CSS, i php - gdyby to mogłoby w czymś pomóc.
dr_bonzo
Polecalbym na poczatek Pascala (nie koniecznie do poziomu zaawansowanego) -- chyba latwiejszy od C a nauczy cie porzadku, inicjowania zmiennych przed ich uzyciem itd. Potem C. I dalej to juz cokolwiek -- bedzie ci duzo latwiej.
tiraeth
Java, C# smile.gif Ja aktualnie uczę się C#, jak go opanuje b.dobrze to wezmę się za Javę biggrin.gif
Turgon
Polecam Ci odrazu C++ i jak chcesz C. Bo w Javie zaawansowanych aplikacji nie napiszesz.
scanner
Możesz uzasadnić swoją wypowiedź?
Turgon
W czym piszę się sterowniki etc. Scanner ?
sf
Cytat(Turgon @ 18.09.2006, 20:52:49 ) *
W czym piszę się sterowniki etc. Scanner ?


A jak to się ma do skomplikowanych aplikacji? snitch.gif Dla mnie skomplikowana aplikacja to np. Eclipse, Word, a nie jakiś sterownik, który się oprogramowuje na niskim poziomie... nie używa się tam szablonów, wyjątków, wzorców projektowych...
Turgon
Bo po co ? Tj. najczystsze programowanie sf.
Ace
Turgon: nie zgodze sie ze w java albo c# nie napisze zaawansowanej aplikacji winksmiley.jpg to jest tylko jezyk programowania, a jak go uzyjesz to inna kwestja. Zwroc uwage ze mozliwosci Java c# i c++ sa zblizone, to samo mozesz zrobic w kazdym z nich, beda sie roznic tylko wydajnoscia.

Poza tym sterownik jest zaawansowana aplikacja?
nospor
Ja nie polecam nauki od javy... porypany język, a jak siądzie na nią ktos kto początkujacy to wogole zalamka.

ps: przenosze
ps2: a moze to ja mam tylko uraz do javy bo mialem nauczyciela deb.... nie znajacego sie na rzeczy snitch.gif winksmiley.jpg
mike
Cytat(Turgon @ 18.09.2006, 18:43:02 ) *
Polecam Ci odrazu C++ i jak chcesz C. Bo w Javie zaawansowanych aplikacji nie napiszesz.

MEGA ROTFL

A może o razu cofnij się do assemblera.

Pierwsze dwa z brzegu: Zend Studio, Eclipse.
No chyba, że Eclipse nie jest wg. Ciebie zaawansowaną aplikacją.

~nospor chyba miałes kiepskiego nauczyciela, ja tam bardzo lubię Java.
Jojo
Jeśli znasz php, to nie polecam nauki Pascala/Delphi. Będziesz musiał się oswoić z zupełnie inna składnią. Uważam, że dużo łatwiej będzie Ci zacząć programować w jakimś języku C-podobnym (np. C++, C#, Java do wyboru).
Turgon
Cytat(mike_mech @ 19.09.2006, 08:28:43 ) *
MEGA ROTFL

A może o razu cofnij się do assemblera.

Pierwsze dwa z brzegu: Zend Studio, Eclipse.
No chyba, że Eclipse nie jest wg. Ciebie zaawansowaną aplikacją.

~nospor chyba miałes kiepskiego nauczyciela, ja tam bardzo lubię Java.

~mike_mech Word w czym jest napisany ? Cały linuch ? Znane tytuły jak Most Wanted ? Napewno nie w Javie ani C# .
Cypherq
Łech, co za gadanie głupie... Wiesz w ogóle na czym polega idea C#? Gdzie jest używany? W jakim środowisku? Wiesz po co stworzono Javę, jakie były jej założenia? Jak myślisz, dlaczego Word nie działa pod Linucha?

Java, tak samo jak C# są po to, żeby tworzyć "skomplikowane aplikacje". Tylko, że w przeciwieństwie do programów napisanych w C/C++, mają być niezależne (i są) od platformy i systemu na którym pracują. Czyli mają być lepsze.
Turgon
Cytat(Cypherq @ 19.09.2006, 14:09:54 ) *
Łech, co za gadanie głupie... Wiesz w ogóle na czym polega idea C#? Gdzie jest używany? W jakim środowisku? Wiesz po co stworzono Javę, jakie były jej założenia? Jak myślisz, dlaczego Word nie działa pod Linucha?

Java, tak samo jak C# są po to, żeby tworzyć "skomplikowane aplikacje". Tylko, że w przeciwieństwie do programów napisanych w C/C++, mają być niezależne (i są) od platformy i systemu na którym pracują. Czyli mają być lepsze.

... i mniej wydajne...
nospor
Cytat
Tylko, że w przeciwieństwie do programów napisanych w C/C++, mają być niezależne (i są) od platformy i systemu na którym pracują.

Baju, baju bedziem w raju....
Apliakcje typu HelloWorld to i moze są przenoszalne w javie, ale jakas powazniejsza to bez "drobnych" poprawek sie nie przeniesie. Idee mieli fajną, gorzej z wykonaniem
mike
Turgon wspomnałeś Worda, a ja Ci powiem: OpenOffice.
Zgadnij w czym jest napisany tongue.gif

~Cypherq przenośność Java nie jest taka jak Ci się wydaje. Jest taka jak mówi ~nospor smile.gif
tiraeth
Turgon nie łącz tworzenia gier i pisania, jak to nazwałeś, zaawansowanych aplikacji.

Zaawansowaną aplikację to Ty możesz nawet w Pascalu napisać smile.gif To zależy od Twojego podejścia do "zaawansowanych aplikacji".
Cypherq
Ekhm... Patrząc na wypowiedzi powyższe wypowiedzi, chciałem tylko nadmienić, że miałem na myśli ideę Javy. Dlatego mówiłem o założeniach, a te - jak już wspomniał Nospor - były bardzo fajne, co zaś się tyczy wykonania, wiecie sami...
spenalzo
Nie wiem jak C#, ale Java ma wielką wadę - większe aplikacje w niej napisane zjadają nieograniczone ilości pamięci i zamulają na wolniejszych maszynach.

A porównywanie pisania gier do aplikacji pisanych w C#/java, nie wymaga komentarza. To tak jakby porównywać traktor z samochodem.
gekon
Jest gra napisana w Javie, kawałek Chrome Engine (tego od Techlandu).
scanner
Cytat(nospor @ 19.09.2006, 09:51:38 ) *
ps2: a moze to ja mam tylko uraz do javy bo mialem nauczyciela deb.... nie znajacego sie na rzeczy snitch.gif winksmiley.jpg


deb... iana? (sorki, nie mogłem się powstrzymać... nauczyciel debian.. tongue.gif )
Ace
Cytat(spenalzo @ 19.09.2006, 19:05:03 ) *
A porównywanie pisania gier do aplikacji pisanych w C#/java, nie wymaga komentarza. To tak jakby porównywać traktor z samochodem.


Ja sie nie zgodze. Jesli chodzi o Jave, to nie wiem, ale jesli chodzi o c# to jeszcze nie tak dawno temu intereesowalem sie tematem, c# z DX9 ponoc smiga niezle. Ci co programuja w c++ i tak w nim beda programowac i beda mowic ze c# jest wolniejsze, ale ja czytalem na forach ze programowanie gier w c# przy uzyciu DX9 jest wydajne. Z zalozenia nie uzyskam takiej wydajnosci jak w c++, gdyz c# to jeyzk wyzszego poziomu, tak samo jak DX9 jest managed, czyli wiekszosc rzeczy robi za nas. To ma plusy i minusy.

Plus: robi za nas, wiec jest mniej mozliwosci napisania wlasnej obslugi jakiegos elementu, ktory jest niewydajny (bo ktos inny to zrobil lepiej)
Wada: ponoc troche wolniejszy, jednak to ze robi za nas rekompensuje ta strate.

Poza tym, w c# nie masz problemow z pamiecia. Nawet czytalem kiedys opinie czlowieka ktory dyskutowal na temat c++ vs c#. Poszlo o zuzycie pamieci. Dla przykladu konsola skompilowana pod c++ zajmuje kilka-kilkanascie kb w pamieci, ta sama konsolka skompiloawna w c# (pusta) zajmuje kilka (10?) mb pamieci. Ludize na tej podstawie krytykowali c#. Padla wtedy jednak inna odpowiedz, mianowicie podejscie c# jest poprawne, gdyz on nie rezerwuje tylu pamieci ile potrzebuje w danej chwili, tylko rezerwuje na zapas. C++ nie, jednak tworzac jakies operacje w c++, program rezerwuje male kolejne skrawki pamieci, co defakto zajmuje iles czasu. Szybciej dziala cos jak zarezerwujesz od razu na zapas, niz to co za kazdym razem gdy potrzebuje pamieci, prosi o nia system.

btw: Pisales jakies aplikacje 3d w c++/c#?
Turgon
Ace to jak kłótnia co lepsze Mercedes czy BMW.
Ace
Jasne ze Mercedes...

A tak na powaznie, to z mojej strony EOT.
Jarod
Świat się rozwija, języki też. OStatnio dużo poświęcam czasu C# i uważam, że ten język ma dużą przyszłość. Mam paru znajomych, którzy kodują w Javie bardzo długo i zaczynają przechodzić na C# - poznali go. I to nie jest tak, że C# jest wolniejszy od C++. Przy dzisiejszych prockach to są ułamki sekund. Tu ułamek, tam ułamek i się nazbiera, ale to też zależy od programisty i jego kodu.

Co do Java to sam mam mieszane uczucia. Javy nie tykałem ale słyszałem, że strasznie zaśmiecona. Jak ją ugryze to wrócę do tego tematu. Jednak uważam, że należy ją poznać w stopniu podstawowym.

Co do pascala, C i delphi. Pascala i C nie ma sesnu - po co się cofać. A co do Delphi.. Borland miało przestać rozwijać ale ostatnio wypuścili Turbo Delphi.. Uważam, że przyszłość Delphi stoi pod znakiem zpaytania
nasty
Osobiscie wole C# niz java, w C# programuje juz od ok. 2.5 roku i nigdy mi nic w nim nie zabraklo, i ostatnio (2 miesiace temu), zachcialo mi sie nauczyc Javy ale sie bardzo rozczarowalem pomijajac kwestje wydajnosci, bo niema co porownywac, to zauwarzylem ze sun chce zeby programy pisane w javie by na chama doskonale, np. przez wymuszanie try catch albo throws, (jak cos zle mowie to prosze mnie poprawic, bo nie jestem javista winksmiley.jpg ).

I droga wazna rzecz to taka, nie ukrywajmy jeszcze windows kroluje na kompach swiata a C# ma lepsza integracje z jego komponentami (np. DX9, COM, czy tez natywne dll-ki).

Pozdrawiam
macbirdie
Cytat(nasty_psycho @ 21.09.2006, 16:35:12 ) *
zachcialo mi sie nauczyc Javy ale sie bardzo rozczarowalem pomijajac kwestje wydajnosci, bo niema co porownywac, to zauwarzylem ze sun chce zeby programy pisane w javie by na chama doskonale, np. przez wymuszanie try catch albo throws, (jak cos zle mowie to prosze mnie poprawic, bo nie jestem javista winksmiley.jpg ).

Co prawda akurat powszechna konieczność łapania wyjątków nie jest tak programmer-friendly, to o ile zamordyzm Javy na początku mnie nieco denerwował, to po pewnym czasie się go docenia. Kod staje się bardziej przejrzysty, przynajmniej na poziomie składni, mało jest domyślania się, o co autorowi chodziło. Oczywiście jak kod od strony logicznej jest tragicznie napisany, to żaden język mu nie pomoże. winksmiley.jpg

[Jeśli chodzi o wyjątki, można korzystać z interceptorów i nie zaśmiecać właściwego kodu licznymi try/catch, zazwyczaj zresztą pustymi.]

Ogólnie rzecz biorąc Java i C# są do siebie bardzo podobne, ale do nauki początkowej, jeśli chce się dobrze programowanie poznać, lepsze są języki bliższe sprzętu, gdzie pewne rzeczy trzeba jednak ręcznie porobić. Jeśli jednak ktoś orientuje się w algorytmice, myśli jak programista, to język należy już dobrać po prostu do potrzeb. Zresztą mniejsza o język - to biblioteka standardowa czy framework musi potrzebom odpowiadać.
W końcu dla .NET można i w php (php.NET) i w Pythonie (IronPython) i w C++ (C++/CLI) i w ObjectPascalu i w Brainfuck i w F# i w wielu innych pisać. biggrin.gif

Myślę że dobrym początkiem jest sobie ściągnąć choćby Visual C# 2005 Express lub Visual C++ 2005 Express i podłubać, czy środowisko odpowiada, czy język jest znośny, ewentualnie potem inne sprawdzić. Borland teraz wypuścił Turbo C#, nowe wersje Turbo C++, Turbo Delphi, może sprawdzić co tam jest pod maską. smile.gif

Ja zaczynałem od ZX Spectrum Basic, potem QBasic z DOSa, potem Visual Basic nieco pomacałem, po dostaniu się do liceum Pascala się nauczyłem, w pierwszej klasie liceum go na zajęciach męczyliśmy, potem 3 lata Asembler x86 wraz z algorytmiką (gdy zbuduje się parę makr i procedur, pracuje się prawie jak w C winksmiley.jpg ), w międzyczasie liznąłem nieco Javy i C. Po liceum chwyciłem php, potem C++, Win32, a teraz w pracy głównie Javę i Pythona uprawiam, z domieszkami .NETa, jak trzeba, a w domu PHPczę i Win32/C++/WTL - nie ma idealnego języka do wszystkiego.

Uwaga - Python jest znakomity, php jest w porównaniu z nim lata świetlne do tyłu, ale do nauki zdecydowanie nie polecam - strasznie rozleniwia, bo jest diabelnie wygodny, prosty i jednocześnie elastyczny oraz zupełnie inny niż wszystkie C-podobne. winksmiley.jpg

Niedawno miałem metody numeryczne - programy pisaliśmy w C, ale ja z ciekawości też tworzyłem ich wersje w Javie - wydajność była na tym samym poziomie. Kompilatory JIT w Javie i C# robią już naprawdę świetną robotę w optymalizacji kodu i dostosowaniu go do platformy. Oczywiście jeśli ktoś w Javie w AWT zrobi aplikację okienkową, to się można powiesić. Jeśli nie Swing (można odpowiednio zoptymalizować), to SWT jest bardzo szybkim frameworkiem do aplikacji okienkowych. Eclipse jak widać całkiem nieźle na nim chodzi. cool.gif
dr_bonzo
Cytat
[Jeśli chodzi o wyjątki, można korzystać z interceptorów i nie zaśmiecać właściwego kodu licznymi try/catch, zazwyczaj zresztą pustymi.]

Czyste herezje! Puste bloki catch? Nie wiem kto tak pisze (sa pojedyncze sytuacje gdzie sie tak stosuje, ale nie regularnie!)

Cytat
Niedawno miałem metody numeryczne - programy pisaliśmy w C, ale ja z ciekawości też tworzyłem ich wersje w Javie - wydajność była na tym samym poziomie.

Zgadza sie -- w takim przypadku algortytmy ktore pisalem, branch-bound itp. w javie i C mialy podobne czasy wykonania.
nasty
Cytat
Niedawno miałem metody numeryczne - programy pisaliśmy w C, ale ja z ciekawości też tworzyłem ich wersje w Javie - wydajność była na tym samym poziomie.

no ale to sa relatywnie proste programy i nieda sie na nich mierzyc wydajnosci...
ale co prawda to prawda, C jest szybsze od Java i .NET
dr_bonzo
Cytat
no ale to sa relatywnie proste programy

Zgadza sie. Programy z GUI to juz inna sprawa.
Cytat
i nieda sie na nich mierzyc wydajnosci...

Nie da sie zmierzyc wydajnosci w szerszym zakresie, w zakresie algorytmow numerycznych -- tak.
macbirdie
Cytat(dr_bonzo @ 21.09.2006, 18:50:19 ) *
Czyste herezje! Puste bloki catch? Nie wiem kto tak pisze (sa pojedyncze sytuacje gdzie sie tak stosuje, ale nie regularnie!)


No dobra, przesadziłem faktycznie, nie zazwyczaj puste, bo oczywiście gdzie jest to istotne, bardzo ładnie się wychodzi z sytuacji "wyjątkowej" dobrym kawałkiem catcha, ale czasem naprawdę jest to zbędne i aż się nie chce tego wszystkiego klepać (chyba że się w eclipsie włączy automatyczne tworzenie bloków try/catch winksmiley.jpg ), szczególnie np. przy pisaniu testu lub prototypu, proof of concept, albo try/cache wokół Thread.sleep(), gdy nie będzie paru wątków które mogą sobie przeszkodzić itd, a i bardzo często chciałoby się by obsługa wyjątku była w zupełnie innym miejscu, bo tylko zaciemnia właściwą logikę. Także patrzenie na kilkunastostronnicowe stacktrace z powodu małej głupiej pomyłeczki w deskryptorze XML mi się przejadło. winksmiley.jpg
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.