Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Ruby on Rails.

Because for 95% of my projects, personal and professional, thats the tool to solve it. I don't have to reinvent anything, or worry about gaping security holes common to web applications - i just need to work on the problem domain.

I can focus on good modeling and good front-end UI/UX. And there is flexibility in delivering desktop/mobile applications quickly, using what i've already built in rails.

As a one man band, I can't think of a better instrument to play.



Oh how I love Rails, the framework and language (Ruby) of developer happiness. But now working in AI, it's a Python game. This is maybe embarrassing to admit but I prefer having the Python pipeline, TensorFlow, numpy, etc. living on its own box, exposing inference as an api, so I can keep developing in Rails and its supporting ecosystem (background processing, push notifications, etc.) as the main app handling everything else.


I guess the question is, why not Django?

I mean, I get it - for a personal project, I did exactly what you just described, wrote the web app in rails and wrote some scikit-learn stuff with python. I did this mainly because I like rails, I like python for ML stuff, and I didn't want to have to learn Django to get a prototype working.

But assuming you were willing to take a small hit/make a small investment in a new technology, do you think it might be a little better to have it all in python, and use Django? Or is the separation similar enough that it doesn't really make much of a difference (i.e., you'd be calling the ML stuff through an api anyway, an your web app would be pretty separate from your ML service, so the only real benefit to Django vs Rails is one language for everything, which I'm inclined to think isn't that big a deal).

I've moved more heavily into Python lately because of data analysis, ML, numpy, all that, and I am enjoying it a lot. I find python very nice to write in, even though I like Ruby and Rails a lot. Python looks good on the page, and has that clarity I like in ruby and rails, and of course the scientific programming world isn't really a ruby one, python is far, far more prevalent. So I've been thinking of taking the plunge and learning Django, but I'm not completely convinced it's really necessary, since you can do what you just described here...

Oh also, (sorry, this is a very scattered post), would you mind sharing some of the technical information about what tech you used to create the api for your python side?


> I guess the question is, why not Django?

Ok, so I'm going to bite. I'm using Django for my company's website[1], and while I think it's hands-down the best framework for Python, I must admit to having felt some envy when I investigated what all the fuss on Rails was all about.

I think Rails' controller concepts are cleaner, and its way of handling forms is simpler and more direct (granted, with more sugar or magic, which some have a problem with -- not me).

[1] https://zenaud.io


I guess the question is, why not Node/React/PHP/Laravel/JSP/a bowl of noodles?


Why would that be embarrassing? You've effectively created your own private AI microservice (to use the buzzword du jour) and consumed it in your favorite webapp stack. Sounds pretty smart to me.


Guess I'm just used to scoffs from elitist, self-loathing devs who look down on Rails people :)


that sounds like a very pragmatic separation. Well done! What are you doing with AI?


You just described my exact feelings and stack.


There are so many jobs out there in rails / ruby. I really want to learn it, but the tutorials I've seen teach you how to generate a blog engine. I want some real world examples and tutorials, where's the best place to start?


:) For me, I really got a lot of value out of railscasts.com. I watched all of them like people watch their favorite TV shows. Helped me see the world through rails developer eyes.


I used to pay for a subscription to Railscasts, and it was money well spent. It's too bad that Ryan stopped making new videos.

Railscasts was awesome. In particular, I really loved the ASCIIcast feature on each video. I can't say enough about how helpful that site was in terms of helping me learn Rails.


> There are so many jobs out there in rails / ruby.

Just today, another commenter [1] said that...

  The job market for Rails devs seems to be pretty dry.
  Many Rails devs I know, including myself, do not get even
  10% of Rails job offers anymore, as it used to be until a
  couple of years ago.
[1] https://news.ycombinator.com/item?id=14863819


ok, maybe "so many" is a little bit of an exaggeration. WeWorkRemotely.com lists 72 programming jobs at the moment, and 16 of those mention ruby and/or rails.

That's about 20% of the jobs.


Tried getting a job to move to Rails development once. I have 5+ years of PHP and MVC frameworks experience. They said I can't get the job for two reasons:

1. If they tried hiring me as a mid-level Rails dev, I'd be too inexperienced in Rails

2. If they tried hiring me as a staring Rails dev, I'd be too underpaid

So apparently, my past web dev skills are non-transferrable to some companies that hire web developers. Yikes.


Tutorials are always going to be toy problems. If you want to work on real world problems, make something real.


Same here. I like to dabble in other languages and frameworks, but nothing makes me as productive as rails


Me too. For web development nothing comes close.


Have you tried Elixir and Phoenix? I came from C# but i know a lot of people come from Ruby and say Phoenix is similar enough to Rails.


elixir is awesome, and it's the language i use on my personal projects. But it's still pretty immature and if you're writing a web application, rails will get you further, quicker.

With rails when i'm writing some new code quite often i'll open pry and experiment. %w!bob tom harry!.<tab><tab> gives me all the things I can do on this array. So maybe I'd do %w!bob tom harry!.sort

If i'm in iex (the elixir equivalent REPL) I have no such help! first, I can't use %w! to define an array, and secondly You can't call things like that. The equivalent is

    ['bob', 'tim', 'atom'] |> Enum.sort
which isn't discoverable in the same way


> "first, I can't use %w! to define an array, and secondly You can't call things like that."

The second part is a pretty fundamental language difference but you can use sigils to handle the first part. E.g., to generate word lists use ~w like so:

     ~w(bob tom harry)
If you don't want to use parens, you could use pointy brackets, braces, pipes or a few other delimiters instead.


thanks for the tip!


Not even Django ? Why ?


I can't speak for OP, but for me:

1) I generally prefer Ruby's syntax over Python's (I would miss blocks for sure) 2) Rail's ecosystem seems larger than Django's, but that could just me being more familiar with it 3) There seem to be a lot more Rails jobs than Django ones

Django would make more sense for a business that uses python for other things, though.


Not OP but django is huge and the dependency chain is crazy for me its just way more than i need and doesn't solve a problem that i can already solve with more light weight frameworks.

I have know django developers who were great in django but never got their heads around python beyond the framework.

Maybe things have changed since the last time i poked at it.


I don't find Rails (the "most productive" comparison point according to the thread) more lightweight than Django...



This seems off. Not the correlation to languages (although I'm pretty sure that I've contributed my fair share of negative commit messages to Rails projects), but the fact that only about 20% of commit messages are deemed neutral. I would expect at least 50% there, since most times the commit message just neutrally describes what has changed.


These are not commit messages, but commit comments, https://github.com/blog/42-commit-comments.


Dear downvoter, do u care to elaborate?


This is exactly how i feel about flask and prior to flask turbogears. Stick with what you know until it doesn't solve the problems in satisfactory way.


true, but I could have just stuck with PHP then I feel. But rails represented more than just slinging code - it represented professionalism. Doing things well. Maintainability, and above all else developer happiness.

With PHP, building an online store was possible for me. With Rails, it became obvious.

Always be willing to upgrade - but don't hastily discard something useful for something new either.


Couldn't agree more.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: