Annons
Jag har aldrig riktigt tyckt om att skriva JavaScript Vad är JavaScript och hur fungerar det? [Teknisk förklaring] Läs mer allt så mycket. Från den dagen jag skrev min första rad med den, har jag alltid väckt motsägelse över att allt jag skriver i det alltid hamnar på en Jackson Pollock-målning. Blegh.

Japp. Trots sin kraft och flexibilitet är JavaScript inte alls ett vackert språk. Det tar uttrycklighet till ett extremt och har så många egendomar och idiosynkrasier, till och med mest kända bok om programmeringsspråket för JavaScript nickar till dess inneboende otäckhet med titeln "JavaScript: The Good Parts '.

Ett bättre JavaScript
Det behöver dock inte vara så. JavaScript har en mängd fantastiska verktyg och bibliotek, och om du använder CoffeeScript kan du göra lysande webbplatser och verktyg utan att hantera syntax som får dina hornhinnor att blöda. Det är också CoffeeScript-tid att lysa, eftersom fler och fler nybörjare ser till JavaScript för sitt första språk på grund av dess användning i klient- och backend-webbutveckling, liksom mycket av HTML5.
estetiskt, CoffeeScript ser ut och känns som Python eller Ruby. De 5 bästa webbplatserna för att lära sig Python-programmeringVill du lära dig Python-programmering? Här är de bästa sätten att lära sig Python online, av vilka många är helt gratis. Läs mer Det är verkligen, förvånansvärt vackert och antar vissa språkkonventioner som gör det enkelt att lära sig. Det känns verkligen mer som en Rembrandt än en Pollock. Och ändå sammanställs det till JavaScript, så att du kan använda det överallt där du använder det, inklusive frontend-utveckling och node.js. Du kan till och med använda den med jQuery jQuery Tutorial - Komma igång: Basics & SelectorsFörra veckan talade jag om hur viktigt jQuery är för alla moderna webbutvecklare och varför det är fantastiskt. Den här veckan tror jag det är dags att vi blir smutsiga med lite kod och lärde oss hur ... Läs mer .
Det är enkelt att få tag på CoffeeScript. Det finns flera 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 den inbyggda pakethanteraren. Erfarenheten säger dock att det är troligt att versionen i dina förvar är en äldre version.
Som ett resultat är det förmodligen en bra idé att ta tag i den med hjälp av 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. NPM kommer enkelt med node.js och är tillgängligt för OS X, Windows och alla smaker av Linux.

För att installera det med NPM, kör följande kommando som root:
$ npm installera -g kaffeskript
Trigaren '-g' installerar den globalt, så att du kan använda CoffeeScript var som helst på din dator och att anropa den från kommandoraden var du än är. Du är nu redo för en hel del CoffeeScript-kul.
"Det är bara JavaScript"
Det är viktigt att komma ihåg att den gyllene regeln i CoffeeScript ä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 lustiga samtal, 'Wat', vet du att JavaScript har sin andel av vårtor och konstighet. För det mesta delar CoffeeScript dessa. Det är ju i grunden en abstraktion av JavaScript.
Detta är dock inte helt en dålig sak. För det första kan du använda CoffeeScript med dina Node-, Angular-, Express- eller Backbone-projekt. Utöver detta får du också använda Googles V8 JavaScript-motor, som är en mycket snabb tolk för Javascript. Oavsett vad du gör kan du vara säker på att det går snabbt i ansiktet.
Jag måste erkänna att jag kanske är lite partisk. Efter att ha haft möjlighet att spendera de senaste månaderna på att skriva en hel del CoffeeScript i mitt dagjobb, kan jag intyga hur underbart det är. Med tanke på min tidigare exponering för det uppmuntrar jag verkligen nybörjare och svenskar-utvecklare att se på som ett startspråk.
Kanske en av de mest övertygande orsakerna till att jag är så angelägen om att stödja dygderna i CoffeeScript är för att jag känner att den har antagit några otroligt innovativa val av språkdesign som kräver god mjukvaruutveckling praxis. Det betyder att oavsett kod du skriver, oddsen är bra att det kommer att vara ganska läsbart.
I synnerhet kräver CoffeeScript att du strecksätter all din kod på ett förnuftigt, logiskt sätt. Oavsett vilken kod du producerar måste den följa en logisk hierarki. Om det inte lyckas, skriker CoffeeScript-kompilatorn på dig och vägrar att köra din kod. Detta kommer att känna sig alltför bekant om du någonsin har skrivit någon kod i Python.

Jag har observerat att CoffeeScript tydligt skapades i syfte att vara riktigt uttrycksfull. Syntaktiskt liknar det anmärkningsvärt vanligt engelska, om än med några extra parenteser och pilar försiktigt spridda runt på platsen. En fördel med detta är att det blir trivialt att uttryckligt uttrycka flödet i ditt program. Praktiskt om du är en nybörjare som försöker få feedback om din kod från någon mycket mer erfaren, eller arbetar för ett mjukvaruutvecklingsföretag som i stor utsträckning använder parprogrammering, till exempel det jag do.
CoffeeScript har ytterligare lagt till sina nybörjarvänliga referenser, under den korta period som det har funnits, har CoffeeScript lyckats utveckla ett ganska aktivt och vänligt samhälle. Stuck nybörjare är mer än välkomna att kontakta 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 webbplats som innehåller en CoffeeScript-tolk på själva sidan och många publikationer om det, skulle du vara hårt pressad för att hitta dig själv fast för lång.
Ett vackert språk
Greg Pollack, grundaren av Kodskola, definierar ett vackert programmeringsspråk som ett som gör det möjligt för utvecklaren att få de flesta saker gjorda med en minimal mängd kod. Enligt denna definition är CoffeeScript ett vackert programmeringsspråk. Från grunden känns det bara anmärkningsvärt väl utformad.
Kanske ett av de mest förnuftiga val det är att överge JavaScript's vansinniga prototypbaserade sätt att göra objektorientering. Istället ersätts det med ett mycket mer elegant system som är baserat på klasser, vilket kommer att vara bekant för alla som har dabbat på några av de mest populära OOP-baserade språken där ute. Detta sänker drastiskt inträdesbarriären för många programmerare. Det gör det även om det inte helt bryter ut det funktionella referenser.
Språket i sig känns också lite mindre viktigt. Enorma skår av CoffeeScripts-bulk skarvas ut. Variabler deklareras inte med 'var'. Parenteser och lockiga hängslen är nästan lika sällsynta som en Bengal tiger. Du behöver inte ens parenteser för att skicka parametrar till en funktion. Varje funktion returnerar något, vilket ger dig en mindre sak att oroa dig för. Mind blowing grejer.
Trots sin uppenbara ungdom har CoffeeScript fått mycket uppmärksamhet och av mycket goda skäl. CoffeeScript inkluderades nyligen som standard i Ruby on Rails, webbramen som driver webbplatser som Github och Groupon. Det är inte bara företag som flockar till det i stora mängder, eftersom utvecklare har börjat omfamna det och har skapat en mängd CoffeeScript-plugins, inklusive för Sublim text 2 Testa sublim text 2 för dina behov av redigering av kodkodSublime Text 2 är en koderedigerare som jag nyligen har 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. Detta innebär att du inte behöver gå utan syntaxbelysning och kodavslutning för att använda den senaste, skinande hipsterwebteknologin.
Slutsats
CoffeeScript är en frisk andedräkt och är ett välkommet tillskott till verktygssatserna för utvecklare. Det finns emellertid små nigglar som förringar upplevelsen av att utvecklas i den som man hoppas kommer att fixas i senare iterationer av produkten. .
För det första, trots att felhanteringen är underbart tydlig om problemet du har stött på, är det inte alltid så uppenbart var problemet är. Sedan får du höra om raden som har den felaktiga koden, det är sällan i den CoffeeScript-koden du har skapat, utan snarare i den sammanställda JavaScript. Detta innebär att du måste gå igenom den irriterande processen att sammanställa din kod till JavaScript för att felsöka den. Otroligt hjälpsam.
Sedan har jag lärt mig att om du sammanställer din kod och sedan rör den till "nl -ba‘, De utmatade resultaten är betydligt lättare att läsa och innehåller förnuftiga rader.
En annan irritation jag personligen upplevde var när jag läste dokumentation är skriven i Javascript, du måste mentalt översätta den till CoffeeScript. Även om detta ursprungligen är en viktig orsak till frustration och irritation, fann jag att detta kvarstår när du börjar vänja dig till språket. Det är bara en fråga om uthållighet.
CoffeeScript återuppfinner hjulet. Det råder ingen tvekan om det. Men det uppfinnar hjulet på nytt och förvandlar det sedan till ett strass, bedazzled, glittrande hjul. CoffeeScript är verkligen ett vackert hjul. Kommer du att flytta till CoffeeScript för din dagliga utveckling? Låt mig veta i kommentarerna.
Matthew Hughes är en mjukvaruutvecklare och författare från Liverpool, England. Han hittas sällan utan en kopp starkt svart kaffe i handen och älskar absolut sin Macbook Pro och sin kamera. Du kan läsa hans blogg på http://www.matthewhughes.co.uk och följ honom på twitter på @matthewhughes.