'Desktopontwikkeling' : Waar te leren ?

Pagina: 1
Acties:
  • 746 views sinds 30-01-2008
  • Reageer

  • sky-
  • Registratie: November 2005
  • Niet online

sky-

qn ella 👌

Topicstarter
Als Webontwikkelaar wil ik me nu ook wel eens storten op het ontwikkelen van desktop applicaties. Enkel hoeven ze niet super lastig te zijn, een van de eisen die ik stel is dat het moet comminuceren met mijn webapplicatie, afijn : de database daarvan. (Postgre of in sommige gevallen MySQL) Echter heb ik totaal GEEN ervaring met het ontwikkelen van desktop applicatie op een enkele wijze.

Ik programmeer al een aantal jaren PHP en dat gaat me goed af. Ik blijf goed bij van de laatste ontwikkeling en ververs m'n informatie redelijk vaak dmv Internet.

Echter, nu weet ik niet in welke taal ik het "beste" zou kunnen ontwikkelen voor desktop applicaties. Ik werk in een Windows omgeving, en hoor veel van vb, C# en C++. Nu weet ik niet welke keuze de verstandigste is.

PHP Informatie haal ik dus vaak van 't internet af, omdat ik de resources daarvan weet te vinden, echter weet ik dat van vb, c#, C++ niet. Zijn er geen online "tutorials" waar ik doorheen kan werken en zodoende het mezelf aan kan leren om een applicatie te gaan schrijven ?

Ik ben zeer leergierig, dus daar zit het probleem niet. Het lijkt me ook gewoon leuk om eens een desktop applicatie te maken ipv een webapplicatie.

Dus mijn vragen zijn :
- Welke programmeer taal is het fijnste om te leren en biedt een goed toekomstperspectief ? Eventueel "portable" maken naar Linux zou in de toekomst ook leuk zijn, maar dat is zeker op het begin nog geen pre.
- Welke resources worden gebruikt om goede en duidelijke informatie vandaan te halen ?

Ik ontwikkel in Windows XP / 2003, Vista is dus geen optie ivm ontbreken van licenties en geen interesse hebben in zon -brak- systeem.

Alvast bedankt.

don't be afraid of machines, be afraid of the people who build and train them.


  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 22:00
Probeer eens Visual Studio van Microsoft. Daarin kun je redelijk eenvoudig GUI's bij elkaar klikken. Ik zou van vb.net afblijven maar C# is wel een reeele optie. De syntax daarvan is voor een PHP'er herkenbaar.

Microsoft heeft op msdn.microsoft.com veel documentatie staan. Tutorials enzo weet ik niet. Ik zou persoonlijk een boek daarvoor aanschaffen als ik serieus werk van C# en .NET zou willen maken. Je krijgt dan ook een beter veeld van de klassen van het .NET framework.

  • sky-
  • Registratie: November 2005
  • Niet online

sky-

qn ella 👌

Topicstarter
Het gaat me niet zozeer om het " Makkelijker GUI's bij elkaar klikken " - Heb net gelezen dat het wel een OK programma is. Eens proberen - , ik wil najuist leren hoe het codekloppen gebeurt.

Een boek is een goed idee idd, misschien dat meer mensen nog tips hebben?

[ Voor 14% gewijzigd door sky- op 13-12-2007 11:59 ]

don't be afraid of machines, be afraid of the people who build and train them.


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 20:25

TeeDee

CQB 241

In Welke programmeertaal staat wel het e.e.a.

