COBOL聽vs聽Rails

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

COBOL

66
84
+ 1
1
Rails

14.6K
9.9K
+ 1
5.4K
Add tool

COBOL vs Rails: What are the differences?

What is COBOL? Imperative, procedural and, since 2002, object-oriented programming language. COBOL was one of the first programming languages to be standardised: the first COBOL standard was issued by ANSI in 1968. COBOL is primarily used in business, finance, and administrative systems for companies and governments.

What is Rails? Web development that doesn't hurt. Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern.

COBOL belongs to "Languages" category of the tech stack, while Rails can be primarily classified under "Frameworks (Full Stack)".

Rails is an open source tool with 43.6K GitHub stars and 17.5K GitHub forks. Here's a link to Rails's open source repository on GitHub.

Advice on COBOL and Rails
Max Loua
FullStack Dev at Nouvelles Donnes | 3 upvotes 路 111K views
Needs advice
on
Rails API
Rails
and
Node.js

Currently working on my company's new saas, the main goal is to manage content and user. I'm familiar with the rails framework and how it is easy to code and deploy. The thing is I'm the only dev on the project, and in terms of the tech stack, there is no preference. However, because Node.js is everywhere and there is enough dev on the market, I am stuck between choosing Rails or Node.js. I don't mind implementing Vue.js or React on the frontend, but I need a solid argument to explain to people that aren't necessarily tech-savvy as to why we should choose Rails over Nodejs.

See more
Replies (6)
Recommends
Node.js

You are probably referring to ruby on rails for web development and nodejs for building the backend. Nodejs has frameworks such as express and next which not only provides a minimal code to build a backend but also gives the flexibility to try and experiment with the framework choices. For example you can have express framework + Passport for OAuth .... etc. The flexibility and the constant improvement of the language provides a good reason to opt for nodejs. Nodejs uses javascript which makes your code uniform when you are working full stack i.e react in front end and nodejs in backend.

See more
Recommends
Rails API

I'd use the following metaphor to non-technical people. Rails is like a prepackaged toolkit, which can get most of the common tasks done fairly with ease. Whereas, node.js with whatever backend framekwork of choice, is like a DIY toolkit assembled by mix-and-match different tools in a large tool shop. Of course, at times DIY toolkit can do better on specific tasks. Given that you are the only dev on the project, I'd assume that the resource is fairly limited. And looks like you are not building some next-gen super duper fast smart application. So Just go with the prepackaged toolkit then. Rails is a very opinionated framework, there're pros and cons to it. But thanks to that, many of the gems are coded with it in mind. For example, they are all designed with same naming convention. Many will work well together out-of-box, for example devise and cancancan. Besides, many stuff are built in the framework. For example, logging utility, csrf protection, session encryption, etc. Yes, many of those stuff may not be useful or necessary at the beginning of the project life-cycle. However, down the road, there is a good chance you will need some of those. And the moment you realize that you already have it, it's so delightful. In addition, it's usually easier to debug a rails app than a node app in my experience. Personally, the cases where I would pick node.js over rails would be projects either require a) high-performance, or b) certain core functionality that has been implemented by some node packages but not by any ruby gems. In term of performance, node has a clear advantage over any other major web frameworks, except the ones built with go. It's simply a language feature. Node allows developer to easily write code that runs db query, external api calls, or other stuff of that nature in parallel. And that is THE MOST COMMON performance bottleneck of web applications.

See more
Francisco Quintero
Tech Lead at Dev As Pros | 4 upvotes 路 93.6K views

Rails is currently a very mature and feature complete framework.

It's the ideal one if you're the only dev for your project because you get so many things already baked-in the framework that you'd only need to deeply care about specific stuff.

I won't say any NodeJS framework isn't good enough but in my experience with NodeJS frameworks you have to code a lot of the things Rails already provides. There's many people in Twitter and IRL asking for a "Rails for JavaScript" framework.

And you know? In the early stages of any project we have to validate it first with real users/customers. With Rails you can get to production real quick and fast.

