Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

General Discussion

What language would you use to build a Learning Site to store documents, daily notes, permissions and conversations

Hi, I am new to programming and just joined a new company who are happy for me to learn programming within work hours.

The site they want me to work on in my own time is one where people from within the company can get access to documents (permission based of course), they can leave notes on how each day went, so managers can read and leave feedback. They also want to have an inbox where messages can be sent and a mini blog on how the company is doing. A little like treehouse where they log in and there is dashboard. I am fully aware that it is something that may take years to build however they are trusting in me and I really have the appetite for it. I have been told that NODE.js is the way to go, also PHP and Ruby on Rails. I have a specific goal so I don't really want to learn a language that won't work for what I need. Hope I can find some help.

3 Answers

Hello Tariq,

I would go with PHP and I would use Laravel Framework. But that's what I would do because I know php and Laravel. You could do this with ruby and NODE and many more but at the end no one cares what you use but does it work. I would recommend PHP as it is more widely used therefore there are much more lessons and more visited forums where you can post your questions. I have used Ruby for few projects and I would say it is a back-end language for people who already know one. About NODE.js I have heard great things about it but I have never used it so I can't give any opinion.

any of those languages you mentioned will do

what I would recommend is to search the web, and see what resources you come up with for each language that will help you to complete your task more efficiently

for example, node.js is a relatively new technology and there might be a limit on the learning material you will find out there

I would also recommend you take a look at ruby on this site, there are a lot of tutorials on ruby, including how to create safe user authentication with ruby on rails and how to create a social networking site. so basically by watching handful of courses on this site you might be able to complete your project sooner than you thought possible

You say that you're new to programming, and that is great! I suggest in conjunction with your project that you get a good understanding of the building blocks of programming... variables, functions, etc. Maybe something like Treehouse's JavaScript Basics would be a good start. From the way you describe your project, you'll probably be using some JavaScript anway!

Kristian and Michalis make a few good points. Having more resources and documentation related to your chosen technology makes figuring out problems a lot easier.

Be sure to deliberately choose a technology that meets requirements of the project instead of trying to incorporate what's new and shiny. In other words, pick the right tools for the job. You probably wouldn't choose a saw when you need to fasten boards together with nails.

Assuming you work with a team, perhaps choosing a language that is commonly used in your work environment would be a good start in deciding what to build with. As mentioned, having resources (and/or mentors) to go to when problems arise is such a beautiful thing. This will also allow you to collaborate more easily with your coworkers, which is also a beautiful thing.

To summarize, this would be my plan of action:

  1. Thoroughly research and analyze your project requirements
  2. Tackle programming fundamentals (using JavaScript)
  3. Ask around your company about commonly used frameworks and server side languages
  4. Start building and protoyping!
  5. PRACTICE.
  6. PRACTICE SOME MORE!

Hope this helps.

-Stuart