[ Voor 12% gewijzigd door TeeDee op 13-12-2007 11:46 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • ATS
  • Registratie: September 2001
  • Laatst online: 18-09 15:14

ATS

Mocht je het cross-platform aspect je aanstaan: Qt is een goede optie hier. Je kan er prima mee op windows ontwikkelen, maar je applicaties zijn eenvoudig te her-compileren voor *nix en mac. De documentatie is prima. In principe werk je met Qt in C++, hoewel er ook bindings zijn met andere talen waaronder java en python. Connecties met databases of webservices zijn niet moeilijk te maken in zo'n omgeving trouwens, het meeste ingewikkelde werk is al voor je gedaan.

Een boek over hoe C++ (of welke taal dan ook) werkt is natuurlijk wel aan te bevelen, gewoon om wat gestructureerder een deel van je basisinformatie bij elkaar gepresenteerd te krijgen dan je online gaat vinden. Als je eenmaal een klein beetje basis hebt, dan is de rest prima online te vinden bij elke taal en omgeving die je kiest denk ik.

Zelf denk ik dat crossplatform applicaties steeds belangrijker zullen worden in de toekomst. Er zullen meer en meer gemengde omgevingen komen, en applicaties kunnen bouwen die een opdrachtgever niet voor eeuwig aan een platform vastbinden wordt dan zeker een pré.

Een paar voorbeelden van applicaties die met Qt gemaakt zijn, zijn Google Earth, Skype en Adobe Photoshop Elements.

[ Voor 6% gewijzigd door ATS op 13-12-2007 12:03 ]

My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant


  • linde002
  • Registratie: Mei 2004
  • Laatst online: 01-02-2021
Misschien is het leuk om ook te kijken naar PHP-GTK2. Als je alleen een leuk desktop-appje in elkaar wilt prutsen kan je hier best leuke dingen mee maken.

Als je sleur en pleur wilt gebruiken voor het ontwerp van je GUI kun je Glade gebruiken.

Nadeel is alleen dat op sommige vlakken de documentatie wat karig is. Alhoewel sites zoals kksou (http://www.kksou.com) een hoop informatie bieden die de officiele site niet heeft.

Voordeel is dat je de ins & outs van PHP al kent en je dus alleen hoeft te richten op het leren van de UI

Daarnaast werkt Gtk ook onder linux (Gnome gebruikt deze library volgens mij) net zoals PHP (d'oh)

http://gtk.php.net/

[ Voor 24% gewijzigd door linde002 op 13-12-2007 13:39 . Reden: speelvouden & omissies ]


  • Salvatron
  • Registratie: April 2003
  • Niet online

Salvatron

Dispereert niet

k8skaaay schreef op donderdag 13 december 2007 @ 11:25:
PHP Informatie haal ik dus vaak van 't internet af, omdat ik de resources daarvan weet te vinden, echter weet ik dat van vb, c#, C++ niet. Zijn er geen online "tutorials" waar ik doorheen kan werken en zodoende het mezelf aan kan leren om een applicatie te gaan schrijven ?
Met PHP kan inderdaad ook een GUI gemaakt worden.
Dus mijn vragen zijn :
- Welke programmeer taal is het fijnste om te leren en biedt een goed toekomstperspectief ? Eventueel "portable" maken naar Linux zou in de toekomst ook leuk zijn, maar dat is zeker op het begin nog geen pre.
- Welke resources worden gebruikt om goede en duidelijke informatie vandaan te halen ?
Het fijnste zijn lijkt me programmeertalen die zo weinig mogelijk "gedoe eromheen" hebben. In dat geval dus scripttalen zoals python, daarmee schijn je ook GUI's te kunnen maken (heb ik nooit geprobeerd). Java vond ik wel handig om een GUI in te maken en ook niet zo moeilijk. Bovendien is java imho een leuke taal hoewel er ook vervelende kantjes aan zitten zoals perse foutafhandeling moeten doen. Andere talen ken ik niet wat betreft GUI. Python is portable met linux. Java op zich ook wel geloof ik.

[ Voor 3% gewijzigd door Salvatron op 13-12-2007 13:27 ]

Lucht en leegte, zegt Prediker, alles is leegte.


  • linde002
  • Registratie: Mei 2004
  • Laatst online: 01-02-2021
Voor python heb je de ingebouwde TK toolit. Daarnaast is het ook mogelijk om wxWidgets te gaan gebruiken. Beiden met hun voor & nadelen natuurlijk.

  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

python is geen programmeertaal maar een scripttaal, gebruik het dan aub ook niet as such.

Er zijn imo legio vergelijkbare topics. Even googlen op C# tutorial, Java Tutorial, C++ tutorial levert veel hits en zal je zeker op weg helpen.

Wil je een vlakke leercurve, neem dan een managed taal met uitgebreid standaard framework.
Wil je een steile leercurve, neem dan unmanaged taal waar je alles zelf moet bijeenzoeken.

ASSUME makes an ASS out of U and ME


Verwijderd

Wat is het verschil tussen een programmeer- en scripttaal?

Verwijderd

Als ik jou was zou ik met Visual Studio van MS beginnen idd, als je het juiste pakket "pakt" kan je kiezen uit (bijna) alle talen die je zelf al noemt...en als je al veel PHP ervaring hebt is de stap naar C# inderdaad vrij klein.

Een beginnersboek waar ik zelf wel tevreden mee ben, is alleen wel in het Engels, kan je hier vinden:
http://fhict.fontys.nl/St...olute_Beginner_(2002).pdf
(dit gebruik ik momenteel als 1e jaars ICT student @ de fontys)

  • linde002
  • Registratie: Mei 2004
  • Laatst online: 01-02-2021
H!GHGuY schreef op donderdag 13 december 2007 @ 18:54:
python is geen programmeertaal maar een scripttaal, gebruik het dan aub ook niet as such.
Om even offtopic te duiken. Waarom zou je een 'scripttaal' niet mogen gebruiken om desktopapplicaties te maken? In talen zoals python (en zelfs PHP-GTK) is er ondersteuning voor OOP, events en andere GUI zaken. Python heeft een grafische toolkit in de core distributie zitten als ik mij niet vergis. Dus mijn vraag is, waarom niet?

Verwijderd

Aangezien je op een gegeven moment ook wilt porten naar andere systemen, zou ik geen C# gebruiken.

C++ lijkt ook erg op PHP (PHP heeft er aardig wat dingen van geleend). Hier is een voor de hand liggende tutorial: http://www.cplusplus.com/doc/tutorial/ De standaard library is de STL, waarin een hoop datastructuren en andere handigheidjes zitten. Wat ontbreekt aan C++, is ingebouwde GUI. Je zal een cross-platform library als Gtk, Qt, of wxWidgets moeten downloaden om GUI-functionaliteit te krijgen. De Gtk-tutorial is simpel genoeg. Ook de Qt-tutorial is uiterst simpel, evenals de wxWidgets-tutorial.

Java lijkt ook een beetje op PHP. Het is alleen een stuk sterker object-geörienteerd. Het heeft een vrij gigantische standaard library, net zoals C#. Het voordeel van Java is dat het per definitie cross-platform is, zolang je je binnen de standaard library houdt. Je hoeft je java-programma niet eens opnieuw te compileren om het te laten werken op andere platformen. Datzelfde zou gelden voor C#, maar de interpreter van C# werkt alleen onder Windows. Java heeft ook een ingebouwde GUI. Een mooie tutorial van GoTter BalusC: http://balusc.blogspot.com/2006/04/java-tutorial.html Die gaat niet over GUI-programmeren in Java, maar als je eenmaal een beetje bekend bent met Java kan je makkelijk in de uitgebreide API-reference opzoeken hoe je bepaalde dingen moet doen. Of natuurlijk ergens een guide vandaan scharrelen.

  • Sijmen
  • Registratie: November 2004
  • Laatst online: 16-05 00:07
Ik zou gewoon voor C# en het .NET Framework gaan. Dat het alleen zou werken in Windows is niet helemaal waar–in veel belangrijke Linux distributies (waaronder Ubuntu) wordt al een .NET runtime meegeleverd, en met Gtk# kun je goede interfaces maken.

  • Not Pingu
  • Registratie: November 2001
  • Laatst online: 05-08 09:21

Not Pingu

Dumbass ex machina

k8skaaay schreef op donderdag 13 december 2007 @ 11:44:
Het gaat me niet zozeer om het " Makkelijker GUI's bij elkaar klikken " - Heb net gelezen dat het wel een OK programma is. Eens proberen - , ik wil najuist leren hoe het codekloppen gebeurt.
Als jij liever een GUI declaratief inricht dan moet je dat natuurlijk zelf weten ;)
Het 'GUI bij elkaar klikken' gedeelte is het topje van de ijsberg. In desktopsoftware kun je veel gave dingen doen. Denk aan 3D graphics, games, dat soort dingen. Code kloppen zul je nog genoeg doen, meer zelfs aangezien je clientside gewoon meer mogelijkheden hebt.

Er zijn een aantal goede gratis IDE's zoals de Visual Studio 2005 Express editions, Eclipse,... kijk daar eens naar zou ik zeggen.

Goede tutorials zijn wat lastiger omdat het ervan afhangt wat je wilt doen. Dat is bij desktop development een stuk breder dan in het web, waar het plaform de toepassing al een klein beetje dicteert.
Als game development je leuk lijkt, heeft Coding4fun een aantal erg leuke artikelen.

Certified smart block developer op de agile darkchain stack. PM voor info.


Verwijderd

Sijmen schreef op donderdag 13 december 2007 @ 20:38:
Ik zou gewoon voor C# en het .NET Framework gaan. Dat het alleen zou werken in Windows is niet helemaal waar–in veel belangrijke Linux distributies (waaronder Ubuntu) wordt al een .NET runtime meegeleverd, en met Gtk# kun je goede interfaces maken.
Het grote probleem daarmee is dat het niet precies hetzelfde werkt. Zelfs C++ is beter cross platform dan .NET vs Mono. Als je een beetje pijnloze transitie wilt, kan je beter Java+Eclipse gebruiken. Start Eclipse in Windows en programmeer wat, verhuis naar OSX en debug wat, verhuis naar Solaris en refactor wat, verhuis naar Linux en run je programma.

Wat is een reden om voor C#/.NET te kiezen boven Java? Java en C# hebben beide een garbage collector, beide goede documentatie, en beide een goede ontwikkelomgeving. Het ene is niet lastiger dan het ander.

  • /\/\|)
  • Registratie: Juli 2000
  • Laatst online: 15-08 18:22
Verwijderd schreef op donderdag 13 december 2007 @ 20:20:
[..]
Java lijkt ook een beetje op PHP. Het is alleen een stuk sterker object-geörienteerd. Het heeft een vrij gigantische standaard library, net zoals C#. Het voordeel van Java is dat het per definitie cross-platform is, zolang je je binnen de standaard library houdt. Je hoeft je java-programma niet eens opnieuw te compileren om het te laten werken op andere platformen. Datzelfde zou gelden voor C#, maar de interpreter van C# werkt alleen onder Windows. Java heeft ook een ingebouwde GUI. Een mooie tutorial van GoTter BalusC: http://balusc.blogspot.com/2006/04/java-tutorial.html Die gaat niet over GUI-programmeren in Java, maar als je eenmaal een beetje bekend bent met Java kan je makkelijk in de uitgebreide API-reference opzoeken hoe je bepaalde dingen moet doen. Of natuurlijk ergens een guide vandaan scharrelen.
[..]
Ik heb echter nog nooit een Java desktop applicatie gezien met een goede GUI. Het is het allemaal net niet.

Verwijderd

/\/\|) schreef op donderdag 13 december 2007 @ 21:38:
[...]


