Tworzenie przeno

Potrzebujesz pomocy z C, C++, perl, python, itp.
wojak
Beginner
Posty: 129
Rejestracja: 04 lutego 2009, 15:59

Tworzenie przenośnego oprogramowanioa

Post 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.
tomii
Junior Member
Posty: 687
Rejestracja: 21 października 2007, 13:27

Post autor: tomii »

Może zadowoli cię java?
beel
Beginner
Posty: 340
Rejestracja: 28 marca 2007, 07:06

Post autor: beel »

Java, Python, Prolog.
wojak
Beginner
Posty: 129
Rejestracja: 04 lutego 2009, 15:59

Post 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ą.
genobis
Beginner
Posty: 353
Rejestracja: 21 lipca 2008, 21:59
Lokalizacja: Trzebinia

Post 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
Awatar użytkownika
Rafal_F
Moderator
Posty: 2350
Rejestracja: 29 sierpnia 2008, 16:45

Post 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.
ponton
Beginner
Posty: 406
Rejestracja: 24 stycznia 2007, 01:40
Lokalizacja: Kalisz/Wroc³aw

Post 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.
python
Posty: 7
Rejestracja: 23 grudnia 2008, 22:11
Lokalizacja: Ruda ¦l±ska

Post autor: python »

popieram Rafal_F, polecam C++ i przenośne biblioteki (wx, qt)
gielo
Beginner
Posty: 168
Rejestracja: 20 maja 2009, 17:20
Lokalizacja: Che³m

Post 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.
giaur
Member
Posty: 1915
Rejestracja: 25 maja 2007, 22:16

Post 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#
ODPOWIEDZ