I'm going to mention some of the features you get from day 1 when you run rails new app_name:

  • File uploading with Active Storage
  • Rich text editor with Action Text
  • Emailing with Action Mailer
  • ORM, migrations, validations with Active Record
  • Web sockets with Action Cable
  • Internationalization
  • Modern frontend stuff with Webpacker

and more.

The JavaScript community is on its moment, growing and gathering more people everyday but the Rails community is also a big one and there's always going to be a Rails developer to hire whenever you're ready to hire someone.

I suggest you to go with Rails because is a good choice, gives you less things to worry about and it's a very good and mature framework.

See more
Dan Pickett
Co-Founder at Launch Academy | 4 upvotes 路 93.5K views
Recommends
Node.js

I hate to admit it, because I loved my time with Rails (and I still love the framework), I have a hard time justifying new Rails applications these days. Core team has made some tragic design decisions, and developers just don't perceive it as being "cool" any more. The latter is a terrible metric for which to base a technology decision, but I think you'll find it more difficult to recruit additional engineers if you choose Ruby on Rails.

Without knowing too much of the details, Node/Express (ideally with Typescript) seems like a better solution here, given you'll be building out the front-end in Vue or React. It might be worth looking at NestJS, as it's the closest I've seen to a well-formed opinionated framework on the Node side of things. We're also fans of Objection ORM.

I hope that's helpful!

See more
Jean-Pierre Pommet
Recommends
React on Rails

I need a solid argument to explain to people that aren't necessarily tech-savvy as to why we should choose Rails over Nodejs

Hi Max, it sounds like that you are proficient in both stacks and probably have a higher expertise in Rails (correct me if I am wrong) and since you are the only dev on a project, a good argument that comes to mind is probably the velocity and maturity (enterprise grade, battle tested in production) that Rails provide with proven success stories in the tech industry such as Airbnb, Stripes, Shopify to name a few. You can also make the argument that Rails is great to run the backend and React+Vue (and nodejs for tooling) is ideal for the front-end development (see or find companies example that use both). You can also build and show a prototype using both and share your experience which could help you find and forge the selling points to those non tech savvy folks, why not.

Eventually, are you going to have other developers on your project? if yes then you will need to take in account, onboarding and ramp up to contribution time when they are hired.

IMHO, I am not a fan of the debate Rails vs Nodejs, they are just tools at the disposal of the developer it's just a matter of figuring out what makes the most sense.

Let me know if you wanna discuss further, happy to help out!

ps: markdown preview on stack share... no good.

See more
Recommends
Rails API

Rails has advantages over node.js (specifically express) when working a more complicated backend. While Express has some speed advantages to Rails, this is mitigated if your software is more CPU intensive.

See more
Shivam Bhargava
AVP - Business at VAYUZ Technologies Pvt. Ltd. | 22 upvotes 路 195.4K views
Needs advice
on
Node.js
Python
and
Rails

Hi Community! Trust everyone is keeping safe. I am exploring the idea of building a #Neobank (App) with end-to-end banking capabilities. In the process of exploring this space, I have come across multiple Apps (N26, Revolut, Monese, etc) and explored their stacks in detail. The confusion remains to be the Backend Tech to be used?

What would you go with considering all of the languages such as Node.js Java Rails Python are suggested by some person or the other. As a general trend, I have noticed the usage of Node with React on the front or Node with a combination of Kotlin and Swift. Please suggest what would be the right approach!

See more
Replies (9)
Recommends
Serverless

Use the language which works well for the developers you have or have available. If you're starting, building a first iteration is far more important than worrying about what language might be best to solve a problem you may never have.

When hiring, look for developers, not "node developers" or "java developers" having people who recognise and are willing to adapt means you can have the flexibility you will need to solve as-yet unforeseen issues. Hire people who are wed to a specific language and you will be bound to that language, regardless of whether it's most appropriate or not.

See more
Recommends
Rails

For online banking, it'll be less computation intensive and more data intensive. So, Rails will be better than Python. I'll not recommend Node.js as it's not as scalable as those. If I had to choose indepently I would took Go.

See more
Recommends
Node.js

