📜 ⬆️ ⬇️

Studying Rails (well, Ruby)

I know PHP. Do not just know, but really know. Not only syntax, or idioms and peculiarities, but also why - why something works just the way it works, you know, under the hood. And most likely I somehow took part in the adoption of a decision. All the same, thirteen years with a language is a long time. But I worked not only with PHP.


After two years of working with PHP, I took a little vacation and learned ColdFusion, which spun over the Java EE platform. Actually, that's why I also poked in Java, since ColdFusion can be extended using Java components.

Then, naturally, there was an inevitable immersion in JavaScript, spiced with a decent portion of CSS, semantic Web technologies ( RDF , OWL and SPARQL ), XML, XPath and XSL (XSL: FO and XSLT), and let's not forget about SQL. Hell, I can write (and write) a DTD ( Document Type Definition )!
')
Not so long ago, after I started working at EngineYard on the PHP Orchestra platform, I learned Python. (Yes, we use Python for some parts of our PHP stack. Why? Because it is the best tool for solving some problems.)

I didn’t add a bunch of keywords to my resume to make it look cool. I decided so because at the moment, I consider myself a polyglot.

I have always studied new tools (be it demons, utilities, libraries, languages ​​or services) and judged them by several criteria:

In the end, it all comes down to whether this is the right tool for solving the problem?

That is why, when it ultimately comes to writing websites, I choose PHP. Yes, know your tool well, and let it pay off to you a hundredfold!

Then I came to EngineYard and met a bunch of amazing engineers who chose Ruby for themselves.

Even now, after more than a year of working at EngineYard, I’ll learn something about Ruby or Rails. Of course, I read a lot of Ruby code, in the process of code review, or just out of interest, how something was implemented. I even railed Rails a bit, but it was basically copy-paste-a-bit-tweak.

Then Distill arrived, and we needed a website. Approximately 3 weeks to do everything, and without departing from the main tasks and without any specification for the technologies used; in a typical situation, I would choose PHP and, probably, Zend Framework 2 , and would do everything in a couple of days.

Instead, given my discussions about Distill and what we want to achieve (with an eye to solutions, not technology) in the coming months, I decided to grab the opportunity to try Rails (well, Ruby). It was a small project with limited functionality, and I could quickly roll back to PHP if I had encountered too many problems with RoR. Fortunately, surrounded by, literally, dozens of amazing, experienced developers, I could always find someone to whom I could ask questions. But, as you will see later, I didn’t really need help.

Implementation details


The meaning of this article is not how I learned Ruby or Rails, but what I learned from the experience. Although, something about RoR, I would also like to say.

After PHP, I definitely ran into things causing WTF! reaction:

Source: https://habr.com/ru/post/179395/


All Articles