Het handige tools en software topic

Examenroosters, algemene discussies, ...

Moderator: Praesidium

User avatar
Foundation
Posts: 622

Het handige tools en software topic

Post#1 » Tue Aug 29, 2006 4:58 pm

Het is altijd moeilijk om als ge met een project begint de juiste tools te vinden, libraries, enz. Ook altijd handig als ge dan andermans ervaring met andere tools enzo te weten komt.

Daarom deze topic : van welke tools, libraries, software, zijt ge aangenaam en/of onaangenaam verrast, in welke omstandigheden zijn ze handig of juist veel te veel moeite, ... De bedoeling is om zo ook sneller in contact te komen met dat ene tooltje dat net doet wat ge nodig hebt maar nog niet hoog in de Google index staat, en ook de onbekendere software eens kunt leren kennen.
Last edited by Foundation on Tue Aug 29, 2006 5:06 pm, edited 1 time in total.

User avatar
Foundation
Posts: 622

Post#2 » Tue Aug 29, 2006 5:01 pm

En om zelf te beginnen : http://ankhsvn.tigris.org/

AnkhSVN is een SVN plugin voor MS Visual Studio. Het is nog maar net uit de alpha-fase gehaald maar de functies die er al inzitten werken wel naar behoren.

Het opzetten van een SVN repository is wsl nog het moeilijkste, daarvoor heb ik de command line niet kunnen vermijden. Maar eens de initiele directory structuur en een Visual Studio Solution gecommit zijn, is het achteraf maar een enkele klik om zaken te verwijderen, toe te voegen, te locken en unlocken, 'blames' toevoegen, enz.

Gemakkelijk is natuurlijk ook dat ge op een andere computer met visual studio op maar ankhsvn moet installeren, alles van uw SVN repository gewoon kunt ophalen vanuit Visual Studio, met alle project eigenschappen enz. nog intact, zodat ge door simpelweg op 'Checkout Repository' -> 'Build Solution' kunt klikken en alles wordt netjes gecompileerd.

Het absolute nadeel van AnkhSVN is de brakke documentatie. Onvolledige tutorials en howto's, geen doxygen of niks... maar voor het opzetten en beginnen is het weinige documentatie wel genoeg. Voor de geavanceerdere functies is het soms nodig om naar het SVN handboek terug te grijpen.

wem
Posts: 93
Contact:

Post#3 » Tue Aug 29, 2006 5:13 pm

Foundation wrote:Het opzetten van een SVN repository is wsl nog het moeilijkste, daarvoor heb ik de command line niet kunnen vermijden.
Ge had het kunnen mijden door http://tortoisesvn.tigris.org/ te bezoeken ;-) Schitterenden SVN client! En voor linux gebruik ik RapidSVN.

En me handig te gebruike software kan ik wel ff een topicje vulle ;-)

Visual Studio Express op zich (C# is een heerlijke taal , voor als ge zelf moogt kieze voor een project! ;-) )
NUnit kan dan uiteraard ni ontbreken.

Verder kunne we ook nog aanraden:
Wireshark (packet sniffer, opvolger van Ethereal)
Cygwin (~linux shell in windows)
The Gimp (prentjes editten)
Ergane (vertalend woordenboek, handig bij verslagen typen)
Eclipse (zoude al moete gebruike)
NotePad+ (text editor)
WebMonitor (automatisch checken van websites om de x minuten)
FeedReader (RSS, voor op de hoogte te blijven van het nieuws, zowel ict als ander, kan ook nog nen topic over open zeker? :-P)
AppGet (ni te verwarren met apt-get ofzo, voor windows, om na te kijken welke programma's er nimmer up to date zijn)
Subversion (eigen SVN server)

En zo voort natuurlijk ;-)
(meeste zijn windows apps)

User avatar
HyperQuantum
Posts: 61
Contact:

Post#4 » Wed Aug 30, 2006 6:46 pm

AnkhSVN is een SVN plugin voor MS Visual Studio.
Wie gebruikt er nu nog Visual Studio :shock:
C# is een heerlijke taal , voor als ge zelf moogt kieze voor een project! :wink:
Kunt ge ook eens zeggen waarom ge dat vindt?
Cygwin (~linux shell in windows)
Ik gebruik Cygwin meestal als ssh client, om de moeite van een reboot en Knoppix starten te vermijden. Cygwin is eigenlijk veel meer dan alleen een shell, het biedt een volledige Unix omgeving onder Windows.
Ergane (vertalend woordenboek, handig bij verslagen typen)
Ik gebruik hiervoor meestal http://babelfish.altavista.com/tr. Voordeel is dat ge er niks voor moet installeren.
Eclipse (zoude al moete gebruike)
Gebruik ik alleen voor Java projecten. (heb ooit eens C++ erin geprobeerd maar liep niet van een leien dakje) En aangezien ik niet uit eigen beweging in Java programmeer, blijft Eclipse onder het stof liggen totdat ik weer eens verplicht ben om iets in Java te schrijven.
NotePad+ (text editor)
Als gewone teksteditor en voor programmeren in C++ gebruik ik SciTE.
Subversion (eigen SVN server)
Helemaal akkoord. Als ge nog met CVS hebt gewerkt dan weet ge wel dat SVN veel handiger is. Ik doe normaal alles met de SVN commandline. Om te proberen heb ik daarjuist even RapidSVN geinstalleerd. Ik zal eens zien of dat handiger is dan puur commandline.
En zo voort natuurlijk :wink:
(meeste zijn windows apps)
Windows apps, tsss :) Een zeer handig ding is natuurlijk Wine voor die paar programma's die alleen Windows ondersteunen.

Libraries:
* WxWidgets : cross-platform GUI library
* Boost : handige verzameling C++ libraries

Tools:
* Doxygen : al eerder vernoemd hier. Vooral handig zijn de include graphs die het genereert.

Voor degenen hier die zoals ik geen IDE gebruiken bij het programmeren, welke build utility gebruiken jullie? Ik gebruik tot nu toe nog altijd gewoon 'make', maar die is toch niet zo handig bij een grote hoeveelheid sourcefiles. Ik ben op zoek naar een betere tool. Iemand soms al ervaring met de volgende:
* CMake
* SCons
* JHBuild
* GNU build system (autoconf + automake)
Een reeks makefiles onderhouden is niet erg handig. Ik heb al een script moeten gebruiken dat include dependencies nagaat en deze in een makefile zet. Ik moet zowiezo op iets anders overschakelen om mijn programma op een gemakkelijke manier op verschillende platformen te kunnen compileren.

User avatar
Foundation
Posts: 622

Post#5 » Wed Aug 30, 2006 10:06 pm

HyperQuantum wrote:
AnkhSVN is een SVN plugin voor MS Visual Studio.
Wie gebruikt er nu nog Visual Studio :shock:
I'm sorry to disappoint u. Misschien was het u nog niet echt opgevallen, maar er zijn vrij veel technologieën die gemaakt zijn voor Windows platformen en nagenoeg alleen deftig op een Windows platform werken. Als ik van zulke technologieën gebruik wil/moet maken, ontwikkel ik ook liefst in Windows.

Ik vind Visual Studio, ondanks zijn complexiteit en wel heel steile leercurve, met lichtjaren voorsprong de beste IDE die er bestaat om Windows programma's in te ontwikkelen. De interface vraagt wat gezoek en gewenning in het begin, maar het loont de moeite. De Microsoft C++ compiler produceert bovendien bijna 30% snellere code dan de dichtstbijzijnde concurrent (Intel doet nog beter dacht ik, die is dan weer niet gratis).

Als ge er een betere IDE weet die mij ook deftige project management, debug utilities, support voor meerdere programmeertalen, source code management, integratie van plugins, deftige compiler, uitgebreide helpfuncties enz. kan bieden... please be my guest and post it here (Nee, Eclipse met CDT is geen oplossing. CDT is veel te buggy, daar riskeer ik geen kritische projecten in te gaan ontwikkelen.)

User avatar
Karel
WOZ
Posts: 497

Post#6 » Thu Aug 31, 2006 12:38 am

Foundation wrote: Ik vind Visual Studio, ondanks zijn complexiteit en wel heel steile leercurve, met lichtjaren voorsprong de beste IDE die er bestaat om Windows programma's in te ontwikkelen.
Neenee, de beste IDE voor C++ programma's tout court, punt. Visual Studio is de max. Ik overweeg niet eens mijn C++ in iets anders te coden.

User avatar
slimmy
Prosenior
Posts: 3130
Contact:

Post#7 » Thu Aug 31, 2006 7:35 am

ik heb zo mijn vermoedens dat HyperQuantum een onvervalste microsoft hater/linux fanboy is. But I can be mistaken ;)

* mods himself +1 Troll * ;)

wem
Posts: 93
Contact:

Post#8 » Thu Aug 31, 2006 10:18 am

HyperQuantum wrote:
C# is een heerlijke taal , voor als ge zelf moogt kieze voor een project! :wink:
Kunt ge ook eens zeggen waarom ge dat vindt?
Een heel zuivere taal waar alle ongemakken uit zijn gehaald, maar toch met een enorme kracht.
Om een voorbeeldje te geven: pointers zijn standaard niet te gebruiken (zoals in Java), maar met het unsafe keyword wordt het wel mogelijk om er te gebruiken (wat soms nodig is om met andere software samen te werken)

Ook zijn er niet-taal specifieke zaken die toch bijdragen aan het aangenaam programmeren in C#, zoals de Visual Studio omgeving (ik gebruik 2005 express nu, en er is geen enkele omgeving die er nog maar aan kan tippen. Zelfs programmeren in Eclipse begon frustrerend te worden, wegens het ontbreken van enkele features. Enkel de autobuild uit Eclipse mis ik soms ;-) )
Ook de beschikbare libraries, die enorm handig in gebruik, goed gedocumenteerd, ... zijn, zowel als het over threading, GUI-building, XML, ... gaat.
Verder is er zoveel ook op internet over te vinden dat bij het minste probleem je wel direct een oplossing vind.

User avatar
HyperQuantum
Posts: 61
Contact:

Post#9 » Thu Aug 31, 2006 11:19 am

Foundation wrote:
HyperQuantum wrote:
AnkhSVN is een SVN plugin voor MS Visual Studio.
Wie gebruikt er nu nog Visual Studio :shock:
I'm sorry to disappoint u. Misschien was het u nog niet echt opgevallen, maar er zijn vrij veel technologieën die gemaakt zijn voor Windows platformen en nagenoeg alleen deftig op een Windows platform werken. Als ik van zulke technologieën gebruik wil/moet maken, ontwikkel ik ook liefst in Windows.
Dat was eigenlijk een beetje grappig bedoeld. Ik heb dat vroeger ook nog gebruikt, maar ben daarmee gestopt.

Het punt is dat als ge Visual Studio gebruikt, ge uzelf en de gebruikers van uw software aan 1 platform vastbindt. Ik heb voor mijzelf besloten het Microsoft platform de rug toe te keren, maar dat wil niet zeggen dat als ik iets programmeer, ik niet voor een Windows versie van dat programma wil zorgen. Niet omdat 90% van de potentiele gebruikers van mijn programma Windows gebruikt (want Windows is nu eenmaal nog het dominerend gebruikersplatform), maar uit het principe dat die mensen vrij zijn om hun favoriet platform te kiezen, en daarom ben ik verplicht om van mijn software ook een versie te maken die op hun platform werkt.

Het is trouwens heel simpel om platform-specifieke code te schrijven: new File("C:\\test.txt") kunt ge heel gemakkelijk schrijven in Java, en daarmee werkt dat ding ineens alleen nog maar deftig onder Windows (of misschien ook onder OS/2 als die hetzelfde systeem gebruikt, maar daar ben ik niet zeker van); ge moet natuurlijk een beetje moeite doen om goeie platform onafhankelijke code te schrijven. Aangezien dat onder C++ nogal moeilijk is en vooral veel inspanning vraagt is een van mijn objectieven bij het ontwerpen van mijn programmeertaal om het voor de programmeur makkelijk te maken om een programma te schrijven dat heel simpel voor elk platform gecompileerd kan worden en daar dan ineens op werkt (write once, compile anywhere).

Wat betreft die technologieen die alleen onder Windows werken (dewelke bedoelt ge trouwens die voor u belangrijk zijn?), ik vind dat een beetje unfair voor degenen die zoals mijzelf niet zo'n fan zijn van Windows en liever iets anders gebruiken. Maar teruggaan naar Windows doe ik niet, dus zijn die technologieen niet aan mij besteed.
Foundation wrote: Ik vind Visual Studio, ondanks zijn complexiteit en wel heel steile leercurve, met lichtjaren voorsprong de beste IDE die er bestaat om Windows programma's in te ontwikkelen. De interface vraagt wat gezoek en gewenning in het begin, maar het loont de moeite. De Microsoft C++ compiler produceert bovendien bijna 30% snellere code dan de dichtstbijzijnde concurrent (Intel doet nog beter dacht ik, die is dan weer niet gratis).
Kan heel goed zijn, maar wat hebt ge eraan als het gebruik ervan u bijna verplicht om Windows specifieke code te gaan schrijven?
Foundation wrote: Als ge er een betere IDE weet die mij ook deftige project management, debug utilities, support voor meerdere programmeertalen, source code management, integratie van plugins, deftige compiler, uitgebreide helpfuncties enz. kan bieden... please be my guest and post it here (Nee, Eclipse met CDT is geen oplossing. CDT is veel te buggy, daar riskeer ik geen kritische projecten in te gaan ontwikkelen.)
Ik gebruik geen IDE bij het programmeren in C++. Dat Eclipse niet handig is voor C++ heb ik ook ondervonden. Voorlopig is het bij mij gewoon editor en makefile bij het programmeren.