Ik heb echter nog nooit een Java desktop applicatie gezien met een goede GUI. Het is het allemaal net niet.
Wat dacht je van Azureus? Nogal log programma, maar de GUI is uitstekend. µTorrent heeft het ontwerp zo'n beetje gekopieerd. En Eclipse zelf is ook in Java geschreven, wat vind je daarvan?

Een GUI heeft helemaal niets te maken met een taal. Gtk is bijvoorbeeld beschikbaar voor C, C++, Python, C# en Java. Evenals Qt en wxWidgets. Heb je ook nooit een goede Gtk/Qt/wx-GUI gezien? Een GUI-ontwerp is, net als een programma-architectuur, vooral afhankelijk van de programmeur/usability-expert, en niet van de implementatie bovenop een framework.

[ Voor 12% gewijzigd door Verwijderd op 13-12-2007 21:59 ]


  • Remus
  • Registratie: Juli 2000
  • Laatst online: 15-08-2021
/\/\|) schreef op donderdag 13 december 2007 @ 21:38:
[...]
Ik heb echter nog nooit een Java desktop applicatie gezien met een goede GUI. Het is het allemaal net niet.
En daarvan geef je de taal de schuld? Slechte GUIs kom je in alle talen tegen, en dat heeft voornamelijk te maken met slechte of iig eigenwijze programmeurs die niet of nauwelijk rekening houden met gemak voor de gebruiker.

