I mean... Let's pause for a minute and remove the year, and remove the language / framework. What are we trying to accomplish? If we know something really well and there are enough developers to support an ecosystem and the talent pool in your is big enough just use whatever you want. PHP in 2018? SURE. C++ in 2018? SURE (You masochist) Rails in 2018? Youre damn right I would. GO in 2018? OK. Fine. Whatever. This is…
"C++ in 2018? SURE (You masochist)" I know this is tongue in cheek, but if one is doing anything related to real time graphics programming I'm not aware of any good alternatives.
Is Rails still relevant in 2018?
71–80 of 346 posts
Re: Is Rails still relevant in 2018?
#72I mean... Let's pause for a minute and remove the year, and remove the language / framework. What are we trying to accomplish? If we know something really well and there are enough developers to support an ecosystem and the talent pool in your is big enough just use whatever you want. PHP in 2018? SURE. C++ in 2018? SURE (You masochist) Rails in 2018? Youre damn right I would. GO in 2018? OK. Fine. Whatever. This is…
"C++ in 2018? SURE (You masochist)" I know this is tongue in cheek, but if one is doing anything related to real time graphics programming I'm not aware of any good alternatives.
The only problem that arises with C++ is when people want to use EVERYTHING in the language, because if it exists, it has to be in my project, right?
Re: Is Rails still relevant in 2018?
#73RoR is relevant as long as the community is active, as long as there is job demand (see crossover, Stackoverflow, etc.). It is an excellent framework with gems to act as plugins (rack middleware) to serve websockets, forums, admin interfaces all with a few lines of configuration. Google, Microsoft, Facebook all maintain Ruby libraries in GitHub. So as long as you are doing Joe's textile website, it is the right tool.…
Re: Is Rails still relevant in 2018?
#74Of course it is. The question is kind of silly. For basically any startup, my advice would be: unless and until you can credibly explain a genuine reason why you can't use Rails - use Rails. I'm not some crazy fanboy but until someone can actually name a seriously competitive, batteries-included, all-in-one framework* which delivers everything, or even most of, what Rails does - it is very relevant and you ignore it…
Why do you think an all-in-one framework is an advantage? As soon as you want to switch something out you end up fighting the framework and the tutorials. Better to start with dedicated libraries that each do one thing - it's inevitably where you're going to end up. (Not that I'd consider an untyped ecosystem in the first place, especially one as fond of "magic" (e.g. monkeypatching) as rails. I have sympathy for jus…
Re: Is Rails still relevant in 2018?
#75Programmers generally overvalue the utility of a programming language to solve a particular problem, undervalue the utility of fine-grained knowledge of tools, and overvalue the utility of learning different paradigms.
We're moving from Rails to NodeJS, while it's not as drastic a change as, say, Rails to Python would have been, it's a big enough change to where I can slowly, over time, come to understand the absolutely stark differences between the two ideals.
The first thing that hit me is there just isn't the availability of third-party libraries in Javascript. We've had to re-implement functionality that we had gems for, first for pgsearch, second for CarrierWave, and I'm sure there's others. We undertook a fairly significant search for JS libraries that could replicate the functionality, but failed, leaving us to spend 1-2 weeks to write a bare-bones JS implementation.
I wrote the PGSearch implementation, and it involved studying the Rails gem output and the Postgres docs and concatenating SQL fragments together in a composable way. Luckily it didn't have to actually interoperate with Sequelize, that would have involved another week or two of work, the documentation on Sequelize is pretty far from Rails-caliber and I'd have needed to source dive from day one.
The second thing that hit me is the immaturity of the semantics of the language itself. When ES6 breaks, I simply don't have bandwidth to figure out why, the project is just that new. Ruby never breaks, I didn't even know that syntax and semantics of a production-quality general purpose programming language even had failure modes, that's how solid Ruby semantics are. But I'm finding myself having to wrap my head around the concept of semantic breakage in ES6, with frightening frequency. One day I'll isolate the root cause of what makes things like destructuring assignment fail to generate expected output, but right now workarounds are the order of the day.
I'm finding nothing really useful in those semantics that the team lead who made the nearly-unilateral decision to re-platform that are in any way interesting or even useful to spend time learning rather than just leveling up my standard library and framework understanding of Ruby and Rails. They just seem like hacky ways to do things that Rails already figured out clean approaches to solve.
NodeJS and React in particular seems to encourage weird separations from an OOP standpoint. Today I had the realization that routing is happening in both a centralized place, a dedicated, declarative routes file ala routes.rb, and more specialized routes in the controllers. This particular separation means that if I want to understand how a particular controller action is being routed, I must look in two locations rather than one, and if I'm starting outward trying to get in, I need to remember that the centralized declarations exist. When brought up, this was defended as "it works."
Of course it works, what I want is flat, easy-to-traverse declarative trees of definition. Is there a way to get to that? Not without breaking the conventions of Restify. This is something I didn't realize I'd come to lean on in Rails until it was gone. The semantics of modules in ES6 favor composition and discourage inheritance. A composed class in which the components live in a separate file than the parents needs special tooling so that you can understand the parent if all you have a reference to is the child. Otherwise you have to remember. JS fans seem to love to rely on memory.
Lack of clarity in the codebase forces me to use a debugging REPL to ascertain program behavior. This is another area in which no available JS-ecosystem tool even comes close to the power and utility of just dropping in a one line invocation into the codebase, cmd-tabbing over to the terminal or browser, then up-arrow and enter in case of the terminal, and cmd-r in the case of the browser to re-execute the code path, then immediately running commands in the context of the running application.
This fluidity appears to be impossible to find in Node, though browser debugging is mostly on par. I need it because I need to move the debugger around to ratchet closer to the source of the defect. Every extra keystroke matters. The three or so extra actions required in Node to get the debugger working is unconscionable, the sheer pain of it discourages a debugger workflow and relegates me to using logging statements, which, again, has a strictly worse standard framework implementation to Rails'. I could get into why, but this is way too long as it is.
It's not that I want to work with Node the same way I work with Rails. I'd love to be able to appreciate the Node Way. It's just that the Node way is cruftier and hackier.
This hell has me yearning to get back to the motherland. And I haven't even touched the differences in the metaprogramming workflow, which could easily double the size of this comment.
Re: Is Rails still relevant in 2018?
#76Of course it is. The question is kind of silly. For basically any startup, my advice would be: unless and until you can credibly explain a genuine reason why you can't use Rails - use Rails. I'm not some crazy fanboy but until someone can actually name a seriously competitive, batteries-included, all-in-one framework* which delivers everything, or even most of, what Rails does - it is very relevant and you ignore it…
Another would be that sometimes a train is not the most practical transportation to travel a few blocks.
Re: Is Rails still relevant in 2018?
#77> I would keep learning plain Ruby, Elixir, Phoenix and JavaScript as my side tools > I wouldn’t spend too much time learning programming languages outside that list as you need more tools in your toolbox but too many tools may get your toolbox cluttered You suggest not cluttering your toolbox, but your recommendation is a list of completely interchangeable dynamic languages?
Javascript, Ruby, and Elixir are emphatically not interchangeable. Elixir is compiled, the other two are interpreted. JS is supported natively by all browsers and is at its core an event-driven functional language, the other two are not. Ruby is probably the comfiest OOP language out there, and certainly the one with the best standard library. These are not the same languages.
How can a language be intrinsically compiled or interpreted?
Sure, Befunge is one example of a language that's notoriously hard to build a compiler for but easy to build an interpreter for, but surely that can't be said for Ruby and JavaScript. V8 is a good counter-example to the claim that JavaScript has to be interpreted.
Re: Is Rails still relevant in 2018?
#78Earlier quoted context omitted.
"C++ in 2018? SURE (You masochist)" I know this is tongue in cheek, but if one is doing anything related to real time graphics programming I'm not aware of any good alternatives.
There's absolutely nothing wrong with C++ if you use a small subset of it, like for example Carmack did in Doom 3. The only problem that arises with C++ is when people want to use EVERYTHING in the language, because if it exists, it has to be in my project, right?
Things are in the language for a reason - if you've got the issue then you use the feature.
I hardly ever recommend C++ these days as it's not worth the slower dev time. There are a few cases where run-time really does trump everything else and it's still appropriate.
In that case the code will be templated to within an inch of its life, because that's how to write real C++.
Re: Is Rails still relevant in 2018?
#79I mean... Let's pause for a minute and remove the year, and remove the language / framework. What are we trying to accomplish? If we know something really well and there are enough developers to support an ecosystem and the talent pool in your is big enough just use whatever you want. PHP in 2018? SURE. C++ in 2018? SURE (You masochist) Rails in 2018? Youre damn right I would. GO in 2018? OK. Fine. Whatever. This is…
"C++ in 2018? SURE (You masochist)" I know this is tongue in cheek, but if one is doing anything related to real time graphics programming I'm not aware of any good alternatives.