User avatar
Foundation
Posts: 622

Post#10 » Thu Aug 31, 2006 12:11 pm

Ah sorry... ik interpreteerde de :shock: wat anders...

Visual Studio is inderdaad een IDE die voornamelijk ontwikkeling voor Windows stevig ondersteunt, maar niets verhindert je om platformonafhankelijke code te schrijven of te gebruiken. Als je ze wil testen onder andere platforms moet je natuurlijk wel elders inladen in een andere IDE, of toch makefiles voorzien... Maar als je platformonafhankelijke libraries gebruikt, zal je vaak merken dat inderdaad zowel project files voor Visual Studio als makefiles worden meegeleverd.

Het platformonafhankelijk zijn van de code heeft niets te maken met de IDE, alles met de code zelf. C++ code platformonafhankelijk maken is inderdaad een heksenwerk - van Endianness tot file systems, alles moet je zelf programmeren. Vaak staat zo'n code dan ook vol #ifdefs ... daar is niets aan te doen. Het is in ieder geval niét zo dat Visual Studio u zou verplichten Windows specifieke code te schrijven - je kiest zelf wat je schrijft. Maar moest je kiezen om een eenvoudige Windows app te schrijven, kan het je natuurlijk wel vele dagen werk besparen.

Technologieën die enkel onder Windows werken : VST (Virtual Studio Technology) van Steinberg bvb : de industriële standaard voor software synthesizers. Dit zijn plugins voor sequencers die je moet compileren in de vorm van dll's. Ik geloof dat Logic voor Macintosh wel mogelijkheden heeft om deze ook te gebruiken (meestal door heel low level op de dll te gaan inhaken, void pointers, mallocs, enz.). In linux wordt er wat aan gewerkt in Audacity in combinatie met Wine, maar dat staat nog in de kinderschoenen en zal nooit de performantie kunnen bereiken van het native draaien in Cubase op Windows.

ASIO is een geluidskaart-drivertechnologie die lage latency timings biedt, een beetje zoals DirectSound. ASIO werkt voor Windows en Mac, Linux support ben ik vooralsnog nergens tegengekomen. Het dichtste dat in de buurt komt voor Linux is JACK, maar die zitten nu ook maar aan versie nul-punt-zoveel... nog niet zo lang in ontwikkeling.

In het algemeen is het qua audio functionaliteit in Linux erg pover gesteld. De enige echte sequencer voor Linux is Rosegarden, en dat staat nog vrijwel nergens - Cubase staat tot Rosegarden zoals een Lamborghini tot een Trabantje. Als ik audio wil opnemen, hoezeer ik geluidsinstellingen ook probeer te tweaken, heb ik via ASIO in mijn Windows-omgeving nog steeds 2 keer lagere latency timings en dus veel betrouwbaarder opnames.

Totdat iemand met heel veel tijd dus eens werk gaat maken van de uitbouw van low latency audio technologieën voor Linux, blijft de industrie het netjes met Windows en Mac doen - platformen waarop al 20 jaar heel veel ontwikkeling voor audio is gebeurd en waar die sector dus al zwaar is uitgebouwd. Voor een keer geef ik de industrie eens gelijk - als je kan kiezen tussen vele miljoenen smijten aan het jarenlange ontwikkelen van een linuxtechnologie en er dan een cd-tje mee te maken, of zonder die miljoenen ineens een cd-tje te maken met bestaande en bewezen high-performance Windows-technologieën...

Het is een geval van 'established standards' in de user community. Geen enkele opnamestudio draait op Linux, het is allemaal Windows of Mac, al jarenlang. De hightech bedrijven die de dure apparatuur leveren doen dus ook geen moeite om Linux drivers te schrijven - vraagt heel veel manuren, en ook dure fabricage, weinig afzetmogelijkheden, en cutthroat competition tussen alle spelers in de markt laten geen mogelijkheid voor nog meer extra R&D fondsen.

Makefiles zijn heel mooi enzo, maar vanaf dat een project enkele libraries gebruikt en een 100-tal klassen heeft, smeek je om een IDE. Auto-aanvulling en tooltips alleen al zijn een godsgeschenk - niet telkens in headerfiles moeten duiken om te zien wat er nu in een returned object zit, gewoon "->" typen en alle mogelijkheden verschijnen netjes op je scherm... zaligheid.