Zowel met Swing als met SWT zijn goede, snelle interfaces te maken. En ja, het is in Java (en in andere talen) altijd mogelijk om een trage of slecht ontworpen interface te maken, maar de schuld daarvan ligt toch echt hoofdzakelijk bij de ontwerper of programmeur.

Ik zie in dit topic veel technieken, frameworks en talen voorbij flitsen, maar ik vraag me af: is dat wat de TS bedoeld? Bedoelt hij niet meer: wat komt er kijken bij een goede interface, hoe maak je een goede interface? Dat lijkt mij iig veel interessanter dan welke techniek je gebruikt.

  • /\/\|)
  • Registratie: Juli 2000
  • Laatst online: 15-08 18:22
Remus schreef op donderdag 13 december 2007 @ 22:55:
[...]

En daarvan geef je de taal de schuld? Slechte GUIs kom je in alle talen tegen, en dat heeft voornamelijk te maken met slechte of iig eigenwijze programmeurs die niet of nauwelijk rekening houden met gemak voor de gebruiker.

Zowel met Swing als met SWT zijn goede, snelle interfaces te maken. En ja, het is in Java (en in andere talen) altijd mogelijk om een trage of slecht ontworpen interface te maken, maar de schuld daarvan ligt toch echt hoofdzakelijk bij de ontwerper of programmeur.
Ik doel eigenlijk meer op de "geliktheid" van de UI. Een UI in Java kan dan nog zo goed doordacht zijn, het mist toch net iets t.o.v. een native oplossing. En dat vind ik een nadeel van de UI-oplossingen onder Java, ook al is een goed UI ontwerp veel belangrijker.

Acties:
  • 0 Henk 'm!

  • ATS
  • Registratie: September 2001
  • Laatst online: 18-09 15:14

ATS

/\/\|) schreef op donderdag 13 december 2007 @ 23:57:
Een UI in Java kan dan nog zo goed doordacht zijn, het mist toch net iets t.o.v. een native oplossing. En dat vind ik een nadeel van de UI-oplossingen onder Java, ook al is een goed UI ontwerp veel belangrijker.
Al eens gekeken naar Qt Jambi? Daarmee kan je in Java applicaties bouwen met de Qt toolkit. Deze geeft native resultaten op windows en mac.

Ik denk dat een goede toolkit weldegelijk van belang is. Een toolkit meot je helpen om een goede UI te bouwen, en je niet in de weg zitten om dat te doen. Een goed ontwerp blijft natuurlijk ook van het grootste belang.

* ATS geeft toe dat hij Qt fan is.

My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant


Acties:
  • 0 Henk 'm!

  • Korvaag
  • Registratie: Januari 2000
  • Laatst online: 18-09 15:43
En Eclipse zelf is ook in Java geschreven, wat vind je daarvan
Wellicht beetje off topic en ook niet bedoeld om een discussie uit te lokken maar:
ik vind het op veel punten een draak van een programma ;) In sommige gevallen ineens wegvallende knoppen. Onduidelijke layouts, veel te ingewikkelde opzet qua structuur. 'frames' (om het maar zo te zeggen) met onvoorspelbaar gedrag bij resizen. Invoer bevestigen door op andere regels te klikken ipv een intuitieve [enter]. Ik gebruik Eclipse bij het werken met Progress Sonic ESB en Progress OpenEdge.

Wil niet zeggen dat er geen postieve ervaringen zijn, maar om het nou aan te dragen als een GUI +punt ben ik het niet mee eens :).

UNOX: The worst operating system


Acties:
  • 0 Henk 'm!

  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

Verwijderd schreef op donderdag 13 december 2007 @ 18:56:
Wat is het verschil tussen een programmeer- en scripttaal?
Om het quick'n dirty te zeggen:
applicaties maken doe je in een programmeer taal
iets bij elkaar hacken doe je in een scripttaal

De propere versie:
Als je meer dan 1 dag nodig hebt om iets in elkaar te steken, gebruik je liever een prog-taal
anders kun je gerust een scripttaal gebruiken.
linde002 schreef op donderdag 13 december 2007 @ 20:03:
Om even offtopic te duiken. Waarom zou je een 'scripttaal' niet mogen gebruiken om desktopapplicaties te maken? In talen zoals python (en zelfs PHP-GTK) is er ondersteuning voor OOP, events en andere GUI zaken. Python heeft een grafische toolkit in de core distributie zitten als ik mij niet vergis. Dus mijn vraag is, waarom niet?
Mooi, ze hebben ondersteuning maar het is er gewoon niet voor gemaakt/op voorzien.
Dat je in 5seconden een appje in elkaar peutert die snel even je MP3s op orde zet (incl GUI), sure.
Maar een onderhouden applicatie wil je heus niet maken in een scripttaal.