Typescript reduces many errors and makes potentially big app more maintainable. For banking app typed language is must have, so if not node than it could be anything typed, but not python or ruby. Also you can search benchmarks by yourself - ruby is the slowest language in the world, python comes next, javascript is on top of interpreted languages by speed.

See more
Varun Sharma
CTO at Nugen Computer & I.T. Services | 5 upvotes 路 6.1K views

HI Shivam, If you the only person who is going to develop the full application then I will suggest you to go for Node.js because you will have to deal with one language only i.e. Javascript. And if you are thinking about scaling then do not worry. Nodejs with mongodb make good application. Capital One bank, Paypal, Linkedin and so on companies shifted themselves to Nodejs. Even if you go for Ruby, it has GVL which again makes it work in single thead. If you want to manage concurrent requests in Ruby then you have to manage by introducing Rubinius/jRuby. If we talk about the deployment of Nodejs, it require less resources as compare to other. I have deployed inventory solution right now using Reactjs with Node.js stack and it is pretty much good. I have also deployed apps in Ruby as well. However, node is fast as compare to Ruby and you can scale it easily. I am not saying Ruby is bad. I work in Ruby as I told you above. But these are the real facts.

You can checkout this link :- https://softwarebrothers.co/blog/companies-that-use-node-js/

See more
John Akhilomen
Recommends
Python

Since it's a banking app, I'd advice you go with Python for the backend because of the data analysis you'd be doing in your app. I see you doing some data analysis since it's a banking app. Python is a powerful language for data analysis. And for web, yes I'd advice Node with React, and for mobile, Node with a combination of Kotlin and Swift. Don't even try going hybrid for this kind of application. It's best going native.

See more
Chris Capistran
Software Engineer at Ultra Mobile | 3 upvotes 路 6K views
Recommends
Node.js

The reason why companies are switching to nodeJS is because it unifies all development under a single language.

If you are a one man team you can start developing anywhere on the stack without the overhead of switching languages at each layer. If you have a large team, your DBAs, your core service team, your application team can all read each others code.

You can build a serverless backend using nodeJS and cloud services( AWS, Azure, etc.) that is extremely scalable. A front end framework (ReactJS(Web/mobile), ReactNativeJS(mobile optimized) all in Javascript. If you need to optimize performance for mobile further you can contract an iOS Developer to build in Swift or an Android developer to build it Kotlin and give them keys to use your nodeJS apis.

See more
Amit Mor
Software Architect at Payoneer | 3 upvotes 路 6K views
Recommends
Java

As others mentioned, the problem domain is around data. From my experience, data means strongly typed entities. It might be good however to start off with a dynamic language such as Python (with Django) just to build a prototype, but once the models have been proved to be valid I'd go with statically typed language such as java/Go (I prefer Go but that's a whole different conversation) as you get compile time guarantees for type safety.

An alternative (or addition) to all of the above is the use of 'strong protocols', such as Protocol Buffers, Avro, Thrift and the likes. In this case you get type safety and stability between communicating backend services, while deciding and changing on whatever backend service language you want. That goes to say that your problem is not related to programming language decision but to a much profound understanding of what's important for the business to be created and be valuable.

As a general note, I don't think you should go, if you've got commercial aspirations, with any language that you'd have hard recruiting people who actually know what their doing. In Israel it would mean take Kotlin out of the equation

See more
Jay Rathod
Software Developer at Software Development & Design Services | 1 upvotes 路 5.9K views
Recommends
Node.js

node is convenient.

See more

You should not go with react,kotlin and swift those are very colourful languages but java ,node.js etc are colourful yet they have depth. You should only go with kotlin if you want to use android studio it is highly compatible. So its your choice . May you choose the best

See more
Decisions about COBOL and Rails
Chose
Rails
over
Django

