Coders, some advice plox.
  • Yeah, just the stuff that runs on your computer, as opposed to on the server. Just remembered: you can use JavaScript to wite backend stuff these days, too.

    A language lets you do anything and everything, while markup is basically just a data structure. So, HTML describes what the different elements in the page are (e.g. titles, paragraphs), CSS how they look (e.g. font, colour) and JavaScript what they do etc. (e.g. show/hide bits when buttons are clicked).
  • Yossarian
    Show networks
    Xbox
    Yossarian Drew
    Steam
    Yossarian_Drew

    Send message
    So, to put it in (probably oversimplified) simple terms, JS deals with the nuts and bolts of building a site while CSS and HTML are used for making it look pretty?
  • dynamiteReady
    Show networks
    Steam
    dynamiteready

    Send message
    AJ wrote:
    Seriously, if you've not coded before, JavaScript (for all its faults) is a really good place to start since there's so many resources, every device can already run it and you can type stuff directly into the browser's console to try, as well as the interactive sites I've mentioned

    And...

    Yossarian wrote:
    Client side being front facing? As in, what I see when I visit a website as opposed to the back end stuff? And what's the difference between a language and a markup?

    I think if Yoss is asking these types of questions, then what he really needs to do, is start with PHP, but have someone show him the ropes first (installation, servers, localhost, markup, URLS (but not URI's right now), basic templating... all of that kinda stuff).

    If you want the knowledge to stick, it's better and easier to illustrate the basics with HTML, PHP and a few quick (and not so quick) inline tags, than to show someone Javascript, and have to explain the DOM, and dynamic typing in detail.

    Stuff like the difference between ID and classes, for example?...
    And who here thinks they can describe functional style closures to a beginner?

    Also, PHP will be better than Javascript for beginners because at one level, it will punish the type of mistakes that should get punished (syntax errors, declarative ordering) and encourage precision, but on another level it supports the greatest number of different programming styles (most especially, classic OOP), and they can be invaluable to learn.

    After learning enough from PHP, and once you can make sense of other languages though, I'd probably concentrate on learning the one that you want to learn, and not listen to any of us...

    But Python does look a lot like Swift, and runs on all systems...

    Just sayin'
    "I didn't get it. BUUUUUUUUUUUT, you fucking do your thing." - Roujin
    Ninty Code: SW-7904-0771-0996
  • Thing is Yoss you're at the point where you're just going to have to dive in somewhere.

    As I said earlier the best thing is to understand conceptually how everything works - how the "front-end" (what users see and interact with, how information is arranged and accessed) is connected to the "back-end" (the data and services that provide the information that populates that front-end user interface), and so on.

    If I were going to learn to code, I'd get a book or go on a course that explained about these concepts first - once you get the concepts, you can quickly understand the various nomenclature, rules and structures that each language applies to them (which is why people repeatedly state that once you've learnt one language learning others is faster) and apply that knowledge to learning a particular language, be it Swift or Javascript.

    Building a webpage, for example, typically requires HTML (what elements (paragraphs, titles, body text, images...) are where (layout) on the webpage), CSS (how things look in terms of colour, animations, etc) and JS (the engine that powers the interactions and communication with the back-end server, which obtains the information (said images, body text, titles and any databases with persistent or temporary information, for example user details, high scores, whatever) - but you need to understand why that is, I think, before getting into "I'm going to learn Swift".
  • Just having a fag, so I'll be brief. I'm suggesting JavaScript 'cause there's interactive online courses which give a good overview of programming and all it needs is a browser. I reckon it'd be a good idea to do something simple - not even creating a page - to see if Yoss clicks with programming before he gets into actually making things, which would need more things (i.e. installing a web server or a dev toolchain).
  • Yossarian
    Show networks
    Xbox
    Yossarian Drew
    Steam
    Yossarian_Drew

    Send message
    I'm quite liking the idea of getting stuck into a language, tbh. All of the terms and concepts can flow on from that. A decent glossary, written in plain English, may well come in useful, but I'd have thought that a half decent beginner's guide would explain what I need to know anyway.

    Having said that, a brief overview doesn't seem like a bad idea. A quick google has turned this up, hopefully it will give me some basics.

    http://codingintro.com/chapter/en/1/introduction

    Beyond that, AJ's made a pretty solid case for JavaScript, and starting with something that will likely continue to remain useful seems like a good idea. Although, I should try to find out a little more about PHP.
  • acemuzzy
    Show networks
    PSN
    Acemuzzy
    Steam
    Acemuzzy (aka murray200)
    Wii
    3DS - 4613-7291-1486

    Send message
    I'd advise against PHP as it will teach you awful habits. For server stuff, try python. But yeah, JS etc is sensible enough as a starting point
  • dynamiteReady
    Show networks
    Steam
    dynamiteready

    Send message
    acemuzzy wrote:
    I'd advise against PHP as it will teach you awful habits. For server stuff, try python. But yeah, JS etc is sensible enough as a starting point

    I disagree.
    I think PHP is the easiest way to teach the full stack.

    http://www.mamp.info/en/

    Basically, you install that, run it, then go to:

    http://localhost

    That's a quick and valuble lesson for an absolute beginner in and off itself, I think.
    How would you teach that idea with Python, without needing more than 5 lines to do it?

    Here's the official line from the site itself...

    MAMP installs a local server environment in a matter of seconds on your Mac OS X computer, be it MacBook or iMac. Like similar packages from the Windows- and Linux-world, MAMP comes free of charge, and is easily installed. MAMP will not compromise any existing Apache installation already running on your system. You can install Apache, PHP and MySQL without starting a script or having to change any configuration files! Furthermore, if MAMP is no longer needed, just delete the MAMP folder and everything returns to its original state (i.e. MAMP does not modify any of the "normal" system).

    I'm going to argue that someone will need to be around to field some of the initial questions, but seriously, a *AMP package is the best possible place for a beginner to start...

    But this is where I back out.

    I'm trying to help him. Not prove anything...
    "I didn't get it. BUUUUUUUUUUUT, you fucking do your thing." - Roujin
    Ninty Code: SW-7904-0771-0996
  • acemuzzy
    Show networks
    PSN
    Acemuzzy
    Steam
    Acemuzzy (aka murray200)
    Wii
    3DS - 4613-7291-1486

    Send message
    Yes but I'm trying to prove that you're wrong and i'm right :-)
  • dynamiteReady
    Show networks
    Steam
    dynamiteready

    Send message
    Pfft!

    Ok. So in the first instance, a *AMP server installation will solidify an understanding of relative file paths, URLs, and basic networking tenets. Those are quite big wins, can we agree on that?

    I'm also advocating *AMP as a learning tool, because it will also directly illustrate how over 80% of web pages and applications are built, and it's not too hard a lesson to teach this way.

    Also, PHP is only written badly, if you write it badly... 
    So is Javascript, Java, C++, Scala, Swift, etc...
    "I didn't get it. BUUUUUUUUUUUT, you fucking do your thing." - Roujin
    Ninty Code: SW-7904-0771-0996
  • No, PHP is written badly full stop. There's no consistency in anything, not even naming conventions. Still, it is widely available on cheap hosting and there's plenty of help on-line for it.

    A point worth making in bold: if you install a web server on your computer, make sure you turn it off before you go web browsing 'cause any mis-configuration makes an easy in for bad things.
  • dynamiteReady
    Show networks
    Steam
    dynamiteready

    Send message
    http://reidburke.com/2008/10/05/when-php-is-your-first-language/

    Making PHP my first language made it harder to grasp pointers, strong types, and memory management in other languages. It initially made it more difficult to use OOP properly. However, if I didn’t make PHP my first language, I may have been so intimidated by the “stuff” that I may have given up.

    This, is exactly the point I'm advocating. And that's not the only one. There are also plenty of articles that suggest the opposite. You should also read those, and make up your own mind.

    I also accept that everyone is different. So perhaps if you all think you can support Yoss to learn language A or B over PHP, then fair enough.
    "I didn't get it. BUUUUUUUUUUUT, you fucking do your thing." - Roujin
    Ninty Code: SW-7904-0771-0996
  • I'm trying to help him. Not prove anything...

    As are we all. Well, I am, anyway. What I see is that Yoss isn't entirely sure what he wants to do, but might be interested in making an app. I've seen enough people interested in programming that haven't been as into it as they need to be when they get down to it, which is why I'm suggesting he get his feet wet in the easiest way, to see if he's actually up for it, before starting on the learning proper.
  • FTR, JavaScript is a shit language, too. Personally, I'm still in love with ActionScript and mourn its passing.
  • Yossarian
    Show networks
    Xbox
    Yossarian Drew
    Steam
    Yossarian_Drew

    Send message
    Thanks for all this, guys. My brain's still mulling stuff over.
  • Let us know any thoughts you have.

    Also, my mention of Haxe earlier wasn't in jest. I want to use it myself.
  • Yossarian
    Show networks
    Xbox
    Yossarian Drew
    Steam
    Yossarian_Drew

    Send message
    Incidentally, what's this place built with? I believe that Petey's got a version up on GitHub, tinkering with that could be useful.
  • dynamiteReady
    Show networks
    Steam
    dynamiteready

    Send message
    Yossarian wrote:
    Incidentally, what's this place built with? I believe that Petey's got a version up on GitHub, tinkering with that could be useful.

    It's a PHP application, with a MySQL backend (well, database).
    This is why I have trouble with people knocking PHP. It's everywhere, it secure, and it's solid. 

    But everyone seems to suggest it's not...
    "I didn't get it. BUUUUUUUUUUUT, you fucking do your thing." - Roujin
    Ninty Code: SW-7904-0771-0996
  • I'm not suggesting it's not secure, just that the syntax and vocabulary are a fucking mess.

    Here's the forum source, BTW: https://github.com/Bear-and-Badger/Main
  • Yossarian
    Show networks
    Xbox
    Yossarian Drew
    Steam
    Yossarian_Drew

    Send message
    After clicking through a few of those links from that blog post that Dyno posted, I think that I might not start with PHP. I don't mind putting a bit of effort in to get my head around this, and it seems like starting with PHP might make it tricky to move onto other things. Conversely, if I begin with something else and then move onto PHP it looks like it should be fairly easy.

    So, JavaScript it is. Hmm, I wonder if there's a decent app for that?
  • Yossarian
    Show networks
    Xbox
    Yossarian Drew
    Steam
    Yossarian_Drew

    Send message
    Actually, I downloaded the Codecadamy app earlier and cracked through the tutorial on the shitter. I seem to have an account with them and my own webpage which is based around a lovely image of my toilet ceiling.

    Maybe I'll see what this place is like.
  • dynamiteReady
    Show networks
    Steam
    dynamiteready

    Send message
    Well, good luck, but I'll still recommend PHP.

    Perhaps even try to learn it alongside JavaScript. 
    Up to a certain level (simple web development), you'll find PHP much more useful, and much easier to learn.

    But then I've never done a Codeacademy course, and can't vouch for them.
    Some of my colleagues swear by online courses though, but not many of them...

    Will be interesting to see how you get on. :]
    "I didn't get it. BUUUUUUUUUUUT, you fucking do your thing." - Roujin
    Ninty Code: SW-7904-0771-0996
  • While I'm not denying PHP's usefulness in any way (it's what I spend most of my time coding at work, after all) there's two ways I can think of off the top of my head for making full web sites/apps with JavaScript. One is a Node backend and the other is a Couch data store with an entirely front end architecture. The latter wouldn't index well (if at all) in search engines, obviously.

    Mentioning purely out of interest, rather than extolling JavaScript's virtues, I'm a firm believer in using the right language for the job and not sticking to one exclusively.
  • Yossarian
    Show networks
    Xbox
    Yossarian Drew
    Steam
    Yossarian_Drew

    Send message
    Done finished the first set of courses on codecademy (I really wish that I had some idea how that would be said out loud). Nothing too taxing so far, although I imagine I'm already getting into sloppy coding habits.

    All of the examples, for instance, feature a semicolon at the end of every line, plus a space between numbers and operators (is that the right word? I mean 2 + 2 rather than 2+2), plus the squiggly brackets around if/else statements being put on separate lines. None of this appears to be necessary, so I've not been bothering with it, but presumably these conventions exist in order to make your code easier for others to understand, am I right?
  • I vary all those things depending on what the code is (language willing) except for the semicolons.

    Some places they're necessary, like if you want more than one line in your if block. Others are just for readability, like the spaces between numbers and operators. It'll probably teach you what they all mean sooner or later.
  • It's 'operands' you sick fucks!!!
  • Escape
    Show networks
    Twitter
    Futurscapes
    Xbox
    Futurscape
    PSN
    Futurscape
    Steam
    Futurscape

    Send message
    monkey wrote:
    It's 'operands', you sick fucks!!!
  • I hang my head in shame for not thinking what I was writing.
  • acemuzzy
    Show networks
    PSN
    Acemuzzy
    Steam
    Acemuzzy (aka murray200)
    Wii
    3DS - 4613-7291-1486

    Send message
    Uh, it is "operator" normally, in this context. I got your back, AJ.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!