ASSUME makes an ASS out of U and ME


Acties:
  • 0 Henk 'm!

Verwijderd

H!GHGuY schreef op vrijdag 14 december 2007 @ 19:46:
[...]


Om het quick'n dirty te zeggen:
applicaties maken doe je in een programmeer taal
iets bij elkaar hacken doe je in een scripttaal

De propere versie:
Als je meer dan 1 dag nodig hebt om iets in elkaar te steken, gebruik je liever een prog-taal
anders kun je gerust een scripttaal gebruiken.


[...]


Mooi, ze hebben ondersteuning maar het is er gewoon niet voor gemaakt/op voorzien.
Dat je in 5seconden een appje in elkaar peutert die snel even je MP3s op orde zet (incl GUI), sure.
Maar een onderhouden applicatie wil je heus niet maken in een scripttaal.
Dit is echt enorme onzin.

Wat is het voor onzin argument dat 'als iets langer duurt dan 1 dag je het in een programmeertaal zou moeten maken' ?

Hoeveel webapplicaties zijn er wel niet geschreven in scripttalen (PHP, Python, Perl, Ruby?). Ik zie geen reden waarom dat in C++ oid zou moeten. (dat zou je echt niet moeten willen) Het voordeel is dat je enorm dynamisch bezig kan zijn met een geinterpreteerde taal.

Waar haal je vandaan dat scripttalen 'er niet voor gemaakt zijn' of er 'niet op voorzien zijn' ?

Vind je o.a. google's indexeer functionaliteit 'bij elkaar gehackt' ?

Acties:
  • 0 Henk 'm!

Verwijderd

Maar een onderhouden applicatie wil je heus niet maken in een scripttaal.
Waarom niet? Wat mist Python om er grotere programma's in te maken? Ik heb het altijd al raar gevonden om onderscheid te maken tussen programmeertalen en scriptingtalen, ook hier op GoT.

Op Wikipedia lees ik dat de term "scripting language" eigenlijk een synoniem is voor "high level language". Maarja, is PHP dan niet ook een script-taal? En Java? Beide erg high-level.

[ Voor 10% gewijzigd door Verwijderd op 14-12-2007 19:58 . Reden: +kwoot ]


Acties:
  • 0 Henk 'm!

  • robbert
  • Registratie: April 2002
  • Laatst online: 17-09 19:55
Laten we eerst eens de definitie van programmeertaal en scriptingtaal duidelijk maken, ik neem aan dat we het volgende bedoelen:
• Programmeertaal: je programma wordt vertaald naar machinetaal en levert een binary op.
• Scripttaal: je programma wordt door een interpreter gehaald op het moment deze uitgevoerd wordt.

Conclusie, dit zou hooguit iets zeggen over de snelheid (een binary uitvoeren gaat sneller dan iets door een interpretor heen gooien) / portabiliteit (een programma in machinetaal werkt over het algemeen maar op 1 architectuur/os). Niks over of het geschikt is voor grotere programma's, goed te onderhouden is, het vies is, etc.

Waar hoort Java dan eigenlijk bij?

Maar goed, neem als voorbeeld "programmeertaal" C en als voorbeeld "scripttaal" PHP dan ben ik van mening dat je in PHP een stuk nettere applicaties kan maken. Zeker gezien je er object geörienteerde programma's in kan maken en je dus code netjes van elkaar af kan schermen. Daarnaast heeft het een garbage collector en hoef je niet druk te maken om rommel op te ruimen. Ook hoef je je niet bezig te houden met vervelende pointers etc... Dit komt er op neer dat je op een veel hoger niveau kan werken.

[ Voor 57% gewijzigd door robbert op 14-12-2007 20:29 ]


Acties:
  • 0 Henk 'm!

Verwijderd

robbert schreef op vrijdag 14 december 2007 @ 20:16:
Laten we eerst eens de definitie van programmeertaal en scriptingtaal duidelijk maken, ik neem aan dat we het volgende bedoelen:
• Programmeertaal: je programma wordt vertaald naar machinetaal en levert een binary op.
• Scripttaal: je programma wordt door een interpreter gehaald op het moment deze uitgevoerd wordt.

Conclusie, dit zou hooguit iets zeggen over de snelheid (een binary uitvoeren gaat sneller dan iets door een interpretor heen gooien) / portabiliteit (een programma in machinetaal werkt over het algemeen maar op 1 architectuur/os). Niks over of het geschikt is voor grotere programma's, goed te onderhouden is, het vies is, etc.

Waar hoort Java dan eigenlijk bij?

Maar goed, neem als voorbeeld "programmeertaal" C en als voorbeeld "scripttaal" PHP dan ben ik van mening dat je in PHP een stuk nettere applicaties kan maken. Zeker gezien je er object geörienteerde programma's in kan maken en je dus code netjes van elkaar af kan schermen. Daarnaast heeft het een garbage collector en hoef je niet druk te maken om rommel op te ruimen. Ook hoef je je niet bezig te houden met vervelende pointers etc... Dit komt er op neer dat je op een veel hoger niveau kan werken.
Java = programmeertaal, levert een binary op die op 1 machine te draaien is, nm de Java Virtual Machine.

