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
Hi there,
There is an issue with role permissions that is being worked on at the moment.
If you are having trouble with access or permissions on regional forums please post here to get access: https://www.boards.ie/discussion/2058365403/you-do-not-have-permission-for-that#latest

I've been considering trying to learn android development or websites but know zilch.

  • 07-05-2015 9:37pm
    #1
    Registered Users, Registered Users 2 Posts: 6,689 ✭✭✭


    I know nothing about coding whatsoever. The closest thing is I understand are triggers in video games which from what I remember were literally "if X condition is met, then do Y action" and even then it was a preset amount of conditions or actions you could pick from.

    I'm curious about what would be a manner to go around getting the basics. I figured WordPress would be helpful for websites and from there I could go to more advanced stuff like HTML or CSS. For trying to learn Android I really have no idea. I read that some of the stuff is based on JavaScript.
    Which leads me to think that trying to learn the basics of JavaScript would be the best method overall.

    I would be learning as a hobby/by myself so any course or anything that would have time frames I have to adhere to would be out of the question.
    I'd just like to clarify that I'm not actually trying to gain some sort of employment or money making out of this. If I manage to get that experienced I can make money of it, then great. But for now this is simply out interest in coding.


Comments

  • Registered Users, Registered Users 2 Posts: 419 ✭✭Mort5000




  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    The thing I've found over the years is that there are two things to learning a new language; the language and the environment. The former is self explanatory, but the latter is often overlooked because once dealt with, it's done with and rarely a problem thereafter (with some notable exceptions).

    Why this is an issue is that half the battle can often be getting the most basic 'Hello World' program to work; it won't compile or the IDE keeps on crashing, or the emulator won't work, or you have to also set up a server environment and so on. If you're just looking to learn how to program and don't really care for what, then I'd recommend avoiding this additional sunk cost to the learning curve and seek a language / platform that is relatively easy to set up.

    So for this, I'd probably suggest learning C# and using Visual Studio Express, as for all their faults, MS have tended to do pretty easy to use development environments. Alternatively Java with one of the more popular IDEs is not a bad way to go. Even JavaScript, using Notepad and a browser to test the code will do.

    The other thing I note is that you may not be fully aware what programming is, or at least you're confused on Android. Native Android development is principally done in Java, not JavaScript, which despite the name is actually a completely different language. There are some cross platform frameworks that use JavaScript to develop for mobile, but that's another can of worms altogether.

    Just bare in mind, once you know one language, learning others becomes a lot easier. Given this, there's always that issue of environment to overcome.


  • Registered Users, Registered Users 2 Posts: 216 ✭✭AnLonDubh


    So for this, I'd probably suggest learning C# and using Visual Studio Express
    This is quite a good suggestion as Visual Studio is a stable environment and C# is a language with a broad enough set of features (bit of object oriented, bit of functional, bit of low-level stuff, e.g. pointers) that you'll touch on aspects of other languages and it does it well, i.e. the features are consistent with each other not bolted together after the fact.

    There's a C# 4.0 compiler for the Android called C# shell. So once you get enough experience with C# in Visual Studio on your Desktop/Laptop, you can start writing apps for the phone.

    Javascript is an important language to learn (it is probably the language to learn today I would say) for web development. However it is easy to use it badly as it is actually quite an unusual language.

    My recommendation would be C# as The Corinthian said, and have a look at Javascript.
    Native Android development is principally done in Java, not JavaScript, which despite the name is actually a completely different language.
    Interestingly there is a Javascript implementation on the Android called Droidscript. The full version allows you to bundle your scripts and the interpreter into one executable so it can function as an app.

    Of course the interpreter itself is written in Java and the apps work by compiling the Javascript into Java classes.


  • Registered Users, Registered Users 2 Posts: 23,212 ✭✭✭✭Tom Dunne


    Don't learn Android development. Learn development and then learn Android development.

    Get the basics right before you get onto more complex stuff.

    Learning Java is probably the best start if your main goal is Android development.


  • Registered Users, Registered Users 2 Posts: 37 corman007


    Try coursera.org - I just completed an 8 week android programming course. Also check out udacity - they have some great courses too.


  • Advertisement
  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    AnLonDubh wrote: »
    There's a C# 4.0 compiler for the Android called C# shell. So once you get enough experience with C# in Visual Studio on your Desktop/Laptop, you can start writing apps for the phone.
    TBH, probably as easy, if not more-so, segwaying into Java. Certainly at the start, there's very little difference between the the two languages - I've heard C# called Java with capitalized method names.

    I work frequently with both and find switching between them akin to switching between keyboard layouts (which I also do frequently - damn those Y and Z keys).


  • Registered Users, Registered Users 2 Posts: 1,469 ✭✭✭Asmooh


    just do html, css, js, php and create a nice webworks app :)

    And yes, this can also be exported to Android, iOS and WP by using cordova or something like it.


  • Registered Users, Registered Users 2 Posts: 458 ✭✭tadcan


    If you specially want to make android apps, then as has been said, you need to learn the development process at the same time as learning a technology. Google have a developer site, which gives some lessons, but it's a bit sparse if you are completely new.

    I would suggest doing some youtube videos in Java first say from the likes of caveofprogramming or derek banas. Use intellij, since that is the base for Android Studio, which as of this year is googles blessed platform. Then move onto the Android specific videos. Udacity for beginners made by Google that will start soon. It would also help to use the lessons to create simple apps that wouldn't be commercial, in order to develop problem solving skills.


  • Registered Users, Registered Users 2 Posts: 216 ✭✭AnLonDubh


    TBH, probably as easy, if not more-so, segwaying into Java. Certainly at the start, there's very little difference between the the two languages - I've heard C# called Java with capitalized method names.
    That's certainly true, at the early stages there's almost no difference between them.

    For any other devs reading and finding the above vague, later one might use LINQ, async/await, the dynamic type and operator overloading in C# which don't really have an equivalent in Java. However it's common to not really run into the use cases of the last three, particularly the middle two. Operator overloading is often confined to numerical or high performance work, such as implementing how assignment works, e.g. =, for performance reasons.


Advertisement