Laten we NAnt nemen, ik doe geen java.

Het zal ongetwijfeld je helpen, wanneer je er veel tijd in steekt. een gnu make file, wanneer eindelijk goed voor elkaar geprutst, zal je in the end ook helpen. Waar het om gaat is dat iedere seconde gespendeerd aan het in elkaar prutsen van die config files, verloren tijd is.
Dat is wel heel kort door de bocht. Software die je meer tijd kost om aan de slag te kunnen dan dat het je oplevert, dat is software die je niet helpt.
Nou, NAnt kostte mij erg veel tijd om een build file voor elkaar te krijgen want ik had geen docs en geen gui die me hielp. De vs.net tools die ik gebruiken kon waren niet bereikbaar. Na wat blogs te hebben gelezen waarbij ik middels xslt eventueel ook nog wat kon doen (yeah right) heb ik het fijn opgegeven met NAnt. Zo werkt het nu eenmaal. Ik heb wellicht bij elkaar opgeteld een jaar van mn leven verloren door met de meests verschrikkelijke software aller tijden moeten werken en daar pas ik voor. Het is 2003, vergeet dat niet, we zijn niet in 1990, toen een harddisk een schaars goed was. Software behoort je gewoon te helpen, zonder fouten. Software die je toestaat fouten te maken en dan na afloop gaat piepen "dat was niet zo slim he!", dat is prutsware. Weg ermee. Uberhaupt is het verschrikkelijk dat ik een ascii file moet hacken om een buildprocess goed te krijgen.
Waarom kan NAnt niet een vs.net sln file lezen? Of een sharpdevelop project file? DAT zou handig zijn, dan snap je waar het over gaat als NAnt developer. Als je from scratch een C# project begint in notepad of ultraedit, waarom kan NAnt dan niet een kale .build file genereren voor je, na het ingeven van wat parameters voor je project? Zodra je een file toevoegt aan je project dir, voegt nant hem toe aan de build file.
DAT is hoe het zou moeten gaan. Want in al die gevallen ben je klaar voor het build process wanneer je klaar bent met programmeren. Als je na het programmeren van je code nog een build file in elkaar moet programmeren heb je 1) kans op fouten in je build file (en dat wil je niet) en 2) kost het extra tijd om het te maken plus extra tijd om het format te leren.
Dat heet software die nog verbeterd kan worden.
Nee. Software die nog verbeterd kan worden maar nu belabberd is, is prutsware. Het had dan dus niet gereleased moeten worden.
Goed dat NAnt slecht gedocumenteerd is, ok dat is inderdaad slecht. Maar over het typen van een paar XML tags moet je niet gaan zeuren vind ik.
Ja dat doe ik wel. Het gaat nl. over het principe dat ik dat uberhaupt moet doen omdat de programmeur(s) van NAnt te lui zijn om die functionaliteit in te bouwen die ik hierboven heb geschetst. Er wordt NIET over nagedacht. Men denkt dat als je de rauwe functionaliteit zonder gebruikersinterface brengt, dat een developer het dan wel uitzoekt. *rrrt!* foute bingo. Developers zijn net zo goed mensen en hebben wel betere dingen te doen dan de dingen te doen die computers horen te doen.
Nee, dan helpt de software je beter. Er is een verschil tussen niet ideale software en slechte software.
Nee. Jouw gebrek aan besef wat slechte software is is gemeengoed in de IT en daarom is software ook zo bar slecht over het algemeen.
Het gaat mij er om dat jij alles wat je niet binnen die ene seconde aan de praat kunt krijgen bestempeld als slechte software. Zou jij NAnt nooit gebruiken omdat je misschien 1 keer een half uurtje nodig hebt om een buildfile in elkaar te zetten? Het gaat er toch om wat het oplevert uiteindelijk?
Ik gebruik NAnt van mn leven niet meer nee. Het gaat niet om die ene seconde, het gaat om het totale gebrek aan inzicht bij de makers van NAnt of bij vele andere build tools die we al jaren kennen, zoals gnu make en ander prutswerk. Je wilt niet weten hoeveel tijd ik kwijt ben geraakt eind jaren 80 begin 90 in gnu make omdat een afhankelijkheid niet goed stond, of de makefile uberhaupt niet werkte etc.
Sourcecode komt niet uit de lucht vallen. Men heeft niet ineens 30 files C# met weet ik hoeveel regels code.
Hier wat denkwerk dat de makers van NAnt volledig genegeerd hebben en daardoor is hun build tool dus belabberd. Het build proces zal wellicht goed gaan, maar het is om andere redenen dus niet te gebruiken:
1) Men heeft OF een project gebouwd in een IDE,
2) OF men heeft het project gestart met een andere build tool
3) OF men heeft het project gestart zonder build tool
4) OF men heeft het project gestart met NAnt.
Vanuit het POV van de nant GEBRUIKER, als NAnt wel goed was geweest:
1) is makkelijk. Je eet als NAnt de project file of solution file en kan meteen aan de slag met de build.
2) is ook makkelijk. Je eet de build file van de andere tool en kan meteen aan de slag.
3) is wat lastig, je kunt de developer leiden langs wat stappen zodat de developer makkelijk een build file kan aanmaken met zn huidige sourcecode.
4) men heeft al een build file.
Voor de developer(s) van NAnt is 1, 2 en 3 een ramp. Maar... en nu komt het... is dat het probleem van de developer die nant gebruikt? NEE! Omdat het lastig is, bouwen de developers van NAnt het maar niet in en is het mijn probleem. Ho! Ik gebruik juist een buildtool zodat ik niet zelf csc /t:library /out:bla.dll /o *.cs hoef ik te tikken en er zeker van ben dat ik de juiste references heb etc. 1, 2 en 3 bevatten alle info al, dus NAnt kan die info gebruiken voor zn eigen buildprocess.
DAN praat je over bruikbare tools. Nu is NAnt dat dus niet, want ik moet veel werk doen, meer dan met nmake, een file voor cs parameters en een .cmd file die het geheel aanroept met de juiste vsvars zodat ik de juiste compiler aanroep (wat nant niet eens kan).
Oh, toch wel. Ik heb nieuws voor je, Ant (de java versie) heeft mij meer tijd opgeleverd dan dat ik er in gestoken heb en het is dus GEEN slechte software.
Good for you. Ga dan nu eens nadenken over het feit dat Ant's buildfile al werd aangemaakt door je editor.