Tworzenie przeno
Tworzenie przenośnego oprogramowanioa
Miałem przez dwa semestry na studiach programowanie w Pascalu w środowisku Delphi - Programowanie I (semestr 1) oraz Algorytmy i Struktury Danych (semestr 2). Pisaliśmy tylko programy konsolowe bez wykorzystania obiektowych możliwości Object Pascala. Do tego przez jeden semestr programowanie w C / C++ (semestr 2) - również tylko konsola. Jak narazie mało umiem, ale od pewnego czasu zastanawia mnie jak tworzyć przenośny kod, tzn. żeby dało się go kompilować zarówno pod Windowsem jak i Linuksem oraz żeby działał poprawnie. Proszę wpisujcie wszelkie porady i sugestie.
O javie też myślałem. Słyszałem, że można nieźle zarobić, jeżeli się jest dobrym programistą javy. Narazie nie miałem styczności z tym językiem. W przyszłym semestrze się zacznie.
Czekam na opinię kogoś kto ma szersze pojęcie bądź pracuje jako programista. Chciałbym dowiedzieć się w jakich językach programowania najbardziej się opłaca umieć programować, aby dostosować się do wymagań rynku. Wiadomo - C / C++ to obowiązkowo trzeba mieć w paluszku. Do tego warto dobrze umieć javę + jakiś język skryptowy. Myślałem o Pythonie lub Ruby.
A ogólnie (co jest moim głównym wątkiem) - jakie są zasady, z których należy korzystać żeby tworzyć przenośny kod (obojętnie w jakim języku programowania)?
edycja: beel, przeczytałem notkę na wikipedii na temat prologa. Robi okropne wrażenie. Ten ścisły związek z logiką jest naprawdę przerażający. Logika dla informatyków to był najobrzydliwszy przedmiot w mojej dotychczasowej "karierze" na uczelni, z logiką w potocznym tego słowa znaczeniu nie mający nic wspólnego poza nazwą.
Czekam na opinię kogoś kto ma szersze pojęcie bądź pracuje jako programista. Chciałbym dowiedzieć się w jakich językach programowania najbardziej się opłaca umieć programować, aby dostosować się do wymagań rynku. Wiadomo - C / C++ to obowiązkowo trzeba mieć w paluszku. Do tego warto dobrze umieć javę + jakiś język skryptowy. Myślałem o Pythonie lub Ruby.
A ogólnie (co jest moim głównym wątkiem) - jakie są zasady, z których należy korzystać żeby tworzyć przenośny kod (obojętnie w jakim języku programowania)?
edycja: beel, przeczytałem notkę na wikipedii na temat prologa. Robi okropne wrażenie. Ten ścisły związek z logiką jest naprawdę przerażający. Logika dla informatyków to był najobrzydliwszy przedmiot w mojej dotychczasowej "karierze" na uczelni, z logiką w potocznym tego słowa znaczeniu nie mający nic wspólnego poza nazwą.
@wojak, pracuję jako programista Java i powiem tyle - bynajmniej nie trzeba mieć w paluszku tego, czym akurat się nie zajmujesz. Ja np. z C/C++ wiem tyle, ile zostało mi ze studiów, więc bynajmniej nie mam tego "w paluszku" i myślę, że takich osób jest znacznie więcej. Bądź co bądź, dziedzina jest obszerna, a specjalizacja dość ścisła. Inna sprawa, że absolwent informatyki z pewnym doświadczeniem w programowaniu powinien być w stanie się przekwalifikować bez większych problemów.
Według mnie, jeśli już zna się jakiś język programowania, bardziej od popularnych języków skryptowych ogólnego zastosowania przydaje się znajomość technologii internetowych (html, css, js).
A odpowiedź na Twoje pytanie jest dość prosta, w uproszczeniu można ją zawrzeć w jednym zdaniu: nie korzystaj z bibliotek zależnych od konkretnej platformy. A to, że to nie zawsze takie proste, oczywiste i łatwe w realizacji, to już zupełnie inna historia ;-)
Według mnie, jeśli już zna się jakiś język programowania, bardziej od popularnych języków skryptowych ogólnego zastosowania przydaje się znajomość technologii internetowych (html, css, js).
A odpowiedź na Twoje pytanie jest dość prosta, w uproszczeniu można ją zawrzeć w jednym zdaniu: nie korzystaj z bibliotek zależnych od konkretnej platformy. A to, że to nie zawsze takie proste, oczywiste i łatwe w realizacji, to już zupełnie inna historia ;-)
Wbrew pozorom przydaje się. Bardzo, ale to bardzo. Więc jeśli chcesz programować... przykro mi :-Pedycja: beel, przeczytałem notkę na wikipedii na temat prologa. Robi okropne wrażenie. Ten ścisły związek z logiką jest naprawdę przerażający. Logika dla informatyków to był najobrzydliwszy przedmiot w mojej dotychczasowej "karierze" na uczelni, z logiką w potocznym tego słowa znaczeniu nie mający nic wspólnego poza nazwą.
Praktycznie każdy język ma implementacje swoich kompilatorów/interpreterów w większości systemach, więc z wyborem nie trzeba się zastanawiać.
Czym innym jest natomiast wybór bibliotek. WinForms będzie złym pomysłem, bo będzie działać tylko na Windowsie, tak samo jak DirectX. ¯eby napisać wieloplatformową grę 3D, należy użyć OpenGL.
"Logika dla informatyków" była koszmarem? Heh, kolejny informatyk, który nie lubi matematyki? Cóż, bezmyślnych klepaczy kodu też brakuje.
Czym innym jest natomiast wybór bibliotek. WinForms będzie złym pomysłem, bo będzie działać tylko na Windowsie, tak samo jak DirectX. ¯eby napisać wieloplatformową grę 3D, należy użyć OpenGL.
"Logika dla informatyków" była koszmarem? Heh, kolejny informatyk, który nie lubi matematyki? Cóż, bezmyślnych klepaczy kodu też brakuje.
http://pl.wikipedia.org/wiki/WxWidgets
to ci umożliwi stworzenie kodu przenośnego pomiędzy poszczególnymi platformami. Można też do tego wykorzystać qt oraz gtk lecz powyższe jest mniej problematyczne.
to ci umożliwi stworzenie kodu przenośnego pomiędzy poszczególnymi platformami. Można też do tego wykorzystać qt oraz gtk lecz powyższe jest mniej problematyczne.
Abstrachując od przenośności: java, C# (zwłaszcza asp.net), php, C++ (w tej kolejności) - jeżeli chcesz mieć fajną pensję jako programista. I bazy danych Oracle (dobry oraclowiec ~10 tys/mies), MS SQL w połączeniu z C#Chciałbym dowiedzieć się w jakich językach programowania najbardziej się opłaca umieć programować, aby dostosować się do wymagań rynku.