Strona 1 z 2

Tworzenie przenośnego oprogramowanioa

: 02 lipca 2009, 15:45
autor: wojak
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.

: 02 lipca 2009, 16:09
autor: tomii
Może zadowoli cię java?

: 02 lipca 2009, 16:47
autor: beel
Java, Python, Prolog.

: 02 lipca 2009, 16:55
autor: wojak
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ą.

: 02 lipca 2009, 17:09
autor: genobis
@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 ;-)
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ą.
Wbrew pozorom przydaje się. Bardzo, ale to bardzo. Więc jeśli chcesz programować... przykro mi :-P

: 02 lipca 2009, 17:12
autor: Rafal_F
C/C++ i do tego korzystanie z multiplatformowych bibliotek: qt, gtk, wxwidget itp.

Edit: przejrzyj sobie oferty pracy, oprócz javy to C#, php.

: 09 lipca 2009, 18:58
autor: ponton
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.

: 12 lipca 2009, 15:41
autor: python
popieram Rafal_F, polecam C++ i przenośne biblioteki (wx, qt)

: 12 lipca 2009, 15:50
autor: gielo
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.

: 12 lipca 2009, 20:40
autor: giaur
Chciałbym dowiedzieć się w jakich językach programowania najbardziej się opłaca umieć programować, aby dostosować się do wymagań rynku.
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#