I would like to know if this makes Rails worth learning for someone who knows Ruby but doesn't know rails. I have found my ruby knowledge to be less than marketable, and I want to step my game up. What do yall think?
I would like to know if this makes Rails worth learning for someone who knows Ruby but doesn't know rails. I have found my ruby knowledge to be less than marketable, and I want to step my game up. What do yall think?
Besides, whether you chose to use Rails, or Sinatra, or move to some other language, as long as you are doing web development you'll be able to apply the concepts learned. So I say go for it!
I'm personally a fan of Clojure which is an excellent language with excellent tooling and a smart and friendly community
From a high-level-language standpoint, static typing is a crutch. It isn't necessary, but it forces you to do things "the right way"... according to some definitions of the right way. It is possible to make mistakes without static typing that you would not make with it... but if you're careful you can also do some good things without it that you can't do with it. It all depends on whether you feel more comfortable with taking control or you feel the need for some restrictions to keep you "in line".
From a purely performance standpoint, there is no question: static typing compiles/interprets to faster code.
I see types as a high-level design tool. They allow me to reason about a domain, and figure out how to structure things at a high level before delving into the implementation. Yes, performance is a great side-benefit, but it is not always the driving factor.
It'd be great to get something like the TIOBE index, but split by country, although I guess I'd try to bias it a bit heavier towards commercially developed LOCs.
The problem is that the maturity of the Rails market means that most Rails positions require X number of years experience - I can certainly pick up Rails but those years of experience have to come from somewhere.
EDIT: not entirely true, as there are a lot of PHP jobs. However these include bottom-feeder Wordpress gigs and generally pay much lower salaries than other languages, right or wrong.
It not only teaches you Rails, it teaches Github and Heroku and gets your first first web app deployed at the end of the first chapter. And, it's free!
There is also enormous hiring market for Rails developers.
Nothing matches PHP adoption. It started 10 years before than Ruby and Python web frameworks and its runtime model is ideal for free hosting. That gave it mindshare and market share. It's still one of the ugliest languages even if it's slowly getting a face lift.
At the time its competitors where Java and Perl. Perl could have the same runtime model and was the first language for the web thanks to CGI.pm. PHP won because its simplicity and the commands embedded in the HTML page. Java is another world and only suited to corporate developers especially because there could be hardly a free Java hosting. Any of them now, not counting the AWS Lambda free tier?
Besides, PHP codebases are notorious for being incredibly messy. PHP as a language used to suck big time, so you'd be taking over lots and lots of legacy code that would make you cry. That's nowhere as big of a problem with Rails: it's newer and Ruby is a joy to work with.
[1] http://www.payscale.com/research/UK/Job=PHP_Developer/Salary
[2] http://www.payscale.com/research/UK/Job=Ruby_Software_Develo...
It is definitely a convenient tool, designed with programmer happiness in mind -- so there're a lot of things which will make your life easier. Although, sometimes this UX-centric model backfires and we get such things as RSpec.
Finally, it depends on what you are trying to achieve. If you are into money-side of the question, then maybe JavaScript ecosystem might be more worthwhile. Although, I believe that it is possible to bootstrap demand around tools that you are passionate about if you convince others to think the same way. My point being, that maybe you should look at the technologies that you love instead of following the market hype, but this is more harder and also means more time investment, but it pays off in the future.
It's a generalized Ruby TDD tool which has very little to do with Rails per se.
The suggestion that RSpec was created to cover some failure of Rails strikes me as exceedingly strange.
Are there any books that you'd recommend or anything?
It takes you through building a simple site with a shopping cart from scratch, and lets you encounter enough real-world style situations to give you a really good grounding.
this one obviously.
Now people learn Docker and Micro Services before even learning proper programming.
Or course you should also learn some front end stuff too and be more full stack worthy, especially with ajax powered APIs.