3 ms·
I think I must have some sort of strange default wiring in my brain. I've developed code for over 30 years using many different languages, but when I tried to
by cyberferret 10y ago
I think I must have some sort of strange default wiring in my brain. I've developed code for over 30 years using many different languages, but when I tried to get into Rails about 10 years ago, I just couldn't get my head around it. Nothing seemed to click and go into place for me.
I ended up using Ruby, but via a Sinatra based framework called Padrino. It just seemed to make more sense to me.
The same thing more recently with React. I tried dabbling with it about a year ago, but it just felt like an ill fitting jacket. Couldn't get the hang of it. Now I've been playing a bit with Vue.js and seem so find that fit better for my old brain.
Oh, did I mention that I just turned 50. Perhaps it is a young person vs older person thing, or perhaps my synapses are just too wired in a certain way from decades of habit? I'd be interested to hear feedback from more ahem mature developers out there to see if they experience anything similar.
- smcl 10y agoI'm not sure if I'm "young" in this instance, but I'm 31 and have been coding since I was ~15 and I had the same feeling. "An ill fitting jacket" is a nice way to describe it - I can't put my finger on exactly what feels wrong but a lot of things that "magically" happen bother me.
- olavgg 10y agoActually for me, React fitted me well as a jacket! Until a friend asked me why there was and advantage to spend an extra minute taking on and off that jacket instead of using a simpler jacket(vanillajs) that fitted just as well but that I could take on and off in seconds. My conclusion today is that the massive hype around React, Angular and so on, is a similar story as The Emperor's new clothes.
- softawre 10y ago> vanillajs Even if you don't need a view framework, do you do serious work with no libraries? What browsers do you support? It'd get really frustrating to support even IE10 with nothing protecting you from random idiosyncrasy
- sdegutis 10y agoAlso 31, also coding since ~15, and also had trouble wrapping my head around Rails. For me I think it was mainly because with Rails, the implicit conventions are actually hidden rules, and they're not always intuitive either, which made memorizing them much harder than, say, memorizing a small set of simple functions in an actual library. That's probably also why I have so much trouble with CSS I'm guessing. These days I maintain a Clojure web app that uses Compojure, and I have to say it's significantly easier to reason about than the iceberg Rails is.
- eternalban 10y agoSounds like your sweet spot is more towards the library end of library/'light weight framework' vs the 'full blown framework' spectrum. I don't believe it has anything to do with age.
- pmontra 10y agoI agree. I should have about the same age of cyberferret and I won't do anything serious with sinatra or padrino. Too much work to do. I don't have the time for that and my customers don't have the money. I wrote web apps from scratch in C (not ++) and Perl in the 90s but I don't want to reinvent the wheel every time, and after 10 years and many developers Rails is a much better wheel than anything I can build myself. Replace Rails with any other comparable framework, even if any other framework I've seen requires to do more work.
- true_religion 10y agoExcept Vue is a framework but React isn't.
- nogridbag 10y agoIt depends what you mean by "Vue". Vue itself is just the "View" part - the same as React. While you can optionally use the official router and state management libraries, these are completely independent and unnecessary.
- bitexploder 10y agoI don't think it is easy to dabble in React starting at zero knowledge of all these frameworks. Vue is just accessible and familiar enough to be more approachable at first. When buiding an internal app I took a long hard look at React, but ended up with Vue. I had previously used Angular 1.x. I know I see this said a lot but the comprehensibility of these frameworks and tooling is borderline impossible to deal with for dabblers. Docs break almost instantly (Angular 2.x). It is hard to manage the number of small ever changing tools, even when you understand the principles. I think if you took someone with good knowledge of C and good knowledge of Javascript (NOT web), just the base languages it would be easier getting into systems programming!
- cyberferret 10y agoI should clarify, that my definition of 'dabbling' is usually to build an actual app with it. I will usually try and build an app that I have already done in another language, just to get familiar with the new language oddities etc. Funny that you mentioned AngularJS - I built quite a few apps using the Ionic Framework a couple of years back, and that is (was) built upon Angular 1. I found Angular quite easy to pick up and run with. React, not so much. But its all OK. I am sure React is a great framework and all, just not my taste...
- bitexploder 10y agoI am with you. I often want to enjoy the magic of something like React, but when your entire coding task is a man day or two it becomes really hard to justify learning React. That is my main gripe, many would just say that means "React is not for you" and technically that is obviously true. But in reality it is just the immature tooling around everything getting in the way. It is all in such a state of flux and experimentation that you can't always do things that should be simple simply. I think developers often do their own work disservice by not being a little more careful with dependencies, basically. Someone spends a few days wrangling a pile of NPM packages, build frameworks, and minifiers into this magical state that lets them operate very productively, but it isn't scaleable productivity in that now you have forced the whole developer community to do this multi day learning battle. And now as your whole pile of JS evolves under you, you are committed to this stack and keeping up with the evolution of all the dependencies. You end up with a lot of "least bad" solutions that aren't actually very good to the core problem. I see that as React's biggest problem with adoption. The core model is actually really great, but the usability is a steep learning curve.
- pdkl95 10y agoRails is, by design, a very opinionated tool. The focus on establishing sensible defaults as a convention is great if you can work at least somewhat within those conventions, but it can become increasingly annoying if you regularly bypass the defaults. The goal is to make development easier, but you probably won't gain those benefits if your definition of "sensible defaults" isn't compatible with the choices made by Rails. Sinatra is a very different approach, which may work better if you want minimal library that doesn't involve a set of design conventions. Both Rails and Sinatra are useful tools; use whichever is a better fit for your needs.
- chrismealy 10y agoI felt the same way at first, but I read through the rails guides and it all made sense. And for people who work on a bunch of different CRUD apps all that conformity is a big win. You can jump back into a project and already know where everything is and how it fits together.