CoffeeScript vs Objective-C

Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

CoffeeScript
CoffeeScript

2K
1K
+ 1
1K
Objective-C
Objective-C

4.9K
2.6K
+ 1
490
Add tool

CoffeeScript vs Objective-C: What are the differences?

What is CoffeeScript? Unfancy JavaScript. CoffeeScript is a little language that compiles into JavaScript. Underneath that awkward Java-esque patina, JavaScript has always had a gorgeous heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way.

What is Objective-C? The primary programming language you use when writing software for OS X and iOS. Objective-C is a superset of the C programming language and provides object-oriented capabilities and a dynamic runtime. Objective-C inherits the syntax, primitive types, and flow control statements of C and adds syntax for defining classes and methods. It also adds language-level support for object graph management and object literals while providing dynamic typing and binding, deferring many responsibilities until runtime.

CoffeeScript and Objective-C can be categorized as "Languages" tools.

"Easy to read", "Faster to write" and "Syntactic sugar" are the key factors why developers consider CoffeeScript; whereas "Ios", "Xcode" and "Backed by apple" are the primary reasons why Objective-C is favored.

CoffeeScript is an open source tool with 15.2K GitHub stars and 1.99K GitHub forks. Here's a link to CoffeeScript's open source repository on GitHub.

Uber Technologies, Instagram, and Pinterest are some of the popular companies that use Objective-C, whereas CoffeeScript is used by Code School, Zaarly, and thoughtbot. Objective-C has a broader approval, being mentioned in 851 company stacks & 363 developers stacks; compared to CoffeeScript, which is listed in 364 company stacks and 170 developer stacks.

- No public GitHub repository available -

What is CoffeeScript?

It adds syntactic sugar inspired by Ruby, Python and Haskell in an effort to enhance JavaScript's brevity and readability. Specific additional features include list comprehension and de-structuring assignment.

What is Objective-C?

Objective-C is a superset of the C programming language and provides object-oriented capabilities and a dynamic runtime. Objective-C inherits the syntax, primitive types, and flow control statements of C and adds syntax for defining classes and methods. It also adds language-level support for object graph management and object literals while providing dynamic typing and binding, deferring many responsibilities until runtime.
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose CoffeeScript?
Why do developers choose Objective-C?

