Förutom att skriva om Linux och skriva recensioner och handledning om distributioner och verktyg är jag också starkt inblandad i mjukvaruutveckling. Tyvärr sker 99,9% av den programvaruutvecklingen på Windows-plattformen.
Jag har över 20 års erfarenhet som C ++, Visual Basic, VB.NET och C # utvecklare och jag är också en dab-hand med SQL Server både som en DBA och en utvecklare.
Vad jag inte är så bra på är att utveckla programvara för Linux. Det är bara något jag aldrig någonsin har besvärat med. Den främsta anledningen är att efter att ha utvecklat programvara under dagen är det sista jag vill göra om en kväll att skriva mer programvara.
Jag gillar självklart att tinkera med scripting och skriva det udda småprogrammet. Dessa är vanligtvis för elektronikbaserade projekt på Raspberry PI.
En sak som många utvecklare på Windows-plattformen kommer att ha problem med när de först flyttar till Linux är att lära sig om de verktyg som krävs för att bygga och paketera applikationer.
Den enklaste typen av applikationer som utvecklas är överlägset webapplikationer eftersom de vanligtvis inte kräver samlad kod (PHP, Perl, Python) och filerna distribueras till en viss plats på webbservern.
Ett stort antal applikationer byggda för Linux är utvecklade med C, C ++ eller Python. Att sammanställa ett enda C-program är relativt enkelt men när du behöver sammanställa ett antal C-program med flera beroenden blir det lite svårare.
GNU Make är ett verktyg för byggautomatisering som hjälper dig att kompilera dina applikationer igen och igen och på olika sätt. Till exempel kan du leverera en parameter som beroende på värdet kommer att kompilera en applikation med 64-bitars eller 32-bitars.
GNU Make-boken har skrivits av John Graham-Cumming för att hjälpa användare av GNU Make att få ett fast grepp om komplexiteten i samband med GNU Make.
Boken är uppdelad i sex kapitel:
- Grunderna reviderades
- Makefile Felsökning
- Byggnad och ombyggnad
- Fallgropar och problem
- Kasta kuvertet
- GNU gör standardbiblioteket
Jag tror inte att boken riktar sig riktigt mot nybörjare eftersom det saknar vissa förtydliganden som du kan förvänta dig när du lär dig ett nytt ämne som "Vad gör GNU Make?", "Hur skapar jag en Make-fil?", "Varför använder du Gör bättre än att sammanställa varje program en efter en? " och "Hur kompilerar jag program med GNU Make?". Alla dessa ämnesområden omfattas av GNU Make Manual.
Det faktum att det första kapitlet heter "The Basics Revisited" i motsats till "The Basics" visar tydligt att du förväntas ha en grundning i ämnet innan du börjar.
Det första kapitlet täcker alla grunder som användningen av variabler, miljöer som används av kommandon och $ (Shell) -miljön. När kapitlet går vidare får du in i ämnet jämförelse, listor och användardefinierade funktioner.
Om du har använt GNU Make för ett tag men inte anser dig själv vara en expert finns det några fina tips och tips som hjälper dig att förstå vissa komplicationer som kanske inte är omedelbart uppenbara.
Det andra kapitlet kommer att vara en gudstjänst för er som har försökt fälla fel i byggnadsskript. Avsnittet "Makefile Debugging" är full av utmärkta tips och tips för att felsöka Makefiles och innehåller avsnitt om att skriva ut variabla värden och till och med dumpa värdet på varje variabel. Vidare in i kapitlet finns en guide till GNU Debugger som du kan använda för att gå igenom skript.
Det tredje kapitlet innehåller exempel makefiles men mer än det visar dig hur man skapar Makefiles som du kan springa om och om igen.
"Fallgropar och problem" ser på skillnaderna mellan vissa termer som = och: =, och ifndef och? =.
Jag hittade när jag gick vidare genom boken att eftersom jag inte aktivt försöker använda GNU Make och eftersom min kunskap är på en mycket grundläggande nivå gick något av ämnet väldigt mycket över mitt huvud.
När jag kom till kapitlet "Pushing The Envelope" mina glasögon över något.
Min huvudsakliga sammanfattning, om jag var tvungen att sammanfatta denna bok, är att författaren helt klart vet sina saker och har försökt att vidarebefordra så mycket information som möjligt.
Problemet är att ibland när en ämnes expert försöker skriva något ner, har de det här "Åh det är lätt, allt du behöver göra är …." aura om dem.
Gummistiftet på min bakdörr kom undan i förra veckan och som det var bara ett par år kallade jag företaget som monterade det som det fortfarande är i garanti.
Damen på telefonen sa: "Åh det är okej, jag ska skicka dig en ny segel ut".
Jag sa "Åh måste jag passa på det själv? Är det något jag kan göra?".
Svaret var "Visst du kan, allt du behöver göra är att ta av dörren, passa tätningen och sätt tillbaka dörren".
Nu var min omedelbara tanke "Woah, spola lite där. Ta av dörren?!?". Jag är inte behörig att ta bort en dörr, passa en tätning och sätt på dörren igen. Jag lämnar det till experterna.
Med den här boken känner jag att du behöver en annan bok och en viss erfarenhet av att skriva Makefiles innan du tycker att den är användbar.
Jag tror att de tips, tips och kunskap som ges skulle hjälpa vissa människor att säga "Åh, det är därför det gör det" eller "Jag insåg inte att du kunde göra det så".
Min bedömning är därför att du borde köpa den här boken om du söker förtydligande eller mer mellanliggande till avancerad kunskap om GNU Make men det är inte en bok för nybörjare.