sebdeckers / pfnp

:alien: Programming For Non-Programmers
19 stars 13 forks source link

What I want to get out of this whole workshop #7

Open yenlyng opened 8 years ago

yenlyng commented 8 years ago

My aim is to be able to build a website. But I don't know where to start.

The introduction on Tuesday was great. I see that in the next few sessions we will be able to build a website as well. But I want to know what language I should be leaning towards first if I want my certain functions on my website(s). This might be covered as well in the next few sessions but I thought I'd put it out there.

The thing is, there are too many to choose from when, as a total newbie (apart from the bare minimum of HTML and CSS), I don't know what I don't know. Should I take Javascript as a launchpad (since I think I work with front end in mind)? Or should I start with a backend language like Java or Ruby on Rails and be more familiar with my database first?

How do I know which language is capable of doing what?

sebdeckers commented 8 years ago

Thanks for the question. :) Glad you liked the introduction. We'll get more hands-on now with real coding. Hopefully this will paint a better picture of what is possible with front- and back-end programming.

In the classes we'll use JavaScript for both front- and back-end programming. JavaScript is, in my opinion, a great first language to learn.

One subtle benefit of learning other languages and frameworks is that they offer new ways of looking at problems. Some languages like Lisp and Haskell encourage a very different style of thinking compared with, say, classic JavaScript.

Rather than exhaustively listing out benefits of each programming language, it may be easier to look at your specific goals and recommend suitable options.

yenlyng commented 8 years ago

Best analogy I can come up with is Lego bricks.

Say I sell Lego sets, like the Star Wars set or the Minecraft set. Users can buy these sets. However, users(members) can also submit their own profiles and their own Lego pieces on the site, like a Death Star spacecraft or a special character piece. You can now go on the site to pick a set, pick 1 or more of the special pieces from the users, and then have them delivered to your home.

Another feature I'd like to know how to install, not necessarily on the aforementioned site, is for users to be able to rate submissions from other users.

A great example would be https://www.threadless.com/designs. From our previous session I can now do an 'Inspect Element', from which I can only recognise the HTML calling the CSS and other scripts.

sebdeckers commented 8 years ago

Building an ecommerce site is quite a big project. Check out some software as a service (SaaS) solutions like Shopify and BigCommerce. There are also open source projects like Magento. These offer lots of bells and whistles.

I'll set up a demo project for the frontend using what we already covered, and then we can expand on it to cover backend (API/DB) programming next. This should show how to build features that involve data storage & manipulation (CRUD).