Sign up to add, upvote and see more prosMake informed product decisions

    Be the first to leave a con
    What companies use CoffeeScript?
    What companies use Objective-C?

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with CoffeeScript?
    What tools integrate with Objective-C?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    What are some alternatives to CoffeeScript and Objective-C?
    JavaScript
    JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
    TypeScript
    TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript.
    ES6
    Goals for ECMAScript 2015 include providing better support for large applications, library creation, and for use of ECMAScript as a compilation target for other languages. Some of its major enhancements include modules, class declarations, lexical block scoping, iterators and generators, promises for asynchronous programming, destructuring patterns, and proper tail calls.
    Babel
    Babel will turn your ES6+ code into ES5 friendly code, so you can start using it right now without waiting for browser support.
    jQuery
    jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML.
    See all alternatives
    Decisions about CoffeeScript and Objective-C
    StackShare Editors
    StackShare Editors
    Rails
    Rails
    Node.js
    Node.js
    Python
    Python
    React
    React
    Java
    Java
    Ruby
    Ruby
    Go
    Go
    Swift
    Swift
    Objective-C
    Objective-C
    jQuery
    jQuery

    By mid-2015, around the time of the Series E, the Digital department at WeWork had grown to more than 40 people to support the company’s growing product needs.

    By then, they’d migrated the main website off of WordPress to Ruby on Rails, and a combination React, Angular, and jQuery, though there were efforts to move entirely to React for the front-end.

    The backend was structured around a microservices architecture built partially in Node.js, along with a combination of Ruby, Python, Bash, and Go. Swift/Objective-C and Java powered the mobile apps.

    These technologies power the listings on the website, as well as various internal tools, like community manager dashboards as well as RFID hardware for access management.

    See more
    StackShare Editors
    StackShare Editors
    Java
    Java
    Swift
    Swift
    Gradle
    Gradle
    Objective-C
    Objective-C

    At the heart of Uber’s mobile app development are four primary apps: Android rider, Android driver, iOS rider, and iOS driver. Android developers build in Java, iOS in Objective C and Swift. Engineers across both platforms land code into a monolithic code base that ships each week.

    They use some third-party libraries, but often build their own, since “Many open source libraries available are general-purpose, which can create binary bloat. For mobile engineering, every kilobyte matters.”

    On Android, the build system is Gradle. For the UI, Butter Knife binds views and callbacks to fields and methods via annotation processing, and Picasso provides image loading.

    As for iOS, all of the code lives in a monorepo built with Buck. For crash detection, KSCrash reports crashes to the internal reporting framework.

    See more
    Jake Stein
    Jake Stein
    CEO at Stitch · | 15 upvotes · 150.2K views
    atStitchStitch
    AngularJS
    AngularJS
    React
    React
    CoffeeScript
    CoffeeScript
    JavaScript
    JavaScript
    ES6
    ES6

    Stitch’s frontend is used to configure data sources and destinations and monitor the status of each. Although we have been using AngularJS since its early days, we recently introduced React components into our front end, which many of our developers find easier to work with. We started using CoffeeScript when it was one of the few options for a more expressive alternative to vanilla JavaScript, but today we opt to instead write new code in ES6, which we feel is a more mature alternative.

    See more
    Eli Hooten
    Eli Hooten
    CTO at Codecov · | 13 upvotes · 77.1K views
    atCodecovCodecov
    TypeScript
    TypeScript
    JavaScript
    JavaScript
    CoffeeScript
    CoffeeScript
    Vue.js
    Vue.js
    Visual Studio Code
    Visual Studio Code

    We chose TypeScript at Codecov when undergoing a recent rewrite of a legacy front end. Our previous front end was a mishmash of vanilla JavaScript and CoffeeScript , and was expanded upon haphazardly as the need arose. Without a unifying set of paradigms and patterns, the CoffeeScript and JavaScript setup was proving hard to maintain and expand upon by an engineering team. During a move to Vue.js , we decided to also make the move to TypeScript. Integrating TypeScript and Vue.js is fairly well understood at this point, so the setup wasn't all that difficult, and we felt that the benefits of incorporating TypeScript would outweigh the required time to set it up and get our engineering team up to speed.

    Choosing to add TypeScript has given us one more layer to rely on to help enforce code quality, good standards, and best practices within our engineering organization. One of the biggest benefits for us as an engineering team has been how well our IDEs and editors (e.g., Visual Studio Code ) integrate with and understand TypeScript . This allows developers to catch many more errors at development time instead of relying on run time. The end result is safer (from a type perspective) code and a more efficient coding experience that helps to catch and remove errors with less developer effort.

    See more
    Conor Myhrvold
    Conor Myhrvold
    Tech Brand Mgr, Office of CTO at Uber · | 11 upvotes · 581.6K views
    atUber TechnologiesUber Technologies
    RIBs
    RIBs
    Objective-C
    Objective-C
    Swift
    Swift

    Excerpts from how we developed (and subsequently open sourced) Uber's cross-platform mobile architecture framework, RIBs , going from Objective-C to Swift in the process for iOS: https://github.com/uber/RIBs

    Uber’s new application architecture (RIBs) extensively uses protocols to keep its various components decoupled and testable. We used this architecture for the first time in our new rider application and moved our primary language from Objective-C to Swift. Since Swift is a very static language, unit testing became problematic. Dynamic languages have good frameworks to build test mocks, stubs, or stand-ins by dynamically creating or modifying existing concrete classes.

    Needless to say, we were not very excited about the additional complexity of manually writing and maintaining mock implementations for each of our thousands of protocols.

    The information required to generate mock classes already exists in the Swift protocol. For Uber’s use case, we set out to create tooling that would let engineers automatically generate test mocks for any protocol they wanted by simply annotating them.

    The iOS codebase for our rider application alone incorporates around 1,500 of these generated mocks. Without our code generation tool, all of these would have to be written and maintained by hand, which would have made testing much more time-intensive. Auto-generated mocks have contributed a lot to the unit test coverage that we have today.

    We built these code generation tools ourselves for a number of reasons, including that there weren’t many open source tools available at the time we started our effort. Today, there are some great open source tools to generate resource accessors, like SwiftGen. And Sourcery can help you with generic code generation needs:

    https://eng.uber.com/code-generation/ https://eng.uber.com/driver-app-ribs-architecture/

    (GitHub : https://github.com/uber/RIBs )

    See more
    Gustavo Muñoz
    Gustavo Muñoz
    Web UI Developer at Globant · | 2 upvotes · 6.9K views
    Angular 2
    Angular 2
    TypeScript
    TypeScript
    React
    React
    Flow (JS)
    Flow (JS)
    JavaScript
    JavaScript
    CoffeeScript
    CoffeeScript
    #Angular
    #ECMA

    Long ago when Angular 2 evolved I had to decide between the new #Angular and TypeScript or React. I really love typing my code, but forced to use TypeScript was a bit too much. I prefer the new #ECMA standard and the evolution of the old and reliable JavaScript. So finding Flow (JS) was an incredible milestone in my career as a developer. Finally, I could use types in my code, and JavaScript with the new standard. I already had the experience of CoffeeScript, so TypeScript was not an option.

    See more
    Robert Zuber
    Robert Zuber
    CTO at CircleCI · | 4 upvotes · 13.2K views
    atCircleCICircleCI
    CoffeeScript
    CoffeeScript
    Hubot
    Hubot
    Go
    Go
    Slack
    Slack

    We have added very little to the CoffeeScript Hubot application – just enough to allow it to talk to our Hubot workers. The Hubot workers implement our operational management functionality and expose it to Hubot so we can get chat integration for free. We’ve also tailored the authentication and authorization code of Hubot to meet the needs of roles within our team.

    For larger tasks, we’ve got an internal #CLI written in Go that talks to the same #API as Hubot, giving access to the same functionality we have in Slack, with the addition of scripting, piping, and all of our favorite #Unix tools. When the Hubot worker recognizes the CLI is in use, it logs the commands to Slack to maintain visibility of operational changes.

    See more
    TypeScript
    TypeScript
    CoffeeScript
    CoffeeScript
    JavaScript
    JavaScript
    Flow (JS)
    Flow (JS)

    From a StackShare community member: "We are looking to rewrite our outdated front-end with TypeScript. Right now we have a mix of CoffeeScript and vanilla JavaScript. I have read that adopting TypeScript can help enforce better code quality, and best practices. I also heard good things about Flow (JS). Which one would you recommend and why?"

    See more
    Interest over time
    Reviews of CoffeeScript and Objective-C
    No reviews found
    How developers use CoffeeScript and Objective-C
    Avatar of Instacart
    Instacart uses Objective-CObjective-C

    Basically, the trajectory was we had our iOS app, which started out native, right? It started as a native app, and then we realized you have to go through a review process and it’s slow, and at a very early stage, it made sense for us to make it a wrapped web view. Basically, the app would open, and it would be a web view inside of it that we could iterate on quickly and change very rapidly and not have to wait for app store view process to change it. It wasn’t totally a native experience, but it was as actually a pretty good experience and lasted for a very long time and was up until recently the foundation of our current mobile web experience, which is different from our app situation. So for a long time, basically, our app store iOS Instacart app was a wrapped web view of just our store, a condensed version of our store, which meant that we could add things. We could change sales. We could change the formatting. We could change the UI really fast and not have to worry about the app store review process.

    This all changed about a year ago, I would like to say, at which point it became a totally native app. We felt comfortable enough with the product and all the features that we made it a native experience and made it a fully featured app.

    Avatar of Refractal
    Refractal uses Objective-CObjective-C

    While the majority of our stack is now using Swift, we still love Objective-C in many cases, especially low-level software manipulation, where it's just easier. It doesn't hurt that a lot of iOS/OS X Libraries out there are written in it either.

    Avatar of SmartLogic
    SmartLogic uses Objective-CObjective-C

    We like to go native with iOS development, and Objective-C has been the only game in town until recent introduction of Swift. We're keeping an eye on Swift, but we aren't giving up on the [old way:to do:things]!

    Avatar of Oomba
    Oomba uses CoffeeScriptCoffeeScript

    All of our Javascript code is first written in CoffeeScript for ease of reading / writing. It is compiled to Javascript before being minified and served to the client.

    Avatar of opening.io
    opening.io uses CoffeeScriptCoffeeScript

    All front-end / back-end is driven by Coffeescript. For the main ReactJS functionality JSX is embedded with coffee in .cjsx files / handled by Browserify.

    Avatar of Jeff Flynn
    Jeff Flynn uses CoffeeScriptCoffeeScript

    We like CoffeeScript because it's more readable, we use it because we have a lot of libraries and functions already (plays nicely with Rails, too)

    Avatar of DailySMSCollection
    DailySMSCollection uses Objective-CObjective-C
    Avatar of Promethean TV
    Promethean TV uses Objective-CObjective-C

    PrometheanTV provides SDKs for IOS devices including support for the Objective-C language.

    Avatar of Chris Hartwig
    Chris Hartwig uses CoffeeScriptCoffeeScript

    All our code is CoffeeScript, blending seemlessly in our JS stack

    Avatar of Publitory
    Publitory uses CoffeeScriptCoffeeScript

    Javascript is a hell. We use coffeescript for its readability.

    How much does CoffeeScript cost?
    How much does Objective-C cost?
    Pricing unavailable
    Pricing unavailable
    News about CoffeeScript
    More news