Zobacz pełną wersję : Od czego zacząć myśląc o profesjonalnym programowaniu?
Witam wszyskich!!!. Jestem tutaj nowy i mam do was waÅźne pytanie. Mianowicie myÅ›lÄ™ powaÅźnie aby zająć siÄ™ profesjonalnie programowaniem, problem w tym Åźe nie wiem od czego tak naprawdÄ™ zaczÄ…c. Do tej pory programowaÅ‚em w Delphi czy C++ Builderze, jednak znajomy powiedziaÅ‚ mi Åźe Builder to juÅź przeÅźytek a w Delphi znam trochÄ™ sÅ‚abiej. ZaleÅźy mi na takim Å›rodowisku ktÃÅ‚re byÅ‚o by oparte na C++ albo jak najbardziej do niego podobnym. SÅ‚yszaÅ‚em coÅ› o visual C++ albo javie. Wiem Åźe programowanie to temat rzeka ale prosiÅ‚bym o komentarz uÅźytkownikÃÅ‚w ktÃÅ‚rzy pracujÄ… jako programiÅ›ci i powiedzÄ… mi co jest teraz na "topie":) i z przyszÅ‚oÅ›ciÄ…. Z gÃÅ‚ry dziÄ™ki za komentarze
Hmm... no to jako pracujÄ…cy programista mogÄ™ siÄ™ chyba wypowiedzieć.. Generalnie wielkie systemy bazodanowe zawsze tworzyÅ‚o siÄ™ wÅ‚aÅ›nie w Delphi. I sÅ‚yszaÅ‚em opinie, Åźe to jest wÅ‚aÅ›nie przeÅźytek. MÃÅ‚j znajomy tworzy systemy w Delphi. Ja osobiÅ›cie trafiÅ‚em do firmy, gdzie bardzo szybko wymusili na mnie przestawienie siÄ™ na C++ Builder w połączeniu z naprawdÄ™ masywnymi bazami.
JeÅ›li interesuje CiÄ™ praca jako webmaster, czy programista CRMÃÅ‚w, to kieruj siÄ™ w stronÄ™ Java, ASP, PHP... zapoznaj siÄ™ z JavaScriptem, CSS, poczytaj o Ajax.. Drobne systemy ksiÄ™gowe tworzy siÄ™ jeszcze w C#.
Jakby nie patrzeć musisz znać SQL przynajmniej w podstawach. JÄ™zyk - chyba zaleÅźne od firmy.
Powiem Ci, Åźe ilu nas skoÅ„czyÅ‚o studia we wrzeÅ›niu, ile rÃÅ‚Åźnych firm, tyle rÃÅ‚Åźnych jÄ™zykÃÅ‚w programowania. Wydaje mi siÄ™, Åźe nie ma na to reguÅ‚y. ZastanÃÅ‚w siÄ™ co tak NAPRAWDĘ chcesz robić, co CiÄ™ interesuje. Potem sprawdź jakie firmy operujÄ… na rynku w tych wybranych dziedzinach i jakie stawiajÄ… warunki rekrutacji (w tym znajomoÅ›ci jÄ™zykÃÅ‚w programowania). MyÅ›lÄ™, Åźe to bÄ™dzie dobrym wyznacznikiem na start..
To ja siÄ™ moÅźe teÅź podpytam.
Skoro juÅź zdecydowaÅ‚em siÄ™ na dany jÄ™zyk programowania (w moim wypadku C++) jak go opanować w stopniu przynajmniej dobrym? ZnalazÅ‚em w necie jakiÅ› kurs, mam teÅź 2 ksiÄ…Åźki pana GrÄ™bosza. Znacie jakieÅ› tytuÅ‚y godne polecenia, albo darmowe kursy? Od czego zaczynaliÅ›cie, co i jak ;-)
Skoro juÅź zdecydowaÅ‚em siÄ™ na dany jÄ™zyk programowania (w moim wypadku C++) jak go opanować w stopniu przynajmniej dobrym? ZnalazÅ‚em w necie jakiÅ› kurs, mam teÅź 2 ksiÄ…Åźki pana GrÄ™bosza. Znacie jakieÅ› tytuÅ‚y godne polecenia, albo darmowe kursy? Od czego zaczynaliÅ›cie, co i jak :wink:
Symfonia C++? ToÅ› to mÅ‚otek i kowadÅ‚o, a nie ksiÄ…Åźka do nauki c++
Polecam "W tonacji c++", co prawda niedostÄ™pne w p2p, ale na pewno lepiej bÄ™dzie wchodzić niÅź to co jest w ksiÄ…Åźkach GrÄ™bosza...
SymfoniÄ™ dostaÅ‚em od rodzicÃÅ‚w na urodziny w zeszÅ‚ym roku :-P. PrzeczytaÅ‚em, sporo zrozumiaÅ‚em, ale czujÄ™ niedosyt, dlatego pytam o inne tytuÅ‚y. :twisted:
Hmm... no to jako pracujÄ…cy programista mogÄ™ siÄ™ chyba wypowiedzieć.. Generalnie wielkie systemy bazodanowe zawsze tworzyÅ‚o siÄ™ wÅ‚aÅ›nie w Delphi. I sÅ‚yszaÅ‚em opinie, Åźe to jest wÅ‚aÅ›nie przeÅźytek. MÃÅ‚j znajomy tworzy systemy w Delphi. Ja osobiÅ›cie trafiÅ‚em do firmy, gdzie bardzo szybko wymusili na mnie przestawienie siÄ™ na C++ Builder w połączeniu z naprawdÄ™ masywnymi bazami.
JeÅ›li interesuje CiÄ™ praca jako webmaster, czy programista CRMÃÅ‚w, to kieruj siÄ™ w stronÄ™ Java, ASP, PHP... zapoznaj siÄ™ z JavaScriptem, CSS, poczytaj o Ajax.. Drobne systemy ksiÄ™gowe tworzy siÄ™ jeszcze w C#.
Jakby nie patrzeć musisz znać SQL przynajmniej w podstawach. JÄ™zyk - chyba zaleÅźne od firmy.
Powiem Ci, Åźe ilu nas skoÅ„czyÅ‚o studia we wrzeÅ›niu, ile rÃÅ‚Åźnych firm, tyle rÃÅ‚Åźnych jÄ™zykÃÅ‚w programowania. Wydaje mi siÄ™, Åźe nie ma na to reguÅ‚y. ZastanÃÅ‚w siÄ™ co tak NAPRAWDĘ chcesz robić, co CiÄ™ interesuje. Potem sprawdź jakie firmy operujÄ… na rynku w tych wybranych dziedzinach i jakie stawiajÄ… warunki rekrutacji (w tym znajomoÅ›ci jÄ™zykÃÅ‚w programowania). MyÅ›lÄ™, Åźe to bÄ™dzie dobrym wyznacznikiem na start..
DziÄ™ki Å›liczne:piwko: . Problem tylko jest taki Åźe jestem z Rzeszowa i tutaj nie mam za duÅźego wyboru:( Studiuje FizykÄ™, a programuje z zamiÅ‚owania. Znajomy doradziÅ‚ mi abym wziÄ…Å‚ siÄ™ za Jave i to wÅ‚aÅ›nie ostatnio robiÄ™. Pozdrawiam
A ja przekornie doradzÄ™ rzecz prawie dziÅ› zapomnianÄ…: assembler.
To wyÅźsza sztuka jazdy, ale jeÅ›li ktoÅ› jest w stanie dobrze opanować i "poczuć" assembler, to przestawienie siÄ™ na dowolny wyÅźszy jÄ™zyk programowania bÄ™dzie proste.
@Jurgi: zwariowaÅ‚eÅ›. Programowanie w ASM rÃÅ‚Åźni siÄ™ od kaÅźdego normalnego jÄ™zyka do programowania pod GUI ktÃÅ‚rego siÄ™ obecnie uÅźywa. W ASM (w Å›rodowisku bez events) jest caÅ‚kiem inny przepÅ‚yw danych i wiadomoÅ›ci. Nie wspominajÄ…c juÅź o tym, Åźe ASM jest proceduralne a kaÅźdy inny nowoczesny jÄ™zyk - objektowy albo funkcyjny. PiszÄ…c w tym czymÅ› tylko nabawisz siÄ™ zÅ‚ych nawykÃÅ‚w, ktÃÅ‚rych pÃłźniej ciÄ™Åźko bÄ™dzie siÄ™ pozbyć. Assembler jest najprostszym jÄ™zykiem jakiego moÅźna siÄ™ uczyć, o najmniejszych moÅźliwoÅ›ciach.
JeÅ›li piszesz w ASM to nie przestawisz siÄ™ Å‚atwo na cokolwiek... no moÅźe z wyjÄ…tkiem Visual Basic.
Co do tego w czym pisać... to nie ma na dzieÅ„ dzisiejszy praktycznie niczego co moÅźna by z czystym sumieniem polecić. Java - wolna, pamiÄ™cioÅźerna, aplikacja dziaÅ‚ajÄ… "topornie". Net - do aplikacji standalone to po prostu Å›miech na sali - wady javy połączone z wadami zamkniÄ™tego standardu dziaÅ‚ajÄ…cego jedynie pod windows (no fakt, Åźe zwykle trochÄ™ szybciej), dodatkowo brak dobrych rozszerzeÅ„, VB - juÅź lepiej c#.
Zostaje chyba tylko C++ gdzie sÄ… ogromne problemy z pisaniem wydajnych interfejsÃÅ‚w uÅźytkownika (bo biblioteki do GUI sÄ… przedpotopowe) a aplikacje tworzy siÄ™ bardzo powoli (ale sÄ… bardzo wydajne, porÃÅ‚wnywalne z ASM). Problem z C++ jest taki, Åźe programy pisane w nim sÄ… zbyt drogie - wiÄ™c firmy kiedyÅ› wolaÅ‚y VB a teraz wolÄ… aplikacje w javie. Jest jeszcze Delphi, dziaÅ‚a bardzo szybko i lepiej siÄ™ w nim tworzy interfejsy.
JeÅ›li napiszesz coÅ› w javie to praktycznie nie ma szans na to, Åźe ludzie bÄ™dÄ… tego uÅźywać na szerokÄ… skalÄ™ - bo na 100% ktoÅ› napisze program o podobnych moÅźliwoÅ›ciach w C, ktÃÅ‚ry bÄ™dzie dziaÅ‚aÅ‚ 10 razy szybciej. Z drugiej strony maÅ‚o prawopodobne, Åźeby za pisanie programu w C ktoÅ› chciaÅ‚ ci zapÅ‚acić.
JeÅ›li juÅź chcesz siÄ™ pouczyć czegoÅ› trudniejszego co ci siÄ™ przyda (w odrÃÅ‚Åźnieniu od prostackich mov i jmp w ASMie co moÅźna porÃÅ‚wnać jedynie z basic na commodore) - to weź prologa.
macastefan
30-01-07, 11:44
znajac jakis jezyk programowania i chcac to rozwijac radze zaczac zglebiac wzorce projektowe, a w miedzyczasie poczytac o procesie tworzenia oprogramowania
Assembler jest najprostszym jÄ™zykiem jakiego moÅźna siÄ™ uczyć, o najmniejszych moÅźliwoÅ›ciach.
Nie potrafiÄ™ siÄ™ powstrzymać, Åźeby siÄ™ nie zgodzić. Assembler jest najtrudniejszym jÄ™zykiem na start, jednoczeÅ›nie o najwiÄ™kszych moÅźliwoÅ›ciach. Å»aden jÄ™zyk wysokiego poziomu nie jest w stanie zoptymalizować kodu do takiej szybkoÅ›ci i wydajnoÅ›ci, jak program napisany w czystym "kodzie maszynowym".
DziÄ™ki takiemu podejÅ›ciu jak Twoje wymieniamy komputery co 2 lata, a EXEki zajmujÄ… po 20MB, bo inaczej nie wyrabiajÄ…. Nikt nie przejmuje siÄ™ kwestiÄ… optymalnego kodu. Byle nawalić procedur w C++ i cieszyć siÄ™, Åźe komputer to jakoÅ› ciÄ…gnie. I potem powstajÄ… "systemy operacyjne" typu Vista, ktÃÅ‚rej wymagania przekraczajÄ… parametry wiÄ™kszoÅ›ci aplikacji 3D. SYSTEM OPERACYJNY! Np. w dziedzinie powaÅźnej obrÃÅ‚bki grafiki i gier komputerowych nie miaÅ‚byÅ› szans bez znajomoÅ›ci Assemblera.
ZgodzÄ™ siÄ™ natomiast z kwestiÄ…, Åźe nie jest to jÄ™zyk od ktÃÅ‚rego powinno siÄ™ zaczynać naukÄ™, gdyÅź wiÄ™kszość platform (albo i wszystkie) jest obecnie obiektowa i na nich opiera siÄ™ przyszÅ‚ość miaÅźdÅźącej wiÄ™kszoÅ›ci programistÃÅ‚w. Co jednak nie oznacza, Åźe nie wypada znać Assemblera. JeÅ›li siedzisz tylko w bazach danych, to fakt - po co to komu. Ale jeÅ›li marzysz o pracy w POWAÅ»NYCH centrach obliczeniowych, to bez Assemblera ani rusz - przynajmniej podstawy powinien kaÅźdy znać.
Witam
Mam pytanie.
Chciałbym rozpocząć naukę programowania.
Jaki język byście mi polecili na początek ?
Znam tylko HTML,XHTML,CSS w stopniu bardzo dobrym.
a zapomniałbym mam 13 lat.
Nie wiem nic o programowaniu, ale chciaÅ‚bym wkoÅ„cu, wkrÃÅ‚tce zacząć mojÄ… przygodÄ™.O d czego najlepiej zacząć od Basica, Pascala, Turbo Pascala, Pythona, a moÅźe jeszcze innego jÄ™zyka programowania, doradzcie mi .
Prosze.Pozdrawiam.Dziękuje
Pascala, Turbo Pascala, Pythona,
To to moÅźe na poczÄ…tek skreÅ›l... Samego basica teÅź....
Zamiast tego wybieraj z
c++, c#, vb.net, java.
To to moÅźe na poczÄ…tek skreÅ›l... Samego basica teÅź....
Zamiast tego wybieraj z
c++, c#, vb.net, java.
odrazu na poczÄ…tek ?
a jakÄ…Å› ksiÄ…ÅźkÄ™ kurs to byÅ› poleciÅ‚ ?
bo mam np. Symfonię C++, tylko cały czas myślałem o czymś jak Pascal aby się trochę przystosować do programowania bo ja nic o tym nie wiem
Jest jÄ™zykiem najprostszym, bo nie ma tam Åźadnych konstrukcji jÄ™zykowych obecnych w jÄ™zykach wysokiego poziomu. Jest "goto" (jmp), instrukcje warunkowe i proste pÄ™tle. Nic poza tym. BoirÄ…c to pod uwagÄ™ ASM to taki visual basic, ludzie myÅ›lÄ… Åźe jest trudny bo zapis jest "dziwny" ale tak na prawdÄ™ moÅźna to opanować w kilka godzin.
Å»aden jÄ™zyk wysokiego poziomu nie jest w stanie zoptymalizować kodu do takiej szybkoÅ›ci i wydajnoÅ›ci, jak program napisany w czystym "kodzie maszynowym".Wydajność kodu w duÅźej mierze zaleÅźy od uÅźytego algorytmu. W obecnym czasie optymalizacja to reklit przeszÅ‚oÅ›ci jeÅ›li nie mÃÅ‚wimy o elementach na prawdÄ™ istotnych dla szybkoÅ›ci (np. sterowniki sprzÄ™towe i to takie o naprawdÄ™ najniÅźszym poziomie). Koda ASM nie moÅźesz debugować, jest nieczytelny, proceduralny, to podejÅ›cie "sprzed wieku" kiedy programy byÅ‚y nieskomplikowane - nie moÅźna w tym napisać nic oprÃÅ‚cz maÅ‚ego fragmentu aplikacji.
a EXEki zajmujÄ… po 20MB, bo inaczej nie wyrabiajÄ…. Nikt nie przejmuje siÄ™ kwestiÄ… optymalnego koduPomyliÅ‚eÅ› C++ z C++ builder. A aplikacje w C++ zajmujÄ… od 4kb (zoptymalizowany MFC ktÃÅ‚ry wyÅ›wietla okienko) - 400kb (niezoptymalizowany CBC z dziesiÄ…tkami rozszerzeÅ„ i wÅ‚asnÄ… bibliotekÄ… graficznÄ…)
I potem powstajÄ… "systemy operacyjne" typu Vista, ktÃÅ‚rej wymagania przekraczajÄ… parametry wiÄ™kszoÅ›ci aplikacji 3DTo nie wynika z uÅźytego JP, tylko z samych algorytmÃÅ‚w i DRM / HDCP oraz emulacji funkcji sprzÄ™tu przez oprogramowanie. MyÅ›lisz, Åźe jakikolwiek system operacyjny byÅ‚ pisany od poczÄ…tku do koÅ„ca w ASM? Chyba dalej tkwisz w epoce C64.
Np. w dziedzinie powaÅźnej obrÃÅ‚bki grafiki i gier komputerowych nie miaÅ‚byÅ› szans bez znajomoÅ›ci Assemblera.Chyba bez akceleracji... na prawdÄ™ tkwisz w epoce C64. Efekty w grach sÄ… realizowane przez procesor GPU i sterowniki.
Jeśli chcesz się zająć pisaniem profesjonalnie - to trzeba było się tego uczyć mając 10 a nie 20 lat. Z resztą bez znajomości matematyki nigdy nie wykorzystasz umiejętności pisania w ASM.
MoÅźna siÄ™ uczyć ASM ale z tym wiÄ…Åźą siÄ™ bardzo zaawansowane techniki optymalizacji, moÅźna na to caÅ‚e Åźycie poÅ›wiÄ™cic. UczÄ…c siÄ™ teraz ASM nigdy nie bÄ™dziesz miaÅ‚ szansy, Åźeby cokolwiek w tym napisać (cokolwiek czego ktoÅ› inny bÄ™dzie uÅźywaÅ‚) - bo zapotrzebowanie jest minimalne, pokrywajÄ… je dobrze opÅ‚acani guru i musiaÅ‚byÅ› siÄ™ uczyć od nich - Åźeby osiÄ…gnąć jakiÅ› sensowny poziom.
Ale jeÅ›li marzysz o pracy w POWAÅ»NYCH centrach obliczeniowych, to bez Assemblera ani rusz - przynajmniej podstawy powinien kaÅźdy znać.Tutaj chyba zwariowaÅ‚eÅ›. Wszystko w centrach obliczeniowych opiera siÄ™ na C. MPI, MPI2, biblioteki do obliczeÅ„ numerycznych - wszystko w C - to sÄ… standardy dla obliczeÅ„. MyÅ›lisz, Åźe ktoÅ› ryzykowaÅ‚by puszczanie niedebugowalnego kodu, ktÃÅ‚ry trudno siÄ™ czyta i pisze bez wsparcia dla wspÃłłbieÅźnoÅ›ci - na klaster, Åźeby w czasie 5% szybszym dowiedziaÅ‚ siÄ™ Åźe kod jest gdzieÅ› skopany a potem przez 2 dni szukaÅ‚ błędu, Åźeby siÄ™ dowiedzieć Åźe zamiast jmp siÄ™ przeklawiaturzyÅ‚ i napisaÅ‚ jne. WidziaÅ‚eÅ› zapis gÅ‚upiej pÄ™tli w ASM?
PomijajÄ…c juÅź to, Åźe takiego programu na klaster w ASM w rozsÄ…dnym czasie nie mÃÅ‚gÅ‚by napisać. Na grid to juÅź zupeÅ‚nie niemoÅźliwe (tutaj raczej nawet coÅ› w stylu java).
Obecnie nawet c++ jest powoli wycofywane na rzecz .net i java. Gdzie tutaj miejsce na ASM?
bo mam np. Symfonię C++, tylko cały czas myślałem o czymś jak Pascal aby się trochę przystosować do programowania bo ja nic o tym nie wiem
Pascala to sobie odpuść... to taki akademicki relikt...
Jest tu na forum ktoÅ› kto walczy z SymfoniÄ…...
Ja tam na początek polecam "W tonacji c++" - 3 tomowe, wyd RM (http://www.readme.pl/), dostępne na pewno w merlinie (http://www.merlin.com.pl/frontend/search_advanced?fraza=%22Programowanie%3A+W+tonacj i+C+%2B%2B%22).
Pascala to sobie odpu¶æ... to taki akademicki relikt...
Jest tu na forum kto¶ kto walczy z Symfoni±...
Ja tam na pocz±tek polecam "W tonacji c++" - 3 tomowe, wyd RM (http://www.readme.pl/), dostêpne na pewno w merlinie (http://www.merlin.com.pl/frontend/search_advanced?fraza=%22Programowanie%3A+W+tonacj i+C+%2B%2B%22).
Moge sobie jeszcze wypo¿yczyæ
Jêzyk C++ dla ka¿dego Jesse Liberty'iej
Jêzyk C++ Bjarne StrouStrup'a
Thinking in C++ Bruce Eckel'a (dwa tomy )
Podstawy jêzyka C++ Stanleya B. Lippmana
i chyba z tymi ksi±¿kami sobie poradze jak nie to mo¿e znajdê gdzie¶ tamt± co mi polecasz. A co po C++
i chyba z tymi ksiÄ…Åźkami sobie poradze jak nie to moÅźe znajdÄ™ gdzieÅ› tamtÄ… co mi polecasz
Nie znajdziesz. Na chwile obecną niedostępna w ed2k, torrentach, a ni innych p2p. Zapomiałem o tym napisać w poprzednim poście.
A co po C++
Skup siÄ™ na razie na jednym.
Nie znajdziesz. Na chwile obecną niedostępna w ed2k, torrentach, a ni innych p2p. Zapomiałem o tym napisać w poprzednim poście.
Skup siÄ™ na razie na jednym.
A kupie i wiem Åźe nie jest dostÄ™pna w Åźadnym ed2k, jeÅ›li z tamtych nie dam rady siÄ™ nauczyć
Dziękuje za pomoc
A jak nie to w Bibliotece jakiejÅ› moÅźe na wydziale Mat/Inf
Jak siÄ™ nauczÄ™ to tu wrÃÅ‚ce i siÄ™ spytam co dalej, mam nadziejÄ™ Åźe za dÅ‚ugo tutaj nie zajrze (jeÅ›li chodzi o pytania z C++):D:D
Jeszcze raz Dzięks
Jest tu na forum ktoÅ› kto walczy z SymfoniÄ…...
O mnie mowa? :-P
Mam symfoniÄ™, ale mi siÄ™ nie bardzo podoba (to tylko moje zdanie, wiele osÃÅ‚b jÄ… poleca). Polecam za to kursik "Od zera do gier kodera" (znajdziesz w sieci bez problemu), aha i ostatnio jeszcze:
http://www.cplusplus.com/doc/tutorial/
Ostatnio parÄ™ razy trafiÅ‚em na kurs c++ bez cholesterolu (http://www.intercon.pl/%7Esektor/cbx/), ktÃÅ‚ry wyglÄ…da nie najgorzej...
O mnie mowa? :razz:Tak :D
to tylko moje zdanie, wiele osÃÅ‚b jÄ… polecaBo wcale nie jest taka zÅ‚a, ale jak bierze jÄ… do rÄ™ki zupeÅ‚nie poczatkujÄ…cy w temacie... :D
"Od zera do gier kodera"ktÃÅ‚ry uczy visual c++, a nie c++...
IMHO wtedy to juÅź lepiej rozejrzeć siÄ™ za kursem c++/CLI.
O mnie mowa? :-P
Mam symfoniÄ™, ale mi siÄ™ nie bardzo podoba (to tylko moje zdanie, wiele osÃÅ‚b jÄ… poleca). Polecam za to kursik "Od zera do gier kodera" (znajdziesz w sieci bez problemu), aha i ostatnio jeszcze:
http://www.cplusplus.com/doc/tutorial/
hehe przecieÅź pisze na tyÅ‚u ksiÄ…Åźki Åźe trzeba znać jÄ™zyk Basic :D
A tak na serio jaki kompilator do C++ polecicie ?
Ostatnio parÄ™ razy trafiÅ‚em na kurs c++ bez cholesterolu (http://www.intercon.pl/%7Esektor/cbx/), ktÃÅ‚ry wyglÄ…da nie najgorzej...
ObejrzaÅ‚em pobieÅźnie ;-)
WyglÄ…da sensownie, tylko mam pewne zastrzeÅźenia do tÅ‚a, mÄ™czÄ…ce strasznie, i na dodatek nie jednakowe na rÃÅ‚Åźnych podstronach, ale to nie jest najwaÅźniejsze.
ktÃÅ‚ry uczy visual c++, a nie c++...
IMHO wtedy to juÅź lepiej rozejrzeć siÄ™ za kursem c++/CLI.
Masz racje, ale zdanie o kursie nadal mam dobre, bo sporo ciekawego się z niego dowiedziałem ;-)
Ale to tylko moja opinia.
hehe przecieÅź pisze na tyÅ‚u ksiÄ…Åźki
z tyłu - brzmiałoby lepiej ;-)
Jest jÄ™zykiem najprostszym, bo nie ma tam Åźadnych konstrukcji jÄ™zykowych obecnych w jÄ™zykach wysokiego poziomu. Jest "goto" (jmp), instrukcje warunkowe i proste pÄ™tle. Nic poza tym.
Niczego czego nie ma w Assemblerze, nie ma takÅźe w jÄ™zykach wyÅźszego poziomu. Pewnie tego nie wiesz, ale KAÅ»DY taki jÄ™zyk jest tÅ‚umaczony na assemblera przed linkowaniem. To, Åźe Ty nie potrafisz osiÄ…gnąć w Assebmlerze niczego poza "goto", to juÅź TwÃÅ‚j problem.
W obecnym czasie optymalizacja to reklit przeszłości
W tym momencie Ty zwariowaÅ‚eÅ›. To jest wÅ‚aÅ›nie podejÅ›cie dinozaura - byle nawalić kodu, resztÄ… niech siÄ™ zajmujÄ… coraz droÅźsze ukÅ‚ady graficzne. WÅ‚aÅ›nie O TYM pisaÅ‚em przytaczajÄ…c kawaÅ‚ek o wymianie sprzÄ™tu - czytanie nie boli.
Pomyliłeś C++ z C++ builder
Nie pomyliłem. Idąc dalej Twoim tokiem myślenia wszyscy powinni pisać w czystym API, więc czemu nie od razu w Assemblerze?
MyÅ›lisz, Åźe jakikolwiek system operacyjny byÅ‚ pisany od poczÄ…tku do koÅ„ca w ASM? Chyba dalej tkwisz w epoce C64.
C64 nie byÅ‚ taki zÅ‚y - do dzisiaj Å›wiÄ™ci triumfy moddingu i tuningu. I wybacz, ale pisanie caÅ‚ego systemu (jak to Å›miesznie ujÄ…Å‚eÅ›) wyłącznie w Assemblerze doprowadziÅ‚oby do zajechania programistÃÅ‚w. Co nie oznacza, Åźe nie powinni stosować tego JP przynajmniej wÅ‚aÅ›nie w mechanizmach dekodowania DRM i sterowanikach - a tak w WIĘKSZOÅšCI przypadkÃÅ‚w po prostu nie jest w przypadku systemÃÅ‚w M$ (zerknij na API, poczytaj w necie). Ale o czym w sumie z TobÄ… dyskutować, jak pojÄ™cie optymalizacji jest Ci obce. Fakt - "ALGORYTM obsÅ‚ugi sterownika ma tu ogromne znaczenie" - Å›miechu warte.
Jeśli chcesz się zająć pisaniem profesjonalnie - to trzeba było się tego uczyć mając 10 a nie 20 lat.
Assemblera - o ironio wÅ‚aÅ›nie z C64 - znam od 8 roku Åźycia. To wyłącznie do Twojej wiadomoÅ›ci.
MoÅźna siÄ™ uczyć ASM ale z tym wiÄ…Åźą siÄ™ bardzo zaawansowane techniki optymalizacji, moÅźna na to caÅ‚e Åźycie poÅ›wiÄ™cic. UczÄ…c siÄ™ teraz ASM nigdy nie bÄ™dziesz miaÅ‚ szansy, Åźeby cokolwiek w tym napisać
WyjÄ…tkowo siÄ™ zgodzÄ™ z pierwszym zdaniem. Nigdzie natomiast nie napisaÅ‚em, Åźe jest to jÄ™zyk, w ktÃÅ‚rym trzeba pisać od poczÄ…tku do koÅ„ca. MÃÅ‚wiÅ‚em i nadal bÄ™dÄ™ tego broniÅ‚, Åźe podstawy tego jÄ™zyka naleÅźy znać i wykorzystywać go w celach OPTYMALIZAJCJI zÅ‚oÅźonych i czasochÅ‚onnych algorytmÃÅ‚w - no ale niestety o tym wyÅźej i tu siÄ™ najwidoczniej nie dogadamy.
Tutaj chyba zwariowałeś. Wszystko w centrach obliczeniowych opiera się na C
Hahahaha. Ciekawe, bo mÃÅ‚j znajomy pisaÅ‚ ostatnio program, wyliczajÄ…cy na bieÅźąco temperaturÄ™ w dowolnym miejscu pieca hutniczego. Na Åźywo. Ot taka sobie symulacja. TwÃÅ‚j .NET i JAVA by siÄ™ przy tym zajechaÅ‚y. Nie wiem kto odchodzi do czegoÅ› takiego, moÅźe Ty, ale nikt o zdrowym rozsÄ…dku nie napisze niczego wymagajÄ…cego i potÄ™Åźnego w JAVA. Wybacz, moÅźe i przenoÅ›ne, ale do wydajnoÅ›ci temu DALEKO. Napisz sobie grÄ™ typu Quake w Java - powodzenia :akuku:
PomijajÄ…c juÅź to, Åźe takiego programu na klaster w ASM w rozsÄ…dnym czasie nie mÃÅ‚gÅ‚by napisać
Bez przesady - od klastrÃÅ‚w sÄ… jÄ™zyki wyÅźszego poziomu razem z caÅ‚ymi systemami obsÅ‚ugujÄ…cymi to. Nie popadajmy w skrajnoÅ›ci.
Mówiłem i nadal będę tego bronił, że podstawy tego języka należy znać i wykorzystywać go w celach OPTYMALIZACJI złożonych i czasochłonnych algorytmów - no ale niestety o tym wyżej i tu się najwidoczniej nie dogadamy.
Zgodzę się, podstawy ASM dobrze jest, szczególnie przydatne przy debugowaniu
;-)
Tutaj chyba zwariowałeś. Wszystko w centrach obliczeniowych opiera się na C
Hahahaha. Ciekawe, bo mój znajomy pisał ostatnio program, wyliczający na bieżąco temperaturę w dowolnym miejscu pieca hutniczego. Na żywo. Ot taka sobie symulacja. Twój .NET i JAVA by się przy tym zajechały. Nie wiem kto odchodzi do czegoś takiego, może Ty, ale nikt o zdrowym rozsądku nie napisze niczego wymagającego i potężnego w JAVA. Wybacz, może i przenośne, ale do wydajności temu DALEKO. Napisz sobie grę typu Quake w Java - powodzenia
Ale tego to nie bardzo mogę zrozumieć. C to potęga, java mi osobiście to kojarzy się z telefonami komórkowymi i tam może robić karierę. Nie rozumiem jednak, dlaczego mówisz o javie skoro przedmówca mówił, że są oparte o C. No chyba, że dla Cibie, nie ma różnicy między rodziną języków C, a java :?
Nie rozumiem jednak, dlaczego mówisz o javie skoro przedmówca mówił, że są oparte o C.
Err... ekhm.. :-? przepraszam.. skrót myślowy wynikający z pisania na szybko w pracy.. chyba za bardzo połączyłem dwa ostatnie paragrafy :shock:
Więc rozbijając, od razu odniosę się do :
Ale tego to nie bardzo mogę zrozumieć. C to potęga
- chodziło mi o to, że w C nie ma praktycznej (czyt. bezpośredniej) możliwości zopytmalizowania kodu do obliczeń, o których pisałem wcześniej. Tutaj rozkazy operujące na całych tabelach, czy nawet macierzach są w przypadku Assemblera niezastąpione.
Druga część miała się odnosić właśnie to Javy i dot neta, gdzie pierwszy przypadek to język o dużych możliwościach - głównie z powodu wieloplatformowości (przykład - właśnie PC na różnych systemach, komórki, tunery sat..), ale niestety kosztem wydajności interpretacji. Sam dot net, to taka wielka krowa i odnoszę wrażenie, że niektórzy pchają się na siłę w platformę zajmującą kilkaset mega, żeby napisać 100kB programik... Chyba nie tędy droga.
KAŻDY język ma swoje zastosowania, wady i zalety - ale Assemblera nie dam uśmiercić, bo komuś się literówki wydają skomplikowane 8) (na marginesie często spotykane w "potężnym C" if(a=b) :brawo: )
Mam nadzieję, że trochę rozjaśniłem swoje przepociny ;)
Napisz sobie grÄ™ typu Quake w Java - powodzenia
Co prawda nie java, a .NET... i nie wiem ile jest tak kodu zarzÄ…dzalnego, ale... http://www.codeproject.com/managedcpp/Quake2.asp :D
który uczy visual c++, a nie c++...
Gdzie ty to wyczytałeś? Uczy C++, ja w Dev-CPP nie miałem problemów z kompilacją większości przykładów.
Rybak teraz wszystko rozumiem :piwo:
Mirthall ten kurs po prostu ukierunkowuje na współpracę z MS :-P
"potê¿nym C" if(a=b)
Ka¿dy g³upszy kompilator który ma mniej ni¿ 5 lat to wychowyci.
Sam dot net, to taka wielka krowa i odnoszê wra¿enie, ¿e niektórzy pchaj± siê na si³ê w platformê zajmuj±c± kilkaset mega, ¿eby napisaæ 100kB programik... Chyba nie têdy droga.
Chyba têdy, bo je¶li masz firmê i masz do wyboru:
a. program w ASM - 200 000z³ / 2 lata.
b. program w C - 20 000z³ / 2 miesi±ce
c. program .java / .net - 2 000z³ / 2 tygodnie to od razu wiadomo, co wybierzesz. Sprzêt tanieje, programi¶ci nie. Je¶li za 2000z³ mo¿esz mieæ 4x szybszy sprzêt to si³± rzeczy optymalizacja ogranicza siê jedynie do OS, odpowiedniej struktury bazy danych, a sam± aplikacjê pisze siê tak, ¿eby dzia³a³a.
Zapotrzebowanie na programistów komputerowych - "niskopoziomowych" jest niemal zerowe. Oczywi¶cie mo¿na liczyæ na to, ¿e trafi siê do zespo³u pisz±cego gry ( i tak w C++ / C ) albo do grupy tworz±cej sterowniki ( wstawki w ASM ), ale co z tego - skoro ju¿ dzisiaj od C siê odchodzi a od ASM odesz³o siê wiele lat temu.
Niczego czego nie ma w Assemblerze, nie ma tak¿e w jêzykach wy¿szego poziomu.
no to we¼my co¶ takiego:
foreach a as b=>c
Iterator e = t.getIterator();
while(e.next())
{
}
if (e.isKindOf("CBlueWnd"))
jak to zapiszesz w ASM? zrobisz sobie
FOREACH AX,BX,CX
ITER AX, BX
CMP AX, 'bluewnd' ;)
Tego w asm nie ma bo CPU nie obs³uguj± klas, dziedziczenia, polimorfizmu i iteratorów. W ASM nie ma takich konstrukcji, wszystko w jêzykach wy¿szego poziomu jest t³umaczone na pojedyncze instrukcje, które s± na zupe³nie innym poziomie abstrakcji. I ¿eby¶ sobie zrobi³ iterator, klasê polimorficzn± czy RTTI - musisz sobie to sam napisaæ. Z reszt± ¿adnych template z C te¿ w asm nie ma - wiêc bêdziesz pisa³ 150 razy to samo je¶li bêdziesz mia³ np. 150 "emulowanych klas".
W tym momencie Ty zwariowa³e¶. To jest w³a¶nie podej¶cie dinozaura - byle nawaliæ kodu, reszt± niech siê zajmuj± coraz dro¿sze uk³ady graficzne.
50$ to 2x szybszy uk³ad graficzny... albo godzina pracy programisty. Je¶li nie sprzedajesz oprogramowania w setkach / tysi±cach egzemplarzy rachunek jest oczywisty.
Nie pomyli³em. Id±c dalej Twoim tokiem my¶lenia wszyscy powinni pisaæ w czystym API, wiêc czemu nie od razu w Assemblerze?
A po co dok³adaæ przed wywo³aniem ka¿dej instrukcji API 150 linijek ASM'a. Podej¶cie poronione równie ¶wietnie - jak odwo³ania do API z C#. Po co odwo³ywaæ siê do aplikacji napisanej w jêzyku wy¿szego poziomu - z jêzyka ni¿szego poziomu?
To tak jakby¶ sobie zaimplementowa³ bibliotekê numeryczn± w C++ a ... wej¶cie z klawiatury, gdzie u¿ytkownik podaje co liczyæ napisa³ w ASM. Czyli zamiast szybkiej biblioteki numerycznej masz... szybkie procedury obs³ugi naciskanych klawiszy, które zajmuj± 0,0001% czasu wykonywania programu.
C64 nie by³ taki z³y - do dzisiaj ¶wiêci triumfy moddingu i tuningu.
Trabanty, syreny i maluchy te¿ ;)
"ALGORYTM obs³ugi sterownika ma tu ogromne znaczenie" - ¶miechu warte.
Jaki "algorytm obs³ugi sterownika", g³upoty jakie¶ piszesz. Jak ju¿ co to algorytm. Wiesz chocia¿ co to jest z³o¿ono¶æ obliczeniowa. o(n^3) w ASM, czy o(n^2) w VisualBasic?
I wybacz, ale pisanie ca³ego systemu (jak to ¶miesznie uj±³e¶) wy³±cznie w Assemblerze doprowadzi³oby do zajechania programistów
W³a¶nie, a ty polecasz do programowania jêzyk, który nie nadaje siê do niczego innego - jak do pisania wstawek optymalizacyjnych.
Assemblera - o ironio w³a¶nie z C64 - znam od 8 roku ¿ycia. To wy³±cznie do Twojej wiadomo¶ci.
Skoro znasz, to powiniene¶ najlepiej wiedzieæ, dlaczego oszczêdziæ tej "przydatnej wiedzy" innym. Jakie procedury O/S ostatnio zoptymalizowa³e¶, jaki fragment gry który nie móg³ siê obej¶æ bez ASM napisa³e¶? Wiem, ¿e fajnie siê na commodore w ASM mruga ekranem, albo animuje paski - tylko pytanie, kto w dzisiejszych czasach za tak± wiedzê zap³aci.
Mówi³em i nadal bêdê tego broni³, ¿e podstawy tego jêzyka nale¿y znaæ i wykorzystywaæ go w celach OPTYMALIZAJCJI z³o¿onych i czasoch³onnych algorytmów - no ale niestety o tym wy¿ej i tu siê najwidoczniej nie dogadamy.
No nie dogadamy siê chyba bo:
a.) pomijasz z³o¿ono¶æ algorytmiczn±, optymalizacja algorytmu to optymalizacja pesymistycznej/optymistycznej/oczekiwanej z³o¿ono¶ci czasowej, matematyka, obliczenia, dowody, etc. To zadanie dla ludzi po studiach matematycznych z elementami informatyki. Ty tutaj - w w±tku za³o¿onym przez go¶cia, który szuka pierwszego jêzyka - gadasz o optymalizacj. Chcesz optymalizowaæ - id¼ na 5-letnie studia z wy¿sz± matematyk±. Optymalizacja to nie zast±pienie i++; INC'em z ASMA.
b.) Naczyta³e¶ siê chyba za du¿o og³oszeñ o pracê w polskich gazetach. Co maj± PODSTAWY do optymalizacji? Przecie¿ to zajêcie trudne, czasoch³onne i du¿o bardziej nara¿one na b³êdy, niekompatybilno¶ci ni¿ pisanie "zwyk³ego kodu". Je¶li chcesz, ¿eby osoba która zna podstawy zajê³a siê optymalizacj± - to jedynym efektem tego bêdzie spieprzony kod, który byæ mo¿e bêdzie dzia³a³ i tak wolniej, ni¿ kod C++ po optymalizacji kompilatora.
"Zatrudniê osobê znaj±c± doskonale java, c#, .net, MFC, SQL, aplikacje webowe, usability, C++, ATL, STL, OLE, COM" - no i oczywi¶cie jeszcze "optymalizacjê w ASM i photoshopa" :brawo:
Co ma pisanie gier do obliczeñ w centrach obliczeniowych? Co ma C do javy. Je¶li masz grida z³o¿onego z komputerów na uczelni, to co bêdzie lepsze. Wspó³bierzny program w C który wykona siê tylko i wy³±cznie na konkretnym OS/architekturze tak, ¿e 50% komputerów bêdzie marnowa³o cykle s³u¿±c jako maszyna do pisania, czy program w java który wykona siê bez problemów na wszystkim i jego stworzenie zajmnie 50% mniej czasu.
Chyba ci umknê³o, ¿e je¶li tworzysz co¶ w celu rozwi±zania konkretnego problemu - to wliczasz te¿ czas powstania oprogramowania, który ten problem rozwi±¿e. Po co traciæ np. 5 dni, je¶li prze³o¿y siê to na 2 minuty dzia³ania algorytmu który planujemy uruchomiæ 2 razy?
A ja dam innÄ… radÄ™ na programowanie.
Każdemu kto zaczyna się uczyć radzę to samo - zrób sobie podstawowe tutoriale kilku jezyków i zobacz co sprawia Ci najwięcej przyjemności. Tak naprawdę programowanie jest czymś w rodzaju sztuki i na każdej platformie można miec sukcesy, jesli tylko się to lubi. Każda platforma gdzieś znajdzie zastosowanie. Nauka raczej nigdy nie idzie w las.
bardzo pożyteczny, post, który dostarczył mi wielu info:) dzieki
Powered by vBulletin™ Version 4.2.2 Copyright © 2022 vBulletin Solutions, Inc. All rights reserved.