CoffeeScript is JavaScript zonder de hoofdpijn

CoffeeScript is JavaScript zonder de hoofdpijn / Wordpress en webontwikkeling

Ik heb het nooit leuk gevonden om JavaScript te schrijven Wat is JavaScript en hoe werkt het? [Technology Explained] Wat is JavaScript en hoe werkt het? [Technology Explained] Lees meer zoveel. Vanaf de dag dat ik mijn eerste regel gebruikte, vond ik het altijd jammer dat alles wat ik erin schrijf altijd op een Jackson Pollock-schilderij lijkt. blegh.

Yep. Ondanks zijn kracht en flexibiliteit is JavaScript in geen geval een mooie taal. Het neemt buitensporigheid in beslag en heeft zoveel eigenaardigheden en idiosyncrasieën, dat zelfs het meest beroemde boek over de JavaScript-programmeertaal knikt naar de inherente nastelheid met de titel 'JavaScript: The Good Parts'.

Een betere JavaScript

Het hoeft echter niet zo te zijn. JavaScript heeft een groot aantal geweldige hulpprogramma's en bibliotheken en als u CoffeeScript gebruikt, kunt u briljante websites en hulpprogramma's maken zonder de syntaxis aan te pakken waardoor uw cornea's gaan bloeden. Het is ook de tijd van CoffeeScript om te schitteren, omdat steeds meer beginners JavaScript zoeken voor hun eerste taal vanwege het gebruik ervan in client- en back-endwebontwikkeling, evenals een groot deel van HTML5.

Esthetisch ziet en ziet CoffeeScript eruit als Python of Ruby. De 5 beste websites om Python te leren programmeren De 5 beste websites om Python te leren programmeren Wil je Python-programmeren leren? Dit zijn de beste manieren om Python online te leren, waarvan vele volledig gratis zijn. Lees meer Het is echt verbazingwekkend mooi en hanteert bepaalde taalconventies die het gemakkelijk maken om te leren. Het voelt echt meer als een Rembrandt dan als een Pollock. En toch verzamelt het zich tot JavaScript, zodat u het overal kunt gebruiken waar u het gebruikt, inclusief front-end ontwikkeling en node.js. Je kunt het zelfs gebruiken met jQuery jQuery Tutorial - Aan de slag: Basics & Selectors jQuery Tutorial - Aan de slag: Basics & Selectors Vorige week sprak ik over hoe belangrijk jQuery is voor elke moderne webontwikkelaar en waarom het geweldig is. Deze week denk ik dat het tijd wordt dat we onze handen vuil maken met een code en leren hoe ... Lees meer .

Het vinden van CoffeeScript is eenvoudig. Er zijn een aantal manieren waarop u het kunt installeren. Ten eerste kunt u het, als u een recente versie van Ubuntu Linux gebruikt, installeren met behulp van de ingebouwde pakketbeheerder. Ervaring leert echter dat het waarschijnlijk is dat de versie in uw repositories een oudere versie is.

Het is daarom waarschijnlijk een goed idee om het te pakken met behulp van de Node Package Manager. De Node Package Manager (npm) lijkt een beetje op apt-get of Brew, maar wordt alleen echt gebruikt om Javascript-pakketten en -bibliotheken te krijgen. Handig, NPM wordt geleverd met node.js en is beschikbaar voor OS X, Windows en alle smaken van Linux.

Om het te installeren met behulp van NPM, voert u de volgende opdracht uit als root:

$ npm install -g coffee-script

De '-g'-trigger installeert deze globaal, waardoor je CoffeeScript overal op je computer kunt gebruiken en het vanaf de opdrachtregel kunt oproepen, waar je ook bent. U bent nu klaar voor heel wat plezier met CoffeeScript.

“Het is gewoon JavaScript”

Het is belangrijk om te onthouden dat de gouden regel van CoffeeScript is “Het is gewoon JavaScript”. Dit is zowel een voordeel maar ook een nadeel. Als je de kans hebt gehad om het hilarische gesprek van Gary Bernhardt, 'Wat', te bekijken, weet je dat JavaScript zijn aandeel heeft in wratten en gekheid. Voor het grootste deel deelt CoffeeScript deze. Het is tenslotte in wezen een abstractie van JavaScript.

Dit is echter niet helemaal slecht. Ten eerste kunt u CoffeeScript gebruiken met uw Node-, Angular-, Express- of Backbone-projecten. Daarnaast kunt u ook de V8 JavaScript-engine van Google gebruiken, die een zeer snelle interpreter is voor Javascript. Wat u ook maakt, u kunt er zeker van zijn dat het gezicht smeltende snel is.

Ik moet bekennen dat ik misschien een beetje bevooroordeeld ben. Ik heb de afgelopen maanden de gelegenheid gehad om een ​​groot deel van CoffeeScript in mijn dagelijkse baan te schrijven, en ik kan getuigen van hoe mooi het is. Inderdaad, gezien mijn eerdere blootstelling eraan, moedig ik beginnende en gezelige ontwikkelaars van harte aan om als starttaal te kijken.

Misschien is een van de meest dwingende redenen waarom ik zo enthousiast ben om de deugden van CoffeeScript te omarmen, omdat ik het gevoel heb dat het een aantal ongelooflijk innovatieve taalontwerpkeuzes heeft aangenomen die goede softwareontwikkelingspraktijken vereisen. Dit betekent dat, welke code je ook schrijft, de kansen goed zijn dat het redelijk leesbaar zal zijn.

In het bijzonder schrijft CoffeeScript voor dat u al uw code op een verstandige, logische manier inspringt. Welke code u ook maakt, deze moet een logische hiërarchie volgen. Als dit niet lukt, schreeuwt de CoffeeScript-compiler naar je en weigert je je code uit te voeren. Dit begint al te bekend te worden als je ooit een code hebt geschreven in Python.

