|
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. |
Looks legit. I'll check out some of the parts of their courses later on myself to confirm (since I've switched from PHP to RoR recently). Fortunately for me I have people with 6+ years of experience doing enterprise-level apps in RoR to guide me so that I am introduced to the best practices and warned of some pitfalls from the get-go.
|
28078 Posts
If I remember correctly the odin project was amazing although it is more or less dead these days (no one there to help and lessons are not up to date). Unless they revived within the last couple of months?
Anyway I think they were basically replaced by free code camp which is also really strong. Although their back end focus is on node/mongo so if you like ruby more than JS you will prefer odin.
|
28078 Posts
Hmm it seems like the live chat is fairly active for theodinproject. Maybe it is not dead.
|
Hyrule18968 Posts
seems weird they are saying they will teach you how to be a web dev and have picked Ruby instead of PHP
|
Not all that weird. You can get stuff done with RoR, and there are plenty of employment opportunities for ruby devs.
It probably won't get you a job at AmaFaceGoogSoft, but there's a lot of smaller shops out there who will hire ruby devs and don't care about its problems with scale, etc. (For that matter, php also won't get you much farther unless you do some incredibly nuts engineering like Facebook to bend PHP into reasonable shape)
|
On December 26 2016 05:05 phar wrote: Not all that weird. You can get stuff done with RoR, and there are plenty of employment opportunities for ruby devs.
It probably won't get you a job at AmaFaceGoogSoft, but there's a lot of smaller shops out there who will hire ruby devs and don't care about its problems with scale, etc. (For that matter, php also won't get you much farther unless you do some incredibly nuts engineering like Facebook to bend PHP into reasonable shape)
Well, PHP is pretty damn fast now (especially since version 7 changed how the strings work internally which sped it up significantly). And say what you will but 99% of companies won't reach AmaFaceGoogSoft size so scaling (be it PHP or RoR) is rarely an issue (and usually it can be solved easily by just adding more servers before it becomes unprofitable). If you have scaling issues with just medium-sized app then something is seriously wrong either with your code or with your server setup.
Anyway, back to original tofucake's question: I think that RoR over PHP is a good pick. Another one could be Python and Django, but then the course would have to be longer I believe. RoR is designed specifically for the web, Ruby also allows you to do stuff outside of web dev (like Python, unlike PHP), which is a nice bonus. The problem with PHP is that there are so many frameworks out there that it's hard to just pick one since each one is very much different. I know that the only PHP framework I'd ever bother to use now is Symfony (speaking full stack here), but it might not be everyone's first choice. It's also way way more complicated and hard to get into than RoR in the beginning, which would make the course much lengthier (again).
On the face of it, RoR is easier to get into than any PHP framework. But because it's so easy to get into it also means that it's damn easy to fuck things up real bad real quick (that's why Ruby in general is easy to begin with for everyone but is generally recommended for more experienced developers who can think about the bigger picture).
So, all in all, they've chosen a stable, popular technology for the web. And one that only really uses a single framework (there's also Sinatra but that's for small stuff) so if you learn it you're bound to work with it, whereas if they chose PHP you would be flying blind.
|
Hyrule18968 Posts
On December 26 2016 05:31 Manit0u wrote: But because it's so easy to get into it also means that it's damn easy to fuck things up real bad real quick that's also one of the main reasons that PHP has been derided for so long, so there's that
as for frameworks, there's only a few worth mentioning: Symfony, Laravel (based on Symfony), Zend, and Cake. For lightweights there's basically Slim and Silex (aka Symfony Lite). Since Cake 2 is a pile of hot garbage and Cake 3 is a pile of hot garbage with a bunch of Symfony components, it's pretty safe to say "learn Symfony".
Also, Ruby over PHP is ridiculous for a "how to become a web dev" article since PHP has 82.4% market share and Ruby has 0.6%. The simple fact of the matter is that if you don't know PHP, you won't go very far.
|
it is usually better to learn something sub-optimal than learning nothing.
no effort is wasted if you are starting from zero.
|
On December 26 2016 05:31 Manit0u wrote:Show nested quote +On December 26 2016 05:05 phar wrote: Not all that weird. You can get stuff done with RoR, and there are plenty of employment opportunities for ruby devs.
It probably won't get you a job at AmaFaceGoogSoft, but there's a lot of smaller shops out there who will hire ruby devs and don't care about its problems with scale, etc. (For that matter, php also won't get you much farther unless you do some incredibly nuts engineering like Facebook to bend PHP into reasonable shape) Well, PHP is pretty damn fast now (especially since version 7 changed how the strings work internally which sped it up significantly). And say what you will but 99% of companies won't reach AmaFaceGoogSoft size so scaling (be it PHP or RoR) is rarely an issue (and usually it can be solved easily by just adding more servers before it becomes unprofitable). If you have scaling issues with just medium-sized app then something is seriously wrong either with your code or with your server setup.
I think we are saying the same thing here.
On December 26 2016 05:46 tofucake wrote:Also, Ruby over PHP is ridiculous for a "how to become a web dev" article since PHP has 82.4% market share and Ruby has 0.6%. The simple fact of the matter is that if you don't know PHP, you won't go very far.
Right I didn't mean to start yet another bike shed discussion here, but since we're neck deep in the buying-parts phase here, what the hell.
Current market share is maybe not the best metric. There are people hiring for both. It doesn't really matter. If you know one, a company isn't going to be too shy to pick you up even if they use the other, simply because picking up a new language or framework should not be all that difficult if you're competent.
It's not like Odin project went out and said "If you are going to learn web dev you have to learn ruby, it's the one true way, php is uesless". They have some intro material and it happens to use ruby instead of php, that's all.
|
Hyrule18968 Posts
Yeah, if you know one picking up another isn't a big deal. But if you know neither, picking up PHP is the better option by far. A project aimed at non-devs looking to get into web development should cater to that reality.
|
On December 26 2016 08:09 tofucake wrote: Yeah, if you know one picking up another isn't a big deal. But if you know neither, picking up PHP is the better option by far. A project aimed at non-devs looking to get into web development should cater to that reality. Interesting.
I've seen a LOT of ruby on rails boot camps, courses, etc. online while I was doing non-web programming so this is interesting. Why are there so many more boot camps and what not for Ruby and not PHP??
If you advocate for PHP instead, would you be able to give me some good resources, any similar sort of guide for learning PHP well enough to be able to start looking for jobs? I AM currently at the 'know neither' spot.
|
Hyrule18968 Posts
I don't tend to follow bootcamps (or do them) as I've been doing this for 20 years almost, that was just my commentary on the particular article linked. php's official documentation is one of the best in existence, and the numerous frameworks also have extremely good resources (Symfony cookbook and Laravel's Laracasts).
|
On December 26 2016 11:11 tofucake wrote: I don't tend to follow bootcamps (or do them) as I've been doing this for 20 years almost, that was just my commentary on the particular article linked. php's official documentation is one of the best in existence, and the numerous frameworks also have extremely good resources (Symfony cookbook and Laravel's Laracasts). K, gotcha.
I don't follow or do bootcamps either, just saw a lot of them advertised over the past few years that were centered around RoR.
|
On December 26 2016 05:46 tofucake wrote:Show nested quote +On December 26 2016 05:31 Manit0u wrote: But because it's so easy to get into it also means that it's damn easy to fuck things up real bad real quick that's also one of the main reasons that PHP has been derided for so long, so there's that
True. But the simple case is that RoR is much easier to grasp in the beginning than Symfony for example.
Just looking at the directory structure can be daunting for someone new to this stuff (it sure was for me when I started Symfony some years ago).
RoR:
- controllers - models - views
Symfony:
- app - src -- Bundle --- AcmeBundle ---- Controllers ---- Entity ---- Resources ----- views
Then you have plenty of bundles, each with this structure. Then you learn that some of them might be overriden in app/Resources, then you learn that best practices is to split your stuff into Bundles and Components, then you learn that you can have your configuration in plain PHP, XML, YAML or annotations (or any mix of them). Then there's controllers as services if you want to make full use of dependency injection, so on and so forth.
It can be really daunting since complexity-wise Symfony is up there with full enterprise stuff like Java's Spring. Definitely not something that's easy to become good at in a reasonable time frame.
Disclaimer: I do love Symfony and think it's the best thing that happened to PHP and the only framework I'd be willing to do real stuff in. Period.
|
@Manitou okay, so what would you recommend I do? My goal is to get a job in web development, with knowledge of the full stack by the end of 2017. So far I've been working steadily (In the middle of the third 'course' so far, haven't progressed as fast as I would like due to the holidays) on learning through The Odin Project. I have found that I can pick up the basics of new languages pretty easily and quickly. (having learned the basics and then some of Java, C, C#, Objective C, and HTML)
|
On December 27 2016 04:22 3FFA wrote: @Manitou okay, so what would you recommend I do? My goal is to get a job in web development, with knowledge of the full stack by the end of 2017. So far I've been working steadily (In the middle of the third 'course' so far, haven't progressed as fast as I would like due to the holidays) on learning through The Odin Project. I have found that I can pick up the basics of new languages pretty easily and quickly. (having learned the basics and then some of Java, C, C#, Objective C, and HTML)
After you're done with TOP course you can always check out Symfony (since you'll have better understanding of what's going on). You can do that while looking for your first interviews. Then, if you think you like it better than RoR, you can focus more on that.
It never hurts to know more than 1 technology.
|
On December 27 2016 04:22 3FFA wrote: @Manitou okay, so what would you recommend I do? My goal is to get a job in web development, with knowledge of the full stack by the end of 2017. So far I've been working steadily (In the middle of the third 'course' so far, haven't progressed as fast as I would like due to the holidays) on learning through The Odin Project. I have found that I can pick up the basics of new languages pretty easily and quickly. (having learned the basics and then some of Java, C, C#, Objective C, and HTML) If you are just starting out and want to learn how to become properly productive. Your best bet would be picking up one of the major web frameworks for a language, and then stick with it for a while.
So for C# it would be ASP .NET MVC, Java Spring (I geuss) For PHP Manitou can probably give you the best recommendation here.
Wouldn't it make the most sense to start with Node.JS as the back end? That way you keep the same language requirement while getting familiar with general webdev concepts.
One thing that blew my mind today is if you take a and b as your range and c for your domain, you can explain curried functions with only c^ab and (c^a)^b.
|
On December 26 2016 08:09 tofucake wrote: Yeah, if you know one picking up another isn't a big deal. But if you know neither, picking up PHP is the better option by far. A project aimed at non-devs looking to get into web development should cater to that reality. So I'm with Mani here in disagreeing with this...
Ruby on Rails is *much* easier to learn IMO. I've tried working with a few of the popular PHP frameworks as well as Rails, and even as a semi-experienced dev I found it wayyy easier to pick up Rails. As a first-time programmer I feel like the gap would only be wider, and probably *wayyyy* wider - I just think there's a much better chance that someone picking up web dev for the first time will make it through a Rails tutorial than there is of them getting through a Symfony tutorial. And I think that's the thing you should be most concerned about when you're picking a framework/language for teaching someone web dev.
|
On December 27 2016 07:22 Cyx. wrote: And I think that's the thing you should be most concerned about when you're picking a framework/language for teaching someone web dev.
When teaching someone web dev you should also keep in mind some other factors. Setting up PHP properly can be a bitch (contrary to the popular belief of "upload it and it'll work"). You have different settings for your web server and PHP, some of them conflict with each other etc. Also, getting acquainted with all the modules you need to enable, setting proper memory usage, timeouts, upload limits, query limits etc. can be a total pain. Especially for a newbie who'll keep wondering why his composer constantly times out/runs out of memory... It's a pretty huge subject in on itself that you'd have to also include in your course. Then there's the subject of .htaccess and such (Symfony doesn't use it at all, Zend and other frameworks might use it a lot to work properly for example).
Some of it is alleviated to an extent with the new buil-in PHP web server, but still it has to be something you have to keep in mind.
|
Hmm, well thank you for your advice and knowledge! I find this all very insightful! Can you provide me with what resources for learning PhP you'd recommend once I complete Odin? Books, sites, etc. ? Or even just a list of ordered topics or skills to learn? And yes, I'm trying to get as much as I can out of your wealth of knowledge
|
|
|
|