Wat betref je vergelijking tussen C en PHP heb je wel gelijk (Wel een beejte appels met peren, oo vs procedureel), alleen is een taal als C vele malen krachtiger. Kan je met je PHP applicatie een usb apparaat aansturen of een COM poort uitlezen?

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:26

Creepy

Tactical Espionage Splatterer

Gaan we weer verder over desktop ontwikkeling of zal ik de (naar mijn idee totaal onzinnige) discussie over scripttaal vs programmeertaal afsplitsen? Het verschil is namelijk helemaal niet zo groot als sommigen het doen overkomen gezien de legio talen die er zijn. Vergelijk de talen dan ook onderling en laat een niets zeggend verschil als "scripttaal" vs "programmeertaal" weg want code kloppen blijft gewoon code kloppen in welke taal dan ook. Of je nu iets runt via een interpreter of niet boeit echt zoveel niet. Neemt uiteraard niet weg dat sommige talen/ontwikkelomgevingen zich beter lenen voor desktop applicaties dan anderen.

Voor Windows ontwikkeling is .NET op het moment zo'n beetje de manier met daarin C# en VB.NET als de meest bekende talen. Multiplatform ben je wat mij betreft beter uit met C++ i.c.m. een goede toolkit (bijv QT of Fox) of Java.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

Verwijderd

http://sean.cruels.net/ staan wel wat tutorials. Ik zelf ben nu VB aan het leren, best simpel.

Acties:
  • 0 Henk 'm!

  • Remus
  • Registratie: Juli 2000
  • Laatst online: 15-08-2021
/\/\|) schreef op donderdag 13 december 2007 @ 23:57:
[...]
Ik doel eigenlijk meer op de "geliktheid" van de UI. Een UI in Java kan dan nog zo goed doordacht zijn, het mist toch net iets t.o.v. een native oplossing. En dat vind ik een nadeel van de UI-oplossingen onder Java, ook al is een goed UI ontwerp veel belangrijker.
Wat bedoel je met de geliktheid van de GUI, of wat ontbreekt er vaak? Java heeft prima 'native' oplossingen zoals SWT, of emulatie van de native widgets zoals Swing. Enige 'probleem' is misschien dat vaak voor bijvoorbeeld Swing de default look and feel (of wel die lelijke blauw/paarse interface) wordt gebruikt, in plaats van in te stellen op de native look and feel.

Het is in Java prima mogelijk om GUIs te maken die in niks te onderscheiden zijn van andere, 'native' oplossingen.

Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 08-09 11:33
ik zou zelf voor C# gaan, omdat dit gewon een mooie taal is die niet al te anders is dan PHP, maar wel echt bedoeld voor de desktop, ook is het een managed taal wat een en ander makkelijker maakt.

Java is ook erg mooi, een minpunt vergeleken met C# is dat het relatief moeilijker is om een leuke GUI te maken. Google maar eens op JAVA GUI dan zie je wat ik bedoel
Een duidelijk pluspunt van JAVA is dat het op bijna alle OS-en te gebruiken is.

Mijn advies: wil je crossplatform kies Java, wil je windows only kies dan zeker C#.

Ook heeft C# een leuk extraatje dmv MS XNA Game Studio Express (2.0)

Verder kan ik je adviezeren om voor Java Eclipse te gebruiken en voor C# Visual Studio Express, ik vind zelf VSE net wat beter dan Eclipse maar misschien is het ook gewenning.

C++ zou ik niet meer aan beginnen, de leercurve is erg stijl en voor standaard desktop applicaties is de performance winst (die je alleen krijgt als echt C++ pro) het niet waard. Zelfs in de gameindustrie is er een duidelijke verschuiving naar talen als C# en Java ontstaan. Terwijl daar elke cpu cycle telt.

~ Mijn prog blog!


Acties:
  • 0 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
Ik snap niet waarom mensen Java GUI's zo moeilijk vinden? Het is in feite bijna gelijk aan het bouwen van een GUI in C#.NET, alleen dan zonder handige front-end. Maar een beetje kijken naar <form>.Designer.cs laat zien dat het praktisch hetzelfde is.

Engineering is like Tetris. Succes disappears and errors accumulate.


Acties:
  • 0 Henk 'm!

  • Salvatron
  • Registratie: April 2003
  • Niet online

Salvatron

Dispereert niet

therat10430 schreef op zaterdag 15 december 2007 @ 14:59:
Zelfs in de gameindustrie is er een duidelijke verschuiving naar talen als C# en Java ontstaan. Terwijl daar elke cpu cycle telt.
Waar baseer je dat op? Bij games moet directx/opengl worden gebruikt. Ik dacht dat dat bij java niet mogelijk was (behalve bij java3D, maar dat is ook niet echt iets om een shooter in te maken volgens mij).

Lucht en leegte, zegt Prediker, alles is leegte.


Acties:
  • 0 Henk 'm!

  • SPee
  • Registratie: Oktober 2001
  • Laatst online: 17-09 12:10
Ik heb een tijdje gespeelt met C# voor desktop applicaties.
Maar ook met Java zijn er mooie/goede desktop applicaties te maken.
Hangt er een beetje vanaf wat je wilt. Ik wou meer het OS bedienen/COM poorten spelen, ed. en daar is C# net wat beter voor geintregeerd met het OS.
Wil je meer client/server applicaties maken, dan maakt het niet uit. Beide talen zijn even goed.
Ligt er net aan wat je allemaal met je applicatie wil.

