Jaki język do pisania programów?


(Mxmstudio) #1

Jaki polecacie język do pisania programów typu: notatnik, kalkulator, paint, vlc media player.?

Myślę że Python będzie dobry, bo można stosować składnie html którą znam, ale nie wiem czy da się zrobić aplikacje podane powyżej.

Chodzi mi o darmowe języki.


(Simon1991) #2

Python może być. Możesz też zainteresować się np. C++, C, Java. Języków masz do wyboru dużo.


(scripter1) #3

Zazwyczaj tego typu programy pisze się w C/C++ i w tym języku są zwykle ich źródła, kiedyś pisało się w pascalu ale to już stare dzieje.

Jeśli chcesz móc stosować składnię html (np. do opisu wyglądu interfejsu) to możesz zainteresować się językiem PHP.

Co prawda jest to język stosowany głównie do opisu stron www ale ma zbliżoną składnię do C++ i podobne możliwości, a używając kompilatora PHP do exe można tworzyć programy w php z interfejsem html lub np. portfolio stron www do przeglądania offline i to zawarte w jednym samodzielnym wykonywalnym pliku exe.


(Mxmstudio) #4

PHP już znam. Zainteresuje się językiem c++, ale w nim tworzy się aplikacje tekstowe jak zrobić aplikacje okienkową w tym języku.


(scripter1) #5

Bardzo podobnie tylko używasz dodatkowej biblioteki i kompilatora okienkowego np. Borland C++ Builder, z tego co wiem to nowsze wersje Delphi też obsługują C++ oprócz pascala.


(etam) #6

Możesz zainteresować się biblioteką Qt.


(Mxmstudio) #7

A co myślicie o visual studio c++ express.


(Aglasek) #8

Polecam Jave (Swing) do aplikacji okienkowych a jako narzedzie NetBeans i jego Matisse (oczywiscie wszystkiego za Ciebie nie wykona)


(scripter1) #9

Java jest efektowna ale w praktyce potrafi mocno obciążać komputer przez to że programy są uruchamiane w wirtualnej maszynie javy.


(Aglasek) #10

Ale za to działa pod każdym systemem


(scripter1) #11

boleq , owszem ale coś za coś, java potrafi mulić mocno kompa nawet pod linuxem.


(Somekindsoftware) #12

To sa jakieś płatne języki? :expressionless:

W C++ tworzy się programy. Mogą nie mieć żadnego interfejsu użytkownika nawet konsolowego. ;]

To jaki będziesz miał interfejs zależy od Ciebie, nie od języka. Zazwyczaj jeśli w języku można tworzyć aplikacje konsolowe, to można również (przy użyciu odpowiednich bibliotek) tworzyć takie z interfejsem graficznym, a nie raz i webowym.

Do stworzenia GUI w C++ możesz użyć WinAPI, wxWidgets, MFC, Qt - wszystko zależy od tego na jaki system i co chcesz uzyskać. Niemniej jednak są znacznie przyjemniejsze rozwiązania jeśli chodzi o tworzenie aplikacji okienkowych niż C++.

A tak w ogóle, to: http://4programmers.net/In%C5%BCynieria_oprogramowania/Jaki_j%C4%99zyk_programowania_wybra%C4%87

Możesz rozwinąć? Jak bardzo? Jesteś w stanie zmierzyć różnice w wydajności aplikacji natywnych i pracujących pod JVM?

Najbardziej zamulającym programem, jaki znam, jest Firefox. Tylko zdaje się, że on jest pisany w tym wspaniałym C++, nie zamulającej Javie. ;]


(etam) #13

Jeżeli chcesz się uzależnić od jedynej słusznej platformy to proszę bardzo. Ja bym jednak sugerował korzystać z wolnych (as in freedom) i multiplatformowych technologii (nawet jeżeli nie zamierzasz bawić się z innymi systemami).


(scripter1) #14

Wiem do czego zmierzasz ale jak się pewnie orientujesz nie ma (lub ciężko znaleźć) programów użytkowych napisany jednocześnie w javie i jakimś innym języku aby można było to porównać.

Poza tym także sama wirtualna maszyna javy jest robiona równolegle przez co najmniej 2 firmy (przynajmniej na windows jest wybór) co też nie jest bez znaczenia dla wydajności.

Ale podeprę się przykładem pewnej dystrybucji linuxa live z interfejsem w javie którego ściągnąłem jakieś 2 lata temu (oczywiście legalnie).

Jak wtedy odpalałem go na moim P3 1GHz 512 MB RAM zamulał totalnie i nie szło na tym pracować.

Gdy zmieniłem kompa na nowego odpaliłem tą samą płytę na nowym z dwurdzeniowym Athlonem x2 64 5000+ i 2GB RAM i ku mojemu zdziwieniu wydajność działania w zasadzie się nie zmieniła i interfejs nadal zamulał kompa.

Poza tym znajomy linuxowiec (linux fanboj bym nawet powiedział) ma na swoim kompie linuxa z zainstalowanym interfejsem Compiz (w javie) i narzeka że jest to dość mulące (zresztą sam widziałem) i że niestety potrafi się dość często wysypywać.

Jeszce jeden przykład to efekty wizualne w js na stronach www (tak, wiem że to co innego niż java ale jednak pochodne od javy a niedaleko pada jabłko od jabłoni) - dodanie zwykłego efektu padającego śniegu i już użycie procka na moim kopie (Athlon x2 64 5000+, 2GB RAM) skacze z 3% do 70% a gdy zablokuję w ABP odpowiedzialny za ten efekt plik js znów spada do 3%.

