I have been doing the rails curriculum since last month. There is a lot of reading in each chapter. It seems uninteresting, since, the material is dense and all I am doing is reading. I was wondering if I can change my approach to learning by doing. Can I directly start building apps and learn along the way? Is this a good idea?
I have completed micro-reddit project. But after that, I wasn't able to understand much in the Assets and Navigation section. Now, I was looking at the Forms chapter, there seems to be too much material, most of which I may forget within 3-4 days.
Hey guys, senior CI student here. My university was pretty bad. That is to say that many courses have been cut due to staffing and enrollment. I've never had a data structures class, most students graduate without learning OOT concepts, we haven't explored GIT, and that most electives needed to graduate are fulfilled with Graphic Design courses instead of Computer Science or programming courses.
So, now I am trying to supplement my education. I plan to start TOP, but I am not sure which route to go. Why would you choose Javascript over Ruby or vice versa?
Also: All recommendations for learning Data Structures would be great! I'm pretty familiar with Java, C#, and Python.
Videos
After doing some research, and watching the two videos a redditor did about both tracks on TOP and concluding that the Ruby track might make one a better programmer, I'm seriously considering starting this track, even though Ruby isn't the hottest thing right now. Anyone here done the same recently? What are your thoughts?
If you compare the two routes, I believe that if you do the Ruby track, you will do everything you would do in the Javascript track except Node.js.
Because of this, I chose to go the Ruby track. Once I have completed it, I will go back and do Node.js in the Javascript track. At that point, you will have actually don't both tracks in their entirety.
Interesting thing about Ruby not being the hottest thing...there are still a lot of companies using Ruby/Rails and with the lack of interest in learning Ruby there is a smaller pool of talent to choose from. That could potentially work in your favor. Being well versed in technology that is not the flavor of the month isn't necessarily the worst thing.
Hello all,
I have been learning to code for +- 6 months now. I did the freecodecamp HTML / CSS part as well as the JS.
After this, I started The Odin Project which I am really enjoying, it is way "harder" and really project based. Anyway I finished the foundations part and have to choose between Full Stack Ruby or JavaScript.
Full Stack Ruby on Rails
Ruby (41 lessons)
- Introduction, Basic Ruby, Basic Ruby Projects, OOP Basics, Files and Serialization, Advanced Ruby, A Bit of Computer Science ( ds & algorithms included), Intermediate Git, Testing Ruby with RSpec, Conclusion.
Intermediate HTML and CSS (23 lessons)
- Not worth mentioning tbh
Databases (3 lessons)
- Databases, Databases and SQL, Project.
Ruby on Rails (38 lessons)
- introduction, Rails Basics, Active Record Basics, Assets and Navigation, Forms and Authentication, Advanced Forms and Active Record, APIs, Rails Sprinkles, Mailers and Advanced Topics.
Advanced HTML and CSS (16 lessons)
- Not worth mentioning tbh
JavaScript (42 lessons)
- Introduction, organizing JS Code, JS in the Real World, Asynchronous JS and APIs, Testing JS, React, Conclusion.
Getting Hired (13 lessons)
- .......
_____________________________________________________________________________
The JavaScript path is:
Intermediate HTML and CSS (23 lessons)
JavaScript (42 lessons)
Advanced HTML and CSS (16 lessons)
NodeJS (24 lessons)
Getting Hired (13 lessons)
So basically, by choosing the Ruby Path I am essentially doing the whole JS path minus the NodeJS part, which I can alway end up doing at the end if I want / need. Plus I get exposed to 2 languages. Also the ruby path seems more dense and robust.
In 85% of the places people always say to choose JS because it is much more popular and there are more jobs but I feel that by choosing the ruby path I will end up learning way more, even tho if my end goal in a couple years is to work with JS.
And also there are quite some job offers where I live (Portugal) for ruby, so not bad at all.
Could you guys give me some of the benefits of choosing the Ruby path instead of JS? Which one would you choose if you had just started to code 6 months ago?
Also, do you know if it's been updated for Rails 7? (Rails 7 looks to have a lot of cool new features that I'd hate to miss out on)
I'm doing Odin project.
It's not like 100% updated to rails 7 but it have the "cool new features" explained in a good manner, but I don't reached that point yet, look the curriculum yourself it's not a series that you can have a spoiler, I always like to read the syllabus of courses that I do to have a more clear idea of whati I'm going to learn.
I have not done the odin project but I've reviewed it and it seems like a great introduction. I was impressed with the quality of the content. I would hope that if you run through it you would have a great foundation and then take other courses with a better idea or where you need to improve.
Hello, I've reached a crossroad having just finished the Foundations Course from TOP. Reading that I should stick to a path and not switching halfway, I figured why not ask people's opinion on this subject. Which path is more relevant today, or it doesn't really matter?
PS: That calculator project took me nearly a week, and it's hard. Though the satisfaction once it's completed is really something.
Or should I go with JavaScript?
Hi folks, so I’m a 30 year old dude living in Texas, trying to make the switch from working in call centers to web development/programming. I just finished the fundamentals part of the Odin project, and my question is which path to take next: the Ruby on Rails or the Fullstack JavaScript?
I’m leaning towards the JavaScript section since I believe there’s not many jobs for Rails people. Anyone have any insight on this? Much appreciated!
Search for jobs in your local area, see which one is more prevalent. While remote work is definitely an option, entry-level positions are better done in-person or hybrid because there's so much mentoring needed, so I'd definitely focus on your local area first.
Whichever one you pick, don't stress about it being a big decision that will determine your whole career. Learning a different backend framework or language won't be nearly as difficult as learning your first one. Many of the concepts are the same. Most developers know several languages, and this is a career where you'll be constantly learning new things no matter what.
The most important thing is not to master one particular language, but to gain experience building applications.
If it was 2010 I would have suggested Ruby on rails but in 2022 it is always good to go with node js.
Hello friends!
I'm a college freshman starting out on the whole webdev world. During my first semester of college, I discovered programming as a whole with my university's intro to programming course (Python) here in Mexico. I fell in love with it and now that I'm on winter break I decided I wanted to keep at it during my break.
This is when I was introduced to The Odin Project. I've been following their curriculum for like 3 - 4 weeks and so far I'm loving it! I'm still in their Web Development 101 course finishing up the difficult version of their HTML/CSS portion.
But before continuing, I have a big question. They have a curriculum that focuses on Ruby on Rails and a curriculum that focuses on JavaScript. And tbh, I have no idea on what is the better curriculum to follow.
Browsing through some subreddits I've found that Ruby is slowly dying while JS is on the rise. This would lead me to believe that I should follow the JavaScript curriculum. However, apparently this is a new curriculum that just came out of beta a few months ago. Meanwhile, their Ruby curriculum has been their go-to for the entirety of their lifetime and it has more courses (I feel like it may be more complete?). So I just don't know what to do lol. Another nice bonus to their JS track is that it has an entire course about NodeJS which I hear a lot about as well (don't really know what it is lol)
I'll post both curriculum's courses so you can have a better panorama:
Full Stack Ruby
-
Web Development 101 (40 lessons)
-
Ruby Programming (23 lessons)
-
Databases (3 lessons)
-
Ruby on Rails (33 lessons)
-
HTML and CSS (31 lessons)
-
JavaScript (35 lessons)
-
Getting Hired (14 lessons)
Full Stack JavaScript
-
Web Development 101 (40 lessons)
-
JavaScript (35 lessons)
-
HTML and CSS (31 lessons)
-
NodeJS (20 lessons)
-
Getting Hired (14 lessons)
I should note that my goal is probably doing some freelance work while I'm on college breaks to earn some money. Or heck, even if I get an option to go to the US to work during the summer or something like that that'd be amazing! (don't know if I'm way off-base on this one tho).
I think this is the right subreddit to post this on, right? If not, could someone direct me to the correct place?
Thanks to everyone who helps me out :)
Honestly, I'd do the Rails one and then pick up the Node section on the other.
The concepts will be the same, so I'd go with the ruby track because it will expose you to two programming languages using different paradigms, and more importantly it touches on databases. databases have the largest carry over between fields of programming than anything else. SQL is a very useful thing to have ingrained in you early
and i don't say that lightly. im not a fan of ruby or rails, but having exposure to many programming languages will make you a better programmer
Hello all!
Like the title says, I've been working my way through The Odin Project trying to learn as much as I can. ( link to the coursework: here )
I'm currently floundering between Basic Ruby and Intermediate Ruby. Everything up to this point has been challenging, but do-able and fun. However, even after reading the assigned literature I still feel very, very lost.
The first project is designing a tic-tac-toe game that can be played on the command prompt between two people. This is the first project that really moves out of creating methods, into creating classes and modules.
I understand the basics of what needs to be done, but even after reading related chapters in: Beginning Ruby, Bastard's Book, and Eloquent Ruby, I still feel lost. I've also read tutorials, but there's some crazy RSpec testing that I don't think I'm ready for.
I suppose this is just a long way of saying: nothing I've done so far has let me truly understand Ruby beyond method creation. I don't truly understand class or module behavior beyond the most basic concepts, and it's imperative that I do.
So, how did you learn it? What advice can you give an aspiring Rubyist? Is there any "magic book" out there that can explain this better than the ones I listed?
Thank you for help :)
So, if you've got basic principles down, you understand methods, and you can write code. One way to understand classes and modules is simply to regard them as namespacing.
The keep things separate and provide an additional level of scope.
When you have a single script.
hello.rb
def hello
puts "Hello World"
end
hello
That's a single file, in no class, the method is defined on the current binding. When you call hello after defining it, it's still in scope so it's called and "Hello World" is displayed.
When you make a class.
hello.rb
class Hello
def hello
puts "Hello World"
end
end
Calling 'hello' on it's own will not work anymore. It's now hidden into another scope and hello is defined on the class 'Hello' instead of in the current binding. So, to call it now you'd have to do
h = Hello.new
h.hello
This would create a new object 'h' and assign to it a new instance of the class 'Hello'. which you can now call methods on, since the method is defined on that class.... h.hello would now print "Hello World"
Modules are just one more level of namespace. You can do something like
module WorldGreeter
class Hello
def hello
puts "Hello World!"
end
end
end
Now to invoke it you would either have to require your module from another file, or call WorldGreeter::Hello.new
Why is this useful? Classes are useful because they let you have multiple things with different states. in a flat file, you'd have to assign a variable to everything and give it a unique name. However, when you add classes, you can think of a unique name for things in that class, and then after making the class, you can instantiate it simple as an instance of that class. A more concrete example
Say you have a Dog class, and you want it to have a variable for it's breed, name, and age. You can call them that on the Dog class.
class Dog
attr_accessor :age, :breed, :name
end
dog_one = Dog.new
dog_two = Dog.new
dog_one.name = "Rover"
dog_two.name = "Fido"
You can thus edit those sets of data independently without having clutter up your code instantiating everything separately. You're also guaranteeing that every Dog object made has those attributes associated with it and you can depend on a dog to have a name, age, and breed attribute.
Modules work one level up and ensure that because 'Dog' is a common word, that you can define your Dog class, and if someone else happens to have a Dog class, your Dog class won't be accidentally overwritten by their definition.
Hope this helps some!
How long ago did you start? Is Odin project your first foray into programming? Programming is something that comes with time and experience for most people. You are just learning a skill, you are learning a whole new way of thinking and problem solving.
Are there specific problems you're having, or just trouble understanding broad concepts? If it's broad concepts, then I'd say just keep chugging along until you can't complete a project. It's hard for some people, but trying to understand every concept of programming before doing it is really, really tough. Concepts will make more sense if you have some context from projects.
I'm currently working my way through The Odin Project and have come across my first Ruby project in Web Dev 101. From my understanding, we are using testfirst.org and RSpec to write code that passes on test files.
I'm using Ruby 2.2.1 and Rails 4.2.3 but under my gem list, I don't see RSpec... Should I see RSpec in my gem list? Does just typing "gem install rspec" in my terminal install RSpec? Do I need to download RSpec first and then type "gem install rspec"? I'm super confused...
Also, apparently the Test-First Ruby project is outdated and only works with RSpec 2.x.x, so I'm going to need an older version. Will this mess up my computer?
Last, I'd just like to mention that for a Ruby beginner, Codeschool's intro to RSpec was super vague and I'm having a hard time grasping the concepts of test driven development.
Thanks in advance!
Hey everyone. I haven't been here in quite a while, busy with work and all, tend to not browse Reddit as much. However, I've really been thinking lately about trying to do The Odin Project again. I did start it probably a couple years ago, but didn't get too far with it. I don't think for lack of trying, but I'm sure I got overwhelmed and just let it go by the wayside, and funny how time flies.
I am 41 years old, and I work in IT. I've wanted to learn programming for quite a while now, but I've never just made myself truly dedicate the time and effort it takes to get there. Sure, I've done HTML/CSS courses and things like that from time to time, but nothing really major.
Where I work, I've heard tell about some IT jobs that they're in the process of getting approval for creating, and I think programming would be a major help in possibly moving into one of them. I've always read good things about The Odin Project, and as I said I did go through part of it, I think up to the part where you're going through the Free Code Camp stuff, but I want to actually finish. There's a YouTuber who teaches programming I watch from time to time, and while he says it's not a bad language, he would not learn Ruby. He says it a lot, and jokes about the language quite a bit. I guess that's always stuck with me. I'm torn because I think Ruby is a major part of The Odin Project, so I'm wondering if it's worth it. I did notice that something we use here at work uses Ruby, so it can't be all that bad, can it?
Sorry for such a long post, I just don't want to put a lot of time and effort into something that isn't used or useful. I would be able to dedicate an hour or two a day at work for doing the learning, and I think the prospect of a potential promotion would help motivate me as well. I appreciate any thoughts and opinions on it. Thank you very much.
You'll find multiple opinions on this. Many think that it doesn't really matter which language you use to learn, since it's more about learning concepts (you use a specific language to learn universal concepts).
Others, like myself, will say that while it is true that you can more easily pick up a second language when you need to, if you do have the option of picking a more useful language to start with, that you should do so, because you'll gain the same benefits of learning, but also the additional benefit of being able to use what you learned more easily to get a job.
So, personally, I agree that Ruby is not a bad language, but it is not particularly popular in the industry any more, and as such should probably not be your primary focus.
Good news is, The Odin Project has a Node-focused track as well: https://www.theodinproject.com/paths/full-stack-javascript
Given that your goal here appears mostly to learn something that can be applied within your current workspace, and Ruby is used in ur workspace, go for it.
If however, you do want to learn programming from perspective of moving into a dedicated programming role via a lateral move into the industry in general, at some future point, know that Ruby while great to learn and use, is lesser used than languages like Python, Javascript, Java, C++ etc.
I can code (in other languages) and have completed personal projects to my satisfaction. I'm finding that as the material progresses, the gap between what is given to you as information and what is expected of you seems very uneven. This can be problematic because there aren't a ton of resources (especially up to date ones) that go over Ruby syntax and provide additional examples, and honestly Ruby's syntax is kind of...out there?
Specifically, I found myself struggling with this:
https://www.theodinproject.com/lessons/ruby-custom-enumerables
The toy examples of blocks and procs didn't do a thing for me in terms of how you would express these ideas in Ruby. I did what I could and then looked at a highly rated solution after Googling failed me. Yeah, I wouldn't have come up with any of the more complicated stuff on the basis of reading the docs or the the resources provided.
I could do any of those in C#, Java, C++, or Python. But I was at a loss as to what some of those were even supposed to look like in Ruby. This makes me worried about the rest of the material down the line.
If anyone has gotten further than I have, I'd appreciate any feedback you might have. Thanks!
Heyo, try out ruby-doc.org, exercism.io and sololearn. Hackerrank also has some tutorial stuff and feel free to dm me, ruby is my main lang!
It sounds like you would be well served in slowing down and even going back over material you've already completed if some aspects aren't clear. You're foundation needs to be strong if you are going to build on it.
If you are able to come up with solutions to the enumerable methods in all those other languages like you say, you should be able to translate those ideas into ruby. Those methods arent ruby specific, they are common patterns found in most languages so writing them in different languages is just a matter of syntax for the most part. Which is fairly simple IF your fundamentals are strong.
It honestly took me more than two years, and three restarts for the lessons and projects in TOP to truly sink in make sense.
Hi all this has probably been brought up a few times. I've just started Ruby and wondering if it's worthwhile also doing the node.js path of the Odin project. Has anyone done both?? Is it worthwhile?
Edit: JavaScript not Java
I am looking to dive into The Odin Project (TOP), and for awhile I have seen many appraisals about it. I have a basic knowledge on HTML/CSS but looking to learn more on web dev. However, as I see in any of TOP's tracks they will teach Ruby on Rails (RoR). I am not sure if that's the one I should be learning ?
Don't mean to disrespect, but isn't RoR a tech of 10 year ago ? Those with experience, do you think it's still relevant today ? Because as a beginner I think it's better to walk straight into the main road without any sideway confusion. Just need your advice. Thank you!
They have yet to remove the ROR sections from the NodeJS track- just skip it. On their GH repo it doesn’t look like they’ll fix it anytime soon. Or try those projects with Node. The intent is to remove it, but they let it fall by the wayside. It’s an open issue.
Plenty of rails shops still around
Hi!
The title of the post pretty much sums it up. I'm about half way through the 101 course, and while I really like the structure of Odin's curriculum, from what i've gathered Ruby and Rails is are on their way out. My friend, who recently graduated a 4 year CS course and started a just started a consultant job, says that I should learn Node instead. So what do you guys think? Should I ride out the whole course and learn Node after, or push Ruby aside and learn whats more relevant?
Thanks!
There is no right answer.
My personal opinion: I’d recommend to learn ruby and rails and build with it to understand the MVC model and the syntax since it’s so simple and it will probably help you understand what’s going on when you move on to Node, it did for me. If it was the other way around, I think I would have definitely struggled more.. You should do both if possible.
I always thought I leaned toward JS but down the line when I saw Ruby and Rails I was like wow, this is so much better mainly because it was so much easier to understand, I struggled to understand Js so much initially because of the syntax it uses.
I was looking for my first job and applying for Js positions all over but I ended up working in Ruby, Rails and Sinatra apps.
Be sure though, the more you learn the better you get at understanding as you expose yourself to more. Just keep building!
Check and see what languages companies in your area are using. See what current job positions are available and the technical skills they are looking for. My area has a lot of PHP for instance and so it would be wise for me to learn that rather than Node or Ruby. Also learn a language you enjoy and want to work with.
I am about to start The Odin Project and saw that when you finish the curriculum, there are two options afterwards: full stack Ruby on Rails or full stack JavaScript. I already know a little bit of JavaScript and React. But in your opinion, which is better? Is Ruby on Rails a backend language? Should I be learning a backend language while also doing The Odin Project? Here is their description of both.