Goede IDE's:
ICSharpCode(.net) - C#/.NET IDE
Visual Studio Express - C#/.NET IDE
Netbeans - Java
Eclipse - Java

Naar mijn ervaring zijn de Java IDE's beter uit te breiden met (gratis) plugins. Daarbij heeft Netbeans ook een goede GUI editor. Voorbeelden en tutorials zijn makkelijk te vinden.
Aan c/C++ zou ik (voorlopig) nog niet beginnen. De leercurve hiervoor is te hoog en je moet vrij nauwkeurig programmeren ivm het zelf beheren van het geheugen.

[edit]
Extra argument: Java wordt veel gebruikt in server omgevingen bij bedrijven. Het .NET framework komt wat meer, maar heeft grote verschillen qua opzet tegenover programmeren op de desktop.

[ Voor 9% gewijzigd door SPee op 15-12-2007 16:08 ]

let the past be the past.


Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 08-09 11:33
Jack Walsh schreef op zaterdag 15 december 2007 @ 15:34:
[...]


Waar baseer je dat op? Bij games moet directx/opengl worden gebruikt. Ik dacht dat dat bij java niet mogelijk was (behalve bij java3D, maar dat is ook niet echt iets om een shooter in te maken volgens mij).
Java vooral voor sprite-based games, en java kan zover ik weet ook prima interfacen met Open_GL dmv jogl of lwjgl

C# kan het prima meteen via XNA, en ook kan je met C# Managed DirectX aanspreken. (daar zijn wel 1000 tutorials over.

Ik denk trouwens dat nog steeds meer dan de helft van de games gemaakt wordt in C++, maar langzaam wordt ook games programmeren (gelukkig) wat higher-level

[ Voor 12% gewijzigd door roy-t op 15-12-2007 16:23 ]

~ Mijn prog blog!


Acties:
  • 0 Henk 'm!

  • Not Pingu
  • Registratie: November 2001
  • Laatst online: 05-08 09:21

Not Pingu

Dumbass ex machina

Jack Walsh schreef op zaterdag 15 december 2007 @ 15:34:
[...]


Waar baseer je dat op? Bij games moet directx/opengl worden gebruikt. Ik dacht dat dat bij java niet mogelijk was (behalve bij java3D, maar dat is ook niet echt iets om een shooter in te maken volgens mij).
Ooit gehoord van JOGL? En voor .NET zijn er zowel DirectX als OpenGL wrappers. Zowel in .NET als in Java is het perfect mogelijk 3D games te maken. Misschien geen prestatiemonsters als Crysis of Gears of War, maar hier bijv. staan (naast een hoop kleine titels) ook wat grotere spellen. Arena Wars is een bekend voorbeeld: volledig geschreven in managed code mbv. OpenGL.

Certified smart block developer op de agile darkchain stack. PM voor info.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 17-09 14:05

.oisyn

Moderator Devschuur®

Demotivational Speaker

therat10430 schreef op zaterdag 15 december 2007 @ 14:59:
Zelfs in de gameindustrie is er een duidelijke verschuiving naar talen als C# en Java ontstaan.
Oh kom op zeg, het aantal serieuzere kaliber games dat niet in C of C++ geschreven is is op 1 hand te tellen, en dat zijn tevens de games waarbij performance niet zo'n issue is. Ik ken niemand in de industrie die de overstap naar een VM ook maar serieus overweegt, dus ik ben echt benieuwd waar jij die "verschuiving" waar je het over hebt dan ziet.

Uiteraard heb ik het hier niet over de mobiel- en webgames, die nu op de kwaliteit zitten van ongeveer 10 jaar geleden.
therat10430 schreef op zaterdag 15 december 2007 @ 16:23:
maar langzaam wordt ook games programmeren (gelukkig) wat higher-level
Wat is er dan higher-level aan Java of C#? En imho zijn games al jaren high-level

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Sijmen
  • Registratie: November 2004
  • Laatst online: 16-05 00:07
ATS schreef op vrijdag 14 december 2007 @ 00:04:
[...]

Al eens gekeken naar Qt Jambi? Daarmee kan je in Java applicaties bouwen met de Qt toolkit. Deze geeft native resultaten op windows en mac.

Ik denk dat een goede toolkit weldegelijk van belang is. Een toolkit meot je helpen om een goede UI te bouwen, en je niet in de weg zitten om dat te doen. Een goed ontwerp blijft natuurlijk ook van het grootste belang.

* ATS geeft toe dat hij Qt fan is.
Ik ben het met je eens dat een goede toolkit belangrijk is. Wat ik niet met je eens ben, is dat een programma native is door alleen een andere skin. Misschien werkt dat tussen Windows en Linux, maar dat grapje kun je niet herhalen op OS X. Een programma met een Aqua skin is nog geen programma zoals andere Mac programma's. Datzelfde geldt andersom, stel je Finder, Xcode, of iTunes eens voor met geen aanpassingen behalve de Windows skin?

Een belangrijk nadeel aan cross-platform UI toolkits is dat ze uit gaan van de laagst gedeelde factor, en is er geen gedeelde factor, dan meestal de Linux of Windows wereld. Dat betekent dat je een aantal widgets mist die gebruikers op een bepaald OS wel gewend zijn. En je gaat er dus vanuit dat de verschillende platformen dezelfde UI concepten hebben.

