CoffeeScript är JavaScript utan huvudvärk
Jag har aldrig velat skriva JavaScript Vad är JavaScript och hur fungerar det? [Teknologi förklarad] Vad är JavaScript och hur fungerar det? [Teknologi förklarad] Läs mer allt så mycket. Från den dag som jag skrev min första raden med det, har jag alltid ångrat det som jag skriver i det alltid slutar se ut som en Jackson Pollock-målning. blegh.
Japp. Trots sin makt och flexibilitet är JavaScript inte på något sätt ett vackert språk. Det tar verbositet till en extrem och har så många quirks och idiosyncrasies, även den mest berömda boken om JavaScript-programmeringsspråket nickar till sin inneboende nastiness med titeln "JavaScript: The Good Parts".
En bättre JavaScript
Det behöver dock inte vara så här. JavaScript har en mängd fantastiska verktyg och bibliotek, och om du använder CoffeeScript kan du skapa fantastiska webbplatser och verktyg utan att hantera syntax som gör att dina hornhinnor blöder. Det är också CoffeeScripts tid att skina, eftersom fler och fler nybörjare ser till JavaScript för sitt första språk på grund av användningen i klient- och bakåtvända webbutveckling, liksom mycket av HTML5.
Estetiskt ser CoffeeScript ut och känns som Python eller Ruby. De 5 bästa webbplatserna att lära sig Python Programmering De 5 bästa hemsidorna för att lära sig Python Programmering Vill du lära dig Python programmering? Här är de bästa sätten att lära sig Python online, varav många är helt gratis. Läs mer Det är verkligen, förvånansvärt vackert och adopterar vissa språkkonventioner som gör det enkelt att lära. Det känns verkligen som en Rembrandt än en Pollock. Och ändå sammanställer den ner till JavaScript, så att du kan använda den överallt där du använder den, inklusive utveckling av fronten och node.js. Du kan även använda den med jQuery jQuery Handledning - Komma igång: Grunder och väljare JQuery Handledning - Komma igång: Grunder och väljare I förra veckan pratade jag om hur viktigt jQuery är för en modern webbutvecklare och varför det är fantastiskt. Den här veckan tror jag att det är dags att vi fick våra händer smutsiga med lite kod och lärde oss hur ... Läs mer .
Att få tag på CoffeeScript är lätt. Det finns ett antal sätt att installera det på. För det första, om du använder en ny version av Ubuntu Linux, kan du installera den med hjälp av den inbyggda pakethanteraren. Erfarenhet, men säger mig att det är troligt att versionen i dina repositories är en äldre version.
Som ett resultat är det nog en bra idé att ta tag i det med Node Package Manager. Node Package Manager (npm) är lite som apt-get eller Brew, men används bara riktigt för att få Javascript-paket och bibliotek. Handily kommer NPM med node.js och är tillgänglig för OS X, Windows och alla smaker av Linux.
För att installera det med hjälp av NPM, kör följande kommando som root:
$ npm installera -g kaffe-script
'-G' -utlösaren installerar den globalt, så att du kan använda CoffeeScript var som helst på din dator och att göra det från kommandoraden var du än befinner dig. Du är nu redo för en hel del CoffeeScript-kul.
“Det är bara JavaScript”
Det är viktigt att komma ihåg att CoffeeScripts gyllene regel är “Det är bara JavaScript”. Detta är både en fördel men också en nackdel. Om du har haft chansen att titta på Gary Bernhardts snygga samtal, "Wat", vet du att JavaScript har sin andel av vårtor och konstighet. För det mesta delar CoffeeScript dessa. Det är trots allt i princip en abstraktion av JavaScript.
Detta är dock inte helt en dålig sak. För det första tillåter du att använda CoffeeScript med dina Node-, Angular-, Express- eller Backbone-projekt. Utöver detta får du också använda Googles V8 JavaScript-motor, vilket är en väldigt snabb tolk för Javascript. Vad du än gör, kan du vara säker på att den är smältande snabbt.
Jag måste bekänna att jag kanske är lite förutseende. Har haft möjlighet att spendera de senaste månaderna på att skriva en hel del CoffeeScript i mitt jobb, kan jag intyga hur vacker det är. Med tanke på min tidigare exponering för det, skulle jag verkligen uppmuntra nybörjare och travelmen-utvecklare att undersöka som ett startspråk.
Kanske är en av de mest övertygande orsakerna till att jag är så ivrig att espouse CoffeeScripts dygder, för att jag anser att den har antagit några otroligt innovativa språkdesignval som kräver goda mjukvaruutvecklingsmetoder. Det betyder att oavsett kod du skriver är oddsen bra att det blir ganska läsligt.
Speciellt kräver CoffeeScript att du anger all din kod på ett förnuftigt och logiskt sätt. Oavsett kod du producerar måste den följa en logisk hierarki. Om det inte gör det, skriker CoffeeScript-kompilatorn på dig och vägrar att exekvera din kod. Detta kommer att börja känna allt för bekant om du någonsin har skrivit någon kod i Python.
Jag har observerat att CoffeeScript klart skapades med ett mål att vara riktigt uttrycksfull. Synaktiskt är det anmärkningsvärt som vanlig engelska, om än med några extra parenteser och pilar noga spridda runt i stället. En fördel med detta är att det blir trivialt att muntligt uttrycka flödet av ditt program. Praktiskt om du är en nybörjare som försöker få feedback på din kod från någon som är mycket mer erfaren eller arbetar för ett mjukvaruutvecklingsföretag som i stor utsträckning använder parprogrammering, som den jag gör.
I den korta perioden som den har funnits har CoffeeScript ytterligare lyckats utveckla ett ganska aktivt och vänligt samhälle. Fasta nybörjare är mer än välkomna att närma sig dem med frågor, och för det mesta är de vanligtvis glada att svara. Förutom en stark närvaro på Stack Overflow, en officiell hemsida som innehåller en CoffeeScript-tolk inom själva sidan och många publikationer om det, skulle du vara svårt att hitta dig själv fast för länge.
Ett vackert språk
Greg Pollack, grundare av kodskolan, definierar ett vackert programmeringsspråk som en som gör det möjligt för utvecklaren att få de flesta sakerna gjort medan man använder en minimal mängd kod. Med denna definition är CoffeeScript ett vackert programmeringsspråk. Från grunden känns det bara anmärkningsvärt väl utformat.
Kanske är ett av de mest förnuftiga valen det att överge JavaScript's vansinniga prototypbaserade sätt att göra objektorientering. Istället ersätts det med ett mycket mer elegant system som bygger på klasser, vilket kommer att vara bekant för alla som har dabbled i några av de mest populära OOP-baserade språken där ute. Detta sänker barriären för inträde för många programmerare. Det gör också detta samtidigt som det inte fullständigt jettisoning dess funktionella referenser.
Språket själv känns lite mindre viktigt också. Stora skarvar av CoffeeScripts Bulk exciseras. Variabler deklareras inte med "var". Parentes och lockiga hängslen är nästan lika sällsynta som en Bengal tiger. Du behöver inte ens parenteser för att passera parametrar till en funktion. Varje funktion returnerar någonting, vilket ger dig en mindre sak att oroa sig för. Mind blåser saker.
Trots sin uppenbara ungdom har CoffeeScript fått stor uppmärksamhet och av mycket goda skäl. CoffeeScript inkluderades nyligen som standard i Ruby on Rails, webbramen som styr platser som Github och Groupon. Det är inte bara företag som flockar till det i droves, eftersom utvecklare har börjat omfamna det och har skapat en mängd CoffeeScript-plugins, inklusive för Sublime Text 2. Testa Sublime Text 2 för din Cross-Platform Kod Redigering behöver prova Sublim Text 2 För dina korsplattforms kodredigeringsbehov Sublime Text 2 är en korsplattformskodredigerare som jag bara nyligen hört talas om, och jag måste säga att jag är riktigt imponerad trots beta-etiketten. Du kan ladda ner hela appen utan att betala ett öre ... Läs mer och Vim. Det betyder att du inte behöver gå utan syntaxmarkering och kodfärdiggörande för att använda den senaste shiniest hipster webbtekniken.
Slutsats
CoffeeScript är ett frisk luft, och är ett välkommet tillägg till alla utvecklingsverktyg. Det finns dock små nigglar som förringar erfarenheten av att utvecklas i den som man hoppas kommer att åtgärdas i senare iterationer av produkten ...
För det första, trots att felhantering är fantastiskt uttrycklig om problemet du har stött på, är det inte alltid uppenbart var problemet är. Då får du veta av raden som har felaktig kod, det är sällan i CoffeeScript-koden du skapat, men är snarare i den sammanställda JavaScript. Det innebär att du måste gå igenom den irriterande processen att kompilera din kod till JavaScript för att felsöka den. Otroligt gagnlöst.
Jag har sedan lärt mig att om du sammanställer din kod och sedan rör den till 'nl -ba', är de utmatade resultaten betydligt enklare att läsa och innehåller förnuftiga radnummer.
En annan irritation jag personligen upplevde var när man läser dokumentation är skrivet i Javascript, måste man mentalt översätta den till CoffeeScript. Även om detta i första hand är en viktig orsak till frustration och irritation, fann jag att detta härrör när du börjar bli van vid språket. Det handlar bara om uthållighet.
CoffeeScript återvinner hjulet. Det är ingen tvekan om det. Det återvinner dock hjulet och omvandlar det till ett rhinestoned, bedazzled, sparkly hjul. CoffeeScript är verkligen ett vackert hjul. Kommer du att flytta till CoffeeScript för din dagliga utveckling? Låt mig veta i kommentarerna.
Utforska mer om: JavaScript, Programmering, Webbutveckling.