Ik heb opgemerkt dat CoffeeScript duidelijk is gemaakt met het doel echt expressief te zijn. Syntactisch is het opmerkelijk vergelijkbaar met gewoon Engels, hoewel met een paar extra haakjes en pijlen zorgvuldig verspreid over de plaats. Een voordeel hiervan is dat het triviaal wordt om de stroom van uw programma mondeling uit te drukken. Handig als je een beginnende programmeur bent die probeert feedback te krijgen op je code van iemand die veel ervaring heeft, of die werkt voor een softwareontwikkelbedrijf dat uitgebreid gebruik maakt van programmeren met een paar, zoals degene die ik doe.

Door zijn novicevriendelijke referenties aan te vullen, heeft CoffeeScript in de korte periode waarin het bestaat, een tamelijk actieve en vriendelijke community weten te ontwikkelen. Vastzittende beginners zijn meer dan welkom om hen te benaderen met vragen en voor het grootste deel zijn ze meestal blij om te reageren. Naast een sterke aanwezigheid op Stack Overflow, een officiële website die een CoffeeScript-interpreter bevat op de pagina zelf en een groot aantal publicaties daarover, zou je het moeilijk hebben om te lang vast te zitten..

Een mooie taal

Greg Pollack, de oprichter van Code School, definieert een prachtige programmeertaal als een programmeertaal waarmee de ontwikkelaar de meeste dingen kan doen terwijl hij een minimale hoeveelheid code gebruikt. Volgens deze definitie is CoffeeScript een prachtige programmeertaal. Vanaf de basis voelt het gewoon opmerkelijk goed ontworpen.

Misschien is een van de verstandigste keuzes die het maakt het verlaten van de krankzinnige prototype-gebaseerde manier om objectoriëntatie te doen. In plaats daarvan wordt het vervangen door een veel eleganter systeem dat is gebaseerd op klassen, wat bekend zal zijn bij iedereen die zich heeft verdiept in enkele van de meest populaire OOP-gebaseerde talen die er zijn. Dit verlaagt drastisch de toegangsdrempel voor veel programmeurs. Het doet dit ook terwijl zijn functionele referenties niet volledig worden overboord gegooid.

De taal zelf voelt ook een beetje minder zwaar. Grote delen van CoffeeScripts-bulk worden eruit gesneden. Variabelen worden niet gedeclareerd met 'var'. Haakjes en accolades zijn bijna net zo zeldzaam als een Bengaalse tijger. Je hebt zelfs geen haakjes nodig om parameters in een functie door te geven. Elke functie retourneert iets, waardoor je je minder zorgen hoeft te maken. Geest waait dingen.

Ondanks de overduidelijke jeugd heeft CoffeeScript veel aandacht gekregen, en om heel goede redenen. CoffeeScript is onlangs standaard opgenomen in Ruby on Rails, het webraamwerk dat sites zoals Github en Groupon ondersteunt. Het zijn niet alleen bedrijven die er massaal naartoe trekken, omdat ontwikkelaars het zijn gaan omarmen en een schat aan CoffeeScript-plug-ins hebben gecreëerd, inclusief voor Sublime Tekst 2 Uitproberen Sublieme tekst 2 voor uw platformonafhankelijke codebewerking Needs Uitproberen Sublieme tekst 2 Voor uw codewijzigingen op meerdere platforms vereist Sublieme tekst 2 is een platformonafhankelijke codebewerker waar ik pas onlangs van hoorde, en ik moet zeggen dat ik erg onder de indruk ben, ondanks het bèta-label. Je kunt de volledige app downloaden zonder een cent te betalen ... Read More and Vim. Dit betekent dat u niet hoeft te gaan zonder syntax highlighting en code-completion om de nieuwste, meest chique hipster webtechnologie te gebruiken.

Conclusie

CoffeeScript is een verademing en een welkome aanvulling op de toolkit voor ontwikkelaars. Er zijn echter kleine probleempjes die afbreuk doen aan de ervaring van ontwikkeling daarin die men hoopt zal worden hersteld in latere versies van het product ...

Ten eerste is het, ondanks het feit dat foutafhandeling wonderbaarlijk expliciet is over het probleem dat je bent tegengekomen, niet altijd even duidelijk waar het probleem zit. Vervolgens wordt u verteld van de regel met de foutieve code, deze komt zelden voor in de door u gemaakte CoffeeScript-code, maar bevindt zich eerder in het gecompileerde JavaScript. Dit betekent dat u het irritante proces van het compileren van uw code tot JavaScript moet doorlopen om het te debuggen. Ongelooflijk onbehulpzaam.

Ik heb sindsdien geleerd dat als je je code compileert en vervolgens naar 'nl -ba' leidt, de uitgevoerde resultaten aanzienlijk gemakkelijker te lezen zijn en zinvolle regelnummers bevatten.

Een andere ergernis die ik persoonlijk heb ondervonden, was dat bij het lezen van documentatie in Javascript geschreven is, je moet het mentaal vertalen naar CoffeeScript. Hoewel dit in eerste instantie een belangrijke oorzaak is van frustratie en ergernis, merkte ik dat dit blijft bestaan ​​als je begint te wennen aan de taal. Het is gewoon een kwestie van doorzettingsvermogen.

CoffeeScript vindt het wiel opnieuw uit. Dat lijdt geen twijfel. Het vindt het wiel echter opnieuw uit en verandert het in een strass, sprankelend, sprankelend wiel. CoffeeScript is inderdaad een mooi wiel. Ga je naar CoffeeScript voor je dagelijkse ontwikkeling? Laat het me weten in de comments.

Ontdek meer over: JavaScript, programmeren, webontwikkeling.