Dlatego piszę że java jest efektowna ale muląca.

Osobiście radziłbym jednak C++ (lub php kompilowane do exe).

Programy pisane w C++ też można kompilować zarówno pod win, linuxa czy inne systemy ale faktycznie trzeba je od nowa skompilować na danej platformie a kod często trzeba odpowiednio zmodyfikować w miejscach gdzie program odwołuje się do specyficznych funkcji systemowego api, za to unika się pośrednika w postaci JVM.

Dodam jeszcze jeden argument na + dla języka C++: jądro linuxa jest pisane w całości w C++ (wcześniej w C; w odróżnieniu od jądra win które piszą chyba w asemblerze) a nikt nie powie że jest ono mułowate.

PS: Trochę się rozpisałem ale chyba wszystko jest na temat.


(Mxmstudio) #15

Dzięki wszystkim, postanowiłem nauczyć się C++.


(pebal) #16

Jeżeli na Windows to polecam język C#, łatwy do nauczenia, posiadający bogate biblioteki, wykorzystujący GC.

Język C++ jest ok, jednak jest bardziej złożony, przez co jest trudniejszy w nauce, jego biblioteka standardowa jest dosyć skromna. Warto znać ten język aby móc pisać wydajne moduły dla programów pisanych w innym językach, jednak główne części aplikacji dużo szybciej pisze się w językach takich jak C#.


(Marcin 110) #17

scripter1 , piszesz głupoty

Compiz jest w całości w C++, wcześniej był w C (http://lists.freedesktop.org/archives/compiz/2008-December/003227.html)

Widać, że nigdy nie pisałeś w js. Zupełnie inna obiektowość (prototypowa), funkcyjny, dynamicznie typowany... z jabłka pod jabłonią wyszła gruszka na wierzbie. Jeśli js bardzo muli, to polecam sprawdzić na przeglądarce z WebKit (Chromium/Chrome/Safari). Różnica jest ogromna w porównaniu do FF czy IE.

Jedyne jądro, o jakim słyszałem, że jest pisane w C++ należy do systemu Haiku. Reszta (w tym Linux i Windows) pisana jest zwykle C z niewielkim dodatkiem ASM.

tak, tyle że bez sensu.

mxmstudio ,

C++ nie polecam na pierwszy język - ma sporo przedziwnych konstrukcji, jednak jest dużo wygodniejszy niż C dzięki rozbudowanej bibliotece standardowej. Jeśli dynamiczne typowanie (skutkujące nieczytelnością kodu) Ci nie przeszkadza, polecam Python + Qt.


(scripter1) #18

flash4gordon , co do Compiza faktycznie mogę się mylić ale uruchamia on wirtualną maszynę javy więc wydało mi się to jednoznaczne (jeśli nie jest w całości w javie to używa jej).

Co do js to pisałem w tym troszkę ale faktycznie nie mam pełnego obrazu bo w samej javie nie pisałem.

Co do jądra linuxa to jest tak jak napisałem czyli kiedyś był pisany w C a potem przeskoczyli na C++ (lub przynajmniej na kompilator C++ bo o tym pisali oni sami), na temat jąder innych systemów nie mam wiarygodnych informacji więc się nie wypowiadam.

Skoro kolega pisze że zna już PHP to i z C++ se poradzi.


(Marcin 110) #19

scripter1 , skoro nie pisałeś w Javie, to skąd wiesz, że muli?

Skoro Compiz uruchamia JVM, to ten pakiet byłby wykazany w zależnościach :?: A może JVM wchodzi w skład Compiza #-o ? A może Compiz z Javą nie nic wspólnego? =D>

A co im po kompilatorze C++, skoro kod jest napisany w C. Raczej nie skompiluje, bo C++ nie jest kompatybilny z C. Z resztą, tu masz odpowiedź, dlaczego Linux nie jest napisany w C++. Jeśli chcesz dowodu, że Linux nie jest kompilowany za pomocą g++, to ściągnij sobie źródła (legalnie oczywiście) i przejrzyj pliki Makefile. Poza tym, skoro sugerujesz, że "pisali oni sami", to wypadałoby chociaż podlinkować tę wypowiedź.

na żadne z powyższych też nie miałeś prawdziwych ani tym bardziej wiarygodnych informacji, a mimo to się wypowiedziałeś i jeszcze kręcisz.

Może se poradzi, a może se nie poradzi.

Przepraszam za te osobiste wycieczki, ale jesteś strasznym ignorantem.


(scripter1) #20

Wiem bo widziałem efekty działania javy, chociażby we wspomnianym przeze mnie linuxie (distro nazywało się chyba L3G lub coś w tym stylu).

Sprawdziłem na SeaMonkey (starszy brat FF - ale to pewnie wiesz skoro jesteś taki mądry), Chrome oraz Safari (wszystkie w najnowszych wersjach na tym samy systemie) stronkę ze wspomnianym przeze mnie efektem śniegu w js (http://www.schillmania.com/projects/snowstorm/) i wszystkie trzy przeglądarki po załadowaniu tej strony ciągnęły ok 30% mojego procka a po jej zamknięciu 0% więc niestety ale obaliłem twoją teorię.

To mój ostatni post w tym wątku bo kolega już zdecydował a nie zamierzam się wykłócać.