Witam drogich forumowiczów!
Ostatnimi czasy myśle o znalezieniu pracy jako programista(od dłuższego czasu się tym interesuje), i teraz zastanawiam się nad wyborem języka. (Java lub C++)
W przyszłości chciałbym zajmować się proramowaniem fizyki w grach i może jeszcze tworzeniem drobnych aplikacji na smartfony.
Chciałbym by polecony mi język był w miare prosty do nauczenia i nie był zbyt skomplikowany pod względem programowania obiektowego.
Mam nadzieje że mi pomożecie.
"proramowaniem fizyki w grach"
jezeli chcesz to robic to tylko C++
Java. Minecrafta napisano w Javie i zobacz co się dzieje.
W przyszłości chciałbym zajmować się proramowaniem fizyki w grach
Rzadko tworzy się silniki od nowa, zazwyczaj korzysta się z gotowych rozwiązań.
Chciałbym by polecony mi język był w miare prosty do nauczenia i nie był zbyt skomplikowany pod względem programowania obiektowego.
Java jest zdecydowanie prostsza.
i może jeszcze tworzeniem drobnych aplikacji na smartfony.
Zależy jakie smartfony. Jeśli Android to Java.
Polecam rzut monetą.
Wybitny Kaczor napisał(a):
proramowaniem fizyki w grach
C++
tworzeniem drobnych aplikacji na smartfony
Java
był w miare prosty do nauczenia
nie C++
Co znaczy, że od dłuższego czasu interesujesz się programowaniem? Znasz już jakieś podstawy czegoś?
Jakiś czas uczyłem się C++ z megatutoriala Xiona, przerobiłem połowe kursu.
Jeszcze kilka pytań:
Dlaczego c++ jest trudniejszy od javy skoro mają podobną składnie?
Jeżeli chciałbym tworzyć programy symulacyjne na potrzeby badań fizycznych itp, to jaki język wybrać, java c++ a może inny?
Wybitny Kaczor napisał(a):
Jakiś czas uczyłem się C++ z megatutoriala Xiona, przerobiłem połowe kursu.
Jak możesz to znajdź jakąś książkę/tutorial z C++11. Tutorial Xiona był niezły dekadę temu, ale opisuje stary standard.
Dlaczego c++ jest trudniejszy od javy skoro mają podobną składnie?
Dlaczego prowadzenie busa jest trudniejsze od osobówki, skoro i to i to ma kierownicę, pedały, dźwignię biegów?
Wybitny Kaczor napisał(a):
Jeżeli chciałbym tworzyć programy symulacyjne na potrzeby badań fizycznych itp, to jaki język wybrać, java c++ a może inny?
To zależy od kilku czynników, m. in.:
- W jakim labie byś się znalazł;
- Jakie procesy fizyczne byś analizował;
- Jaki charakter miałyby mieć symulacje, badania, obliczenia;
- Na jak wielkich setach danych byś pracował i jaką wydajnością musiałyby się odznaczać wykonywane obliczenia;
I pewnie jeszcze wiele innych.
Ogólnie rzecz biorąc, obecnie językiem nauki jest Python. Powoli odchodzi się od Matlaba. Wbrew pozorom korzysta się również z Javy i w mniejszym stopniu z C++. Mówię tutaj oczywiście o programowaniu w celach obliczeniowych, symulacyjnych itp. Na aparaturę pisze się zwykle (choć też zależy od aparatury) w różnych wariacjach ASM'a.
Ogólnie rzecz biorąc, obecnie językiem nauki jest Python. Powoli odchodzi się od Matlaba. Wbrew pozorom korzysta się również z Javy i w mniejszym stopniu z C++. Mówię tutaj oczywiście o programowaniu w celach obliczeniowych, symulacyjnych itp. Na aparaturę pisze się zwykle (choć też zależy od aparatury) w różnych wariacjach ASM'a.
- Python faktycznie jest dość powszechnie stosowany, ale zwykle do wykonywania "końcowych" obliczeń, malowania wykresów etc.
- Do obliczeń na dużych ilościach danych używa się C++ ze względu na czas. Nawet kilka % różnicy to są czasem całe dni na klastrze.
- Rozumiem ze przez "aparature" rozumiesz elektronike dla detektorów? To raczej FPGA albo w ogóle jakieś ASIC. Nie widziałem żeby ktoś gdzieś pisał w asmie.
Shalom napisał(a):
- Python faktycznie jest dość powszechnie stosowany, ale zwykle do wykonywania "końcowych" obliczeń, malowania wykresów etc.
- Do obliczeń na dużych ilościach danych używa się C++ ze względu na czas. Nawet kilka % różnicy to są czasem całe dni na klastrze.
- Rozumiem ze przez "aparature" rozumiesz elektronike dla detektorów? To raczej FPGA albo w ogóle jakieś ASIC. Nie widziałem żeby ktoś gdzieś pisał w asmie.
1-2. To zależy jakie dziedziny i procesy się bada. Tam, gdzie obliczenia są tak złożone, że trzeba korzystać z połączonych węzłów, czy superkomputerów, to oczywiście C++. Nie ulega wątpliwości, że Python jest dwa- trzy rzędu wolniejszy od C++.
- Nie myślałem o detektorach. Miałem w głowie raczej powszechną aparaturę pomiarowo/generującą, która umożliwia programowanie I/O itp.
Gjorni napisał(a):
Ogólnie rzecz biorąc, obecnie językiem nauki jest Python. Powoli odchodzi się od Matlaba.
A nie odchodzi sie czasem od Pythona na korzysc R?
WUT?
Ani Matlab nigdy nie był językiem nauki, ani się od niego nie odchodzi.
Jeśli już sie od czegoś "odchodzi" to jest to fortran, a i to niekoniecznie ;) 2 prezentacje na które mogłem sie dzis wybrać to:
Generic approach to Legacy Fortran code porting on GPU
i Adopting Fortran legacy code for ensemble simulations on GPU: the experience with Sixtrack
;)