jueves, 5 de marzo de 2020

Tech Book Face Off: CoffeeScript Vs. Simplifying JavaScript

I really like this setup for a Tech Book Face Off because it's implicitly asking the question of what can be done to improve the quagmire that is the JavaScript language. Should we try to simplify things and pare down what we use in the language to make it more manageable, or should we ditch it and switch to a language with better syntax that transpiles into JavaScript? For the latter option, I picked one of the few books on the CoffeeScript language, aptly named CoffeeScript: Accelerated JavaScript Development by Trevor Burnham. Then, for sticking with JavaScript, I went with a recently published book by Joe Morgan titled Simplifying JavaScript: Writing Modern JavaScript with ES5, ES6, and Beyond. It should be interesting to see what can be done to make JavaScript more palatable.

CoffeeScript front coverVS.Simplifying JavaScript front cover

CoffeeScript


This book was written a few years ago now, in early 2015, but CoffeeScript is still alive and kicking, especially for Ruby on Rails developers as the default front-end language of choice. CoffeeScript is integrated into Rails' asset pipeline, so it gets automatically transpiled to JavaScript and minified as part of the production release process. If you're already comfortable with JavaScript, and even more so if you know Ruby, then CoffeeScript is a breeze to learn.

The ease with which this language can be picked up is exemplified by the book, since it's one of the shortest books I've ever read on a programming language. Over half of the book has more to do with examples, applications, and other stuff tangential to CoffeeScript, rather than the language proper. The book itself is just short of 100 pages while the content on syntax and usage of the language is condensed into the first half of the book.

As all books like this do, the first chapter starts out with how to install the language and configure the environment. It's pretty straightforward stuff. Then, we get into all of the syntax changes that CoffeeScript brings to JavaScript, which essentially defines the language since all of the features are the same as JavaScript's. Chapter 2 shows how function and variable declarations are different, and much shorter. Chapter 3 demonstrates some nice syntactical sugar for arrays in the form of ranges, and iteration can be done more flexibly with for comprehensions. Chapter 4 gets into the syntax features for defining classes and doing inheritance concisely.

Most of the syntax will look quite familiar to Rubyists, including class instance variables denoted with an '@' prefix, the string interpolation notation, unless conditionals, and array ranges. Here's an example from the book showing a number of the syntax features:

class Tribble
constructor: -> # class constructor definition
@isAlive = true # instance variable definition
Tribble.count += 1 # class variable access

breed: -> new Tribble if @isAlive
die: ->
return unless @isAlive
Tribble.count -= 1
@isAlive = false

@count: 0 # class variable (property)
@makeTrouble: -> console.log ('Trouble!' for i in [1..@count]).join(' ')
This code would be about twice as many lines in JavaScript, so the compression is pretty great and the code is much cleaner and easier to understand. Burnham proclaims these virtues of CoffeeScript early on in the book:
Shorter code is easier to read, easier to write, and, perhaps most critically, easier to change. Gigantic heaps of code tend to lumber along, as any significant modifications require a Herculean effort. But bite-sized pieces of code can be revamped in a few swift keystrokes, encouraging a more agile, iterative development style.
Maybe that's stated a bit more strongly than is warranted, but it's still hard to argue with the improved simplicity and cleanliness of CoffeeScript making developers' lives more pleasant.

The last three chapters of the book delve into different frameworks and packages in the JavaScript universe that can be used with CoffeeScript, and the vehicle for exploring these things is a (heavily) stripped  down version of the Trello app. Chapter 5 goes through how to create the front-end portion of the app with jQuery and Backbone.js. Chapter 6 adds a backend server for the app with Node and Express. Chapter 7 explores how to test the app with Intern. All of the code for the front-end, backend, and tests is written in CoffeeScript, and the transpiling is setup to be managed with Grunt. It's nice to see multiple different examples of how to use CoffeeScript anywhere that JavaScript would normally be used, just to get an idea of how to transition to CoffeeScript in multiple ways.

Throughout the book, Burnham presents everything in a straightforward, no-frills manner. Everything is clear and logical, and his concise descriptions are part of the reason the book is so short. He assumes you already know JavaScript—which is much appreciated—and he doesn't go into extended explanations of JavaScripts features. It's just the facts on how CoffeeScript is different and what the syntax is for the features it compresses. It's awfully hard for me not to recommend this book simply because it's so short and to the point. It only took a few hours to read through, and now I know a better way to code JavaScript. There's not much more I can ask of a programming language book.

Simplifying JavaScript


