Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Learning to code, need to be kicked in the right direction

Options
  • 05-06-2018 6:24pm
    #1
    Registered Users Posts: 6,561 ✭✭✭


    Hi everyone

    So after watching a few Youtube videos about how I can learn code and work as a developer in 3 months I decided to give it a try......thankfully I'm not quite that naive but my interest was peeked by learning code, especially as something I could do as a hobby and relatively cost free. My brain has been slowly shutting down recently so a challenge of some description is needed. I also work on a farm so a hobby during the depressing winter months would be appreciated.

    So starting yesterday I set up a profile on Codecademy and have just completed the html section. I will continue to use Codecademy for the time being as it's a pretty simple format and I will begin the css section.

    Ideally I would like to be able to watch some tutorials on YouTube and follow along in a similar manner to the Codecademy setup ie split screen, one half for writing code and a corresponding window showing the result of my terrible coding.

    So a few questions

    Any suggestions on software I can download to have such a setup?

    Which languages should I learn and in what order? At the moment I am just thinking html,css and javascript.

    Any other useful links or tips would be appreciated

    Thanks for any help :)


Comments

  • Registered Users Posts: 7,157 ✭✭✭srsly78


    Learn python for a more general purpose language. Focus on making software to solve/automate some problem you experience in real life - rather than just reading dry programming manuals.


  • Registered Users Posts: 6,561 ✭✭✭JJayoo


    srsly78 wrote: »
    Learn python for a more general purpose language. Focus on making software to solve/automate some problem you experience in real life - rather than just reading dry programming manuals.

    Thanks for the reply.

    As a complete beginner would Python be too complicated? Would I be better prepared to learn the more complicated languages by first getting grounded in html and css?


  • Registered Users Posts: 7,157 ✭✭✭srsly78


    HTML and CSS are not programming languages. Web development is a very specific area - you should focus on general programming instead. Html and CSS will not help you at all when it comes to software development in general.

    Python is the most recommended beginner language, and it's also used extensively in industry and academia.


  • Registered Users Posts: 403 ✭✭counterpointaud


    srsly78 wrote: »
    Web development is a very specific area - you should focus on general programming instead.

    'Very' specific? Not sure I agree with this. The web is just a platform at this stage, arguably the most popular one, and there are multitudes of ways to develop for the it.

    You make it sound like web development is a niche thing, whereas these days it's huge. Internal enterprise apps are increasingly built on web technologies, even when they are not publicly accessible on the web, as are mobile apps.

    My advice? Learn Javascript. It's currently the only language that runs everywhere (server, browser, mobile devices, IOT, etc.). It's got some quirks but it's easy enough to get going with.


  • Registered Users Posts: 3,945 ✭✭✭Anima


    It's a very relevant platform but it's hardly a good learning environment. I'd stay clear of it if I was trying to learn the fundamentals.


  • Advertisement
  • Registered Users Posts: 6,252 ✭✭✭Buford T Justice


    If i were you I'd think about some real life problems that you could solve, and look to the technology to implement it.

    For example, as a farmer oil / diesel being stolen from your tanks would / could be a problem and a solution could be an IOT implementation of a sonar scanner inside the tank to alert you via text / notification if the oil level is dropping within the tank.

    Thinking about the technologies to implement this solution would lead you to a language to get started in, and could be an interesting way to get started.

    For example, this could be done with a Raspberry PI or an aurdino and a proximity sensor

    There are plenty of online guides out there to help you whatever you choose.

    Just my opinion


  • Registered Users Posts: 403 ✭✭counterpointaud


    Anima wrote: »
    It's a very relevant platform but it's hardly a good learning environment. I'd stay clear of it if I was trying to learn the fundamentals.

    You do have a point there, but I think that kind of depends on the person. A 'good learning environment' is often one with enough of a positive feedback loop to keep the person interested. Getting some UI and functionality up and running quickly, and published to friends and family can be part of that.

    If I was to recommend a language based alone on it's tendency to give a good grounding in CS fundamentals, I would probably recommend Rust or Clojure. But I think learning is often about more than that, and IMHO it's totally OK to hack around for a while, especially if the language you have picked is a) probably going to be around for the long term, and b) got decent employment prospects.

    I also think that languages that use white-space for blocks are frustrating for beginners, but maybe that's just me.


  • Registered Users Posts: 6,150 ✭✭✭Talisman


    If I was to recommend a language based alone on it's tendency to give a good grounding in CS fundamentals, I would probably recommend Rust or Clojure.
    Clojure is a beautiful language but the power of pure functions is lost on people that haven't suffered with the frustrations of coding in other languages. When I introduced my teenage son to it, he dismissed it because "it didn't feel like programming", I thought that was a fantastic endorsement of the language. The biggest issue I see to recommending Clojure as a starting point for coding is the tooling leaves a lot to be desired for the novice. For anyone that wants to try out the fantastic joy that is the Clojure language I recommend starting with Daniel Higginbotham's Clojure for the Brave and True.
    I also think that languages that use white-space for blocks are frustrating for beginners, but maybe that's just me.
    The white space formatting in Python can be a bit of a head wrecker for novices especially when they copy and paste code from other sources but the discipline of learning to format code using spaces is a good thing as it makes the code readable which is especially important for a novice.


  • Registered Users Posts: 6,561 ✭✭✭JJayoo


    I really appreciate all the feedback.

    I suppose I initially decided to learn html and css because they were seemingly the easiest/most basic languages, and since I have zero knowledge/experience of coding I decided it would be best to start with these.

    Also I know that these are important languages in terms of building websites, something which i would like to have a crack at. This isn't a 6 month rush to achieve a particular goal, more of a slow introduction and a few kicks in the right direction.


  • Registered Users Posts: 7,157 ✭✭✭srsly78


    HTML and css are not programming languages, this is why they seem easy. Javascript and Python are programming languages. Thus html and css are not really relevant for learning to code, they are relevant to making a website. You can make a simple website with no javascript code at all if you want.


  • Advertisement
  • Registered Users Posts: 403 ✭✭counterpointaud


    srsly78 wrote: »
    Thus html and css are not really relevant for learning to code, they are relevant to making a website.

    They may not be programming languages but they are absolutely relevant if you plan on becoming a web developer, and are well worth learning.

    Web developer = someone who develops for the web platform.

    Plenty of desktop applications, mobile apps, and web apps built with HTML and CSS these days, not just websites.

    For example Visual Studio Code and the Slack desktop app are both built with Electron, so use HTML/CSS/Javascript.


  • Registered Users Posts: 17,550 ✭✭✭✭Mr. CooL ICE


    srsly78 wrote: »
    HTML and css are not programming languages, this is why they seem easy. Javascript and Python are programming languages. Thus html and css are not really relevant for learning to code, they are relevant to making a website. You can make a simple website with no javascript code at all if you want.

    I think that if somebody is learning coding in their spare time, there is a lot of value in the aesthetic result of what you are doing. For many, being able to look a page and see the basic divs, spans, tables and paragraphs etc would be more rewarding than looking at the black and white output of a basic console app.

    The OP wants to 'have a crack' at a website. Therefore playing with HTML/CSS is 100% the best way to start. Once he gets the hang of how a website would look, he can then learn to make it do stuff, i.e. start with some javascript.


  • Registered Users Posts: 1,298 ✭✭✭off.the.walls


    Learn python, build Hangman as a good starter project, or tic tac toe


  • Moderators, Computer Games Moderators, Social & Fun Moderators Posts: 80,274 Mod ✭✭✭✭Sephiroth_dude


    Would ye advise the OP to go with python 2 or 3 though?


  • Registered Users Posts: 1,298 ✭✭✭off.the.walls


    Would ye advise the OP to go with python 2 or 3 though?

    It's been a while since I worked with Python but my first answer to that would be a question, which currently has more community support? I would suggest 3.6ish whatever version its on now (current stack is JS with node so i've been out of the python loop for a while).


  • Registered Users Posts: 635 ✭✭✭MillField


    Unless your interests lie solely in web development, I would be inclined to lean towards more general purpose languages like Java and C# for learning programming. As you probably have seen already, there are tons of videos and tutorials that you can use, and free tools to work with.


  • Registered Users Posts: 1,275 ✭✭✭bpmurray


    You are definitely following the right track - codecademy is a first class resource for a newbie. Follow the HTML & CSS courses you're taking, and then follow that with Javascript. You'll find that this is a great way to understand the effects of your code, directly impacting stuff on the web page.

    I wouldn't recommend going after Python at this stage (too different from what you're doing and, while a fine language for certain tasks, things like the idea of using spaces to delimit blocks makes it awkward for a beginner). And Java or C# may also be a step too far until you understand the idea of object orientation. Stick to the simplicity and forgiving nature of JavaScript until you're confident of your ability to solve problems. Then have a look at Javascript frameworks & libraries, and possible node.js (all JavaScript), so you can stay in that area until such time as you're comfortable with the full stack.


  • Registered Users Posts: 6,561 ✭✭✭JJayoo


    Thanks for the reply BP

    I have been considering doing a springboard course as there are a huge amount of options with online courses, although every course seems to have a different title and it's hard to decide or know what direction to go in.


Advertisement