I have used both the tools . Both of them are super awesome , very reliable and their learning curve is also super easy. But, the reason I choose Ruby on Rails over Django is the fact that the dependency injection is super easy in Rails than Django. What I mean is the fact that, Django requires a lot of import statement to do a lot of work, which remembering is not so easy and even after that you may need to write a lot of code. But Ruby on Rails uses gem to add addition feature or dependency in the project. Which requires just copying the gem statement from github and pasting it in the Gemfile, then running bundle install(these days just bundle works super fine). And there you are with the new feature in your app. You can see this with the example of Authentication, where in Django you require several steps like adding class based views and many more, but in rails it's just as easy as installing the 'devise' gem . And if you want to make it beautiful use bootstrap_template gem to make it look prettier. Now with Rails 6 , Rails is a total developer's fervent friend because it has come up with features like Action Mail and Action Text.

See more

Since I came from python I had two choices: #django or #flask. It felt like it was a better idea to go for #django considering I was building a blogging platform, this is kind of what #django was made for. On the other hand, #rails seems to be a fantastic framework to get things done. Although I do not regret any of my time spent on developing with #django I want to give #rails a try some day in the future for the sake of curiosity.

See more

As a small team, we wanted to pick the framework which allowed us to move quickly. There's no option better than Rails. Not having to solve the fundamentals means we can more quickly build our feature set. No other framework can beat ActiveRecord in terms of integration & ease-of use. To top it all of, there's a lot of attention paid to security in the framework, making almost everything safe-by-default.

See more
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of COBOL
Pros of Rails
  • 1
    Business Oriented Language
  • 848
    Rapid development
  • 648
    Great gems
  • 604
    Great community
  • 479
    Convention over configuration
  • 416
    Mvc
  • 349
    Great for web
  • 344
    Beautiful code
  • 311
    Open source
  • 270
    Great libraries
  • 260
    Active record
  • 105
    Elegant
  • 88
    Easy to learn
  • 86
    Easy Database Migrations
  • 78
    Makes you happy
  • 73
    Free
  • 62
    Great routing
  • 53
    Has everything you need to get the job done
  • 41
    Great Data Modeling
  • 38
    Beautiful
  • 38
    MVC - Easy to start on
  • 35
    Easy setup
  • 26
    Great caching
  • 25
    Ultra rapid development time
  • 22
    It's super easy
  • 17
    Great Resources
  • 16
    Easy to build mockups that work
  • 14
    Less Boilerplate
  • 7
    Developer Friendly
  • 7
    API Development
  • 6
    Great documentation
  • 5
    Easy REST API creation
  • 5
    Quick
  • 4
    Great language
  • 4
    Intuitive
  • 4
    Haml and sass
  • 4
    Easy to learn, use, improvise and update
  • 2
    It works
  • 2
    Jet packs come standard
  • 2
    Easy and fast
  • 2
    Legacy
  • 2
    Metaprogramming
  • 1
    Convention over configuration
  • 1
    Easy Testing
  • 1
    Cancan
  • 1
    It's intuitive

Sign up to add or upvote prosMake informed product decisions

Cons of COBOL
Cons of Rails
  • 2
    Extremely long code for simple functions
  • 20
    Too much "magic" (hidden behavior)
  • 13
    Poor raw performance
  • 11
    Asset system is too primitive and outdated
  • 6
    Bloat in models
  • 6
    Heavy use of mixins
  • 3
    Very Very slow

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

What is COBOL?

COBOL was one of the first programming languages to be standardised: the first COBOL standard was issued by ANSI in 1968. COBOL is primarily used in business, finance, and administrative systems for companies and governments.

What is Rails?

Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern.

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

What companies use COBOL?
What companies use Rails?
See which teams inside your own company are using COBOL or Rails.
Sign up for Private StackShareLearn More

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

What tools integrate with COBOL?
What tools integrate with Rails?

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

Blog Posts

Jun 6 2019 at 5:11PM

AppSignal

+9
15
1086
+17
32
28627
+17
18
5602
What are some alternatives to COBOL and Rails?
Python
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
Java
Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!
C
Cobalt
Sign up for free in just a few minutes and ask our top researchers to evaluate the security of your web or mobile app. Decide to run either a bug bounty program or an agile crowdsourced security audit. Choose from our Core of vetted researchers or the whole Crowd.
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.
See all alternatives