edit: ik heb even naar de samples gekeken van Qt Jambi. Het lijkt me sterk dat mensen dat als 'native' ervaren. Het schreeuwt KDE van alle kanten, kijk alleen de toolbar al - overigens geen native toolbar in OS X.

[ Voor 10% gewijzigd door Sijmen op 16-12-2007 07:29 ]


Acties:
  • 0 Henk 'm!

  • flowerp
  • Registratie: September 2003
  • Laatst online: 11-09 18:20
.oisyn schreef op zondag 16 december 2007 @ 04:43:
Ik ken niemand in de industrie die de overstap naar een VM ook maar serieus overweegt, dus ik ben echt benieuwd waar jij die "verschuiving" waar je het over hebt dan ziet.
Mee eens wat .oisyn zegt. Ook vanaf de andere kant gezien is er niets van een "verschuiving" te zien. Voor mijn werk moet ik dagelijks velen artikelen, blogs, etc over Java volgen om op de hoogte te blijven van de ontwikkelingen. Als er ook maar sprake was van een kleine verschuiving m.b.t. mainstream gaming (consoles, arcade, commerciële PC games) dan had ik daar toch zeker wel een paar signalen van opgepikt hier en daar.

Er is wel 1 uitzondering, die .oisyn ook al noemt, en dat is mobile gaming en dan met name op de non-dedicated hardware (dus niet op de PSP of DS, maar wel GSM's, PDA's. etc). Een vriend van me zit nu momenteel in Japan (waar men over het algemeen wat meer warm loopt voor deze concepten) bij een bedrijf waar ze naar zijn zeggen 3D (opengl) games maken in Java voor een GSM die niet onder doet voor wat de Nintendo DS momenteel doet.

Een kleine andere uitzondering, maar dat valt eigenlijk amper onder het begrip "hardcore game development" is het feit dat Java ook voor Blu-ray wordt gebruikt, en dat er enkele games ontwikkeld worden die hier gebruik van maken. Een flauw voorbeeld (flauw omdat Java hier feitelijk alleen als een 'sequencer' optreed, iets dat de Amiga al kon doen in 1986), maar toch:

http://www.hardcoreware.n...lair-blu-ray-java-review/
Uiteraard heb ik het hier niet over de mobiel- en webgames, die nu op de kwaliteit zitten van ongeveer 10 jaar geleden.
Misschien moet je er wel even bij zeggen welke kwaliteit van 10 jaar geleden ;) Ik bedoel, het Model 3 arcade board was er al zo'n 11 jaar geleden, maar ik zie Java nog niet games doen als Virtua Fighter 3 of Scud racer.

Een mogelijke toekomstige ontwikkeling m.b.t. games en Java is misschien het "real time java" project. Zie: http://java.sun.com/javase/technologies/realtime/#features

Hiermee krijgt Java een aantal van de features van het C++ omgaan met geheugen, zoals scoped memory en de mogelijkheid om registers van hardware direct te benaderen. Ofschoon dit (voor zover ik weet) absoluut niet is ontwikkeld met games in gedachten, zou dit wellicht wel interessant kunnen zijn.

Voorderest qua pure CPU number scrunching heeft een run-time optimizer zoals gebruikt in de JVM de potentie om beter geoptimaliseerde code te produceren dan een statische optimizer dat kan. Inderdaad zie je nu al dat voor -sommige- algoritmes Java vanaf JDK 6 (de huidige versie) code produceert die het algoritme sneller doorloopt dan de code die b.v. de intel c++ compiler produceert. De verwachting is dat in 2 of 3 generaties run-time optimizers daadwerkelijk voor een meerderheid van algoritmes betere code produceren. Mogelijk dat dit ook voor games weer interessant is.

(dit hoeft overigens niet te betekenen dat dan Java gebruikt moet gaan worden, een C++ implementatie kan net zo goed voorzien worden van een run-time optimizer)

It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult.


Acties:
  • 0 Henk 'm!

  • sky-
  • Registratie: November 2005
  • Niet online

sky-

qn ella 👌

Topicstarter
Bedankt heren, mijn keuze is gevallen op C# :), ga er mee eens aan de haal :).

don't be afraid of machines, be afraid of the people who build and train them.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 17-09 14:05

.oisyn

Moderator Devschuur®

Demotivational Speaker

flowerp schreef op zondag 16 december 2007 @ 15:03:

Mee eens wat .oisyn zegt. Ook vanaf de andere kant gezien is er niets van een "verschuiving" te zien. Voor mijn werk moet ik dagelijks velen artikelen, blogs, etc over Java volgen om op de hoogte te blijven van de ontwikkelingen. Als er ook maar sprake was van een kleine verschuiving m.b.t. mainstream gaming (consoles, arcade, commerciële PC games) dan had ik daar toch zeker wel een paar signalen van opgepikt hier en daar.
Nou ja dan heb je het natuurlijk over de java kant, maar bij .Net wordt natuurlijk wel gewerkt aan XNA. Wat imho alleen interessant is voor kleinere titels die je wellicht ooit wil releasen onder Xbox Live Arcade, of gewoon simpele hobby projectjes.
Misschien moet je er wel even bij zeggen welke kwaliteit van 10 jaar geleden ;) Ik bedoel, het Model 3 arcade board was er al zo'n 11 jaar geleden, maar ik zie Java nog niet games doen als Virtua Fighter 3 of Scud racer.
Het was ook meer een ballpark figure ;)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1