Every language has those more advanced books that assume you already know the language and instead of covering the basics and syntax, it provides advice on how to write idiomatically in the language. I've read these books for C++, Ruby, and JavaScript and found them to be surprisingly enjoyable to read. That was not the case with this book, but before I get too far into criticisms, I should summarize what this book does well.

Simplifying JavaScript is organized into ten chapters with each chapter broken into a set of tips that total 51 tips in all. These tips each explain one new feature of the JavaScript language from the new ES5, ES6, and ES2017 specifications. Some features, like the spread operator take multiple tips to fully cover. Then, the last chapter covers some features of the JavaScript development environment, like npm, that are not part of the language and have been around a bit longer than these newer specifications.

Most of the new features significantly improve and simplify the language, and they include things like:
  • new variable declaration keywords const and let
  • string template literals, which look much like Ruby's string interpolation
  • the spread operator ... for converting arrays to lists and converting lists of parameters to arrays
  • the Map object
  • the Set object
  • new loop iterators such as map(), filter(), and reduce()
  • default parameters
  • object destructuring
  • unnamed arrow functions
  • partially applied functions and currying
  • classes
  • promises and async/await
The arrow functions, spread operator, loop iterators, and destructuring go a long way in making modern JavaScript much more pleasant to program in. All of these features—and likely more in the newest language specs—make CoffeeScript nearly irrelevant, and likely not worth the effort of going through the step of compiling to JavaScript. The language has really matured in the last few years!

Morgan does a nice job introducing and justifying the new features at times:
We spend so much time thinking and teaching complex concepts, but something as simple as variable declaration will affect your life and the lives of other developers in a much more significant way.
This is so true. The code we're reading and writing every day has hundreds of variable declarations and usages, and being able to indicate intent in those declarations makes code much cleaner and more understandable. Getting better at the fundamentals of the language and having these new declarations available so that the most common code is clear and purposeful will more significantly improve code than all of the complicated, esoteric features that only get used once in a blue moon.

These exciting new features and simple explanations were the good parts, so why did I end up not liking this book much? Mostly, it was because of how long-winded the explanations were. Each tip dragged on for what felt like twice as long as it needed to, and the book could have easily been half as long. CoffeeScript showed how to present language features in a clear, concise way. This book took the opposite approach. Then, to make matters worse, it was written in the second person with the author always referring directly to the reader with you this and you that. Normally I don't mind a few references to you, the reader, every now and then, but this was constant so it became constantly aggravating.

Beyond the writing style, some of the justifications for various features didn't hold much water. For example, when trying to rationalize the new variable declarations, Morgan presented an example of code where the variables are declared at the top, and then there are a hundred lines of code before those variables are used again. Then he says, "Ignore the fact that a block of code shouldn't be 100 lines long; you have a large amount of code where lots of changes are occurring." I don't know about you, but I wouldn't declare a variable and then not use it for a hundred lines. I would declare it right before use. He shouldn't have to contrive a bad example like that to justify the new const and let declarations. The improved ability to relate intent in the code should be reason enough.

In another example for why one must be careful when testing for truthy values in a conditional, he shows some code that would fail because a value of 0 is falsey:
const sections = ['shipping'];