User avatar
HyperQuantum
Posts: 61
Contact:

Post#11 » Thu Aug 31, 2006 2:52 pm

Foundation wrote: Het platformonafhankelijk zijn van de code heeft niets te maken met de IDE, alles met de code zelf. C++ code platformonafhankelijk maken is inderdaad een heksenwerk - van Endianness tot file systems, alles moet je zelf programmeren. Vaak staat zo'n code dan ook vol #ifdefs ... daar is niets aan te doen. Het is in ieder geval niét zo dat Visual Studio u zou verplichten Windows specifieke code te schrijven - je kiest zelf wat je schrijft. Maar moest je kiezen om een eenvoudige Windows app te schrijven, kan het je natuurlijk wel vele dagen werk besparen.
Platformonafhankelijke code is inderdaad zeer moeilijk te verkrijgen met C++, vooral omdat in C++ er geen standard libraries zijn voor veel gebruikte dingen (bvb threads, GUI's, ...). Dat is het grote voordeel van Java, die bevat namelijk standaard al alles wat ge maar nodig kunt hebben (voor de rest ben ik niet zo'n fan van Java btw). Anyway, als ge VS gebruikt dan wordt ge wel aangemoedigd om de Microsoft way op te gaan, en de meeste mensen zullen bij het programmeren dan wel de weg van de minste weerstand kiezen.
Foundation wrote: Het is een geval van 'established standards' in de user community. Geen enkele opnamestudio draait op Linux, het is allemaal Windows of Mac, al jarenlang. De hightech bedrijven die de dure apparatuur leveren doen dus ook geen moeite om Linux drivers te schrijven - vraagt heel veel manuren, en ook dure fabricage, weinig afzetmogelijkheden, en cutthroat competition tussen alle spelers in de markt laten geen mogelijkheid voor nog meer extra R&D fondsen.
Het probleem is een beetje de wet van vraag en aanbod: er is weinig vraag naar dergelijke software voor Linux omdat de Linux gebruikers nu eenmaal een minderheid vormen. Maar juist dat houdt ook mensen weg van Linux, dat zij hun professionele software niet onder Linux kunnen gebruiken. Een vicieuze cirkel dus. Dat betekent niet dat de situatie hopeloos is; zie bvb http://linux.slashdot.org/article.pl?si ... 24/2134235. Het bedrijf Xara heeft zijn professionele software Xara Xtreme open-source gemaakt, en gaat een Linux versie ervan uitbrengen. Het open-source maken hoeft voor mij niet, maar het is wel tof dat er van die zeer goede programma's toch ook voor Linux beginnen uit te komen.
Foundation wrote: Makefiles zijn heel mooi enzo, maar vanaf dat een project enkele libraries gebruikt en een 100-tal klassen heeft, smeek je om een IDE. Auto-aanvulling en tooltips alleen al zijn een godsgeschenk - niet telkens in headerfiles moeten duiken om te zien wat er nu in een returned object zit, gewoon "->" typen en alle mogelijkheden verschijnen netjes op je scherm... zaligheid.
Ik vind makefiles niet zo mooi, maar ze zijn een 'noodzakelijk kwaad' om software gemakkelijk te compileren. Zoals ik al eerder geschreven het, ben ik echter op zoek naar een beter systeem dan alleen makefiles.

Een IDE is inderdaad zeer handig voor de autocompletion; heb ik ondervonden met Eclipse voor mijn jaarproject. Ik heb alleen nog geen goeie IDE voor C++ gevonden. Het ding moet wel iets slimmer zijn dan gewoon al de sourcefiles bijeen pakken, compileren en linken. Want niet alle sourcefiles moeten op elk platform mee gecompileerd worden. Dat is een probleem dat ik indertijd met Dev-C++ had.

Ik heb al eens KDevelop geprobeerd, maar daarbij lukte het niet echt om de code in m'n subversion repository uit te checken als een nieuw project. Een bug ofzo?? Eclipse ging ook niet (veel te traag). Er zijn er nog wel andere zoals Code::Blocks, maar die heb ik nog niet uitgeprobeerd. Toevallig kwam er op slashdot juist vandaag een artikel over de vraag wat nu de 'beste' (ahem) IDE voor onder Linux is : http://ask.slashdot.org/askslashdot/06/ ... 3236.shtml Ik weet het in elk geval nog niet.

Return to “Algemeen”

Who is online

Users browsing this forum: No registered users and 62 guests