function displayShipping(sections) {
if (sections.indexOf('shipping')) {
return true;
} else {
return false;
}
}
Ignoring the fact that I just cringe at code like this that returns a boolean value that should be computed directly instead of selected through an if statement, (don't worry, he corrects that later) there is much more wrong with this code than just the fact that an index of 0 will incorrectly hit the else branch. In fact, that is the only case that hits the else branch. Whenever 'shipping' is missing from sections, indexOf() will return -1, which is truthy! This code is just totally broken, even for an example that's supposed to show a certain kind of bug, which it does almost by accident.

Other explanations were somewhat lacking in clarity. Late in the book, when things start to get complicated with promises, the explanations seem to get much more brief and gloss over how promises actually work mechanically and how the code executes. After having things explained in excruciating detail and in overly simplistic terms, I was surprised at how little explanation was given for promises. A step-by-step walk through of how the code runs when a promise executes would have been quite helpful in understanding that feature better. I figured it out, but through no fault of the book.

Overall, it was a disappointing read, and didn't at all live up to my expectations built up from similar books. The tone of the book was meant more for a beginner while the content was geared toward an intermediate to expert programmer. While learning about the new features of JavaScript was great, and there are plenty of new features to get excited about, there must be a better way to learn about them. At least it was a quick read, and refreshing my memory will be easy by skimming the titles of the tips. I wouldn't recommend Simplifying JavaScript to anyone looking to come up to speed on modern JavaScript. There are better options out there.

How PUBG Become Famous?

While playing PUBG, you might have wondered a question about how PUBG become famous in India or even in the whole world within a very short period of time! So today we are going to find the answer to it.



1. Freely available : 

2. TV advertisements: 

3. Live stream from Youtube : 

4. Game quality : 

5. Entry of Jio :


       Jio has brought digitization in India. It made data rates very cheap and also plays a very important role in the success of the game.
The internet connection in PUBG could not be possible without Jio.

 All the above-given points together combined gives the answer to the question that how PUBG become famous.


Are you satisfied with the answer? Please let us know by adding a comment to this post. Also, share the link

https://sudragamer.blogspot.com/?m=1


with everyone and let them know about this blog.
Thanks for visiting. Visit again.

Call Of Duty: Mobile Only In 600MB

Call of Duty: Mobile


=======================================

=======================================
Screen Shorts 









πŸ”ΆπŸ”΄πŸ”ΆπŸ”ΆπŸ”΄πŸ”Ά DOWNLOAD HERE πŸ”ΆπŸ”΄πŸ”ΆπŸ”ΆπŸ”΄πŸ”Ά

🌹 Please use IDM (Internet Download Manager) to download the files without any error.

=======================================
πŸ’˜ To Download Latest Movies In 720P & 1080P Visit My Other Site :- https://www.worldfree4utechno.ml/

Call of Duty: Mobile



=======================================

Please Install "7-zip and WINRAR" to extract the files.

πŸ’˜ Download Winrar :-
🌹  (32bit PC)
🌹  (64bit PC)

πŸ’˜ Visual C++ Redistributable 2012 :-
🌹 Download

If your PC has no net framework then, you can
download net framework from here :-

πŸ’˜ net framework 4.6
🌹 Download

πŸ’˜ IMPORTANT πŸ’˜:-
🌹 ALWAYS DISABLE YOUR ANTIVIRUS BEFORE EXTRACTING THE FILES.
----------------------------------------------

Thank You For Watching My Video.....

We Are Thank Full To You...

And Don't Forget To Subscribe To My Channel...

And Keep Visiting Our Channel, Keep Supporting Our Channel, And Keep Loving Our Channel ...

Thank You So Much................
----------------------------------------------------------------------
THANK YOU SOO MUCH FOR VISITING OUR SITE.

miΓ©rcoles, 4 de marzo de 2020

Mario & Sonic At The Olympics: Tokyo 2020 Review (NSW)

Written by Anthony L. Cuaycong


Developer: Sega
Publisher: Sega
Genre: Sports, Party, Multiplayer, Action
Price: $59.99



Mario & Sonic at the Olympic Games: Tokyo 2020 is exactly as it sounds, which is to say a game that has Nintendo and Sega's iconic characters participating in the latest staging of the Summer Games. It's part of a long-running series that taps multiple licenses to generate crossover appeal. That it works, and how, is attributable to its polish; it isn't simply a product that lops together seemingly disparate intellectual properties for expediency and quick gains. Bottom line, it's an extremely well-thought-out title that succeeds in making a variety of sports — events, really — accessible to a population of gamers otherwise loath to dabble in the genre.




Mario & Sonic at the Olympic Games: Tokyo 2020 boasts of a Story Mode that, owing to the machinations of Dr. Eggman and Bowser, compels gamers to participate in the 2020 Olympics and the 1964 Olympics, both in Tokyo — albeit with a twist; the former is presented in three-dimensional format, and the latter in eight- and 16-bit graphics and sounds reminiscent of those churned out by the Nintendo Entertainment System and Sega Genesis. The retro presentation has 10 sports on tap, while the modern one has twice as many; exclusives in each are present, further underscoring the differentiation.




Significantly, Mario & Sonic at the Olympic Games: Tokyo 2020 gives gamers options in steering their favorite characters. Joy-Cons can be used together or separately, and provide motion, directional-pad, and button alternatives. Regardless of choice, controls are extremely responsive, and at no time do they hold back or interfere with the unfolding action. To the contrary, the technical proficiency of the interface proves a boon, especially in light of the immediacy of the proceedings. If there's any bane, it's in the waiting time required to get an online multiplayer session going; apparently, there isn't enough competition out and about and angling for a quick mini-game. And, yes, only one can be set up at a time; after a button-mashing bout that literally lasts for seconds, there is need to repeat the process.




Mario & Sonic at the Olympic Games: Tokyo 2020 notably brings back the popular Dream Events, over-the-top versions of Olympic sports. Considering their potential for fun, particularly as party options, it's too bad that only Dream Racing, Dream Shooting, and Dream Karate make the leap to the franchise's latest offering. That said, the release also doubles as a repository of information on Tokyo, as well as on the characters themselves. If nothing else, they widen the knowledge of gamers and serve to elevate the title to more than mere passing fancy.




On the plus side, Mario & Sonic at the Olympic Games: Tokyo 2020 puts forth an excellent audio-visual presentation. In fact, no other release in the series looks and sounds better. No doubt, Sega was motivated to put its best foot forward given own ties to the venue of the Quadrennial. Nonetheless, it succeeds in earning its AAA price tag. For all its frailties, it manages to generate interest as a multiplayer marvel, directly involving up to eight, and indirectly keeping more transfixed, in its adrenaline-pumping offerings.



THE GOOD:
  • The finest in the series to date
  • Polished presentation
  • Doubles as a repository of information on Tokyo
  • A variety of control options on tap
  • Quick input registers

THE BAD:
  • Dream Events fewer in number
  • Online multiplayer sessions take a while to get going
  • Mini-games not threaded together


RATING: 8/10

Samantha, Short Film, Review And Interview


Josh Carly's Samantha delves into what our psyche wants to see to deal with the pain of loss. Losing a loved one has the ability to affect us in ways well beyond our understanding. There is the horrific possibility that other creatures understand the pain of loss we are working through and use it as bait.

I saw Samantha at the 2019 FilmQuest film festival (website). It was nominated for Best Visual Effects.

Samantha is a wonderfully crafted short piece of dealing with loss, and how one loss can lead to another if we are unwilling, or not able, to let go. I recommend this to those who are interested in paranormal horror and the questions of what constitutes reality.

Synopsis: Blogger Henry Mathis interviews Jodi Brooks about her transcendental experiences involving her husband, his dreams, and their deceased daughter.

Josh Carly gives some insights into where Samantha came from along with what he has coming up as a filmmaker. He also shared what inspired him to pursue this career and how he has some fun when not working on a film.

What was the inspiration for Samantha?

I've been a horror fan all of my life, but was late to discover the cosmic horror side of things. My introduction was Lovecraft. It took just one of his stories and I was hooked. I began to explore other writers within the cosmic horror genre. I was trying to figure out what my next project would be, and the excitement and inspiration I was drawing from cosmic horror indicated to me that it was the direction I needed to go in. After that it was a combination of some ideas I was wrestling with at the time, and some dreams my wife had. It all came together to form what would eventually be the script for Samantha.

What project(s) do you have coming up you're excited about?

We've gotten a lot of good feedback on Samantha and we're looking at how best to utilize that. I have a couple of scripts that are in the writing phase—one of them being a feature for Samantha—so I'm excited to see which one ends up being the direction we go in!


What was your early inspiration for pursuing a career in film?

The earliest projects I worked on were just fun videos I made with friends and family. At some point I wanted to keep making them, and everyone else wanted to go do other things. That was my first sign. I fell in love with movies and wanted to watch and learn as much as I could about them. It took off from there. First it was passion projects, and that led to paid work in post-production. I've been working on productions ever since.

What would be your dream project?

I'd love to get my first feature off the ground. I have lots of projects I dream of working on, but for now I'm happy with setting my sights on getting my first feature done.

What are some of your favorite pastimes when not working on a movie?

I do have a lot of enjoyments outside of movies. My wife and I just had a baby, and watching her grow has been the most amazing thing I've ever experienced. I enjoy reading—predominantly nonfiction, but fiction as well—and playing video games. I also enjoy grabbing a coffee or beer with a friend and just talking about any and everything. I thrive off of good conversation, and any chance I get to have one I take!
 

What is one of your favorite movies and why?

I don't have one favorite movie, but Pulp Fiction is one of my favorites. It's one of the few movies I'd assign the 'perfect' designation. It has everything going for it: great characters, fantastic story construction, top-notch dialogue, an amazing soundtrack, flawless editorial pacing, a world that really draws you into it. I could go on. Anytime I need to fall back in love with movies and get inspired I just watch Pulp Fiction.

More info on Samantha can be found at:

IMDb (link)

Instagram/Facebook: @cosmicshortsamantha

I'm working at keeping my material free of subscription charges by supplementing costs by being an Amazon Associate and having advertising appear. I earn a fee when people make purchases of qualified products from Amazon when they enter the site from a link on Guild Master Gaming and when people click on an ad. If you do either, thank you.

If you have a comment, suggestion, or critique please leave a comment here or send an email to guildmastergaming@gmail.com.

I have articles being published by others and you can find most of them on Guild Master Gaming on Facebookand Twitter(@GuildMstrGmng).